j1-template 2022.5.0.rc4 → 2022.5.1.rc1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (413) hide show
  1. checksums.yaml +4 -4
  2. data/_includes/themes/j1/modules/attics/generator.html +5 -13
  3. data/_includes/themes/j1/procedures/global/date-german.proc +67 -0
  4. data/assets/data/banner.html +2 -2
  5. data/assets/data/menu.html +1 -1
  6. data/assets/data/mmenu.html +36 -36
  7. data/assets/themes/j1/adapter/js/attic.js +114 -62
  8. data/assets/themes/j1/adapter/js/cookieConsent.js +42 -25
  9. data/assets/themes/j1/adapter/js/masterslider.js +2 -2
  10. data/assets/themes/j1/adapter/js/mmenu.js +2 -2
  11. data/assets/themes/j1/core/css/themes/unolight/bootstrap.css +28 -3
  12. data/assets/themes/j1/core/css/themes/unolight/bootstrap.min.css +1 -1
  13. data/assets/themes/j1/modules/backstretch/js/backstretch.js +5 -5
  14. data/assets/themes/j1/modules/backstretch/js/backstretch.min.js +1 -1
  15. data/assets/themes/j1/modules/backstretch/js/v2.1.16/backstretch.js +1696 -0
  16. data/assets/themes/j1/modules/backstretch/js/v2.1.16/backstretch.min.js +20 -0
  17. data/assets/themes/j1/modules/backstretch/js/v2.1.18/backstretch.js +1627 -0
  18. data/assets/themes/j1/modules/backstretch/js/v2.1.18/backstretch.min.js +20 -0
  19. data/assets/themes/j1/modules/cryptoJS/js/rc4.js +2 -2
  20. data/assets/themes/j1/modules/mmenuLight/README.md +22 -0
  21. data/assets/themes/j1/modules/mmenuLight/css/mmenu-light.css +224 -243
  22. data/assets/themes/j1/modules/mmenuLight/css/mmenu-light.min.css +3 -3
  23. data/assets/themes/j1/modules/mmenuLight/css/theme/uno/mmenu.css +95 -55
  24. data/assets/themes/j1/modules/mmenuLight/css/theme/uno/mmenu.min.css +1 -1
  25. data/assets/themes/j1/modules/mmenuLight/js/mmenu.js +57 -440
  26. data/assets/themes/j1/modules/mmenuLight/js/mmenu.min.js +4 -15
  27. data/assets/themes/j1/modules/{twemoji/js/picker → themeSwitcher}/LICENSE +21 -21
  28. data/assets/themes/j1/modules/themeSwitcher/README.md +166 -0
  29. data/assets/themes/j1/modules/themeSwitcher/js/switcher.js +2 -2
  30. data/assets/themes/j1/modules/themeSwitcher/js/switcher.min.js +1 -1
  31. data/lib/j1/version.rb +1 -1
  32. data/lib/starter_web/Gemfile +1 -1
  33. data/lib/starter_web/README.md +440 -175
  34. data/lib/starter_web/_config.yml +2 -2
  35. data/lib/starter_web/_data/blocks/banner.yml +1 -1
  36. data/lib/starter_web/_data/modules/attics.yml +12 -0
  37. data/lib/starter_web/_data/modules/defaults/attics.yml +16 -1
  38. data/lib/starter_web/_data/modules/defaults/cookies.yml +1 -1
  39. data/lib/starter_web/_data/modules/navigator_menu.yml +31 -25
  40. data/lib/starter_web/_includes/attributes.asciidoc +2 -0
  41. data/lib/starter_web/_plugins/lunr_index.rb +1 -1
  42. data/lib/starter_web/assets/images/modules/attics/1920x1280/ben-kolde.jpg +0 -0
  43. data/lib/starter_web/assets/images/modules/attics/1920x1280/braden-collum.jpg +0 -0
  44. data/lib/starter_web/assets/images/modules/attics/1920x1280/ev.jpg +0 -0
  45. data/lib/starter_web/assets/images/modules/attics/1920x1280/firmbee-com.jpg +0 -0
  46. data/lib/starter_web/assets/images/modules/attics/1920x1280/max-harlynking.jpg +0 -0
  47. data/lib/starter_web/assets/images/modules/attics/guillaume-bolduc-1920x1280.jpg +0 -0
  48. data/lib/starter_web/assets/images/modules/attics/spacex-1920x1280.jpg +0 -0
  49. data/lib/starter_web/assets/videos/headers/{still → present_videos/still}/underground-broadway.jpg +0 -0
  50. data/lib/starter_web/assets/videos/headers/present_videos/underground-broadway.mp4 +0 -0
  51. data/lib/starter_web/collections/asciidoc_skeletons/simple-post/_posts/yyyy-mm-dd-your-post-name.asciidoc +3 -1
  52. data/lib/starter_web/collections/posts/public/featured/_posts/2021-01-01-about-cookies.adoc +3 -0
  53. data/lib/starter_web/collections/posts/public/featured/_posts/2021-02-01-site-generators.adoc +2 -3
  54. data/lib/starter_web/collections/posts/public/featured/_posts/2022-02-01-about-j1.adoc +3 -0
  55. data/lib/starter_web/collections/posts/public/series/_posts/2020-01-01-post-wiki-series.adoc +3 -0
  56. data/lib/starter_web/collections/posts/public/series/_posts/2020-01-02-post-wiki-series.adoc +3 -0
  57. data/lib/starter_web/collections/posts/public/series/_posts/2020-01-03-post-wiki-series.adoc +3 -0
  58. data/lib/starter_web/index.html +68 -12
  59. data/lib/starter_web/package.json +2 -2
  60. data/lib/starter_web/pages/public/about/features.adoc +119 -0
  61. data/lib/starter_web/pages/public/about/reporting_issues.adoc +78 -0
  62. data/lib/starter_web/pages/public/about/{about_site.adoc → site.adoc} +20 -15
  63. data/lib/starter_web/pages/public/asciidoc_skeletons/documentation/documentation.adoc +3 -0
  64. data/lib/starter_web/pages/public/asciidoc_skeletons/multi-document/multi.adoc +3 -0
  65. data/lib/starter_web/pages/public/asciidoc_skeletons/simple-document/simple.adoc +3 -0
  66. data/lib/starter_web/pages/public/blog/navigator/archive/categoryview.html +3 -0
  67. data/lib/starter_web/pages/public/blog/navigator/archive/dateview.html +4 -1
  68. data/lib/starter_web/pages/public/blog/navigator/archive/tagview.html +4 -1
  69. data/lib/starter_web/pages/public/blog/navigator/archive.html +4 -1
  70. data/lib/starter_web/pages/public/blog/navigator/index.html +4 -1
  71. data/lib/starter_web/pages/public/features/general.adoc +5 -1
  72. data/lib/starter_web/pages/public/features/template.adoc +4 -0
  73. data/lib/starter_web/pages/public/jupyter/examples/distributed/j1-circular-times-table.adoc +3 -0
  74. data/lib/starter_web/pages/public/jupyter/examples/distributed/j1-common-used-widgets.adoc +3 -0
  75. data/lib/starter_web/pages/public/jupyter/examples/distributed/j1-odes-in-python.adoc +3 -0
  76. data/lib/starter_web/pages/public/jupyter/examples/localized/j1_climate-change-forecast.adoc +3 -0
  77. data/lib/starter_web/pages/public/learn/quickstart.adoc +4 -1
  78. data/lib/starter_web/pages/public/learn/roundtrip/100_present_images.adoc +4 -1
  79. data/lib/starter_web/pages/public/learn/roundtrip/100_present_videos.adoc +16 -5
  80. data/lib/starter_web/pages/public/learn/roundtrip/200_typography.adoc +3 -0
  81. data/lib/starter_web/pages/public/learn/roundtrip/300_icon_fonts.adoc +3 -0
  82. data/lib/starter_web/pages/public/learn/roundtrip/400_asciidoc_extensions.adoc +3 -0
  83. data/lib/starter_web/pages/public/learn/roundtrip/410_bs_modals_extentions.adoc +3 -0
  84. data/lib/starter_web/pages/public/learn/roundtrip/420_responsive_tables_extensions.adoc +3 -0
  85. data/lib/starter_web/pages/public/learn/roundtrip/500_themes.adoc +3 -0
  86. data/lib/starter_web/pages/public/learn/roundtrip/600_quicksearch.adoc +6 -2
  87. data/lib/starter_web/pages/public/learn/where_to_go.adoc +3 -0
  88. data/lib/starter_web/pages/public/legal/de/100_copyright.adoc +3 -0
  89. data/lib/starter_web/pages/public/legal/de/100_impress.adoc +3 -0
  90. data/lib/starter_web/pages/public/legal/de/300_privacy.adoc +142 -0
  91. data/lib/starter_web/pages/public/legal/de/400_comment_policy.adoc +3 -0
  92. data/lib/starter_web/pages/public/legal/en/100_copyright.adoc +9 -1
  93. data/lib/starter_web/pages/public/legal/en/200_impress.adoc +10 -2
  94. data/lib/starter_web/pages/public/legal/en/300_privacy.adoc +66 -3
  95. data/lib/starter_web/pages/public/legal/en/400_comment_policy.adoc +3 -0
  96. data/lib/starter_web/pages/public/panels/intro_panel/panel.adoc +3 -0
  97. data/lib/starter_web/pages/public/plans/plans.adoc +3 -0
  98. data/lib/starter_web/pages/public/previewer/preview_bootstrap_theme.adoc +4 -0
  99. data/lib/starter_web/pages/public/se/se-fake.adoc +4 -0
  100. data/lib/starter_web/utilsrv/_defaults/package.json +1 -1
  101. data/lib/starter_web/utilsrv/package.json +1 -1
  102. metadata +22 -372
  103. data/assets/themes/j1/modules/twemoji/css/picker/twemoji-picker.css +0 -153
  104. data/assets/themes/j1/modules/twemoji/css/picker/twemoji-picker.min.css +0 -19
  105. data/assets/themes/j1/modules/twemoji/js/picker/twemoji-picker.js +0 -304
  106. data/assets/themes/j1/modules/twemoji/js/picker/twemoji-picker.min.js +0 -322
  107. data/assets/themes/j1/modules/twemoji/js/twemoji.js +0 -580
  108. data/assets/themes/j1/modules/twemoji/js/twemoji.min.js +0 -19
  109. data/lib/starter_web/assets/videos/headers/still/victoria-oskolovich-on-vimeo.jpg +0 -0
  110. data/lib/starter_web/pages/public/_jupyter/docs/_includes/attributes.asciidoc +0 -67
  111. data/lib/starter_web/pages/public/_jupyter/docs/_includes/documents/j1_docs_example_static.asciidoc +0 -232
  112. data/lib/starter_web/pages/public/_jupyter/docs/binderhub.adoc +0 -631
  113. data/lib/starter_web/pages/public/_jupyter/docs/j1-nbinteract.adoc +0 -638
  114. data/lib/starter_web/pages/public/_jupyter/docs/jupyterhub.adoc +0 -248
  115. data/lib/starter_web/pages/public/_jupyter/docs/nbinteract-widget-manual.adoc +0 -928
  116. data/lib/starter_web/pages/public/_jupyter/examples/distributed/j1-circular-times-table.adoc +0 -139
  117. data/lib/starter_web/pages/public/_jupyter/examples/distributed/j1-common-used-widgets.adoc +0 -229
  118. data/lib/starter_web/pages/public/_jupyter/examples/distributed/j1-odes-in-python.adoc +0 -112
  119. data/lib/starter_web/pages/public/_jupyter/examples/localized/j1-altair/j1-altair-visualisations.adoc +0 -142
  120. data/lib/starter_web/pages/public/_jupyter/examples/localized/j1-bokeh/j1-bokeh-visualisations.adoc +0 -171
  121. data/lib/starter_web/pages/public/_jupyter/examples/localized/j1-bokeh/j1-bqplot-eamples.adoc +0 -111
  122. data/lib/starter_web/pages/public/_jupyter/examples/localized/j1-plotly/j1-plotly-visualisations.adoc +0 -94
  123. data/lib/starter_web/pages/public/_jupyter/examples/localized/j1_climate-change-forecast.adoc +0 -106
  124. data/lib/starter_web/pages/public/_jupyter/notebooks/j1/.ipynb_checkpoints/j1_altair_interactive-checkpoint.ipynb +0 -16260
  125. data/lib/starter_web/pages/public/_jupyter/notebooks/j1/.ipynb_checkpoints/j1_bgplot_line_plot-checkpoint.ipynb +0 -247
  126. data/lib/starter_web/pages/public/_jupyter/notebooks/j1/.ipynb_checkpoints/j1_circular_times_table-Copy1-checkpoint.ipynb +0 -12382
  127. data/lib/starter_web/pages/public/_jupyter/notebooks/j1/.ipynb_checkpoints/j1_circular_times_table-checkpoint.ipynb +0 -12387
  128. data/lib/starter_web/pages/public/_jupyter/notebooks/j1/.ipynb_checkpoints/j1_circular_times_table-short-checkpoint.ipynb +0 -12170
  129. data/lib/starter_web/pages/public/_jupyter/notebooks/j1/.ipynb_checkpoints/j1_climate_change_forecast-checkpoint.ipynb +0 -1058
  130. data/lib/starter_web/pages/public/_jupyter/notebooks/j1/.ipynb_checkpoints/j1_docs_example_dynamic-checkpoint.ipynb +0 -14478
  131. data/lib/starter_web/pages/public/_jupyter/notebooks/j1/.ipynb_checkpoints/j1_interactive_widgets-Copy1-checkpoint.ipynb +0 -379
  132. data/lib/starter_web/pages/public/_jupyter/notebooks/j1/.ipynb_checkpoints/j1_interactive_widgets-checkpoint.ipynb +0 -442
  133. data/lib/starter_web/pages/public/_jupyter/notebooks/j1/.ipynb_checkpoints/j1_nbi_widgets-checkpoint.ipynb +0 -523
  134. data/lib/starter_web/pages/public/_jupyter/notebooks/j1/.ipynb_checkpoints/j1_nbi_widgets.line_charts-checkpoint.ipynb +0 -84
  135. data/lib/starter_web/pages/public/_jupyter/notebooks/j1/.ipynb_checkpoints/j1_nbi_widgets.questions-checkpoint.ipynb +0 -194
  136. data/lib/starter_web/pages/public/_jupyter/notebooks/j1/.ipynb_checkpoints/j1_nbi_widgets_bar_chart-checkpoint.ipynb +0 -89
  137. data/lib/starter_web/pages/public/_jupyter/notebooks/j1/.ipynb_checkpoints/j1_nbi_widgets_bar_charts-Copy1-checkpoint.ipynb +0 -164
  138. data/lib/starter_web/pages/public/_jupyter/notebooks/j1/.ipynb_checkpoints/j1_nbi_widgets_bar_charts-checkpoint.ipynb +0 -173
  139. data/lib/starter_web/pages/public/_jupyter/notebooks/j1/.ipynb_checkpoints/j1_nbi_widgets_bar_charts.1-checkpoint.ipynb +0 -256
  140. data/lib/starter_web/pages/public/_jupyter/notebooks/j1/.ipynb_checkpoints/j1_nbi_widgets_barcharts-checkpoint.ipynb +0 -126
  141. data/lib/starter_web/pages/public/_jupyter/notebooks/j1/.ipynb_checkpoints/j1_nbi_widgets_hist_chart-checkpoint.ipynb +0 -87
  142. data/lib/starter_web/pages/public/_jupyter/notebooks/j1/.ipynb_checkpoints/j1_nbi_widgets_line_chart-checkpoint.ipynb +0 -90
  143. data/lib/starter_web/pages/public/_jupyter/notebooks/j1/.ipynb_checkpoints/j1_nbi_widgets_line_charts-checkpoint.ipynb +0 -87
  144. data/lib/starter_web/pages/public/_jupyter/notebooks/j1/.ipynb_checkpoints/j1_nbi_widgets_question_multiple_choice-checkpoint.ipynb +0 -64
  145. data/lib/starter_web/pages/public/_jupyter/notebooks/j1/.ipynb_checkpoints/j1_nbi_widgets_question_short_answer-checkpoint.ipynb +0 -122
  146. data/lib/starter_web/pages/public/_jupyter/notebooks/j1/.ipynb_checkpoints/j1_nbi_widgets_questions-checkpoint.ipynb +0 -181
  147. data/lib/starter_web/pages/public/_jupyter/notebooks/j1/.ipynb_checkpoints/j1_nbi_widgets_scatter_chart-checkpoint.ipynb +0 -89
  148. data/lib/starter_web/pages/public/_jupyter/notebooks/j1/.ipynb_checkpoints/j1_nbi_widgets_scatter_charts-checkpoint.ipynb +0 -175
  149. data/lib/starter_web/pages/public/_jupyter/notebooks/j1/.ipynb_checkpoints/j1_nbi_widgets_scatter_drag_chart-checkpoint.ipynb +0 -87
  150. data/lib/starter_web/pages/public/_jupyter/notebooks/j1/.ipynb_checkpoints/j1_ode_selected-checkpoint.ipynb +0 -14478
  151. data/lib/starter_web/pages/public/_jupyter/notebooks/j1/.ipynb_checkpoints/j1_odes_in_python-checkpoint.ipynb +0 -15227
  152. data/lib/starter_web/pages/public/_jupyter/notebooks/j1/factor_by_factor.mp4 +0 -0
  153. data/lib/starter_web/pages/public/_jupyter/notebooks/j1/j1_circular_times_table.ipynb +0 -12382
  154. data/lib/starter_web/pages/public/_jupyter/notebooks/j1/j1_climate_change_forecast.ipynb +0 -1058
  155. data/lib/starter_web/pages/public/_jupyter/notebooks/j1/j1_docs_example_dynamic.ipynb +0 -14478
  156. data/lib/starter_web/pages/public/_jupyter/notebooks/j1/j1_interactive_widgets.ipynb +0 -442
  157. data/lib/starter_web/pages/public/_jupyter/notebooks/j1/j1_nbi_widgets.ipynb +0 -523
  158. data/lib/starter_web/pages/public/_jupyter/notebooks/j1/j1_nbi_widgets_bar_chart.ipynb +0 -89
  159. data/lib/starter_web/pages/public/_jupyter/notebooks/j1/j1_nbi_widgets_hist_chart.ipynb +0 -87
  160. data/lib/starter_web/pages/public/_jupyter/notebooks/j1/j1_nbi_widgets_line_chart.ipynb +0 -90
  161. data/lib/starter_web/pages/public/_jupyter/notebooks/j1/j1_nbi_widgets_question_multiple_choice.ipynb +0 -64
  162. data/lib/starter_web/pages/public/_jupyter/notebooks/j1/j1_nbi_widgets_question_short_answer.ipynb +0 -122
  163. data/lib/starter_web/pages/public/_jupyter/notebooks/j1/j1_nbi_widgets_scatter_chart.ipynb +0 -89
  164. data/lib/starter_web/pages/public/_jupyter/notebooks/j1/j1_nbi_widgets_scatter_drag_chart.ipynb +0 -87
  165. data/lib/starter_web/pages/public/_jupyter/notebooks/j1/j1_odes_in_python.ipynb +0 -15227
  166. data/lib/starter_web/pages/public/_jupyter/notebooks/j1/line_by_line.mp4 +0 -0
  167. data/lib/starter_web/pages/public/_jupyter/notebooks/j1/point_by_point.mp4 +0 -0
  168. data/lib/starter_web/pages/public/_jupyter/notebooks/j1-altair-tutorial/.ipynb_checkpoints/j1_altair_interactive-checkpoint.ipynb +0 -16296
  169. data/lib/starter_web/pages/public/_jupyter/notebooks/j1-altair-tutorial/.ipynb_checkpoints/j1_altair_non_interactive-checkpoint.ipynb +0 -15385
  170. data/lib/starter_web/pages/public/_jupyter/notebooks/j1-altair-tutorial/j1_altair_interactive.ipynb +0 -16296
  171. data/lib/starter_web/pages/public/_jupyter/notebooks/j1-altair-tutorial/j1_altair_non_interactive.ipynb +0 -15385
  172. data/lib/starter_web/pages/public/_jupyter/notebooks/j1-bokeh-tutorial/.ipynb_checkpoints/00 - Introduction and Setup-checkpoint.ipynb +0 -717
  173. data/lib/starter_web/pages/public/_jupyter/notebooks/j1-bokeh-tutorial/.ipynb_checkpoints/01 - Basic Plotting-checkpoint.ipynb +0 -1381
  174. data/lib/starter_web/pages/public/_jupyter/notebooks/j1-bokeh-tutorial/.ipynb_checkpoints/02 - Styling and Theming-checkpoint.ipynb +0 -1440
  175. data/lib/starter_web/pages/public/_jupyter/notebooks/j1-bokeh-tutorial/.ipynb_checkpoints/03 - Data Sources and Transformations-checkpoint.ipynb +0 -927
  176. data/lib/starter_web/pages/public/_jupyter/notebooks/j1-bokeh-tutorial/.ipynb_checkpoints/04 - Adding Annotations-checkpoint.ipynb +0 -1105
  177. data/lib/starter_web/pages/public/_jupyter/notebooks/j1-bokeh-tutorial/.ipynb_checkpoints/05 - Presentation Layouts-checkpoint.ipynb +0 -578
  178. data/lib/starter_web/pages/public/_jupyter/notebooks/j1-bokeh-tutorial/.ipynb_checkpoints/06 - Linking and Interactions-checkpoint.ipynb +0 -1196
  179. data/lib/starter_web/pages/public/_jupyter/notebooks/j1-bokeh-tutorial/.ipynb_checkpoints/07 - Bar and Categorical Data Plots-checkpoint.ipynb +0 -1681
  180. data/lib/starter_web/pages/public/_jupyter/notebooks/j1-bokeh-tutorial/.ipynb_checkpoints/08 - Graph and Network Plots-checkpoint.ipynb +0 -680
  181. data/lib/starter_web/pages/public/_jupyter/notebooks/j1-bokeh-tutorial/.ipynb_checkpoints/09 - Geographic Plots-checkpoint.ipynb +0 -693
  182. data/lib/starter_web/pages/public/_jupyter/notebooks/j1-bokeh-tutorial/.ipynb_checkpoints/10 - Exporting and Embedding-checkpoint.ipynb +0 -751
  183. data/lib/starter_web/pages/public/_jupyter/notebooks/j1-bokeh-tutorial/.ipynb_checkpoints/11 - Running Bokeh Applications-checkpoint.ipynb +0 -770
  184. data/lib/starter_web/pages/public/_jupyter/notebooks/j1-bokeh-tutorial/.ipynb_checkpoints/bokeh_tut_00_introduction_and_setup-checkpoint.ipynb +0 -666
  185. data/lib/starter_web/pages/public/_jupyter/notebooks/j1-bokeh-tutorial/.ipynb_checkpoints/j1_bokeh_01_basic_plotting-checkpoint.ipynb +0 -1365
  186. data/lib/starter_web/pages/public/_jupyter/notebooks/j1-bokeh-tutorial/.ipynb_checkpoints/j1_bokeh_02_styling_and_theming-checkpoint.ipynb +0 -1405
  187. data/lib/starter_web/pages/public/_jupyter/notebooks/j1-bokeh-tutorial/.ipynb_checkpoints/j1_bokeh_03_data_sources_and_transformations-checkpoint.ipynb +0 -856
  188. data/lib/starter_web/pages/public/_jupyter/notebooks/j1-bokeh-tutorial/.ipynb_checkpoints/j1_bokeh_04_adding_annotations-checkpoint.ipynb +0 -1167
  189. data/lib/starter_web/pages/public/_jupyter/notebooks/j1-bokeh-tutorial/.ipynb_checkpoints/j1_bokeh_05_presentation_layouts-checkpoint.ipynb +0 -601
  190. data/lib/starter_web/pages/public/_jupyter/notebooks/j1-bokeh-tutorial/.ipynb_checkpoints/j1_bokeh_06_linking_and_interactions-checkpoint.ipynb +0 -1356
  191. data/lib/starter_web/pages/public/_jupyter/notebooks/j1-bokeh-tutorial/.ipynb_checkpoints/j1_bokeh_07_bar_and_categorical_data_plots-checkpoint.ipynb +0 -1742
  192. data/lib/starter_web/pages/public/_jupyter/notebooks/j1-bokeh-tutorial/.ipynb_checkpoints/j1_bokeh_08_graph_and_network_plots-checkpoint.ipynb +0 -625
  193. data/lib/starter_web/pages/public/_jupyter/notebooks/j1-bokeh-tutorial/.ipynb_checkpoints/j1_bokeh_09_geographic_plots-checkpoint.ipynb +0 -685
  194. data/lib/starter_web/pages/public/_jupyter/notebooks/j1-bokeh-tutorial/.ipynb_checkpoints/j1_bokeh_10_exporting_and_embedding-checkpoint.ipynb +0 -726
  195. data/lib/starter_web/pages/public/_jupyter/notebooks/j1-bokeh-tutorial/.ipynb_checkpoints/j1_bokeh_10_exporting_and_embedding-checkpoint.org +0 -726
  196. data/lib/starter_web/pages/public/_jupyter/notebooks/j1-bokeh-tutorial/.ipynb_checkpoints/j1_bokeh_10_exporting_and_embedding.new-checkpoint.ipynb +0 -560
  197. data/lib/starter_web/pages/public/_jupyter/notebooks/j1-bokeh-tutorial/.ipynb_checkpoints/j1_bokeh_11_running_bokeh_applications-checkpoint.ipynb +0 -716
  198. data/lib/starter_web/pages/public/_jupyter/notebooks/j1-bokeh-tutorial/j1_bokeh_01_basic_plotting.ipynb +0 -1365
  199. data/lib/starter_web/pages/public/_jupyter/notebooks/j1-bokeh-tutorial/j1_bokeh_02_styling_and_theming.ipynb +0 -1405
  200. data/lib/starter_web/pages/public/_jupyter/notebooks/j1-bokeh-tutorial/j1_bokeh_03_data_sources_and_transformations.ipynb +0 -856
  201. data/lib/starter_web/pages/public/_jupyter/notebooks/j1-bokeh-tutorial/j1_bokeh_04_adding_annotations.ipynb +0 -1167
  202. data/lib/starter_web/pages/public/_jupyter/notebooks/j1-bokeh-tutorial/j1_bokeh_05_presentation_layouts.ipynb +0 -601
  203. data/lib/starter_web/pages/public/_jupyter/notebooks/j1-bokeh-tutorial/j1_bokeh_06_linking_and_interactions.ipynb +0 -1356
  204. data/lib/starter_web/pages/public/_jupyter/notebooks/j1-bokeh-tutorial/j1_bokeh_07_bar_and_categorical_data_plots.ipynb +0 -1742
  205. data/lib/starter_web/pages/public/_jupyter/notebooks/j1-bokeh-tutorial/j1_bokeh_08_graph_and_network_plots.ipynb +0 -625
  206. data/lib/starter_web/pages/public/_jupyter/notebooks/j1-bokeh-tutorial/j1_bokeh_09_geographic_plots.ipynb +0 -685
  207. data/lib/starter_web/pages/public/_jupyter/notebooks/j1-bqplot/.ipynb_checkpoints/j1_mathplot_vs_bqplot-checkpoint.ipynb +0 -336
  208. data/lib/starter_web/pages/public/_jupyter/notebooks/j1-bqplot/advanced/Feature_Vector_Distribution-Iris-Digits.ipynb +0 -433
  209. data/lib/starter_web/pages/public/_jupyter/notebooks/j1-bqplot/j1_bgplot_line_plot.ipynb +0 -244
  210. data/lib/starter_web/pages/public/_jupyter/notebooks/j1-bqplot/j1_circular_times_table-short.ipynb +0 -12170
  211. data/lib/starter_web/pages/public/_jupyter/notebooks/j1-bqplot/j1_mathplot_vs_bqplot.ipynb +0 -336
  212. data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/.ipynb_checkpoints/Index-checkpoint.ipynb +0 -163
  213. data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/.ipynb_checkpoints/Tutorials-checkpoint.ipynb +0 -51
  214. data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/Advanced Plotting/Advanced Plotting.ipynb +0 -289
  215. data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/Advanced Plotting/Animations.ipynb +0 -266
  216. data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/Advanced Plotting/Axis Properties.ipynb +0 -396
  217. data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/Advanced Plotting/Plotting Dates.ipynb +0 -318
  218. data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/Applications/Equity Index Performance/Time Series.ipynb +0 -158
  219. data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/Applications/Equity Index Performance/spx_prices.csv +0 -6799
  220. data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/Applications/Feature_Vector_Distribution-Iris-Digits.ipynb +0 -470
  221. data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/Applications/Index.ipynb +0 -49
  222. data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/Applications/Logs Analytics/Logs Dashboard.ipynb +0 -378
  223. data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/Applications/Mobile Patent Suits.ipynb +0 -123
  224. data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/Applications/Neural Network.ipynb +0 -177
  225. data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/Applications/Outlier Detection.ipynb +0 -311
  226. data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/Applications/Wealth Of Nations/Bubble Chart.ipynb +0 -255
  227. data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/Applications/Wealth Of Nations/Choropleth.ipynb +0 -275
  228. data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/Applications/Wealth Of Nations/nations.json +0 -1
  229. data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/Applications/Wealth Of Nations/world_map_codes.csv +0 -234
  230. data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/Basic Plotting/.ipynb_checkpoints/Basic Plotting-checkpoint.ipynb +0 -186
  231. data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/Basic Plotting/.ipynb_checkpoints/Pyplot-checkpoint.ipynb +0 -794
  232. data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/Basic Plotting/.ipynb_checkpoints/Untitled-checkpoint.ipynb +0 -323
  233. data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/Basic Plotting/Basic Plotting.ipynb +0 -261
  234. data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/Basic Plotting/Pyplot.ipynb +0 -1489
  235. data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/Index.ipynb +0 -163
  236. data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/Interactions/Interaction Layer.ipynb +0 -966
  237. data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/Interactions/Mark Interactions.ipynb +0 -476
  238. data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/Interactions/Selectors.ipynb +0 -427
  239. data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/Introduction.ipynb +0 -528
  240. data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/Marks/Object Model/Bars.ipynb +0 -480
  241. data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/Marks/Object Model/Bins.ipynb +0 -217
  242. data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/Marks/Object Model/Boxplot.ipynb +0 -253
  243. data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/Marks/Object Model/Candles.ipynb +0 -225
  244. data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/Marks/Object Model/FlexLine.ipynb +0 -123
  245. data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/Marks/Object Model/Graph.ipynb +0 -357
  246. data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/Marks/Object Model/GridHeatMap.ipynb +0 -422
  247. data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/Marks/Object Model/HeatMap.ipynb +0 -157
  248. data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/Marks/Object Model/Hist.ipynb +0 -176
  249. data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/Marks/Object Model/Image.ipynb +0 -195
  250. data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/Marks/Object Model/Label.ipynb +0 -189
  251. data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/Marks/Object Model/Lines.ipynb +0 -565
  252. data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/Marks/Object Model/Map.ipynb +0 -182
  253. data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/Marks/Object Model/Market Map.ipynb +0 -315
  254. data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/Marks/Object Model/Pie.ipynb +0 -465
  255. data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/Marks/Object Model/Scatter.ipynb +0 -835
  256. data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/Marks/Pyplot/Bars.ipynb +0 -362
  257. data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/Marks/Pyplot/Bins.ipynb +0 -252
  258. data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/Marks/Pyplot/Boxplot.ipynb +0 -273
  259. data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/Marks/Pyplot/Candles.ipynb +0 -242
  260. data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/Marks/Pyplot/GridHeatMap.ipynb +0 -417
  261. data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/Marks/Pyplot/HeatMap.ipynb +0 -155
  262. data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/Marks/Pyplot/Hist.ipynb +0 -238
  263. data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/Marks/Pyplot/Image.ipynb +0 -152
  264. data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/Marks/Pyplot/Label.ipynb +0 -206
  265. data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/Marks/Pyplot/Lines.ipynb +0 -474
  266. data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/Marks/Pyplot/Map.ipynb +0 -181
  267. data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/Marks/Pyplot/Pie.ipynb +0 -310
  268. data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/Marks/Pyplot/Scatter.ipynb +0 -702
  269. data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/Scales/Color Scales.ipynb +0 -495
  270. data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/Tutorials/.ipynb_checkpoints/Feature_Vector_Distribution-Iris-Digits-checkpoint.ipynb +0 -433
  271. data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/Tutorials/.ipynb_checkpoints/Linking Plots With Widgets-checkpoint.ipynb +0 -326
  272. data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/Tutorials/.ipynb_checkpoints/Updating Plots-Copy1-checkpoint.ipynb +0 -177
  273. data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/Tutorials/.ipynb_checkpoints/Updating Plots-checkpoint.ipynb +0 -177
  274. data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/Tutorials/Brush Interval Selector.ipynb +0 -154
  275. data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/Tutorials/Fast Interval Selector.ipynb +0 -152
  276. data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/Tutorials/Gaussian Density Widget.ipynb +0 -128
  277. data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/Tutorials/Gaussian Density.ipynb +0 -113
  278. data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/Tutorials/Linking Plots With Widgets.ipynb +0 -326
  279. data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/Tutorials/Object Model.ipynb +0 -179
  280. data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/Tutorials/Pyplot.ipynb +0 -174
  281. data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/Tutorials/Updating Plots.ipynb +0 -177
  282. data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/Tutorials.ipynb +0 -51
  283. data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/data_files/country_codes.csv +0 -213
  284. data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/data_files/gdp_per_capita.csv +0 -56
  285. data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/data_files/state_codes.csv +0 -52
  286. data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/data_files/trees.jpg +0 -0
  287. data/lib/starter_web/pages/public/_jupyter/notebooks/nbi-docs/.ipynb_checkpoints/nbi_docs_examples_central_limit_theorem-checkpoint.ipynb +0 -247
  288. data/lib/starter_web/pages/public/_jupyter/notebooks/nbi-docs/.ipynb_checkpoints/nbi_docs_examples_variability_of_the_sample_mean-checkpoint.ipynb +0 -323
  289. data/lib/starter_web/pages/public/_jupyter/notebooks/nbi-docs/.ipynb_checkpoints/nbi_docs_recipes_graphing-checkpoint.ipynb +0 -387
  290. data/lib/starter_web/pages/public/_jupyter/notebooks/nbi-docs/.ipynb_checkpoints/nbi_docs_recipes_interactive_questions-checkpoint.ipynb +0 -185
  291. data/lib/starter_web/pages/public/_jupyter/notebooks/nbi-docs/.ipynb_checkpoints/nbi_docs_recipes_layout-checkpoint.ipynb +0 -384
  292. data/lib/starter_web/pages/public/_jupyter/notebooks/nbi-docs/.ipynb_checkpoints/nbi_docs_tutorial_interact-checkpoint.ipynb +0 -254
  293. data/lib/starter_web/pages/public/_jupyter/notebooks/nbi-docs/.ipynb_checkpoints/nbi_docs_tutorial_monty_hall-checkpoint.ipynb +0 -732
  294. data/lib/starter_web/pages/public/_jupyter/notebooks/nbi-docs/nbi_docs_examples_central_limit_theorem.ipynb +0 -247
  295. data/lib/starter_web/pages/public/_jupyter/notebooks/nbi-docs/nbi_docs_examples_correlation.ipynb +0 -651
  296. data/lib/starter_web/pages/public/_jupyter/notebooks/nbi-docs/nbi_docs_examples_empirical_distributions.ipynb +0 -773
  297. data/lib/starter_web/pages/public/_jupyter/notebooks/nbi-docs/nbi_docs_examples_linear_regression.ipynb +0 -111
  298. data/lib/starter_web/pages/public/_jupyter/notebooks/nbi-docs/nbi_docs_examples_probability_distribution_plots.ipynb +0 -199
  299. data/lib/starter_web/pages/public/_jupyter/notebooks/nbi-docs/nbi_docs_examples_sampling_from_a_population.ipynb +0 -421
  300. data/lib/starter_web/pages/public/_jupyter/notebooks/nbi-docs/nbi_docs_examples_variability_of_the_sample_mean.ipynb +0 -323
  301. data/lib/starter_web/pages/public/_jupyter/notebooks/nbi-docs/nbi_docs_recipes_graphing.ipynb +0 -387
  302. data/lib/starter_web/pages/public/_jupyter/notebooks/nbi-docs/nbi_docs_recipes_interactive_questions.ipynb +0 -185
  303. data/lib/starter_web/pages/public/_jupyter/notebooks/nbi-docs/nbi_docs_recipes_layout.ipynb +0 -384
  304. data/lib/starter_web/pages/public/_jupyter/notebooks/nbi-docs/nbi_docs_tutorial_interact.ipynb +0 -254
  305. data/lib/starter_web/pages/public/_jupyter/notebooks/nbi-docs/nbi_docs_tutorial_monty_hall.ipynb +0 -732
  306. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/Advanced Plotting.html +0 -373
  307. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/Animations.html +0 -361
  308. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/Axis Properties.html +0 -569
  309. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/Bars.html +0 -487
  310. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/Basic Plotting.html +0 -341
  311. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/Bins.html +0 -259
  312. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/Boxplot.html +0 -277
  313. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/Brush Interval Selector.html +0 -182
  314. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/Bubble Chart.html +0 -299
  315. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/Candles.html +0 -252
  316. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/Choropleth.html +0 -318
  317. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/Color Scales.html +0 -514
  318. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/Fast Interval Selector.html +0 -182
  319. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/Feature_Vector_Distribution-Iris-Digits.html +0 -479
  320. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/FlexLine.html +0 -128
  321. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/Gaussian Density Widget.html +0 -152
  322. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/Gaussian Density.html +0 -137
  323. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/Graph.html +0 -484
  324. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/GridHeatMap.html +0 -483
  325. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/HeatMap.html +0 -170
  326. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/Hist.html +0 -349
  327. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/Image.html +0 -177
  328. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/Index.html +0 -29
  329. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/Interaction Layer.html +0 -1372
  330. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/Introduction.html +0 -749
  331. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/Label.html +0 -268
  332. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/Lines.html +0 -704
  333. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/Linking Plots With Widgets.html +0 -389
  334. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/Logs Dashboard.html +0 -455
  335. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/Map.html +0 -229
  336. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/Mark Interactions.html +0 -613
  337. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/Market Map.html +0 -413
  338. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/Mobile Patent Suits.html +0 -131
  339. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/Neural Network.html +0 -190
  340. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/Object Model.html +0 -193
  341. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/Outlier Detection.html +0 -363
  342. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/Pie.html +0 -367
  343. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/Plotting Dates.html +0 -337
  344. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/Pyplot.html +0 -196
  345. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/Scatter.html +0 -948
  346. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/Selectors.html +0 -489
  347. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/Time Series.html +0 -173
  348. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/Tutorials.html +0 -40
  349. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/Updating Plots.html +0 -228
  350. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/j1_altair_interactive.html +0 -2216
  351. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/j1_altair_non_interactive.html +0 -1170
  352. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/j1_bgplot_line_plot.html +0 -318
  353. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/j1_bokeh_01_basic_plotting.html +0 -1479
  354. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/j1_bokeh_02_styling_and_theming.html +0 -1524
  355. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/j1_bokeh_03_data_sources_and_transformations.html +0 -983
  356. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/j1_bokeh_04_adding_annotations.html +0 -1280
  357. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/j1_bokeh_05_presentation_layouts.html +0 -660
  358. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/j1_bokeh_06_linking_and_interactions.html +0 -1563
  359. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/j1_bokeh_07_bar_and_categorical_data_plots.html +0 -1888
  360. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/j1_bokeh_08_graph_and_network_plots.html +0 -689
  361. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/j1_bokeh_09_geographic_plots.html +0 -767
  362. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/j1_circular_times_table-short.html +0 -475
  363. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/j1_circular_times_table.html +0 -747
  364. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/j1_climate_change_forecast.html +0 -1250
  365. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/j1_docs_example_dynamic.html +0 -186
  366. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/j1_interactive_widgets.html +0 -512
  367. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/j1_mathplot_vs_bqplot.html +0 -407
  368. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/j1_nbi_widgets.html +0 -629
  369. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/j1_nbi_widgets_bar_chart.html +0 -95
  370. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/j1_nbi_widgets_hist_chart.html +0 -93
  371. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/j1_nbi_widgets_line_chart.html +0 -96
  372. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/j1_nbi_widgets_question_multiple_choice.html +0 -70
  373. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/j1_nbi_widgets_question_short_answer.html +0 -156
  374. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/j1_nbi_widgets_scatter_chart.html +0 -95
  375. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/j1_nbi_widgets_scatter_drag_chart.html +0 -93
  376. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/j1_odes_in_python.html +0 -955
  377. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/nbi_docs_examples_central_limit_theorem.html +0 -290
  378. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/nbi_docs_examples_correlation.html +0 -818
  379. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/nbi_docs_examples_empirical_distributions.html +0 -351
  380. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/nbi_docs_examples_linear_regression.html +0 -106
  381. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/nbi_docs_examples_probability_distribution_plots.html +0 -228
  382. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/nbi_docs_examples_sampling_from_a_population.html +0 -518
  383. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/nbi_docs_examples_variability_of_the_sample_mean.html +0 -372
  384. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/nbi_docs_recipes_graphing.html +0 -473
  385. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/nbi_docs_recipes_interactive_questions.html +0 -242
  386. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/nbi_docs_recipes_layout.html +0 -496
  387. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/nbi_docs_tutorial_interact.html +0 -329
  388. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/nbi_docs_tutorial_monty_hall.html +0 -866
  389. data/lib/starter_web/pages/public/_jupyter/where_to_go.adoc +0 -270
  390. data/lib/starter_web/pages/public/learn/_roundtrip/100_present_images.adoc +0 -313
  391. data/lib/starter_web/pages/public/learn/_roundtrip/100_present_videos.adoc +0 -281
  392. data/lib/starter_web/pages/public/learn/_roundtrip/200_typography.adoc +0 -253
  393. data/lib/starter_web/pages/public/learn/_roundtrip/300_icon_fonts.adoc +0 -579
  394. data/lib/starter_web/pages/public/learn/_roundtrip/400_asciidoc_extensions.adoc +0 -718
  395. data/lib/starter_web/pages/public/learn/_roundtrip/410_bs_modals_extentions.adoc +0 -91
  396. data/lib/starter_web/pages/public/learn/_roundtrip/420_responsive_tables_extensions.adoc +0 -420
  397. data/lib/starter_web/pages/public/learn/_roundtrip/500_themes.adoc +0 -250
  398. data/lib/starter_web/pages/public/learn/_roundtrip/600_quicksearch.adoc +0 -425
  399. data/lib/starter_web/pages/public/learn/_roundtrip/_includes/attributes.asciidoc +0 -118
  400. data/lib/starter_web/pages/public/learn/_roundtrip/_includes/documents/100_gistblock.asciidoc +0 -28
  401. data/lib/starter_web/pages/public/learn/_roundtrip/_includes/documents/410_bottom_info.asciidoc +0 -14
  402. data/lib/starter_web/pages/public/learn/_roundtrip/_includes/documents/410_bottom_left_warning.asciidoc +0 -11
  403. data/lib/starter_web/pages/public/learn/_roundtrip/_includes/documents/410_bottom_right_danger.asciidoc +0 -11
  404. data/lib/starter_web/pages/public/learn/_roundtrip/_includes/documents/410_central_success.asciidoc +0 -11
  405. data/lib/starter_web/pages/public/learn/_roundtrip/_includes/documents/410_full_height_left_info.asciidoc +0 -11
  406. data/lib/starter_web/pages/public/learn/_roundtrip/_includes/documents/410_full_height_right_success.asciidoc +0 -11
  407. data/lib/starter_web/pages/public/learn/_roundtrip/_includes/documents/410_table_bs_modal_examples.asciidoc +0 -47
  408. data/lib/starter_web/pages/public/learn/_roundtrip/_includes/documents/410_top_info.asciidoc +0 -11
  409. data/lib/starter_web/pages/public/learn/_roundtrip/_includes/documents/410_top_left_info.asciidoc +0 -11
  410. data/lib/starter_web/pages/public/learn/_roundtrip/_includes/documents/410_top_right_success.asciidoc +0 -11
  411. data/lib/starter_web/pages/public/learn/_roundtrip/_includes/documents/419_advanced_modals_demo.asciidoc +0 -337
  412. data/lib/starter_web/pages/public/learn/_roundtrip/_includes/documents/tables/bs_modal_examples.asciidoc +0 -47
  413. data/lib/starter_web/pages/public/learn/_roundtrip/_includes/google-ad.js +0 -130
@@ -1,1888 +0,0 @@
1
- <div class="cell text_cell">
2
- <button class="js-nbinteract-widget">
3
- Loading widgets...
4
- </button>
5
- </div>
6
-
7
-
8
-
9
- <div class="cell border-box-sizing text_cell rendered"><div class="inner_cell">
10
- <div class="text_cell_render border-box-sizing rendered_html">
11
- <h2 id="7.-Bar-and-Categorical-Data-Plots">7. Bar and Categorical Data Plots<a class="anchor-link" href="#7.-Bar-and-Categorical-Data-Plots">&#182;</a></h2>
12
- </div>
13
- </div>
14
- </div>
15
-
16
-
17
-
18
- <div class="
19
- cell border-box-sizing code_cell rendered">
20
- <div class="input">
21
-
22
- <div class="inner_cell">
23
- <div class="input_area">
24
- <div class=" highlight hl-ipython3"><pre><span></span><span class="kn">from</span> <span class="nn">bokeh.io</span> <span class="kn">import</span> <span class="n">show</span><span class="p">,</span> <span class="n">output_notebook</span>
25
- <span class="kn">from</span> <span class="nn">bokeh.plotting</span> <span class="kn">import</span> <span class="n">figure</span>
26
- </pre></div>
27
-
28
- </div>
29
- </div>
30
- </div>
31
-
32
- </div>
33
-
34
-
35
-
36
- <div class="nbinteract-hide_out
37
- cell border-box-sizing code_cell rendered">
38
- <div class="input">
39
-
40
- <div class="inner_cell">
41
- <div class="input_area">
42
- <div class=" highlight hl-ipython3"><pre><span></span><span class="c1"># nbi:hide_out</span>
43
- <span class="c1"># Make all outputs INLINE for default (why a hell this is needed !!!)</span>
44
- <span class="n">output_notebook</span><span class="p">()</span>
45
- </pre></div>
46
-
47
- </div>
48
- </div>
49
- </div>
50
-
51
- <div class="output_wrapper">
52
- <div class="output">
53
-
54
-
55
- <div class="output_area">
56
-
57
-
58
-
59
-
60
- <div class="output_html rendered_html output_subarea ">
61
- <div class="bk-root">
62
- <a href="https://bokeh.org" target="_blank" class="bk-logo bk-logo-small bk-logo-notebook"></a>
63
- <span id="1002">Loading BokehJS ...</span>
64
- </div>
65
-
66
- </div>
67
-
68
- </div>
69
-
70
- <div class="output_area">
71
-
72
-
73
-
74
-
75
-
76
-
77
- <div id="b8e5f426-f2c3-47f6-8c2e-ded54f273046"></div>
78
- <div class="output_subarea output_javascript ">
79
- <script type="text/javascript">
80
- var element = $('#b8e5f426-f2c3-47f6-8c2e-ded54f273046');
81
- (function(root) {
82
- function now() {
83
- return new Date();
84
- }
85
-
86
- const force = true;
87
-
88
- if (typeof root._bokeh_onload_callbacks === "undefined" || force === true) {
89
- root._bokeh_onload_callbacks = [];
90
- root._bokeh_is_loading = undefined;
91
- }
92
-
93
- const JS_MIME_TYPE = 'application/javascript';
94
- const HTML_MIME_TYPE = 'text/html';
95
- const EXEC_MIME_TYPE = 'application/vnd.bokehjs_exec.v0+json';
96
- const CLASS_NAME = 'output_bokeh rendered_html';
97
-
98
- /**
99
- * Render data to the DOM node
100
- */
101
- function render(props, node) {
102
- const script = document.createElement("script");
103
- node.appendChild(script);
104
- }
105
-
106
- /**
107
- * Handle when an output is cleared or removed
108
- */
109
- function handleClearOutput(event, handle) {
110
- const cell = handle.cell;
111
-
112
- const id = cell.output_area._bokeh_element_id;
113
- const server_id = cell.output_area._bokeh_server_id;
114
- // Clean up Bokeh references
115
- if (id != null && id in Bokeh.index) {
116
- Bokeh.index[id].model.document.clear();
117
- delete Bokeh.index[id];
118
- }
119
-
120
- if (server_id !== undefined) {
121
- // Clean up Bokeh references
122
- const cmd_clean = "from bokeh.io.state import curstate; print(curstate().uuid_to_server['" + server_id + "'].get_sessions()[0].document.roots[0]._id)";
123
- cell.notebook.kernel.execute(cmd_clean, {
124
- iopub: {
125
- output: function(msg) {
126
- const id = msg.content.text.trim();
127
- if (id in Bokeh.index) {
128
- Bokeh.index[id].model.document.clear();
129
- delete Bokeh.index[id];
130
- }
131
- }
132
- }
133
- });
134
- // Destroy server and session
135
- const cmd_destroy = "import bokeh.io.notebook as ion; ion.destroy_server('" + server_id + "')";
136
- cell.notebook.kernel.execute(cmd_destroy);
137
- }
138
- }
139
-
140
- /**
141
- * Handle when a new output is added
142
- */
143
- function handleAddOutput(event, handle) {
144
- const output_area = handle.output_area;
145
- const output = handle.output;
146
-
147
- // limit handleAddOutput to display_data with EXEC_MIME_TYPE content only
148
- if ((output.output_type != "display_data") || (!Object.prototype.hasOwnProperty.call(output.data, EXEC_MIME_TYPE))) {
149
- return
150
- }
151
-
152
- const toinsert = output_area.element.find("." + CLASS_NAME.split(' ')[0]);
153
-
154
- if (output.metadata[EXEC_MIME_TYPE]["id"] !== undefined) {
155
- toinsert[toinsert.length - 1].firstChild.textContent = output.data[JS_MIME_TYPE];
156
- // store reference to embed id on output_area
157
- output_area._bokeh_element_id = output.metadata[EXEC_MIME_TYPE]["id"];
158
- }
159
- if (output.metadata[EXEC_MIME_TYPE]["server_id"] !== undefined) {
160
- const bk_div = document.createElement("div");
161
- bk_div.innerHTML = output.data[HTML_MIME_TYPE];
162
- const script_attrs = bk_div.children[0].attributes;
163
- for (let i = 0; i < script_attrs.length; i++) {
164
- toinsert[toinsert.length - 1].firstChild.setAttribute(script_attrs[i].name, script_attrs[i].value);
165
- toinsert[toinsert.length - 1].firstChild.textContent = bk_div.children[0].textContent
166
- }
167
- // store reference to server id on output_area
168
- output_area._bokeh_server_id = output.metadata[EXEC_MIME_TYPE]["server_id"];
169
- }
170
- }
171
-
172
- function register_renderer(events, OutputArea) {
173
-
174
- function append_mime(data, metadata, element) {
175
- // create a DOM node to render to
176
- const toinsert = this.create_output_subarea(
177
- metadata,
178
- CLASS_NAME,
179
- EXEC_MIME_TYPE
180
- );
181
- this.keyboard_manager.register_events(toinsert);
182
- // Render to node
183
- const props = {data: data, metadata: metadata[EXEC_MIME_TYPE]};
184
- render(props, toinsert[toinsert.length - 1]);
185
- element.append(toinsert);
186
- return toinsert
187
- }
188
-
189
- /* Handle when an output is cleared or removed */
190
- events.on('clear_output.CodeCell', handleClearOutput);
191
- events.on('delete.Cell', handleClearOutput);
192
-
193
- /* Handle when a new output is added */
194
- events.on('output_added.OutputArea', handleAddOutput);
195
-
196
- /**
197
- * Register the mime type and append_mime function with output_area
198
- */
199
- OutputArea.prototype.register_mime_type(EXEC_MIME_TYPE, append_mime, {
200
- /* Is output safe? */
201
- safe: true,
202
- /* Index of renderer in `output_area.display_order` */
203
- index: 0
204
- });
205
- }
206
-
207
- // register the mime type if in Jupyter Notebook environment and previously unregistered
208
- if (root.Jupyter !== undefined) {
209
- const events = require('base/js/events');
210
- const OutputArea = require('notebook/js/outputarea').OutputArea;
211
-
212
- if (OutputArea.prototype.mime_types().indexOf(EXEC_MIME_TYPE) == -1) {
213
- register_renderer(events, OutputArea);
214
- }
215
- }
216
- if (typeof (root._bokeh_timeout) === "undefined" || force === true) {
217
- root._bokeh_timeout = Date.now() + 5000;
218
- root._bokeh_failed_load = false;
219
- }
220
-
221
- const NB_LOAD_WARNING = {'data': {'text/html':
222
- "<div style='background-color: #fdd'>\n"+
223
- "<p>\n"+
224
- "BokehJS does not appear to have successfully loaded. If loading BokehJS from CDN, this \n"+
225
- "may be due to a slow or bad network connection. Possible fixes:\n"+
226
- "</p>\n"+
227
- "<ul>\n"+
228
- "<li>re-rerun `output_notebook()` to attempt to load from CDN again, or</li>\n"+
229
- "<li>use INLINE resources instead, as so:</li>\n"+
230
- "</ul>\n"+
231
- "<code>\n"+
232
- "from bokeh.resources import INLINE\n"+
233
- "output_notebook(resources=INLINE)\n"+
234
- "</code>\n"+
235
- "</div>"}};
236
-
237
- function display_loaded() {
238
- const el = document.getElementById("1002");
239
- if (el != null) {
240
- el.textContent = "BokehJS is loading...";
241
- }
242
- if (root.Bokeh !== undefined) {
243
- if (el != null) {
244
- el.textContent = "BokehJS " + root.Bokeh.version + " successfully loaded.";
245
- }
246
- } else if (Date.now() < root._bokeh_timeout) {
247
- setTimeout(display_loaded, 100)
248
- }
249
- }
250
-
251
- function run_callbacks() {
252
- try {
253
- root._bokeh_onload_callbacks.forEach(function(callback) {
254
- if (callback != null)
255
- callback();
256
- });
257
- } finally {
258
- delete root._bokeh_onload_callbacks
259
- }
260
- console.debug("Bokeh: all callbacks have finished");
261
- }
262
-
263
- function load_libs(css_urls, js_urls, callback) {
264
- if (css_urls == null) css_urls = [];
265
- if (js_urls == null) js_urls = [];
266
-
267
- root._bokeh_onload_callbacks.push(callback);
268
- if (root._bokeh_is_loading > 0) {
269
- console.debug("Bokeh: BokehJS is being loaded, scheduling callback at", now());
270
- return null;
271
- }
272
- if (js_urls == null || js_urls.length === 0) {
273
- run_callbacks();
274
- return null;
275
- }
276
- console.debug("Bokeh: BokehJS not loaded, scheduling load and callback at", now());
277
- root._bokeh_is_loading = css_urls.length + js_urls.length;
278
-
279
- function on_load() {
280
- root._bokeh_is_loading--;
281
- if (root._bokeh_is_loading === 0) {
282
- console.debug("Bokeh: all BokehJS libraries/stylesheets loaded");
283
- run_callbacks()
284
- }
285
- }
286
-
287
- function on_error(url) {
288
- console.error("failed to load " + url);
289
- }
290
-
291
- for (let i = 0; i < css_urls.length; i++) {
292
- const url = css_urls[i];
293
- const element = document.createElement("link");
294
- element.onload = on_load;
295
- element.onerror = on_error.bind(null, url);
296
- element.rel = "stylesheet";
297
- element.type = "text/css";
298
- element.href = url;
299
- console.debug("Bokeh: injecting link tag for BokehJS stylesheet: ", url);
300
- document.body.appendChild(element);
301
- }
302
-
303
- for (let i = 0; i < js_urls.length; i++) {
304
- const url = js_urls[i];
305
- const element = document.createElement('script');
306
- element.onload = on_load;
307
- element.onerror = on_error.bind(null, url);
308
- element.async = false;
309
- element.src = url;
310
- console.debug("Bokeh: injecting script tag for BokehJS library: ", url);
311
- document.head.appendChild(element);
312
- }
313
- };
314
-
315
- function inject_raw_css(css) {
316
- const element = document.createElement("style");
317
- element.appendChild(document.createTextNode(css));
318
- document.body.appendChild(element);
319
- }
320
-
321
- const js_urls = ["https://cdn.bokeh.org/bokeh/release/bokeh-2.4.3.min.js", "https://cdn.bokeh.org/bokeh/release/bokeh-gl-2.4.3.min.js", "https://cdn.bokeh.org/bokeh/release/bokeh-widgets-2.4.3.min.js", "https://cdn.bokeh.org/bokeh/release/bokeh-tables-2.4.3.min.js", "https://cdn.bokeh.org/bokeh/release/bokeh-mathjax-2.4.3.min.js"];
322
- const css_urls = [];
323
-
324
- const inline_js = [ function(Bokeh) {
325
- Bokeh.set_log_level("info");
326
- },
327
- function(Bokeh) {
328
- }
329
- ];
330
-
331
- function run_inline_js() {
332
- if (root.Bokeh !== undefined || force === true) {
333
- for (let i = 0; i < inline_js.length; i++) {
334
- inline_js[i].call(root, root.Bokeh);
335
- }
336
- if (force === true) {
337
- display_loaded();
338
- }} else if (Date.now() < root._bokeh_timeout) {
339
- setTimeout(run_inline_js, 100);
340
- } else if (!root._bokeh_failed_load) {
341
- console.log("Bokeh: BokehJS failed to load within specified timeout.");
342
- root._bokeh_failed_load = true;
343
- } else if (force !== true) {
344
- const cell = $(document.getElementById("1002")).parents('.cell').data().cell;
345
- cell.output_area.append_execute_result(NB_LOAD_WARNING)
346
- }
347
- }
348
-
349
- if (root._bokeh_is_loading === 0) {
350
- console.debug("Bokeh: BokehJS loaded, going straight to plotting");
351
- run_inline_js();
352
- } else {
353
- load_libs(css_urls, js_urls, function() {
354
- console.debug("Bokeh: BokehJS plotting callback run at", now());
355
- run_inline_js();
356
- });
357
- }
358
- }(window));
359
- </script>
360
- </div>
361
-
362
- </div>
363
-
364
- </div>
365
- </div>
366
-
367
- </div>
368
- <div class="cell border-box-sizing text_cell rendered"><div class="inner_cell">
369
- <div class="text_cell_render border-box-sizing rendered_html">
370
- <h3 id="Basic-Bar-Charts">Basic Bar Charts<a class="anchor-link" href="#Basic-Bar-Charts">&#182;</a></h3><p>Bar charts are a common and important type of plot. Bokeh makes it simple to create all sorts of stacked or nested bar charts, and to deal with categorical data in general.
371
- The example below shows a simple bar chart created using the <code>vbar</code> method for drawing vertical bars. (There is a corresponding <code>hbar</code> for horizontal bars.) We also set a few plot properties to make the chart look nicer, see chapter <strong>Styles and Themes</strong> for information about visual properties.</p>
372
-
373
- </div>
374
- </div>
375
- </div>
376
-
377
-
378
-
379
- <div class="
380
- cell border-box-sizing code_cell rendered">
381
- <div class="input">
382
-
383
- <div class="inner_cell">
384
- <div class="input_area">
385
- <div class=" highlight hl-ipython3"><pre><span></span><span class="c1"># Here is a list of categorical values (or factors)</span>
386
- <span class="n">fruits</span> <span class="o">=</span> <span class="p">[</span><span class="s1">&#39;Apples&#39;</span><span class="p">,</span> <span class="s1">&#39;Pears&#39;</span><span class="p">,</span> <span class="s1">&#39;Nectarines&#39;</span><span class="p">,</span> <span class="s1">&#39;Plums&#39;</span><span class="p">,</span> <span class="s1">&#39;Grapes&#39;</span><span class="p">,</span> <span class="s1">&#39;Strawberries&#39;</span><span class="p">]</span>
387
-
388
- <span class="c1"># Set the x_range to the list of categories above</span>
389
- <span class="n">p</span> <span class="o">=</span> <span class="n">figure</span><span class="p">(</span>
390
- <span class="n">plot_height</span><span class="o">=</span><span class="mi">400</span><span class="p">,</span>
391
- <span class="n">plot_width</span><span class="o">=</span><span class="mi">800</span><span class="p">,</span>
392
- <span class="n">x_range</span><span class="o">=</span><span class="n">fruits</span><span class="p">,</span>
393
- <span class="n">title</span><span class="o">=</span><span class="s2">&quot;Fruit Counts&quot;</span>
394
- <span class="p">)</span>
395
-
396
- <span class="c1"># Categorical values can also be used as coordinates</span>
397
- <span class="n">p</span><span class="o">.</span><span class="n">vbar</span><span class="p">(</span>
398
- <span class="n">x</span><span class="o">=</span><span class="n">fruits</span><span class="p">,</span>
399
- <span class="n">top</span><span class="o">=</span><span class="p">[</span><span class="mi">5</span><span class="p">,</span> <span class="mi">3</span><span class="p">,</span> <span class="mi">4</span><span class="p">,</span> <span class="mi">2</span><span class="p">,</span> <span class="mi">4</span><span class="p">,</span> <span class="mi">6</span><span class="p">],</span>
400
- <span class="n">width</span><span class="o">=</span><span class="mf">0.9</span>
401
- <span class="p">)</span>
402
-
403
- <span class="c1"># Set some properties to make the plot look better</span>
404
- <span class="n">p</span><span class="o">.</span><span class="n">xgrid</span><span class="o">.</span><span class="n">grid_line_color</span> <span class="o">=</span> <span class="kc">None</span>
405
- <span class="n">p</span><span class="o">.</span><span class="n">y_range</span><span class="o">.</span><span class="n">start</span> <span class="o">=</span> <span class="mi">0</span>
406
-
407
- <span class="c1"># show the results</span>
408
- <span class="n">show</span><span class="p">(</span><span class="n">p</span><span class="p">)</span>
409
- </pre></div>
410
-
411
- </div>
412
- </div>
413
- </div>
414
-
415
- <div class="output_wrapper">
416
- <div class="output">
417
-
418
-
419
- <div class="output_area">
420
-
421
-
422
-
423
-
424
- <div class="output_html rendered_html output_subarea ">
425
-
426
- <div class="bk-root" id="d3c87e97-4e3d-4b40-b001-7eaff8258cfb" data-root-id="1003"></div>
427
-
428
- </div>
429
-
430
- </div>
431
-
432
- <div class="output_area">
433
-
434
-
435
-
436
-
437
-
438
-
439
- <div id="1492fbd0-4939-488d-939e-65a0bf4352b1"></div>
440
- <div class="output_subarea output_javascript ">
441
- <script type="text/javascript">
442
- var element = $('#1492fbd0-4939-488d-939e-65a0bf4352b1');
443
- (function(root) {
444
- function embed_document(root) {
445
- const docs_json = {"a6933a3a-239f-45c1-b48e-7136ba3ba9c2":{"defs":[],"roots":{"references":[{"attributes":{"below":[{"id":"1014"}],"center":[{"id":"1016"},{"id":"1020"}],"height":400,"left":[{"id":"1017"}],"renderers":[{"id":"1039"}],"title":{"id":"1004"},"toolbar":{"id":"1028"},"width":800,"x_range":{"id":"1006"},"x_scale":{"id":"1010"},"y_range":{"id":"1008"},"y_scale":{"id":"1012"}},"id":"1003","subtype":"Figure","type":"Plot"},{"attributes":{"coordinates":null,"formatter":{"id":"1043"},"group":null,"major_label_policy":{"id":"1044"},"ticker":{"id":"1018"}},"id":"1017","type":"LinearAxis"},{"attributes":{},"id":"1047","type":"AllLabels"},{"attributes":{"bottom_units":"screen","coordinates":null,"fill_alpha":0.5,"fill_color":"lightgrey","group":null,"left_units":"screen","level":"overlay","line_alpha":1.0,"line_color":"black","line_dash":[4,4],"line_width":2,"right_units":"screen","syncable":false,"top_units":"screen"},"id":"1027","type":"BoxAnnotation"},{"attributes":{"tools":[{"id":"1021"},{"id":"1022"},{"id":"1023"},{"id":"1024"},{"id":"1025"},{"id":"1026"}]},"id":"1028","type":"Toolbar"},{"attributes":{"axis":{"id":"1017"},"coordinates":null,"dimension":1,"group":null,"ticker":null},"id":"1020","type":"Grid"},{"attributes":{"fill_alpha":{"value":0.2},"fill_color":{"value":"#1f77b4"},"hatch_alpha":{"value":0.2},"line_alpha":{"value":0.2},"line_color":{"value":"#1f77b4"},"top":{"field":"top"},"width":{"value":0.9},"x":{"field":"x"}},"id":"1038","type":"VBar"},{"attributes":{"data":{"top":[5,3,4,2,4,6],"x":["Apples","Pears","Nectarines","Plums","Grapes","Strawberries"]},"selected":{"id":"1049"},"selection_policy":{"id":"1048"}},"id":"1035","type":"ColumnDataSource"},{"attributes":{"coordinates":null,"data_source":{"id":"1035"},"glyph":{"id":"1036"},"group":null,"hover_glyph":null,"muted_glyph":{"id":"1038"},"nonselection_glyph":{"id":"1037"},"view":{"id":"1040"}},"id":"1039","type":"GlyphRenderer"},{"attributes":{"factors":["Apples","Pears","Nectarines","Plums","Grapes","Strawberries"]},"id":"1006","type":"FactorRange"},{"attributes":{},"id":"1044","type":"AllLabels"},{"attributes":{},"id":"1021","type":"PanTool"},{"attributes":{"coordinates":null,"group":null,"text":"Fruit Counts"},"id":"1004","type":"Title"},{"attributes":{},"id":"1025","type":"ResetTool"},{"attributes":{},"id":"1022","type":"WheelZoomTool"},{"attributes":{"start":0},"id":"1008","type":"DataRange1d"},{"attributes":{"overlay":{"id":"1027"}},"id":"1023","type":"BoxZoomTool"},{"attributes":{"axis":{"id":"1014"},"coordinates":null,"grid_line_color":null,"group":null,"ticker":null},"id":"1016","type":"Grid"},{"attributes":{"fill_alpha":{"value":0.1},"fill_color":{"value":"#1f77b4"},"hatch_alpha":{"value":0.1},"line_alpha":{"value":0.1},"line_color":{"value":"#1f77b4"},"top":{"field":"top"},"width":{"value":0.9},"x":{"field":"x"}},"id":"1037","type":"VBar"},{"attributes":{},"id":"1024","type":"SaveTool"},{"attributes":{"source":{"id":"1035"}},"id":"1040","type":"CDSView"},{"attributes":{},"id":"1015","type":"CategoricalTicker"},{"attributes":{},"id":"1026","type":"HelpTool"},{"attributes":{},"id":"1046","type":"CategoricalTickFormatter"},{"attributes":{},"id":"1049","type":"Selection"},{"attributes":{},"id":"1010","type":"CategoricalScale"},{"attributes":{},"id":"1043","type":"BasicTickFormatter"},{"attributes":{},"id":"1012","type":"LinearScale"},{"attributes":{},"id":"1048","type":"UnionRenderers"},{"attributes":{"coordinates":null,"formatter":{"id":"1046"},"group":null,"major_label_policy":{"id":"1047"},"ticker":{"id":"1015"}},"id":"1014","type":"CategoricalAxis"},{"attributes":{},"id":"1018","type":"BasicTicker"},{"attributes":{"fill_color":{"value":"#1f77b4"},"line_color":{"value":"#1f77b4"},"top":{"field":"top"},"width":{"value":0.9},"x":{"field":"x"}},"id":"1036","type":"VBar"}],"root_ids":["1003"]},"title":"Bokeh Application","version":"2.4.3"}};
446
- const render_items = [{"docid":"a6933a3a-239f-45c1-b48e-7136ba3ba9c2","root_ids":["1003"],"roots":{"1003":"d3c87e97-4e3d-4b40-b001-7eaff8258cfb"}}];
447
- root.Bokeh.embed.embed_items_notebook(docs_json, render_items);
448
- }
449
- if (root.Bokeh !== undefined) {
450
- embed_document(root);
451
- } else {
452
- let attempts = 0;
453
- const timer = setInterval(function(root) {
454
- if (root.Bokeh !== undefined) {
455
- clearInterval(timer);
456
- embed_document(root);
457
- } else {
458
- attempts++;
459
- if (attempts > 100) {
460
- clearInterval(timer);
461
- console.log("Bokeh: ERROR: Unable to run BokehJS code because BokehJS library is missing");
462
- }
463
- }
464
- }, 10, root)
465
- }
466
- })(window);
467
- </script>
468
- </div>
469
-
470
- </div>
471
-
472
- </div>
473
- </div>
474
-
475
- </div>
476
- <div class="cell border-box-sizing text_cell rendered"><div class="inner_cell">
477
- <div class="text_cell_render border-box-sizing rendered_html">
478
- <p>When we want to create a plot with a categorical range, we pass the ordered list of categorical values to <code>figure</code>, e.g. <code>x_range=['a', 'b', 'c']</code>. In the plot above, we passed the list of fruits as <code>x_range</code>, and we can see those refelected as the x-axis.</p>
479
- <p>The <code>vbar</code> glyph method takes an <code>x</code> location for the center of the bar, a <code>top</code> and <code>bottom</code> (which defaults to 0), and a <code>width</code>. When we are using a categorical range as we are here, each category implicitly has width of 1, so setting <code>width=0.9</code> as we have done here makes the bars shrink away from each other. (Another option would be to add some padding to the range.)</p>
480
-
481
- </div>
482
- </div>
483
- </div>
484
- <div class="cell border-box-sizing text_cell rendered"><div class="inner_cell">
485
- <div class="text_cell_render border-box-sizing rendered_html">
486
- <p>Since <code>vbar</code> is a glyph method, we can use it with a <code>ColumnDataSource</code> just as we would with any other glyph. In the example below, we put the data (including color data) in a <code>ColumnDataSource</code> and use that to drive our plot. We also add a legend, see chapter <strong>Adding Annotations.ipynb</strong> for more information about legends and other annotations.</p>
487
-
488
- </div>
489
- </div>
490
- </div>
491
-
492
-
493
-
494
- <div class="
495
- cell border-box-sizing code_cell rendered">
496
- <div class="input">
497
-
498
- <div class="inner_cell">
499
- <div class="input_area">
500
- <div class=" highlight hl-ipython3"><pre><span></span><span class="kn">from</span> <span class="nn">bokeh.models</span> <span class="kn">import</span> <span class="n">ColumnDataSource</span>
501
- <span class="kn">from</span> <span class="nn">bokeh.palettes</span> <span class="kn">import</span> <span class="n">Spectral6</span>
502
-
503
- <span class="n">fruits</span> <span class="o">=</span> <span class="p">[</span><span class="s1">&#39;Apples&#39;</span><span class="p">,</span> <span class="s1">&#39;Pears&#39;</span><span class="p">,</span> <span class="s1">&#39;Nectarines&#39;</span><span class="p">,</span> <span class="s1">&#39;Plums&#39;</span><span class="p">,</span> <span class="s1">&#39;Grapes&#39;</span><span class="p">,</span> <span class="s1">&#39;Strawberries&#39;</span><span class="p">]</span>
504
- <span class="n">counts</span> <span class="o">=</span> <span class="p">[</span><span class="mi">5</span><span class="p">,</span> <span class="mi">3</span><span class="p">,</span> <span class="mi">4</span><span class="p">,</span> <span class="mi">2</span><span class="p">,</span> <span class="mi">4</span><span class="p">,</span> <span class="mi">6</span><span class="p">]</span>
505
-
506
- <span class="n">source</span> <span class="o">=</span> <span class="n">ColumnDataSource</span><span class="p">(</span>
507
- <span class="n">data</span><span class="o">=</span><span class="nb">dict</span><span class="p">(</span>
508
- <span class="n">fruits</span><span class="o">=</span><span class="n">fruits</span><span class="p">,</span>
509
- <span class="n">counts</span><span class="o">=</span><span class="n">counts</span><span class="p">,</span>
510
- <span class="n">color</span><span class="o">=</span><span class="n">Spectral6</span>
511
- <span class="p">)</span>
512
- <span class="p">)</span>
513
-
514
- <span class="n">p</span> <span class="o">=</span> <span class="n">figure</span><span class="p">(</span>
515
- <span class="n">plot_height</span><span class="o">=</span><span class="mi">400</span><span class="p">,</span>
516
- <span class="n">plot_width</span><span class="o">=</span><span class="mi">800</span><span class="p">,</span>
517
- <span class="n">x_range</span><span class="o">=</span><span class="n">fruits</span><span class="p">,</span>
518
- <span class="n">y_range</span><span class="o">=</span><span class="p">(</span><span class="mi">0</span><span class="p">,</span> <span class="mi">9</span><span class="p">),</span>
519
- <span class="n">title</span><span class="o">=</span><span class="s2">&quot;Fruit Counts&quot;</span>
520
- <span class="p">)</span>
521
- <span class="n">p</span><span class="o">.</span><span class="n">vbar</span><span class="p">(</span>
522
- <span class="n">x</span><span class="o">=</span><span class="s1">&#39;fruits&#39;</span><span class="p">,</span>
523
- <span class="n">top</span><span class="o">=</span><span class="s1">&#39;counts&#39;</span><span class="p">,</span>
524
- <span class="n">width</span><span class="o">=</span><span class="mf">0.9</span><span class="p">,</span>
525
- <span class="n">color</span><span class="o">=</span><span class="s1">&#39;color&#39;</span><span class="p">,</span>
526
- <span class="n">legend_field</span><span class="o">=</span><span class="s2">&quot;fruits&quot;</span><span class="p">,</span>
527
- <span class="n">source</span><span class="o">=</span><span class="n">source</span>
528
- <span class="p">)</span>
529
-
530
- <span class="n">p</span><span class="o">.</span><span class="n">xgrid</span><span class="o">.</span><span class="n">grid_line_color</span> <span class="o">=</span> <span class="kc">None</span>
531
- <span class="n">p</span><span class="o">.</span><span class="n">legend</span><span class="o">.</span><span class="n">orientation</span> <span class="o">=</span> <span class="s2">&quot;horizontal&quot;</span>
532
- <span class="n">p</span><span class="o">.</span><span class="n">legend</span><span class="o">.</span><span class="n">location</span> <span class="o">=</span> <span class="s2">&quot;top_center&quot;</span>
533
-
534
- <span class="c1"># show the results</span>
535
- <span class="n">show</span><span class="p">(</span><span class="n">p</span><span class="p">)</span>
536
- </pre></div>
537
-
538
- </div>
539
- </div>
540
- </div>
541
-
542
- <div class="output_wrapper">
543
- <div class="output">
544
-
545
-
546
- <div class="output_area">
547
-
548
-
549
-
550
-
551
- <div class="output_html rendered_html output_subarea ">
552
-
553
- <div class="bk-root" id="7fe397d8-e3ba-4b54-bba4-e62daa6cfe13" data-root-id="1102"></div>
554
-
555
- </div>
556
-
557
- </div>
558
-
559
- <div class="output_area">
560
-
561
-
562
-
563
-
564
-
565
-
566
- <div id="98a07ade-9f58-424c-8bd4-ff1c63868b5f"></div>
567
- <div class="output_subarea output_javascript ">
568
- <script type="text/javascript">
569
- var element = $('#98a07ade-9f58-424c-8bd4-ff1c63868b5f');
570
- (function(root) {
571
- function embed_document(root) {
572
- const docs_json = {"f005f898-87cb-4474-a7e9-e26d0bf95d0b":{"defs":[],"roots":{"references":[{"attributes":{"below":[{"id":"1113"}],"center":[{"id":"1115"},{"id":"1119"},{"id":"1150"}],"height":400,"left":[{"id":"1116"}],"renderers":[{"id":"1138"}],"title":{"id":"1103"},"toolbar":{"id":"1127"},"width":800,"x_range":{"id":"1105"},"x_scale":{"id":"1109"},"y_range":{"id":"1107"},"y_scale":{"id":"1111"}},"id":"1102","subtype":"Figure","type":"Plot"},{"attributes":{"coordinates":null,"data_source":{"id":"1101"},"glyph":{"id":"1135"},"group":null,"hover_glyph":null,"muted_glyph":{"id":"1137"},"nonselection_glyph":{"id":"1136"},"view":{"id":"1139"}},"id":"1138","type":"GlyphRenderer"},{"attributes":{"source":{"id":"1101"}},"id":"1139","type":"CDSView"},{"attributes":{"fill_alpha":{"value":0.2},"fill_color":{"field":"color"},"hatch_alpha":{"value":0.2},"hatch_color":{"field":"color"},"line_alpha":{"value":0.2},"line_color":{"field":"color"},"top":{"field":"counts"},"width":{"value":0.9},"x":{"field":"fruits"}},"id":"1137","type":"VBar"},{"attributes":{"coordinates":null,"group":null,"items":[{"id":"1151"}],"location":"top_center","orientation":"horizontal"},"id":"1150","type":"Legend"},{"attributes":{"fill_color":{"field":"color"},"hatch_color":{"field":"color"},"line_color":{"field":"color"},"top":{"field":"counts"},"width":{"value":0.9},"x":{"field":"fruits"}},"id":"1135","type":"VBar"},{"attributes":{},"id":"1142","type":"BasicTickFormatter"},{"attributes":{},"id":"1120","type":"PanTool"},{"attributes":{"factors":["Apples","Pears","Nectarines","Plums","Grapes","Strawberries"]},"id":"1105","type":"FactorRange"},{"attributes":{"coordinates":null,"group":null,"text":"Fruit Counts"},"id":"1103","type":"Title"},{"attributes":{},"id":"1124","type":"ResetTool"},{"attributes":{},"id":"1121","type":"WheelZoomTool"},{"attributes":{"axis":{"id":"1113"},"coordinates":null,"grid_line_color":null,"group":null,"ticker":null},"id":"1115","type":"Grid"},{"attributes":{"overlay":{"id":"1126"}},"id":"1122","type":"BoxZoomTool"},{"attributes":{},"id":"1143","type":"AllLabels"},{"attributes":{"end":9},"id":"1107","type":"Range1d"},{"attributes":{},"id":"1145","type":"CategoricalTickFormatter"},{"attributes":{},"id":"1123","type":"SaveTool"},{"attributes":{},"id":"1146","type":"AllLabels"},{"attributes":{},"id":"1147","type":"UnionRenderers"},{"attributes":{"fill_alpha":{"value":0.1},"fill_color":{"field":"color"},"hatch_alpha":{"value":0.1},"hatch_color":{"field":"color"},"line_alpha":{"value":0.1},"line_color":{"field":"color"},"top":{"field":"counts"},"width":{"value":0.9},"x":{"field":"fruits"}},"id":"1136","type":"VBar"},{"attributes":{},"id":"1114","type":"CategoricalTicker"},{"attributes":{},"id":"1125","type":"HelpTool"},{"attributes":{},"id":"1148","type":"Selection"},{"attributes":{},"id":"1109","type":"CategoricalScale"},{"attributes":{},"id":"1111","type":"LinearScale"},{"attributes":{"tools":[{"id":"1120"},{"id":"1121"},{"id":"1122"},{"id":"1123"},{"id":"1124"},{"id":"1125"}]},"id":"1127","type":"Toolbar"},{"attributes":{"coordinates":null,"formatter":{"id":"1145"},"group":null,"major_label_policy":{"id":"1146"},"ticker":{"id":"1114"}},"id":"1113","type":"CategoricalAxis"},{"attributes":{"coordinates":null,"formatter":{"id":"1142"},"group":null,"major_label_policy":{"id":"1143"},"ticker":{"id":"1117"}},"id":"1116","type":"LinearAxis"},{"attributes":{"label":{"field":"fruits"},"renderers":[{"id":"1138"}]},"id":"1151","type":"LegendItem"},{"attributes":{"bottom_units":"screen","coordinates":null,"fill_alpha":0.5,"fill_color":"lightgrey","group":null,"left_units":"screen","level":"overlay","line_alpha":1.0,"line_color":"black","line_dash":[4,4],"line_width":2,"right_units":"screen","syncable":false,"top_units":"screen"},"id":"1126","type":"BoxAnnotation"},{"attributes":{},"id":"1117","type":"BasicTicker"},{"attributes":{"data":{"color":["#3288bd","#99d594","#e6f598","#fee08b","#fc8d59","#d53e4f"],"counts":[5,3,4,2,4,6],"fruits":["Apples","Pears","Nectarines","Plums","Grapes","Strawberries"]},"selected":{"id":"1148"},"selection_policy":{"id":"1147"}},"id":"1101","type":"ColumnDataSource"},{"attributes":{"axis":{"id":"1116"},"coordinates":null,"dimension":1,"group":null,"ticker":null},"id":"1119","type":"Grid"}],"root_ids":["1102"]},"title":"Bokeh Application","version":"2.4.3"}};
573
- const render_items = [{"docid":"f005f898-87cb-4474-a7e9-e26d0bf95d0b","root_ids":["1102"],"roots":{"1102":"7fe397d8-e3ba-4b54-bba4-e62daa6cfe13"}}];
574
- root.Bokeh.embed.embed_items_notebook(docs_json, render_items);
575
- }
576
- if (root.Bokeh !== undefined) {
577
- embed_document(root);
578
- } else {
579
- let attempts = 0;
580
- const timer = setInterval(function(root) {
581
- if (root.Bokeh !== undefined) {
582
- clearInterval(timer);
583
- embed_document(root);
584
- } else {
585
- attempts++;
586
- if (attempts > 100) {
587
- clearInterval(timer);
588
- console.log("Bokeh: ERROR: Unable to run BokehJS code because BokehJS library is missing");
589
- }
590
- }
591
- }, 10, root)
592
- }
593
- })(window);
594
- </script>
595
- </div>
596
-
597
- </div>
598
-
599
- </div>
600
- </div>
601
-
602
- </div>
603
- <div class="cell border-box-sizing text_cell rendered"><div class="inner_cell">
604
- <div class="text_cell_render border-box-sizing rendered_html">
605
- <h3 id="Stacked-Bars">Stacked Bars<a class="anchor-link" href="#Stacked-Bars">&#182;</a></h3><p>It's often desirable to stack bars together. Bokeh makes this straightforward using the <code>vbar_stack</code> and <code>hbar_stack</code> methods. When passing data to one of these methods, the data source should have a series for each "row" in the stack. You will provide an ordered list of column names to stack together from the data source.</p>
606
- <p>In the example below, we see simulated data for fruit exports (positive values) and imports (negative values) stacked using two calls to <code>hbar_stack</code>. The values in the columns for each year are ordered according to the <code>fruits</code>, i.e. this is not a "tidy" data format.</p>
607
-
608
- </div>
609
- </div>
610
- </div>
611
-
612
-
613
-
614
- <div class="
615
- cell border-box-sizing code_cell rendered">
616
- <div class="input">
617
-
618
- <div class="inner_cell">
619
- <div class="input_area">
620
- <div class=" highlight hl-ipython3"><pre><span></span><span class="kn">from</span> <span class="nn">bokeh.palettes</span> <span class="kn">import</span> <span class="n">GnBu3</span><span class="p">,</span> <span class="n">OrRd3</span>
621
-
622
- <span class="n">years</span> <span class="o">=</span> <span class="p">[</span><span class="s1">&#39;2015&#39;</span><span class="p">,</span> <span class="s1">&#39;2016&#39;</span><span class="p">,</span> <span class="s1">&#39;2017&#39;</span><span class="p">]</span>
623
- <span class="n">exports</span> <span class="o">=</span> <span class="p">{</span><span class="s1">&#39;fruits&#39;</span> <span class="p">:</span> <span class="n">fruits</span><span class="p">,</span>
624
- <span class="s1">&#39;2015&#39;</span> <span class="p">:</span> <span class="p">[</span><span class="mi">2</span><span class="p">,</span> <span class="mi">1</span><span class="p">,</span> <span class="mi">4</span><span class="p">,</span> <span class="mi">3</span><span class="p">,</span> <span class="mi">2</span><span class="p">,</span> <span class="mi">4</span><span class="p">],</span>
625
- <span class="s1">&#39;2016&#39;</span> <span class="p">:</span> <span class="p">[</span><span class="mi">5</span><span class="p">,</span> <span class="mi">3</span><span class="p">,</span> <span class="mi">4</span><span class="p">,</span> <span class="mi">2</span><span class="p">,</span> <span class="mi">4</span><span class="p">,</span> <span class="mi">6</span><span class="p">],</span>
626
- <span class="s1">&#39;2017&#39;</span> <span class="p">:</span> <span class="p">[</span><span class="mi">3</span><span class="p">,</span> <span class="mi">2</span><span class="p">,</span> <span class="mi">4</span><span class="p">,</span> <span class="mi">4</span><span class="p">,</span> <span class="mi">5</span><span class="p">,</span> <span class="mi">3</span><span class="p">]}</span>
627
- <span class="n">imports</span> <span class="o">=</span> <span class="p">{</span><span class="s1">&#39;fruits&#39;</span> <span class="p">:</span> <span class="n">fruits</span><span class="p">,</span>
628
- <span class="s1">&#39;2015&#39;</span> <span class="p">:</span> <span class="p">[</span><span class="o">-</span><span class="mi">1</span><span class="p">,</span> <span class="mi">0</span><span class="p">,</span> <span class="o">-</span><span class="mi">1</span><span class="p">,</span> <span class="o">-</span><span class="mi">3</span><span class="p">,</span> <span class="o">-</span><span class="mi">2</span><span class="p">,</span> <span class="o">-</span><span class="mi">1</span><span class="p">],</span>
629
- <span class="s1">&#39;2016&#39;</span> <span class="p">:</span> <span class="p">[</span><span class="o">-</span><span class="mi">2</span><span class="p">,</span> <span class="o">-</span><span class="mi">1</span><span class="p">,</span> <span class="o">-</span><span class="mi">3</span><span class="p">,</span> <span class="o">-</span><span class="mi">1</span><span class="p">,</span> <span class="o">-</span><span class="mi">2</span><span class="p">,</span> <span class="o">-</span><span class="mi">2</span><span class="p">],</span>
630
- <span class="s1">&#39;2017&#39;</span> <span class="p">:</span> <span class="p">[</span><span class="o">-</span><span class="mi">1</span><span class="p">,</span> <span class="o">-</span><span class="mi">2</span><span class="p">,</span> <span class="o">-</span><span class="mi">1</span><span class="p">,</span> <span class="mi">0</span><span class="p">,</span> <span class="o">-</span><span class="mi">2</span><span class="p">,</span> <span class="o">-</span><span class="mi">2</span><span class="p">]}</span>
631
-
632
- <span class="n">p</span> <span class="o">=</span> <span class="n">figure</span><span class="p">(</span>
633
- <span class="n">plot_height</span><span class="o">=</span><span class="mi">400</span><span class="p">,</span>
634
- <span class="n">plot_width</span><span class="o">=</span><span class="mi">800</span><span class="p">,</span>
635
- <span class="n">y_range</span><span class="o">=</span><span class="n">fruits</span><span class="p">,</span>
636
- <span class="n">x_range</span><span class="o">=</span><span class="p">(</span><span class="o">-</span><span class="mi">16</span><span class="p">,</span> <span class="mi">16</span><span class="p">),</span>
637
- <span class="n">title</span><span class="o">=</span><span class="s2">&quot;Fruit import/export, by year&quot;</span>
638
- <span class="p">)</span>
639
-
640
- <span class="n">p</span><span class="o">.</span><span class="n">hbar_stack</span><span class="p">(</span>
641
- <span class="n">years</span><span class="p">,</span>
642
- <span class="n">y</span><span class="o">=</span><span class="s1">&#39;fruits&#39;</span><span class="p">,</span>
643
- <span class="n">height</span><span class="o">=</span><span class="mf">0.9</span><span class="p">,</span>
644
- <span class="n">color</span><span class="o">=</span><span class="n">GnBu3</span><span class="p">,</span>
645
- <span class="n">legend_label</span><span class="o">=</span><span class="p">[</span><span class="s2">&quot;</span><span class="si">%s</span><span class="s2"> exports&quot;</span> <span class="o">%</span> <span class="n">x</span> <span class="k">for</span> <span class="n">x</span> <span class="ow">in</span> <span class="n">years</span><span class="p">],</span>
646
- <span class="n">source</span><span class="o">=</span><span class="n">ColumnDataSource</span><span class="p">(</span><span class="n">exports</span><span class="p">)</span>
647
- <span class="p">)</span>
648
-
649
- <span class="n">p</span><span class="o">.</span><span class="n">hbar_stack</span><span class="p">(</span>
650
- <span class="n">years</span><span class="p">,</span>
651
- <span class="n">y</span><span class="o">=</span><span class="s1">&#39;fruits&#39;</span><span class="p">,</span>
652
- <span class="n">height</span><span class="o">=</span><span class="mf">0.9</span><span class="p">,</span>
653
- <span class="n">color</span><span class="o">=</span><span class="n">OrRd3</span><span class="p">,</span>
654
- <span class="n">legend_label</span><span class="o">=</span><span class="p">[</span><span class="s2">&quot;</span><span class="si">%s</span><span class="s2"> imports&quot;</span> <span class="o">%</span> <span class="n">x</span> <span class="k">for</span> <span class="n">x</span> <span class="ow">in</span> <span class="n">years</span><span class="p">],</span>
655
- <span class="n">source</span><span class="o">=</span><span class="n">ColumnDataSource</span><span class="p">(</span><span class="n">imports</span><span class="p">)</span>
656
- <span class="p">)</span>
657
-
658
- <span class="n">p</span><span class="o">.</span><span class="n">y_range</span><span class="o">.</span><span class="n">range_padding</span> <span class="o">=</span> <span class="mf">0.1</span>
659
- <span class="n">p</span><span class="o">.</span><span class="n">ygrid</span><span class="o">.</span><span class="n">grid_line_color</span> <span class="o">=</span> <span class="kc">None</span>
660
- <span class="n">p</span><span class="o">.</span><span class="n">legend</span><span class="o">.</span><span class="n">location</span> <span class="o">=</span> <span class="s2">&quot;center_left&quot;</span>
661
-
662
- <span class="c1"># show the results</span>
663
- <span class="n">show</span><span class="p">(</span><span class="n">p</span><span class="p">)</span>
664
- </pre></div>
665
-
666
- </div>
667
- </div>
668
- </div>
669
-
670
- <div class="output_wrapper">
671
- <div class="output">
672
-
673
-
674
- <div class="output_area">
675
-
676
-
677
-
678
-
679
- <div class="output_html rendered_html output_subarea ">
680
-
681
- <div class="bk-root" id="6c68f943-2315-4fdd-8976-d7ae6b9d8dbf" data-root-id="1222"></div>
682
-
683
- </div>
684
-
685
- </div>
686
-
687
- <div class="output_area">
688
-
689
-
690
-
691
-
692
-
693
-
694
- <div id="677b5670-d184-4b91-a7c5-38b34656b9e7"></div>
695
- <div class="output_subarea output_javascript ">
696
- <script type="text/javascript">
697
- var element = $('#677b5670-d184-4b91-a7c5-38b34656b9e7');
698
- (function(root) {
699
- function embed_document(root) {
700
- const docs_json = {"caa131b0-8413-4d08-a67f-f981e71d897d":{"defs":[],"roots":{"references":[{"attributes":{"below":[{"id":"1233"}],"center":[{"id":"1236"},{"id":"1239"},{"id":"1277"}],"height":400,"left":[{"id":"1237"}],"renderers":[{"id":"1265"},{"id":"1283"},{"id":"1300"},{"id":"1324"},{"id":"1343"},{"id":"1362"}],"title":{"id":"1223"},"toolbar":{"id":"1247"},"width":800,"x_range":{"id":"1225"},"x_scale":{"id":"1229"},"y_range":{"id":"1227"},"y_scale":{"id":"1231"}},"id":"1222","subtype":"Figure","type":"Plot"},{"attributes":{},"id":"1240","type":"PanTool"},{"attributes":{},"id":"1244","type":"ResetTool"},{"attributes":{},"id":"1241","type":"WheelZoomTool"},{"attributes":{"overlay":{"id":"1246"}},"id":"1242","type":"BoxZoomTool"},{"attributes":{},"id":"1243","type":"SaveTool"},{"attributes":{},"id":"1245","type":"HelpTool"},{"attributes":{"source":{"id":"1254"}},"id":"1266","type":"CDSView"},{"attributes":{"tools":[{"id":"1240"},{"id":"1241"},{"id":"1242"},{"id":"1243"},{"id":"1244"},{"id":"1245"}]},"id":"1247","type":"Toolbar"},{"attributes":{"bottom_units":"screen","coordinates":null,"fill_alpha":0.5,"fill_color":"lightgrey","group":null,"left_units":"screen","level":"overlay","line_alpha":1.0,"line_color":"black","line_dash":[4,4],"line_width":2,"right_units":"screen","syncable":false,"top_units":"screen"},"id":"1246","type":"BoxAnnotation"},{"attributes":{"fields":["2015"]},"id":"1257","type":"Stack"},{"attributes":{"fields":[]},"id":"1255","type":"Stack"},{"attributes":{"fields":["2015"]},"id":"1256","type":"Stack"},{"attributes":{"fields":["2015","2016"]},"id":"1259","type":"Stack"},{"attributes":{"fields":["2015","2016"]},"id":"1258","type":"Stack"},{"attributes":{"fields":["2015","2016","2017"]},"id":"1260","type":"Stack"},{"attributes":{"fill_alpha":{"value":0.1},"fill_color":{"value":"#43a2ca"},"hatch_alpha":{"value":0.1},"hatch_color":{"value":"#43a2ca"},"height":{"value":0.9},"left":{"expr":{"id":"1255"}},"line_alpha":{"value":0.1},"line_color":{"value":"#43a2ca"},"right":{"expr":{"id":"1256"}},"y":{"field":"fruits"}},"id":"1263","type":"HBar"},{"attributes":{},"id":"1269","type":"CategoricalTickFormatter"},{"attributes":{"fill_alpha":{"value":0.2},"fill_color":{"value":"#43a2ca"},"hatch_alpha":{"value":0.2},"hatch_color":{"value":"#43a2ca"},"height":{"value":0.9},"left":{"expr":{"id":"1255"}},"line_alpha":{"value":0.2},"line_color":{"value":"#43a2ca"},"right":{"expr":{"id":"1256"}},"y":{"field":"fruits"}},"id":"1264","type":"HBar"},{"attributes":{"coordinates":null,"data_source":{"id":"1254"},"glyph":{"id":"1262"},"group":null,"hover_glyph":null,"muted_glyph":{"id":"1264"},"name":"2015","nonselection_glyph":{"id":"1263"},"view":{"id":"1266"}},"id":"1265","type":"GlyphRenderer"},{"attributes":{"fill_color":{"value":"#43a2ca"},"hatch_color":{"value":"#43a2ca"},"height":{"value":0.9},"left":{"expr":{"id":"1255"}},"line_color":{"value":"#43a2ca"},"right":{"expr":{"id":"1256"}},"y":{"field":"fruits"}},"id":"1262","type":"HBar"},{"attributes":{"fill_alpha":{"value":0.2},"fill_color":{"value":"#fee8c8"},"hatch_alpha":{"value":0.2},"hatch_color":{"value":"#fee8c8"},"height":{"value":0.9},"left":{"expr":{"id":"1318"}},"line_alpha":{"value":0.2},"line_color":{"value":"#fee8c8"},"right":{"expr":{"id":"1319"}},"y":{"field":"fruits"}},"id":"1361","type":"HBar"},{"attributes":{"fill_alpha":{"value":0.1},"fill_color":{"value":"#fee8c8"},"hatch_alpha":{"value":0.1},"hatch_color":{"value":"#fee8c8"},"height":{"value":0.9},"left":{"expr":{"id":"1318"}},"line_alpha":{"value":0.1},"line_color":{"value":"#fee8c8"},"right":{"expr":{"id":"1319"}},"y":{"field":"fruits"}},"id":"1360","type":"HBar"},{"attributes":{},"id":"1270","type":"AllLabels"},{"attributes":{"coordinates":null,"data_source":{"id":"1313"},"glyph":{"id":"1359"},"group":null,"hover_glyph":null,"muted_glyph":{"id":"1361"},"name":"2017","nonselection_glyph":{"id":"1360"},"view":{"id":"1363"}},"id":"1362","type":"GlyphRenderer"},{"attributes":{},"id":"1273","type":"AllLabels"},{"attributes":{"fields":[]},"id":"1314","type":"Stack"},{"attributes":{"source":{"id":"1313"}},"id":"1363","type":"CDSView"},{"attributes":{"fields":["2015"]},"id":"1316","type":"Stack"},{"attributes":{},"id":"1274","type":"UnionRenderers"},{"attributes":{"fields":["2015"]},"id":"1315","type":"Stack"},{"attributes":{},"id":"1272","type":"BasicTickFormatter"},{"attributes":{"label":{"value":"2017 imports"},"renderers":[{"id":"1362"}]},"id":"1376","type":"LegendItem"},{"attributes":{"fields":["2015","2016"]},"id":"1318","type":"Stack"},{"attributes":{},"id":"1275","type":"Selection"},{"attributes":{"fields":["2015","2016"]},"id":"1317","type":"Stack"},{"attributes":{"coordinates":null,"group":null,"items":[{"id":"1278"},{"id":"1295"},{"id":"1312"},{"id":"1338"},{"id":"1357"},{"id":"1376"}],"location":"center_left"},"id":"1277","type":"Legend"},{"attributes":{"fields":["2015","2016","2017"]},"id":"1319","type":"Stack"},{"attributes":{"source":{"id":"1313"}},"id":"1325","type":"CDSView"},{"attributes":{"label":{"value":"2015 exports"},"renderers":[{"id":"1265"}]},"id":"1278","type":"LegendItem"},{"attributes":{"coordinates":null,"data_source":{"id":"1313"},"glyph":{"id":"1321"},"group":null,"hover_glyph":null,"muted_glyph":{"id":"1323"},"name":"2015","nonselection_glyph":{"id":"1322"},"view":{"id":"1325"}},"id":"1324","type":"GlyphRenderer"},{"attributes":{"coordinates":null,"data_source":{"id":"1254"},"glyph":{"id":"1280"},"group":null,"hover_glyph":null,"muted_glyph":{"id":"1282"},"name":"2016","nonselection_glyph":{"id":"1281"},"view":{"id":"1284"}},"id":"1283","type":"GlyphRenderer"},{"attributes":{"fill_color":{"value":"#e34a33"},"hatch_color":{"value":"#e34a33"},"height":{"value":0.9},"left":{"expr":{"id":"1314"}},"line_color":{"value":"#e34a33"},"right":{"expr":{"id":"1315"}},"y":{"field":"fruits"}},"id":"1321","type":"HBar"},{"attributes":{"fill_alpha":{"value":0.1},"fill_color":{"value":"#e34a33"},"hatch_alpha":{"value":0.1},"hatch_color":{"value":"#e34a33"},"height":{"value":0.9},"left":{"expr":{"id":"1314"}},"line_alpha":{"value":0.1},"line_color":{"value":"#e34a33"},"right":{"expr":{"id":"1315"}},"y":{"field":"fruits"}},"id":"1322","type":"HBar"},{"attributes":{"data":{"2015":[2,1,4,3,2,4],"2016":[5,3,4,2,4,6],"2017":[3,2,4,4,5,3],"fruits":["Apples","Pears","Nectarines","Plums","Grapes","Strawberries"]},"selected":{"id":"1275"},"selection_policy":{"id":"1274"}},"id":"1254","type":"ColumnDataSource"},{"attributes":{"fill_color":{"value":"#a8ddb5"},"hatch_color":{"value":"#a8ddb5"},"height":{"value":0.9},"left":{"expr":{"id":"1257"}},"line_color":{"value":"#a8ddb5"},"right":{"expr":{"id":"1258"}},"y":{"field":"fruits"}},"id":"1280","type":"HBar"},{"attributes":{"fill_alpha":{"value":0.2},"fill_color":{"value":"#a8ddb5"},"hatch_alpha":{"value":0.2},"hatch_color":{"value":"#a8ddb5"},"height":{"value":0.9},"left":{"expr":{"id":"1257"}},"line_alpha":{"value":0.2},"line_color":{"value":"#a8ddb5"},"right":{"expr":{"id":"1258"}},"y":{"field":"fruits"}},"id":"1282","type":"HBar"},{"attributes":{"fill_alpha":{"value":0.1},"fill_color":{"value":"#a8ddb5"},"hatch_alpha":{"value":0.1},"hatch_color":{"value":"#a8ddb5"},"height":{"value":0.9},"left":{"expr":{"id":"1257"}},"line_alpha":{"value":0.1},"line_color":{"value":"#a8ddb5"},"right":{"expr":{"id":"1258"}},"y":{"field":"fruits"}},"id":"1281","type":"HBar"},{"attributes":{"factors":["Apples","Pears","Nectarines","Plums","Grapes","Strawberries"],"range_padding":0.1},"id":"1227","type":"FactorRange"},{"attributes":{"fill_alpha":{"value":0.2},"fill_color":{"value":"#e34a33"},"hatch_alpha":{"value":0.2},"hatch_color":{"value":"#e34a33"},"height":{"value":0.9},"left":{"expr":{"id":"1314"}},"line_alpha":{"value":0.2},"line_color":{"value":"#e34a33"},"right":{"expr":{"id":"1315"}},"y":{"field":"fruits"}},"id":"1323","type":"HBar"},{"attributes":{"source":{"id":"1254"}},"id":"1284","type":"CDSView"},{"attributes":{},"id":"1336","type":"Selection"},{"attributes":{},"id":"1335","type":"UnionRenderers"},{"attributes":{"end":16,"start":-16},"id":"1225","type":"Range1d"},{"attributes":{"label":{"value":"2015 imports"},"renderers":[{"id":"1324"}]},"id":"1338","type":"LegendItem"},{"attributes":{"coordinates":null,"group":null,"text":"Fruit import/export, by year"},"id":"1223","type":"Title"},{"attributes":{"source":{"id":"1313"}},"id":"1344","type":"CDSView"},{"attributes":{"coordinates":null,"data_source":{"id":"1313"},"glyph":{"id":"1340"},"group":null,"hover_glyph":null,"muted_glyph":{"id":"1342"},"name":"2016","nonselection_glyph":{"id":"1341"},"view":{"id":"1344"}},"id":"1343","type":"GlyphRenderer"},{"attributes":{"label":{"value":"2016 exports"},"renderers":[{"id":"1283"}]},"id":"1295","type":"LegendItem"},{"attributes":{},"id":"1234","type":"BasicTicker"},{"attributes":{"source":{"id":"1254"}},"id":"1301","type":"CDSView"},{"attributes":{"coordinates":null,"data_source":{"id":"1254"},"glyph":{"id":"1297"},"group":null,"hover_glyph":null,"muted_glyph":{"id":"1299"},"name":"2017","nonselection_glyph":{"id":"1298"},"view":{"id":"1301"}},"id":"1300","type":"GlyphRenderer"},{"attributes":{},"id":"1229","type":"LinearScale"},{"attributes":{"fill_color":{"value":"#fdbb84"},"hatch_color":{"value":"#fdbb84"},"height":{"value":0.9},"left":{"expr":{"id":"1316"}},"line_color":{"value":"#fdbb84"},"right":{"expr":{"id":"1317"}},"y":{"field":"fruits"}},"id":"1340","type":"HBar"},{"attributes":{"label":{"value":"2017 exports"},"renderers":[{"id":"1300"}]},"id":"1312","type":"LegendItem"},{"attributes":{},"id":"1231","type":"CategoricalScale"},{"attributes":{"axis":{"id":"1237"},"coordinates":null,"dimension":1,"grid_line_color":null,"group":null,"ticker":null},"id":"1239","type":"Grid"},{"attributes":{"fill_alpha":{"value":0.1},"fill_color":{"value":"#fdbb84"},"hatch_alpha":{"value":0.1},"hatch_color":{"value":"#fdbb84"},"height":{"value":0.9},"left":{"expr":{"id":"1316"}},"line_alpha":{"value":0.1},"line_color":{"value":"#fdbb84"},"right":{"expr":{"id":"1317"}},"y":{"field":"fruits"}},"id":"1341","type":"HBar"},{"attributes":{"coordinates":null,"formatter":{"id":"1272"},"group":null,"major_label_policy":{"id":"1273"},"ticker":{"id":"1234"}},"id":"1233","type":"LinearAxis"},{"attributes":{"fill_color":{"value":"#e0f3db"},"hatch_color":{"value":"#e0f3db"},"height":{"value":0.9},"left":{"expr":{"id":"1259"}},"line_color":{"value":"#e0f3db"},"right":{"expr":{"id":"1260"}},"y":{"field":"fruits"}},"id":"1297","type":"HBar"},{"attributes":{"axis":{"id":"1233"},"coordinates":null,"group":null,"ticker":null},"id":"1236","type":"Grid"},{"attributes":{"fill_alpha":{"value":0.1},"fill_color":{"value":"#e0f3db"},"hatch_alpha":{"value":0.1},"hatch_color":{"value":"#e0f3db"},"height":{"value":0.9},"left":{"expr":{"id":"1259"}},"line_alpha":{"value":0.1},"line_color":{"value":"#e0f3db"},"right":{"expr":{"id":"1260"}},"y":{"field":"fruits"}},"id":"1298","type":"HBar"},{"attributes":{},"id":"1238","type":"CategoricalTicker"},{"attributes":{"coordinates":null,"formatter":{"id":"1269"},"group":null,"major_label_policy":{"id":"1270"},"ticker":{"id":"1238"}},"id":"1237","type":"CategoricalAxis"},{"attributes":{"fill_alpha":{"value":0.2},"fill_color":{"value":"#fdbb84"},"hatch_alpha":{"value":0.2},"hatch_color":{"value":"#fdbb84"},"height":{"value":0.9},"left":{"expr":{"id":"1316"}},"line_alpha":{"value":0.2},"line_color":{"value":"#fdbb84"},"right":{"expr":{"id":"1317"}},"y":{"field":"fruits"}},"id":"1342","type":"HBar"},{"attributes":{"label":{"value":"2016 imports"},"renderers":[{"id":"1343"}]},"id":"1357","type":"LegendItem"},{"attributes":{"fill_alpha":{"value":0.2},"fill_color":{"value":"#e0f3db"},"hatch_alpha":{"value":0.2},"hatch_color":{"value":"#e0f3db"},"height":{"value":0.9},"left":{"expr":{"id":"1259"}},"line_alpha":{"value":0.2},"line_color":{"value":"#e0f3db"},"right":{"expr":{"id":"1260"}},"y":{"field":"fruits"}},"id":"1299","type":"HBar"},{"attributes":{"fill_color":{"value":"#fee8c8"},"hatch_color":{"value":"#fee8c8"},"height":{"value":0.9},"left":{"expr":{"id":"1318"}},"line_color":{"value":"#fee8c8"},"right":{"expr":{"id":"1319"}},"y":{"field":"fruits"}},"id":"1359","type":"HBar"},{"attributes":{"data":{"2015":[-1,0,-1,-3,-2,-1],"2016":[-2,-1,-3,-1,-2,-2],"2017":[-1,-2,-1,0,-2,-2],"fruits":["Apples","Pears","Nectarines","Plums","Grapes","Strawberries"]},"selected":{"id":"1336"},"selection_policy":{"id":"1335"}},"id":"1313","type":"ColumnDataSource"}],"root_ids":["1222"]},"title":"Bokeh Application","version":"2.4.3"}};
701
- const render_items = [{"docid":"caa131b0-8413-4d08-a67f-f981e71d897d","root_ids":["1222"],"roots":{"1222":"6c68f943-2315-4fdd-8976-d7ae6b9d8dbf"}}];
702
- root.Bokeh.embed.embed_items_notebook(docs_json, render_items);
703
- }
704
- if (root.Bokeh !== undefined) {
705
- embed_document(root);
706
- } else {
707
- let attempts = 0;
708
- const timer = setInterval(function(root) {
709
- if (root.Bokeh !== undefined) {
710
- clearInterval(timer);
711
- embed_document(root);
712
- } else {
713
- attempts++;
714
- if (attempts > 100) {
715
- clearInterval(timer);
716
- console.log("Bokeh: ERROR: Unable to run BokehJS code because BokehJS library is missing");
717
- }
718
- }
719
- }, 10, root)
720
- }
721
- })(window);
722
- </script>
723
- </div>
724
-
725
- </div>
726
-
727
- </div>
728
- </div>
729
-
730
- </div>
731
- <div class="cell border-box-sizing text_cell rendered"><div class="inner_cell">
732
- <div class="text_cell_render border-box-sizing rendered_html">
733
- <p>Notice we also added some padding <em>around</em> the categorical range (e.g. at both ends of the axis) by specifying</p>
734
- <div class="highlight"><pre><span></span><span class="n">p</span><span class="o">.</span><span class="n">y_range</span><span class="o">.</span><span class="n">range_padding</span> <span class="o">=</span> <span class="mf">0.1</span>
735
- </pre></div>
736
-
737
- </div>
738
- </div>
739
- </div>
740
- <div class="cell border-box-sizing text_cell rendered"><div class="inner_cell">
741
- <div class="text_cell_render border-box-sizing rendered_html">
742
- <h3 id="Grouped-Bar-Charts">Grouped Bar Charts<a class="anchor-link" href="#Grouped-Bar-Charts">&#182;</a></h3><p>Sometimes we want to group bars together, instead of stacking them. Bokeh can handle up to three levels of nested (hierarchical) categories, and will automatically group output according to the outermost level. To specify nested categorical coordinates, the columns of the data source should contain tuples, for example:</p>
743
- <div class="highlight"><pre><span></span><span class="n">x</span> <span class="o">=</span> <span class="p">[</span> <span class="p">(</span><span class="s2">&quot;Apples&quot;</span><span class="p">,</span> <span class="s2">&quot;2015&quot;</span><span class="p">),</span> <span class="p">(</span><span class="s2">&quot;Apples&quot;</span><span class="p">,</span> <span class="s2">&quot;2016&quot;</span><span class="p">),</span> <span class="p">(</span><span class="s2">&quot;Apples&quot;</span><span class="p">,</span> <span class="s2">&quot;2017&quot;</span><span class="p">),</span> <span class="p">(</span><span class="s2">&quot;Pears&quot;</span><span class="p">,</span> <span class="s2">&quot;2015), ... ]</span>
744
- </pre></div>
745
- <p>Values in other columns correspond to each item in <code>x</code>, exactly as in other cases. When plotting with these kinds of nested coordinates, we must tell Bokeh the contents and order the axis range, by explicitly passing a <code>FactorRange</code> to <code>figure</code>. In the example below, this is seen as</p>
746
- <div class="highlight"><pre><span></span><span class="n">p</span> <span class="o">=</span> <span class="n">figure</span><span class="p">(</span><span class="n">x_range</span><span class="o">=</span><span class="n">FactorRange</span><span class="p">(</span><span class="o">*</span><span class="n">x</span><span class="p">),</span> <span class="o">....</span><span class="p">)</span>
747
- </pre></div>
748
-
749
- </div>
750
- </div>
751
- </div>
752
-
753
-
754
-
755
- <div class="
756
- cell border-box-sizing code_cell rendered">
757
- <div class="input">
758
-
759
- <div class="inner_cell">
760
- <div class="input_area">
761
- <div class=" highlight hl-ipython3"><pre><span></span><span class="kn">from</span> <span class="nn">bokeh.models</span> <span class="kn">import</span> <span class="n">FactorRange</span>
762
-
763
- <span class="n">fruits</span> <span class="o">=</span> <span class="p">[</span><span class="s1">&#39;Apples&#39;</span><span class="p">,</span> <span class="s1">&#39;Pears&#39;</span><span class="p">,</span> <span class="s1">&#39;Nectarines&#39;</span><span class="p">,</span> <span class="s1">&#39;Plums&#39;</span><span class="p">,</span> <span class="s1">&#39;Grapes&#39;</span><span class="p">,</span> <span class="s1">&#39;Strawberries&#39;</span><span class="p">]</span>
764
- <span class="n">years</span> <span class="o">=</span> <span class="p">[</span><span class="s1">&#39;2015&#39;</span><span class="p">,</span> <span class="s1">&#39;2016&#39;</span><span class="p">,</span> <span class="s1">&#39;2017&#39;</span><span class="p">]</span>
765
- <span class="n">data</span> <span class="o">=</span> <span class="p">{</span><span class="s1">&#39;fruits&#39;</span> <span class="p">:</span> <span class="n">fruits</span><span class="p">,</span>
766
- <span class="s1">&#39;2015&#39;</span> <span class="p">:</span> <span class="p">[</span><span class="mi">2</span><span class="p">,</span> <span class="mi">1</span><span class="p">,</span> <span class="mi">4</span><span class="p">,</span> <span class="mi">3</span><span class="p">,</span> <span class="mi">2</span><span class="p">,</span> <span class="mi">4</span><span class="p">],</span>
767
- <span class="s1">&#39;2016&#39;</span> <span class="p">:</span> <span class="p">[</span><span class="mi">5</span><span class="p">,</span> <span class="mi">3</span><span class="p">,</span> <span class="mi">3</span><span class="p">,</span> <span class="mi">2</span><span class="p">,</span> <span class="mi">4</span><span class="p">,</span> <span class="mi">6</span><span class="p">],</span>
768
- <span class="s1">&#39;2017&#39;</span> <span class="p">:</span> <span class="p">[</span><span class="mi">3</span><span class="p">,</span> <span class="mi">2</span><span class="p">,</span> <span class="mi">4</span><span class="p">,</span> <span class="mi">4</span><span class="p">,</span> <span class="mi">5</span><span class="p">,</span> <span class="mi">3</span><span class="p">]}</span>
769
-
770
- <span class="c1"># this creates [ (&quot;Apples&quot;, &quot;2015&quot;), (&quot;Apples&quot;, &quot;2016&quot;), (&quot;Apples&quot;, &quot;2017&quot;), (&quot;Pears&quot;, &quot;2015), ... ]</span>
771
- <span class="n">x</span> <span class="o">=</span> <span class="p">[</span> <span class="p">(</span><span class="n">fruit</span><span class="p">,</span> <span class="n">year</span><span class="p">)</span> <span class="k">for</span> <span class="n">fruit</span> <span class="ow">in</span> <span class="n">fruits</span> <span class="k">for</span> <span class="n">year</span> <span class="ow">in</span> <span class="n">years</span> <span class="p">]</span>
772
-
773
- <span class="c1"># like an hstack</span>
774
- <span class="n">counts</span> <span class="o">=</span> <span class="nb">sum</span><span class="p">(</span>
775
- <span class="nb">zip</span><span class="p">(</span><span class="n">data</span><span class="p">[</span><span class="s1">&#39;2015&#39;</span><span class="p">],</span>
776
- <span class="n">data</span><span class="p">[</span><span class="s1">&#39;2016&#39;</span><span class="p">],</span>
777
- <span class="n">data</span><span class="p">[</span><span class="s1">&#39;2017&#39;</span><span class="p">]),</span>
778
- <span class="p">()</span>
779
- <span class="p">)</span>
780
-
781
- <span class="n">source</span> <span class="o">=</span> <span class="n">ColumnDataSource</span><span class="p">(</span>
782
- <span class="n">data</span><span class="o">=</span><span class="nb">dict</span><span class="p">(</span>
783
- <span class="n">x</span><span class="o">=</span><span class="n">x</span><span class="p">,</span>
784
- <span class="n">counts</span><span class="o">=</span><span class="n">counts</span>
785
- <span class="p">)</span>
786
- <span class="p">)</span>
787
-
788
- <span class="n">p</span> <span class="o">=</span> <span class="n">figure</span><span class="p">(</span>
789
- <span class="n">plot_height</span><span class="o">=</span><span class="mi">400</span><span class="p">,</span>
790
- <span class="n">plot_width</span><span class="o">=</span><span class="mi">800</span><span class="p">,</span>
791
- <span class="n">x_range</span><span class="o">=</span><span class="n">FactorRange</span><span class="p">(</span><span class="o">*</span><span class="n">x</span><span class="p">),</span>
792
- <span class="n">title</span><span class="o">=</span><span class="s2">&quot;Fruit Counts by Year&quot;</span>
793
- <span class="p">)</span>
794
-
795
- <span class="n">p</span><span class="o">.</span><span class="n">vbar</span><span class="p">(</span>
796
- <span class="n">x</span><span class="o">=</span><span class="s1">&#39;x&#39;</span><span class="p">,</span>
797
- <span class="n">top</span><span class="o">=</span><span class="s1">&#39;counts&#39;</span><span class="p">,</span>
798
- <span class="n">width</span><span class="o">=</span><span class="mf">0.9</span><span class="p">,</span>
799
- <span class="n">source</span><span class="o">=</span><span class="n">source</span>
800
- <span class="p">)</span>
801
-
802
- <span class="n">p</span><span class="o">.</span><span class="n">y_range</span><span class="o">.</span><span class="n">start</span> <span class="o">=</span> <span class="mi">0</span>
803
- <span class="n">p</span><span class="o">.</span><span class="n">x_range</span><span class="o">.</span><span class="n">range_padding</span> <span class="o">=</span> <span class="mf">0.1</span>
804
- <span class="n">p</span><span class="o">.</span><span class="n">xaxis</span><span class="o">.</span><span class="n">major_label_orientation</span> <span class="o">=</span> <span class="mi">1</span>
805
- <span class="n">p</span><span class="o">.</span><span class="n">xgrid</span><span class="o">.</span><span class="n">grid_line_color</span> <span class="o">=</span> <span class="kc">None</span>
806
-
807
- <span class="c1"># show the results</span>
808
- <span class="n">show</span><span class="p">(</span><span class="n">p</span><span class="p">)</span>
809
- </pre></div>
810
-
811
- </div>
812
- </div>
813
- </div>
814
-
815
- <div class="output_wrapper">
816
- <div class="output">
817
-
818
-
819
- <div class="output_area">
820
-
821
-
822
-
823
-
824
- <div class="output_html rendered_html output_subarea ">
825
-
826
- <div class="bk-root" id="9ce3b536-299f-4034-a659-d4bf83afc407" data-root-id="1471"></div>
827
-
828
- </div>
829
-
830
- </div>
831
-
832
- <div class="output_area">
833
-
834
-
835
-
836
-
837
-
838
-
839
- <div id="cd2092af-bceb-4400-b69c-4df648a14de4"></div>
840
- <div class="output_subarea output_javascript ">
841
- <script type="text/javascript">
842
- var element = $('#cd2092af-bceb-4400-b69c-4df648a14de4');
843
- (function(root) {
844
- function embed_document(root) {
845
- const docs_json = {"3a7f931e-14db-4860-8918-446cbecee634":{"defs":[],"roots":{"references":[{"attributes":{"below":[{"id":"1481"}],"center":[{"id":"1483"},{"id":"1487"}],"height":400,"left":[{"id":"1484"}],"renderers":[{"id":"1506"}],"title":{"id":"1472"},"toolbar":{"id":"1495"},"width":800,"x_range":{"id":"1470"},"x_scale":{"id":"1477"},"y_range":{"id":"1475"},"y_scale":{"id":"1479"}},"id":"1471","subtype":"Figure","type":"Plot"},{"attributes":{"bottom_units":"screen","coordinates":null,"fill_alpha":0.5,"fill_color":"lightgrey","group":null,"left_units":"screen","level":"overlay","line_alpha":1.0,"line_color":"black","line_dash":[4,4],"line_width":2,"right_units":"screen","syncable":false,"top_units":"screen"},"id":"1494","type":"BoxAnnotation"},{"attributes":{"source":{"id":"1469"}},"id":"1507","type":"CDSView"},{"attributes":{"axis":{"id":"1481"},"coordinates":null,"grid_line_color":null,"group":null,"ticker":null},"id":"1483","type":"Grid"},{"attributes":{},"id":"1485","type":"BasicTicker"},{"attributes":{"coordinates":null,"formatter":{"id":"1542"},"group":null,"major_label_policy":{"id":"1543"},"ticker":{"id":"1485"}},"id":"1484","type":"LinearAxis"},{"attributes":{"coordinates":null,"data_source":{"id":"1469"},"glyph":{"id":"1503"},"group":null,"hover_glyph":null,"muted_glyph":{"id":"1505"},"nonselection_glyph":{"id":"1504"},"view":{"id":"1507"}},"id":"1506","type":"GlyphRenderer"},{"attributes":{"data":{"counts":[2,5,3,1,3,2,4,3,4,3,2,4,2,4,5,4,6,3],"x":[["Apples","2015"],["Apples","2016"],["Apples","2017"],["Pears","2015"],["Pears","2016"],["Pears","2017"],["Nectarines","2015"],["Nectarines","2016"],["Nectarines","2017"],["Plums","2015"],["Plums","2016"],["Plums","2017"],["Grapes","2015"],["Grapes","2016"],["Grapes","2017"],["Strawberries","2015"],["Strawberries","2016"],["Strawberries","2017"]]},"selected":{"id":"1548"},"selection_policy":{"id":"1547"}},"id":"1469","type":"ColumnDataSource"},{"attributes":{},"id":"1542","type":"BasicTickFormatter"},{"attributes":{"factors":[["Apples","2015"],["Apples","2016"],["Apples","2017"],["Pears","2015"],["Pears","2016"],["Pears","2017"],["Nectarines","2015"],["Nectarines","2016"],["Nectarines","2017"],["Plums","2015"],["Plums","2016"],["Plums","2017"],["Grapes","2015"],["Grapes","2016"],["Grapes","2017"],["Strawberries","2015"],["Strawberries","2016"],["Strawberries","2017"]],"range_padding":0.1},"id":"1470","type":"FactorRange"},{"attributes":{"axis":{"id":"1484"},"coordinates":null,"dimension":1,"group":null,"ticker":null},"id":"1487","type":"Grid"},{"attributes":{},"id":"1545","type":"CategoricalTickFormatter"},{"attributes":{"fill_alpha":{"value":0.2},"fill_color":{"value":"#1f77b4"},"hatch_alpha":{"value":0.2},"line_alpha":{"value":0.2},"line_color":{"value":"#1f77b4"},"top":{"field":"counts"},"width":{"value":0.9},"x":{"field":"x"}},"id":"1505","type":"VBar"},{"attributes":{},"id":"1543","type":"AllLabels"},{"attributes":{"fill_color":{"value":"#1f77b4"},"line_color":{"value":"#1f77b4"},"top":{"field":"counts"},"width":{"value":0.9},"x":{"field":"x"}},"id":"1503","type":"VBar"},{"attributes":{},"id":"1482","type":"CategoricalTicker"},{"attributes":{},"id":"1546","type":"AllLabels"},{"attributes":{},"id":"1547","type":"UnionRenderers"},{"attributes":{},"id":"1488","type":"PanTool"},{"attributes":{},"id":"1548","type":"Selection"},{"attributes":{"start":0},"id":"1475","type":"DataRange1d"},{"attributes":{},"id":"1492","type":"ResetTool"},{"attributes":{},"id":"1489","type":"WheelZoomTool"},{"attributes":{"coordinates":null,"group":null,"text":"Fruit Counts by Year"},"id":"1472","type":"Title"},{"attributes":{"overlay":{"id":"1494"}},"id":"1490","type":"BoxZoomTool"},{"attributes":{"tools":[{"id":"1488"},{"id":"1489"},{"id":"1490"},{"id":"1491"},{"id":"1492"},{"id":"1493"}]},"id":"1495","type":"Toolbar"},{"attributes":{"coordinates":null,"formatter":{"id":"1545"},"group":null,"major_label_orientation":1,"major_label_policy":{"id":"1546"},"ticker":{"id":"1482"}},"id":"1481","type":"CategoricalAxis"},{"attributes":{},"id":"1491","type":"SaveTool"},{"attributes":{"fill_alpha":{"value":0.1},"fill_color":{"value":"#1f77b4"},"hatch_alpha":{"value":0.1},"line_alpha":{"value":0.1},"line_color":{"value":"#1f77b4"},"top":{"field":"counts"},"width":{"value":0.9},"x":{"field":"x"}},"id":"1504","type":"VBar"},{"attributes":{},"id":"1477","type":"CategoricalScale"},{"attributes":{},"id":"1493","type":"HelpTool"},{"attributes":{},"id":"1479","type":"LinearScale"}],"root_ids":["1471"]},"title":"Bokeh Application","version":"2.4.3"}};
846
- const render_items = [{"docid":"3a7f931e-14db-4860-8918-446cbecee634","root_ids":["1471"],"roots":{"1471":"9ce3b536-299f-4034-a659-d4bf83afc407"}}];
847
- root.Bokeh.embed.embed_items_notebook(docs_json, render_items);
848
- }
849
- if (root.Bokeh !== undefined) {
850
- embed_document(root);
851
- } else {
852
- let attempts = 0;
853
- const timer = setInterval(function(root) {
854
- if (root.Bokeh !== undefined) {
855
- clearInterval(timer);
856
- embed_document(root);
857
- } else {
858
- attempts++;
859
- if (attempts > 100) {
860
- clearInterval(timer);
861
- console.log("Bokeh: ERROR: Unable to run BokehJS code because BokehJS library is missing");
862
- }
863
- }
864
- }, 10, root)
865
- }
866
- })(window);
867
- </script>
868
- </div>
869
-
870
- </div>
871
-
872
- </div>
873
- </div>
874
-
875
- </div>
876
- <div class="cell border-box-sizing text_cell rendered"><div class="inner_cell">
877
- <div class="text_cell_render border-box-sizing rendered_html">
878
- <p>Another way we can set the color of the bars is to use a transform. We first saw some transforms in previous chapter <strong>Data Sources and Transformations</strong>. Here we use a new one <code>factor_cmap</code> that accepts a the name of a column to use for colormapping, as well as the palette and factors that define the color mapping.</p>
879
- <p>Additionally we can configure it to map just the sub-factors if desired. For instance in this case we don't want shade each <code>(fruit, year)</code> pair differently. Instead, we want to only shade based on the <code>year</code>. So we pass <code>start=1</code> and <code>end=2</code> to specify the slice range of each factor to use when colormapping. Then we pass the result as the <code>fill_color</code> value:</p>
880
- <div class="highlight"><pre><span></span><span class="n">fill_color</span><span class="o">=</span><span class="n">factor_cmap</span><span class="p">(</span><span class="s1">&#39;x&#39;</span><span class="p">,</span> <span class="n">palette</span><span class="o">=</span><span class="p">[</span><span class="s1">&#39;firebrick&#39;</span><span class="p">,</span> <span class="s1">&#39;olive&#39;</span><span class="p">,</span> <span class="s1">&#39;navy&#39;</span><span class="p">],</span> <span class="n">factors</span><span class="o">=</span><span class="n">years</span><span class="p">,</span> <span class="n">start</span><span class="o">=</span><span class="mi">1</span><span class="p">,</span> <span class="n">end</span><span class="o">=</span><span class="mi">2</span><span class="p">))</span>
881
- </pre></div>
882
- <p>to have the colors be applied automatically based on the underlying data.</p>
883
-
884
- </div>
885
- </div>
886
- </div>
887
-
888
-
889
-
890
- <div class="
891
- cell border-box-sizing code_cell rendered">
892
- <div class="input">
893
-
894
- <div class="inner_cell">
895
- <div class="input_area">
896
- <div class=" highlight hl-ipython3"><pre><span></span><span class="kn">from</span> <span class="nn">bokeh.transform</span> <span class="kn">import</span> <span class="n">factor_cmap</span>
897
-
898
- <span class="n">p</span> <span class="o">=</span> <span class="n">figure</span><span class="p">(</span>
899
- <span class="n">plot_height</span><span class="o">=</span><span class="mi">400</span><span class="p">,</span>
900
- <span class="n">plot_width</span><span class="o">=</span><span class="mi">800</span><span class="p">,</span>
901
- <span class="n">x_range</span><span class="o">=</span><span class="n">FactorRange</span><span class="p">(</span><span class="o">*</span><span class="n">x</span><span class="p">),</span>
902
- <span class="n">title</span><span class="o">=</span><span class="s2">&quot;Fruit Counts by Year&quot;</span>
903
- <span class="p">)</span>
904
-
905
- <span class="n">p</span><span class="o">.</span><span class="n">vbar</span><span class="p">(</span>
906
- <span class="n">x</span><span class="o">=</span><span class="s1">&#39;x&#39;</span><span class="p">,</span>
907
- <span class="n">top</span><span class="o">=</span><span class="s1">&#39;counts&#39;</span><span class="p">,</span>
908
- <span class="n">width</span><span class="o">=</span><span class="mf">0.9</span><span class="p">,</span>
909
- <span class="n">line_color</span><span class="o">=</span><span class="s2">&quot;white&quot;</span><span class="p">,</span>
910
- <span class="c1"># use the palette to colormap based on the the x[1:2] values</span>
911
- <span class="n">fill_color</span><span class="o">=</span><span class="n">factor_cmap</span><span class="p">(</span>
912
- <span class="s1">&#39;x&#39;</span><span class="p">,</span>
913
- <span class="n">palette</span><span class="o">=</span><span class="p">[</span><span class="s1">&#39;firebrick&#39;</span><span class="p">,</span> <span class="s1">&#39;olive&#39;</span><span class="p">,</span> <span class="s1">&#39;navy&#39;</span><span class="p">],</span>
914
- <span class="n">factors</span><span class="o">=</span><span class="n">years</span><span class="p">,</span>
915
- <span class="n">start</span><span class="o">=</span><span class="mi">1</span><span class="p">,</span>
916
- <span class="n">end</span><span class="o">=</span><span class="mi">2</span>
917
- <span class="p">),</span>
918
- <span class="n">source</span><span class="o">=</span><span class="n">source</span>
919
- <span class="p">)</span>
920
-
921
- <span class="n">p</span><span class="o">.</span><span class="n">y_range</span><span class="o">.</span><span class="n">start</span> <span class="o">=</span> <span class="mi">0</span>
922
- <span class="n">p</span><span class="o">.</span><span class="n">x_range</span><span class="o">.</span><span class="n">range_padding</span> <span class="o">=</span> <span class="mf">0.1</span>
923
- <span class="n">p</span><span class="o">.</span><span class="n">xaxis</span><span class="o">.</span><span class="n">major_label_orientation</span> <span class="o">=</span> <span class="mi">1</span>
924
- <span class="n">p</span><span class="o">.</span><span class="n">xgrid</span><span class="o">.</span><span class="n">grid_line_color</span> <span class="o">=</span> <span class="kc">None</span>
925
-
926
- <span class="c1"># show the results</span>
927
- <span class="n">show</span><span class="p">(</span><span class="n">p</span><span class="p">)</span>
928
- </pre></div>
929
-
930
- </div>
931
- </div>
932
- </div>
933
-
934
- <div class="output_wrapper">
935
- <div class="output">
936
-
937
-
938
- <div class="output_area">
939
-
940
-
941
-
942
-
943
- <div class="output_html rendered_html output_subarea ">
944
-
945
- <div class="bk-root" id="62605c03-2b83-49e3-9212-afbb55ea42db" data-root-id="1601"></div>
946
-
947
- </div>
948
-
949
- </div>
950
-
951
- <div class="output_area">
952
-
953
-
954
-
955
-
956
-
957
-
958
- <div id="76a2c99a-99e1-4d1a-8a07-df28cbaab5d3"></div>
959
- <div class="output_subarea output_javascript ">
960
- <script type="text/javascript">
961
- var element = $('#76a2c99a-99e1-4d1a-8a07-df28cbaab5d3');
962
- (function(root) {
963
- function embed_document(root) {
964
- const docs_json = {"bb6614eb-faac-4d6d-ab26-1f8a8e41eb87":{"defs":[],"roots":{"references":[{"attributes":{"below":[{"id":"1611"}],"center":[{"id":"1613"},{"id":"1617"}],"height":400,"left":[{"id":"1614"}],"renderers":[{"id":"1637"}],"title":{"id":"1602"},"toolbar":{"id":"1625"},"width":800,"x_range":{"id":"1600"},"x_scale":{"id":"1607"},"y_range":{"id":"1605"},"y_scale":{"id":"1609"}},"id":"1601","subtype":"Figure","type":"Plot"},{"attributes":{},"id":"1687","type":"AllLabels"},{"attributes":{},"id":"1686","type":"CategoricalTickFormatter"},{"attributes":{},"id":"1684","type":"AllLabels"},{"attributes":{"end":2,"factors":["2015","2016","2017"],"palette":["firebrick","olive","navy"],"start":1},"id":"1632","type":"CategoricalColorMapper"},{"attributes":{"tools":[{"id":"1618"},{"id":"1619"},{"id":"1620"},{"id":"1621"},{"id":"1622"},{"id":"1623"}]},"id":"1625","type":"Toolbar"},{"attributes":{"data":{"counts":[2,5,3,1,3,2,4,3,4,3,2,4,2,4,5,4,6,3],"x":[["Apples","2015"],["Apples","2016"],["Apples","2017"],["Pears","2015"],["Pears","2016"],["Pears","2017"],["Nectarines","2015"],["Nectarines","2016"],["Nectarines","2017"],["Plums","2015"],["Plums","2016"],["Plums","2017"],["Grapes","2015"],["Grapes","2016"],["Grapes","2017"],["Strawberries","2015"],["Strawberries","2016"],["Strawberries","2017"]]},"selected":{"id":"1548"},"selection_policy":{"id":"1547"}},"id":"1469","type":"ColumnDataSource"},{"attributes":{"fill_alpha":{"value":0.1},"fill_color":{"field":"x","transform":{"id":"1632"}},"hatch_alpha":{"value":0.1},"line_alpha":{"value":0.1},"line_color":{"value":"white"},"top":{"field":"counts"},"width":{"value":0.9},"x":{"field":"x"}},"id":"1635","type":"VBar"},{"attributes":{},"id":"1618","type":"PanTool"},{"attributes":{},"id":"1683","type":"BasicTickFormatter"},{"attributes":{},"id":"1612","type":"CategoricalTicker"},{"attributes":{"factors":[["Apples","2015"],["Apples","2016"],["Apples","2017"],["Pears","2015"],["Pears","2016"],["Pears","2017"],["Nectarines","2015"],["Nectarines","2016"],["Nectarines","2017"],["Plums","2015"],["Plums","2016"],["Plums","2017"],["Grapes","2015"],["Grapes","2016"],["Grapes","2017"],["Strawberries","2015"],["Strawberries","2016"],["Strawberries","2017"]],"range_padding":0.1},"id":"1600","type":"FactorRange"},{"attributes":{"axis":{"id":"1611"},"coordinates":null,"grid_line_color":null,"group":null,"ticker":null},"id":"1613","type":"Grid"},{"attributes":{},"id":"1621","type":"SaveTool"},{"attributes":{"coordinates":null,"formatter":{"id":"1683"},"group":null,"major_label_policy":{"id":"1684"},"ticker":{"id":"1615"}},"id":"1614","type":"LinearAxis"},{"attributes":{"coordinates":null,"group":null,"text":"Fruit Counts by Year"},"id":"1602","type":"Title"},{"attributes":{},"id":"1547","type":"UnionRenderers"},{"attributes":{"axis":{"id":"1614"},"coordinates":null,"dimension":1,"group":null,"ticker":null},"id":"1617","type":"Grid"},{"attributes":{"source":{"id":"1469"}},"id":"1638","type":"CDSView"},{"attributes":{"fill_color":{"field":"x","transform":{"id":"1632"}},"line_color":{"value":"white"},"top":{"field":"counts"},"width":{"value":0.9},"x":{"field":"x"}},"id":"1634","type":"VBar"},{"attributes":{"start":0},"id":"1605","type":"DataRange1d"},{"attributes":{},"id":"1548","type":"Selection"},{"attributes":{},"id":"1623","type":"HelpTool"},{"attributes":{"fill_alpha":{"value":0.2},"fill_color":{"field":"x","transform":{"id":"1632"}},"hatch_alpha":{"value":0.2},"line_alpha":{"value":0.2},"line_color":{"value":"white"},"top":{"field":"counts"},"width":{"value":0.9},"x":{"field":"x"}},"id":"1636","type":"VBar"},{"attributes":{"overlay":{"id":"1624"}},"id":"1620","type":"BoxZoomTool"},{"attributes":{"bottom_units":"screen","coordinates":null,"fill_alpha":0.5,"fill_color":"lightgrey","group":null,"left_units":"screen","level":"overlay","line_alpha":1.0,"line_color":"black","line_dash":[4,4],"line_width":2,"right_units":"screen","syncable":false,"top_units":"screen"},"id":"1624","type":"BoxAnnotation"},{"attributes":{},"id":"1619","type":"WheelZoomTool"},{"attributes":{},"id":"1609","type":"LinearScale"},{"attributes":{},"id":"1622","type":"ResetTool"},{"attributes":{"coordinates":null,"formatter":{"id":"1686"},"group":null,"major_label_orientation":1,"major_label_policy":{"id":"1687"},"ticker":{"id":"1612"}},"id":"1611","type":"CategoricalAxis"},{"attributes":{},"id":"1607","type":"CategoricalScale"},{"attributes":{},"id":"1615","type":"BasicTicker"},{"attributes":{"coordinates":null,"data_source":{"id":"1469"},"glyph":{"id":"1634"},"group":null,"hover_glyph":null,"muted_glyph":{"id":"1636"},"nonselection_glyph":{"id":"1635"},"view":{"id":"1638"}},"id":"1637","type":"GlyphRenderer"}],"root_ids":["1601"]},"title":"Bokeh Application","version":"2.4.3"}};
965
- const render_items = [{"docid":"bb6614eb-faac-4d6d-ab26-1f8a8e41eb87","root_ids":["1601"],"roots":{"1601":"62605c03-2b83-49e3-9212-afbb55ea42db"}}];
966
- root.Bokeh.embed.embed_items_notebook(docs_json, render_items);
967
- }
968
- if (root.Bokeh !== undefined) {
969
- embed_document(root);
970
- } else {
971
- let attempts = 0;
972
- const timer = setInterval(function(root) {
973
- if (root.Bokeh !== undefined) {
974
- clearInterval(timer);
975
- embed_document(root);
976
- } else {
977
- attempts++;
978
- if (attempts > 100) {
979
- clearInterval(timer);
980
- console.log("Bokeh: ERROR: Unable to run BokehJS code because BokehJS library is missing");
981
- }
982
- }
983
- }, 10, root)
984
- }
985
- })(window);
986
- </script>
987
- </div>
988
-
989
- </div>
990
-
991
- </div>
992
- </div>
993
-
994
- </div>
995
- <div class="cell border-box-sizing text_cell rendered"><div class="inner_cell">
996
- <div class="text_cell_render border-box-sizing rendered_html">
997
- <p>It is also possible to achieve grouped bar plots using another technique called "visual dodge". That would be useful e.g. if you only wanted to have the axis labeled by fruit type, and not include the years on the axis. This tutorial does not cover that technique but you can find information in the <a href="https://bokeh.pydata.org/en/dev/docs/user_guide/categorical.html#visual-dodge">User's Guide</a>.</p>
998
-
999
- </div>
1000
- </div>
1001
- </div>
1002
- <div class="cell border-box-sizing text_cell rendered"><div class="inner_cell">
1003
- <div class="text_cell_render border-box-sizing rendered_html">
1004
- <h3 id="Mixing-Categorical-Levels">Mixing Categorical Levels<a class="anchor-link" href="#Mixing-Categorical-Levels">&#182;</a></h3><p>If you have created a range with nested categories as above, it is possible to plot glyphs using only the "outer" categories, if desired. The plot below shows monthly values grouped by quarter as bars. The data for these are in the familiar format:</p>
1005
- <div class="highlight"><pre><span></span><span class="n">factors</span> <span class="o">=</span> <span class="p">[(</span><span class="s2">&quot;Q1&quot;</span><span class="p">,</span> <span class="s2">&quot;jan&quot;</span><span class="p">),</span> <span class="p">(</span><span class="s2">&quot;Q1&quot;</span><span class="p">,</span> <span class="s2">&quot;feb&quot;</span><span class="p">),</span> <span class="p">(</span><span class="s2">&quot;Q1&quot;</span><span class="p">,</span> <span class="s2">&quot;mar&quot;</span><span class="p">),</span> <span class="o">....</span><span class="p">]</span>
1006
- </pre></div>
1007
- <p>The plot also overlays a line representing average quarterly values, and this is accomplished by using only the "quarter" part of each nexted category:</p>
1008
- <div class="highlight"><pre><span></span><span class="n">p</span><span class="o">.</span><span class="n">line</span><span class="p">(</span><span class="n">x</span><span class="o">=</span><span class="p">[</span><span class="s2">&quot;Q1&quot;</span><span class="p">,</span> <span class="s2">&quot;Q2&quot;</span><span class="p">,</span> <span class="s2">&quot;Q3&quot;</span><span class="p">,</span> <span class="s2">&quot;Q4&quot;</span><span class="p">],</span> <span class="n">y</span><span class="o">=....</span><span class="p">)</span>
1009
- </pre></div>
1010
-
1011
- </div>
1012
- </div>
1013
- </div>
1014
-
1015
-
1016
-
1017
- <div class="
1018
- cell border-box-sizing code_cell rendered">
1019
- <div class="input">
1020
-
1021
- <div class="inner_cell">
1022
- <div class="input_area">
1023
- <div class=" highlight hl-ipython3"><pre><span></span><span class="n">factors</span> <span class="o">=</span> <span class="p">[(</span><span class="s2">&quot;Q1&quot;</span><span class="p">,</span> <span class="s2">&quot;jan&quot;</span><span class="p">),</span> <span class="p">(</span><span class="s2">&quot;Q1&quot;</span><span class="p">,</span> <span class="s2">&quot;feb&quot;</span><span class="p">),</span> <span class="p">(</span><span class="s2">&quot;Q1&quot;</span><span class="p">,</span> <span class="s2">&quot;mar&quot;</span><span class="p">),</span>
1024
- <span class="p">(</span><span class="s2">&quot;Q2&quot;</span><span class="p">,</span> <span class="s2">&quot;apr&quot;</span><span class="p">),</span> <span class="p">(</span><span class="s2">&quot;Q2&quot;</span><span class="p">,</span> <span class="s2">&quot;may&quot;</span><span class="p">),</span> <span class="p">(</span><span class="s2">&quot;Q2&quot;</span><span class="p">,</span> <span class="s2">&quot;jun&quot;</span><span class="p">),</span>
1025
- <span class="p">(</span><span class="s2">&quot;Q3&quot;</span><span class="p">,</span> <span class="s2">&quot;jul&quot;</span><span class="p">),</span> <span class="p">(</span><span class="s2">&quot;Q3&quot;</span><span class="p">,</span> <span class="s2">&quot;aug&quot;</span><span class="p">),</span> <span class="p">(</span><span class="s2">&quot;Q3&quot;</span><span class="p">,</span> <span class="s2">&quot;sep&quot;</span><span class="p">),</span>
1026
- <span class="p">(</span><span class="s2">&quot;Q4&quot;</span><span class="p">,</span> <span class="s2">&quot;oct&quot;</span><span class="p">),</span> <span class="p">(</span><span class="s2">&quot;Q4&quot;</span><span class="p">,</span> <span class="s2">&quot;nov&quot;</span><span class="p">),</span> <span class="p">(</span><span class="s2">&quot;Q4&quot;</span><span class="p">,</span> <span class="s2">&quot;dec&quot;</span><span class="p">)]</span>
1027
-
1028
- <span class="n">p</span> <span class="o">=</span> <span class="n">figure</span><span class="p">(</span>
1029
- <span class="n">plot_height</span><span class="o">=</span><span class="mi">400</span><span class="p">,</span>
1030
- <span class="n">plot_width</span><span class="o">=</span><span class="mi">800</span><span class="p">,</span>
1031
- <span class="n">x_range</span><span class="o">=</span><span class="n">FactorRange</span><span class="p">(</span><span class="o">*</span><span class="n">factors</span><span class="p">)</span>
1032
- <span class="p">)</span>
1033
-
1034
- <span class="n">x</span> <span class="o">=</span> <span class="p">[</span> <span class="mi">10</span><span class="p">,</span> <span class="mi">12</span><span class="p">,</span> <span class="mi">16</span><span class="p">,</span> <span class="mi">9</span><span class="p">,</span> <span class="mi">10</span><span class="p">,</span> <span class="mi">8</span><span class="p">,</span> <span class="mi">12</span><span class="p">,</span> <span class="mi">13</span><span class="p">,</span> <span class="mi">14</span><span class="p">,</span> <span class="mi">14</span><span class="p">,</span> <span class="mi">12</span><span class="p">,</span> <span class="mi">16</span> <span class="p">]</span>
1035
- <span class="n">p</span><span class="o">.</span><span class="n">vbar</span><span class="p">(</span>
1036
- <span class="n">x</span><span class="o">=</span><span class="n">factors</span><span class="p">,</span>
1037
- <span class="n">top</span><span class="o">=</span><span class="n">x</span><span class="p">,</span>
1038
- <span class="n">width</span><span class="o">=</span><span class="mf">0.9</span><span class="p">,</span>
1039
- <span class="n">alpha</span><span class="o">=</span><span class="mf">0.5</span>
1040
- <span class="p">)</span>
1041
-
1042
- <span class="n">qs</span><span class="p">,</span> <span class="n">aves</span> <span class="o">=</span> <span class="p">[</span><span class="s2">&quot;Q1&quot;</span><span class="p">,</span> <span class="s2">&quot;Q2&quot;</span><span class="p">,</span> <span class="s2">&quot;Q3&quot;</span><span class="p">,</span> <span class="s2">&quot;Q4&quot;</span><span class="p">],</span> <span class="p">[</span><span class="mi">12</span><span class="p">,</span> <span class="mi">9</span><span class="p">,</span> <span class="mi">13</span><span class="p">,</span> <span class="mi">14</span><span class="p">]</span>
1043
- <span class="n">p</span><span class="o">.</span><span class="n">line</span><span class="p">(</span>
1044
- <span class="n">x</span><span class="o">=</span><span class="n">qs</span><span class="p">,</span>
1045
- <span class="n">y</span><span class="o">=</span><span class="n">aves</span><span class="p">,</span>
1046
- <span class="n">color</span><span class="o">=</span><span class="s2">&quot;red&quot;</span><span class="p">,</span>
1047
- <span class="n">line_width</span><span class="o">=</span><span class="mi">3</span>
1048
- <span class="p">)</span>
1049
- <span class="n">p</span><span class="o">.</span><span class="n">circle</span><span class="p">(</span>
1050
- <span class="n">x</span><span class="o">=</span><span class="n">qs</span><span class="p">,</span>
1051
- <span class="n">y</span><span class="o">=</span><span class="n">aves</span><span class="p">,</span>
1052
- <span class="n">line_color</span><span class="o">=</span><span class="s2">&quot;red&quot;</span><span class="p">,</span>
1053
- <span class="n">fill_color</span><span class="o">=</span><span class="s2">&quot;white&quot;</span><span class="p">,</span>
1054
- <span class="n">size</span><span class="o">=</span><span class="mi">10</span>
1055
- <span class="p">)</span>
1056
-
1057
- <span class="n">p</span><span class="o">.</span><span class="n">y_range</span><span class="o">.</span><span class="n">start</span> <span class="o">=</span> <span class="mi">0</span>
1058
- <span class="n">p</span><span class="o">.</span><span class="n">x_range</span><span class="o">.</span><span class="n">range_padding</span> <span class="o">=</span> <span class="mf">0.1</span>
1059
- <span class="n">p</span><span class="o">.</span><span class="n">xgrid</span><span class="o">.</span><span class="n">grid_line_color</span> <span class="o">=</span> <span class="kc">None</span>
1060
-
1061
- <span class="c1"># show the results</span>
1062
- <span class="n">show</span><span class="p">(</span><span class="n">p</span><span class="p">)</span>
1063
- </pre></div>
1064
-
1065
- </div>
1066
- </div>
1067
- </div>
1068
-
1069
- <div class="output_wrapper">
1070
- <div class="output">
1071
-
1072
-
1073
- <div class="output_area">
1074
-
1075
-
1076
-
1077
-
1078
- <div class="output_html rendered_html output_subarea ">
1079
-
1080
- <div class="bk-root" id="f11c21a5-5bd4-40f6-9ed2-eb47a64cd09d" data-root-id="1742"></div>
1081
-
1082
- </div>
1083
-
1084
- </div>
1085
-
1086
- <div class="output_area">
1087
-
1088
-
1089
-
1090
-
1091
-
1092
-
1093
- <div id="8f8e8488-48d9-449f-a8b5-091dd5aa0a94"></div>
1094
- <div class="output_subarea output_javascript ">
1095
- <script type="text/javascript">
1096
- var element = $('#8f8e8488-48d9-449f-a8b5-091dd5aa0a94');
1097
- (function(root) {
1098
- function embed_document(root) {
1099
- const docs_json = {"68c3d26b-74fe-45bb-81b0-a78dbf40dd1c":{"defs":[],"roots":{"references":[{"attributes":{"below":[{"id":"1750"}],"center":[{"id":"1752"},{"id":"1756"}],"height":400,"left":[{"id":"1753"}],"renderers":[{"id":"1775"},{"id":"1781"},{"id":"1787"}],"title":{"id":"1841"},"toolbar":{"id":"1764"},"width":800,"x_range":{"id":"1741"},"x_scale":{"id":"1746"},"y_range":{"id":"1744"},"y_scale":{"id":"1748"}},"id":"1742","subtype":"Figure","type":"Plot"},{"attributes":{},"id":"1850","type":"Selection"},{"attributes":{"start":0},"id":"1744","type":"DataRange1d"},{"attributes":{},"id":"1849","type":"UnionRenderers"},{"attributes":{},"id":"1757","type":"PanTool"},{"attributes":{},"id":"1852","type":"Selection"},{"attributes":{"coordinates":null,"data_source":{"id":"1783"},"glyph":{"id":"1784"},"group":null,"hover_glyph":null,"muted_glyph":{"id":"1786"},"nonselection_glyph":{"id":"1785"},"view":{"id":"1788"}},"id":"1787","type":"GlyphRenderer"},{"attributes":{"fill_alpha":{"value":0.2},"fill_color":{"value":"#1f77b4"},"hatch_alpha":{"value":0.2},"line_alpha":{"value":0.2},"line_color":{"value":"#1f77b4"},"top":{"field":"top"},"width":{"value":0.9},"x":{"field":"x"}},"id":"1774","type":"VBar"},{"attributes":{},"id":"1761","type":"ResetTool"},{"attributes":{},"id":"1758","type":"WheelZoomTool"},{"attributes":{"axis":{"id":"1750"},"coordinates":null,"grid_line_color":null,"group":null,"ticker":null},"id":"1752","type":"Grid"},{"attributes":{"overlay":{"id":"1763"}},"id":"1759","type":"BoxZoomTool"},{"attributes":{},"id":"1851","type":"UnionRenderers"},{"attributes":{"fill_alpha":{"value":0.2},"fill_color":{"value":"white"},"hatch_alpha":{"value":0.2},"line_alpha":{"value":0.2},"line_color":{"value":"red"},"size":{"value":10},"x":{"field":"x"},"y":{"field":"y"}},"id":"1786","type":"Circle"},{"attributes":{},"id":"1760","type":"SaveTool"},{"attributes":{},"id":"1853","type":"UnionRenderers"},{"attributes":{"data":{"x":["Q1","Q2","Q3","Q4"],"y":[12,9,13,14]},"selected":{"id":"1854"},"selection_policy":{"id":"1853"}},"id":"1783","type":"ColumnDataSource"},{"attributes":{},"id":"1751","type":"CategoricalTicker"},{"attributes":{},"id":"1854","type":"Selection"},{"attributes":{},"id":"1746","type":"CategoricalScale"},{"attributes":{},"id":"1762","type":"HelpTool"},{"attributes":{"coordinates":null,"data_source":{"id":"1771"},"glyph":{"id":"1772"},"group":null,"hover_glyph":null,"muted_glyph":{"id":"1774"},"nonselection_glyph":{"id":"1773"},"view":{"id":"1776"}},"id":"1775","type":"GlyphRenderer"},{"attributes":{},"id":"1748","type":"LinearScale"},{"attributes":{"fill_alpha":{"value":0.1},"fill_color":{"value":"white"},"hatch_alpha":{"value":0.1},"line_alpha":{"value":0.1},"line_color":{"value":"red"},"size":{"value":10},"x":{"field":"x"},"y":{"field":"y"}},"id":"1785","type":"Circle"},{"attributes":{"fill_color":{"value":"white"},"line_color":{"value":"red"},"size":{"value":10},"x":{"field":"x"},"y":{"field":"y"}},"id":"1784","type":"Circle"},{"attributes":{"coordinates":null,"formatter":{"id":"1847"},"group":null,"major_label_policy":{"id":"1848"},"ticker":{"id":"1751"}},"id":"1750","type":"CategoricalAxis"},{"attributes":{"source":{"id":"1771"}},"id":"1776","type":"CDSView"},{"attributes":{"line_color":"red","line_width":3,"x":{"field":"x"},"y":{"field":"y"}},"id":"1778","type":"Line"},{"attributes":{"source":{"id":"1783"}},"id":"1788","type":"CDSView"},{"attributes":{"line_alpha":0.1,"line_color":"red","line_width":3,"x":{"field":"x"},"y":{"field":"y"}},"id":"1779","type":"Line"},{"attributes":{},"id":"1754","type":"BasicTicker"},{"attributes":{"fill_alpha":{"value":0.5},"fill_color":{"value":"#1f77b4"},"hatch_alpha":{"value":0.5},"line_alpha":{"value":0.5},"line_color":{"value":"#1f77b4"},"top":{"field":"top"},"width":{"value":0.9},"x":{"field":"x"}},"id":"1772","type":"VBar"},{"attributes":{},"id":"1848","type":"AllLabels"},{"attributes":{"bottom_units":"screen","coordinates":null,"fill_alpha":0.5,"fill_color":"lightgrey","group":null,"left_units":"screen","level":"overlay","line_alpha":1.0,"line_color":"black","line_dash":[4,4],"line_width":2,"right_units":"screen","syncable":false,"top_units":"screen"},"id":"1763","type":"BoxAnnotation"},{"attributes":{"coordinates":null,"formatter":{"id":"1844"},"group":null,"major_label_policy":{"id":"1845"},"ticker":{"id":"1754"}},"id":"1753","type":"LinearAxis"},{"attributes":{},"id":"1847","type":"CategoricalTickFormatter"},{"attributes":{"coordinates":null,"data_source":{"id":"1777"},"glyph":{"id":"1778"},"group":null,"hover_glyph":null,"muted_glyph":{"id":"1780"},"nonselection_glyph":{"id":"1779"},"view":{"id":"1782"}},"id":"1781","type":"GlyphRenderer"},{"attributes":{"coordinates":null,"group":null},"id":"1841","type":"Title"},{"attributes":{"line_alpha":0.2,"line_color":"red","line_width":3,"x":{"field":"x"},"y":{"field":"y"}},"id":"1780","type":"Line"},{"attributes":{"tools":[{"id":"1757"},{"id":"1758"},{"id":"1759"},{"id":"1760"},{"id":"1761"},{"id":"1762"}]},"id":"1764","type":"Toolbar"},{"attributes":{"axis":{"id":"1753"},"coordinates":null,"dimension":1,"group":null,"ticker":null},"id":"1756","type":"Grid"},{"attributes":{},"id":"1845","type":"AllLabels"},{"attributes":{"data":{"x":["Q1","Q2","Q3","Q4"],"y":[12,9,13,14]},"selected":{"id":"1852"},"selection_policy":{"id":"1851"}},"id":"1777","type":"ColumnDataSource"},{"attributes":{"source":{"id":"1777"}},"id":"1782","type":"CDSView"},{"attributes":{"factors":[["Q1","jan"],["Q1","feb"],["Q1","mar"],["Q2","apr"],["Q2","may"],["Q2","jun"],["Q3","jul"],["Q3","aug"],["Q3","sep"],["Q4","oct"],["Q4","nov"],["Q4","dec"]],"range_padding":0.1},"id":"1741","type":"FactorRange"},{"attributes":{"data":{"top":[10,12,16,9,10,8,12,13,14,14,12,16],"x":[["Q1","jan"],["Q1","feb"],["Q1","mar"],["Q2","apr"],["Q2","may"],["Q2","jun"],["Q3","jul"],["Q3","aug"],["Q3","sep"],["Q4","oct"],["Q4","nov"],["Q4","dec"]]},"selected":{"id":"1850"},"selection_policy":{"id":"1849"}},"id":"1771","type":"ColumnDataSource"},{"attributes":{},"id":"1844","type":"BasicTickFormatter"},{"attributes":{"fill_alpha":{"value":0.1},"fill_color":{"value":"#1f77b4"},"hatch_alpha":{"value":0.1},"line_alpha":{"value":0.1},"line_color":{"value":"#1f77b4"},"top":{"field":"top"},"width":{"value":0.9},"x":{"field":"x"}},"id":"1773","type":"VBar"}],"root_ids":["1742"]},"title":"Bokeh Application","version":"2.4.3"}};
1100
- const render_items = [{"docid":"68c3d26b-74fe-45bb-81b0-a78dbf40dd1c","root_ids":["1742"],"roots":{"1742":"f11c21a5-5bd4-40f6-9ed2-eb47a64cd09d"}}];
1101
- root.Bokeh.embed.embed_items_notebook(docs_json, render_items);
1102
- }
1103
- if (root.Bokeh !== undefined) {
1104
- embed_document(root);
1105
- } else {
1106
- let attempts = 0;
1107
- const timer = setInterval(function(root) {
1108
- if (root.Bokeh !== undefined) {
1109
- clearInterval(timer);
1110
- embed_document(root);
1111
- } else {
1112
- attempts++;
1113
- if (attempts > 100) {
1114
- clearInterval(timer);
1115
- console.log("Bokeh: ERROR: Unable to run BokehJS code because BokehJS library is missing");
1116
- }
1117
- }
1118
- }, 10, root)
1119
- }
1120
- })(window);
1121
- </script>
1122
- </div>
1123
-
1124
- </div>
1125
-
1126
- </div>
1127
- </div>
1128
-
1129
- </div>
1130
- <div class="cell border-box-sizing text_cell rendered"><div class="inner_cell">
1131
- <div class="text_cell_render border-box-sizing rendered_html">
1132
- <h3 id="Using-Pandas-GroupBy">Using Pandas <code>GroupBy</code><a class="anchor-link" href="#Using-Pandas-GroupBy">&#182;</a></h3><p>We may want to make charts based on the results of "group by" operations. Bokeh can utilize Pandas <code>GroupBy</code> objects directly to make this simpler. Let's take a look at how Bokeh deals with <code>GroupBy</code> objects by examining the "cars" data set.</p>
1133
-
1134
- </div>
1135
- </div>
1136
- </div>
1137
-
1138
-
1139
-
1140
- <div class="
1141
- cell border-box-sizing code_cell rendered">
1142
- <div class="input">
1143
-
1144
- <div class="inner_cell">
1145
- <div class="input_area">
1146
- <div class=" highlight hl-ipython3"><pre><span></span><span class="kn">from</span> <span class="nn">bokeh.sampledata.autompg</span> <span class="kn">import</span> <span class="n">autompg_clean</span> <span class="k">as</span> <span class="n">df</span>
1147
-
1148
- <span class="n">df</span><span class="o">.</span><span class="n">cyl</span> <span class="o">=</span> <span class="n">df</span><span class="o">.</span><span class="n">cyl</span><span class="o">.</span><span class="n">astype</span><span class="p">(</span><span class="nb">str</span><span class="p">)</span>
1149
- <span class="n">df</span><span class="o">.</span><span class="n">head</span><span class="p">()</span>
1150
- </pre></div>
1151
-
1152
- </div>
1153
- </div>
1154
- </div>
1155
-
1156
- <div class="output_wrapper">
1157
- <div class="output">
1158
-
1159
-
1160
- <div class="output_area">
1161
-
1162
-
1163
-
1164
-
1165
- <div class="output_html rendered_html output_subarea output_execute_result">
1166
- <div>
1167
- <style scoped>
1168
- .dataframe tbody tr th:only-of-type {
1169
- vertical-align: middle;
1170
- }
1171
-
1172
- .dataframe tbody tr th {
1173
- vertical-align: top;
1174
- }
1175
-
1176
- .dataframe thead th {
1177
- text-align: right;
1178
- }
1179
- </style>
1180
- <table border="1" class="dataframe">
1181
- <thead>
1182
- <tr style="text-align: right;">
1183
- <th></th>
1184
- <th>mpg</th>
1185
- <th>cyl</th>
1186
- <th>displ</th>
1187
- <th>hp</th>
1188
- <th>weight</th>
1189
- <th>accel</th>
1190
- <th>yr</th>
1191
- <th>origin</th>
1192
- <th>name</th>
1193
- <th>mfr</th>
1194
- </tr>
1195
- </thead>
1196
- <tbody>
1197
- <tr>
1198
- <th>0</th>
1199
- <td>18.0</td>
1200
- <td>8</td>
1201
- <td>307.0</td>
1202
- <td>130</td>
1203
- <td>3504</td>
1204
- <td>12.0</td>
1205
- <td>70</td>
1206
- <td>North America</td>
1207
- <td>chevrolet chevelle malibu</td>
1208
- <td>chevrolet</td>
1209
- </tr>
1210
- <tr>
1211
- <th>1</th>
1212
- <td>15.0</td>
1213
- <td>8</td>
1214
- <td>350.0</td>
1215
- <td>165</td>
1216
- <td>3693</td>
1217
- <td>11.5</td>
1218
- <td>70</td>
1219
- <td>North America</td>
1220
- <td>buick skylark 320</td>
1221
- <td>buick</td>
1222
- </tr>
1223
- <tr>
1224
- <th>2</th>
1225
- <td>18.0</td>
1226
- <td>8</td>
1227
- <td>318.0</td>
1228
- <td>150</td>
1229
- <td>3436</td>
1230
- <td>11.0</td>
1231
- <td>70</td>
1232
- <td>North America</td>
1233
- <td>plymouth satellite</td>
1234
- <td>plymouth</td>
1235
- </tr>
1236
- <tr>
1237
- <th>3</th>
1238
- <td>16.0</td>
1239
- <td>8</td>
1240
- <td>304.0</td>
1241
- <td>150</td>
1242
- <td>3433</td>
1243
- <td>12.0</td>
1244
- <td>70</td>
1245
- <td>North America</td>
1246
- <td>amc rebel sst</td>
1247
- <td>amc</td>
1248
- </tr>
1249
- <tr>
1250
- <th>4</th>
1251
- <td>17.0</td>
1252
- <td>8</td>
1253
- <td>302.0</td>
1254
- <td>140</td>
1255
- <td>3449</td>
1256
- <td>10.5</td>
1257
- <td>70</td>
1258
- <td>North America</td>
1259
- <td>ford torino</td>
1260
- <td>ford</td>
1261
- </tr>
1262
- </tbody>
1263
- </table>
1264
- </div>
1265
- </div>
1266
-
1267
- </div>
1268
-
1269
- </div>
1270
- </div>
1271
-
1272
- </div>
1273
- <div class="cell border-box-sizing text_cell rendered"><div class="inner_cell">
1274
- <div class="text_cell_render border-box-sizing rendered_html">
1275
- <p>Suppose we would like to display some values grouped according to <code>"cyl"</code>. If we create <code>df.groupby(('cyl'))</code> then call <code>group.describe()</code> we can see that Pandas automatically computes various statistics for each group.</p>
1276
-
1277
- </div>
1278
- </div>
1279
- </div>
1280
-
1281
-
1282
-
1283
- <div class="
1284
- cell border-box-sizing code_cell rendered">
1285
- <div class="input">
1286
-
1287
- <div class="inner_cell">
1288
- <div class="input_area">
1289
- <div class=" highlight hl-ipython3"><pre><span></span><span class="n">group</span> <span class="o">=</span> <span class="n">df</span><span class="o">.</span><span class="n">groupby</span><span class="p">((</span><span class="s1">&#39;cyl&#39;</span><span class="p">))</span>
1290
- <span class="n">group</span><span class="o">.</span><span class="n">describe</span><span class="p">()</span>
1291
- </pre></div>
1292
-
1293
- </div>
1294
- </div>
1295
- </div>
1296
-
1297
- <div class="output_wrapper">
1298
- <div class="output">
1299
-
1300
-
1301
- <div class="output_area">
1302
-
1303
-
1304
-
1305
-
1306
- <div class="output_html rendered_html output_subarea output_execute_result">
1307
- <div>
1308
- <style scoped>
1309
- .dataframe tbody tr th:only-of-type {
1310
- vertical-align: middle;
1311
- }
1312
-
1313
- .dataframe tbody tr th {
1314
- vertical-align: top;
1315
- }
1316
-
1317
- .dataframe thead tr th {
1318
- text-align: left;
1319
- }
1320
-
1321
- .dataframe thead tr:last-of-type th {
1322
- text-align: right;
1323
- }
1324
- </style>
1325
- <table border="1" class="dataframe">
1326
- <thead>
1327
- <tr>
1328
- <th></th>
1329
- <th colspan="8" halign="left">mpg</th>
1330
- <th colspan="2" halign="left">displ</th>
1331
- <th>...</th>
1332
- <th colspan="2" halign="left">accel</th>
1333
- <th colspan="8" halign="left">yr</th>
1334
- </tr>
1335
- <tr>
1336
- <th></th>
1337
- <th>count</th>
1338
- <th>mean</th>
1339
- <th>std</th>
1340
- <th>min</th>
1341
- <th>25%</th>
1342
- <th>50%</th>
1343
- <th>75%</th>
1344
- <th>max</th>
1345
- <th>count</th>
1346
- <th>mean</th>
1347
- <th>...</th>
1348
- <th>75%</th>
1349
- <th>max</th>
1350
- <th>count</th>
1351
- <th>mean</th>
1352
- <th>std</th>
1353
- <th>min</th>
1354
- <th>25%</th>
1355
- <th>50%</th>
1356
- <th>75%</th>
1357
- <th>max</th>
1358
- </tr>
1359
- <tr>
1360
- <th>cyl</th>
1361
- <th></th>
1362
- <th></th>
1363
- <th></th>
1364
- <th></th>
1365
- <th></th>
1366
- <th></th>
1367
- <th></th>
1368
- <th></th>
1369
- <th></th>
1370
- <th></th>
1371
- <th></th>
1372
- <th></th>
1373
- <th></th>
1374
- <th></th>
1375
- <th></th>
1376
- <th></th>
1377
- <th></th>
1378
- <th></th>
1379
- <th></th>
1380
- <th></th>
1381
- <th></th>
1382
- </tr>
1383
- </thead>
1384
- <tbody>
1385
- <tr>
1386
- <th>3</th>
1387
- <td>4.0</td>
1388
- <td>20.550000</td>
1389
- <td>2.564501</td>
1390
- <td>18.0</td>
1391
- <td>18.75</td>
1392
- <td>20.25</td>
1393
- <td>22.05</td>
1394
- <td>23.7</td>
1395
- <td>4.0</td>
1396
- <td>72.500000</td>
1397
- <td>...</td>
1398
- <td>13.5</td>
1399
- <td>13.5</td>
1400
- <td>4.0</td>
1401
- <td>75.500000</td>
1402
- <td>3.696846</td>
1403
- <td>72.0</td>
1404
- <td>72.75</td>
1405
- <td>75.0</td>
1406
- <td>77.75</td>
1407
- <td>80.0</td>
1408
- </tr>
1409
- <tr>
1410
- <th>4</th>
1411
- <td>199.0</td>
1412
- <td>29.283920</td>
1413
- <td>5.670546</td>
1414
- <td>18.0</td>
1415
- <td>25.00</td>
1416
- <td>28.40</td>
1417
- <td>32.95</td>
1418
- <td>46.6</td>
1419
- <td>199.0</td>
1420
- <td>109.670854</td>
1421
- <td>...</td>
1422
- <td>18.0</td>
1423
- <td>24.8</td>
1424
- <td>199.0</td>
1425
- <td>77.030151</td>
1426
- <td>3.737484</td>
1427
- <td>70.0</td>
1428
- <td>74.00</td>
1429
- <td>77.0</td>
1430
- <td>80.00</td>
1431
- <td>82.0</td>
1432
- </tr>
1433
- <tr>
1434
- <th>5</th>
1435
- <td>3.0</td>
1436
- <td>27.366667</td>
1437
- <td>8.228204</td>
1438
- <td>20.3</td>
1439
- <td>22.85</td>
1440
- <td>25.40</td>
1441
- <td>30.90</td>
1442
- <td>36.4</td>
1443
- <td>3.0</td>
1444
- <td>145.000000</td>
1445
- <td>...</td>
1446
- <td>20.0</td>
1447
- <td>20.1</td>
1448
- <td>3.0</td>
1449
- <td>79.000000</td>
1450
- <td>1.000000</td>
1451
- <td>78.0</td>
1452
- <td>78.50</td>
1453
- <td>79.0</td>
1454
- <td>79.50</td>
1455
- <td>80.0</td>
1456
- </tr>
1457
- <tr>
1458
- <th>6</th>
1459
- <td>83.0</td>
1460
- <td>19.973494</td>
1461
- <td>3.828809</td>
1462
- <td>15.0</td>
1463
- <td>18.00</td>
1464
- <td>19.00</td>
1465
- <td>21.00</td>
1466
- <td>38.0</td>
1467
- <td>83.0</td>
1468
- <td>218.361446</td>
1469
- <td>...</td>
1470
- <td>17.6</td>
1471
- <td>21.0</td>
1472
- <td>83.0</td>
1473
- <td>75.951807</td>
1474
- <td>3.264381</td>
1475
- <td>70.0</td>
1476
- <td>74.00</td>
1477
- <td>76.0</td>
1478
- <td>78.00</td>
1479
- <td>82.0</td>
1480
- </tr>
1481
- <tr>
1482
- <th>8</th>
1483
- <td>103.0</td>
1484
- <td>14.963107</td>
1485
- <td>2.836284</td>
1486
- <td>9.0</td>
1487
- <td>13.00</td>
1488
- <td>14.00</td>
1489
- <td>16.00</td>
1490
- <td>26.6</td>
1491
- <td>103.0</td>
1492
- <td>345.009709</td>
1493
- <td>...</td>
1494
- <td>14.0</td>
1495
- <td>22.2</td>
1496
- <td>103.0</td>
1497
- <td>73.902913</td>
1498
- <td>3.021214</td>
1499
- <td>70.0</td>
1500
- <td>72.00</td>
1501
- <td>73.0</td>
1502
- <td>76.00</td>
1503
- <td>81.0</td>
1504
- </tr>
1505
- </tbody>
1506
- </table>
1507
- <p>5 rows × 48 columns</p>
1508
- </div>
1509
- </div>
1510
-
1511
- </div>
1512
-
1513
- </div>
1514
- </div>
1515
-
1516
- </div>
1517
- <div class="cell border-box-sizing text_cell rendered"><div class="inner_cell">
1518
- <div class="text_cell_render border-box-sizing rendered_html">
1519
- <p>Bokeh allows us to create a <code>ColumnDataSource</code> directly from Pandas <code>GroupBy</code> objects, and when this happens, the data source is automatically filled with the summary values from <code>group.desribe()</code>. Observe the column names below, which correspond to the output above.</p>
1520
-
1521
- </div>
1522
- </div>
1523
- </div>
1524
-
1525
-
1526
-
1527
- <div class="
1528
- cell border-box-sizing code_cell rendered">
1529
- <div class="input">
1530
-
1531
- <div class="inner_cell">
1532
- <div class="input_area">
1533
- <div class=" highlight hl-ipython3"><pre><span></span><span class="n">source</span> <span class="o">=</span> <span class="n">ColumnDataSource</span><span class="p">(</span><span class="n">group</span><span class="p">)</span>
1534
- <span class="s2">&quot;,&quot;</span><span class="o">.</span><span class="n">join</span><span class="p">(</span><span class="n">source</span><span class="o">.</span><span class="n">column_names</span><span class="p">)</span>
1535
- </pre></div>
1536
-
1537
- </div>
1538
- </div>
1539
- </div>
1540
-
1541
- <div class="output_wrapper">
1542
- <div class="output">
1543
-
1544
-
1545
- <div class="output_area">
1546
-
1547
-
1548
-
1549
-
1550
-
1551
- <div class="output_text output_subarea output_execute_result">
1552
- <pre>&#39;cyl,mpg_count,mpg_mean,mpg_std,mpg_min,mpg_25%,mpg_50%,mpg_75%,mpg_max,displ_count,displ_mean,displ_std,displ_min,displ_25%,displ_50%,displ_75%,displ_max,hp_count,hp_mean,hp_std,hp_min,hp_25%,hp_50%,hp_75%,hp_max,weight_count,weight_mean,weight_std,weight_min,weight_25%,weight_50%,weight_75%,weight_max,accel_count,accel_mean,accel_std,accel_min,accel_25%,accel_50%,accel_75%,accel_max,yr_count,yr_mean,yr_std,yr_min,yr_25%,yr_50%,yr_75%,yr_max&#39;</pre>
1553
- </div>
1554
-
1555
- </div>
1556
-
1557
- </div>
1558
- </div>
1559
-
1560
- </div>
1561
- <div class="cell border-box-sizing text_cell rendered"><div class="inner_cell">
1562
- <div class="text_cell_render border-box-sizing rendered_html">
1563
- <p>Knowing these column names, we can immediately create bar charts based on Pandas <code>GroupBy</code> objects. The example below plots the aveage MPG per cylinder, i.e. columns <code>"mpg_mean"</code> vs <code>"cyl"</code></p>
1564
-
1565
- </div>
1566
- </div>
1567
- </div>
1568
-
1569
-
1570
-
1571
- <div class="
1572
- cell border-box-sizing code_cell rendered">
1573
- <div class="input">
1574
-
1575
- <div class="inner_cell">
1576
- <div class="input_area">
1577
- <div class=" highlight hl-ipython3"><pre><span></span><span class="kn">from</span> <span class="nn">bokeh.palettes</span> <span class="kn">import</span> <span class="n">Spectral5</span>
1578
-
1579
- <span class="n">cyl_cmap</span> <span class="o">=</span> <span class="n">factor_cmap</span><span class="p">(</span>
1580
- <span class="s1">&#39;cyl&#39;</span><span class="p">,</span>
1581
- <span class="n">palette</span><span class="o">=</span><span class="n">Spectral5</span><span class="p">,</span>
1582
- <span class="n">factors</span><span class="o">=</span><span class="nb">sorted</span><span class="p">(</span><span class="n">df</span><span class="o">.</span><span class="n">cyl</span><span class="o">.</span><span class="n">unique</span><span class="p">())</span>
1583
- <span class="p">)</span>
1584
-
1585
- <span class="c1"># create a new plot using figure</span>
1586
- <span class="n">p</span> <span class="o">=</span> <span class="n">figure</span><span class="p">(</span>
1587
- <span class="n">plot_height</span><span class="o">=</span><span class="mi">400</span><span class="p">,</span>
1588
- <span class="n">plot_width</span><span class="o">=</span><span class="mi">800</span><span class="p">,</span>
1589
- <span class="n">x_range</span><span class="o">=</span><span class="n">group</span>
1590
- <span class="p">)</span>
1591
- <span class="n">p</span><span class="o">.</span><span class="n">vbar</span><span class="p">(</span>
1592
- <span class="n">x</span><span class="o">=</span><span class="s1">&#39;cyl&#39;</span><span class="p">,</span>
1593
- <span class="n">top</span><span class="o">=</span><span class="s1">&#39;mpg_mean&#39;</span><span class="p">,</span>
1594
- <span class="n">width</span><span class="o">=</span><span class="mi">1</span><span class="p">,</span>
1595
- <span class="n">line_color</span><span class="o">=</span><span class="s2">&quot;white&quot;</span><span class="p">,</span>
1596
- <span class="n">fill_color</span><span class="o">=</span><span class="n">cyl_cmap</span><span class="p">,</span>
1597
- <span class="n">source</span><span class="o">=</span><span class="n">source</span>
1598
- <span class="p">)</span>
1599
-
1600
- <span class="n">p</span><span class="o">.</span><span class="n">xgrid</span><span class="o">.</span><span class="n">grid_line_color</span> <span class="o">=</span> <span class="kc">None</span>
1601
- <span class="n">p</span><span class="o">.</span><span class="n">xaxis</span><span class="o">.</span><span class="n">axis_label</span> <span class="o">=</span> <span class="s2">&quot;number of cylinders&quot;</span>
1602
- <span class="n">p</span><span class="o">.</span><span class="n">yaxis</span><span class="o">.</span><span class="n">axis_label</span> <span class="o">=</span> <span class="s2">&quot;Mean MPG&quot;</span>
1603
- <span class="n">p</span><span class="o">.</span><span class="n">y_range</span><span class="o">.</span><span class="n">start</span> <span class="o">=</span> <span class="mi">0</span>
1604
-
1605
- <span class="c1"># show the results</span>
1606
- <span class="n">show</span><span class="p">(</span><span class="n">p</span><span class="p">)</span>
1607
- </pre></div>
1608
-
1609
- </div>
1610
- </div>
1611
- </div>
1612
-
1613
- <div class="output_wrapper">
1614
- <div class="output">
1615
-
1616
-
1617
- <div class="output_area">
1618
-
1619
-
1620
-
1621
-
1622
- <div class="output_html rendered_html output_subarea ">
1623
-
1624
- <div class="bk-root" id="f3dee939-12c9-4951-806c-cd27369930b6" data-root-id="1933"></div>
1625
-
1626
- </div>
1627
-
1628
- </div>
1629
-
1630
- <div class="output_area">
1631
-
1632
-
1633
-
1634
-
1635
-
1636
-
1637
- <div id="ace9ad17-c07f-4980-9114-05c74eeb6687"></div>
1638
- <div class="output_subarea output_javascript ">
1639
- <script type="text/javascript">
1640
- var element = $('#ace9ad17-c07f-4980-9114-05c74eeb6687');
1641
- (function(root) {
1642
- function embed_document(root) {
1643
- const docs_json = {"0148fb35-1851-4a4f-bb64-9b3f4227179c":{"defs":[],"roots":{"references":[{"attributes":{"below":[{"id":"1942"}],"center":[{"id":"1944"},{"id":"1948"}],"height":400,"left":[{"id":"1945"}],"renderers":[{"id":"1967"}],"title":{"id":"2036"},"toolbar":{"id":"1956"},"width":800,"x_range":{"id":"1934"},"x_scale":{"id":"1938"},"y_range":{"id":"1936"},"y_scale":{"id":"1940"}},"id":"1933","subtype":"Figure","type":"Plot"},{"attributes":{},"id":"1938","type":"CategoricalScale"},{"attributes":{},"id":"1940","type":"LinearScale"},{"attributes":{"data":{"accel_25%":{"__ndarray__":"AAAAAACAKkCamZmZmZktQGZmZmZm5jFAmpmZmZkZLkAAAAAAAAAnQA==","dtype":"float64","order":"little","shape":[5]},"accel_50%":{"__ndarray__":"AAAAAAAAK0AzMzMzMzMwQGZmZmZm5jNAAAAAAAAAMEAAAAAAAAAqQA==","dtype":"float64","order":"little","shape":[5]},"accel_75%":{"__ndarray__":"AAAAAAAAK0AAAAAAAAAyQAAAAAAAADRAmpmZmZmZMUAAAAAAAAAsQA==","dtype":"float64","order":"little","shape":[5]},"accel_count":{"__ndarray__":"AAAAAAAAEEAAAAAAAOBoQAAAAAAAAAhAAAAAAADAVEAAAAAAAMBZQA==","dtype":"float64","order":"little","shape":[5]},"accel_max":{"__ndarray__":"AAAAAAAAK0DNzMzMzMw4QJqZmZmZGTRAAAAAAAAANUAzMzMzMzM2QA==","dtype":"float64","order":"little","shape":[5]},"accel_mean":{"__ndarray__":"AAAAAACAKkCRxCwG+JQwQCIiIiIiojJA7d9LWxRBMEA+LI1MIukpQA==","dtype":"float64","order":"little","shape":[5]},"accel_min":{"__ndarray__":"AAAAAAAAKUAzMzMzMzMnQM3MzMzMzC9AmpmZmZmZJkAAAAAAAAAgQA==","dtype":"float64","order":"little","shape":[5]},"accel_std":{"__ndarray__":"AAAAAAAA4D+b1TA5wxADQO1jrP039AJA0StM4BRBAED/ZpysTswBQA==","dtype":"float64","order":"little","shape":[5]},"cyl":["3","4","5","6","8"],"displ_25%":{"__ndarray__":"AAAAAACAUUAAAAAAAMBWQAAAAAAAgF9AAAAAAADwaEAAAAAAABBzQA==","dtype":"float64","order":"little","shape":[5]},"displ_50%":{"__ndarray__":"AAAAAACAUUAAAAAAAEBaQAAAAAAAYGBAAAAAAADgbEAAAAAAAOB1QA==","dtype":"float64","order":"little","shape":[5]},"displ_75%":{"__ndarray__":"AAAAAAAgUkAAAAAAAEBeQAAAAAAAoGNAAAAAAABAb0AAAAAAAIB2QA==","dtype":"float64","order":"little","shape":[5]},"displ_count":{"__ndarray__":"AAAAAAAAEEAAAAAAAOBoQAAAAAAAAAhAAAAAAADAVEAAAAAAAMBZQA==","dtype":"float64","order":"little","shape":[5]},"displ_max":{"__ndarray__":"AAAAAAAAVEAAAAAAAIBjQAAAAAAA4GZAAAAAAABgcEAAAAAAAHB8QA==","dtype":"float64","order":"little","shape":[5]},"displ_mean":{"__ndarray__":"AAAAAAAgUkD/9sBG72pbQAAAAAAAIGJAmjq/9pBLa0DJeVnEJ5B1QA==","dtype":"float64","order":"little","shape":[5]},"displ_min":{"__ndarray__":"AAAAAACAUUAAAAAAAABRQAAAAAAAQF5AAAAAAAAgYkAAAAAAAEBwQA==","dtype":"float64","order":"little","shape":[5]},"displ_std":{"__ndarray__":"AAAAAAAAFEC8furRdmA1QLmT4WuwpEBAT4BvAbA2QEDXs8ZGYGNHQA==","dtype":"float64","order":"little","shape":[5]},"hp_25%":{"__ndarray__":"AAAAAADQV0AAAAAAAABRQAAAAAAAAFJAAAAAAAAgV0AAAAAAAIBhQA==","dtype":"float64","order":"little","shape":[5]},"hp_50%":{"__ndarray__":"AAAAAACgWEAAAAAAAIBTQAAAAAAAQFNAAAAAAAAAWUAAAAAAAMBiQA==","dtype":"float64","order":"little","shape":[5]},"hp_75%":{"__ndarray__":"AAAAAACgWUAAAAAAAABWQAAAAAAAgFZAAAAAAACAW0AAAAAAAOBlQA==","dtype":"float64","order":"little","shape":[5]},"hp_count":{"__ndarray__":"AAAAAAAAEEAAAAAAAOBoQAAAAAAAAAhAAAAAAADAVEAAAAAAAMBZQA==","dtype":"float64","order":"little","shape":[5]},"hp_max":{"__ndarray__":"AAAAAACAW0AAAAAAAMBcQAAAAAAAwFlAAAAAAACgZEAAAAAAAMBsQA==","dtype":"float64","order":"little","shape":[5]},"hp_mean":{"__ndarray__":"AAAAAADQWEB2PKeSApJTQFVVVVVVlVRAsD3ksmJgWUDCfquNocljQA==","dtype":"float64","order":"little","shape":[5]},"hp_min":{"__ndarray__":"AAAAAACAVkAAAAAAAABHQAAAAAAAwFBAAAAAAAAAUkAAAAAAAIBWQA==","dtype":"float64","order":"little","shape":[5]},"hp_std":{"__ndarray__":"sTIWI2yaIECGr0Go0wstQDKsjxZJlTJAxZAwIvaeLEBQwZb3G3Q8QA==","dtype":"float64","order":"little","shape":[5]},"mpg_25%":{"__ndarray__":"AAAAAADAMkAAAAAAAAA5QJqZmZmZ2TZAAAAAAAAAMkAAAAAAAAAqQA==","dtype":"float64","order":"little","shape":[5]},"mpg_50%":{"__ndarray__":"AAAAAABANEBmZmZmZmY8QGZmZmZmZjlAAAAAAAAAM0AAAAAAAAAsQA==","dtype":"float64","order":"little","shape":[5]},"mpg_75%":{"__ndarray__":"zczMzMwMNkCamZmZmXlAQGZmZmZm5j5AAAAAAAAANUAAAAAAAAAwQA==","dtype":"float64","order":"little","shape":[5]},"mpg_count":{"__ndarray__":"AAAAAAAAEEAAAAAAAOBoQAAAAAAAAAhAAAAAAADAVEAAAAAAAMBZQA==","dtype":"float64","order":"little","shape":[5]},"mpg_max":{"__ndarray__":"MzMzMzOzN0DNzMzMzExHQDMzMzMzM0JAAAAAAAAAQ0CamZmZmZk6QA==","dtype":"float64","order":"little","shape":[5]},"mpg_mean":{"__ndarray__":"zczMzMyMNEBwD2z0rkg9QN3d3d3dXTtA6lu15jb5M0BgwH9VHO0tQA==","dtype":"float64","order":"little","shape":[5]},"mpg_min":{"__ndarray__":"AAAAAAAAMkAAAAAAAAAyQM3MzMzMTDRAAAAAAAAALkAAAAAAAAAiQA==","dtype":"float64","order":"little","shape":[5]},"mpg_std":{"__ndarray__":"ca9eOxmEBECNLXOmo64WQOWG1RfXdCBALURKf2ahDkC0cW7BtbAGQA==","dtype":"float64","order":"little","shape":[5]},"weight_25%":{"__ndarray__":"AAAAAADNoUAAAAAAAP6fQAAAAAAAlKZAAAAAAAACp0AAAAAAAK6tQA==","dtype":"float64","order":"little","shape":[5]},"weight_50%":{"__ndarray__":"AAAAAACOokAAAAAAAGyhQAAAAAAADKdAAAAAAAAUqUAAAAAAACywQA==","dtype":"float64","order":"little","shape":[5]},"weight_75%":{"__ndarray__":"AAAAAAB+o0AAAAAAAAWkQAAAAAAAUKlAAAAAAADOqkAAAAAAgDOxQA==","dtype":"float64","order":"little","shape":[5]},"weight_count":{"__ndarray__":"AAAAAAAAEEAAAAAAAOBoQAAAAAAAAAhAAAAAAADAVEAAAAAAAMBZQA==","dtype":"float64","order":"little","shape":[5]},"weight_max":{"__ndarray__":"AAAAAABApUAAAAAAAIypQAAAAAAAlKtAAAAAAACGrkAAAAAAABS0QA==","dtype":"float64","order":"little","shape":[5]},"weight_mean":{"__ndarray__":"AAAAAAC9okAsMl+aOAKiQKuqqqqqPqhAjqbOrz0EqUBD0x3stxKwQA==","dtype":"float64","order":"little","shape":[5]},"weight_min":{"__ndarray__":"AAAAAACYoEAAAAAAADSZQAAAAAAAHKZAAAAAAABQo0AAAAAAAByoQA==","dtype":"float64","order":"little","shape":[5]},"weight_std":{"__ndarray__":"udhs7B3ybkC6+VSg9G11QA9pSX6AZXdAdmeNgiLGdEC+UR6eVA18QA==","dtype":"float64","order":"little","shape":[5]},"yr_25%":{"__ndarray__":"AAAAAAAwUkAAAAAAAIBSQAAAAAAAoFNAAAAAAACAUkAAAAAAAABSQA==","dtype":"float64","order":"little","shape":[5]},"yr_50%":{"__ndarray__":"AAAAAADAUkAAAAAAAEBTQAAAAAAAwFNAAAAAAAAAU0AAAAAAAEBSQA==","dtype":"float64","order":"little","shape":[5]},"yr_75%":{"__ndarray__":"AAAAAABwU0AAAAAAAABUQAAAAAAA4FNAAAAAAACAU0AAAAAAAABTQA==","dtype":"float64","order":"little","shape":[5]},"yr_count":{"__ndarray__":"AAAAAAAAEEAAAAAAAOBoQAAAAAAAAAhAAAAAAADAVEAAAAAAAMBZQA==","dtype":"float64","order":"little","shape":[5]},"yr_max":{"__ndarray__":"AAAAAAAAVEAAAAAAAIBUQAAAAAAAAFRAAAAAAACAVEAAAAAAAEBUQA==","dtype":"float64","order":"little","shape":[5]},"yr_mean":{"__ndarray__":"AAAAAADgUkDEWG397UFTQAAAAAAAwFNAghLeaOr8UkCL+ARSyXlSQA==","dtype":"float64","order":"little","shape":[5]},"yr_min":{"__ndarray__":"AAAAAAAAUkAAAAAAAIBRQAAAAAAAgFNAAAAAAACAUUAAAAAAAIBRQA==","dtype":"float64","order":"little","shape":[5]},"yr_std":{"__ndarray__":"p1MQvCOTDUAd5PLGXeYNQAAAAAAAAPA/p0OY+nMdCkAEv1x2cisIQA==","dtype":"float64","order":"little","shape":[5]}},"selected":{"id":"2045"},"selection_policy":{"id":"2044"}},"id":"1931","type":"ColumnDataSource"},{"attributes":{},"id":"1949","type":"PanTool"},{"attributes":{"axis":{"id":"1945"},"coordinates":null,"dimension":1,"group":null,"ticker":null},"id":"1948","type":"Grid"},{"attributes":{"bottom_units":"screen","coordinates":null,"fill_alpha":0.5,"fill_color":"lightgrey","group":null,"left_units":"screen","level":"overlay","line_alpha":1.0,"line_color":"black","line_dash":[4,4],"line_width":2,"right_units":"screen","syncable":false,"top_units":"screen"},"id":"1955","type":"BoxAnnotation"},{"attributes":{"coordinates":null,"data_source":{"id":"1931"},"glyph":{"id":"1964"},"group":null,"hover_glyph":null,"muted_glyph":{"id":"1966"},"nonselection_glyph":{"id":"1965"},"view":{"id":"1968"}},"id":"1967","type":"GlyphRenderer"},{"attributes":{"tools":[{"id":"1949"},{"id":"1950"},{"id":"1951"},{"id":"1952"},{"id":"1953"},{"id":"1954"}]},"id":"1956","type":"Toolbar"},{"attributes":{},"id":"2040","type":"AllLabels"},{"attributes":{"coordinates":null,"group":null},"id":"2036","type":"Title"},{"attributes":{"fill_color":{"field":"cyl","transform":{"id":"1932"}},"line_color":{"value":"white"},"top":{"field":"mpg_mean"},"x":{"field":"cyl"}},"id":"1964","type":"VBar"},{"attributes":{},"id":"2039","type":"BasicTickFormatter"},{"attributes":{},"id":"2042","type":"CategoricalTickFormatter"},{"attributes":{"source":{"id":"1931"}},"id":"1968","type":"CDSView"},{"attributes":{},"id":"2045","type":"Selection"},{"attributes":{},"id":"1943","type":"CategoricalTicker"},{"attributes":{"axis_label":"number of cylinders","coordinates":null,"formatter":{"id":"2042"},"group":null,"major_label_policy":{"id":"2043"},"ticker":{"id":"1943"}},"id":"1942","type":"CategoricalAxis"},{"attributes":{"fill_alpha":{"value":0.2},"fill_color":{"field":"cyl","transform":{"id":"1932"}},"hatch_alpha":{"value":0.2},"line_alpha":{"value":0.2},"line_color":{"value":"white"},"top":{"field":"mpg_mean"},"x":{"field":"cyl"}},"id":"1966","type":"VBar"},{"attributes":{},"id":"2043","type":"AllLabels"},{"attributes":{"factors":["3","4","5","6","8"],"palette":["#2b83ba","#abdda4","#ffffbf","#fdae61","#d7191c"]},"id":"1932","type":"CategoricalColorMapper"},{"attributes":{"overlay":{"id":"1955"}},"id":"1951","type":"BoxZoomTool"},{"attributes":{},"id":"1952","type":"SaveTool"},{"attributes":{},"id":"1946","type":"BasicTicker"},{"attributes":{"factors":["3","4","5","6","8"]},"id":"1934","type":"FactorRange"},{"attributes":{"start":0},"id":"1936","type":"DataRange1d"},{"attributes":{},"id":"1953","type":"ResetTool"},{"attributes":{"axis":{"id":"1942"},"coordinates":null,"grid_line_color":null,"group":null,"ticker":null},"id":"1944","type":"Grid"},{"attributes":{"axis_label":"Mean MPG","coordinates":null,"formatter":{"id":"2039"},"group":null,"major_label_policy":{"id":"2040"},"ticker":{"id":"1946"}},"id":"1945","type":"LinearAxis"},{"attributes":{},"id":"2044","type":"UnionRenderers"},{"attributes":{"fill_alpha":{"value":0.1},"fill_color":{"field":"cyl","transform":{"id":"1932"}},"hatch_alpha":{"value":0.1},"line_alpha":{"value":0.1},"line_color":{"value":"white"},"top":{"field":"mpg_mean"},"x":{"field":"cyl"}},"id":"1965","type":"VBar"},{"attributes":{},"id":"1950","type":"WheelZoomTool"},{"attributes":{},"id":"1954","type":"HelpTool"}],"root_ids":["1933"]},"title":"Bokeh Application","version":"2.4.3"}};
1644
- const render_items = [{"docid":"0148fb35-1851-4a4f-bb64-9b3f4227179c","root_ids":["1933"],"roots":{"1933":"f3dee939-12c9-4951-806c-cd27369930b6"}}];
1645
- root.Bokeh.embed.embed_items_notebook(docs_json, render_items);
1646
- }
1647
- if (root.Bokeh !== undefined) {
1648
- embed_document(root);
1649
- } else {
1650
- let attempts = 0;
1651
- const timer = setInterval(function(root) {
1652
- if (root.Bokeh !== undefined) {
1653
- clearInterval(timer);
1654
- embed_document(root);
1655
- } else {
1656
- attempts++;
1657
- if (attempts > 100) {
1658
- clearInterval(timer);
1659
- console.log("Bokeh: ERROR: Unable to run BokehJS code because BokehJS library is missing");
1660
- }
1661
- }
1662
- }, 10, root)
1663
- }
1664
- })(window);
1665
- </script>
1666
- </div>
1667
-
1668
- </div>
1669
-
1670
- </div>
1671
- </div>
1672
-
1673
- </div>
1674
- <div class="cell border-box-sizing text_cell rendered"><div class="inner_cell">
1675
- <div class="text_cell_render border-box-sizing rendered_html">
1676
- <h3 id="Categorical-Scatterplots">Categorical Scatterplots<a class="anchor-link" href="#Categorical-Scatterplots">&#182;</a></h3><p>So far we have seen Categorical data used together with various bar glyphs. But Bokeh can use categorical coordinates for most any glyphs. Let's create a scatter plot with categorical coordinates on one axis. The <code>commits</code> data set simply has a series datetimes of GitHub commit. Additional columns to express the day and hour of day for each commit have already been added.</p>
1677
-
1678
- </div>
1679
- </div>
1680
- </div>
1681
-
1682
-
1683
-
1684
- <div class="
1685
- cell border-box-sizing code_cell rendered">
1686
- <div class="input">
1687
-
1688
- <div class="inner_cell">
1689
- <div class="input_area">
1690
- <div class=" highlight hl-ipython3"><pre><span></span><span class="kn">from</span> <span class="nn">bokeh.sampledata.commits</span> <span class="kn">import</span> <span class="n">data</span>
1691
-
1692
- <span class="n">data</span><span class="o">.</span><span class="n">head</span><span class="p">()</span>
1693
- </pre></div>
1694
-
1695
- </div>
1696
- </div>
1697
- </div>
1698
-
1699
- <div class="output_wrapper">
1700
- <div class="output">
1701
-
1702
-
1703
- <div class="output_area">
1704
-
1705
-
1706
-
1707
-
1708
- <div class="output_html rendered_html output_subarea output_execute_result">
1709
- <div>
1710
- <style scoped>
1711
- .dataframe tbody tr th:only-of-type {
1712
- vertical-align: middle;
1713
- }
1714
-
1715
- .dataframe tbody tr th {
1716
- vertical-align: top;
1717
- }
1718
-
1719
- .dataframe thead th {
1720
- text-align: right;
1721
- }
1722
- </style>
1723
- <table border="1" class="dataframe">
1724
- <thead>
1725
- <tr style="text-align: right;">
1726
- <th></th>
1727
- <th>day</th>
1728
- <th>time</th>
1729
- </tr>
1730
- <tr>
1731
- <th>datetime</th>
1732
- <th></th>
1733
- <th></th>
1734
- </tr>
1735
- </thead>
1736
- <tbody>
1737
- <tr>
1738
- <th>2017-04-22 15:11:58-05:00</th>
1739
- <td>Sat</td>
1740
- <td>15:11:58</td>
1741
- </tr>
1742
- <tr>
1743
- <th>2017-04-21 14:20:57-05:00</th>
1744
- <td>Fri</td>
1745
- <td>14:20:57</td>
1746
- </tr>
1747
- <tr>
1748
- <th>2017-04-20 14:35:08-05:00</th>
1749
- <td>Thu</td>
1750
- <td>14:35:08</td>
1751
- </tr>
1752
- <tr>
1753
- <th>2017-04-20 10:34:29-05:00</th>
1754
- <td>Thu</td>
1755
- <td>10:34:29</td>
1756
- </tr>
1757
- <tr>
1758
- <th>2017-04-20 09:17:23-05:00</th>
1759
- <td>Thu</td>
1760
- <td>09:17:23</td>
1761
- </tr>
1762
- </tbody>
1763
- </table>
1764
- </div>
1765
- </div>
1766
-
1767
- </div>
1768
-
1769
- </div>
1770
- </div>
1771
-
1772
- </div>
1773
- <div class="cell border-box-sizing text_cell rendered"><div class="inner_cell">
1774
- <div class="text_cell_render border-box-sizing rendered_html">
1775
- <p>To create our scatter plot, we pass the list of categories as the range just as before</p>
1776
- <div class="highlight"><pre><span></span><span class="n">p</span> <span class="o">=</span> <span class="n">figure</span><span class="p">(</span><span class="n">y_range</span><span class="o">=</span><span class="n">DAYS</span><span class="p">,</span> <span class="o">...</span><span class="p">)</span>
1777
- </pre></div>
1778
- <p>Then we can plot circles for each commit, with <code>"time"</code> driving the x-coordinate, and <code>"day"</code> driving the y-coordinate.</p>
1779
- <div class="highlight"><pre><span></span><span class="n">p</span><span class="o">.</span><span class="n">circle</span><span class="p">(</span><span class="n">x</span><span class="o">=</span><span class="s1">&#39;time&#39;</span><span class="p">,</span> <span class="n">y</span><span class="o">=</span><span class="s1">&#39;day&#39;</span><span class="p">,</span> <span class="o">...</span><span class="p">)</span>
1780
- </pre></div>
1781
- <p>To make the values more distinguishable, we can also add a <code>jitter</code> transform to the y-coordinate, which is shown in the complete example below.</p>
1782
-
1783
- </div>
1784
- </div>
1785
- </div>
1786
-
1787
-
1788
-
1789
- <div class="
1790
- cell border-box-sizing code_cell rendered">
1791
- <div class="input">
1792
-
1793
- <div class="inner_cell">
1794
- <div class="input_area">
1795
- <div class=" highlight hl-ipython3"><pre><span></span><span class="kn">from</span> <span class="nn">bokeh.transform</span> <span class="kn">import</span> <span class="n">jitter</span>
1796
-
1797
- <span class="n">DAYS</span> <span class="o">=</span> <span class="p">[</span><span class="s1">&#39;Sun&#39;</span><span class="p">,</span> <span class="s1">&#39;Sat&#39;</span><span class="p">,</span> <span class="s1">&#39;Fri&#39;</span><span class="p">,</span> <span class="s1">&#39;Thu&#39;</span><span class="p">,</span> <span class="s1">&#39;Wed&#39;</span><span class="p">,</span> <span class="s1">&#39;Tue&#39;</span><span class="p">,</span> <span class="s1">&#39;Mon&#39;</span><span class="p">]</span>
1798
- <span class="n">source</span> <span class="o">=</span> <span class="n">ColumnDataSource</span><span class="p">(</span><span class="n">data</span><span class="p">)</span>
1799
-
1800
- <span class="n">p</span> <span class="o">=</span> <span class="n">figure</span><span class="p">(</span>
1801
- <span class="n">plot_height</span><span class="o">=</span><span class="mi">400</span><span class="p">,</span>
1802
- <span class="n">plot_width</span><span class="o">=</span><span class="mi">800</span><span class="p">,</span>
1803
- <span class="n">y_range</span><span class="o">=</span><span class="n">DAYS</span><span class="p">,</span>
1804
- <span class="n">x_axis_type</span><span class="o">=</span><span class="s1">&#39;datetime&#39;</span><span class="p">,</span>
1805
- <span class="n">title</span><span class="o">=</span><span class="s2">&quot;Commits by Time of Day (US/Central) 2012—2016&quot;</span>
1806
- <span class="p">)</span>
1807
-
1808
- <span class="n">p</span><span class="o">.</span><span class="n">circle</span><span class="p">(</span>
1809
- <span class="n">x</span><span class="o">=</span><span class="s1">&#39;time&#39;</span><span class="p">,</span>
1810
- <span class="n">y</span><span class="o">=</span><span class="n">jitter</span><span class="p">(</span><span class="s1">&#39;day&#39;</span><span class="p">,</span> <span class="n">width</span><span class="o">=</span><span class="mf">0.6</span><span class="p">,</span> <span class="nb">range</span><span class="o">=</span><span class="n">p</span><span class="o">.</span><span class="n">y_range</span><span class="p">),</span>
1811
- <span class="n">alpha</span><span class="o">=</span><span class="mf">0.3</span><span class="p">,</span>
1812
- <span class="n">source</span><span class="o">=</span><span class="n">source</span>
1813
- <span class="p">)</span>
1814
-
1815
- <span class="n">p</span><span class="o">.</span><span class="n">xaxis</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span><span class="o">.</span><span class="n">formatter</span><span class="o">.</span><span class="n">days</span> <span class="o">=</span> <span class="p">[</span><span class="s1">&#39;%Hh&#39;</span><span class="p">]</span>
1816
- <span class="n">p</span><span class="o">.</span><span class="n">x_range</span><span class="o">.</span><span class="n">range_padding</span> <span class="o">=</span> <span class="mi">0</span>
1817
- <span class="n">p</span><span class="o">.</span><span class="n">ygrid</span><span class="o">.</span><span class="n">grid_line_color</span> <span class="o">=</span> <span class="kc">None</span>
1818
-
1819
- <span class="c1"># show the results</span>
1820
- <span class="n">show</span><span class="p">(</span><span class="n">p</span><span class="p">)</span>
1821
- </pre></div>
1822
-
1823
- </div>
1824
- </div>
1825
- </div>
1826
-
1827
- <div class="output_wrapper">
1828
- <div class="output">
1829
-
1830
-
1831
- <div class="output_area">
1832
-
1833
-
1834
-
1835
-
1836
- <div class="output_html rendered_html output_subarea ">
1837
-
1838
- <div class="bk-root" id="c8a49138-42fc-4d47-82d3-e565c499c30d" data-root-id="2103"></div>
1839
-
1840
- </div>
1841
-
1842
- </div>
1843
-
1844
- <div class="output_area">
1845
-
1846
-
1847
-
1848
-
1849
-
1850
-
1851
- <div id="aa9673f9-f1b0-48bf-9bc0-48ba232f2391"></div>
1852
- <div class="output_subarea output_javascript ">
1853
- <script type="text/javascript">
1854
- var element = $('#aa9673f9-f1b0-48bf-9bc0-48ba232f2391');
1855
- (function(root) {
1856
- function embed_document(root) {
1857
- const docs_json = {"782f9d92-8206-4e6d-a5bc-2fed73501171":{"defs":[],"roots":{"references":[{"attributes":{"below":[{"id":"2114"}],"center":[{"id":"2117"},{"id":"2120"}],"height":400,"left":[{"id":"2118"}],"renderers":[{"id":"2140"}],"title":{"id":"2104"},"toolbar":{"id":"2128"},"width":800,"x_range":{"id":"2106"},"x_scale":{"id":"2110"},"y_range":{"id":"2108"},"y_scale":{"id":"2112"}},"id":"2103","subtype":"Figure","type":"Plot"},{"attributes":{"months":[0,2,4,6,8,10]},"id":"2239","type":"MonthsTicker"},{"attributes":{"base":60,"mantissas":[1,2,5,10,15,20,30],"max_interval":1800000.0,"min_interval":1000.0,"num_minor_ticks":0},"id":"2232","type":"AdaptiveTicker"},{"attributes":{"axis":{"id":"2114"},"coordinates":null,"group":null,"ticker":null},"id":"2117","type":"Grid"},{"attributes":{},"id":"2125","type":"ResetTool"},{"attributes":{"months":[0,4,8]},"id":"2240","type":"MonthsTicker"},{"attributes":{"coordinates":null,"formatter":{"id":"2142"},"group":null,"major_label_policy":{"id":"2227"},"ticker":{"id":"2115"}},"id":"2114","type":"DatetimeAxis"},{"attributes":{},"id":"2124","type":"SaveTool"},{"attributes":{},"id":"2126","type":"HelpTool"},{"attributes":{},"id":"2229","type":"Selection"},{"attributes":{"months":[0,6]},"id":"2241","type":"MonthsTicker"},{"attributes":{},"id":"2224","type":"AllLabels"},{"attributes":{"coordinates":null,"group":null,"text":"Commits by Time of Day (US/Central) 2012\u20142016"},"id":"2104","type":"Title"},{"attributes":{},"id":"2121","type":"PanTool"},{"attributes":{"factors":["Sun","Sat","Fri","Thu","Wed","Tue","Mon"]},"id":"2108","type":"FactorRange"},{"attributes":{"overlay":{"id":"2127"}},"id":"2123","type":"BoxZoomTool"},{"attributes":{},"id":"2227","type":"AllLabels"},{"attributes":{},"id":"2110","type":"LinearScale"},{"attributes":{"range_padding":0},"id":"2106","type":"DataRange1d"},{"attributes":{},"id":"2119","type":"CategoricalTicker"},{"attributes":{},"id":"2228","type":"UnionRenderers"},{"attributes":{"axis":{"id":"2118"},"coordinates":null,"dimension":1,"grid_line_color":null,"group":null,"ticker":null},"id":"2120","type":"Grid"},{"attributes":{"days":[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31]},"id":"2234","type":"DaysTicker"},{"attributes":{},"id":"2242","type":"YearsTicker"},{"attributes":{},"id":"2122","type":"WheelZoomTool"},{"attributes":{"mantissas":[1,2,5],"max_interval":500.0,"num_minor_ticks":0},"id":"2231","type":"AdaptiveTicker"},{"attributes":{"tools":[{"id":"2121"},{"id":"2122"},{"id":"2123"},{"id":"2124"},{"id":"2125"},{"id":"2126"}]},"id":"2128","type":"Toolbar"},{"attributes":{"fill_alpha":{"value":0.3},"fill_color":{"value":"#1f77b4"},"hatch_alpha":{"value":0.3},"line_alpha":{"value":0.3},"line_color":{"value":"#1f77b4"},"x":{"field":"time"},"y":{"field":"day","transform":{"id":"2135"}}},"id":"2137","type":"Circle"},{"attributes":{"data":{"datetime":{"__ndarray__":"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","dtype":"float64","order":"little","shape":[4916]},"day":["Sat","Fri","Thu","Thu","Thu","Wed","Wed","Wed","Wed","Wed","Wed","Mon","Sun","Sun","Sun","Sun","Wed","Wed","Wed","Sat","Fri","Fri","Fri","Fri","Fri","Fri","Fri","Fri","Fri","Thu","Thu","Thu","Thu","Thu","Thu","Thu","Thu","Wed","Wed","Wed","Wed","Mon","Mon","Mon","Mon","Mon","Mon","Mon","Sat","Sat","Sat","Thu","Wed","Wed","Wed","Wed","Tue","Thu","Thu","Wed","Wed","Wed","Wed","Mon","Fri","Thu","Sun","Fri","Fri","Fri","Fri","Tue","Tue","Tue","Tue","Tue","Mon","Mon","Mon","Sun","Sat","Sat","Wed","Sat","Sat","Sat","Thu","Thu","Thu","Thu","Thu","Thu","Thu","Thu","Thu","Thu","Thu","Thu","Thu","Thu","Tue","Tue","Mon","Thu","Thu","Thu","Thu","Thu","Thu","Thu","Thu","Thu","Thu","Thu","Thu","Thu","Thu","Thu","Thu","Thu","Thu","Thu","Thu","Thu","Thu","Thu","Thu","Thu","Thu","Thu","Thu","Wed","Wed","Wed","Wed","Wed","Wed","Wed","Wed","Wed","Wed","Wed","Wed","Wed","Wed","Wed","Wed","Wed","Wed","Wed","Wed","Sun","Sat","Wed","Wed","Tue","Tue","Mon","Mon","Mon","Mon","Mon","Mon","Tue","Tue","Tue","Tue","Fri","Thu","Thu","Thu","Thu","Thu","Thu","Thu","Thu","Thu","Thu","Thu","Tue","Tue","Tue","Tue","Tue","Thu","Wed","Wed","Tue","Tue","Tue","Tue","Mon","Mon","Sat","Sat","Fri","Fri","Fri","Fri","Fri","Fri","Wed","Wed","Wed","Wed","Wed","Wed","Wed","Wed","Tue","Tue","Mon","Mon","Mon","Mon","Mon","Mon","Fri","Wed","Wed","Mon","Mon","Mon","Mon","Mon","Mon","Mon","Mon","Sun","Sun","Thu","Wed","Mon","Fri","Fri","Wed","Wed","Wed","Wed","Wed","Tue","Mon","Mon","Fri","Fri","Fri","Fri","Fri","Fri","Fri","Wed","Wed","Wed","Tue","Tue","Tue","Tue","Tue","Tue","Tue","Tue","Tue","Tue","Tue","Tue","Tue","Tue","Tue","Tue","Fri","Wed","Fri","Fri","Fri","Fri","Fri","Fri","Fri","Fri","Fri","Fri","Fri","Fri","Fri","Fri","Fri","Wed","Wed","Wed","Wed","Wed","Wed","Wed","Tue","Tue","Tue","Mon","Mon","Sat","Sat","Wed","Wed","Fri","Fri","Fri","Fri","Fri","Fri","Fri","Fri","Wed","Mon","Mon","Mon","Mon","Mon","Mon","Mon","Sun","Wed","Tue","Thu","Thu","Thu","Fri","Thu","Thu","Thu","Thu","Wed","Wed","Sun","Wed","Wed","Tue","Tue","Mon","Mon","Tue","Tue","Sat","Sat","Fri","Wed","Wed","Tue","Tue","Tue","Tue","Sun","Sun","Sun","Mon","Mon","Mon","Mon","Mon","Mon","Mon","Mon","Sun","Sat","Sat","Sat","Fri","Fri","Wed","Tue","Tue","Tue","Mon","Mon","Sun","Sun","Sun","Sun","Sun","Sat","Fri","Fri","Fri","Fri","Thu","Thu","Thu","Tue","Tue","Mon","Sun","Sun","Sat","Sat","Sat","Sat","Sat","Sat","Sat","Sat","Sat","Sat","Fri","Fri","Fri","Fri","Fri","Fri","Tue","Wed","Wed","Wed","Wed","Tue","Tue","Tue","Tue","Thu","Thu","Sun","Sun","Thu","Sat","Sat","Sat","Thu","Thu","Wed","Wed","Wed","Wed","Wed","Wed","Tue","Mon","Mon","Mon","Sun","Sun","Sat","Sat","Sat","Sat","Fri","Fri","Wed","Wed","Wed","Wed","Wed","Wed","Wed","Wed","Tue","Tue","Tue","Tue","Tue","Tue","Tue","Tue","Sat","Sat","Sat","Fri","Fri","Fri","Fri","Fri","Fri","Fri","Fri","Thu","Wed","Wed","Wed","Wed","Wed","Wed","Wed","Wed","Fri","Fri","Fri","Fri","Fri","Fri","Thu","Thu","Thu","Thu","Wed","Wed","Wed","Tue","Tue","Tue","Tue","Tue","Tue","Tue","Tue","Mon","Mon","Mon","Mon","Mon","Mon","Mon","Mon","Mon","Mon","Mon","Mon","Mon","Mon","Sun","Sat","Sat","Sat","Sat","Fri","Fri","Fri","Fri","Fri","Fri","Fri","Thu","Thu","Thu","Wed","Wed","Wed","Wed","Wed","Wed","Tue","Tue","Tue","Tue","Mon","Mon","Mon","Mon","Mon","Mon","Mon","Mon","Sun","Mon","Sun","Fri","Thu","Thu","Wed","Wed","Tue","Tue","Tue","Sat","Sat","Sat","Sat","Sat","Sat","Fri","Fri","Fri","Mon","Sat","Sat","Sat","Fri","Fri","Fri","Wed","Wed","Wed","Wed","Wed","Wed","Wed","Wed","Tue","Tue","Fri","Fri","Fri","Fri","Fri","Fri","Fri","Fri","Fri","Fri","Thu","Thu","Thu","Wed","Wed","Wed","Mon","Mon","Mon","Mon","Mon","Mon","Mon","Mon","Mon","Mon","Mon","Mon","Wed","Wed","Wed","Tue","Tue","Tue","Tue","Tue","Tue","Tue","Tue","Tue","Mon","Sun","Sun","Sun","Thu","Thu","Thu","Mon","Mon","Mon","Sat","Sat","Sat","Sat","Sat","Sat","Sat","Fri","Fri","Thu","Thu","Thu","Wed","Wed","Wed","Fri","Fri","Fri","Fri","Fri","Thu","Thu","Thu","Thu","Thu","Thu","Thu","Thu","Wed","Wed","Wed","Wed","Wed","Wed","Tue","Tue","Tue","Tue","Tue","Tue","Tue","Tue","Tue","Tue","Mon","Mon","Sun","Sat","Sat","Sat","Sat","Sat","Sat","Sat","Sat","Fri","Fri","Fri","Thu","Thu","Thu","Thu","Thu","Thu","Thu","Thu","Thu","Thu","Thu","Thu","Wed","Wed","Wed","Wed","Wed","Wed","Wed","Wed","Wed","Wed","Wed","Wed","Wed","Tue","Tue","Tue","Tue","Tue","Tue","Tue","Tue","Tue","Tue","Mon","Mon","Mon","Mon","Mon","Mon","Mon","Mon","Mon","Mon","Mon","Sun","Sun","Sun","Sun","Sun","Sun","Sun","Sun","Sun","Sun","Sun","Sun","Sun","Sun","Sun","Wed","Tue","Wed","Tue","Tue","Tue","Tue","Tue","Tue","Tue","Tue","Tue","Tue","Tue","Tue","Tue","Tue","Tue","Tue","Tue","Tue","Tue","Tue","Tue","Tue","Tue","Tue","Mon","Mon","Sun","Sun","Sun","Sun","Sun","Sun","Sun","Sun","Sun","Sun","Sat","Fri","Fri","Fri","Fri","Thu","Thu","Wed","Wed","Wed","Wed","Wed","Wed","Wed","Wed","Wed","Wed","Tue","Tue","Tue","Mon","Mon","Mon","Mon","Mon","Mon","Sat","Sat","Sat","Fri","Fri","Fri","Fri","Fri","Fri","Fri","Fri","Fri","Fri","Fri","Fri","Fri","Fri","Fri","Fri","Fri","Thu","Thu","Thu","Thu","Thu","Wed","Wed","Wed","Wed","Wed","Wed","Wed","Wed","Mon","Mon","Mon","Sun","Sun","Sun","Sun","Sun","Sat","Sat","Fri","Fri","Fri","Fri","Fri","Thu","Thu","Thu","Tue","Tue","Tue","Tue","Tue","Tue","Mon","Mon","Mon","Mon","Mon","Mon","Mon","Mon","Mon","Mon","Mon","Mon","Mon","Mon","Mon","Mon","Mon","Mon","Mon","Sun","Sun","Sun","Sun","Sun","Sun","Sun","Sun","Sun","Sat","Fri","Fri","Fri","Fri","Fri","Fri","Fri","Fri","Fri","Fri","Fri","Fri","Fri","Fri","Fri","Fri","Fri","Fri","Fri","Thu","Thu","Thu","Thu","Thu","Thu","Thu","Thu","Thu","Thu","Thu","Thu","Thu","Thu","Thu","Thu","Thu","Thu","Thu","Thu","Thu","Thu","Thu","Thu","Thu","Thu","Thu","Thu","Thu","Thu","Thu","Thu","Thu","Thu","Thu","Thu","Thu","Thu","Thu","Thu","Thu","Thu","Thu","Thu","Thu","Thu","Wed","Wed","Wed","Wed","Wed","Wed","Wed","Wed","Wed","Wed","Wed","Wed","Wed","Wed","Wed","Wed","Wed","Wed","Wed","Wed","Wed","Wed","Wed","Wed","Tue","Tue","Tue","Tue","Tue","Tue","Tue","Tue","Tue","Tue","Tue","Tue","Tue","Tue","Tue","Mon","Mon","Mon","Mon","Mon","Mon","Mon","Mon","Mon","Mon","Mon","Mon","Mon","Mon","Mon","Mon","Mon","Mon","Mon","Mon","Sun","Sat","Sat","Sat","Sat","Sat","Sat","Sat","Sat","Sat","Sat","Sat","Sat","Sat","Sat","Sat","Sat","Sat","Sat","Sat","Sat","Sat","Fri","Fri","Fri","Fri","Fri","Thu","Thu","Thu","Wed","Thu","Thu","Thu","Wed","Wed","Wed","Wed","Thu","Thu","Wed","Wed","Wed","Fri","Fri","Fri","Thu","Thu","Thu","Wed","Thu","Tue","Tue","Tue","Thu","Thu","Wed","Thu","Thu","Thu","Thu","Thu","Thu","Thu","Thu","Thu","Thu","Wed","Wed","Wed","Wed","Wed","Tue","Tue","Tue","Tue","Tue","Tue","Tue","Tue","Tue","Tue","Tue","Tue","Tue","Tue","Tue","Tue","Tue","Tue","Tue","Tue","Tue","Tue","Tue","Tue","Tue","Tue","Tue","Tue","Tue","Tue","Tue","Tue","Tue","Tue","Tue","Tue","Tue","Tue","Tue","Tue","Tue","Tue","Tue","Tue","Tue","Tue","Tue","Tue","Tue","Tue","Tue","Tue","Tue","Tue","Tue","Tue","Tue","Tue","Tue","Tue","Tue","Tue","Tue","Tue","Tue","Tue","Tue","Tue","Tue","Tue","Tue","Tue","Tue","Tue","Tue","Tue","Mon","Mon","Mon","Mon","Mon","Mon","Mon","Mon","Mon","Mon","Mon","Sun","Sun","Sun","Sun","Sun","Sun","Sun","Sun","Sun","Sun","Sun","Sun","Sun","Sun","Sun","Sun","Sun","Sun","Sun","Sat","Sat","Sat","Sat","Sat","Sat","Sat","Sat","Sat","Sat","Sat","Sat","Sat","Sat","Sat","Sat","Sat","Sat","Sat","Sat","Sat","Sat","Sat","Sat","Sat","Sat","Sat","Sat","Sat","Sat","Sat","Sat","Sat","Sat","Sat","Sat","Sat","Sat","Sat","Fri","Fri","Fri","Fri","Fri","Fri","Fri","Fri","Fri","Fri","Fri","Fri","Thu","Thu","Thu","Thu","Thu","Thu","Thu","Wed","Wed","Wed","Wed","Wed","Wed","Tue","Tue","Tue","Tue","Tue","Tue","Tue","Tue","Tue","Tue","Tue","Tue","Tue","Mon","Mon","Mon","Mon","Mon","Mon","Mon","Mon","Mon","Mon","Mon","Mon","Mon","Mon","Mon","Sun","Sun","Sun","Sun","Sun","Sun","Sun","Sun","Sat","Sat","Sat","Sat","Fri","Fri","Fri","Fri","Fri","Thu","Thu","Thu","Thu","Thu","Thu","Thu","Thu","Thu","Thu","Wed","Wed","Wed","Wed","Wed","Wed","Wed","Wed","Wed","Wed","Wed","Wed","Wed","Wed","Wed","Tue","Tue","Tue","Tue","Tue","Tue","Tue","Tue","Tue","Tue","Tue","Tue","Tue","Tue","Tue","Tue","Tue","Tue","Tue","Tue","Tue","Tue","Tue","Mon","Mon","Mon","Mon","Mon","Mon","Mon","Mon","Mon","Mon","Mon","Mon","Mon","Mon","Mon","Sun","Sun","Sun","Fri","Thu","Thu","Thu","Thu","Thu","Thu","Thu","Thu","Wed","Wed","Wed","Wed","Wed","Wed","Wed","Wed","Wed","Wed","Wed","Wed","Wed","Tue","Tue","Tue","Tue","Tue","Tue","Tue","Tue","Tue","Tue","Tue","Mon","Mon","Mon","Mon","Mon","Mon","Mon","Mon","Mon","Mon","Mon","Mon","Mon","Mon","Mon","Mon","Mon","Mon","Mon","Mon","Mon","Mon","Mon","Mon","Sat","Sat","Sat","Sat","Sat","Sat","Sat","Sat","Sat","Sat","Sat","Sat","Fri","Fri","Fri","Fri","Fri","Fri","Fri","Fri","Fri","Fri","Fri","Fri","Fri","Fri","Fri","Fri","Fri","Wed","Wed","Wed","Wed","Tue","Fri","Fri","Fri","Fri","Fri","Thu","Thu","Wed","Wed","Wed","Wed","Wed","Wed","Wed","Wed","Wed","Wed","Wed","Tue","Tue","Tue","Tue","Mon","Mon","Mon","Mon","Mon","Sun","Sun","Sun","Sat","Sat","Sat","Sat","Sat","Fri","Fri","Fri","Fri","Fri","Fri","Fri","Thu","Thu","Thu","Thu","Thu","Sat","Sat","Thu","Thu","Thu","Thu","Thu","Thu","Thu","Thu","Thu","Thu","Thu","Thu","Thu","Thu","Thu","Thu","Thu","Thu","Thu","Wed","Wed","Wed","Wed","Wed","Wed","Wed","Wed","Tue","Tue","Tue","Tue","Tue","Tue","Tue","Mon","Mon","Mon","Mon","Mon","Mon","Sun","Sat","Sat","Sat","Sat","Sat","Sat","Sat","Sat","Sat","Sat","Fri","Thu","Mon","Sat","Fri","Tue","Tue","Tue","Tue","Sun","Sun","Tue","Sat","Sat","Sat","Mon","Mon","Mon","Fri","Thu","Thu","Thu","Thu","Wed","Wed","Wed","Wed","Wed","Wed","Wed","Tue","Tue","Tue","Tue","Tue","Mon","Mon","Mon","Sat","Mon","Mon","Mon","Mon","Sat","Sat","Sat","Sat","Sat","Sat","Fri","Fri","Fri","Thu","Wed","Tue","Tue","Mon","Mon","Mon","Mon","Mon","Mon","Mon","Mon","Fri","Fri","Fri","Fri","Fri","Fri","Fri","Fri","Fri","Fri","Fri","Fri","Thu","Thu","Thu","Thu","Thu","Thu","Thu","Thu","Thu","Thu","Thu","Thu","Thu","Thu","Thu","Thu","Thu","Thu","Thu","Thu","Thu","Thu","Thu","Thu","Wed","Wed","Wed","Wed","Wed","Mon","Mon","Sat","Thu","Thu","Thu","Thu","Thu","Thu","Thu","Thu","Thu","Thu","Tue","Mon","Fri","Fri","Fri","Thu","Thu","Thu","Thu","Thu","Thu","Wed","Tue","Tue","Tue","Tue","Tue","Tue","Tue","Tue","Fri","Fri","Fri","Thu","Thu","Thu","Thu","Thu","Thu","Thu","Thu","Thu","Thu","Thu","Tue","Mon","Mon","Mon","Mon","Mon","Wed","Wed","Wed","Wed","Wed","Tue","Tue","Sat","Sat","Sat","Fri","Fri","Thu","Thu","Thu","Thu","Wed","Wed","Wed","Wed","Wed","Wed","Wed","Tue","Tue","Tue","Tue","Fri","Thu","Thu","Thu","Thu","Thu","Thu","Thu","Thu","Thu","Thu","Thu","Thu","Thu","Tue","Tue","Mon","Mon","Mon","Sat","Sat","Sat","Sat","Fri","Fri","Fri","Fri","Fri","Fri","Thu","Thu","Thu","Thu","Thu","Thu","Thu","Thu","Wed","Wed","Wed","Tue","Tue","Tue","Tue","Tue","Mon","Mon","Mon","Mon","Mon","Mon","Mon","Mon","Mon","Mon","Mon","Mon","Mon","Mon","Mon","Mon","Mon","Sun","Sun","Sun","Sun","Sun","Sun","Sun","Sun","Sun","Sun","Mon","Fri","Thu","Thu","Thu","Thu","Thu","Thu","Thu","Thu","Thu","Thu","Thu","Thu","Thu","Thu","Thu","Thu","Thu","Wed","Wed","Wed","Wed","Wed","Wed","Wed","Tue","Tue","Tue","Tue","Tue","Tue","Mon","Mon","Mon","Mon","Mon","Mon","Mon","Sun","Sat","Sat","Sat","Sat","Sat","Fri","Fri","Fri","Fri","Fri","Fri","Fri","Fri","Fri","Fri","Fri","Fri","Fri","Thu","Thu","Thu","Thu","Thu","Thu","Thu","Thu","Thu","Thu","Thu","Thu","Thu","Wed","Wed","Wed","Wed","Wed","Wed","Wed","Tue","Tue","Tue","Tue","Tue","Tue","Tue","Sat","Sat","Tue","Tue","Tue","Tue","Tue","Tue","Tue","Wed","Tue","Tue","Wed","Wed","Wed","Wed","Wed","Wed","Wed","Wed","Wed","Tue","Mon","Mon","Mon","Mon","Mon","Mon","Mon","Mon","Sun","Sun","Sun","Thu","Thu","Thu","Wed","Wed","Wed","Wed","Wed","Wed","Wed","Wed","Wed","Wed","Wed","Wed","Wed","Tue","Tue","Tue","Tue","Tue","Mon","Mon","Mon","Mon","Fri","Fri","Thu","Thu","Thu","Thu","Thu","Thu","Thu","Thu","Thu","Wed","Wed","Wed","Wed","Wed","Wed","Wed","Wed","Wed","Wed","Wed","Wed","Tue","Tue","Tue","Tue","Tue","Tue","Tue","Tue","Tue","Tue","Tue","Tue","Tue","Tue","Tue","Tue","Tue","Tue","Mon","Fri","Fri","Fri","Fri","Thu","Thu","Thu","Wed","Wed","Wed","Wed","Tue","Tue","Tue","Mon","Mon","Mon","Sun","Sat","Sat","Sat","Sat","Sat","Sat","Sat","Fri","Fri","Fri","Fri","Fri","Fri","Fri","Fri","Fri","Fri","Fri","Fri","Fri","Fri","Fri","Fri","Fri","Fri","Fri","Fri","Fri","Fri","Fri","Fri","Fri","Fri","Fri","Thu","Thu","Wed","Wed","Wed","Wed","Wed","Tue","Tue","Tue","Tue","Tue","Tue","Tue","Tue","Tue","Tue","Mon","Mon","Mon","Mon","Mon","Mon","Mon","Mon","Mon","Mon","Sat","Fri","Fri","Fri","Fri","Fri","Fri","Fri","Fri","Fri","Thu","Thu","Thu","Thu","Thu","Thu","Wed","Wed","Wed","Wed","Tue","Mon","Mon","Thu","Thu","Thu","Thu","Wed","Sun","Fri","Fri","Fri","Fri","Thu","Thu","Thu","Thu","Wed","Wed","Wed","Wed","Wed","Wed","Wed","Wed","Wed","Wed","Wed","Tue","Tue","Tue","Tue","Tue","Tue","Tue","Tue","Tue","Tue","Tue","Tue","Tue","Tue","Mon","Mon","Mon","Mon","Mon","Mon","Mon","Mon","Mon","Mon","Mon","Mon","Mon","Mon","Mon","Sat","Sat","Sat","Sat","Sat","Fri","Fri","Fri","Fri","Fri","Fri","Fri","Fri","Fri","Fri","Fri","Fri","Fri","Fri","Fri","Fri","Fri","Fri","Fri","Fri","Fri","Thu","Thu","Thu","Thu","Thu","Thu","Thu","Thu","Thu","Thu","Thu","Thu","Thu","Thu","Thu","Thu","Thu","Thu","Thu","Thu","Thu","Thu","Thu","Thu","Thu","Thu","Tue","Tue","Tue","Tue","Tue","Mon","Mon","Mon","Mon","Mon","Sun","Sun","Sun","Sun","Fri","Fri","Fri","Fri","Fri","Fri","Fri","Fri","Thu","Thu","Thu","Thu","Thu","Thu","Sat","Wed","Wed","Tue","Tue","Mon","Mon","Mon","Mon","Mon","Mon","Mon","Mon","Sat","Sat","Sat","Fri","Fri","Fri","Thu","Thu","Thu","Thu","Thu","Thu","Thu","Thu","Thu","Thu","Thu","Thu","Tue","Mon","Mon","Mon","Mon","Mon","Mon","Mon","Fri","Fri","Fri","Fri","Fri","Fri","Fri","Fri","Fri","Fri","Fri","Fri","Fri","Fri","Fri","Fri","Fri","Fri","Thu","Thu","Thu","Thu","Thu","Wed","Wed","Wed","Wed","Wed","Wed","Wed","Wed","Wed","Tue","Tue","Fri","Fri","Fri","Fri","Fri","Fri","Fri","Fri","Fri","Fri","Thu","Thu","Thu","Thu","Thu","Thu","Thu","Thu","Thu","Thu","Thu","Thu","Thu","Wed","Tue","Tue","Tue","Tue","Tue","Tue","Tue","Mon","Mon","Sun","Sat","Sat","Sat","Sat","Thu","Thu","Thu","Thu","Thu","Wed","Wed","Wed","Wed","Wed","Mon","Mon","Mon","Mon","Mon","Mon","Mon","Mon","Mon","Mon","Mon","Mon","Mon","Mon","Mon","Mon","Mon","Mon","Mon","Mon","Mon","Mon","Mon","Mon","Mon","Mon","Mon","Sun","Sun","Sun","Sun","Sun","Sun","Sun","Sun","Fri","Fri","Fri","Thu","Thu","Thu","Wed","Wed","Wed","Wed","Wed","Wed","Wed","Wed","Wed","Wed","Tue","Tue","Tue","Tue","Tue","Tue","Tue","Tue","Tue","Tue","Tue","Tue","Tue","Mon","Mon","Mon","Mon","Mon","Mon","Mon","Mon","Fri","Fri","Fri","Fri","Fri","Fri","Fri","Fri","Fri","Fri","Fri","Fri","Fri","Thu","Thu","Thu","Thu","Thu","Thu","Thu","Thu","Thu","Thu","Wed","Wed","Wed","Wed","Wed","Wed","Wed","Wed","Wed","Wed","Wed","Wed","Wed","Tue","Tue","Tue","Tue","Tue","Tue","Tue","Tue","Tue","Tue","Mon","Mon","Mon","Sat","Sat","Sat","Sat","Sat","Fri","Thu","Thu","Tue","Tue","Tue","Tue","Tue","Tue","Tue","Mon","Mon","Mon","Mon","Mon","Mon","Mon","Mon","Sun","Sun","Sun","Sun","Sun","Sun","Sun","Sun","Sun","Sat","Sat","Sat","Fri","Fri","Fri","Fri","Fri","Fri","Fri","Fri","Fri","Fri","Fri","Fri","Thu","Thu","Thu","Thu","Thu","Thu","Thu","Thu","Thu","Thu","Thu","Wed","Wed","Wed","Wed","Wed","Wed","Tue","Tue","Tue","Tue","Tue","Tue","Tue","Tue","Tue","Tue","Tue","Tue","Tue","Tue","Tue","Tue","Tue","Tue","Mon","Mon","Mon","Sun","Sun","Sun","Sun","Sun","Sun","Sun","Fri","Fri","Tue","Tue","Tue","Tue","Tue","Tue","Tue","Tue","Mon","Mon","Sun","Sun","Sun","Sun","Sun","Sun","Fri","Thu","Thu","Thu","Thu","Wed","Wed","Wed","Wed","Wed","Wed","Wed","Wed","Tue","Tue","Tue","Tue","Tue","Tue","Tue","Tue","Tue","Tue","Tue","Tue","Mon","Mon","Mon","Mon","Mon","Mon","Mon","Mon","Mon","Mon","Mon","Mon","Sun","Fri","Fri","Fri","Fri","Fri","Wed","Wed","Wed","Wed","Wed","Wed","Wed","Wed","Wed","Wed","Wed","Tue","Tue","Tue","Tue","Tue","Tue","Tue","Mon","Mon","Mon","Mon","Mon","Mon","Mon","Wed","Wed","Wed","Wed","Wed","Wed","Wed","Wed","Tue","Tue","Mon","Fri","Fri","Mon","Mon","Mon","Mon","Mon","Mon","Mon","Mon","Mon","Mon","Mon","Mon","Mon","Mon","Mon","Sat","Fri","Fri","Fri","Thu","Thu","Thu","Thu","Wed","Wed","Tue","Tue","Tue","Tue","Tue","Mon","Wed","Wed","Wed","Tue","Tue","Sat","Fri","Fri","Thu","Thu","Thu","Thu","Thu","Thu","Thu","Thu","Thu","Thu","Thu","Thu","Wed","Wed","Wed","Tue","Tue","Tue","Tue","Tue","Tue","Tue","Tue","Tue","Mon","Mon","Mon","Sun","Sun","Sun","Sun","Sun","Sun","Sun","Sun","Sun","Sun","Sun","Sun","Sun","Fri","Fri","Fri","Thu","Thu","Thu","Wed","Wed","Wed","Wed","Wed","Wed","Tue","Tue","Tue","Tue","Mon","Mon","Mon","Mon","Mon","Mon","Mon","Mon","Fri","Fri","Mon","Sat","Sat","Fri","Fri","Fri","Fri","Fri","Fri","Fri","Fri","Fri","Fri","Fri","Thu","Thu","Thu","Thu","Thu","Thu","Wed","Wed","Wed","Wed","Wed","Wed","Wed","Wed","Wed","Wed","Tue","Tue","Mon","Mon","Mon","Mon","Mon","Mon","Mon","Mon","Sun","Sun","Sun","Sun","Fri","Thu","Thu","Thu","Thu","Thu","Wed","Tue","Tue","Mon","Mon","Mon","Mon","Mon","Mon","Mon","Mon","Sun","Fri","Fri","Fri","Fri","Fri","Fri","Fri","Fri","Wed","Wed","Wed","Wed","Wed","Wed","Wed","Wed","Tue","Tue","Tue","Mon","Mon","Mon","Mon","Mon","Mon","Mon","Mon","Mon","Mon","Mon","Mon","Mon","Sat","Sat","Sat","Sat","Fri","Fri","Fri","Fri","Fri","Fri","Fri","Fri","Fri","Fri","Fri","Fri","Fri","Thu","Thu","Thu","Thu","Wed","Wed","Wed","Wed","Wed","Wed","Wed","Wed","Wed","Wed","Wed","Wed","Wed","Mon","Sun","Sun","Sun","Sun","Sun","Sun","Sat","Sat","Fri","Fri","Thu","Wed","Wed","Wed","Wed","Wed","Wed","Wed","Tue","Tue","Tue","Tue","Tue","Tue","Mon","Fri","Fri","Thu","Thu","Thu","Thu","Thu","Thu","Wed","Wed","Mon","Tue","Tue","Tue","Tue","Tue","Tue","Mon","Mon","Fri","Fri","Fri","Thu","Thu","Thu","Thu","Thu","Thu","Thu","Thu","Thu","Thu","Thu","Wed","Wed","Wed","Wed","Wed","Tue","Tue","Tue","Tue","Tue","Tue","Tue","Mon","Sat","Sat","Sat","Sat","Sat","Fri","Fri","Fri","Fri","Fri","Fri","Thu","Thu","Thu","Thu","Wed","Wed","Wed","Tue","Tue","Tue","Tue","Tue","Tue","Tue","Tue","Tue","Tue","Tue","Tue","Tue","Tue","Tue","Tue","Tue","Tue","Tue","Tue","Tue","Tue","Mon","Mon","Mon","Mon","Mon","Mon","Mon","Mon","Mon","Mon","Mon","Mon","Mon","Mon","Mon","Mon","Mon","Mon","Mon","Mon","Mon","Mon","Mon","Mon","Mon","Mon","Mon","Mon","Mon","Mon","Mon","Mon","Sun","Sun","Sun","Sun","Sun","Sun","Sun","Sun","Sat","Sat","Sat","Sat","Fri","Fri","Fri","Fri","Fri","Fri","Fri","Fri","Fri","Fri","Fri","Fri","Fri","Fri","Fri","Fri","Thu","Thu","Thu","Thu","Thu","Thu","Thu","Thu","Thu","Wed","Wed","Wed","Wed","Wed","Wed","Wed","Wed","Wed","Wed","Wed","Wed","Wed","Wed","Wed","Wed","Wed","Wed","Wed","Wed","Wed","Tue","Tue","Tue","Tue","Tue","Tue","Tue","Tue","Tue","Tue","Tue","Tue","Tue","Mon","Mon","Mon","Sun","Sun","Sun","Sun","Sun","Sun","Sun","Sun","Sun","Sat","Sat","Sat","Fri","Fri","Fri","Fri","Fri","Fri","Fri","Fri","Fri","Fri","Thu","Thu","Thu","Thu","Thu","Thu","Thu","Thu","Wed","Wed","Wed","Wed","Wed","Wed","Wed","Wed","Wed","Wed","Wed","Wed","Wed","Wed","Wed","Wed","Tue","Tue","Tue","Tue","Tue","Tue","Tue","Tue","Tue","Tue","Tue","Tue","Tue","Tue","Tue","Tue","Tue","Tue","Mon","Mon","Mon","Mon","Mon","Mon","Mon","Mon","Mon","Mon","Mon","Mon","Mon","Mon","Mon","Mon","Mon","Mon","Mon","Mon","Sun","Sun","Sun","Sun","Sun","Sat","Sat","Sat","Sat","Sat","Sat","Sat","Sat","Fri","Fri","Fri","Fri","Fri","Fri","Fri","Fri","Fri","Fri","Fri","Fri","Thu","Thu","Thu","Wed","Wed","Sun","Sun","Sun","Sun","Sun","Sun","Sun","Sun","Sun","Sun","Sun","Sun","Sun","Sat","Sat","Sat","Sat","Sat","Sat","Sat","Sat","Fri","Fri","Fri","Fri","Fri","Fri","Fri","Fri","Fri","Wed","Wed","Wed","Wed","Wed","Wed","Wed","Wed","Tue","Tue","Tue","Tue","Tue","Tue","Tue","Tue","Tue","Tue","Tue","Tue","Thu","Tue","Tue","Tue","Tue","Tue","Tue","Sat","Fri","Fri","Fri","Fri","Fri","Fri","Fri","Fri","Fri","Thu","Thu","Thu","Thu","Wed","Wed","Wed","Wed","Tue","Tue","Tue","Tue","Tue","Tue","Mon","Mon","Mon","Mon","Mon","Mon","Mon","Sun","Sun","Sun","Sun","Sun","Sun","Sun","Sun","Sun","Sun","Sat","Sat","Sat","Sat","Sat","Sat","Fri","Fri","Fri","Fri","Wed","Wed","Wed","Tue","Sun","Sun","Sun","Sun","Sun","Sun","Sat","Fri","Fri","Fri","Fri","Fri","Fri","Fri","Fri","Fri","Fri","Fri","Fri","Fri","Fri","Thu","Thu","Thu","Thu","Thu","Tue","Mon","Mon","Mon","Mon","Mon","Thu","Thu","Wed","Tue","Tue","Tue","Tue","Tue","Tue","Tue","Mon","Mon","Mon","Mon","Mon","Mon","Mon","Mon","Mon","Mon","Mon","Mon","Mon","Mon","Mon","Mon","Mon","Mon","Mon","Mon","Sun","Sat","Sat","Sat","Fri","Thu","Thu","Thu","Thu","Thu","Thu","Thu","Thu","Thu","Thu","Thu","Thu","Wed","Wed","Wed","Wed","Wed","Tue","Tue","Mon","Mon","Mon","Mon","Mon","Mon","Mon","Mon","Mon","Mon","Mon","Mon","Sun","Sun","Sun","Sun","Fri","Fri","Fri","Fri","Fri","Fri","Fri","Fri","Fri","Thu","Thu","Thu","Thu","Wed","Tue","Tue","Tue","Mon","Thu","Thu","Thu","Thu","Thu","Mon","Fri","Fri","Wed","Wed","Wed","Wed","Wed","Wed","Mon","Mon","Mon","Mon","Mon","Thu","Wed","Wed","Wed","Tue","Tue","Wed","Fri","Fri","Fri","Fri","Fri","Fri","Fri","Fri","Tue","Tue","Tue","Tue","Tue","Mon","Sun","Wed","Wed","Sun","Sun","Sun","Sun","Sun","Sun","Sun","Sun","Sat","Sat","Fri","Fri","Fri","Fri","Thu","Thu","Thu","Thu","Thu","Sun","Sun","Sun","Sat","Sat","Fri","Fri","Fri","Fri","Thu","Thu","Thu","Thu","Thu","Thu","Thu","Thu","Thu","Thu","Thu","Thu","Thu","Wed","Wed","Wed","Wed","Wed","Wed","Wed","Wed","Wed","Wed","Wed","Wed","Tue","Tue","Tue","Tue","Tue","Tue","Tue","Tue","Tue","Mon","Mon","Mon","Mon","Sun","Sun","Sun","Sun","Sun","Sat","Fri","Thu","Thu","Wed","Tue","Tue","Tue","Tue","Tue","Mon","Mon","Mon","Mon","Mon","Mon","Mon","Mon","Mon","Mon","Mon","Mon","Mon","Mon","Mon","Mon","Mon","Mon","Sat","Sat","Sat","Fri","Thu","Thu","Thu","Thu","Thu","Thu","Thu","Wed","Wed","Wed","Wed","Wed","Wed","Wed","Wed","Wed","Wed","Wed","Wed","Wed","Wed","Tue","Tue","Tue","Tue","Tue","Tue","Tue","Tue","Tue","Tue","Tue","Tue","Tue","Tue","Tue","Mon","Mon","Mon","Mon","Mon","Wed","Wed","Wed","Wed","Wed","Wed","Wed","Wed","Tue","Tue","Tue","Tue","Tue","Tue","Tue","Tue","Tue","Tue","Tue","Mon","Mon","Mon","Mon","Mon","Mon","Mon","Mon","Mon","Mon","Mon","Mon","Mon","Mon","Mon","Mon","Mon","Sun","Sun","Sun","Sun","Sun","Sun","Sun","Sun","Fri","Fri","Wed","Wed","Wed","Sat","Mon","Mon","Mon","Fri","Fri","Thu","Thu","Thu","Thu","Thu","Thu","Wed","Wed","Wed","Wed","Wed","Wed","Wed","Wed","Wed","Wed","Wed","Wed","Wed","Wed","Wed","Tue","Tue","Tue","Tue","Mon","Mon","Mon","Mon","Mon","Mon","Sat","Thu","Thu","Thu","Thu","Wed","Mon","Mon","Mon","Mon","Mon","Sun","Sun","Sun","Sun","Sun","Sun","Sun","Sun","Fri","Fri","Fri","Thu","Thu","Thu","Thu","Thu","Thu","Thu","Thu","Thu","Thu","Thu","Thu","Thu","Thu","Thu","Thu","Thu","Thu","Thu","Thu","Thu","Thu","Thu","Thu","Thu","Thu","Thu","Thu","Thu","Thu","Wed","Wed","Wed","Wed","Wed","Wed","Wed","Wed","Wed","Wed","Wed","Wed","Wed","Wed","Tue","Tue","Tue","Tue","Tue","Tue","Mon","Mon","Sun","Sun","Fri","Fri","Fri","Fri","Fri","Thu","Thu","Thu","Thu","Thu","Thu","Thu","Thu","Thu","Thu","Thu","Thu","Thu","Thu","Thu","Thu","Thu","Thu","Thu","Thu","Thu","Thu","Thu","Thu","Thu","Wed","Tue","Tue","Tue","Tue","Sun","Sun","Sun","Sun","Sun","Sun","Sun","Sun","Sun","Sun","Sun","Sat","Tue","Tue","Mon","Mon","Mon","Mon","Mon","Mon","Mon","Mon","Mon","Mon","Mon","Mon","Mon","Mon","Mon","Mon","Mon","Mon","Mon","Mon","Sun","Sun","Sun","Sun","Sun","Sun","Sun","Sun","Sun","Sun","Sun","Sun","Sun","Sun","Sun","Sat","Sat","Sat","Sat","Sat","Sat","Sat","Sat","Fri","Fri","Wed","Tue","Mon","Mon","Mon","Sat","Mon","Mon","Mon","Sun","Sun","Sat","Sat","Sat","Sat","Sat","Sat","Sat","Sat","Sat","Sat","Fri","Fri","Fri","Fri","Fri","Fri","Fri","Fri","Fri","Fri","Fri","Thu","Thu","Thu","Thu","Thu","Thu","Thu","Thu","Wed","Wed","Wed","Wed","Wed","Wed","Wed","Tue","Tue","Tue","Tue","Tue","Tue","Tue","Tue","Tue","Tue","Tue","Tue","Tue","Tue","Mon","Mon","Mon","Mon","Mon","Mon","Mon","Mon","Mon","Mon","Mon","Mon","Mon","Mon","Mon","Mon","Mon","Mon","Sun","Sun","Sun","Sun","Sun","Sun","Sun","Sun","Sun","Sun","Sun","Sun","Sun","Sun","Sun","Sun","Sun","Sat","Sat","Sat","Sat","Sat","Sat","Sat","Sat","Fri","Fri","Fri","Fri","Fri","Fri","Thu","Wed","Wed","Wed","Wed","Wed","Wed","Wed","Tue","Tue","Tue","Tue","Tue","Mon","Mon","Thu","Thu","Wed","Wed","Wed","Wed","Wed","Wed","Wed","Wed","Wed","Wed","Wed","Wed","Wed","Wed","Tue","Tue","Tue","Tue","Tue","Tue","Tue","Tue","Tue","Tue","Sun","Sun","Sun","Sun","Sat","Wed","Wed","Wed","Tue","Tue","Mon","Mon","Mon","Mon","Sun","Sun","Sat","Sat","Sat","Sat","Sat","Sat","Sat","Sat","Sat","Fri","Fri","Fri","Fri","Fri","Fri","Fri","Fri","Fri","Fri","Thu","Thu","Thu","Sat","Sat","Fri","Tue","Tue","Tue","Mon","Mon","Mon","Wed","Mon","Mon","Sat","Sat","Sat","Fri","Fri","Fri","Wed","Wed","Wed","Wed","Wed","Tue","Tue","Tue","Tue","Tue","Tue","Tue","Tue","Tue","Tue","Tue","Tue","Tue","Tue","Tue","Tue","Mon","Mon","Mon","Mon","Mon","Sun","Sun","Sat","Sat","Sat","Thu","Thu","Fri","Thu","Wed","Wed","Wed","Wed","Wed","Wed","Wed","Wed","Tue","Tue","Tue","Tue","Tue","Tue","Tue","Tue","Tue","Mon","Mon","Mon","Mon","Mon","Mon","Mon","Mon","Mon","Mon","Mon","Mon","Mon","Mon","Mon","Mon","Mon","Mon","Mon","Mon","Mon","Mon","Mon","Mon","Mon","Mon","Sun","Sun","Sun","Sun","Sun","Sun","Sun","Sun","Sun","Sun","Sun","Sun","Sun","Sun","Sun","Sun","Sun","Sun","Sun","Sun","Sun","Fri","Fri","Fri","Fri","Fri","Fri","Fri","Fri","Fri","Fri","Fri","Fri","Fri","Thu","Thu","Thu","Thu","Thu","Thu","Thu","Thu","Thu","Thu","Thu","Thu","Wed","Wed","Wed","Wed","Wed","Wed","Wed","Wed","Wed","Wed","Wed","Wed","Wed","Wed","Wed","Wed","Wed","Wed","Wed","Tue","Mon","Mon","Mon","Mon","Fri","Fri","Thu","Thu","Thu","Wed","Wed","Wed","Wed","Wed","Tue","Tue","Tue","Mon","Mon","Mon","Mon","Mon","Mon","Mon","Mon","Mon","Sun","Sun","Sun","Sun","Sun","Sun","Sun","Sun","Sun","Sun","Sun","Sun","Sun","Sun","Sun","Sun","Sun","Sun","Sun","Sun","Sat","Sat","Sat","Sat","Sat","Sat","Sat","Sat","Sat","Sat","Sat","Sat","Sat","Sat","Sat","Fri","Fri","Fri","Fri","Fri","Fri","Thu","Thu","Thu","Thu","Thu","Thu","Thu","Tue","Sat","Sat","Sat","Sat","Sat","Sat","Fri","Sat","Sat","Fri","Fri","Fri","Fri","Fri","Fri","Fri","Fri","Fri","Fri","Thu","Thu","Thu","Thu","Thu","Thu","Thu","Thu","Thu","Thu","Thu","Thu","Thu","Thu","Thu","Thu","Wed","Wed","Wed","Wed","Wed","Wed","Wed","Wed","Wed","Wed","Wed","Wed","Wed","Wed","Wed","Wed","Wed","Wed","Wed","Wed","Wed","Wed","Wed","Wed","Wed","Wed","Wed","Wed","Wed","Tue","Tue","Tue","Tue","Tue","Tue","Tue","Tue","Tue","Tue","Tue","Tue","Tue","Tue","Tue","Tue","Tue","Tue","Tue","Tue","Mon","Mon","Mon","Mon","Mon","Mon","Mon","Mon","Mon","Mon","Mon","Mon","Mon","Mon","Mon","Mon","Mon","Mon","Mon","Mon","Mon","Mon","Mon","Mon","Mon","Mon","Sun","Sun","Sun","Sun","Sun","Sun","Sun","Sun","Sun","Sun","Sun","Sun","Thu","Thu","Thu","Thu","Thu","Thu","Thu","Thu","Thu","Thu","Mon","Fri","Fri","Fri","Fri","Fri","Fri","Fri","Fri","Fri","Fri","Fri","Fri","Fri","Fri","Fri","Fri","Fri","Fri","Fri","Thu","Thu","Thu","Thu","Thu","Thu","Wed","Wed","Wed","Wed","Wed","Wed","Wed","Fri","Fri","Fri","Thu","Thu","Thu","Fri","Thu","Thu","Thu","Thu","Tue","Tue","Tue","Tue","Tue","Tue","Tue","Tue","Tue","Tue","Tue","Tue","Tue","Tue","Tue","Tue","Tue","Tue","Tue","Tue","Tue","Tue","Tue","Tue","Tue","Tue","Tue","Tue","Tue","Tue","Tue","Tue","Mon","Mon","Mon","Mon","Mon","Mon","Mon","Mon","Mon","Mon","Mon","Mon","Mon","Mon","Mon","Mon","Wed","Tue","Thu","Wed","Wed","Tue","Tue","Tue","Tue","Tue","Mon","Mon","Sun","Sun","Sat","Sat","Sat","Sat","Sat","Sat","Sat","Sat","Sat","Sat","Sat","Sat","Sat","Sat","Sat","Sat","Sat","Sat","Fri","Fri","Fri","Fri","Fri","Fri","Fri","Fri","Fri","Fri","Thu","Tue","Tue","Tue","Tue","Tue","Tue","Tue","Tue","Tue","Tue","Tue","Tue","Tue","Tue","Tue","Thu","Thu","Thu","Thu","Thu","Thu","Wed","Tue","Tue","Tue","Tue","Tue","Sun","Sun","Sun","Sun","Fri","Fri","Fri","Fri","Fri","Fri","Fri","Thu","Wed","Tue","Tue","Tue","Tue","Tue","Mon","Mon","Mon","Mon","Mon","Mon","Mon","Wed","Tue","Sun","Thu","Mon","Mon","Wed","Wed","Wed","Wed","Wed","Wed","Wed","Wed","Tue","Tue","Tue","Tue","Mon","Mon","Sun","Sun","Thu","Sun","Sun","Fri","Fri","Wed","Wed","Wed","Tue","Tue","Mon","Mon","Mon","Mon","Mon","Mon","Mon","Fri","Fri","Sun","Sun","Sun","Sun","Sun","Sun","Sun","Sun","Sun","Sun","Sun","Sun","Sun","Sun","Sun","Fri","Fri","Fri","Fri","Fri","Fri","Fri","Fri","Fri","Thu","Thu","Wed","Wed","Wed","Tue","Sat","Wed","Wed","Wed","Wed","Tue","Tue","Tue","Mon","Mon","Mon","Mon","Mon","Mon","Mon","Sun","Sun","Sun","Sun","Sun","Sun","Wed","Wed","Wed","Wed","Wed","Wed","Wed","Wed","Wed","Wed","Wed","Tue","Tue","Tue","Tue","Tue","Mon","Mon","Wed","Wed","Tue","Tue","Tue","Tue","Tue","Tue","Tue","Tue","Tue","Tue","Mon","Mon","Mon","Mon","Wed","Wed","Wed","Tue","Tue","Mon","Mon","Wed","Wed","Tue","Tue","Tue","Tue","Tue","Mon","Mon","Mon","Mon","Sun","Sun","Sat","Sat","Wed","Wed","Tue","Tue","Tue","Thu","Wed","Wed","Wed","Wed","Tue","Tue","Tue","Tue","Tue","Tue","Tue","Tue","Tue","Mon","Mon","Mon","Sun","Sun","Thu","Thu","Wed","Wed","Tue","Tue","Tue","Mon","Mon","Mon","Mon","Mon","Mon","Mon","Mon","Mon","Mon","Mon","Mon","Mon","Mon","Mon","Mon","Mon","Mon","Sun","Sun","Sun","Sun","Sun","Sun","Sun","Sun","Sun","Sun","Sat","Sat","Sat","Sat","Sat","Fri","Fri","Fri","Fri","Fri","Fri","Fri","Fri","Fri","Fri","Fri","Fri","Fri","Thu","Thu","Thu","Tue","Tue","Tue","Tue","Tue","Tue","Tue","Tue","Tue","Tue","Fri","Fri","Thu","Thu","Thu","Thu","Mon","Thu","Wed","Sat"],"time":[54718000.0,51657000.0,52508000.0,38069000.0,33443000.0,81337000.0,80774000.0,80483000.0,74654000.0,72943000.0,72156000.0,79027000.0,73356000.0,60243000.0,59674000.0,54660000.0,47185000.0,46270000.0,42411000.0,41561000.0,76103000.0,75239000.0,75174000.0,69770000.0,69154000.0,68707000.0,68471000.0,68401000.0,51978000.0,80814000.0,80793000.0,80773000.0,80732000.0,78572000.0,78548000.0,78529000.0,78475000.0,81847000.0,81826000.0,81807000.0,67463000.0,70189000.0,70135000.0,52275000.0,52236000.0,52215000.0,39012000.0,38954000.0,47169000.0,36607000.0,36364000.0,34425000.0,71255000.0,71190000.0,71169000.0,68205000.0,33937000.0,40530000.0,37944000.0,46956000.0,46932000.0,46913000.0,45436000.0,53499000.0,58975000.0,31108000.0,54117000.0,40470000.0,40454000.0,40440000.0,40174000.0,70402000.0,70400000.0,70400000.0,59587000.0,40434000.0,45152000.0,43238000.0,35155000.0,70317000.0,47126000.0,37226000.0,31811000.0,48541000.0,48163000.0,42499000.0,75967000.0,75955000.0,75944000.0,75914000.0,68122000.0,68109000.0,68097000.0,67287000.0,62152000.0,62138000.0,62125000.0,61982000.0,43111000.0,36084000.0,50209000.0,44569000.0,75183000.0,85934000.0,85925000.0,85918000.0,85849000.0,71895000.0,71886000.0,71879000.0,71834000.0,68865000.0,68857000.0,68851000.0,68811000.0,63582000.0,63575000.0,63567000.0,62720000.0,59907000.0,59897000.0,59890000.0,59849000.0,56496000.0,56482000.0,56475000.0,56442000.0,53682000.0,53675000.0,53667000.0,53615000.0,69040000.0,69018000.0,69011000.0,67813000.0,55512000.0,55397000.0,51445000.0,51425000.0,51418000.0,51311000.0,51088000.0,51077000.0,51069000.0,51009000.0,47045000.0,46565000.0,44348000.0,44335000.0,44328000.0,44042000.0,2219000.0,45646000.0,49042000.0,48758000.0,61312000.0,50302000.0,41519000.0,37043000.0,36998000.0,36988000.0,36976000.0,36792000.0,43712000.0,43692000.0,43678000.0,41292000.0,42722000.0,43898000.0,43882000.0,43871000.0,43354000.0,40720000.0,40706000.0,40694000.0,40624000.0,38166000.0,38153000.0,38142000.0,59743000.0,59727000.0,59715000.0,59599000.0,53830000.0,62242000.0,56549000.0,56480000.0,66262000.0,66247000.0,66234000.0,50611000.0,71529000.0,54458000.0,71051000.0,47096000.0,61719000.0,52324000.0,52291000.0,52279000.0,52220000.0,50887000.0,63378000.0,56446000.0,47421000.0,46206000.0,46183000.0,44168000.0,43447000.0,41524000.0,62394000.0,59276000.0,57466000.0,57441000.0,57429000.0,57355000.0,52299000.0,46974000.0,44299000.0,58061000.0,49650000.0,56890000.0,54241000.0,48833000.0,44169000.0,43954000.0,43755000.0,43626000.0,40980000.0,52584000.0,50328000.0,56425000.0,61735000.0,56482000.0,64856000.0,46846000.0,43053000.0,52398000.0,52384000.0,52372000.0,31011000.0,61055000.0,53864000.0,53349000.0,64316000.0,61674000.0,49820000.0,48360000.0,48343000.0,48332000.0,48191000.0,37944000.0,37924000.0,37913000.0,53255000.0,53200000.0,53188000.0,53130000.0,52881000.0,52790000.0,46106000.0,46087000.0,46077000.0,46018000.0,45234000.0,44818000.0,39772000.0,37709000.0,36720000.0,34548000.0,27248000.0,60404000.0,36766000.0,36758000.0,36748000.0,36740000.0,35590000.0,35530000.0,34591000.0,34583000.0,34574000.0,34483000.0,34474000.0,34465000.0,34458000.0,34415000.0,33875000.0,63320000.0,62046000.0,60834000.0,9838000.0,9828000.0,7804000.0,7669000.0,54510000.0,54500000.0,37664000.0,78546000.0,78531000.0,69191000.0,65977000.0,85661000.0,41194000.0,80371000.0,80363000.0,78471000.0,78441000.0,75704000.0,75678000.0,65355000.0,65347000.0,57952000.0,85175000.0,44065000.0,44057000.0,43875000.0,41688000.0,41679000.0,39363000.0,56073000.0,3036000.0,33045000.0,52440000.0,47646000.0,29693000.0,37841000.0,46460000.0,46451000.0,46439000.0,44107000.0,48050000.0,47995000.0,50303000.0,75933000.0,63719000.0,75605000.0,65922000.0,81052000.0,39749000.0,43021000.0,41867000.0,80122000.0,78253000.0,74103000.0,66842000.0,64330000.0,49777000.0,42703000.0,35216000.0,35138000.0,59684000.0,56137000.0,3048000.0,68177000.0,68175000.0,68166000.0,63236000.0,63189000.0,12312000.0,10394000.0,9505000.0,66733000.0,65064000.0,51603000.0,36555000.0,60879000.0,21296000.0,38199000.0,63259000.0,40172000.0,13349000.0,83312000.0,77880000.0,82713000.0,78949000.0,45989000.0,45818000.0,45645000.0,60725000.0,80506000.0,76895000.0,67858000.0,38452000.0,58409000.0,57004000.0,47065000.0,54975000.0,47841000.0,35726000.0,56391000.0,33847000.0,74645000.0,53603000.0,51167000.0,44153000.0,44009000.0,43367000.0,43230000.0,34923000.0,34314000.0,31239000.0,67619000.0,66255000.0,64804000.0,64388000.0,63956000.0,63274000.0,58477000.0,48924000.0,47080000.0,40584000.0,35438000.0,43447000.0,41030000.0,34406000.0,34087000.0,41042000.0,40843000.0,27238000.0,27209000.0,15266000.0,40183000.0,36134000.0,33930000.0,32806000.0,32745000.0,48823000.0,22760000.0,21892000.0,21362000.0,15461000.0,14748000.0,72231000.0,47260000.0,47057000.0,38537000.0,3538000.0,3510000.0,35856000.0,34993000.0,4099000.0,2628000.0,53131000.0,52951000.0,61288000.0,59220000.0,57272000.0,47644000.0,47616000.0,39007000.0,38727000.0,38668000.0,58901000.0,58865000.0,49027000.0,47792000.0,44508000.0,44413000.0,44362000.0,40529000.0,41496000.0,38855000.0,38673000.0,62405000.0,62118000.0,58796000.0,58394000.0,57792000.0,50799000.0,50675000.0,34543000.0,43072000.0,66350000.0,63434000.0,62384000.0,62050000.0,50761000.0,50376000.0,48901000.0,39786000.0,44410000.0,44363000.0,39206000.0,38694000.0,38222000.0,37157000.0,43054000.0,41805000.0,40888000.0,37323000.0,66415000.0,34477000.0,1838000.0,85934000.0,85921000.0,83216000.0,83153000.0,82938000.0,54598000.0,36217000.0,32123000.0,55861000.0,53483000.0,47641000.0,47130000.0,45003000.0,44887000.0,42209000.0,41667000.0,41571000.0,36708000.0,31440000.0,31353000.0,31297000.0,31258000.0,66314000.0,60499000.0,51780000.0,51715000.0,3460000.0,81186000.0,76709000.0,73832000.0,72821000.0,61085000.0,50936000.0,44614000.0,40423000.0,39652000.0,36003000.0,53692000.0,53624000.0,49706000.0,46885000.0,43548000.0,38702000.0,53457000.0,52214000.0,45036000.0,37010000.0,67001000.0,64599000.0,63686000.0,51408000.0,49282000.0,41272000.0,40543000.0,35077000.0,4117000.0,55337000.0,49427000.0,48025000.0,38599000.0,37870000.0,50284000.0,50247000.0,43525000.0,43323000.0,41666000.0,80501000.0,80139000.0,58979000.0,58950000.0,48243000.0,48203000.0,48981000.0,41459000.0,41391000.0,53745000.0,49100000.0,48919000.0,46771000.0,58283000.0,56327000.0,55385000.0,82410000.0,81496000.0,53667000.0,52708000.0,52082000.0,50373000.0,50178000.0,49918000.0,50831000.0,30256000.0,81778000.0,80306000.0,64220000.0,46478000.0,46108000.0,46029000.0,45743000.0,45387000.0,43038000.0,43016000.0,48572000.0,42364000.0,41907000.0,44991000.0,32623000.0,32580000.0,75754000.0,57633000.0,57571000.0,55589000.0,53498000.0,53456000.0,48807000.0,48703000.0,48691000.0,46688000.0,38982000.0,34809000.0,57481000.0,54179000.0,45478000.0,63642000.0,60305000.0,52393000.0,49036000.0,48763000.0,48094000.0,33458000.0,31651000.0,31215000.0,61436000.0,60199000.0,60038000.0,59499000.0,54540000.0,50934000.0,50916000.0,43843000.0,43763000.0,43446000.0,67724000.0,67058000.0,64768000.0,59475000.0,57605000.0,56436000.0,50065000.0,70146000.0,62579000.0,40061000.0,39798000.0,39448000.0,63541000.0,64473000.0,63566000.0,36695000.0,34807000.0,31150000.0,31121000.0,31089000.0,85362000.0,81807000.0,73737000.0,71432000.0,64942000.0,64881000.0,51437000.0,38957000.0,58465000.0,56642000.0,48599000.0,46911000.0,38051000.0,35973000.0,71493000.0,66933000.0,66902000.0,60316000.0,58316000.0,58241000.0,58219000.0,50584000.0,36547000.0,36386000.0,41438000.0,35408000.0,53273000.0,70255000.0,66510000.0,57390000.0,54071000.0,55280000.0,54087000.0,52895000.0,52715000.0,39505000.0,39443000.0,31217000.0,75574000.0,75559000.0,73796000.0,73785000.0,71970000.0,66377000.0,47416000.0,47414000.0,47410000.0,47392000.0,47388000.0,42520000.0,73118000.0,70415000.0,68384000.0,68365000.0,51873000.0,51488000.0,49451000.0,48830000.0,46415000.0,46212000.0,44799000.0,43413000.0,43287000.0,60013000.0,42457000.0,42235000.0,42035000.0,41842000.0,41689000.0,41364000.0,40986000.0,39544000.0,38832000.0,64378000.0,64178000.0,60304000.0,54989000.0,54935000.0,54736000.0,52707000.0,50900000.0,38579000.0,38492000.0,37984000.0,85504000.0,84163000.0,84015000.0,81760000.0,77211000.0,72969000.0,71348000.0,63218000.0,62803000.0,62497000.0,61534000.0,60940000.0,59142000.0,58599000.0,57410000.0,60591000.0,33966000.0,54492000.0,84654000.0,83015000.0,82293000.0,82250000.0,80383000.0,79252000.0,79143000.0,78952000.0,78533000.0,78321000.0,62402000.0,62386000.0,60862000.0,59992000.0,57658000.0,52798000.0,46140000.0,44250000.0,43193000.0,42949000.0,42790000.0,34698000.0,34387000.0,33908000.0,78597000.0,65884000.0,75128000.0,71538000.0,69146000.0,68819000.0,66476000.0,62218000.0,62128000.0,61921000.0,61859000.0,61790000.0,43361000.0,62991000.0,62962000.0,49055000.0,41134000.0,78480000.0,36296000.0,66450000.0,66426000.0,66317000.0,63116000.0,49777000.0,49456000.0,44457000.0,44366000.0,39261000.0,34537000.0,55526000.0,54315000.0,32183000.0,69172000.0,67843000.0,62502000.0,39943000.0,36610000.0,36299000.0,68209000.0,62135000.0,61580000.0,64471000.0,63562000.0,63541000.0,62985000.0,62963000.0,56566000.0,52610000.0,49243000.0,47613000.0,47563000.0,46711000.0,46015000.0,45665000.0,45313000.0,41507000.0,39195000.0,32698000.0,46835000.0,44019000.0,41790000.0,39940000.0,35810000.0,70722000.0,70019000.0,68590000.0,63064000.0,56571000.0,56447000.0,54146000.0,54070000.0,58831000.0,56590000.0,49002000.0,52639000.0,51260000.0,48750000.0,48641000.0,47734000.0,32943000.0,32491000.0,77188000.0,56382000.0,53520000.0,42009000.0,35259000.0,56946000.0,56894000.0,56864000.0,51397000.0,42380000.0,42350000.0,37827000.0,37103000.0,1626000.0,75650000.0,75619000.0,75614000.0,75567000.0,75546000.0,75519000.0,75451000.0,75419000.0,62423000.0,62417000.0,50773000.0,50755000.0,50466000.0,45938000.0,42675000.0,42668000.0,39469000.0,37599000.0,35633000.0,78146000.0,69550000.0,69523000.0,67000000.0,66759000.0,63006000.0,62539000.0,61030000.0,55089000.0,79469000.0,76905000.0,69481000.0,62320000.0,60675000.0,57670000.0,55774000.0,55421000.0,55368000.0,54588000.0,43801000.0,40912000.0,40172000.0,40123000.0,36526000.0,33593000.0,33568000.0,33521000.0,33414000.0,33156000.0,74254000.0,73609000.0,70177000.0,69473000.0,65778000.0,65634000.0,62989000.0,61188000.0,60697000.0,60642000.0,52365000.0,49480000.0,49340000.0,48204000.0,46854000.0,42969000.0,41213000.0,40447000.0,40357000.0,40103000.0,39675000.0,39484000.0,39305000.0,38641000.0,38625000.0,38582000.0,38067000.0,37641000.0,37447000.0,37335000.0,37315000.0,37095000.0,37066000.0,36941000.0,36889000.0,36852000.0,36574000.0,36543000.0,36463000.0,34803000.0,32726000.0,32639000.0,1456000.0,1262000.0,1245000.0,653000.0,85584000.0,83938000.0,81599000.0,79689000.0,79396000.0,79230000.0,61797000.0,61068000.0,60027000.0,58779000.0,56751000.0,54757000.0,51564000.0,44277000.0,42766000.0,42733000.0,42565000.0,41520000.0,38004000.0,34280000.0,34251000.0,31324000.0,31308000.0,30483000.0,81978000.0,81473000.0,81356000.0,79956000.0,75803000.0,72347000.0,64663000.0,59235000.0,57699000.0,57132000.0,47349000.0,35117000.0,34674000.0,34623000.0,31243000.0,80745000.0,79775000.0,78932000.0,78700000.0,76236000.0,74565000.0,62517000.0,62390000.0,60955000.0,60883000.0,60045000.0,54419000.0,43005000.0,39161000.0,39069000.0,36292000.0,36268000.0,36245000.0,33873000.0,33863000.0,5625000.0,80727000.0,80698000.0,80661000.0,80260000.0,71981000.0,71968000.0,71567000.0,69805000.0,69745000.0,69478000.0,68675000.0,68395000.0,68224000.0,67905000.0,67805000.0,62721000.0,62649000.0,58871000.0,58710000.0,58227000.0,44051000.0,79332000.0,79309000.0,76725000.0,76612000.0,76029000.0,37024000.0,29983000.0,30043000.0,56111000.0,30623000.0,32348000.0,29882000.0,66331000.0,56735000.0,56524000.0,56263000.0,31145000.0,36987000.0,54137000.0,53221000.0,51304000.0,51003000.0,50925000.0,43370000.0,67542000.0,65628000.0,63774000.0,54917000.0,63398000.0,40162000.0,40023000.0,40235000.0,37009000.0,62354000.0,65348000.0,61807000.0,60051000.0,59381000.0,58626000.0,58382000.0,58297000.0,58129000.0,58034000.0,48235000.0,48179000.0,46169000.0,40550000.0,40533000.0,34668000.0,34646000.0,82399000.0,82066000.0,78591000.0,74304000.0,74298000.0,74204000.0,74151000.0,74132000.0,74110000.0,74091000.0,73425000.0,73336000.0,72955000.0,72756000.0,71539000.0,71207000.0,70896000.0,70779000.0,70270000.0,70157000.0,70127000.0,70023000.0,69630000.0,69300000.0,68689000.0,68019000.0,67924000.0,67598000.0,67381000.0,67035000.0,66202000.0,66109000.0,65606000.0,65557000.0,65529000.0,65235000.0,65085000.0,64528000.0,64415000.0,64268000.0,64177000.0,64063000.0,63823000.0,63518000.0,63402000.0,63395000.0,63300000.0,63127000.0,62813000.0,62670000.0,62181000.0,61980000.0,60258000.0,60122000.0,59627000.0,58725000.0,58624000.0,58520000.0,57980000.0,57558000.0,57471000.0,57426000.0,57387000.0,56283000.0,54360000.0,53684000.0,53372000.0,52650000.0,50303000.0,50183000.0,50166000.0,50104000.0,46274000.0,40235000.0,40162000.0,40023000.0,74850000.0,74559000.0,74545000.0,68860000.0,56380000.0,54557000.0,54335000.0,54311000.0,48824000.0,46204000.0,44930000.0,83471000.0,63219000.0,62156000.0,61845000.0,61188000.0,60370000.0,58748000.0,58013000.0,57705000.0,57690000.0,57252000.0,52513000.0,52360000.0,52280000.0,52224000.0,52166000.0,51053000.0,50848000.0,1664000.0,82507000.0,82413000.0,73496000.0,73355000.0,73333000.0,70149000.0,69647000.0,69540000.0,69491000.0,66395000.0,66354000.0,66336000.0,66282000.0,64636000.0,63380000.0,63270000.0,63160000.0,62709000.0,61853000.0,59626000.0,59152000.0,59144000.0,59133000.0,58143000.0,56444000.0,56432000.0,55414000.0,54727000.0,54248000.0,53156000.0,52881000.0,52277000.0,51032000.0,50877000.0,50492000.0,49047000.0,48469000.0,48257000.0,47629000.0,52750000.0,52734000.0,51375000.0,50561000.0,48458000.0,35521000.0,35294000.0,34483000.0,34407000.0,34335000.0,33207000.0,32845000.0,78033000.0,65236000.0,65190000.0,64798000.0,43056000.0,43038000.0,43026000.0,74091000.0,58215000.0,58000000.0,50740000.0,34569000.0,34230000.0,50905000.0,50447000.0,50249000.0,42024000.0,41933000.0,39483000.0,37185000.0,36402000.0,34967000.0,34694000.0,33989000.0,33814000.0,33604000.0,85040000.0,55743000.0,47096000.0,45266000.0,40874000.0,40070000.0,39406000.0,37564000.0,32709000.0,33195000.0,32811000.0,32683000.0,32664000.0,31219000.0,30791000.0,78739000.0,74202000.0,73551000.0,72010000.0,71595000.0,64746000.0,61483000.0,61226000.0,80293000.0,80242000.0,55851000.0,41152000.0,72135000.0,70482000.0,54614000.0,54261000.0,54210000.0,69066000.0,62106000.0,61920000.0,61456000.0,61434000.0,61387000.0,61340000.0,61310000.0,35433000.0,35392000.0,60046000.0,59319000.0,58782000.0,55561000.0,55514000.0,53587000.0,45509000.0,44572000.0,43846000.0,38772000.0,38683000.0,38372000.0,34996000.0,34861000.0,34751000.0,72313000.0,72156000.0,70425000.0,70417000.0,70409000.0,70402000.0,60296000.0,60193000.0,58089000.0,56907000.0,56894000.0,56881000.0,55636000.0,55594000.0,49708000.0,48929000.0,48925000.0,44313000.0,43558000.0,43350000.0,28283000.0,28257000.0,28183000.0,62998000.0,56450000.0,53039000.0,52216000.0,52116000.0,47057000.0,46238000.0,46115000.0,39001000.0,38974000.0,37546000.0,35856000.0,35779000.0,23962000.0,21516000.0,68476000.0,61136000.0,56309000.0,38420000.0,79754000.0,67698000.0,65292000.0,43106000.0,42062000.0,40951000.0,36310000.0,1451000.0,84323000.0,82362000.0,59279000.0,59260000.0,59235000.0,54814000.0,54770000.0,54297000.0,51535000.0,51479000.0,51143000.0,47415000.0,39472000.0,69349000.0,68923000.0,66212000.0,66039000.0,65914000.0,61325000.0,61301000.0,61055000.0,58355000.0,54670000.0,39693000.0,83879000.0,80221000.0,78185000.0,77892000.0,77851000.0,66337000.0,62072000.0,59746000.0,53063000.0,52953000.0,52573000.0,51820000.0,51805000.0,50894000.0,38338000.0,38211000.0,38116000.0,37823000.0,37663000.0,37577000.0,34142000.0,34127000.0,34038000.0,33935000.0,76572000.0,62996000.0,58614000.0,57797000.0,57566000.0,56880000.0,56546000.0,56525000.0,55215000.0,54764000.0,54547000.0,54506000.0,80079000.0,75988000.0,75534000.0,75186000.0,75171000.0,73936000.0,73864000.0,73505000.0,73128000.0,72372000.0,71724000.0,65245000.0,64610000.0,64519000.0,64406000.0,58443000.0,53031000.0,63665000.0,39648000.0,39545000.0,34276000.0,42453000.0,77756000.0,55106000.0,54356000.0,49890000.0,46122000.0,32160000.0,32114000.0,75995000.0,67265000.0,65916000.0,63345000.0,63135000.0,60580000.0,56203000.0,56014000.0,42091000.0,41627000.0,34357000.0,82151000.0,75136000.0,74693000.0,29586000.0,54924000.0,54030000.0,48968000.0,48866000.0,48603000.0,69892000.0,29698000.0,29205000.0,38278000.0,38076000.0,38009000.0,36355000.0,36143000.0,74007000.0,73571000.0,72441000.0,79616000.0,79524000.0,79471000.0,79433000.0,52942000.0,52714000.0,52305000.0,51883000.0,22707000.0,79347000.0,79231000.0,56735000.0,56626000.0,56069000.0,46967000.0,45729000.0,42597000.0,42237000.0,42148000.0,42112000.0,42010000.0,41947000.0,39606000.0,39467000.0,38931000.0,32984000.0,32949000.0,32921000.0,30965000.0,30809000.0,73767000.0,73748000.0,73664000.0,64933000.0,64917000.0,64885000.0,64800000.0,62743000.0,65825000.0,42466000.0,42453000.0,42450000.0,42399000.0,38935000.0,33929000.0,77339000.0,52896000.0,47264000.0,46204000.0,44368000.0,44361000.0,70833000.0,81986000.0,81922000.0,81909000.0,71810000.0,71704000.0,71358000.0,70369000.0,70173000.0,69795000.0,69681000.0,58735000.0,53158000.0,74845000.0,84769000.0,44666000.0,76156000.0,53548000.0,42763000.0,37445000.0,66513000.0,66799000.0,29431000.0,57385000.0,57466000.0,57448000.0,64898000.0,43645000.0,40850000.0,53141000.0,51489000.0,46595000.0,40185000.0,39710000.0,76221000.0,75794000.0,75054000.0,52535000.0,41700000.0,41640000.0,41556000.0,75023000.0,74110000.0,60349000.0,60132000.0,60117000.0,45237000.0,45144000.0,34576000.0,51417000.0,76882000.0,61403000.0,60513000.0,60445000.0,69411000.0,68982000.0,68962000.0,68935000.0,66894000.0,65906000.0,36042000.0,34848000.0,32759000.0,50167000.0,66579000.0,84240000.0,84183000.0,58745000.0,47595000.0,33124000.0,32611000.0,26014000.0,25507000.0,25435000.0,25416000.0,68835000.0,68338000.0,67433000.0,65494000.0,65064000.0,65001000.0,64414000.0,58659000.0,47205000.0,40796000.0,36386000.0,36368000.0,67306000.0,57702000.0,56284000.0,55117000.0,55049000.0,54713000.0,53674000.0,52735000.0,52443000.0,52347000.0,51083000.0,50479000.0,50452000.0,50346000.0,49847000.0,49527000.0,49363000.0,49233000.0,49018000.0,48431000.0,46519000.0,46506000.0,46488000.0,46461000.0,58067000.0,43360000.0,43247000.0,38556000.0,28887000.0,58580000.0,57355000.0,64525000.0,81718000.0,77707000.0,76039000.0,57798000.0,47075000.0,46625000.0,40736000.0,40602000.0,39602000.0,39509000.0,52618000.0,76203000.0,53724000.0,48095000.0,46267000.0,59510000.0,55925000.0,50273000.0,50100000.0,50012000.0,37995000.0,69249000.0,76804000.0,76569000.0,76561000.0,75790000.0,75523000.0,60654000.0,60409000.0,32706000.0,49570000.0,47845000.0,1018000.0,68415000.0,68097000.0,67901000.0,67842000.0,67686000.0,67231000.0,67203000.0,67182000.0,53295000.0,52882000.0,51224000.0,56782000.0,64002000.0,63982000.0,63951000.0,43342000.0,42797000.0,46291000.0,46139000.0,43724000.0,42879000.0,42414000.0,42934000.0,28953000.0,43683000.0,43577000.0,43378000.0,44727000.0,39358000.0,61384000.0,59580000.0,49860000.0,38910000.0,74879000.0,73013000.0,72767000.0,70901000.0,69737000.0,58491000.0,39774000.0,36390000.0,34227000.0,34141000.0,31202000.0,56320000.0,59405000.0,49217000.0,49073000.0,48714000.0,45153000.0,42208000.0,42139000.0,41846000.0,40043000.0,38474000.0,38394000.0,37683000.0,37615000.0,68834000.0,68772000.0,39008000.0,38967000.0,38938000.0,60630000.0,60532000.0,59928000.0,57568000.0,80394000.0,74312000.0,73534000.0,46392000.0,38725000.0,36497000.0,74341000.0,66550000.0,63874000.0,62789000.0,56989000.0,56819000.0,53298000.0,40612000.0,63002000.0,38672000.0,91000.0,81857000.0,54299000.0,44503000.0,32780000.0,28393000.0,84454000.0,84161000.0,84049000.0,80356000.0,80351000.0,80229000.0,79394000.0,75173000.0,75115000.0,74656000.0,74532000.0,63370000.0,63052000.0,59150000.0,57851000.0,48626000.0,34127000.0,61487000.0,58599000.0,58091000.0,57006000.0,56976000.0,56503000.0,54219000.0,36671000.0,36649000.0,36625000.0,56410000.0,2651000.0,86305000.0,84521000.0,82929000.0,77856000.0,77726000.0,70972000.0,70539000.0,69762000.0,67841000.0,66313000.0,64791000.0,60784000.0,60744000.0,60605000.0,60592000.0,50552000.0,42397000.0,59083000.0,51528000.0,50906000.0,43307000.0,41841000.0,41600000.0,41571000.0,71049000.0,46470000.0,34913000.0,34319000.0,33545000.0,32433000.0,63991000.0,63853000.0,63118000.0,62976000.0,62757000.0,43762000.0,43720000.0,56442000.0,63776000.0,60663000.0,60248000.0,34677000.0,32916000.0,70351000.0,70081000.0,69477000.0,65716000.0,64279000.0,53365000.0,28478000.0,22522000.0,22392000.0,21025000.0,19873000.0,19223000.0,19143000.0,81970000.0,73359000.0,70913000.0,70772000.0,70653000.0,68861000.0,68837000.0,68795000.0,66743000.0,66147000.0,51698000.0,49128000.0,34600000.0,71232000.0,38286000.0,38199000.0,38163000.0,27210000.0,27189000.0,27155000.0,32176000.0,31084000.0,30443000.0,30354000.0,29088000.0,28808000.0,28324000.0,22433000.0,59708000.0,68833000.0,64106000.0,54481000.0,54464000.0,54110000.0,49080000.0,43791000.0,28384000.0,42418000.0,42214000.0,83025000.0,79447000.0,79347000.0,79320000.0,79218000.0,78163000.0,49993000.0,42412000.0,42378000.0,28179000.0,53748000.0,51500000.0,51479000.0,42661000.0,41324000.0,38717000.0,38663000.0,33938000.0,77640000.0,77600000.0,77551000.0,57694000.0,48291000.0,36853000.0,65899000.0,64056000.0,61760000.0,61461000.0,60881000.0,60394000.0,58792000.0,58691000.0,58344000.0,55933000.0,55921000.0,44440000.0,44258000.0,72682000.0,53196000.0,51286000.0,42898000.0,39821000.0,62687000.0,57587000.0,50164000.0,48044000.0,59411000.0,46692000.0,56460000.0,55219000.0,55138000.0,52815000.0,49965000.0,49449000.0,37829000.0,35982000.0,34291000.0,66845000.0,66558000.0,65250000.0,64637000.0,59083000.0,50079000.0,49986000.0,49441000.0,49243000.0,43898000.0,41749000.0,39683000.0,81494000.0,79502000.0,75944000.0,74285000.0,72869000.0,71627000.0,69631000.0,65052000.0,62793000.0,60429000.0,60293000.0,34831000.0,32672000.0,32599000.0,32577000.0,32539000.0,32441000.0,32386000.0,54238000.0,60458000.0,39066000.0,38109000.0,38055000.0,36475000.0,35263000.0,34265000.0,44455000.0,44099000.0,38390000.0,38306000.0,47541000.0,44255000.0,30340000.0,74235000.0,51196000.0,46750000.0,38833000.0,59782000.0,59745000.0,52729000.0,52710000.0,49397000.0,41225000.0,37977000.0,84743000.0,84439000.0,83334000.0,79600000.0,79566000.0,77448000.0,77436000.0,77417000.0,77389000.0,77363000.0,76332000.0,73674000.0,59695000.0,58902000.0,44234000.0,42585000.0,42577000.0,41770000.0,41760000.0,41682000.0,40732000.0,33878000.0,33873000.0,32610000.0,32560000.0,32478000.0,32441000.0,75175000.0,74001000.0,70948000.0,67680000.0,53219000.0,50782000.0,44605000.0,66363000.0,66337000.0,63701000.0,63666000.0,63633000.0,45359000.0,45346000.0,44898000.0,30703000.0,29728000.0,63982000.0,63336000.0,62054000.0,61956000.0,56496000.0,55561000.0,52167000.0,41550000.0,37626000.0,36995000.0,56439000.0,57088000.0,57069000.0,56999000.0,56974000.0,38399000.0,38109000.0,35993000.0,35601000.0,33356000.0,76016000.0,72430000.0,50542000.0,50533000.0,30747000.0,30694000.0,49251000.0,47992000.0,47961000.0,47827000.0,74293000.0,37669000.0,32009000.0,34589000.0,34056000.0,32312000.0,30741000.0,49633000.0,18718000.0,52753000.0,52079000.0,51842000.0,32841000.0,32634000.0,32580000.0,21193000.0,18667000.0,49992000.0,49975000.0,49653000.0,45600000.0,40382000.0,32416000.0,30558000.0,28305000.0,24933000.0,24731000.0,24689000.0,70621000.0,70466000.0,70456000.0,67971000.0,67503000.0,63884000.0,63628000.0,63503000.0,62447000.0,58211000.0,57176000.0,51741000.0,36115000.0,32289000.0,66685000.0,64901000.0,53381000.0,52599000.0,50892000.0,45883000.0,45857000.0,42057000.0,40967000.0,40488000.0,38876000.0,38829000.0,37441000.0,37388000.0,33278000.0,63374000.0,55120000.0,35783000.0,34607000.0,32420000.0,84813000.0,84795000.0,84778000.0,80190000.0,80119000.0,79761000.0,73748000.0,71111000.0,68441000.0,67624000.0,67616000.0,61509000.0,61499000.0,48951000.0,12157000.0,11256000.0,11209000.0,8290000.0,8179000.0,8169000.0,8154000.0,78420000.0,77050000.0,76955000.0,76946000.0,76544000.0,76184000.0,73716000.0,69129000.0,66189000.0,64541000.0,59571000.0,59566000.0,57504000.0,57496000.0,55744000.0,50910000.0,50904000.0,44300000.0,43904000.0,43825000.0,43778000.0,32087000.0,31630000.0,30315000.0,24792000.0,24756000.0,74351000.0,72633000.0,49727000.0,47297000.0,35519000.0,69140000.0,42018000.0,40641000.0,40332000.0,38799000.0,60962000.0,57870000.0,54962000.0,54770000.0,49468000.0,48266000.0,45789000.0,45674000.0,39307000.0,34498000.0,31883000.0,31230000.0,78023000.0,75050000.0,71047000.0,70317000.0,62188000.0,53632000.0,50970000.0,51766000.0,35411000.0,41166000.0,41119000.0,60294000.0,59330000.0,55917000.0,50762000.0,50599000.0,49631000.0,35146000.0,33483000.0,51765000.0,51682000.0,29641000.0,62681000.0,57639000.0,40482000.0,58231000.0,57783000.0,45511000.0,34301000.0,34133000.0,34070000.0,34025000.0,33952000.0,33902000.0,33865000.0,33832000.0,33721000.0,46329000.0,54811000.0,53871000.0,42574000.0,42303000.0,42111000.0,37396000.0,34495000.0,72968000.0,70083000.0,69377000.0,61453000.0,61343000.0,60523000.0,60083000.0,59625000.0,58718000.0,54322000.0,53329000.0,53222000.0,51694000.0,51306000.0,44858000.0,35055000.0,34990000.0,34971000.0,60607000.0,42617000.0,36465000.0,36431000.0,34245000.0,74795000.0,50759000.0,49947000.0,49883000.0,49847000.0,49610000.0,48642000.0,48370000.0,48341000.0,46083000.0,46040000.0,79211000.0,54429000.0,53296000.0,51206000.0,48806000.0,48671000.0,43116000.0,42961000.0,35836000.0,35799000.0,59135000.0,58701000.0,57573000.0,55474000.0,55411000.0,54097000.0,51491000.0,43775000.0,40353000.0,38043000.0,37303000.0,33238000.0,33231000.0,37930000.0,72514000.0,72121000.0,58177000.0,43423000.0,43066000.0,37249000.0,37139000.0,56503000.0,56476000.0,59062000.0,57431000.0,57402000.0,33052000.0,32554000.0,35244000.0,34416000.0,34140000.0,32474000.0,32038000.0,6365000.0,66239000.0,56635000.0,56326000.0,24893000.0,72137000.0,54898000.0,51230000.0,46219000.0,46137000.0,43438000.0,43373000.0,42150000.0,42075000.0,41816000.0,41785000.0,41733000.0,41175000.0,40566000.0,40478000.0,39741000.0,39588000.0,39034000.0,37972000.0,37703000.0,37301000.0,32789000.0,32397000.0,29047000.0,27164000.0,26436000.0,24662000.0,85300000.0,69903000.0,69170000.0,68305000.0,67284000.0,64564000.0,57850000.0,54369000.0,54954000.0,49975000.0,49826000.0,64147000.0,45938000.0,33433000.0,72620000.0,61787000.0,60751000.0,59033000.0,54081000.0,52426000.0,51191000.0,49728000.0,49600000.0,34775000.0,83726000.0,82418000.0,77821000.0,77437000.0,77250000.0,77184000.0,77061000.0,76893000.0,65445000.0,65314000.0,65119000.0,59739000.0,51799000.0,75208000.0,49978000.0,49770000.0,44376000.0,44307000.0,43915000.0,43813000.0,40736000.0,58136000.0,52881000.0,42343000.0,42134000.0,41726000.0,40518000.0,40071000.0,39930000.0,39727000.0,37497000.0,36698000.0,33523000.0,32707000.0,52045000.0,51611000.0,47282000.0,47019000.0,44344000.0,44268000.0,43869000.0,43556000.0,41219000.0,37434000.0,81902000.0,81334000.0,80659000.0,80124000.0,77669000.0,77445000.0,77377000.0,76637000.0,54356000.0,47904000.0,47245000.0,45745000.0,45254000.0,56499000.0,56434000.0,56001000.0,51266000.0,48664000.0,47510000.0,44500000.0,35644000.0,31778000.0,28404000.0,78573000.0,40548000.0,36600000.0,62423000.0,35464000.0,35448000.0,35413000.0,29712000.0,40448000.0,48439000.0,42897000.0,74955000.0,74844000.0,69762000.0,59913000.0,40952000.0,37512000.0,36955000.0,67002000.0,58450000.0,58432000.0,57035000.0,44693000.0,37489000.0,35533000.0,33420000.0,57183000.0,57134000.0,43851000.0,42457000.0,36139000.0,35295000.0,34739000.0,33298000.0,32882000.0,83393000.0,75721000.0,29996000.0,80242000.0,79780000.0,79763000.0,79732000.0,79687000.0,50577000.0,50501000.0,48528000.0,41833000.0,36524000.0,36216000.0,31774000.0,85529000.0,75260000.0,75187000.0,74934000.0,74934000.0,69902000.0,69871000.0,67905000.0,57252000.0,52229000.0,52194000.0,83203000.0,82700000.0,82634000.0,62684000.0,31330000.0,30851000.0,71822000.0,68103000.0,66493000.0,65227000.0,56252000.0,56009000.0,55333000.0,54901000.0,54324000.0,53588000.0,53203000.0,52796000.0,52776000.0,51985000.0,39960000.0,35791000.0,32086000.0,31037000.0,81182000.0,51462000.0,51309000.0,82360000.0,70073000.0,64598000.0,63916000.0,63049000.0,62119000.0,61760000.0,77780000.0,52808000.0,79136000.0,79018000.0,78979000.0,78965000.0,76993000.0,61036000.0,56508000.0,55013000.0,35686000.0,28774000.0,79755000.0,76170000.0,76149000.0,75776000.0,65068000.0,62048000.0,48963000.0,43501000.0,35371000.0,34442000.0,31904000.0,53114000.0,45999000.0,45515000.0,45299000.0,43895000.0,41164000.0,39119000.0,38194000.0,68256000.0,63781000.0,61466000.0,59879000.0,59830000.0,55275000.0,52753000.0,51196000.0,50494000.0,48581000.0,42418000.0,40523000.0,78622000.0,61178000.0,61080000.0,54290000.0,52659000.0,52216000.0,51415000.0,51242000.0,50185000.0,47832000.0,39244000.0,37492000.0,53841000.0,55322000.0,55300000.0,51637000.0,51596000.0,51543000.0,76241000.0,72855000.0,63937000.0,63729000.0,41202000.0,40025000.0,39503000.0,35075000.0,34383000.0,32730000.0,31587000.0,39848000.0,39114000.0,36421000.0,36375000.0,36325000.0,36291000.0,36266000.0,78966000.0,78945000.0,65875000.0,65297000.0,65249000.0,64800000.0,64722000.0,74419000.0,71919000.0,71668000.0,70117000.0,69951000.0,69925000.0,69899000.0,69861000.0,56141000.0,55075000.0,42347000.0,48668000.0,47907000.0,29416000.0,29334000.0,73235000.0,72785000.0,72633000.0,72598000.0,72540000.0,72371000.0,72362000.0,69170000.0,68735000.0,67532000.0,65984000.0,65004000.0,64980000.0,83006000.0,36552000.0,35876000.0,31954000.0,52461000.0,46436000.0,42040000.0,40292000.0,47401000.0,47317000.0,60682000.0,58769000.0,58616000.0,57992000.0,56244000.0,77323000.0,51176000.0,41361000.0,39728000.0,37132000.0,36170000.0,58482000.0,76998000.0,72750000.0,55263000.0,49994000.0,49534000.0,49163000.0,41052000.0,36947000.0,36585000.0,35089000.0,33793000.0,33665000.0,32252000.0,31991000.0,51297000.0,50415000.0,40728000.0,46258000.0,46194000.0,46052000.0,46028000.0,43732000.0,43703000.0,40029000.0,39920000.0,34985000.0,61268000.0,61228000.0,61077000.0,57190000.0,57160000.0,57117000.0,53377000.0,52964000.0,52378000.0,51441000.0,51428000.0,50030000.0,49578000.0,49549000.0,33378000.0,33169000.0,52994000.0,49404000.0,46150000.0,56281000.0,36674000.0,36641000.0,46946000.0,45294000.0,44192000.0,33011000.0,26219000.0,25851000.0,74628000.0,72221000.0,67924000.0,67529000.0,73663000.0,72020000.0,57182000.0,57150000.0,44926000.0,41204000.0,40980000.0,36275000.0,41977000.0,41931000.0,64992000.0,59714000.0,55678000.0,74103000.0,58517000.0,58485000.0,52692000.0,52663000.0,49804000.0,49747000.0,48634000.0,40757000.0,33738000.0,15785000.0,58194000.0,51569000.0,51551000.0,51286000.0,41104000.0,41061000.0,55415000.0,50304000.0,48993000.0,48901000.0,48875000.0,47949000.0,37876000.0,37837000.0,36444000.0,36388000.0,62547000.0,62535000.0,81818000.0,80262000.0,80180000.0,80002000.0,71794000.0,50777000.0,40796000.0,40165000.0,49758000.0,38162000.0,38126000.0,36647000.0,6515000.0,65558000.0,65499000.0,46341000.0,46324000.0,33974000.0,78197000.0,59427000.0,43521000.0,66222000.0,64677000.0,64638000.0,60602000.0,46664000.0,46595000.0,46403000.0,31743000.0,41355000.0,55236000.0,54645000.0,54529000.0,48142000.0,47462000.0,47430000.0,44974000.0,38701000.0,57439000.0,56015000.0,52333000.0,51967000.0,38813000.0,37125000.0,34767000.0,4313000.0,51378000.0,42398000.0,42373000.0,74472000.0,73109000.0,72311000.0,72248000.0,58730000.0,54022000.0,52666000.0,52582000.0,40178000.0,35271000.0,34460000.0,27378000.0,26178000.0,76851000.0,73655000.0,69820000.0,34591000.0,73065000.0,72235000.0,72224000.0,72158000.0,72039000.0,71701000.0,55156000.0,54896000.0,53755000.0,43135000.0,35883000.0,33990000.0,32216000.0,50431000.0,47628000.0,47352000.0,36087000.0,61244000.0,61224000.0,60872000.0,57122000.0,48608000.0,47352000.0,46346000.0,44905000.0,43893000.0,42422000.0,42362000.0,33284000.0,33018000.0,53472000.0,76955000.0,74495000.0,46906000.0,31989000.0,31021000.0,30921000.0,55106000.0,45044000.0,46786000.0,46755000.0,35948000.0,79096000.0,76609000.0,74826000.0,74041000.0,56053000.0,54852000.0,35471000.0,83008000.0,81712000.0,80965000.0,79791000.0,79664000.0,79582000.0,50216000.0,30827000.0,30817000.0,41547000.0,41528000.0,27785000.0,26607000.0,26538000.0,26502000.0,54767000.0,50505000.0,33170000.0,72957000.0,72554000.0,55986000.0,51798000.0,27791000.0,24971000.0,76325000.0,75359000.0,63022000.0,61542000.0,54312000.0,83358000.0,77425000.0,73904000.0,73862000.0,73731000.0,73701000.0,53046000.0,53008000.0,35604000.0,35546000.0,33737000.0,61171000.0,43105000.0,42457000.0,36571000.0,27052000.0,77184000.0,75410000.0,53324000.0,49999000.0,49956000.0,49858000.0,49740000.0,46393000.0,52986000.0,52717000.0,52684000.0,50821000.0,41806000.0,56417000.0,35110000.0,29089000.0,29083000.0,28983000.0,28915000.0,80946000.0,76894000.0,53933000.0,50563000.0,30091000.0,30073000.0,30006000.0,79370000.0,79333000.0,78228000.0,78072000.0,59475000.0,44837000.0,44154000.0,44140000.0,41108000.0,40901000.0,40564000.0,40239000.0,40202000.0,38996000.0,38236000.0,38217000.0,36543000.0,35448000.0,33738000.0,33654000.0,33639000.0,33040000.0,80018000.0,77385000.0,77110000.0,67746000.0,65772000.0,65460000.0,59596000.0,57676000.0,55952000.0,54536000.0,53854000.0,52279000.0,50362000.0,48984000.0,47316000.0,47261000.0,47249000.0,46783000.0,44098000.0,43860000.0,43860000.0,43090000.0,43060000.0,41515000.0,41336000.0,39696000.0,39043000.0,36651000.0,34136000.0,32514000.0,31616000.0,29336000.0,72469000.0,68172000.0,63092000.0,63059000.0,45220000.0,45053000.0,41033000.0,41016000.0,48865000.0,30256000.0,28490000.0,24722000.0,84095000.0,73328000.0,64797000.0,57692000.0,54070000.0,54064000.0,51460000.0,51447000.0,47926000.0,41922000.0,35666000.0,33675000.0,33439000.0,32148000.0,31929000.0,30449000.0,76058000.0,75931000.0,73842000.0,70906000.0,62125000.0,61390000.0,58179000.0,44738000.0,38097000.0,78565000.0,76366000.0,71203000.0,71034000.0,69517000.0,69394000.0,60956000.0,59215000.0,55713000.0,55704000.0,51066000.0,46887000.0,46040000.0,45927000.0,39888000.0,34544000.0,33775000.0,26928000.0,26909000.0,26150000.0,26110000.0,78647000.0,63532000.0,63490000.0,63316000.0,62136000.0,61700000.0,60172000.0,58904000.0,46542000.0,35545000.0,34616000.0,34058000.0,33567000.0,59302000.0,45580000.0,37612000.0,82940000.0,82896000.0,67139000.0,67117000.0,65093000.0,62326000.0,59943000.0,59369000.0,59305000.0,45121000.0,45104000.0,43838000.0,80381000.0,80365000.0,75710000.0,49416000.0,43247000.0,41685000.0,40995000.0,40742000.0,39606000.0,37452000.0,58599000.0,54556000.0,53750000.0,50523000.0,50397000.0,50387000.0,45808000.0,35729000.0,83632000.0,83597000.0,77317000.0,77213000.0,76762000.0,76545000.0,76091000.0,67659000.0,62009000.0,58187000.0,56609000.0,54493000.0,54097000.0,53988000.0,47446000.0,42727000.0,84305000.0,83287000.0,82974000.0,63108000.0,62351000.0,61548000.0,60459000.0,57330000.0,51982000.0,47978000.0,47423000.0,42293000.0,41824000.0,35654000.0,35209000.0,34146000.0,32354000.0,24055000.0,80984000.0,79634000.0,78805000.0,76539000.0,76184000.0,70020000.0,54568000.0,54182000.0,50880000.0,50695000.0,49311000.0,45610000.0,43739000.0,42055000.0,40395000.0,40355000.0,40332000.0,39561000.0,39561000.0,37540000.0,63196000.0,58905000.0,57902000.0,55452000.0,45329000.0,58946000.0,58669000.0,58643000.0,56368000.0,4984000.0,4969000.0,3510000.0,2807000.0,79356000.0,76485000.0,76336000.0,68855000.0,68827000.0,68799000.0,68714000.0,59604000.0,44906000.0,41551000.0,36253000.0,36200000.0,58507000.0,57375000.0,49336000.0,76409000.0,76255000.0,58902000.0,55372000.0,54549000.0,54512000.0,54492000.0,49386000.0,49117000.0,48608000.0,46294000.0,46072000.0,42514000.0,34150000.0,33912000.0,40367000.0,38752000.0,37674000.0,37500000.0,36267000.0,34099000.0,34068000.0,32750000.0,81705000.0,60098000.0,56894000.0,56419000.0,56366000.0,53226000.0,52530000.0,45394000.0,39516000.0,76860000.0,76829000.0,62184000.0,62009000.0,58591000.0,57855000.0,40891000.0,739000.0,85729000.0,85643000.0,85469000.0,84044000.0,82924000.0,81866000.0,81708000.0,74104000.0,59317000.0,58603000.0,57043000.0,55934000.0,43487000.0,48196000.0,34944000.0,32302000.0,29122000.0,21519000.0,19334000.0,26447000.0,47116000.0,43910000.0,43827000.0,33619000.0,32809000.0,31872000.0,25849000.0,25689000.0,22487000.0,11445000.0,9228000.0,67939000.0,67923000.0,53640000.0,49819000.0,48353000.0,45478000.0,67364000.0,67333000.0,64799000.0,64510000.0,64494000.0,63296000.0,58167000.0,57730000.0,13496000.0,12784000.0,11956000.0,11146000.0,4533000.0,55909000.0,55175000.0,31738000.0,30957000.0,20115000.0,19296000.0,13284000.0,6557000.0,6542000.0,6481000.0,41707000.0,41121000.0,33720000.0,15895000.0,15886000.0,10644000.0,72280000.0,72256000.0,69627000.0,69617000.0,45683000.0,42385000.0,36726000.0,38884000.0,112000.0,85146000.0,84839000.0,84695000.0,83565000.0,82950000.0,82159000.0,77905000.0,77880000.0,72767000.0,71059000.0,71007000.0,58635000.0,57041000.0,42451000.0,42419000.0,32323000.0,32238000.0,29183000.0,26365000.0,26180000.0,80698000.0,57837000.0,40554000.0,29410000.0,28882000.0,27650000.0,80121000.0,39791000.0,30511000.0,30506000.0,30403000.0,35188000.0,35181000.0,72450000.0,50755000.0,50217000.0,49901000.0,49892000.0,49845000.0,49686000.0,49621000.0,76587000.0,60008000.0,59873000.0,56157000.0,55501000.0,55409000.0,54526000.0,54205000.0,50747000.0,45945000.0,45032000.0,44144000.0,44099000.0,43364000.0,38917000.0,37918000.0,37820000.0,36614000.0,36222000.0,35593000.0,32905000.0,54507000.0,38502000.0,37737000.0,36158000.0,86226000.0,55318000.0,53664000.0,50055000.0,43471000.0,35253000.0,35015000.0,34914000.0,33759000.0,33753000.0,32858000.0,31147000.0,86102000.0,73764000.0,71389000.0,36189000.0,34207000.0,82292000.0,1524000.0,72547000.0,71214000.0,70568000.0,64061000.0,63622000.0,59887000.0,58809000.0,58618000.0,56178000.0,49833000.0,46536000.0,44954000.0,63853000.0,61672000.0,52521000.0,47261000.0,79389000.0,79034000.0,78995000.0,78944000.0,7643000.0,6316000.0,5834000.0,5002000.0,2968000.0,81908000.0,80383000.0,78372000.0,38563000.0,71443000.0,62222000.0,54813000.0,43153000.0,36962000.0,53193000.0,35747000.0,35738000.0,35490000.0,35301000.0,56218000.0,78037000.0,49752000.0,56620000.0,50390000.0,47973000.0,44406000.0,40521000.0,40490000.0,69215000.0,68922000.0,52275000.0,48689000.0,47192000.0,69394000.0,65213000.0,63776000.0,62789000.0,54609000.0,54579000.0,38467000.0,58631000.0,55948000.0,54732000.0,54469000.0,40347000.0,40019000.0,38220000.0,38188000.0,59033000.0,58954000.0,58626000.0,56535000.0,56423000.0,37559000.0,47884000.0,40827000.0,40377000.0,28812000.0,28797000.0,28770000.0,28090000.0,24100000.0,24021000.0,23947000.0,23896000.0,52598000.0,50604000.0,40206000.0,39343000.0,33040000.0,33001000.0,66689000.0,65681000.0,65668000.0,65640000.0,32501000.0,68916000.0,68665000.0,68644000.0,37672000.0,37663000.0,69821000.0,69815000.0,69799000.0,66859000.0,86290000.0,85789000.0,84028000.0,69123000.0,69116000.0,69097000.0,59416000.0,58632000.0,57116000.0,57099000.0,54527000.0,54158000.0,41708000.0,79853000.0,53563000.0,53116000.0,52742000.0,52459000.0,50959000.0,43589000.0,43047000.0,41032000.0,40886000.0,40838000.0,32461000.0,63693000.0,60689000.0,55857000.0,55851000.0,53105000.0,50411000.0,49522000.0,49254000.0,49094000.0,86233000.0,57294000.0,53244000.0,53228000.0,55732000.0,55515000.0,44473000.0,37828000.0,37821000.0,81973000.0,60480000.0,36487000.0,36423000.0,59732000.0,56659000.0,55100000.0,50949000.0,43744000.0,43262000.0,81918000.0,66986000.0,66193000.0,62374000.0,55516000.0,46693000.0,45753000.0,44567000.0,42491000.0,41876000.0,41428000.0,40703000.0,40239000.0,38502000.0,38483000.0,37038000.0,36241000.0,35646000.0,54484000.0,46667000.0,36335000.0,42411000.0,60637000.0,59782000.0,59756000.0,59626000.0,56561000.0,56520000.0,32840000.0,63410000.0,63386000.0,63344000.0,63232000.0,61926000.0,61813000.0,61790000.0,61753000.0,36891000.0,33460000.0,32465000.0,32135000.0,27736000.0,27720000.0,86032000.0,84089000.0,84050000.0,84003000.0,81543000.0,81122000.0,81119000.0,81102000.0,61825000.0,59620000.0,55794000.0,49289000.0,48297000.0,47797000.0,46758000.0,43503000.0,42923000.0,41991000.0,40234000.0,38783000.0,79109000.0,78351000.0,76279000.0,74857000.0,73416000.0,73214000.0,25160000.0,25126000.0,82385000.0,81899000.0,80547000.0,79668000.0,78051000.0,75802000.0,75309000.0,73747000.0,72380000.0,23725000.0,23317000.0,75875000.0,75843000.0,73795000.0,71146000.0,58385000.0,57988000.0,57908000.0,57482000.0,56673000.0,53675000.0,53644000.0,53320000.0,52324000.0,52304000.0,50930000.0,49442000.0,47952000.0,59034000.0,57860000.0,22927000.0,19298000.0,10643000.0,10507000.0,9088000.0,8384000.0,59273000.0,58781000.0,27137000.0,27111000.0,27013000.0,19671000.0,36677000.0,34856000.0,34722000.0,67534000.0,67513000.0,63058000.0,63001000.0,62970000.0,45707000.0,44276000.0,33295000.0,81979000.0,75713000.0,74061000.0,61369000.0,61319000.0,61243000.0,61210000.0,61143000.0,55967000.0,55509000.0,54960000.0,54928000.0,54826000.0,52195000.0,33627000.0,77719000.0,59383000.0,58451000.0,41668000.0,61138000.0,61070000.0,57086000.0,53665000.0,53626000.0,52010000.0,38108000.0,64100000.0,56185000.0,56125000.0,39216000.0,43698000.0,39611000.0,37993000.0,34634000.0,28727000.0,26693000.0,79127000.0,78719000.0,78695000.0,45447000.0,45442000.0,40252000.0,34805000.0,34576000.0,42049000.0,42025000.0,41739000.0,74553000.0,74070000.0,73483000.0,64675000.0,64151000.0,64067000.0,59289000.0,59158000.0,58180000.0,58072000.0,57330000.0,56703000.0,56653000.0,55366000.0,55024000.0,54833000.0,53381000.0,52498000.0,50852000.0,50838000.0,47967000.0,47499000.0,45198000.0,45094000.0,42976000.0,35734000.0,32284000.0,32265000.0,31905000.0,27790000.0,74363000.0,57760000.0,56937000.0,56864000.0,56858000.0,53944000.0,53802000.0,53545000.0,53528000.0,52474000.0,32767000.0,31896000.0,31792000.0,27501000.0,47251000.0,47017000.0,46463000.0,46442000.0,40339000.0,31051000.0,50750000.0,50599000.0,49578000.0,49554000.0,73500000.0,73475000.0,70621000.0,70614000.0,70586000.0,56388000.0,55535000.0,55528000.0,48308000.0,48281000.0,47245000.0,46978000.0,40198000.0,40014000.0,39776000.0,39024000.0,36546000.0,35742000.0,30924000.0,30526000.0,30435000.0,24963000.0,24620000.0,24168000.0,23729000.0,23686000.0,23636000.0,21645000.0,21299000.0,19977000.0,55604000.0,24595000.0,24299000.0,23375000.0,23269000.0,49089000.0,48249000.0,48241000.0,36382000.0,33153000.0,33127000.0,32806000.0,27653000.0,27634000.0,27589000.0,26947000.0,18320000.0,44018000.0,43230000.0,81764000.0,81676000.0,81586000.0,80755000.0,80211000.0,80184000.0,80175000.0,79955000.0,79901000.0,59168000.0,58252000.0,50757000.0,50749000.0,50189000.0,50151000.0,50020000.0,40623000.0,31877000.0,30722000.0,30656000.0,77259000.0,77021000.0,76988000.0,73108000.0,65320000.0,63270000.0,63231000.0,54727000.0,54716000.0,54648000.0,53347000.0,53302000.0,49285000.0,48227000.0,40139000.0,83071000.0,83035000.0,66583000.0,66545000.0,66424000.0,52594000.0,52372000.0,52327000.0,59947000.0,59923000.0,32204000.0,84194000.0,82425000.0,76388000.0,74825000.0,73729000.0,70470000.0,68899000.0,64203000.0,53992000.0,53625000.0,54554000.0,53632000.0,50358000.0,49921000.0,47637000.0,47526000.0,40643000.0,3917000.0,3153000.0,3127000.0,81053000.0,81020000.0,80358000.0,77986000.0,76563000.0,74807000.0,67486000.0,67471000.0,60115000.0,57414000.0,57407000.0,84293000.0,61519000.0,61511000.0,51456000.0,51322000.0,37148000.0,37013000.0,36948000.0,60065000.0,59609000.0,53798000.0,53288000.0,52834000.0,51805000.0,51610000.0,85784000.0,56799000.0,55419000.0,52873000.0,52842000.0,52809000.0,51258000.0,51200000.0,43811000.0,43802000.0,43777000.0,38214000.0,37902000.0,36933000.0,85876000.0,85836000.0,85319000.0,78959000.0,78765000.0,75720000.0,73593000.0,70916000.0,69733000.0,69713000.0,69630000.0,65614000.0,57332000.0,56598000.0,51852000.0,51754000.0,40586000.0,37457000.0,75153000.0,73337000.0,70551000.0,70121000.0,64818000.0,64790000.0,56418000.0,55193000.0,51519000.0,49186000.0,48787000.0,48701000.0,48667000.0,34436000.0,34391000.0,2749000.0,2254000.0,84792000.0,83476000.0,83196000.0,83162000.0,79492000.0,59597000.0,55819000.0,53468000.0,58280000.0,58273000.0,57142000.0,57106000.0,54679000.0,54655000.0,34278000.0,83411000.0,53820000.0,42068000.0,41153000.0,36890000.0,36635000.0,36179000.0,58922000.0,58595000.0,43580000.0,39588000.0,33646000.0,73218000.0,38810000.0,46672000.0,46332000.0,77175000.0,59963000.0,57307000.0,57303000.0,57279000.0,57174000.0,55784000.0,54912000.0,53559000.0,53342000.0,52983000.0,52977000.0,52948000.0,35352000.0,61961000.0,56662000.0,56562000.0,55779000.0,53456000.0,51856000.0,51761000.0,50343000.0,50331000.0,48743000.0,58610000.0,58570000.0,50932000.0,40855000.0,80639000.0,82783000.0,73741000.0,72741000.0,48247000.0,46986000.0,58202000.0,55449000.0,55255000.0,54996000.0,38285000.0,38252000.0,64791000.0,60054000.0,59837000.0,59283000.0,56943000.0,50335000.0,50242000.0,50224000.0,36745000.0,77982000.0,77860000.0,77749000.0,77676000.0,77609000.0,76843000.0,69350000.0,69308000.0,69064000.0,69022000.0,49919000.0,49389000.0,49330000.0,26581000.0,26581000.0,38699000.0,71775000.0,71775000.0,28481000.0,55517000.0,51548000.0,40124000.0,54399000.0,79978000.0,76335000.0,53610000.0,53590000.0,53541000.0,47291000.0,42229000.0,42203000.0,58174000.0,51371000.0,43404000.0,42330000.0,40242000.0,48990000.0,48670000.0,48230000.0,47018000.0,46681000.0,46550000.0,46454000.0,37557000.0,37530000.0,36264000.0,36212000.0,34387000.0,34368000.0,34348000.0,33723000.0,206000.0,85903000.0,82838000.0,77590000.0,76504000.0,41269000.0,71278000.0,43723000.0,71280000.0,71209000.0,68127000.0,15066000.0,13813000.0,35482000.0,50395000.0,52968000.0,49195000.0,49154000.0,48184000.0,44294000.0,44116000.0,42304000.0,42298000.0,83805000.0,83798000.0,53396000.0,53071000.0,52735000.0,48994000.0,48087000.0,48024000.0,32253000.0,80700000.0,80572000.0,78825000.0,78340000.0,78220000.0,78152000.0,77845000.0,74165000.0,74026000.0,74007000.0,73240000.0,72779000.0,72765000.0,68470000.0,68392000.0,66351000.0,58664000.0,58556000.0,58471000.0,58410000.0,55520000.0,39043000.0,38847000.0,36048000.0,35978000.0,34567000.0,85722000.0,84971000.0,81266000.0,77481000.0,76556000.0,76549000.0,74456000.0,74432000.0,71135000.0,70133000.0,69336000.0,68279000.0,67948000.0,65438000.0,65417000.0,40248000.0,40231000.0,40203000.0,35120000.0,34990000.0,34945000.0,79692000.0,78240000.0,78063000.0,55979000.0,55506000.0,54063000.0,54045000.0,49334000.0,48928000.0,47168000.0,46973000.0,46665000.0,46628000.0,61565000.0,61557000.0,57158000.0,56724000.0,56172000.0,54208000.0,54025000.0,54004000.0,50873000.0,50137000.0,49876000.0,49767000.0,76282000.0,75757000.0,75634000.0,61555000.0,59844000.0,59822000.0,57680000.0,56600000.0,54278000.0,54270000.0,44645000.0,43744000.0,43708000.0,37592000.0,37556000.0,34488000.0,34395000.0,34066000.0,3371000.0,76163000.0,81899000.0,79167000.0,78857000.0,58644000.0,71341000.0,69101000.0,51533000.0,40796000.0,40796000.0,64417000.0,62735000.0,57061000.0,51092000.0,39167000.0,83345000.0,5031000.0,4323000.0,76308000.0,76091000.0,76054000.0,72072000.0,43412000.0,43395000.0,42798000.0,38143000.0,38143000.0,63146000.0,61822000.0,61399000.0,61399000.0,61087000.0,61052000.0,59572000.0,59572000.0,51141000.0,51119000.0,50744000.0,49818000.0,49371000.0,47146000.0,46104000.0,44380000.0,43783000.0,43738000.0,43198000.0,625000.0,85413000.0,79072000.0,67396000.0,65276000.0,65276000.0,65231000.0,65183000.0,65172000.0,63669000.0,58138000.0,58115000.0,44178000.0,41567000.0,5731000.0,5164000.0,85901000.0,84027000.0,83232000.0,83204000.0,66962000.0,64246000.0,30309000.0,30262000.0,25525000.0,19045000.0,16786000.0,14885000.0,14035000.0,74469000.0,16813000.0,13944000.0,1495000.0,636000.0,86131000.0,85834000.0,83399000.0,83005000.0,82969000.0,63672000.0,45993000.0,45903000.0,45154000.0,45011000.0,40972000.0,40022000.0,39507000.0,34603000.0,32580000.0,73855000.0,59956000.0,49214000.0,48780000.0,48687000.0,48417000.0,48042000.0,47967000.0,37772000.0,23070000.0,22212000.0,22212000.0,22207000.0,6301000.0,85578000.0,83806000.0,82348000.0,80754000.0,79868000.0,79369000.0,79079000.0,78594000.0,74387000.0,72603000.0,72411000.0,72298000.0,72243000.0,58032000.0,57687000.0,57183000.0,56232000.0,56232000.0,55851000.0,54433000.0,54433000.0,54075000.0,48724000.0,50857000.0,33694000.0,33675000.0,31727000.0,31693000.0,31318000.0,31303000.0,2661000.0,80838000.0,80529000.0,77748000.0,77717000.0,77649000.0,77649000.0,77633000.0,75795000.0,75134000.0,72702000.0,52416000.0,51092000.0,51085000.0,51005000.0,50972000.0,50921000.0,45532000.0,45571000.0,45532000.0,45532000.0,81515000.0,81487000.0,81487000.0,76745000.0,76707000.0,76707000.0,67691000.0,67626000.0,67626000.0,67275000.0,67275000.0,67241000.0,66456000.0,66456000.0,64142000.0,63946000.0,61167000.0,61167000.0,61133000.0,61097000.0,60953000.0,52826000.0,46569000.0,46569000.0,46535000.0,46467000.0,62317000.0,62003000.0,62003000.0,61986000.0,60916000.0,60916000.0,60886000.0,49334000.0,48415000.0,47429000.0,46990000.0,45503000.0,69735000.0,35737000.0,35737000.0,35223000.0,35223000.0,35030000.0,35002000.0,85167000.0,85049000.0,84687000.0,33359000.0,63046000.0,63032000.0,62772000.0,62772000.0,62751000.0,62751000.0,62711000.0,62711000.0,58236000.0,58236000.0,58219000.0,57297000.0,57297000.0,57123000.0,54419000.0,54356000.0,48560000.0,45573000.0,42332000.0,63906000.0,63436000.0,61720000.0,61720000.0,61716000.0,61250000.0,55424000.0,53272000.0,52281000.0,52281000.0,52277000.0,40071000.0,38028000.0,61703000.0,53345000.0,51975000.0,41524000.0,41415000.0,41323000.0,49644000.0,55157000.0,54822000.0,54249000.0,54217000.0,64432000.0,64432000.0,64416000.0,64409000.0,61838000.0,61773000.0,60755000.0,60755000.0,56076000.0,56076000.0,56076000.0,55886000.0,55337000.0,55337000.0,55300000.0,53314000.0,52410000.0,52393000.0,52360000.0,50150000.0,40355000.0,40355000.0,40355000.0,36397000.0,30988000.0,29905000.0,29892000.0,28336000.0,28336000.0,28336000.0,28270000.0,28235000.0,67199000.0,67199000.0,67199000.0,57981000.0,57028000.0,57028000.0,56979000.0,54608000.0,53834000.0,53777000.0,51719000.0,51139000.0,49757000.0,49715000.0,49083000.0,48312000.0,78007000.0,68975000.0,45100000.0,63842000.0,52473000.0,50129000.0,42009000.0,41784000.0,41784000.0,41784000.0,58122000.0,58083000.0,84858000.0,84858000.0,80007000.0,78298000.0,78210000.0,76316000.0,76316000.0,67772000.0,67772000.0,62663000.0,62663000.0,48674000.0,48374000.0,45002000.0,43522000.0,43423000.0,41122000.0,40894000.0,40367000.0,40334000.0,64888000.0,64888000.0,45996000.0,45818000.0,30657000.0,30006000.0,28261000.0,26749000.0,26621000.0,26471000.0,30559000.0,62093000.0,62093000.0,62075000.0,62075000.0,58420000.0,58420000.0,56039000.0,56039000.0,52777000.0,52765000.0,48024000.0,48024000.0,48024000.0,41543000.0,28149000.0,50594000.0,27602000.0,26763000.0,26357000.0,83769000.0,83761000.0,2628000.0,80945000.0,80707000.0,80696000.0,76922000.0,76904000.0,54485000.0,53794000.0,53014000.0,51085000.0,84398000.0,81980000.0,80332000.0,77740000.0,4253000.0,4067000.0,4042000.0,84846000.0,75533000.0,80035000.0,79998000.0,67907000.0,63188000.0,63182000.0,60625000.0,58662000.0,57946000.0,57068000.0,57068000.0,56934000.0,33638000.0,37885000.0,28196000.0,3423000.0,81697000.0,56334000.0,56138000.0,65209000.0,65176000.0,64135000.0,62472000.0,51618000.0,51182000.0,40855000.0,38331000.0,62068000.0,61284000.0,47947000.0,43909000.0,48434000.0,40596000.0,47419000.0,47415000.0,41514000.0,78888000.0,77918000.0,60773000.0,59130000.0,57409000.0,57369000.0,57357000.0,61475000.0,452000.0,60975000.0,56470000.0,55840000.0,51767000.0,36749000.0,36749000.0,35654000.0,66609000.0,66580000.0,2660000.0,2640000.0,79241000.0,74090000.0,73954000.0,73929000.0,69075000.0,68299000.0,64160000.0,48520000.0,48232000.0,48187000.0,40351000.0,39271000.0,36995000.0,68327000.0,66688000.0,66619000.0,66549000.0,66517000.0,58018000.0,52174000.0,40663000.0,37143000.0,58275000.0,36784000.0,57283000.0,54595000.0,46216000.0,52251000.0,36022000.0,44999000.0,44981000.0,44956000.0,36787000.0,50487000.0,43481000.0,37909000.0,62709000.0,61307000.0,61245000.0,39157000.0,39145000.0,39123000.0,38191000.0,62125000.0,62100000.0,62073000.0,58882000.0,58680000.0,43473000.0,58896000.0,58817000.0,58088000.0,58034000.0,58002000.0,38945000.0,38735000.0,36025000.0,32942000.0,32450000.0,32223000.0,83088000.0,79089000.0,56078000.0,55119000.0,48269000.0,54173000.0,24670000.0,56039000.0,50378000.0,84915000.0,68171000.0,61022000.0,38879000.0,38351000.0,37812000.0,36962000.0,36576000.0,36354000.0,36220000.0,67657000.0,61284000.0,67657000.0,61284000.0,50909000.0,45721000.0,45660000.0,47461000.0,47199000.0,66949000.0,65840000.0,4593000.0,1539000.0,79802000.0,79784000.0,62536000.0,56579000.0,56546000.0,63575000.0,63404000.0,40853000.0,40647000.0,46983000.0,46935000.0,78728000.0,63742000.0,3911000.0,962000.0,82465000.0,82442000.0,73077000.0,37792000.0,74378000.0,36876000.0,3605000.0,34000.0,78431000.0,78329000.0,77662000.0,76448000.0,76407000.0,36622000.0,36615000.0,9103000.0,9092000.0,79647000.0,77109000.0,63049000.0,76929000.0,76060000.0,54967000.0,39283000.0,61304000.0,47123000.0,62197000.0,39102000.0,39081000.0,82004000.0,80813000.0,80773000.0,80714000.0,80653000.0,61876000.0,60136000.0,54458000.0,50655000.0,50578000.0,50364000.0,50345000.0,47927000.0,47654000.0,46104000.0,39062000.0,36291000.0,35773000.0,77004000.0,69883000.0,65543000.0,64924000.0,62284000.0,58566000.0,57673000.0,57648000.0,57618000.0,47624000.0,82306000.0,80716000.0,76243000.0,6217000.0,6045000.0,83173000.0,76451000.0,55319000.0,52787000.0,52188000.0,50328000.0,48660000.0,48607000.0,48217000.0,47833000.0,45455000.0,44825000.0,40637000.0,54712000.0,33404000.0,32280000.0,47359000.0,47340000.0,45452000.0,45276000.0,45209000.0,45045000.0,44990000.0,44848000.0,44793000.0,44730000.0,47379000.0,46358000.0,44532000.0,39204000.0,65908000.0,61737000.0,58959000.0,59329000.0,64003000.0,43070000.0]},"selected":{"id":"2229"},"selection_policy":{"id":"2228"}},"id":"2102","type":"ColumnDataSource"},{"attributes":{"coordinates":null,"data_source":{"id":"2102"},"glyph":{"id":"2137"},"group":null,"hover_glyph":null,"muted_glyph":{"id":"2139"},"nonselection_glyph":{"id":"2138"},"view":{"id":"2141"}},"id":"2140","type":"GlyphRenderer"},{"attributes":{"coordinates":null,"formatter":{"id":"2223"},"group":null,"major_label_policy":{"id":"2224"},"ticker":{"id":"2119"}},"id":"2118","type":"CategoricalAxis"},{"attributes":{"base":24,"mantissas":[1,2,4,6,8,12],"max_interval":43200000.0,"min_interval":3600000.0,"num_minor_ticks":0},"id":"2233","type":"AdaptiveTicker"},{"attributes":{},"id":"2223","type":"CategoricalTickFormatter"},{"attributes":{"range":{"id":"2108"},"width":0.6},"id":"2135","type":"Jitter"},{"attributes":{"days":[1,4,7,10,13,16,19,22,25,28]},"id":"2235","type":"DaysTicker"},{"attributes":{"bottom_units":"screen","coordinates":null,"fill_alpha":0.5,"fill_color":"lightgrey","group":null,"left_units":"screen","level":"overlay","line_alpha":1.0,"line_color":"black","line_dash":[4,4],"line_width":2,"right_units":"screen","syncable":false,"top_units":"screen"},"id":"2127","type":"BoxAnnotation"},{"attributes":{"fill_alpha":{"value":0.2},"fill_color":{"value":"#1f77b4"},"hatch_alpha":{"value":0.2},"line_alpha":{"value":0.2},"line_color":{"value":"#1f77b4"},"x":{"field":"time"},"y":{"field":"day","transform":{"id":"2135"}}},"id":"2139","type":"Circle"},{"attributes":{"days":["%Hh"]},"id":"2142","type":"DatetimeTickFormatter"},{"attributes":{"months":[0,1,2,3,4,5,6,7,8,9,10,11]},"id":"2238","type":"MonthsTicker"},{"attributes":{},"id":"2112","type":"CategoricalScale"},{"attributes":{"fill_alpha":{"value":0.1},"fill_color":{"value":"#1f77b4"},"hatch_alpha":{"value":0.1},"line_alpha":{"value":0.1},"line_color":{"value":"#1f77b4"},"x":{"field":"time"},"y":{"field":"day","transform":{"id":"2135"}}},"id":"2138","type":"Circle"},{"attributes":{"days":[1,8,15,22]},"id":"2236","type":"DaysTicker"},{"attributes":{"source":{"id":"2102"}},"id":"2141","type":"CDSView"},{"attributes":{"days":[1,15]},"id":"2237","type":"DaysTicker"},{"attributes":{"num_minor_ticks":5,"tickers":[{"id":"2231"},{"id":"2232"},{"id":"2233"},{"id":"2234"},{"id":"2235"},{"id":"2236"},{"id":"2237"},{"id":"2238"},{"id":"2239"},{"id":"2240"},{"id":"2241"},{"id":"2242"}]},"id":"2115","type":"DatetimeTicker"}],"root_ids":["2103"]},"title":"Bokeh Application","version":"2.4.3"}};
1858
- const render_items = [{"docid":"782f9d92-8206-4e6d-a5bc-2fed73501171","root_ids":["2103"],"roots":{"2103":"c8a49138-42fc-4d47-82d3-e565c499c30d"}}];
1859
- root.Bokeh.embed.embed_items_notebook(docs_json, render_items);
1860
- }
1861
- if (root.Bokeh !== undefined) {
1862
- embed_document(root);
1863
- } else {
1864
- let attempts = 0;
1865
- const timer = setInterval(function(root) {
1866
- if (root.Bokeh !== undefined) {
1867
- clearInterval(timer);
1868
- embed_document(root);
1869
- } else {
1870
- attempts++;
1871
- if (attempts > 100) {
1872
- clearInterval(timer);
1873
- console.log("Bokeh: ERROR: Unable to run BokehJS code because BokehJS library is missing");
1874
- }
1875
- }
1876
- }, 10, root)
1877
- }
1878
- })(window);
1879
- </script>
1880
- </div>
1881
-
1882
- </div>
1883
-
1884
- </div>
1885
- </div>
1886
-
1887
- </div>
1888
-