j1-template 2022.5.0.rc3 → 2022.5.1.rc0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (401) hide show
  1. checksums.yaml +4 -4
  2. data/_includes/themes/j1/modules/attics/generator.html +5 -13
  3. data/assets/data/banner.html +2 -2
  4. data/assets/themes/j1/adapter/js/attic.js +106 -62
  5. data/assets/themes/j1/adapter/js/masterslider.js +22 -5
  6. data/assets/themes/j1/core/css/themes/unolight/bootstrap.css +26 -1
  7. data/assets/themes/j1/core/css/themes/unolight/bootstrap.min.css +1 -1
  8. data/assets/themes/j1/modules/backstretch/js/backstretch.js +1 -1
  9. data/assets/themes/j1/modules/backstretch/js/v2.1.16/backstretch.js +1696 -0
  10. data/assets/themes/j1/modules/backstretch/js/v2.1.16/backstretch.min.js +20 -0
  11. data/assets/themes/j1/modules/backstretch/js/v2.1.18/backstretch.js +1627 -0
  12. data/assets/themes/j1/modules/backstretch/js/v2.1.18/backstretch.min.js +20 -0
  13. data/assets/themes/j1/modules/cryptoJS/js/rc4.js +2 -2
  14. data/lib/j1/version.rb +1 -1
  15. data/lib/starter_web/Gemfile +1 -1
  16. data/lib/starter_web/README.md +440 -175
  17. data/lib/starter_web/_config.yml +3 -3
  18. data/lib/starter_web/_data/blocks/banner.yml +1 -1
  19. data/lib/starter_web/_data/modules/attics.yml +12 -0
  20. data/lib/starter_web/_data/modules/defaults/attics.yml +16 -1
  21. data/lib/starter_web/_data/modules/defaults/masterslider.yml +1 -1
  22. data/lib/starter_web/_data/modules/masterslider.yml +0 -4
  23. data/lib/starter_web/_data/modules/navigator_menu.yml +31 -25
  24. data/lib/starter_web/_includes/attributes.asciidoc +2 -0
  25. data/lib/starter_web/_plugins/lunr_index.rb +1 -1
  26. data/lib/starter_web/assets/images/modules/attics/1920x1280/ben-kolde.jpg +0 -0
  27. data/lib/starter_web/assets/images/modules/attics/1920x1280/braden-collum.jpg +0 -0
  28. data/lib/starter_web/assets/images/modules/attics/1920x1280/ev.jpg +0 -0
  29. data/lib/starter_web/assets/images/modules/attics/1920x1280/firmbee-com.jpg +0 -0
  30. data/lib/starter_web/assets/images/modules/attics/1920x1280/max-harlynking.jpg +0 -0
  31. data/lib/starter_web/assets/images/modules/attics/guillaume-bolduc-1920x1280.jpg +0 -0
  32. data/lib/starter_web/assets/images/modules/attics/spacex-1920x1280.jpg +0 -0
  33. data/lib/starter_web/assets/videos/headers/{still → present_videos/still}/underground-broadway.jpg +0 -0
  34. data/lib/starter_web/assets/videos/headers/present_videos/underground-broadway.mp4 +0 -0
  35. data/lib/starter_web/collections/asciidoc_skeletons/simple-post/_posts/yyyy-mm-dd-your-post-name.asciidoc +3 -1
  36. data/lib/starter_web/collections/posts/public/featured/_posts/2021-01-01-about-cookies.adoc +3 -0
  37. data/lib/starter_web/collections/posts/public/featured/_posts/2021-02-01-site-generators.adoc +2 -3
  38. data/lib/starter_web/collections/posts/public/featured/_posts/2022-02-01-about-j1.adoc +3 -0
  39. data/lib/starter_web/collections/posts/public/series/_posts/2020-01-01-post-wiki-series.adoc +3 -0
  40. data/lib/starter_web/collections/posts/public/series/_posts/2020-01-02-post-wiki-series.adoc +3 -0
  41. data/lib/starter_web/collections/posts/public/series/_posts/2020-01-03-post-wiki-series.adoc +3 -0
  42. data/lib/starter_web/index.html +41 -7
  43. data/lib/starter_web/package.json +2 -2
  44. data/lib/starter_web/pages/public/about/features.adoc +119 -0
  45. data/lib/starter_web/pages/public/about/reporting_issues.adoc +78 -0
  46. data/lib/starter_web/pages/public/about/{about_site.adoc → site.adoc} +20 -15
  47. data/lib/starter_web/pages/public/asciidoc_skeletons/documentation/documentation.adoc +3 -0
  48. data/lib/starter_web/pages/public/asciidoc_skeletons/multi-document/multi.adoc +3 -0
  49. data/lib/starter_web/pages/public/asciidoc_skeletons/simple-document/simple.adoc +3 -0
  50. data/lib/starter_web/pages/public/blog/navigator/archive/categoryview.html +3 -0
  51. data/lib/starter_web/pages/public/blog/navigator/archive/dateview.html +4 -1
  52. data/lib/starter_web/pages/public/blog/navigator/archive/tagview.html +4 -1
  53. data/lib/starter_web/pages/public/blog/navigator/archive.html +4 -1
  54. data/lib/starter_web/pages/public/blog/navigator/index.html +4 -1
  55. data/lib/starter_web/pages/public/features/general.adoc +5 -1
  56. data/lib/starter_web/pages/public/features/template.adoc +4 -0
  57. data/lib/starter_web/pages/public/jupyter/examples/distributed/j1-circular-times-table.adoc +3 -0
  58. data/lib/starter_web/pages/public/jupyter/examples/distributed/j1-common-used-widgets.adoc +3 -0
  59. data/lib/starter_web/pages/public/jupyter/examples/distributed/j1-odes-in-python.adoc +3 -0
  60. data/lib/starter_web/pages/public/jupyter/examples/localized/j1_climate-change-forecast.adoc +3 -0
  61. data/lib/starter_web/pages/public/jupyter/notebooks/textbooks/j1_interactive_widgets.html +512 -512
  62. data/lib/starter_web/pages/public/jupyter/notebooks/textbooks/j1_nbi_widgets.html +629 -629
  63. data/lib/starter_web/pages/public/jupyter/notebooks/textbooks/j1_nbi_widgets_bar_chart.html +95 -95
  64. data/lib/starter_web/pages/public/jupyter/notebooks/textbooks/j1_nbi_widgets_hist_chart.html +93 -93
  65. data/lib/starter_web/pages/public/jupyter/notebooks/textbooks/j1_nbi_widgets_line_chart.html +96 -96
  66. data/lib/starter_web/pages/public/jupyter/notebooks/textbooks/j1_nbi_widgets_question_multiple_choice.html +70 -70
  67. data/lib/starter_web/pages/public/jupyter/notebooks/textbooks/j1_nbi_widgets_question_short_answer.html +156 -156
  68. data/lib/starter_web/pages/public/jupyter/notebooks/textbooks/j1_nbi_widgets_scatter_chart.html +95 -95
  69. data/lib/starter_web/pages/public/jupyter/notebooks/textbooks/j1_nbi_widgets_scatter_drag_chart.html +93 -93
  70. data/lib/starter_web/pages/public/jupyter/notebooks/textbooks/j1_odes_in_python.html +955 -955
  71. data/lib/starter_web/pages/public/learn/quickstart.adoc +4 -1
  72. data/lib/starter_web/pages/public/learn/roundtrip/100_present_images.adoc +4 -1
  73. data/lib/starter_web/pages/public/learn/roundtrip/100_present_videos.adoc +16 -5
  74. data/lib/starter_web/pages/public/learn/roundtrip/200_typography.adoc +3 -0
  75. data/lib/starter_web/pages/public/learn/roundtrip/300_icon_fonts.adoc +3 -0
  76. data/lib/starter_web/pages/public/learn/roundtrip/400_asciidoc_extensions.adoc +3 -0
  77. data/lib/starter_web/pages/public/learn/roundtrip/410_bs_modals_extentions.adoc +3 -0
  78. data/lib/starter_web/pages/public/learn/roundtrip/420_responsive_tables_extensions.adoc +3 -0
  79. data/lib/starter_web/pages/public/learn/roundtrip/500_themes.adoc +3 -0
  80. data/lib/starter_web/pages/public/learn/roundtrip/600_quicksearch.adoc +6 -2
  81. data/lib/starter_web/pages/public/learn/where_to_go.adoc +3 -0
  82. data/lib/starter_web/pages/public/legal/de/100_copyright.adoc +3 -0
  83. data/lib/starter_web/pages/public/legal/de/100_impress.adoc +3 -0
  84. data/lib/starter_web/pages/public/legal/de/300_privacy.adoc +3 -0
  85. data/lib/starter_web/pages/public/legal/de/400_comment_policy.adoc +3 -0
  86. data/lib/starter_web/pages/public/legal/en/100_copyright.adoc +9 -1
  87. data/lib/starter_web/pages/public/legal/en/200_impress.adoc +10 -2
  88. data/lib/starter_web/pages/public/legal/en/300_privacy.adoc +3 -0
  89. data/lib/starter_web/pages/public/legal/en/400_comment_policy.adoc +3 -0
  90. data/lib/starter_web/pages/public/panels/intro_panel/panel.adoc +3 -0
  91. data/lib/starter_web/pages/public/plans/plans.adoc +3 -0
  92. data/lib/starter_web/pages/public/previewer/preview_bootstrap_theme.adoc +4 -0
  93. data/lib/starter_web/pages/public/se/se-fake.adoc +4 -0
  94. data/lib/starter_web/utilsrv/_defaults/package.json +1 -1
  95. data/lib/starter_web/utilsrv/package.json +1 -1
  96. metadata +18 -365
  97. data/lib/starter_web/assets/videos/headers/still/victoria-oskolovich-on-vimeo.jpg +0 -0
  98. data/lib/starter_web/pages/public/_jupyter/docs/_includes/attributes.asciidoc +0 -67
  99. data/lib/starter_web/pages/public/_jupyter/docs/_includes/documents/j1_docs_example_static.asciidoc +0 -232
  100. data/lib/starter_web/pages/public/_jupyter/docs/binderhub.adoc +0 -631
  101. data/lib/starter_web/pages/public/_jupyter/docs/j1-nbinteract.adoc +0 -638
  102. data/lib/starter_web/pages/public/_jupyter/docs/jupyterhub.adoc +0 -248
  103. data/lib/starter_web/pages/public/_jupyter/docs/nbinteract-widget-manual.adoc +0 -928
  104. data/lib/starter_web/pages/public/_jupyter/examples/distributed/j1-circular-times-table.adoc +0 -139
  105. data/lib/starter_web/pages/public/_jupyter/examples/distributed/j1-common-used-widgets.adoc +0 -229
  106. data/lib/starter_web/pages/public/_jupyter/examples/distributed/j1-odes-in-python.adoc +0 -112
  107. data/lib/starter_web/pages/public/_jupyter/examples/localized/j1-altair/j1-altair-visualisations.adoc +0 -142
  108. data/lib/starter_web/pages/public/_jupyter/examples/localized/j1-bokeh/j1-bokeh-visualisations.adoc +0 -171
  109. data/lib/starter_web/pages/public/_jupyter/examples/localized/j1-bokeh/j1-bqplot-eamples.adoc +0 -111
  110. data/lib/starter_web/pages/public/_jupyter/examples/localized/j1-plotly/j1-plotly-visualisations.adoc +0 -94
  111. data/lib/starter_web/pages/public/_jupyter/examples/localized/j1_climate-change-forecast.adoc +0 -106
  112. data/lib/starter_web/pages/public/_jupyter/notebooks/j1/.ipynb_checkpoints/j1_altair_interactive-checkpoint.ipynb +0 -16260
  113. data/lib/starter_web/pages/public/_jupyter/notebooks/j1/.ipynb_checkpoints/j1_bgplot_line_plot-checkpoint.ipynb +0 -247
  114. data/lib/starter_web/pages/public/_jupyter/notebooks/j1/.ipynb_checkpoints/j1_circular_times_table-Copy1-checkpoint.ipynb +0 -12382
  115. data/lib/starter_web/pages/public/_jupyter/notebooks/j1/.ipynb_checkpoints/j1_circular_times_table-checkpoint.ipynb +0 -12387
  116. data/lib/starter_web/pages/public/_jupyter/notebooks/j1/.ipynb_checkpoints/j1_circular_times_table-short-checkpoint.ipynb +0 -12170
  117. data/lib/starter_web/pages/public/_jupyter/notebooks/j1/.ipynb_checkpoints/j1_climate_change_forecast-checkpoint.ipynb +0 -1058
  118. data/lib/starter_web/pages/public/_jupyter/notebooks/j1/.ipynb_checkpoints/j1_docs_example_dynamic-checkpoint.ipynb +0 -14478
  119. data/lib/starter_web/pages/public/_jupyter/notebooks/j1/.ipynb_checkpoints/j1_interactive_widgets-Copy1-checkpoint.ipynb +0 -379
  120. data/lib/starter_web/pages/public/_jupyter/notebooks/j1/.ipynb_checkpoints/j1_interactive_widgets-checkpoint.ipynb +0 -442
  121. data/lib/starter_web/pages/public/_jupyter/notebooks/j1/.ipynb_checkpoints/j1_nbi_widgets-checkpoint.ipynb +0 -523
  122. data/lib/starter_web/pages/public/_jupyter/notebooks/j1/.ipynb_checkpoints/j1_nbi_widgets.line_charts-checkpoint.ipynb +0 -84
  123. data/lib/starter_web/pages/public/_jupyter/notebooks/j1/.ipynb_checkpoints/j1_nbi_widgets.questions-checkpoint.ipynb +0 -194
  124. data/lib/starter_web/pages/public/_jupyter/notebooks/j1/.ipynb_checkpoints/j1_nbi_widgets_bar_chart-checkpoint.ipynb +0 -89
  125. data/lib/starter_web/pages/public/_jupyter/notebooks/j1/.ipynb_checkpoints/j1_nbi_widgets_bar_charts-Copy1-checkpoint.ipynb +0 -164
  126. data/lib/starter_web/pages/public/_jupyter/notebooks/j1/.ipynb_checkpoints/j1_nbi_widgets_bar_charts-checkpoint.ipynb +0 -173
  127. data/lib/starter_web/pages/public/_jupyter/notebooks/j1/.ipynb_checkpoints/j1_nbi_widgets_bar_charts.1-checkpoint.ipynb +0 -256
  128. data/lib/starter_web/pages/public/_jupyter/notebooks/j1/.ipynb_checkpoints/j1_nbi_widgets_barcharts-checkpoint.ipynb +0 -126
  129. data/lib/starter_web/pages/public/_jupyter/notebooks/j1/.ipynb_checkpoints/j1_nbi_widgets_hist_chart-checkpoint.ipynb +0 -87
  130. data/lib/starter_web/pages/public/_jupyter/notebooks/j1/.ipynb_checkpoints/j1_nbi_widgets_line_chart-checkpoint.ipynb +0 -90
  131. data/lib/starter_web/pages/public/_jupyter/notebooks/j1/.ipynb_checkpoints/j1_nbi_widgets_line_charts-checkpoint.ipynb +0 -87
  132. data/lib/starter_web/pages/public/_jupyter/notebooks/j1/.ipynb_checkpoints/j1_nbi_widgets_question_multiple_choice-checkpoint.ipynb +0 -64
  133. data/lib/starter_web/pages/public/_jupyter/notebooks/j1/.ipynb_checkpoints/j1_nbi_widgets_question_short_answer-checkpoint.ipynb +0 -122
  134. data/lib/starter_web/pages/public/_jupyter/notebooks/j1/.ipynb_checkpoints/j1_nbi_widgets_questions-checkpoint.ipynb +0 -181
  135. data/lib/starter_web/pages/public/_jupyter/notebooks/j1/.ipynb_checkpoints/j1_nbi_widgets_scatter_chart-checkpoint.ipynb +0 -89
  136. data/lib/starter_web/pages/public/_jupyter/notebooks/j1/.ipynb_checkpoints/j1_nbi_widgets_scatter_charts-checkpoint.ipynb +0 -175
  137. data/lib/starter_web/pages/public/_jupyter/notebooks/j1/.ipynb_checkpoints/j1_nbi_widgets_scatter_drag_chart-checkpoint.ipynb +0 -87
  138. data/lib/starter_web/pages/public/_jupyter/notebooks/j1/.ipynb_checkpoints/j1_ode_selected-checkpoint.ipynb +0 -14478
  139. data/lib/starter_web/pages/public/_jupyter/notebooks/j1/.ipynb_checkpoints/j1_odes_in_python-checkpoint.ipynb +0 -15227
  140. data/lib/starter_web/pages/public/_jupyter/notebooks/j1/factor_by_factor.mp4 +0 -0
  141. data/lib/starter_web/pages/public/_jupyter/notebooks/j1/j1_circular_times_table.ipynb +0 -12382
  142. data/lib/starter_web/pages/public/_jupyter/notebooks/j1/j1_climate_change_forecast.ipynb +0 -1058
  143. data/lib/starter_web/pages/public/_jupyter/notebooks/j1/j1_docs_example_dynamic.ipynb +0 -14478
  144. data/lib/starter_web/pages/public/_jupyter/notebooks/j1/j1_interactive_widgets.ipynb +0 -442
  145. data/lib/starter_web/pages/public/_jupyter/notebooks/j1/j1_nbi_widgets.ipynb +0 -523
  146. data/lib/starter_web/pages/public/_jupyter/notebooks/j1/j1_nbi_widgets_bar_chart.ipynb +0 -89
  147. data/lib/starter_web/pages/public/_jupyter/notebooks/j1/j1_nbi_widgets_hist_chart.ipynb +0 -87
  148. data/lib/starter_web/pages/public/_jupyter/notebooks/j1/j1_nbi_widgets_line_chart.ipynb +0 -90
  149. data/lib/starter_web/pages/public/_jupyter/notebooks/j1/j1_nbi_widgets_question_multiple_choice.ipynb +0 -64
  150. data/lib/starter_web/pages/public/_jupyter/notebooks/j1/j1_nbi_widgets_question_short_answer.ipynb +0 -122
  151. data/lib/starter_web/pages/public/_jupyter/notebooks/j1/j1_nbi_widgets_scatter_chart.ipynb +0 -89
  152. data/lib/starter_web/pages/public/_jupyter/notebooks/j1/j1_nbi_widgets_scatter_drag_chart.ipynb +0 -87
  153. data/lib/starter_web/pages/public/_jupyter/notebooks/j1/j1_odes_in_python.ipynb +0 -15227
  154. data/lib/starter_web/pages/public/_jupyter/notebooks/j1/line_by_line.mp4 +0 -0
  155. data/lib/starter_web/pages/public/_jupyter/notebooks/j1/point_by_point.mp4 +0 -0
  156. data/lib/starter_web/pages/public/_jupyter/notebooks/j1-altair-tutorial/.ipynb_checkpoints/j1_altair_interactive-checkpoint.ipynb +0 -16296
  157. data/lib/starter_web/pages/public/_jupyter/notebooks/j1-altair-tutorial/.ipynb_checkpoints/j1_altair_non_interactive-checkpoint.ipynb +0 -15385
  158. data/lib/starter_web/pages/public/_jupyter/notebooks/j1-altair-tutorial/j1_altair_interactive.ipynb +0 -16296
  159. data/lib/starter_web/pages/public/_jupyter/notebooks/j1-altair-tutorial/j1_altair_non_interactive.ipynb +0 -15385
  160. data/lib/starter_web/pages/public/_jupyter/notebooks/j1-bokeh-tutorial/.ipynb_checkpoints/00 - Introduction and Setup-checkpoint.ipynb +0 -717
  161. data/lib/starter_web/pages/public/_jupyter/notebooks/j1-bokeh-tutorial/.ipynb_checkpoints/01 - Basic Plotting-checkpoint.ipynb +0 -1381
  162. data/lib/starter_web/pages/public/_jupyter/notebooks/j1-bokeh-tutorial/.ipynb_checkpoints/02 - Styling and Theming-checkpoint.ipynb +0 -1440
  163. data/lib/starter_web/pages/public/_jupyter/notebooks/j1-bokeh-tutorial/.ipynb_checkpoints/03 - Data Sources and Transformations-checkpoint.ipynb +0 -927
  164. data/lib/starter_web/pages/public/_jupyter/notebooks/j1-bokeh-tutorial/.ipynb_checkpoints/04 - Adding Annotations-checkpoint.ipynb +0 -1105
  165. data/lib/starter_web/pages/public/_jupyter/notebooks/j1-bokeh-tutorial/.ipynb_checkpoints/05 - Presentation Layouts-checkpoint.ipynb +0 -578
  166. data/lib/starter_web/pages/public/_jupyter/notebooks/j1-bokeh-tutorial/.ipynb_checkpoints/06 - Linking and Interactions-checkpoint.ipynb +0 -1196
  167. data/lib/starter_web/pages/public/_jupyter/notebooks/j1-bokeh-tutorial/.ipynb_checkpoints/07 - Bar and Categorical Data Plots-checkpoint.ipynb +0 -1681
  168. data/lib/starter_web/pages/public/_jupyter/notebooks/j1-bokeh-tutorial/.ipynb_checkpoints/08 - Graph and Network Plots-checkpoint.ipynb +0 -680
  169. data/lib/starter_web/pages/public/_jupyter/notebooks/j1-bokeh-tutorial/.ipynb_checkpoints/09 - Geographic Plots-checkpoint.ipynb +0 -693
  170. data/lib/starter_web/pages/public/_jupyter/notebooks/j1-bokeh-tutorial/.ipynb_checkpoints/10 - Exporting and Embedding-checkpoint.ipynb +0 -751
  171. data/lib/starter_web/pages/public/_jupyter/notebooks/j1-bokeh-tutorial/.ipynb_checkpoints/11 - Running Bokeh Applications-checkpoint.ipynb +0 -770
  172. data/lib/starter_web/pages/public/_jupyter/notebooks/j1-bokeh-tutorial/.ipynb_checkpoints/bokeh_tut_00_introduction_and_setup-checkpoint.ipynb +0 -666
  173. data/lib/starter_web/pages/public/_jupyter/notebooks/j1-bokeh-tutorial/.ipynb_checkpoints/j1_bokeh_01_basic_plotting-checkpoint.ipynb +0 -1365
  174. data/lib/starter_web/pages/public/_jupyter/notebooks/j1-bokeh-tutorial/.ipynb_checkpoints/j1_bokeh_02_styling_and_theming-checkpoint.ipynb +0 -1405
  175. data/lib/starter_web/pages/public/_jupyter/notebooks/j1-bokeh-tutorial/.ipynb_checkpoints/j1_bokeh_03_data_sources_and_transformations-checkpoint.ipynb +0 -856
  176. data/lib/starter_web/pages/public/_jupyter/notebooks/j1-bokeh-tutorial/.ipynb_checkpoints/j1_bokeh_04_adding_annotations-checkpoint.ipynb +0 -1167
  177. data/lib/starter_web/pages/public/_jupyter/notebooks/j1-bokeh-tutorial/.ipynb_checkpoints/j1_bokeh_05_presentation_layouts-checkpoint.ipynb +0 -601
  178. data/lib/starter_web/pages/public/_jupyter/notebooks/j1-bokeh-tutorial/.ipynb_checkpoints/j1_bokeh_06_linking_and_interactions-checkpoint.ipynb +0 -1356
  179. 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
  180. data/lib/starter_web/pages/public/_jupyter/notebooks/j1-bokeh-tutorial/.ipynb_checkpoints/j1_bokeh_08_graph_and_network_plots-checkpoint.ipynb +0 -625
  181. data/lib/starter_web/pages/public/_jupyter/notebooks/j1-bokeh-tutorial/.ipynb_checkpoints/j1_bokeh_09_geographic_plots-checkpoint.ipynb +0 -685
  182. data/lib/starter_web/pages/public/_jupyter/notebooks/j1-bokeh-tutorial/.ipynb_checkpoints/j1_bokeh_10_exporting_and_embedding-checkpoint.ipynb +0 -726
  183. data/lib/starter_web/pages/public/_jupyter/notebooks/j1-bokeh-tutorial/.ipynb_checkpoints/j1_bokeh_10_exporting_and_embedding-checkpoint.org +0 -726
  184. data/lib/starter_web/pages/public/_jupyter/notebooks/j1-bokeh-tutorial/.ipynb_checkpoints/j1_bokeh_10_exporting_and_embedding.new-checkpoint.ipynb +0 -560
  185. data/lib/starter_web/pages/public/_jupyter/notebooks/j1-bokeh-tutorial/.ipynb_checkpoints/j1_bokeh_11_running_bokeh_applications-checkpoint.ipynb +0 -716
  186. data/lib/starter_web/pages/public/_jupyter/notebooks/j1-bokeh-tutorial/j1_bokeh_01_basic_plotting.ipynb +0 -1365
  187. data/lib/starter_web/pages/public/_jupyter/notebooks/j1-bokeh-tutorial/j1_bokeh_02_styling_and_theming.ipynb +0 -1405
  188. data/lib/starter_web/pages/public/_jupyter/notebooks/j1-bokeh-tutorial/j1_bokeh_03_data_sources_and_transformations.ipynb +0 -856
  189. data/lib/starter_web/pages/public/_jupyter/notebooks/j1-bokeh-tutorial/j1_bokeh_04_adding_annotations.ipynb +0 -1167
  190. data/lib/starter_web/pages/public/_jupyter/notebooks/j1-bokeh-tutorial/j1_bokeh_05_presentation_layouts.ipynb +0 -601
  191. data/lib/starter_web/pages/public/_jupyter/notebooks/j1-bokeh-tutorial/j1_bokeh_06_linking_and_interactions.ipynb +0 -1356
  192. data/lib/starter_web/pages/public/_jupyter/notebooks/j1-bokeh-tutorial/j1_bokeh_07_bar_and_categorical_data_plots.ipynb +0 -1742
  193. data/lib/starter_web/pages/public/_jupyter/notebooks/j1-bokeh-tutorial/j1_bokeh_08_graph_and_network_plots.ipynb +0 -625
  194. data/lib/starter_web/pages/public/_jupyter/notebooks/j1-bokeh-tutorial/j1_bokeh_09_geographic_plots.ipynb +0 -685
  195. data/lib/starter_web/pages/public/_jupyter/notebooks/j1-bqplot/.ipynb_checkpoints/j1_mathplot_vs_bqplot-checkpoint.ipynb +0 -336
  196. data/lib/starter_web/pages/public/_jupyter/notebooks/j1-bqplot/advanced/Feature_Vector_Distribution-Iris-Digits.ipynb +0 -433
  197. data/lib/starter_web/pages/public/_jupyter/notebooks/j1-bqplot/j1_bgplot_line_plot.ipynb +0 -244
  198. data/lib/starter_web/pages/public/_jupyter/notebooks/j1-bqplot/j1_circular_times_table-short.ipynb +0 -12170
  199. data/lib/starter_web/pages/public/_jupyter/notebooks/j1-bqplot/j1_mathplot_vs_bqplot.ipynb +0 -336
  200. data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/.ipynb_checkpoints/Index-checkpoint.ipynb +0 -163
  201. data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/.ipynb_checkpoints/Tutorials-checkpoint.ipynb +0 -51
  202. data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/Advanced Plotting/Advanced Plotting.ipynb +0 -289
  203. data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/Advanced Plotting/Animations.ipynb +0 -266
  204. data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/Advanced Plotting/Axis Properties.ipynb +0 -396
  205. data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/Advanced Plotting/Plotting Dates.ipynb +0 -318
  206. data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/Applications/Equity Index Performance/Time Series.ipynb +0 -158
  207. data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/Applications/Equity Index Performance/spx_prices.csv +0 -6799
  208. data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/Applications/Feature_Vector_Distribution-Iris-Digits.ipynb +0 -470
  209. data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/Applications/Index.ipynb +0 -49
  210. data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/Applications/Logs Analytics/Logs Dashboard.ipynb +0 -378
  211. data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/Applications/Mobile Patent Suits.ipynb +0 -123
  212. data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/Applications/Neural Network.ipynb +0 -177
  213. data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/Applications/Outlier Detection.ipynb +0 -311
  214. data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/Applications/Wealth Of Nations/Bubble Chart.ipynb +0 -255
  215. data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/Applications/Wealth Of Nations/Choropleth.ipynb +0 -275
  216. data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/Applications/Wealth Of Nations/nations.json +0 -1
  217. data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/Applications/Wealth Of Nations/world_map_codes.csv +0 -234
  218. data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/Basic Plotting/.ipynb_checkpoints/Basic Plotting-checkpoint.ipynb +0 -186
  219. data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/Basic Plotting/.ipynb_checkpoints/Pyplot-checkpoint.ipynb +0 -794
  220. data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/Basic Plotting/.ipynb_checkpoints/Untitled-checkpoint.ipynb +0 -323
  221. data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/Basic Plotting/Basic Plotting.ipynb +0 -261
  222. data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/Basic Plotting/Pyplot.ipynb +0 -1489
  223. data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/Index.ipynb +0 -163
  224. data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/Interactions/Interaction Layer.ipynb +0 -966
  225. data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/Interactions/Mark Interactions.ipynb +0 -476
  226. data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/Interactions/Selectors.ipynb +0 -427
  227. data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/Introduction.ipynb +0 -528
  228. data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/Marks/Object Model/Bars.ipynb +0 -480
  229. data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/Marks/Object Model/Bins.ipynb +0 -217
  230. data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/Marks/Object Model/Boxplot.ipynb +0 -253
  231. data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/Marks/Object Model/Candles.ipynb +0 -225
  232. data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/Marks/Object Model/FlexLine.ipynb +0 -123
  233. data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/Marks/Object Model/Graph.ipynb +0 -357
  234. data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/Marks/Object Model/GridHeatMap.ipynb +0 -422
  235. data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/Marks/Object Model/HeatMap.ipynb +0 -157
  236. data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/Marks/Object Model/Hist.ipynb +0 -176
  237. data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/Marks/Object Model/Image.ipynb +0 -195
  238. data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/Marks/Object Model/Label.ipynb +0 -189
  239. data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/Marks/Object Model/Lines.ipynb +0 -565
  240. data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/Marks/Object Model/Map.ipynb +0 -182
  241. data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/Marks/Object Model/Market Map.ipynb +0 -315
  242. data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/Marks/Object Model/Pie.ipynb +0 -465
  243. data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/Marks/Object Model/Scatter.ipynb +0 -835
  244. data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/Marks/Pyplot/Bars.ipynb +0 -362
  245. data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/Marks/Pyplot/Bins.ipynb +0 -252
  246. data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/Marks/Pyplot/Boxplot.ipynb +0 -273
  247. data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/Marks/Pyplot/Candles.ipynb +0 -242
  248. data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/Marks/Pyplot/GridHeatMap.ipynb +0 -417
  249. data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/Marks/Pyplot/HeatMap.ipynb +0 -155
  250. data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/Marks/Pyplot/Hist.ipynb +0 -238
  251. data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/Marks/Pyplot/Image.ipynb +0 -152
  252. data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/Marks/Pyplot/Label.ipynb +0 -206
  253. data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/Marks/Pyplot/Lines.ipynb +0 -474
  254. data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/Marks/Pyplot/Map.ipynb +0 -181
  255. data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/Marks/Pyplot/Pie.ipynb +0 -310
  256. data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/Marks/Pyplot/Scatter.ipynb +0 -702
  257. data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/Scales/Color Scales.ipynb +0 -495
  258. data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/Tutorials/.ipynb_checkpoints/Feature_Vector_Distribution-Iris-Digits-checkpoint.ipynb +0 -433
  259. data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/Tutorials/.ipynb_checkpoints/Linking Plots With Widgets-checkpoint.ipynb +0 -326
  260. data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/Tutorials/.ipynb_checkpoints/Updating Plots-Copy1-checkpoint.ipynb +0 -177
  261. data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/Tutorials/.ipynb_checkpoints/Updating Plots-checkpoint.ipynb +0 -177
  262. data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/Tutorials/Brush Interval Selector.ipynb +0 -154
  263. data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/Tutorials/Fast Interval Selector.ipynb +0 -152
  264. data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/Tutorials/Gaussian Density Widget.ipynb +0 -128
  265. data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/Tutorials/Gaussian Density.ipynb +0 -113
  266. data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/Tutorials/Linking Plots With Widgets.ipynb +0 -326
  267. data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/Tutorials/Object Model.ipynb +0 -179
  268. data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/Tutorials/Pyplot.ipynb +0 -174
  269. data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/Tutorials/Updating Plots.ipynb +0 -177
  270. data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/Tutorials.ipynb +0 -51
  271. data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/data_files/country_codes.csv +0 -213
  272. data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/data_files/gdp_per_capita.csv +0 -56
  273. data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/data_files/state_codes.csv +0 -52
  274. data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/data_files/trees.jpg +0 -0
  275. data/lib/starter_web/pages/public/_jupyter/notebooks/nbi-docs/.ipynb_checkpoints/nbi_docs_examples_central_limit_theorem-checkpoint.ipynb +0 -247
  276. data/lib/starter_web/pages/public/_jupyter/notebooks/nbi-docs/.ipynb_checkpoints/nbi_docs_examples_variability_of_the_sample_mean-checkpoint.ipynb +0 -323
  277. data/lib/starter_web/pages/public/_jupyter/notebooks/nbi-docs/.ipynb_checkpoints/nbi_docs_recipes_graphing-checkpoint.ipynb +0 -387
  278. data/lib/starter_web/pages/public/_jupyter/notebooks/nbi-docs/.ipynb_checkpoints/nbi_docs_recipes_interactive_questions-checkpoint.ipynb +0 -185
  279. data/lib/starter_web/pages/public/_jupyter/notebooks/nbi-docs/.ipynb_checkpoints/nbi_docs_recipes_layout-checkpoint.ipynb +0 -384
  280. data/lib/starter_web/pages/public/_jupyter/notebooks/nbi-docs/.ipynb_checkpoints/nbi_docs_tutorial_interact-checkpoint.ipynb +0 -254
  281. data/lib/starter_web/pages/public/_jupyter/notebooks/nbi-docs/.ipynb_checkpoints/nbi_docs_tutorial_monty_hall-checkpoint.ipynb +0 -732
  282. data/lib/starter_web/pages/public/_jupyter/notebooks/nbi-docs/nbi_docs_examples_central_limit_theorem.ipynb +0 -247
  283. data/lib/starter_web/pages/public/_jupyter/notebooks/nbi-docs/nbi_docs_examples_correlation.ipynb +0 -651
  284. data/lib/starter_web/pages/public/_jupyter/notebooks/nbi-docs/nbi_docs_examples_empirical_distributions.ipynb +0 -773
  285. data/lib/starter_web/pages/public/_jupyter/notebooks/nbi-docs/nbi_docs_examples_linear_regression.ipynb +0 -111
  286. data/lib/starter_web/pages/public/_jupyter/notebooks/nbi-docs/nbi_docs_examples_probability_distribution_plots.ipynb +0 -199
  287. data/lib/starter_web/pages/public/_jupyter/notebooks/nbi-docs/nbi_docs_examples_sampling_from_a_population.ipynb +0 -421
  288. data/lib/starter_web/pages/public/_jupyter/notebooks/nbi-docs/nbi_docs_examples_variability_of_the_sample_mean.ipynb +0 -323
  289. data/lib/starter_web/pages/public/_jupyter/notebooks/nbi-docs/nbi_docs_recipes_graphing.ipynb +0 -387
  290. data/lib/starter_web/pages/public/_jupyter/notebooks/nbi-docs/nbi_docs_recipes_interactive_questions.ipynb +0 -185
  291. data/lib/starter_web/pages/public/_jupyter/notebooks/nbi-docs/nbi_docs_recipes_layout.ipynb +0 -384
  292. data/lib/starter_web/pages/public/_jupyter/notebooks/nbi-docs/nbi_docs_tutorial_interact.ipynb +0 -254
  293. data/lib/starter_web/pages/public/_jupyter/notebooks/nbi-docs/nbi_docs_tutorial_monty_hall.ipynb +0 -732
  294. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/Advanced Plotting.html +0 -373
  295. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/Animations.html +0 -361
  296. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/Axis Properties.html +0 -569
  297. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/Bars.html +0 -487
  298. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/Basic Plotting.html +0 -341
  299. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/Bins.html +0 -259
  300. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/Boxplot.html +0 -277
  301. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/Brush Interval Selector.html +0 -182
  302. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/Bubble Chart.html +0 -299
  303. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/Candles.html +0 -252
  304. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/Choropleth.html +0 -318
  305. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/Color Scales.html +0 -514
  306. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/Fast Interval Selector.html +0 -182
  307. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/Feature_Vector_Distribution-Iris-Digits.html +0 -479
  308. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/FlexLine.html +0 -128
  309. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/Gaussian Density Widget.html +0 -152
  310. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/Gaussian Density.html +0 -137
  311. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/Graph.html +0 -484
  312. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/GridHeatMap.html +0 -483
  313. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/HeatMap.html +0 -170
  314. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/Hist.html +0 -349
  315. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/Image.html +0 -177
  316. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/Index.html +0 -29
  317. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/Interaction Layer.html +0 -1372
  318. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/Introduction.html +0 -749
  319. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/Label.html +0 -268
  320. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/Lines.html +0 -704
  321. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/Linking Plots With Widgets.html +0 -389
  322. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/Logs Dashboard.html +0 -455
  323. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/Map.html +0 -229
  324. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/Mark Interactions.html +0 -613
  325. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/Market Map.html +0 -413
  326. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/Mobile Patent Suits.html +0 -131
  327. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/Neural Network.html +0 -190
  328. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/Object Model.html +0 -193
  329. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/Outlier Detection.html +0 -363
  330. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/Pie.html +0 -367
  331. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/Plotting Dates.html +0 -337
  332. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/Pyplot.html +0 -196
  333. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/Scatter.html +0 -948
  334. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/Selectors.html +0 -489
  335. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/Time Series.html +0 -173
  336. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/Tutorials.html +0 -40
  337. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/Updating Plots.html +0 -228
  338. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/j1_altair_interactive.html +0 -2216
  339. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/j1_altair_non_interactive.html +0 -1170
  340. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/j1_bgplot_line_plot.html +0 -318
  341. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/j1_bokeh_01_basic_plotting.html +0 -1479
  342. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/j1_bokeh_02_styling_and_theming.html +0 -1524
  343. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/j1_bokeh_03_data_sources_and_transformations.html +0 -983
  344. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/j1_bokeh_04_adding_annotations.html +0 -1280
  345. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/j1_bokeh_05_presentation_layouts.html +0 -660
  346. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/j1_bokeh_06_linking_and_interactions.html +0 -1563
  347. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/j1_bokeh_07_bar_and_categorical_data_plots.html +0 -1888
  348. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/j1_bokeh_08_graph_and_network_plots.html +0 -689
  349. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/j1_bokeh_09_geographic_plots.html +0 -767
  350. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/j1_circular_times_table-short.html +0 -475
  351. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/j1_circular_times_table.html +0 -747
  352. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/j1_climate_change_forecast.html +0 -1250
  353. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/j1_docs_example_dynamic.html +0 -186
  354. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/j1_interactive_widgets.html +0 -512
  355. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/j1_mathplot_vs_bqplot.html +0 -407
  356. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/j1_nbi_widgets.html +0 -629
  357. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/j1_nbi_widgets_bar_chart.html +0 -95
  358. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/j1_nbi_widgets_hist_chart.html +0 -93
  359. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/j1_nbi_widgets_line_chart.html +0 -96
  360. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/j1_nbi_widgets_question_multiple_choice.html +0 -70
  361. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/j1_nbi_widgets_question_short_answer.html +0 -156
  362. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/j1_nbi_widgets_scatter_chart.html +0 -95
  363. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/j1_nbi_widgets_scatter_drag_chart.html +0 -93
  364. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/j1_odes_in_python.html +0 -955
  365. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/nbi_docs_examples_central_limit_theorem.html +0 -290
  366. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/nbi_docs_examples_correlation.html +0 -818
  367. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/nbi_docs_examples_empirical_distributions.html +0 -351
  368. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/nbi_docs_examples_linear_regression.html +0 -106
  369. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/nbi_docs_examples_probability_distribution_plots.html +0 -228
  370. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/nbi_docs_examples_sampling_from_a_population.html +0 -518
  371. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/nbi_docs_examples_variability_of_the_sample_mean.html +0 -372
  372. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/nbi_docs_recipes_graphing.html +0 -473
  373. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/nbi_docs_recipes_interactive_questions.html +0 -242
  374. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/nbi_docs_recipes_layout.html +0 -496
  375. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/nbi_docs_tutorial_interact.html +0 -329
  376. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/nbi_docs_tutorial_monty_hall.html +0 -866
  377. data/lib/starter_web/pages/public/_jupyter/where_to_go.adoc +0 -270
  378. data/lib/starter_web/pages/public/learn/_roundtrip/100_present_images.adoc +0 -313
  379. data/lib/starter_web/pages/public/learn/_roundtrip/100_present_videos.adoc +0 -281
  380. data/lib/starter_web/pages/public/learn/_roundtrip/200_typography.adoc +0 -253
  381. data/lib/starter_web/pages/public/learn/_roundtrip/300_icon_fonts.adoc +0 -579
  382. data/lib/starter_web/pages/public/learn/_roundtrip/400_asciidoc_extensions.adoc +0 -718
  383. data/lib/starter_web/pages/public/learn/_roundtrip/410_bs_modals_extentions.adoc +0 -91
  384. data/lib/starter_web/pages/public/learn/_roundtrip/420_responsive_tables_extensions.adoc +0 -420
  385. data/lib/starter_web/pages/public/learn/_roundtrip/500_themes.adoc +0 -250
  386. data/lib/starter_web/pages/public/learn/_roundtrip/600_quicksearch.adoc +0 -425
  387. data/lib/starter_web/pages/public/learn/_roundtrip/_includes/attributes.asciidoc +0 -118
  388. data/lib/starter_web/pages/public/learn/_roundtrip/_includes/documents/100_gistblock.asciidoc +0 -28
  389. data/lib/starter_web/pages/public/learn/_roundtrip/_includes/documents/410_bottom_info.asciidoc +0 -14
  390. data/lib/starter_web/pages/public/learn/_roundtrip/_includes/documents/410_bottom_left_warning.asciidoc +0 -11
  391. data/lib/starter_web/pages/public/learn/_roundtrip/_includes/documents/410_bottom_right_danger.asciidoc +0 -11
  392. data/lib/starter_web/pages/public/learn/_roundtrip/_includes/documents/410_central_success.asciidoc +0 -11
  393. data/lib/starter_web/pages/public/learn/_roundtrip/_includes/documents/410_full_height_left_info.asciidoc +0 -11
  394. data/lib/starter_web/pages/public/learn/_roundtrip/_includes/documents/410_full_height_right_success.asciidoc +0 -11
  395. data/lib/starter_web/pages/public/learn/_roundtrip/_includes/documents/410_table_bs_modal_examples.asciidoc +0 -47
  396. data/lib/starter_web/pages/public/learn/_roundtrip/_includes/documents/410_top_info.asciidoc +0 -11
  397. data/lib/starter_web/pages/public/learn/_roundtrip/_includes/documents/410_top_left_info.asciidoc +0 -11
  398. data/lib/starter_web/pages/public/learn/_roundtrip/_includes/documents/410_top_right_success.asciidoc +0 -11
  399. data/lib/starter_web/pages/public/learn/_roundtrip/_includes/documents/419_advanced_modals_demo.asciidoc +0 -337
  400. data/lib/starter_web/pages/public/learn/_roundtrip/_includes/documents/tables/bs_modal_examples.asciidoc +0 -47
  401. data/lib/starter_web/pages/public/learn/_roundtrip/_includes/google-ad.js +0 -130
@@ -1,1524 +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="2.-Styles-and-Themes">2. Styles and Themes<a class="anchor-link" href="#2.-Styles-and-Themes">&#182;</a></h2><p>In this chapter you learn how to configure various visual aspects of our plots,
12
- and how to find out more about what an be configured.</p>
13
-
14
- </div>
15
- </div>
16
- </div>
17
-
18
-
19
-
20
- <div class="
21
- cell border-box-sizing code_cell rendered">
22
- <div class="input">
23
-
24
- <div class="inner_cell">
25
- <div class="input_area">
26
- <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">output_notebook</span><span class="p">,</span> <span class="n">show</span>
27
- <span class="kn">from</span> <span class="nn">bokeh.plotting</span> <span class="kn">import</span> <span class="n">figure</span>
28
- </pre></div>
29
-
30
- </div>
31
- </div>
32
- </div>
33
-
34
- </div>
35
-
36
-
37
-
38
- <div class="nbinteract-hide_in nbinteract-hide_out
39
- cell border-box-sizing code_cell rendered">
40
- <div class="input">
41
-
42
- <div class="inner_cell">
43
- <div class="input_area">
44
- <div class=" highlight hl-ipython3"><pre><span></span><span class="c1">#nbi:hide_in</span>
45
- <span class="kn">import</span> <span class="nn">bokeh.sampledata</span>
46
-
47
- <span class="c1">#nbi:hide_out</span>
48
- <span class="n">bokeh</span><span class="o">.</span><span class="n">sampledata</span><span class="o">.</span><span class="n">download</span><span class="p">()</span>
49
-
50
- <span class="c1"># Make all outputs INLINE for default (why a hell this is needed !!!)</span>
51
- <span class="n">output_notebook</span><span class="p">()</span>
52
- </pre></div>
53
-
54
- </div>
55
- </div>
56
- </div>
57
-
58
- <div class="output_wrapper">
59
- <div class="output">
60
-
61
-
62
- <div class="output_area">
63
-
64
-
65
-
66
- <div class="output_subarea output_stream output_stdout output_text">
67
- <pre>Using data directory: C:\Users\jadams\.bokeh\data
68
- Skipping &#39;CGM.csv&#39; (checksum match)
69
- Skipping &#39;US_Counties.zip&#39; (checksum match)
70
- Skipping &#39;us_cities.json&#39; (checksum match)
71
- Skipping &#39;unemployment09.csv&#39; (checksum match)
72
- Skipping &#39;AAPL.csv&#39; (checksum match)
73
- Skipping &#39;FB.csv&#39; (checksum match)
74
- Skipping &#39;GOOG.csv&#39; (checksum match)
75
- Skipping &#39;IBM.csv&#39; (checksum match)
76
- Skipping &#39;MSFT.csv&#39; (checksum match)
77
- Skipping &#39;WPP2012_SA_DB03_POPULATION_QUINQUENNIAL.zip&#39; (checksum match)
78
- Skipping &#39;gapminder_fertility.csv&#39; (checksum match)
79
- Skipping &#39;gapminder_population.csv&#39; (checksum match)
80
- Skipping &#39;gapminder_life_expectancy.csv&#39; (checksum match)
81
- Skipping &#39;gapminder_regions.csv&#39; (checksum match)
82
- Skipping &#39;world_cities.zip&#39; (checksum match)
83
- Skipping &#39;airports.json&#39; (checksum match)
84
- Skipping &#39;movies.db.zip&#39; (checksum match)
85
- Skipping &#39;airports.csv&#39; (checksum match)
86
- Skipping &#39;routes.csv&#39; (checksum match)
87
- Skipping &#39;haarcascade_frontalface_default.xml&#39; (checksum match)
88
- </pre>
89
- </div>
90
- </div>
91
-
92
- <div class="output_area">
93
-
94
-
95
-
96
-
97
- <div class="output_html rendered_html output_subarea ">
98
- <div class="bk-root">
99
- <a href="https://bokeh.org" target="_blank" class="bk-logo bk-logo-small bk-logo-notebook"></a>
100
- <span id="1002">Loading BokehJS ...</span>
101
- </div>
102
-
103
- </div>
104
-
105
- </div>
106
-
107
- <div class="output_area">
108
-
109
-
110
-
111
-
112
-
113
-
114
- <div id="5874053b-f870-40c8-918a-779594e4b0e7"></div>
115
- <div class="output_subarea output_javascript ">
116
- <script type="text/javascript">
117
- var element = $('#5874053b-f870-40c8-918a-779594e4b0e7');
118
- (function(root) {
119
- function now() {
120
- return new Date();
121
- }
122
-
123
- const force = true;
124
-
125
- if (typeof root._bokeh_onload_callbacks === "undefined" || force === true) {
126
- root._bokeh_onload_callbacks = [];
127
- root._bokeh_is_loading = undefined;
128
- }
129
-
130
- const JS_MIME_TYPE = 'application/javascript';
131
- const HTML_MIME_TYPE = 'text/html';
132
- const EXEC_MIME_TYPE = 'application/vnd.bokehjs_exec.v0+json';
133
- const CLASS_NAME = 'output_bokeh rendered_html';
134
-
135
- /**
136
- * Render data to the DOM node
137
- */
138
- function render(props, node) {
139
- const script = document.createElement("script");
140
- node.appendChild(script);
141
- }
142
-
143
- /**
144
- * Handle when an output is cleared or removed
145
- */
146
- function handleClearOutput(event, handle) {
147
- const cell = handle.cell;
148
-
149
- const id = cell.output_area._bokeh_element_id;
150
- const server_id = cell.output_area._bokeh_server_id;
151
- // Clean up Bokeh references
152
- if (id != null && id in Bokeh.index) {
153
- Bokeh.index[id].model.document.clear();
154
- delete Bokeh.index[id];
155
- }
156
-
157
- if (server_id !== undefined) {
158
- // Clean up Bokeh references
159
- const cmd_clean = "from bokeh.io.state import curstate; print(curstate().uuid_to_server['" + server_id + "'].get_sessions()[0].document.roots[0]._id)";
160
- cell.notebook.kernel.execute(cmd_clean, {
161
- iopub: {
162
- output: function(msg) {
163
- const id = msg.content.text.trim();
164
- if (id in Bokeh.index) {
165
- Bokeh.index[id].model.document.clear();
166
- delete Bokeh.index[id];
167
- }
168
- }
169
- }
170
- });
171
- // Destroy server and session
172
- const cmd_destroy = "import bokeh.io.notebook as ion; ion.destroy_server('" + server_id + "')";
173
- cell.notebook.kernel.execute(cmd_destroy);
174
- }
175
- }
176
-
177
- /**
178
- * Handle when a new output is added
179
- */
180
- function handleAddOutput(event, handle) {
181
- const output_area = handle.output_area;
182
- const output = handle.output;
183
-
184
- // limit handleAddOutput to display_data with EXEC_MIME_TYPE content only
185
- if ((output.output_type != "display_data") || (!Object.prototype.hasOwnProperty.call(output.data, EXEC_MIME_TYPE))) {
186
- return
187
- }
188
-
189
- const toinsert = output_area.element.find("." + CLASS_NAME.split(' ')[0]);
190
-
191
- if (output.metadata[EXEC_MIME_TYPE]["id"] !== undefined) {
192
- toinsert[toinsert.length - 1].firstChild.textContent = output.data[JS_MIME_TYPE];
193
- // store reference to embed id on output_area
194
- output_area._bokeh_element_id = output.metadata[EXEC_MIME_TYPE]["id"];
195
- }
196
- if (output.metadata[EXEC_MIME_TYPE]["server_id"] !== undefined) {
197
- const bk_div = document.createElement("div");
198
- bk_div.innerHTML = output.data[HTML_MIME_TYPE];
199
- const script_attrs = bk_div.children[0].attributes;
200
- for (let i = 0; i < script_attrs.length; i++) {
201
- toinsert[toinsert.length - 1].firstChild.setAttribute(script_attrs[i].name, script_attrs[i].value);
202
- toinsert[toinsert.length - 1].firstChild.textContent = bk_div.children[0].textContent
203
- }
204
- // store reference to server id on output_area
205
- output_area._bokeh_server_id = output.metadata[EXEC_MIME_TYPE]["server_id"];
206
- }
207
- }
208
-
209
- function register_renderer(events, OutputArea) {
210
-
211
- function append_mime(data, metadata, element) {
212
- // create a DOM node to render to
213
- const toinsert = this.create_output_subarea(
214
- metadata,
215
- CLASS_NAME,
216
- EXEC_MIME_TYPE
217
- );
218
- this.keyboard_manager.register_events(toinsert);
219
- // Render to node
220
- const props = {data: data, metadata: metadata[EXEC_MIME_TYPE]};
221
- render(props, toinsert[toinsert.length - 1]);
222
- element.append(toinsert);
223
- return toinsert
224
- }
225
-
226
- /* Handle when an output is cleared or removed */
227
- events.on('clear_output.CodeCell', handleClearOutput);
228
- events.on('delete.Cell', handleClearOutput);
229
-
230
- /* Handle when a new output is added */
231
- events.on('output_added.OutputArea', handleAddOutput);
232
-
233
- /**
234
- * Register the mime type and append_mime function with output_area
235
- */
236
- OutputArea.prototype.register_mime_type(EXEC_MIME_TYPE, append_mime, {
237
- /* Is output safe? */
238
- safe: true,
239
- /* Index of renderer in `output_area.display_order` */
240
- index: 0
241
- });
242
- }
243
-
244
- // register the mime type if in Jupyter Notebook environment and previously unregistered
245
- if (root.Jupyter !== undefined) {
246
- const events = require('base/js/events');
247
- const OutputArea = require('notebook/js/outputarea').OutputArea;
248
-
249
- if (OutputArea.prototype.mime_types().indexOf(EXEC_MIME_TYPE) == -1) {
250
- register_renderer(events, OutputArea);
251
- }
252
- }
253
- if (typeof (root._bokeh_timeout) === "undefined" || force === true) {
254
- root._bokeh_timeout = Date.now() + 5000;
255
- root._bokeh_failed_load = false;
256
- }
257
-
258
- const NB_LOAD_WARNING = {'data': {'text/html':
259
- "<div style='background-color: #fdd'>\n"+
260
- "<p>\n"+
261
- "BokehJS does not appear to have successfully loaded. If loading BokehJS from CDN, this \n"+
262
- "may be due to a slow or bad network connection. Possible fixes:\n"+
263
- "</p>\n"+
264
- "<ul>\n"+
265
- "<li>re-rerun `output_notebook()` to attempt to load from CDN again, or</li>\n"+
266
- "<li>use INLINE resources instead, as so:</li>\n"+
267
- "</ul>\n"+
268
- "<code>\n"+
269
- "from bokeh.resources import INLINE\n"+
270
- "output_notebook(resources=INLINE)\n"+
271
- "</code>\n"+
272
- "</div>"}};
273
-
274
- function display_loaded() {
275
- const el = document.getElementById("1002");
276
- if (el != null) {
277
- el.textContent = "BokehJS is loading...";
278
- }
279
- if (root.Bokeh !== undefined) {
280
- if (el != null) {
281
- el.textContent = "BokehJS " + root.Bokeh.version + " successfully loaded.";
282
- }
283
- } else if (Date.now() < root._bokeh_timeout) {
284
- setTimeout(display_loaded, 100)
285
- }
286
- }
287
-
288
- function run_callbacks() {
289
- try {
290
- root._bokeh_onload_callbacks.forEach(function(callback) {
291
- if (callback != null)
292
- callback();
293
- });
294
- } finally {
295
- delete root._bokeh_onload_callbacks
296
- }
297
- console.debug("Bokeh: all callbacks have finished");
298
- }
299
-
300
- function load_libs(css_urls, js_urls, callback) {
301
- if (css_urls == null) css_urls = [];
302
- if (js_urls == null) js_urls = [];
303
-
304
- root._bokeh_onload_callbacks.push(callback);
305
- if (root._bokeh_is_loading > 0) {
306
- console.debug("Bokeh: BokehJS is being loaded, scheduling callback at", now());
307
- return null;
308
- }
309
- if (js_urls == null || js_urls.length === 0) {
310
- run_callbacks();
311
- return null;
312
- }
313
- console.debug("Bokeh: BokehJS not loaded, scheduling load and callback at", now());
314
- root._bokeh_is_loading = css_urls.length + js_urls.length;
315
-
316
- function on_load() {
317
- root._bokeh_is_loading--;
318
- if (root._bokeh_is_loading === 0) {
319
- console.debug("Bokeh: all BokehJS libraries/stylesheets loaded");
320
- run_callbacks()
321
- }
322
- }
323
-
324
- function on_error(url) {
325
- console.error("failed to load " + url);
326
- }
327
-
328
- for (let i = 0; i < css_urls.length; i++) {
329
- const url = css_urls[i];
330
- const element = document.createElement("link");
331
- element.onload = on_load;
332
- element.onerror = on_error.bind(null, url);
333
- element.rel = "stylesheet";
334
- element.type = "text/css";
335
- element.href = url;
336
- console.debug("Bokeh: injecting link tag for BokehJS stylesheet: ", url);
337
- document.body.appendChild(element);
338
- }
339
-
340
- for (let i = 0; i < js_urls.length; i++) {
341
- const url = js_urls[i];
342
- const element = document.createElement('script');
343
- element.onload = on_load;
344
- element.onerror = on_error.bind(null, url);
345
- element.async = false;
346
- element.src = url;
347
- console.debug("Bokeh: injecting script tag for BokehJS library: ", url);
348
- document.head.appendChild(element);
349
- }
350
- };
351
-
352
- function inject_raw_css(css) {
353
- const element = document.createElement("style");
354
- element.appendChild(document.createTextNode(css));
355
- document.body.appendChild(element);
356
- }
357
-
358
- 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"];
359
- const css_urls = [];
360
-
361
- const inline_js = [ function(Bokeh) {
362
- Bokeh.set_log_level("info");
363
- },
364
- function(Bokeh) {
365
- }
366
- ];
367
-
368
- function run_inline_js() {
369
- if (root.Bokeh !== undefined || force === true) {
370
- for (let i = 0; i < inline_js.length; i++) {
371
- inline_js[i].call(root, root.Bokeh);
372
- }
373
- if (force === true) {
374
- display_loaded();
375
- }} else if (Date.now() < root._bokeh_timeout) {
376
- setTimeout(run_inline_js, 100);
377
- } else if (!root._bokeh_failed_load) {
378
- console.log("Bokeh: BokehJS failed to load within specified timeout.");
379
- root._bokeh_failed_load = true;
380
- } else if (force !== true) {
381
- const cell = $(document.getElementById("1002")).parents('.cell').data().cell;
382
- cell.output_area.append_execute_result(NB_LOAD_WARNING)
383
- }
384
- }
385
-
386
- if (root._bokeh_is_loading === 0) {
387
- console.debug("Bokeh: BokehJS loaded, going straight to plotting");
388
- run_inline_js();
389
- } else {
390
- load_libs(css_urls, js_urls, function() {
391
- console.debug("Bokeh: BokehJS plotting callback run at", now());
392
- run_inline_js();
393
- });
394
- }
395
- }(window));
396
- </script>
397
- </div>
398
-
399
- </div>
400
-
401
- </div>
402
- </div>
403
-
404
- </div>
405
- <div class="cell border-box-sizing text_cell rendered"><div class="inner_cell">
406
- <div class="text_cell_render border-box-sizing rendered_html">
407
- <h3 id="Colors">Colors<a class="anchor-link" href="#Colors">&#182;</a></h3><p>Before getting started, it's useful to describe how colors and properties are specified in Bokeh.
408
- There are many places where you may specify colors. Bokeh can accept colors in a variety of different ways:</p>
409
- <ul>
410
- <li>any of the <a href="https://www.w3schools.com/colors/colors_names.asp">140 named HTML/CSS colors</a>, e.g <code>'green'</code>, <code>'indigo'</code></li>
411
- <li>an RGB(A) hex value, e.g., <code>'#FF0000'</code>, <code>'#44444444'</code></li>
412
- <li>a 3-tuple of integers <em>(r,g,b)</em> between 0 and 255</li>
413
- <li>a 4-tuple of <em>(r,g,b,a)</em> where <em>r</em>, <em>g</em>, <em>b</em> are integers between 0 and 255 and <em>a</em> is a floating point value between 0 and 1</li>
414
- </ul>
415
- <h3 id="Properties">Properties<a class="anchor-link" href="#Properties">&#182;</a></h3><p>Regardless of how a Bokeh plot is created, styling the visual aspects of the plot can always be accomplished by setting attributes on the Bokeh objects that comprise the resulting plot. Visual properties come in three kinds: line, fill, and text properties. For full information with code and examples see the <a href="https://bokeh.pydata.org/en/latest/docs/user_guide/styling.html">Styling Visual Properties</a> section of the user guide.</p>
416
- <h4 id="Line-Properties">Line Properties<a class="anchor-link" href="#Line-Properties">&#182;</a></h4><p>Set the visual appearance of lines. The most common are <code>line_color</code>, <code>line_alpha</code>, <code>line_width</code> and <code>line_dash</code>.</p>
417
- <h4 id="Fill-Properties">Fill Properties<a class="anchor-link" href="#Fill-Properties">&#182;</a></h4><p>Set the visual appearance of filled areas: <code>fill_color</code> and <code>fill_alpha</code>.</p>
418
- <h4 id="Text-Properties">Text Properties<a class="anchor-link" href="#Text-Properties">&#182;</a></h4><p>Set the visual appearance of lines of text. The most common are <code>text_font</code>, <code>text_font_size</code>, <code>text_color</code>, and <code>text_alpha</code>.</p>
419
- <p>Sometimes a prefix is used with property names, e.g. to distinguish between different line properties on the same object, or to give a more meaningful name. For example, to set the line width of the plot outline, you would say <code>myplot.outline_line_width = 2</code>.</p>
420
-
421
- </div>
422
- </div>
423
- </div>
424
- <div class="cell border-box-sizing text_cell rendered"><div class="inner_cell">
425
- <div class="text_cell_render border-box-sizing rendered_html">
426
- <h3 id="Plots">Plots<a class="anchor-link" href="#Plots">&#182;</a></h3><p>Many top-level attributes of plots (outline, border, etc.) can be configured. See the <a href="https://bokeh.pydata.org/en/latest/docs/user_guide/styling.html#plots">Plots</a> section of the styling guide for full information.</p>
427
- <p>Here is an example that tweaks the plot outline:</p>
428
-
429
- </div>
430
- </div>
431
- </div>
432
-
433
-
434
-
435
- <div class="
436
- cell border-box-sizing code_cell rendered">
437
- <div class="input">
438
-
439
- <div class="inner_cell">
440
- <div class="input_area">
441
- <div class=" highlight hl-ipython3"><pre><span></span><span class="c1"># create a new plot using figure</span>
442
- <span class="n">p</span> <span class="o">=</span> <span class="n">figure</span><span class="p">(</span>
443
- <span class="n">plot_height</span><span class="o">=</span><span class="mi">400</span><span class="p">,</span>
444
- <span class="n">plot_width</span><span class="o">=</span><span class="mi">800</span><span class="p">,</span>
445
- <span class="p">)</span>
446
-
447
- <span class="n">p</span><span class="o">.</span><span class="n">outline_line_width</span> <span class="o">=</span> <span class="mi">7</span>
448
- <span class="n">p</span><span class="o">.</span><span class="n">outline_line_alpha</span> <span class="o">=</span> <span class="mf">0.3</span>
449
- <span class="n">p</span><span class="o">.</span><span class="n">outline_line_color</span> <span class="o">=</span> <span class="s2">&quot;navy&quot;</span>
450
-
451
- <span class="n">p</span><span class="o">.</span><span class="n">circle</span><span class="p">([</span><span class="mi">1</span><span class="p">,</span><span class="mi">2</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">5</span><span class="p">],</span> <span class="p">[</span><span class="mi">2</span><span class="p">,</span><span class="mi">5</span><span class="p">,</span><span class="mi">8</span><span class="p">,</span><span class="mi">2</span><span class="p">,</span><span class="mi">7</span><span class="p">],</span> <span class="n">size</span><span class="o">=</span><span class="mi">10</span><span class="p">)</span>
452
-
453
- <span class="c1"># show the results</span>
454
- <span class="n">show</span><span class="p">(</span><span class="n">p</span><span class="p">)</span>
455
- </pre></div>
456
-
457
- </div>
458
- </div>
459
- </div>
460
-
461
- <div class="output_wrapper">
462
- <div class="output">
463
-
464
-
465
- <div class="output_area">
466
-
467
-
468
-
469
-
470
- <div class="output_html rendered_html output_subarea ">
471
-
472
- <div class="bk-root" id="364c4c19-39d9-4aca-8391-dce1a3216aed" data-root-id="1003"></div>
473
-
474
- </div>
475
-
476
- </div>
477
-
478
- <div class="output_area">
479
-
480
-
481
-
482
-
483
-
484
-
485
- <div id="5729b3c1-04ca-42a7-9b2e-4da424087b76"></div>
486
- <div class="output_subarea output_javascript ">
487
- <script type="text/javascript">
488
- var element = $('#5729b3c1-04ca-42a7-9b2e-4da424087b76');
489
- (function(root) {
490
- function embed_document(root) {
491
- const docs_json = {"a45ed3c2-e048-444c-a406-a6d81da66dba":{"defs":[],"roots":{"references":[{"attributes":{"below":[{"id":"1012"}],"center":[{"id":"1015"},{"id":"1019"}],"height":400,"left":[{"id":"1016"}],"outline_line_alpha":0.3,"outline_line_color":"navy","outline_line_width":7,"renderers":[{"id":"1038"}],"title":{"id":"1040"},"toolbar":{"id":"1027"},"width":800,"x_range":{"id":"1004"},"x_scale":{"id":"1008"},"y_range":{"id":"1006"},"y_scale":{"id":"1010"}},"id":"1003","subtype":"Figure","type":"Plot"},{"attributes":{"fill_color":{"value":"#1f77b4"},"line_color":{"value":"#1f77b4"},"size":{"value":10},"x":{"field":"x"},"y":{"field":"y"}},"id":"1035","type":"Circle"},{"attributes":{"tools":[{"id":"1020"},{"id":"1021"},{"id":"1022"},{"id":"1023"},{"id":"1024"},{"id":"1025"}]},"id":"1027","type":"Toolbar"},{"attributes":{},"id":"1044","type":"AllLabels"},{"attributes":{},"id":"1048","type":"UnionRenderers"},{"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":"1026","type":"BoxAnnotation"},{"attributes":{},"id":"1020","type":"PanTool"},{"attributes":{},"id":"1004","type":"DataRange1d"},{"attributes":{},"id":"1024","type":"ResetTool"},{"attributes":{},"id":"1021","type":"WheelZoomTool"},{"attributes":{},"id":"1006","type":"DataRange1d"},{"attributes":{"overlay":{"id":"1026"}},"id":"1022","type":"BoxZoomTool"},{"attributes":{},"id":"1023","type":"SaveTool"},{"attributes":{"coordinates":null,"group":null},"id":"1040","type":"Title"},{"attributes":{"coordinates":null,"data_source":{"id":"1034"},"glyph":{"id":"1035"},"group":null,"hover_glyph":null,"muted_glyph":{"id":"1037"},"nonselection_glyph":{"id":"1036"},"view":{"id":"1039"}},"id":"1038","type":"GlyphRenderer"},{"attributes":{},"id":"1013","type":"BasicTicker"},{"attributes":{},"id":"1008","type":"LinearScale"},{"attributes":{"source":{"id":"1034"}},"id":"1039","type":"CDSView"},{"attributes":{},"id":"1025","type":"HelpTool"},{"attributes":{},"id":"1010","type":"LinearScale"},{"attributes":{"fill_alpha":{"value":0.2},"fill_color":{"value":"#1f77b4"},"hatch_alpha":{"value":0.2},"line_alpha":{"value":0.2},"line_color":{"value":"#1f77b4"},"size":{"value":10},"x":{"field":"x"},"y":{"field":"y"}},"id":"1037","type":"Circle"},{"attributes":{},"id":"1049","type":"Selection"},{"attributes":{"coordinates":null,"formatter":{"id":"1046"},"group":null,"major_label_policy":{"id":"1047"},"ticker":{"id":"1013"}},"id":"1012","type":"LinearAxis"},{"attributes":{},"id":"1047","type":"AllLabels"},{"attributes":{"axis":{"id":"1012"},"coordinates":null,"group":null,"ticker":null},"id":"1015","type":"Grid"},{"attributes":{},"id":"1017","type":"BasicTicker"},{"attributes":{"coordinates":null,"formatter":{"id":"1043"},"group":null,"major_label_policy":{"id":"1044"},"ticker":{"id":"1017"}},"id":"1016","type":"LinearAxis"},{"attributes":{"fill_alpha":{"value":0.1},"fill_color":{"value":"#1f77b4"},"hatch_alpha":{"value":0.1},"line_alpha":{"value":0.1},"line_color":{"value":"#1f77b4"},"size":{"value":10},"x":{"field":"x"},"y":{"field":"y"}},"id":"1036","type":"Circle"},{"attributes":{"axis":{"id":"1016"},"coordinates":null,"dimension":1,"group":null,"ticker":null},"id":"1019","type":"Grid"},{"attributes":{},"id":"1046","type":"BasicTickFormatter"},{"attributes":{"data":{"x":[1,2,3,4,5],"y":[2,5,8,2,7]},"selected":{"id":"1049"},"selection_policy":{"id":"1048"}},"id":"1034","type":"ColumnDataSource"},{"attributes":{},"id":"1043","type":"BasicTickFormatter"}],"root_ids":["1003"]},"title":"Bokeh Application","version":"2.4.3"}};
492
- const render_items = [{"docid":"a45ed3c2-e048-444c-a406-a6d81da66dba","root_ids":["1003"],"roots":{"1003":"364c4c19-39d9-4aca-8391-dce1a3216aed"}}];
493
- root.Bokeh.embed.embed_items_notebook(docs_json, render_items);
494
- }
495
- if (root.Bokeh !== undefined) {
496
- embed_document(root);
497
- } else {
498
- let attempts = 0;
499
- const timer = setInterval(function(root) {
500
- if (root.Bokeh !== undefined) {
501
- clearInterval(timer);
502
- embed_document(root);
503
- } else {
504
- attempts++;
505
- if (attempts > 100) {
506
- clearInterval(timer);
507
- console.log("Bokeh: ERROR: Unable to run BokehJS code because BokehJS library is missing");
508
- }
509
- }
510
- }, 10, root)
511
- }
512
- })(window);
513
- </script>
514
- </div>
515
-
516
- </div>
517
-
518
- </div>
519
- </div>
520
-
521
- </div>
522
- <div class="cell border-box-sizing text_cell rendered"><div class="inner_cell">
523
- <div class="text_cell_render border-box-sizing rendered_html">
524
- <h3 id="Glyphs">Glyphs<a class="anchor-link" href="#Glyphs">&#182;</a></h3><p>It's also possible to style the visual properties of glyphs (see the <a href="https://docs.bokeh.org/en/latest/docs/user_guide/styling.html#glyphs">Glyphs</a> section of the styling guide for more information). When using <code>bokeh.plotting</code> this is often done when calling the glyph methods:</p>
525
- <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">line_color</span><span class="o">=</span><span class="s2">&quot;red&quot;</span><span class="p">,</span> <span class="n">fill_alpha</span><span class="o">=</span><span class="mf">0.2</span><span class="p">,</span> <span class="o">...</span><span class="p">)</span>
526
- </pre></div>
527
- <p>But it is also possible to set these properties directly on glyph objects. Glyph objects are found on <code>GlyphRenderer</code> objects, which are returned by the <code>Plot.add_glyph</code> and <code>bokeh.plotting</code> glyph methods like <code>circle</code>, <code>rect</code>, etc. Let's look at an example:</p>
528
-
529
- </div>
530
- </div>
531
- </div>
532
-
533
-
534
-
535
- <div class="
536
- cell border-box-sizing code_cell rendered">
537
- <div class="input">
538
-
539
- <div class="inner_cell">
540
- <div class="input_area">
541
- <div class=" highlight hl-ipython3"><pre><span></span><span class="c1"># create a new plot using figure</span>
542
- <span class="n">p</span> <span class="o">=</span> <span class="n">figure</span><span class="p">(</span>
543
- <span class="n">plot_height</span><span class="o">=</span><span class="mi">400</span><span class="p">,</span>
544
- <span class="n">plot_width</span><span class="o">=</span><span class="mi">800</span><span class="p">,</span>
545
- <span class="p">)</span>
546
-
547
- <span class="c1"># keep a reference to the returned GlyphRenderer</span>
548
- <span class="n">r</span> <span class="o">=</span> <span class="n">p</span><span class="o">.</span><span class="n">circle</span><span class="p">(</span>
549
- <span class="p">[</span><span class="mi">1</span><span class="p">,</span><span class="mi">2</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">5</span><span class="p">],</span>
550
- <span class="p">[</span><span class="mi">2</span><span class="p">,</span><span class="mi">5</span><span class="p">,</span><span class="mi">8</span><span class="p">,</span><span class="mi">2</span><span class="p">,</span><span class="mi">7</span><span class="p">]</span>
551
- <span class="p">)</span>
552
-
553
- <span class="n">r</span><span class="o">.</span><span class="n">glyph</span><span class="o">.</span><span class="n">size</span> <span class="o">=</span> <span class="mi">50</span>
554
- <span class="n">r</span><span class="o">.</span><span class="n">glyph</span><span class="o">.</span><span class="n">fill_alpha</span> <span class="o">=</span> <span class="mf">0.2</span>
555
- <span class="n">r</span><span class="o">.</span><span class="n">glyph</span><span class="o">.</span><span class="n">line_color</span> <span class="o">=</span> <span class="s2">&quot;firebrick&quot;</span>
556
- <span class="n">r</span><span class="o">.</span><span class="n">glyph</span><span class="o">.</span><span class="n">line_dash</span> <span class="o">=</span> <span class="p">[</span><span class="mi">5</span><span class="p">,</span> <span class="mi">1</span><span class="p">]</span>
557
- <span class="n">r</span><span class="o">.</span><span class="n">glyph</span><span class="o">.</span><span class="n">line_width</span> <span class="o">=</span> <span class="mi">2</span>
558
-
559
- <span class="c1"># show the results</span>
560
- <span class="n">show</span><span class="p">(</span><span class="n">p</span><span class="p">)</span>
561
- </pre></div>
562
-
563
- </div>
564
- </div>
565
- </div>
566
-
567
- <div class="output_wrapper">
568
- <div class="output">
569
-
570
-
571
- <div class="output_area">
572
-
573
-
574
-
575
-
576
- <div class="output_html rendered_html output_subarea ">
577
-
578
- <div class="bk-root" id="3030d42e-2f3a-4891-9c56-6e76dcf09b11" data-root-id="1106"></div>
579
-
580
- </div>
581
-
582
- </div>
583
-
584
- <div class="output_area">
585
-
586
-
587
-
588
-
589
-
590
-
591
- <div id="fbf51cf0-1d5f-4675-89b6-b7fc9d99fb68"></div>
592
- <div class="output_subarea output_javascript ">
593
- <script type="text/javascript">
594
- var element = $('#fbf51cf0-1d5f-4675-89b6-b7fc9d99fb68');
595
- (function(root) {
596
- function embed_document(root) {
597
- const docs_json = {"933f230c-461e-431c-b70f-5e84bc462ac0":{"defs":[],"roots":{"references":[{"attributes":{"below":[{"id":"1115"}],"center":[{"id":"1118"},{"id":"1122"}],"height":400,"left":[{"id":"1119"}],"renderers":[{"id":"1141"}],"title":{"id":"1154"},"toolbar":{"id":"1130"},"width":800,"x_range":{"id":"1107"},"x_scale":{"id":"1111"},"y_range":{"id":"1109"},"y_scale":{"id":"1113"}},"id":"1106","subtype":"Figure","type":"Plot"},{"attributes":{},"id":"1107","type":"DataRange1d"},{"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":"x"},"y":{"field":"y"}},"id":"1139","type":"Circle"},{"attributes":{},"id":"1160","type":"BasicTickFormatter"},{"attributes":{"axis":{"id":"1119"},"coordinates":null,"dimension":1,"group":null,"ticker":null},"id":"1122","type":"Grid"},{"attributes":{"fill_alpha":{"value":0.2},"fill_color":{"value":"#1f77b4"},"line_color":{"value":"firebrick"},"line_dash":{"value":[5,1]},"line_width":{"value":2},"size":{"value":50},"x":{"field":"x"},"y":{"field":"y"}},"id":"1138","type":"Circle"},{"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":"x"},"y":{"field":"y"}},"id":"1140","type":"Circle"},{"attributes":{},"id":"1128","type":"HelpTool"},{"attributes":{"coordinates":null,"group":null},"id":"1154","type":"Title"},{"attributes":{},"id":"1161","type":"AllLabels"},{"attributes":{},"id":"1157","type":"BasicTickFormatter"},{"attributes":{},"id":"1109","type":"DataRange1d"},{"attributes":{},"id":"1158","type":"AllLabels"},{"attributes":{},"id":"1116","type":"BasicTicker"},{"attributes":{},"id":"1162","type":"UnionRenderers"},{"attributes":{},"id":"1163","type":"Selection"},{"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":"1129","type":"BoxAnnotation"},{"attributes":{},"id":"1113","type":"LinearScale"},{"attributes":{},"id":"1111","type":"LinearScale"},{"attributes":{"tools":[{"id":"1123"},{"id":"1124"},{"id":"1125"},{"id":"1126"},{"id":"1127"},{"id":"1128"}]},"id":"1130","type":"Toolbar"},{"attributes":{"overlay":{"id":"1129"}},"id":"1125","type":"BoxZoomTool"},{"attributes":{"axis":{"id":"1115"},"coordinates":null,"group":null,"ticker":null},"id":"1118","type":"Grid"},{"attributes":{"source":{"id":"1137"}},"id":"1142","type":"CDSView"},{"attributes":{},"id":"1124","type":"WheelZoomTool"},{"attributes":{"coordinates":null,"formatter":{"id":"1160"},"group":null,"major_label_policy":{"id":"1161"},"ticker":{"id":"1116"}},"id":"1115","type":"LinearAxis"},{"attributes":{},"id":"1126","type":"SaveTool"},{"attributes":{"coordinates":null,"formatter":{"id":"1157"},"group":null,"major_label_policy":{"id":"1158"},"ticker":{"id":"1120"}},"id":"1119","type":"LinearAxis"},{"attributes":{},"id":"1127","type":"ResetTool"},{"attributes":{},"id":"1120","type":"BasicTicker"},{"attributes":{"coordinates":null,"data_source":{"id":"1137"},"glyph":{"id":"1138"},"group":null,"hover_glyph":null,"muted_glyph":{"id":"1140"},"nonselection_glyph":{"id":"1139"},"view":{"id":"1142"}},"id":"1141","type":"GlyphRenderer"},{"attributes":{"data":{"x":[1,2,3,4,5],"y":[2,5,8,2,7]},"selected":{"id":"1163"},"selection_policy":{"id":"1162"}},"id":"1137","type":"ColumnDataSource"},{"attributes":{},"id":"1123","type":"PanTool"}],"root_ids":["1106"]},"title":"Bokeh Application","version":"2.4.3"}};
598
- const render_items = [{"docid":"933f230c-461e-431c-b70f-5e84bc462ac0","root_ids":["1106"],"roots":{"1106":"3030d42e-2f3a-4891-9c56-6e76dcf09b11"}}];
599
- root.Bokeh.embed.embed_items_notebook(docs_json, render_items);
600
- }
601
- if (root.Bokeh !== undefined) {
602
- embed_document(root);
603
- } else {
604
- let attempts = 0;
605
- const timer = setInterval(function(root) {
606
- if (root.Bokeh !== undefined) {
607
- clearInterval(timer);
608
- embed_document(root);
609
- } else {
610
- attempts++;
611
- if (attempts > 100) {
612
- clearInterval(timer);
613
- console.log("Bokeh: ERROR: Unable to run BokehJS code because BokehJS library is missing");
614
- }
615
- }
616
- }, 10, root)
617
- }
618
- })(window);
619
- </script>
620
- </div>
621
-
622
- </div>
623
-
624
- </div>
625
- </div>
626
-
627
- </div>
628
- <div class="cell border-box-sizing text_cell rendered"><div class="inner_cell">
629
- <div class="text_cell_render border-box-sizing rendered_html">
630
- <h4 id="Selection-and-non-selection-visuals">Selection and non-selection visuals<a class="anchor-link" href="#Selection-and-non-selection-visuals">&#182;</a></h4><p>You can also control how glyphs look when there are selections involved. The set of "selected" points is displayed according to the optional <code>.selection_glyph</code> property of a <code>GlyphRenderer</code>:</p>
631
- <div class="highlight"><pre><span></span><span class="n">r</span><span class="o">.</span><span class="n">selection_glyph</span> <span class="o">=</span> <span class="n">Circle</span><span class="p">(</span><span class="n">fill_alpha</span><span class="o">=</span><span class="mi">1</span><span class="p">,</span> <span class="n">fill_color</span><span class="o">=</span><span class="s2">&quot;firebrick&quot;</span><span class="p">,</span> <span class="n">line_color</span><span class="o">=</span><span class="kc">None</span><span class="p">)</span>
632
- </pre></div>
633
- <p>When there is a non-empty selection, the set of "unselected" points is displayed according to the optional <code>.nonselection_glyph</code> property of a <code>GlyphRenderer</code>:</p>
634
- <div class="highlight"><pre><span></span><span class="n">r</span><span class="o">.</span><span class="n">nonselection_glyph</span> <span class="o">=</span> <span class="n">Circle</span><span class="p">(</span><span class="n">fill_alpha</span><span class="o">=</span><span class="mf">0.2</span><span class="p">,</span> <span class="n">fill_color</span><span class="o">=</span><span class="s2">&quot;grey&quot;</span><span class="p">,</span> <span class="n">line_color</span><span class="o">=</span><span class="kc">None</span><span class="p">)</span>
635
- </pre></div>
636
- <p>When using the <code>bokeh.plotting</code> interface, it is easier to pass these visual properties to the glyph methods as shown below. The glyph method will create the selection or nonselection glyphs and attach them to the renderer for you.</p>
637
-
638
- </div>
639
- </div>
640
- </div>
641
-
642
-
643
-
644
- <div class="
645
- cell border-box-sizing code_cell rendered">
646
- <div class="input">
647
-
648
- <div class="inner_cell">
649
- <div class="input_area">
650
- <div class=" highlight hl-ipython3"><pre><span></span><span class="c1"># create a new plot using figure</span>
651
- <span class="n">p</span> <span class="o">=</span> <span class="n">figure</span><span class="p">(</span>
652
- <span class="n">plot_height</span><span class="o">=</span><span class="mi">400</span><span class="p">,</span>
653
- <span class="n">plot_width</span><span class="o">=</span><span class="mi">800</span><span class="p">,</span>
654
- <span class="n">tools</span><span class="o">=</span><span class="s2">&quot;tap&quot;</span><span class="p">,</span>
655
- <span class="n">title</span><span class="o">=</span><span class="s2">&quot;Select a circle&quot;</span>
656
- <span class="p">)</span>
657
-
658
- <span class="n">renderer</span> <span class="o">=</span> <span class="n">p</span><span class="o">.</span><span class="n">circle</span><span class="p">(</span>
659
- <span class="p">[</span><span class="mi">1</span><span class="p">,</span> <span class="mi">2</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">5</span><span class="p">],</span>
660
- <span class="p">[</span><span class="mi">2</span><span class="p">,</span> <span class="mi">5</span><span class="p">,</span> <span class="mi">8</span><span class="p">,</span> <span class="mi">2</span><span class="p">,</span> <span class="mi">7</span><span class="p">],</span>
661
- <span class="n">size</span><span class="o">=</span><span class="mi">50</span><span class="p">,</span>
662
- <span class="c1"># set visual properties for selected glyphs</span>
663
- <span class="n">selection_color</span><span class="o">=</span><span class="s2">&quot;firebrick&quot;</span><span class="p">,</span>
664
- <span class="c1"># set visual properties for non-selected glyphs</span>
665
- <span class="n">nonselection_fill_alpha</span><span class="o">=</span><span class="mf">0.2</span><span class="p">,</span>
666
- <span class="n">nonselection_fill_color</span><span class="o">=</span><span class="s2">&quot;grey&quot;</span><span class="p">,</span>
667
- <span class="n">nonselection_line_color</span><span class="o">=</span><span class="s2">&quot;firebrick&quot;</span><span class="p">,</span>
668
- <span class="n">nonselection_line_alpha</span><span class="o">=</span><span class="mf">1.0</span>
669
- <span class="p">)</span>
670
-
671
- <span class="n">show</span><span class="p">(</span><span class="n">p</span><span class="p">)</span>
672
- </pre></div>
673
-
674
- </div>
675
- </div>
676
- </div>
677
-
678
- <div class="output_wrapper">
679
- <div class="output">
680
-
681
-
682
- <div class="output_area">
683
-
684
-
685
-
686
-
687
- <div class="output_html rendered_html output_subarea ">
688
-
689
- <div class="bk-root" id="0361fe81-0a58-444f-86ec-20b629ec1cc4" data-root-id="1220"></div>
690
-
691
- </div>
692
-
693
- </div>
694
-
695
- <div class="output_area">
696
-
697
-
698
-
699
-
700
-
701
-
702
- <div id="c0c9b237-2940-460d-b020-aff1aa80d561"></div>
703
- <div class="output_subarea output_javascript ">
704
- <script type="text/javascript">
705
- var element = $('#c0c9b237-2940-460d-b020-aff1aa80d561');
706
- (function(root) {
707
- function embed_document(root) {
708
- const docs_json = {"cdec5a83-254c-4bad-b1db-7aa97b71ca34":{"defs":[],"roots":{"references":[{"attributes":{"below":[{"id":"1231"}],"center":[{"id":"1234"},{"id":"1238"}],"height":400,"left":[{"id":"1235"}],"renderers":[{"id":"1247"}],"title":{"id":"1221"},"toolbar":{"id":"1240"},"width":800,"x_range":{"id":"1223"},"x_scale":{"id":"1227"},"y_range":{"id":"1225"},"y_scale":{"id":"1229"}},"id":"1220","subtype":"Figure","type":"Plot"},{"attributes":{},"id":"1274","type":"AllLabels"},{"attributes":{},"id":"1277","type":"AllLabels"},{"attributes":{},"id":"1278","type":"UnionRenderers"},{"attributes":{"coordinates":null,"group":null,"text":"Select a circle"},"id":"1221","type":"Title"},{"attributes":{},"id":"1276","type":"BasicTickFormatter"},{"attributes":{},"id":"1225","type":"DataRange1d"},{"attributes":{"tools":[{"id":"1239"}]},"id":"1240","type":"Toolbar"},{"attributes":{},"id":"1279","type":"Selection"},{"attributes":{},"id":"1273","type":"BasicTickFormatter"},{"attributes":{},"id":"1232","type":"BasicTicker"},{"attributes":{},"id":"1227","type":"LinearScale"},{"attributes":{"source":{"id":"1242"}},"id":"1248","type":"CDSView"},{"attributes":{},"id":"1229","type":"LinearScale"},{"attributes":{"coordinates":null,"data_source":{"id":"1242"},"glyph":{"id":"1243"},"group":null,"hover_glyph":null,"muted_glyph":{"id":"1246"},"nonselection_glyph":{"id":"1244"},"selection_glyph":{"id":"1245"},"view":{"id":"1248"}},"id":"1247","type":"GlyphRenderer"},{"attributes":{"coordinates":null,"formatter":{"id":"1276"},"group":null,"major_label_policy":{"id":"1277"},"ticker":{"id":"1232"}},"id":"1231","type":"LinearAxis"},{"attributes":{"fill_color":{"value":"#1f77b4"},"line_color":{"value":"#1f77b4"},"size":{"value":50},"x":{"field":"x"},"y":{"field":"y"}},"id":"1243","type":"Circle"},{"attributes":{"axis":{"id":"1231"},"coordinates":null,"group":null,"ticker":null},"id":"1234","type":"Grid"},{"attributes":{"fill_color":{"value":"firebrick"},"hatch_color":{"value":"firebrick"},"line_color":{"value":"firebrick"},"size":{"value":50},"x":{"field":"x"},"y":{"field":"y"}},"id":"1245","type":"Circle"},{"attributes":{},"id":"1236","type":"BasicTicker"},{"attributes":{"coordinates":null,"formatter":{"id":"1273"},"group":null,"major_label_policy":{"id":"1274"},"ticker":{"id":"1236"}},"id":"1235","type":"LinearAxis"},{"attributes":{"fill_alpha":{"value":0.2},"fill_color":{"value":"grey"},"hatch_alpha":{"value":0.1},"line_color":{"value":"firebrick"},"size":{"value":50},"x":{"field":"x"},"y":{"field":"y"}},"id":"1244","type":"Circle"},{"attributes":{"fill_alpha":{"value":0.2},"fill_color":{"value":"#1f77b4"},"hatch_alpha":{"value":0.2},"line_alpha":{"value":0.2},"line_color":{"value":"#1f77b4"},"size":{"value":50},"x":{"field":"x"},"y":{"field":"y"}},"id":"1246","type":"Circle"},{"attributes":{"axis":{"id":"1235"},"coordinates":null,"dimension":1,"group":null,"ticker":null},"id":"1238","type":"Grid"},{"attributes":{"data":{"x":[1,2,3,4,5],"y":[2,5,8,2,7]},"selected":{"id":"1279"},"selection_policy":{"id":"1278"}},"id":"1242","type":"ColumnDataSource"},{"attributes":{"callback":null},"id":"1239","type":"TapTool"},{"attributes":{},"id":"1223","type":"DataRange1d"}],"root_ids":["1220"]},"title":"Bokeh Application","version":"2.4.3"}};
709
- const render_items = [{"docid":"cdec5a83-254c-4bad-b1db-7aa97b71ca34","root_ids":["1220"],"roots":{"1220":"0361fe81-0a58-444f-86ec-20b629ec1cc4"}}];
710
- root.Bokeh.embed.embed_items_notebook(docs_json, render_items);
711
- }
712
- if (root.Bokeh !== undefined) {
713
- embed_document(root);
714
- } else {
715
- let attempts = 0;
716
- const timer = setInterval(function(root) {
717
- if (root.Bokeh !== undefined) {
718
- clearInterval(timer);
719
- embed_document(root);
720
- } else {
721
- attempts++;
722
- if (attempts > 100) {
723
- clearInterval(timer);
724
- console.log("Bokeh: ERROR: Unable to run BokehJS code because BokehJS library is missing");
725
- }
726
- }
727
- }, 10, root)
728
- }
729
- })(window);
730
- </script>
731
- </div>
732
-
733
- </div>
734
-
735
- </div>
736
- </div>
737
-
738
- </div>
739
- <div class="cell border-box-sizing text_cell rendered"><div class="inner_cell">
740
- <div class="text_cell_render border-box-sizing rendered_html">
741
- <p>It is also possible to specify the visual appearance of glyphs when they are "inspected", e.g. by a hover tool. This is accomplished by setting an optional <code>hover_glyph</code> on the glyph renderer:</p>
742
- <div class="highlight"><pre><span></span><span class="n">r</span><span class="o">.</span><span class="n">hover_glyph</span> <span class="o">=</span> <span class="n">Circle</span><span class="p">(</span><span class="n">fill_alpha</span><span class="o">=</span><span class="mi">1</span><span class="p">,</span> <span class="n">fill_color</span><span class="o">=</span><span class="s2">&quot;firebrick&quot;</span><span class="p">,</span> <span class="n">line_color</span><span class="o">=</span><span class="kc">None</span><span class="p">)</span>
743
- </pre></div>
744
- <p>Or if using <code>bokeh.plotting</code> glyph methods, by passing <code>hover_fill_alpha</code>, etc. to the glyph method. Lets look at an example that works together with a <code>HoverTool</code> configured for "hline" hit-testing.</p>
745
-
746
- </div>
747
- </div>
748
- </div>
749
-
750
-
751
-
752
- <div class="
753
- cell border-box-sizing code_cell rendered">
754
- <div class="input">
755
-
756
- <div class="inner_cell">
757
- <div class="input_area">
758
- <div class=" highlight hl-ipython3"><pre><span></span><span class="kn">from</span> <span class="nn">bokeh.models.tools</span> <span class="kn">import</span> <span class="n">HoverTool</span>
759
- <span class="kn">from</span> <span class="nn">bokeh.sampledata.glucose</span> <span class="kn">import</span> <span class="n">data</span>
760
-
761
- <span class="n">subset</span> <span class="o">=</span> <span class="n">data</span><span class="o">.</span><span class="n">loc</span><span class="p">[</span><span class="s1">&#39;2010-10-06&#39;</span><span class="p">]</span>
762
-
763
- <span class="n">x</span><span class="p">,</span> <span class="n">y</span> <span class="o">=</span> <span class="n">subset</span><span class="o">.</span><span class="n">index</span><span class="o">.</span><span class="n">to_series</span><span class="p">(),</span> <span class="n">subset</span><span class="p">[</span><span class="s1">&#39;glucose&#39;</span><span class="p">]</span>
764
-
765
- <span class="c1"># Basic plot setup</span>
766
- <span class="n">p</span> <span class="o">=</span> <span class="n">figure</span><span class="p">(</span>
767
- <span class="n">plot_height</span><span class="o">=</span><span class="mi">400</span><span class="p">,</span>
768
- <span class="n">plot_width</span><span class="o">=</span><span class="mi">800</span><span class="p">,</span>
769
- <span class="n">x_axis_type</span><span class="o">=</span><span class="s2">&quot;datetime&quot;</span><span class="p">,</span>
770
- <span class="n">title</span><span class="o">=</span><span class="s1">&#39;Hover over points&#39;</span>
771
- <span class="p">)</span>
772
-
773
- <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="p">,</span> <span class="n">y</span><span class="p">,</span> <span class="n">line_dash</span><span class="o">=</span><span class="s2">&quot;4 4&quot;</span><span class="p">,</span> <span class="n">line_width</span><span class="o">=</span><span class="mi">1</span><span class="p">,</span> <span class="n">color</span><span class="o">=</span><span class="s1">&#39;gray&#39;</span><span class="p">)</span>
774
-
775
- <span class="n">cr</span> <span class="o">=</span> <span class="n">p</span><span class="o">.</span><span class="n">circle</span><span class="p">(</span>
776
- <span class="n">x</span><span class="p">,</span>
777
- <span class="n">y</span><span class="p">,</span>
778
- <span class="n">size</span><span class="o">=</span><span class="mi">20</span><span class="p">,</span>
779
- <span class="n">fill_color</span><span class="o">=</span><span class="s2">&quot;grey&quot;</span><span class="p">,</span> <span class="n">hover_fill_color</span><span class="o">=</span><span class="s2">&quot;firebrick&quot;</span><span class="p">,</span>
780
- <span class="n">fill_alpha</span><span class="o">=</span><span class="mf">0.05</span><span class="p">,</span> <span class="n">hover_alpha</span><span class="o">=</span><span class="mf">0.3</span><span class="p">,</span>
781
- <span class="n">line_color</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span> <span class="n">hover_line_color</span><span class="o">=</span><span class="s2">&quot;white&quot;</span>
782
- <span class="p">)</span>
783
-
784
- <span class="n">p</span><span class="o">.</span><span class="n">add_tools</span><span class="p">(</span>
785
- <span class="n">HoverTool</span><span class="p">(</span><span class="n">tooltips</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span> <span class="n">renderers</span><span class="o">=</span><span class="p">[</span><span class="n">cr</span><span class="p">],</span> <span class="n">mode</span><span class="o">=</span><span class="s1">&#39;hline&#39;</span><span class="p">)</span>
786
- <span class="p">)</span>
787
-
788
- <span class="c1"># show the results</span>
789
- <span class="n">show</span><span class="p">(</span><span class="n">p</span><span class="p">)</span>
790
- </pre></div>
791
-
792
- </div>
793
- </div>
794
- </div>
795
-
796
- <div class="output_wrapper">
797
- <div class="output">
798
-
799
-
800
- <div class="output_area">
801
-
802
-
803
-
804
-
805
- <div class="output_html rendered_html output_subarea ">
806
-
807
- <div class="bk-root" id="55d5b544-b88c-4857-9409-dfe7ff547125" data-root-id="1325"></div>
808
-
809
- </div>
810
-
811
- </div>
812
-
813
- <div class="output_area">
814
-
815
-
816
-
817
-
818
-
819
-
820
- <div id="b0f903a9-9741-4806-8131-b8dee58f1bd1"></div>
821
- <div class="output_subarea output_javascript ">
822
- <script type="text/javascript">
823
- var element = $('#b0f903a9-9741-4806-8131-b8dee58f1bd1');
824
- (function(root) {
825
- function embed_document(root) {
826
- const docs_json = {"8fe97e7e-0d37-43aa-b33f-ca34e8d58cbf":{"defs":[],"roots":{"references":[{"attributes":{"below":[{"id":"1336"}],"center":[{"id":"1339"},{"id":"1343"}],"height":400,"left":[{"id":"1340"}],"renderers":[{"id":"1362"},{"id":"1369"}],"title":{"id":"1326"},"toolbar":{"id":"1351"},"width":800,"x_range":{"id":"1328"},"x_scale":{"id":"1332"},"y_range":{"id":"1330"},"y_scale":{"id":"1334"}},"id":"1325","subtype":"Figure","type":"Plot"},{"attributes":{"overlay":{"id":"1350"}},"id":"1346","type":"BoxZoomTool"},{"attributes":{"days":[1,4,7,10,13,16,19,22,25,28]},"id":"1420","type":"DaysTicker"},{"attributes":{"coordinates":null,"group":null,"text":"Hover over points"},"id":"1326","type":"Title"},{"attributes":{"coordinates":null,"data_source":{"id":"1364"},"glyph":{"id":"1365"},"group":null,"hover_glyph":{"id":"1367"},"muted_glyph":{"id":"1368"},"nonselection_glyph":{"id":"1366"},"view":{"id":"1370"}},"id":"1369","type":"GlyphRenderer"},{"attributes":{},"id":"1328","type":"DataRange1d"},{"attributes":{"source":{"id":"1364"}},"id":"1370","type":"CDSView"},{"attributes":{},"id":"1347","type":"SaveTool"},{"attributes":{"num_minor_ticks":5,"tickers":[{"id":"1416"},{"id":"1417"},{"id":"1418"},{"id":"1419"},{"id":"1420"},{"id":"1421"},{"id":"1422"},{"id":"1423"},{"id":"1424"},{"id":"1425"},{"id":"1426"},{"id":"1427"}]},"id":"1337","type":"DatetimeTicker"},{"attributes":{},"id":"1406","type":"BasicTickFormatter"},{"attributes":{"months":[0,1,2,3,4,5,6,7,8,9,10,11]},"id":"1423","type":"MonthsTicker"},{"attributes":{"days":[1,8,15,22]},"id":"1421","type":"DaysTicker"},{"attributes":{},"id":"1345","type":"WheelZoomTool"},{"attributes":{},"id":"1349","type":"HelpTool"},{"attributes":{"days":[1,15]},"id":"1422","type":"DaysTicker"},{"attributes":{},"id":"1332","type":"LinearScale"},{"attributes":{"base":60,"mantissas":[1,2,5,10,15,20,30],"max_interval":1800000.0,"min_interval":1000.0,"num_minor_ticks":0},"id":"1417","type":"AdaptiveTicker"},{"attributes":{"coordinates":null,"formatter":{"id":"1409"},"group":null,"major_label_policy":{"id":"1410"},"ticker":{"id":"1337"}},"id":"1336","type":"DatetimeAxis"},{"attributes":{},"id":"1334","type":"LinearScale"},{"attributes":{"line_alpha":0.1,"line_color":"gray","line_dash":[4,4],"x":{"field":"x"},"y":{"field":"y"}},"id":"1360","type":"Line"},{"attributes":{"months":[0,2,4,6,8,10]},"id":"1424","type":"MonthsTicker"},{"attributes":{},"id":"1407","type":"AllLabels"},{"attributes":{"fill_alpha":{"value":0.05},"fill_color":{"value":"grey"},"line_color":{"value":null},"size":{"value":20},"x":{"field":"x"},"y":{"field":"y"}},"id":"1365","type":"Circle"},{"attributes":{"months":[0,4,8]},"id":"1425","type":"MonthsTicker"},{"attributes":{},"id":"1410","type":"AllLabels"},{"attributes":{"axis":{"id":"1336"},"coordinates":null,"group":null,"ticker":null},"id":"1339","type":"Grid"},{"attributes":{},"id":"1409","type":"DatetimeTickFormatter"},{"attributes":{},"id":"1341","type":"BasicTicker"},{"attributes":{},"id":"1411","type":"UnionRenderers"},{"attributes":{"mantissas":[1,2,5],"max_interval":500.0,"num_minor_ticks":0},"id":"1416","type":"AdaptiveTicker"},{"attributes":{"months":[0,6]},"id":"1426","type":"MonthsTicker"},{"attributes":{"coordinates":null,"formatter":{"id":"1406"},"group":null,"major_label_policy":{"id":"1407"},"ticker":{"id":"1341"}},"id":"1340","type":"LinearAxis"},{"attributes":{},"id":"1412","type":"Selection"},{"attributes":{"data":{"x":{"__ndarray__":"AADyke23ckIAADDb7bdyQgAAbiTut3JCAACsbe63ckIAAOq27rdyQgAAKADvt3JCAABmSe+3ckIAAKSS77dyQgAA4tvvt3JCAAAgJfC3ckIAAF5u8LdyQgAAnLfwt3JCAADaAPG3ckIAABhK8bdyQgAAVpPxt3JCAACU3PG3ckIAANIl8rdyQgAAEG/yt3JCAABOuPK3ckIAAIwB87dyQgAAykrzt3JCAAAIlPO3ckIAAEbd87dyQgAAhCb0t3JCAADCb/S3ckIAAAC59LdyQgAAPgL1t3JCAAB8S/W3ckIAALqU9bdyQgAA+N31t3JCAAA2J/a3ckIAAHRw9rdyQgAAsrn2t3JCAADwAve3ckIAAC5M97dyQgAAbJX3t3JCAACq3ve3ckIAAOgn+LdyQgAAJnH4t3JCAABkuvi3ckIAAKID+bdyQgAA4Ez5t3JCAAAelvm3ckIAAFzf+bdyQgAAmij6t3JCAADYcfq3ckIAABa7+rdyQgAAVAT7t3JCAACSTfu3ckIAANCW+7dyQgAADuD7t3JCAABMKfy3ckIAAIpy/LdyQgAAyLv8t3JCAAAGBf23ckIAAERO/bdyQgAAgpf9t3JCAADA4P23ckIAAP4p/rdyQgAAPHP+t3JCAAB6vP63ckIAALgF/7dyQgAA9k7/t3JCAAA0mP+3ckIAAHLh/7dyQgAAsCoAuHJCAADucwC4ckIAACy9ALhyQgAAagYBuHJCAACoTwG4ckIAAOaYAbhyQgAAJOIBuHJCAABiKwK4ckIAAKB0ArhyQgAA3r0CuHJCAAAcBwO4ckIAAFpQA7hyQgAAmJkDuHJCAADW4gO4ckIAABQsBLhyQgAAUnUEuHJCAACQvgS4ckIAAM4HBbhyQgAADFEFuHJCAABKmgW4ckIAAIjjBbhyQgAAxiwGuHJCAAAEdga4ckIAAEK/BrhyQgAAgAgHuHJCAAC+UQe4ckIAAPyaB7hyQgAAOuQHuHJCAAB4LQi4ckIAALZ2CLhyQgAA9L8IuHJCAAAyCQm4ckIAAHBSCbhyQgAArpsJuHJCAADs5Am4ckIAACouCrhyQgAAaHcKuHJCAACmwAq4ckIAAOQJC7hyQgAAIlMLuHJCAABgnAu4ckIAAJ7lC7hyQgAA3C4MuHJCAAAaeAy4ckIAAFjBDLhyQgAAlgoNuHJCAADUUw24ckIAABKdDbhyQgAAUOYNuHJCAACOLw64ckIAAMx4DrhyQgAACsIOuHJCAABICw+4ckIAAIZUD7hyQgAAxJ0PuHJCAAAC5w+4ckIAAEAwELhyQgAAfnkQuHJCAAC8whC4ckIAAPoLEbhyQgAAOFURuHJCAAB2nhG4ckIAALTnEbhyQgAA8jASuHJCAAAwehK4ckIAAG7DErhyQgAArAwTuHJCAADqVRO4ckIAACifE7hyQgAAZugTuHJCAACkMRS4ckIAAOJ6FLhyQgAAIMQUuHJCAABeDRW4ckIAAJxWFbhyQgAA2p8VuHJCAAAY6RW4ckIAAFYyFrhyQgAAlHsWuHJCAADSxBa4ckIAABAOF7hyQgAATlcXuHJCAACMoBe4ckIAAMrpF7hyQgAACDMYuHJCAABGfBi4ckIAAITFGLhyQgAAwg4ZuHJCAAAAWBm4ckIAAD6hGbhyQgAAfOoZuHJCAAC6Mxq4ckIAAPh8GrhyQgAANsYauHJCAAB0Dxu4ckIAALJYG7hyQgAA8KEbuHJCAAAu6xu4ckIAAGw0HLhyQgAAqn0cuHJCAADoxhy4ckIAACYQHbhyQgAAZFkduHJCAACioh24ckIAAODrHbhyQgAAHjUeuHJCAABcfh64ckIAAJrHHrhyQgAA2BAfuHJCAAAWWh+4ckIAAFSjH7hyQgAAkuwfuHJCAADQNSC4ckIAAA5/ILhyQgAATMgguHJCAACKESG4ckIAAMhaIbhyQgAABqQhuHJCAABE7SG4ckIAAII2IrhyQgAAwH8iuHJCAAD+yCK4ckIAADwSI7hyQgAAelsjuHJCAAC4pCO4ckIAAPbtI7hyQgAANDckuHJCAABygCS4ckIAALDJJLhyQgAA7hIluHJCAAAsXCW4ckIAAGqlJbhyQgAAqO4luHJCAADmNya4ckIAACSBJrhyQgAAYsomuHJCAACgEye4ckIAAN5cJ7hyQgAAHKYnuHJCAABa7ye4ckIAAJg4KLhyQgAA1oEouHJCAAAUyyi4ckIAAFIUKbhyQgAAkF0puHJCAADOpim4ckIAAAzwKbhyQgAASjkquHJCAACIgiq4ckIAAMbLKrhyQgAABBUruHJCAABCXiu4ckIAAICnK7hyQgAAvvAruHJCAAD8OSy4ckIAADqDLLhyQgAAeMwsuHJCAAC2FS24ckIAAPReLbhyQgAAMqgtuHJCAABw8S24ckIAAK46LrhyQgAA7IMuuHJCAAAqzS64ckIAAGgWL7hyQgAApl8vuHJCAADkqC+4ckIAACLyL7hyQgAAYDswuHJCAACehDC4ckIAANzNMLhyQgAAGhcxuHJCAABYYDG4ckIAAJapMbhyQgAA1PIxuHJCAAASPDK4ckIAAFCFMrhyQgAAjs4yuHJCAADMFzO4ckIAAAphM7hyQgAASKozuHJCAACG8zO4ckIAAMQ8NLhyQgAAAoY0uHJCAABAzzS4ckIAAH4YNbhyQgAAvGE1uHJCAAD6qjW4ckIAADj0NbhyQgAAdj02uHJCAAC0hja4ckIAAPLPNrhyQgAAMBk3uHJCAABuYje4ckIAAKyrN7hyQgAA6vQ3uHJCAAAoPji4ckIAAGaHOLhyQgAApNA4uHJCAADiGTm4ckIAACBjObhyQgAAXqw5uHJCAACc9Tm4ckIAANo+OrhyQgAAGIg6uHJCAABW0Tq4ckIAAJQaO7hyQgAA0mM7uHJCAAAQrTu4ckIAAE72O7hyQgAAjD88uHJCAADKiDy4ckIAAAjSPLhyQgAARhs9uHJCAACEZD24ckIAAMKtPbhyQgAAAPc9uHJCAAA+QD64ckIAAHyJPrhyQgAAutI+uHJCAAD4Gz+4ckIAADZlP7hyQgAAdK4/uHJC","dtype":"float64","order":"little","shape":[288]},"y":[143,147,150,152,152,152,154,155,142,140,138,134,131,130,128,127,126,126,126,126,127,129,131,132,134,136,136,136,136,135,134,132,130,130,130,129,128,127,125,124,123,123,122,121,120,118,115,112,111,111,110,110,109,108,107,107,107,108,107,105,105,105,105,104,103,102,99,97,96,94,94,93,93,92,91,92,94,95,96,97,99,102,104,112,112,112,111,110,107,104,105,105,103,99,96,94,95,102,114,128,144,160,173,185,196,205,209,214,219,226,234,241,248,255,260,265,268,270,272,271,271,268,265,261,256,253,250,246,244,241,237,233,229,225,222,204,200,197,193,190,186,182,179,175,171,168,164,158,154,151,148,145,141,133,139,152,173,196,217,233,244,249,250,253,256,260,263,265,265,264,260,254,246,234,217,200,188,181,175,169,164,159,154,147,138,132,129,127,123,117,111,106,104,103,100,94,88,83,78,75,73,71,69,68,67,67,68,70,71,71,70,69,68,67,67,67,66,67,69,71,74,76,78,80,80,80,80,80,80,82,84,87,90,92,87,87,86,86,86,86,87,87,87,85,83,82,83,87,95,107,118,130,141,149,172,179,187,201,214,221,225,230,232,230,223,216,208,199,191,185,181,177,176,177,176,173,171,169,163,154,152,153,154,154,153,151,150,150]},"selected":{"id":"1412"},"selection_policy":{"id":"1411"}},"id":"1358","type":"ColumnDataSource"},{"attributes":{"line_alpha":0.2,"line_color":"gray","line_dash":[4,4],"x":{"field":"x"},"y":{"field":"y"}},"id":"1361","type":"Line"},{"attributes":{"coordinates":null,"data_source":{"id":"1358"},"glyph":{"id":"1359"},"group":null,"hover_glyph":null,"muted_glyph":{"id":"1361"},"nonselection_glyph":{"id":"1360"},"view":{"id":"1363"}},"id":"1362","type":"GlyphRenderer"},{"attributes":{},"id":"1427","type":"YearsTicker"},{"attributes":{"callback":null,"mode":"hline","renderers":[{"id":"1369"}],"tooltips":null},"id":"1371","type":"HoverTool"},{"attributes":{},"id":"1413","type":"UnionRenderers"},{"attributes":{"axis":{"id":"1340"},"coordinates":null,"dimension":1,"group":null,"ticker":null},"id":"1343","type":"Grid"},{"attributes":{"fill_alpha":{"value":0.2},"fill_color":{"value":"grey"},"hatch_alpha":{"value":0.2},"line_alpha":{"value":0.2},"line_color":{"value":null},"size":{"value":20},"x":{"field":"x"},"y":{"field":"y"}},"id":"1368","type":"Circle"},{"attributes":{"line_color":"gray","line_dash":[4,4],"x":{"field":"x"},"y":{"field":"y"}},"id":"1359","type":"Line"},{"attributes":{"fill_alpha":{"value":0.1},"fill_color":{"value":"grey"},"hatch_alpha":{"value":0.1},"line_alpha":{"value":0.1},"line_color":{"value":null},"size":{"value":20},"x":{"field":"x"},"y":{"field":"y"}},"id":"1366","type":"Circle"},{"attributes":{},"id":"1414","type":"Selection"},{"attributes":{"source":{"id":"1358"}},"id":"1363","type":"CDSView"},{"attributes":{"tools":[{"id":"1344"},{"id":"1345"},{"id":"1346"},{"id":"1347"},{"id":"1348"},{"id":"1349"},{"id":"1371"}]},"id":"1351","type":"Toolbar"},{"attributes":{"fill_alpha":{"value":0.3},"fill_color":{"value":"firebrick"},"hatch_alpha":{"value":0.3},"line_alpha":{"value":0.3},"line_color":{"value":"white"},"size":{"value":20},"x":{"field":"x"},"y":{"field":"y"}},"id":"1367","type":"Circle"},{"attributes":{"base":24,"mantissas":[1,2,4,6,8,12],"max_interval":43200000.0,"min_interval":3600000.0,"num_minor_ticks":0},"id":"1418","type":"AdaptiveTicker"},{"attributes":{"data":{"x":{"__ndarray__":"AADyke23ckIAADDb7bdyQgAAbiTut3JCAACsbe63ckIAAOq27rdyQgAAKADvt3JCAABmSe+3ckIAAKSS77dyQgAA4tvvt3JCAAAgJfC3ckIAAF5u8LdyQgAAnLfwt3JCAADaAPG3ckIAABhK8bdyQgAAVpPxt3JCAACU3PG3ckIAANIl8rdyQgAAEG/yt3JCAABOuPK3ckIAAIwB87dyQgAAykrzt3JCAAAIlPO3ckIAAEbd87dyQgAAhCb0t3JCAADCb/S3ckIAAAC59LdyQgAAPgL1t3JCAAB8S/W3ckIAALqU9bdyQgAA+N31t3JCAAA2J/a3ckIAAHRw9rdyQgAAsrn2t3JCAADwAve3ckIAAC5M97dyQgAAbJX3t3JCAACq3ve3ckIAAOgn+LdyQgAAJnH4t3JCAABkuvi3ckIAAKID+bdyQgAA4Ez5t3JCAAAelvm3ckIAAFzf+bdyQgAAmij6t3JCAADYcfq3ckIAABa7+rdyQgAAVAT7t3JCAACSTfu3ckIAANCW+7dyQgAADuD7t3JCAABMKfy3ckIAAIpy/LdyQgAAyLv8t3JCAAAGBf23ckIAAERO/bdyQgAAgpf9t3JCAADA4P23ckIAAP4p/rdyQgAAPHP+t3JCAAB6vP63ckIAALgF/7dyQgAA9k7/t3JCAAA0mP+3ckIAAHLh/7dyQgAAsCoAuHJCAADucwC4ckIAACy9ALhyQgAAagYBuHJCAACoTwG4ckIAAOaYAbhyQgAAJOIBuHJCAABiKwK4ckIAAKB0ArhyQgAA3r0CuHJCAAAcBwO4ckIAAFpQA7hyQgAAmJkDuHJCAADW4gO4ckIAABQsBLhyQgAAUnUEuHJCAACQvgS4ckIAAM4HBbhyQgAADFEFuHJCAABKmgW4ckIAAIjjBbhyQgAAxiwGuHJCAAAEdga4ckIAAEK/BrhyQgAAgAgHuHJCAAC+UQe4ckIAAPyaB7hyQgAAOuQHuHJCAAB4LQi4ckIAALZ2CLhyQgAA9L8IuHJCAAAyCQm4ckIAAHBSCbhyQgAArpsJuHJCAADs5Am4ckIAACouCrhyQgAAaHcKuHJCAACmwAq4ckIAAOQJC7hyQgAAIlMLuHJCAABgnAu4ckIAAJ7lC7hyQgAA3C4MuHJCAAAaeAy4ckIAAFjBDLhyQgAAlgoNuHJCAADUUw24ckIAABKdDbhyQgAAUOYNuHJCAACOLw64ckIAAMx4DrhyQgAACsIOuHJCAABICw+4ckIAAIZUD7hyQgAAxJ0PuHJCAAAC5w+4ckIAAEAwELhyQgAAfnkQuHJCAAC8whC4ckIAAPoLEbhyQgAAOFURuHJCAAB2nhG4ckIAALTnEbhyQgAA8jASuHJCAAAwehK4ckIAAG7DErhyQgAArAwTuHJCAADqVRO4ckIAACifE7hyQgAAZugTuHJCAACkMRS4ckIAAOJ6FLhyQgAAIMQUuHJCAABeDRW4ckIAAJxWFbhyQgAA2p8VuHJCAAAY6RW4ckIAAFYyFrhyQgAAlHsWuHJCAADSxBa4ckIAABAOF7hyQgAATlcXuHJCAACMoBe4ckIAAMrpF7hyQgAACDMYuHJCAABGfBi4ckIAAITFGLhyQgAAwg4ZuHJCAAAAWBm4ckIAAD6hGbhyQgAAfOoZuHJCAAC6Mxq4ckIAAPh8GrhyQgAANsYauHJCAAB0Dxu4ckIAALJYG7hyQgAA8KEbuHJCAAAu6xu4ckIAAGw0HLhyQgAAqn0cuHJCAADoxhy4ckIAACYQHbhyQgAAZFkduHJCAACioh24ckIAAODrHbhyQgAAHjUeuHJCAABcfh64ckIAAJrHHrhyQgAA2BAfuHJCAAAWWh+4ckIAAFSjH7hyQgAAkuwfuHJCAADQNSC4ckIAAA5/ILhyQgAATMgguHJCAACKESG4ckIAAMhaIbhyQgAABqQhuHJCAABE7SG4ckIAAII2IrhyQgAAwH8iuHJCAAD+yCK4ckIAADwSI7hyQgAAelsjuHJCAAC4pCO4ckIAAPbtI7hyQgAANDckuHJCAABygCS4ckIAALDJJLhyQgAA7hIluHJCAAAsXCW4ckIAAGqlJbhyQgAAqO4luHJCAADmNya4ckIAACSBJrhyQgAAYsomuHJCAACgEye4ckIAAN5cJ7hyQgAAHKYnuHJCAABa7ye4ckIAAJg4KLhyQgAA1oEouHJCAAAUyyi4ckIAAFIUKbhyQgAAkF0puHJCAADOpim4ckIAAAzwKbhyQgAASjkquHJCAACIgiq4ckIAAMbLKrhyQgAABBUruHJCAABCXiu4ckIAAICnK7hyQgAAvvAruHJCAAD8OSy4ckIAADqDLLhyQgAAeMwsuHJCAAC2FS24ckIAAPReLbhyQgAAMqgtuHJCAABw8S24ckIAAK46LrhyQgAA7IMuuHJCAAAqzS64ckIAAGgWL7hyQgAApl8vuHJCAADkqC+4ckIAACLyL7hyQgAAYDswuHJCAACehDC4ckIAANzNMLhyQgAAGhcxuHJCAABYYDG4ckIAAJapMbhyQgAA1PIxuHJCAAASPDK4ckIAAFCFMrhyQgAAjs4yuHJCAADMFzO4ckIAAAphM7hyQgAASKozuHJCAACG8zO4ckIAAMQ8NLhyQgAAAoY0uHJCAABAzzS4ckIAAH4YNbhyQgAAvGE1uHJCAAD6qjW4ckIAADj0NbhyQgAAdj02uHJCAAC0hja4ckIAAPLPNrhyQgAAMBk3uHJCAABuYje4ckIAAKyrN7hyQgAA6vQ3uHJCAAAoPji4ckIAAGaHOLhyQgAApNA4uHJCAADiGTm4ckIAACBjObhyQgAAXqw5uHJCAACc9Tm4ckIAANo+OrhyQgAAGIg6uHJCAABW0Tq4ckIAAJQaO7hyQgAA0mM7uHJCAAAQrTu4ckIAAE72O7hyQgAAjD88uHJCAADKiDy4ckIAAAjSPLhyQgAARhs9uHJCAACEZD24ckIAAMKtPbhyQgAAAPc9uHJCAAA+QD64ckIAAHyJPrhyQgAAutI+uHJCAAD4Gz+4ckIAADZlP7hyQgAAdK4/uHJC","dtype":"float64","order":"little","shape":[288]},"y":[143,147,150,152,152,152,154,155,142,140,138,134,131,130,128,127,126,126,126,126,127,129,131,132,134,136,136,136,136,135,134,132,130,130,130,129,128,127,125,124,123,123,122,121,120,118,115,112,111,111,110,110,109,108,107,107,107,108,107,105,105,105,105,104,103,102,99,97,96,94,94,93,93,92,91,92,94,95,96,97,99,102,104,112,112,112,111,110,107,104,105,105,103,99,96,94,95,102,114,128,144,160,173,185,196,205,209,214,219,226,234,241,248,255,260,265,268,270,272,271,271,268,265,261,256,253,250,246,244,241,237,233,229,225,222,204,200,197,193,190,186,182,179,175,171,168,164,158,154,151,148,145,141,133,139,152,173,196,217,233,244,249,250,253,256,260,263,265,265,264,260,254,246,234,217,200,188,181,175,169,164,159,154,147,138,132,129,127,123,117,111,106,104,103,100,94,88,83,78,75,73,71,69,68,67,67,68,70,71,71,70,69,68,67,67,67,66,67,69,71,74,76,78,80,80,80,80,80,80,82,84,87,90,92,87,87,86,86,86,86,87,87,87,85,83,82,83,87,95,107,118,130,141,149,172,179,187,201,214,221,225,230,232,230,223,216,208,199,191,185,181,177,176,177,176,173,171,169,163,154,152,153,154,154,153,151,150,150]},"selected":{"id":"1414"},"selection_policy":{"id":"1413"}},"id":"1364","type":"ColumnDataSource"},{"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":"1350","type":"BoxAnnotation"},{"attributes":{},"id":"1344","type":"PanTool"},{"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":"1419","type":"DaysTicker"},{"attributes":{},"id":"1348","type":"ResetTool"},{"attributes":{},"id":"1330","type":"DataRange1d"}],"root_ids":["1325"]},"title":"Bokeh Application","version":"2.4.3"}};
827
- const render_items = [{"docid":"8fe97e7e-0d37-43aa-b33f-ca34e8d58cbf","root_ids":["1325"],"roots":{"1325":"55d5b544-b88c-4857-9409-dfe7ff547125"}}];
828
- root.Bokeh.embed.embed_items_notebook(docs_json, render_items);
829
- }
830
- if (root.Bokeh !== undefined) {
831
- embed_document(root);
832
- } else {
833
- let attempts = 0;
834
- const timer = setInterval(function(root) {
835
- if (root.Bokeh !== undefined) {
836
- clearInterval(timer);
837
- embed_document(root);
838
- } else {
839
- attempts++;
840
- if (attempts > 100) {
841
- clearInterval(timer);
842
- console.log("Bokeh: ERROR: Unable to run BokehJS code because BokehJS library is missing");
843
- }
844
- }
845
- }, 10, root)
846
- }
847
- })(window);
848
- </script>
849
- </div>
850
-
851
- </div>
852
-
853
- </div>
854
- </div>
855
-
856
- </div>
857
- <div class="cell border-box-sizing text_cell rendered"><div class="inner_cell">
858
- <div class="text_cell_render border-box-sizing rendered_html">
859
- <h3 id="Axes">Axes<a class="anchor-link" href="#Axes">&#182;</a></h3><p>Next we will take a look at <a href="https://bokeh.pydata.org/en/latest/docs/user_guide/styling.html#axes">stlying of Axes</a>.</p>
860
- <p>To style axes, you first must get ahold of <code>Axis</code> objects. The simplest way is to use some convenience methods on <code>Plot</code>: <code>axis</code>, <code>xaxis</code>, and <code>yaxis</code>. These methods return lists of axis objects:</p>
861
-
862
- <pre><code>&gt;&gt;&gt; p.xaxis
863
- [&lt;bokeh.models.axes.LinearAxis at 0x106fa2390&gt;]</code></pre>
864
- <p>However, you can set properties on all the elements of the list as if it was a single object:</p>
865
-
866
- <pre><code>p.xaxis.axis_label = "Temperature"
867
- p.axis.major_label_text_color = "orange"</code></pre>
868
- <p>These are referred to as "splattable" lists, and tab completion works on them as well.</p>
869
-
870
- </div>
871
- </div>
872
- </div>
873
- <div class="cell border-box-sizing text_cell rendered"><div class="inner_cell">
874
- <div class="text_cell_render border-box-sizing rendered_html">
875
- <h4 id="Axis-properties">Axis properties<a class="anchor-link" href="#Axis-properties">&#182;</a></h4><p>Axes objects have many configurable properties that afford control over most visual aspects of an axis. These can be grouped by function according to prefix:</p>
876
- <ul>
877
- <li><p><strong>axis</strong> <a href="https://bokeh.pydata.org/en/latest/docs/user_guide/styling.html#line-properties">line properties</a> e.g <code>axis_line_width</code></p>
878
- </li>
879
- <li><p><strong>axis_label</strong> <a href="https://bokeh.pydata.org/en/latest/docs/user_guide/styling.html#text-properties">text properties</a> e.g. <code>axis_label_text_color</code>, as well as <code>axis_label_standoff</code></p>
880
- </li>
881
- <li><p><strong>major_label</strong> <a href="https://bokeh.pydata.org/en/latest/docs/user_guide/styling.html#text-properties">text properties</a> e.g. <code>major_label_text_font_size</code>, as well as <code>major_label_orientation</code></p>
882
- </li>
883
- <li><p><strong>major_tick</strong> <a href="https://bokeh.pydata.org/en/latest/docs/user_guide/styling.html#line-properties">line_properties</a> e.g. <code>major_tick_line_dash</code>, as well as <code>major_tick_in</code> and <code>major_tick_out</code></p>
884
- </li>
885
- <li><p><strong>minor_tick</strong> <a href="https://bokeh.pydata.org/en/latest/docs/user_guide/styling.html#line-properties">line properties</a> e.g. <code>minor_tick_line_width</code>, as well as <code>minor_tick_in</code> and <code>minor_tick_out</code></p>
886
- </li>
887
- </ul>
888
- <p>As a simple first case, let's change the orientation of the major tick labels on both axes of a plot:</p>
889
-
890
- </div>
891
- </div>
892
- </div>
893
-
894
-
895
-
896
- <div class="
897
- cell border-box-sizing code_cell rendered">
898
- <div class="input">
899
-
900
- <div class="inner_cell">
901
- <div class="input_area">
902
- <div class=" highlight hl-ipython3"><pre><span></span><span class="kn">from</span> <span class="nn">math</span> <span class="kn">import</span> <span class="n">pi</span>
903
-
904
- <span class="c1"># create a new plot using figure</span>
905
- <span class="n">p</span> <span class="o">=</span> <span class="n">figure</span><span class="p">(</span>
906
- <span class="n">plot_height</span><span class="o">=</span><span class="mi">400</span><span class="p">,</span>
907
- <span class="n">plot_width</span><span class="o">=</span><span class="mi">800</span><span class="p">,</span>
908
- <span class="p">)</span>
909
-
910
- <span class="n">p</span><span class="o">.</span><span class="n">x</span><span class="p">(</span>
911
- <span class="p">[</span><span class="mi">1</span><span class="p">,</span><span class="mi">2</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">5</span><span class="p">],</span>
912
- <span class="p">[</span><span class="mi">2</span><span class="p">,</span><span class="mi">5</span><span class="p">,</span><span class="mi">8</span><span class="p">,</span><span class="mi">2</span><span class="p">,</span><span class="mi">7</span><span class="p">],</span>
913
- <span class="n">size</span><span class="o">=</span><span class="mi">10</span><span class="p">,</span>
914
- <span class="n">line_width</span><span class="o">=</span><span class="mi">2</span>
915
- <span class="p">)</span>
916
-
917
- <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="n">pi</span><span class="o">/</span><span class="mi">4</span>
918
- <span class="n">p</span><span class="o">.</span><span class="n">yaxis</span><span class="o">.</span><span class="n">major_label_orientation</span> <span class="o">=</span> <span class="s2">&quot;vertical&quot;</span>
919
-
920
- <span class="c1"># show the results</span>
921
- <span class="n">show</span><span class="p">(</span><span class="n">p</span><span class="p">)</span>
922
- </pre></div>
923
-
924
- </div>
925
- </div>
926
- </div>
927
-
928
- <div class="output_wrapper">
929
- <div class="output">
930
-
931
-
932
- <div class="output_area">
933
-
934
-
935
-
936
-
937
- <div class="output_html rendered_html output_subarea ">
938
-
939
- <div class="bk-root" id="a54c6459-f2ba-4a38-8e8a-76183e56956b" data-root-id="1548"></div>
940
-
941
- </div>
942
-
943
- </div>
944
-
945
- <div class="output_area">
946
-
947
-
948
-
949
-
950
-
951
-
952
- <div id="7ba04dae-38a8-41cc-aae9-6614f412d98c"></div>
953
- <div class="output_subarea output_javascript ">
954
- <script type="text/javascript">
955
- var element = $('#7ba04dae-38a8-41cc-aae9-6614f412d98c');
956
- (function(root) {
957
- function embed_document(root) {
958
- const docs_json = {"6c29768b-f199-48be-a3a1-bdf467578c74":{"defs":[],"roots":{"references":[{"attributes":{"below":[{"id":"1557"}],"center":[{"id":"1560"},{"id":"1564"}],"height":400,"left":[{"id":"1561"}],"renderers":[{"id":"1583"}],"title":{"id":"1640"},"toolbar":{"id":"1572"},"width":800,"x_range":{"id":"1549"},"x_scale":{"id":"1553"},"y_range":{"id":"1551"},"y_scale":{"id":"1555"}},"id":"1548","subtype":"Figure","type":"Plot"},{"attributes":{"fill_alpha":{"value":0.1},"fill_color":{"value":"#1f77b4"},"hatch_alpha":{"value":0.1},"line_alpha":{"value":0.1},"line_color":{"value":"#1f77b4"},"line_width":{"value":2},"marker":{"value":"x"},"size":{"value":10},"x":{"field":"x"},"y":{"field":"y"}},"id":"1581","type":"Scatter"},{"attributes":{"coordinates":null,"formatter":{"id":"1643"},"group":null,"major_label_orientation":"vertical","major_label_policy":{"id":"1644"},"ticker":{"id":"1562"}},"id":"1561","type":"LinearAxis"},{"attributes":{"data":{"x":[1,2,3,4,5],"y":[2,5,8,2,7]},"selected":{"id":"1649"},"selection_policy":{"id":"1648"}},"id":"1579","type":"ColumnDataSource"},{"attributes":{},"id":"1649","type":"Selection"},{"attributes":{"overlay":{"id":"1571"}},"id":"1567","type":"BoxZoomTool"},{"attributes":{},"id":"1555","type":"LinearScale"},{"attributes":{"coordinates":null,"group":null},"id":"1640","type":"Title"},{"attributes":{},"id":"1647","type":"AllLabels"},{"attributes":{"axis":{"id":"1557"},"coordinates":null,"group":null,"ticker":null},"id":"1560","type":"Grid"},{"attributes":{},"id":"1644","type":"AllLabels"},{"attributes":{},"id":"1643","type":"BasicTickFormatter"},{"attributes":{},"id":"1565","type":"PanTool"},{"attributes":{"fill_alpha":{"value":0.2},"fill_color":{"value":"#1f77b4"},"hatch_alpha":{"value":0.2},"line_alpha":{"value":0.2},"line_color":{"value":"#1f77b4"},"line_width":{"value":2},"marker":{"value":"x"},"size":{"value":10},"x":{"field":"x"},"y":{"field":"y"}},"id":"1582","type":"Scatter"},{"attributes":{},"id":"1568","type":"SaveTool"},{"attributes":{},"id":"1648","type":"UnionRenderers"},{"attributes":{},"id":"1558","type":"BasicTicker"},{"attributes":{},"id":"1646","type":"BasicTickFormatter"},{"attributes":{"axis":{"id":"1561"},"coordinates":null,"dimension":1,"group":null,"ticker":null},"id":"1564","type":"Grid"},{"attributes":{},"id":"1553","type":"LinearScale"},{"attributes":{"coordinates":null,"data_source":{"id":"1579"},"glyph":{"id":"1580"},"group":null,"hover_glyph":null,"muted_glyph":{"id":"1582"},"nonselection_glyph":{"id":"1581"},"view":{"id":"1584"}},"id":"1583","type":"GlyphRenderer"},{"attributes":{"coordinates":null,"formatter":{"id":"1646"},"group":null,"major_label_orientation":0.7853981633974483,"major_label_policy":{"id":"1647"},"ticker":{"id":"1558"}},"id":"1557","type":"LinearAxis"},{"attributes":{},"id":"1551","type":"DataRange1d"},{"attributes":{},"id":"1562","type":"BasicTicker"},{"attributes":{},"id":"1570","type":"HelpTool"},{"attributes":{"tools":[{"id":"1565"},{"id":"1566"},{"id":"1567"},{"id":"1568"},{"id":"1569"},{"id":"1570"}]},"id":"1572","type":"Toolbar"},{"attributes":{},"id":"1566","type":"WheelZoomTool"},{"attributes":{},"id":"1549","type":"DataRange1d"},{"attributes":{"source":{"id":"1579"}},"id":"1584","type":"CDSView"},{"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":"1571","type":"BoxAnnotation"},{"attributes":{"fill_color":{"value":"#1f77b4"},"line_color":{"value":"#1f77b4"},"line_width":{"value":2},"marker":{"value":"x"},"size":{"value":10},"x":{"field":"x"},"y":{"field":"y"}},"id":"1580","type":"Scatter"},{"attributes":{},"id":"1569","type":"ResetTool"}],"root_ids":["1548"]},"title":"Bokeh Application","version":"2.4.3"}};
959
- const render_items = [{"docid":"6c29768b-f199-48be-a3a1-bdf467578c74","root_ids":["1548"],"roots":{"1548":"a54c6459-f2ba-4a38-8e8a-76183e56956b"}}];
960
- root.Bokeh.embed.embed_items_notebook(docs_json, render_items);
961
- }
962
- if (root.Bokeh !== undefined) {
963
- embed_document(root);
964
- } else {
965
- let attempts = 0;
966
- const timer = setInterval(function(root) {
967
- if (root.Bokeh !== undefined) {
968
- clearInterval(timer);
969
- embed_document(root);
970
- } else {
971
- attempts++;
972
- if (attempts > 100) {
973
- clearInterval(timer);
974
- console.log("Bokeh: ERROR: Unable to run BokehJS code because BokehJS library is missing");
975
- }
976
- }
977
- }, 10, root)
978
- }
979
- })(window);
980
- </script>
981
- </div>
982
-
983
- </div>
984
-
985
- </div>
986
- </div>
987
-
988
- </div>
989
- <div class="cell border-box-sizing text_cell rendered"><div class="inner_cell">
990
- <div class="text_cell_render border-box-sizing rendered_html">
991
- <p>The next example shows customizations on several of the different Axis properties at once:</p>
992
-
993
- </div>
994
- </div>
995
- </div>
996
-
997
-
998
-
999
- <div class="
1000
- cell border-box-sizing code_cell rendered">
1001
- <div class="input">
1002
-
1003
- <div class="inner_cell">
1004
- <div class="input_area">
1005
- <div class=" highlight hl-ipython3"><pre><span></span><span class="c1"># create a new plot using figure</span>
1006
- <span class="n">p</span> <span class="o">=</span> <span class="n">figure</span><span class="p">(</span>
1007
- <span class="n">plot_height</span><span class="o">=</span><span class="mi">400</span><span class="p">,</span>
1008
- <span class="n">plot_width</span><span class="o">=</span><span class="mi">800</span><span class="p">,</span>
1009
- <span class="p">)</span>
1010
-
1011
- <span class="n">p</span><span class="o">.</span><span class="n">asterisk</span><span class="p">(</span>
1012
- <span class="p">[</span><span class="mi">1</span><span class="p">,</span><span class="mi">2</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">5</span><span class="p">],</span>
1013
- <span class="p">[</span><span class="mi">2</span><span class="p">,</span><span class="mi">5</span><span class="p">,</span><span class="mi">8</span><span class="p">,</span><span class="mi">2</span><span class="p">,</span><span class="mi">7</span><span class="p">],</span>
1014
- <span class="n">size</span><span class="o">=</span><span class="mi">12</span><span class="p">,</span>
1015
- <span class="n">color</span><span class="o">=</span><span class="s2">&quot;olive&quot;</span>
1016
- <span class="p">)</span>
1017
-
1018
- <span class="c1"># change just some things about the x-axes</span>
1019
- <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;Temp&quot;</span>
1020
- <span class="n">p</span><span class="o">.</span><span class="n">xaxis</span><span class="o">.</span><span class="n">axis_line_width</span> <span class="o">=</span> <span class="mi">3</span>
1021
- <span class="n">p</span><span class="o">.</span><span class="n">xaxis</span><span class="o">.</span><span class="n">axis_line_color</span> <span class="o">=</span> <span class="s2">&quot;red&quot;</span>
1022
-
1023
- <span class="c1"># change just some things about the y-axes</span>
1024
- <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;Pressure&quot;</span>
1025
- <span class="n">p</span><span class="o">.</span><span class="n">yaxis</span><span class="o">.</span><span class="n">major_label_text_color</span> <span class="o">=</span> <span class="s2">&quot;orange&quot;</span>
1026
- <span class="n">p</span><span class="o">.</span><span class="n">yaxis</span><span class="o">.</span><span class="n">major_label_orientation</span> <span class="o">=</span> <span class="s2">&quot;vertical&quot;</span>
1027
-
1028
- <span class="c1"># change things on all axes</span>
1029
- <span class="n">p</span><span class="o">.</span><span class="n">axis</span><span class="o">.</span><span class="n">minor_tick_in</span> <span class="o">=</span> <span class="o">-</span><span class="mi">3</span>
1030
- <span class="n">p</span><span class="o">.</span><span class="n">axis</span><span class="o">.</span><span class="n">minor_tick_out</span> <span class="o">=</span> <span class="mi">6</span>
1031
-
1032
- <span class="c1"># show the results</span>
1033
- <span class="n">show</span><span class="p">(</span><span class="n">p</span><span class="p">)</span>
1034
- </pre></div>
1035
-
1036
- </div>
1037
- </div>
1038
- </div>
1039
-
1040
- <div class="output_wrapper">
1041
- <div class="output">
1042
-
1043
-
1044
- <div class="output_area">
1045
-
1046
-
1047
-
1048
-
1049
- <div class="output_html rendered_html output_subarea ">
1050
-
1051
- <div class="bk-root" id="d4980f46-66ae-4d72-9d25-4ae4a8411b24" data-root-id="1706"></div>
1052
-
1053
- </div>
1054
-
1055
- </div>
1056
-
1057
- <div class="output_area">
1058
-
1059
-
1060
-
1061
-
1062
-
1063
-
1064
- <div id="130d100f-5092-4128-8432-f8dbec256463"></div>
1065
- <div class="output_subarea output_javascript ">
1066
- <script type="text/javascript">
1067
- var element = $('#130d100f-5092-4128-8432-f8dbec256463');
1068
- (function(root) {
1069
- function embed_document(root) {
1070
- const docs_json = {"7fddf087-dc06-4862-8ec4-41f469c31a55":{"defs":[],"roots":{"references":[{"attributes":{"below":[{"id":"1715"}],"center":[{"id":"1718"},{"id":"1722"}],"height":400,"left":[{"id":"1719"}],"renderers":[{"id":"1741"}],"title":{"id":"1809"},"toolbar":{"id":"1730"},"width":800,"x_range":{"id":"1707"},"x_scale":{"id":"1711"},"y_range":{"id":"1709"},"y_scale":{"id":"1713"}},"id":"1706","subtype":"Figure","type":"Plot"},{"attributes":{"axis_label":"Temp","axis_line_color":"red","axis_line_width":3,"coordinates":null,"formatter":{"id":"1815"},"group":null,"major_label_policy":{"id":"1816"},"minor_tick_in":-3,"minor_tick_out":6,"ticker":{"id":"1716"}},"id":"1715","type":"LinearAxis"},{"attributes":{"axis":{"id":"1715"},"coordinates":null,"group":null,"ticker":null},"id":"1718","type":"Grid"},{"attributes":{"tools":[{"id":"1723"},{"id":"1724"},{"id":"1725"},{"id":"1726"},{"id":"1727"},{"id":"1728"}]},"id":"1730","type":"Toolbar"},{"attributes":{},"id":"1720","type":"BasicTicker"},{"attributes":{"axis_label":"Pressure","coordinates":null,"formatter":{"id":"1812"},"group":null,"major_label_orientation":"vertical","major_label_policy":{"id":"1813"},"major_label_text_color":"orange","minor_tick_in":-3,"minor_tick_out":6,"ticker":{"id":"1720"}},"id":"1719","type":"LinearAxis"},{"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":"1729","type":"BoxAnnotation"},{"attributes":{"axis":{"id":"1719"},"coordinates":null,"dimension":1,"group":null,"ticker":null},"id":"1722","type":"Grid"},{"attributes":{"source":{"id":"1737"}},"id":"1742","type":"CDSView"},{"attributes":{"fill_alpha":{"value":0.2},"fill_color":{"value":"olive"},"hatch_alpha":{"value":0.2},"hatch_color":{"value":"olive"},"line_alpha":{"value":0.2},"line_color":{"value":"olive"},"marker":{"value":"asterisk"},"size":{"value":12},"x":{"field":"x"},"y":{"field":"y"}},"id":"1740","type":"Scatter"},{"attributes":{"fill_color":{"value":"olive"},"hatch_color":{"value":"olive"},"line_color":{"value":"olive"},"marker":{"value":"asterisk"},"size":{"value":12},"x":{"field":"x"},"y":{"field":"y"}},"id":"1738","type":"Scatter"},{"attributes":{},"id":"1707","type":"DataRange1d"},{"attributes":{"fill_alpha":{"value":0.1},"fill_color":{"value":"olive"},"hatch_alpha":{"value":0.1},"hatch_color":{"value":"olive"},"line_alpha":{"value":0.1},"line_color":{"value":"olive"},"marker":{"value":"asterisk"},"size":{"value":12},"x":{"field":"x"},"y":{"field":"y"}},"id":"1739","type":"Scatter"},{"attributes":{"data":{"x":[1,2,3,4,5],"y":[2,5,8,2,7]},"selected":{"id":"1818"},"selection_policy":{"id":"1817"}},"id":"1737","type":"ColumnDataSource"},{"attributes":{},"id":"1709","type":"DataRange1d"},{"attributes":{},"id":"1723","type":"PanTool"},{"attributes":{"coordinates":null,"data_source":{"id":"1737"},"glyph":{"id":"1738"},"group":null,"hover_glyph":null,"muted_glyph":{"id":"1740"},"nonselection_glyph":{"id":"1739"},"view":{"id":"1742"}},"id":"1741","type":"GlyphRenderer"},{"attributes":{},"id":"1727","type":"ResetTool"},{"attributes":{},"id":"1812","type":"BasicTickFormatter"},{"attributes":{},"id":"1818","type":"Selection"},{"attributes":{},"id":"1724","type":"WheelZoomTool"},{"attributes":{},"id":"1817","type":"UnionRenderers"},{"attributes":{"overlay":{"id":"1729"}},"id":"1725","type":"BoxZoomTool"},{"attributes":{"coordinates":null,"group":null},"id":"1809","type":"Title"},{"attributes":{},"id":"1726","type":"SaveTool"},{"attributes":{},"id":"1728","type":"HelpTool"},{"attributes":{},"id":"1815","type":"BasicTickFormatter"},{"attributes":{},"id":"1813","type":"AllLabels"},{"attributes":{},"id":"1716","type":"BasicTicker"},{"attributes":{},"id":"1816","type":"AllLabels"},{"attributes":{},"id":"1711","type":"LinearScale"},{"attributes":{},"id":"1713","type":"LinearScale"}],"root_ids":["1706"]},"title":"Bokeh Application","version":"2.4.3"}};
1071
- const render_items = [{"docid":"7fddf087-dc06-4862-8ec4-41f469c31a55","root_ids":["1706"],"roots":{"1706":"d4980f46-66ae-4d72-9d25-4ae4a8411b24"}}];
1072
- root.Bokeh.embed.embed_items_notebook(docs_json, render_items);
1073
- }
1074
- if (root.Bokeh !== undefined) {
1075
- embed_document(root);
1076
- } else {
1077
- let attempts = 0;
1078
- const timer = setInterval(function(root) {
1079
- if (root.Bokeh !== undefined) {
1080
- clearInterval(timer);
1081
- embed_document(root);
1082
- } else {
1083
- attempts++;
1084
- if (attempts > 100) {
1085
- clearInterval(timer);
1086
- console.log("Bokeh: ERROR: Unable to run BokehJS code because BokehJS library is missing");
1087
- }
1088
- }
1089
- }, 10, root)
1090
- }
1091
- })(window);
1092
- </script>
1093
- </div>
1094
-
1095
- </div>
1096
-
1097
- </div>
1098
- </div>
1099
-
1100
- </div>
1101
- <div class="cell border-box-sizing text_cell rendered"><div class="inner_cell">
1102
- <div class="text_cell_render border-box-sizing rendered_html">
1103
- <h3 id="Configuring-tick-labels">Configuring tick labels<a class="anchor-link" href="#Configuring-tick-labels">&#182;</a></h3><p>All Bokeh axes have a <code>formatter</code> property, whose value is a <code>TickFormatter</code> object that Bokeh uses to format the ticks displayed by that axis. Bokeh will configure default tick formatters for numeric, datetime, or categotical axes. But often we would like to customize the appearance of tick labels. This can be accomplished by changing properties on the default formatter that Bokeh chooses, or by replacing the formatter with a new type entirely.</p>
1104
- <p>Let's first look at changing the properties of a default formatter. The default datetime formatter is configured to show <em>month/day</em> when the axis is on the scale of days. If would like the also always show the year, we can change the <code>days</code> property to a format that includes the year, as done below.</p>
1105
-
1106
- </div>
1107
- </div>
1108
- </div>
1109
-
1110
-
1111
-
1112
- <div class="
1113
- cell border-box-sizing code_cell rendered">
1114
- <div class="input">
1115
-
1116
- <div class="inner_cell">
1117
- <div class="input_area">
1118
- <div class=" highlight hl-ipython3"><pre><span></span><span class="kn">from</span> <span class="nn">math</span> <span class="kn">import</span> <span class="n">pi</span>
1119
- <span class="kn">from</span> <span class="nn">bokeh.sampledata.glucose</span> <span class="kn">import</span> <span class="n">data</span>
1120
-
1121
- <span class="n">week</span> <span class="o">=</span> <span class="n">data</span><span class="o">.</span><span class="n">loc</span><span class="p">[</span><span class="s1">&#39;2010-10-01&#39;</span><span class="p">:</span><span class="s1">&#39;2010-10-08&#39;</span><span class="p">]</span>
1122
-
1123
- <span class="c1"># create a new plot using figure</span>
1124
- <span class="n">p</span> <span class="o">=</span> <span class="n">figure</span><span class="p">(</span>
1125
- <span class="n">plot_height</span><span class="o">=</span><span class="mi">400</span><span class="p">,</span>
1126
- <span class="n">plot_width</span><span class="o">=</span><span class="mi">800</span><span class="p">,</span>
1127
- <span class="n">x_axis_type</span><span class="o">=</span><span class="s2">&quot;datetime&quot;</span><span class="p">,</span>
1128
- <span class="n">title</span><span class="o">=</span><span class="s2">&quot;Glocose Range&quot;</span>
1129
- <span class="p">)</span>
1130
-
1131
-
1132
- <span class="n">p</span><span class="o">.</span><span class="n">xaxis</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="s1">&#39;%m/</span><span class="si">%d</span><span class="s1">/%Y&#39;</span>
1133
- <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="n">pi</span><span class="o">/</span><span class="mi">3</span>
1134
-
1135
- <span class="n">p</span><span class="o">.</span><span class="n">line</span><span class="p">(</span><span class="n">week</span><span class="o">.</span><span class="n">index</span><span class="p">,</span> <span class="n">week</span><span class="o">.</span><span class="n">glucose</span><span class="p">)</span>
1136
-
1137
- <span class="c1"># show the results</span>
1138
- <span class="n">show</span><span class="p">(</span><span class="n">p</span><span class="p">)</span>
1139
- </pre></div>
1140
-
1141
- </div>
1142
- </div>
1143
- </div>
1144
-
1145
- <div class="output_wrapper">
1146
- <div class="output">
1147
-
1148
-
1149
- <div class="output_area">
1150
-
1151
-
1152
-
1153
-
1154
- <div class="output_html rendered_html output_subarea ">
1155
-
1156
- <div class="bk-root" id="fa75122f-68d4-4721-8440-be13852d8706" data-root-id="1875"></div>
1157
-
1158
- </div>
1159
-
1160
- </div>
1161
-
1162
- <div class="output_area">
1163
-
1164
-
1165
-
1166
-
1167
-
1168
-
1169
- <div id="e98ada7e-2e07-4009-b139-32817832b8aa"></div>
1170
- <div class="output_subarea output_javascript ">
1171
- <script type="text/javascript">
1172
- var element = $('#e98ada7e-2e07-4009-b139-32817832b8aa');
1173
- (function(root) {
1174
- function embed_document(root) {
1175
- const docs_json = {"11a0aa5c-13e1-4f85-b0ed-55b578a3c0f4":{"defs":[],"roots":{"references":[{"attributes":{"below":[{"id":"1886"}],"center":[{"id":"1889"},{"id":"1893"}],"height":400,"left":[{"id":"1890"}],"renderers":[{"id":"1913"}],"title":{"id":"1876"},"toolbar":{"id":"1901"},"width":800,"x_range":{"id":"1878"},"x_scale":{"id":"1882"},"y_range":{"id":"1880"},"y_scale":{"id":"1884"}},"id":"1875","subtype":"Figure","type":"Plot"},{"attributes":{},"id":"1891","type":"BasicTicker"},{"attributes":{"line_alpha":0.2,"line_color":"#1f77b4","x":{"field":"x"},"y":{"field":"y"}},"id":"1912","type":"Line"},{"attributes":{"months":[0,4,8]},"id":"2011","type":"MonthsTicker"},{"attributes":{"coordinates":null,"formatter":{"id":"1994"},"group":null,"major_label_policy":{"id":"1995"},"ticker":{"id":"1891"}},"id":"1890","type":"LinearAxis"},{"attributes":{"days":[1,15]},"id":"2008","type":"DaysTicker"},{"attributes":{"months":[0,1,2,3,4,5,6,7,8,9,10,11]},"id":"2009","type":"MonthsTicker"},{"attributes":{"months":[0,2,4,6,8,10]},"id":"2010","type":"MonthsTicker"},{"attributes":{"coordinates":null,"formatter":{"id":"1908"},"group":null,"major_label_orientation":1.0471975511965976,"major_label_policy":{"id":"1998"},"ticker":{"id":"1887"}},"id":"1886","type":"DatetimeAxis"},{"attributes":{"mantissas":[1,2,5],"max_interval":500.0,"num_minor_ticks":0},"id":"2002","type":"AdaptiveTicker"},{"attributes":{"axis":{"id":"1886"},"coordinates":null,"group":null,"ticker":null},"id":"1889","type":"Grid"},{"attributes":{"data":{"x":{"__ndarray__":"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AABK++C3ckIAAIhE4bdyQgAAxo3ht3JCAAAE1+G3ckIAAEIg4rdyQgAAgGnit3JCAAC+suK3ckIAAPz74rdyQgAAOkXjt3JCAAB4juO3ckIAALbX47dyQgAArvzkt3JCAADsReW3ckIAACqP5bdyQgAAaNjlt3JCAACmIea3ckIAAORq5rdyQgAAIrTmt3JCAABg/ea3ckIAAJ5G57dyQgAA3I/nt3JCAAAa2ee3ckIAAFgi6LdyQgAAlmvot3JCAADUtOi3ckIAABL+6LdyQgAAUEfpt3JCAACOkOm3ckIAAMzZ6bdyQgAACiPqt3JCAABIbOq3ckIAAIa16rdyQgAAxP7qt3JCAAACSOu3ckIAAECR67dyQgAAftrrt3JCAAC8I+y3ckIAAPps7LdyQgAAOLbst3JCAAB2/+y3ckIAALRI7bdyQgAA8pHtt3JCAAAw2+23ckIAAG4k7rdyQgAArG3ut3JCAADqtu63ckIAACgA77dyQgAAZknvt3JCAACkku+3ckIAAOLb77dyQgAAICXwt3JCAABebvC3ckIAAJy38LdyQgAA2gDxt3JCAAAYSvG3ckIAAFaT8bdyQgAAlNzxt3JCAADSJfK3ckIAABBv8rdyQgAATrjyt3JCAACMAfO3ckIAAMpK87dyQgAACJTzt3JCAABG3fO3ckIAAIQm9LdyQgAAwm/0t3JCAAAAufS3ckIAAD4C9bdyQgAAfEv1t3JCAAC6lPW3ckIAAPjd9bdyQgAANif2t3JCAAB0cPa3ckIAALK59rdyQgAA8AL3t3JCAAAuTPe3ckIAAGyV97dyQgAAqt73t3JCAADoJ/i3ckIAACZx+LdyQgAAZLr4t3JCAACiA/m3ckIAAOBM+bdyQgAAHpb5t3JCAABc3/m3ckIAAJoo+rdyQgAA2HH6t3JCAAAWu/q3ckIAAFQE+7dyQgAAkk37t3JCAADQlvu3ckIAAA7g+7dyQgAATCn8t3JCAACKcvy3ckIAAMi7/LdyQgAABgX9t3JCAABETv23ckIAAIKX/bdyQgAAwOD9t3JCAAD+Kf63ckIAADxz/rdyQgAAerz+t3JCAAC4Bf+3ckIAAPZO/7dyQgAANJj/t3JCAABy4f+3ckIAALAqALhyQgAA7nMAuHJCAAAsvQC4ckIAAGoGAbhyQgAAqE8BuHJCAADmmAG4ckIAACTiAbhyQgAAYisCuHJCAACgdAK4ckIAAN69ArhyQgAAHAcDuHJCAABaUAO4ckIAAJiZA7hyQgAA1uIDuHJCAAAULAS4ckIAAFJ1BLhyQgAAkL4EuHJCAADOBwW4ckIAAAxRBbhyQgAASpoFuHJCAACI4wW4ckIAAMYsBrhyQgAABHYGuHJCAABCvwa4ckIAAIAIB7hyQgAAvlEHuHJCAAD8mge4ckIAADrkB7hyQgAAeC0IuHJCAAC2dgi4ckIAAPS/CLhyQgAAMgkJuHJCAABwUgm4ckIAAK6bCbhyQgAA7OQJuHJCAAAqLgq4ckIAAGh3CrhyQgAApsAKuHJCAADkCQu4ckIAACJTC7hyQgAAYJwLuHJCAACe5Qu4ckIAANwuDLhyQgAAGngMuHJCAABYwQy4ckIAAJYKDbhyQgAA1FMNuHJCAAASnQ24ckIAAFDmDbhyQgAAji8OuHJCAADMeA64ckIAAArCDrhyQgAASAsPuHJCAACGVA+4ckIAAMSdD7hyQgAAAucPuHJCAABAMBC4ckIAAH55ELhyQgAAvMIQuHJCAAD6CxG4ckIAADhVEbhyQgAAdp4RuHJCAAC05xG4ckIAAPIwErhyQgAAMHoSuHJCAABuwxK4ckIAAKwME7hyQgAA6lUTuHJCAAAonxO4ckIAAGboE7hyQgAApDEUuHJCAADiehS4ckIAACDEFLhyQgAAXg0VuHJCAACcVhW4ckIAANqfFbhyQgAAGOkVuHJCAABWMha4ckIAAJR7FrhyQgAA0sQWuHJCAAAQDhe4ckIAAE5XF7hyQgAAjKAXuHJCAADK6Re4ckIAAAgzGLhyQgAARnwYuHJCAACExRi4ckIAAMIOGbhyQgAAAFgZuHJCAAA+oRm4ckIAAHzqGbhyQgAAujMauHJCAAD4fBq4ckIAADbGGrhyQgAAdA8buHJCAACyWBu4ckIAAPChG7hyQgAALusbuHJCAABsNBy4ckIAAKp9HLhyQgAA6MYcuHJCAAAmEB24ckIAAGRZHbhyQgAAoqIduHJCAADg6x24ckIAAB41HrhyQgAAXH4euHJCAACaxx64ckIAANgQH7hyQgAAFlofuHJCAABUox+4ckIAAJLsH7hyQgAA0DUguHJCAAAOfyC4ckIAAEzIILhyQgAAihEhuHJCAADIWiG4ckIAAAakIbhyQgAARO0huHJCAACCNiK4ckIAAMB/IrhyQgAA/sgiuHJCAAA8EiO4ckIAAHpbI7hyQgAAuKQjuHJCAAD27SO4ckIAADQ3JLhyQgAAcoAkuHJCAACwySS4ckIAAO4SJbhyQgAALFwluHJCAABqpSW4ckIAAKjuJbhyQgAA5jcmuHJCAAAkgSa4ckIAAGLKJrhyQgAAoBMnuHJCAADeXCe4ckIAABymJ7hyQgAAWu8nuHJCAACYOCi4ckIAANaBKLhyQgAAFMsouHJCAABSFCm4ckIAAJBdKbhyQgAAzqYpuHJCAAAM8Cm4ckIAAEo5KrhyQgAAiIIquHJCAADGyyq4ckIAAAQVK7hyQgAAQl4ruHJCAACApyu4ckIAAL7wK7hyQgAA/DksuHJCAAA6gyy4ckIAAHjMLLhyQgAAthUtuHJCAAD0Xi24ckIAADKoLbhyQgAAcPEtuHJCAACuOi64ckIAAOyDLrhyQgAAKs0uuHJCAABoFi+4ckIAAKZfL7hyQgAA5KgvuHJCAAAi8i+4ckIAAGA7MLhyQgAAnoQwuHJCAADczTC4ckIAABoXMbhyQgAAWGAxuHJCAACWqTG4ckIAANTyMbhyQgAAEjwyuHJCAABQhTK4ckIAAI7OMrhyQgAAzBczuHJCAAAKYTO4ckIAAEiqM7hyQgAAhvMzuHJCAADEPDS4ckIAAAKGNLhyQgAAQM80uHJCAAB+GDW4ckIAALxhNbhyQgAA+qo1uHJCAAA49DW4ckIAAHY9NrhyQgAAtIY2uHJCAADyzza4ckIAADAZN7hyQgAAbmI3uHJCAACsqze4ckIAAOr0N7hyQgAAKD44uHJCAABmhzi4ckIAAKTQOLhyQgAA4hk5uHJCAAAgYzm4ckIAAF6sObhyQgAAnPU5uHJCAADaPjq4ckIAABiIOrhyQgAAVtE6uHJCAACUGju4ckIAANJjO7hyQgAAEK07uHJCAABO9ju4ckIAAIw/PLhyQgAAyog8uHJCAAAI0jy4ckIAAEYbPbhyQgAAhGQ9uHJCAADCrT24ckIAAAD3PbhyQgAAPkA+uHJCAAB8iT64ckIAALrSPrhyQgAA+Bs/uHJCAAA2ZT+4ckIAAHSuP7hyQgAAsvc/uHJCAADwQEC4ckIAAC6KQLhyQgAAbNNAuHJCAACqHEG4ckIAAOhlQbhyQgAAJq9BuHJCAABk+EG4ckIAAKJBQrhyQgAA4IpCuHJCAAAe1EK4ckIAAFwdQ7hyQgAAmmZDuHJCAADYr0O4ckIAABb5Q7hyQgAAVEJEuHJCAACSi0S4ckIAANDURLhyQgAADh5FuHJCAABMZ0W4ckIAAIqwRbhyQgAAyPlFuHJCAAAGQ0a4ckIAAESMRrhyQgAAgtVGuHJCAADAHke4ckIAAP5nR7hyQgAAPLFHuHJCAAB6+ke4ckIAALhDSLhyQgAA9oxIuHJCAAA01ki4ckIAAHIfSbhyQgAAsGhJuHJCAADusUm4ckIAACz7SbhyQgAAakRKuHJCAACojUq4ckIAAObWSrhyQgAAJCBLuHJCAABiaUu4ckIAAKCyS7hyQgAA3vtLuHJCAAAcRUy4ckIAAFqOTLhyQgAAmNdMuHJCAADWIE24ckIAABRqTbhyQgAAUrNNuHJCAACQ/E24ckIAAM5FTrhyQgAADI9OuHJCAABK2E64ckIAAIghT7hyQgAAxmpPuHJCAAAEtE+4ckIAAEL9T7hyQgAAgEZQuHJCAAC+j1C4ckIAAPzYULhyQgAAOiJRuHJCAAB4a1G4ckIAALa0UbhyQgAA9P1RuHJCAAAyR1K4ckIAAHCQUrhyQgAArtlSuHJCAADsIlO4ckIAACpsU7hyQgAAaLVTuHJCAACm/lO4ckIAAORHVLhyQgAAIpFUuHJCAABg2lS4ckIAAJ4jVbhyQgAA3GxVuHJCAAAatlW4ckIAAFj/VbhyQgAAlkhWuHJCAADUkVa4ckIAABLbVrhyQgAAUCRXuHJCAACObVe4ckIAAMy2V7hyQgAACgBYuHJCAABISVi4ckIAAIaSWLhyQgAAxNtYuHJCAAACJVm4ckIAAEBuWbhyQgAAfrdZuHJCAAC8AFq4ckIAAPpJWrhyQgAAOJNauHJCAAB23Fq4ckIAALQlW7hyQgAA8m5buHJCAAAwuFu4ckIAAG4BXLhyQgAArEpcuHJCAADqk1y4ckIAACjdXLhyQgAAZiZduHJCAACkb124ckIAAOK4XbhyQgAAIAJeuHJCAABeS164ckIAAJyUXrhyQgAA2t1euHJCAAAYJ1+4ckIAAFZwX7hyQgAAlLlfuHJCAADSAmC4ckIAABBMYLhyQgAATpVguHJCAACM3mC4ckIAAMonYbhyQgAACHFhuHJCAABGumG4ckIAAIQDYrhyQgAAwkxiuHJCAAAAlmK4ckIAAD7fYrhyQgAAfChjuHJCAAC6cWO4ckIAAPi6Y7hyQgAANgRkuHJCAAB0TWS4ckIAALKWZLhyQgAA8N9kuHJCAAAuKWW4ckIAAGxyZbhyQgAAqrtluHJCAADoBGa4ckIAACZOZrhyQgAAZJdmuHJCAACi4Ga4ckIAAOApZ7hyQgAAHnNnuHJCAABcvGe4ckIAAJoFaLhyQgAA2E5ouHJCAAAWmGi4ckIAAFThaLhyQgAAkippuHJCAADQc2m4ckIAAA69abhyQgAATAZquHJCAACKT2q4ckIAAMiYarhyQgAABuJquHJCAABEK2u4ckIAAIJ0a7hyQgAAwL1ruHJCAAD+Bmy4ckIAADxQbLhyQgAAeplsuHJCAAC44my4ckIAAPYrbbhyQgAANHVtuHJCAAByvm24ckIAALAHbrhyQgAA7lBuuHJCAAAsmm64ckIAAGrjbrhyQgAAqCxvuHJCAADmdW+4ckIAACS/b7hyQgAAYghwuHJCAACgUXC4ckIAAN6acLhyQgAAHORwuHJCAABaLXG4ckIAAJh2cbhyQgAA1r9xuHJCAAAUCXK4ckIAAFJScrhyQgAAkJtyuHJCAADO5HK4ckIAAAwuc7hyQgAASndzuHJCAACIwHO4ckIAAMYJdLhyQgAABFN0uHJCAABCnHS4ckIAAIDldLhyQgAAvi51uHJCAAD8d3W4ckIAADrBdbhyQgAAeAp2uHJCAAC2U3a4ckIAAPScdrhyQgAAMuZ2uHJCAABwL3e4ckIAAK54d7hyQgAA7MF3uHJCAAAqC3i4ckIAAGhUeLhyQgAApp14uHJCAADk5ni4ckIAACIwebhyQgAAYHl5uHJCAACewnm4ckIAANwLerhyQgAAGlV6uHJCAABYnnq4ckIAAJbnerhyQgAA1DB7uHJCAAASenu4ckIAAFDDe7hyQgAAjgx8uHJCAADMVXy4ckIAAAqffLhyQgAASOh8uHJCAACGMX24ckIAAMR6fbhyQgAAAsR9uHJCAABADX64ckIAAH5WfrhyQgAAvJ9+uHJCAAD66H64ckIAADgyf7hyQgAAdnt/uHJCAAC0xH+4ckIAAPINgLhyQgAAMFeAuHJCAABuoIC4ckIAAKzpgLhyQgAA6jKBuHJCAAAofIG4ckIAAGbFgbhyQgAApA6CuHJCAADiV4K4ckIAACChgrhyQgAAXuqCuHJCAACcM4O4ckIAANp8g7hyQgAAGMaDuHJCAABWD4S4ckIAAJRYhLhyQgAA0qGEuHJCAAAQ64S4ckIAAE40hbhyQgAAjH2FuHJCAADKxoW4ckIAAAgQhrhyQgAARlmGuHJCAACEooa4ckIAAMLrhrhyQgAAADWHuHJCAAA+foe4ckIAAHzHh7hyQgAAuhCIuHJCAAD4WYi4ckIAADajiLhyQgAAdOyIuHJCAACyNYm4ckIAAPB+ibhyQgAALsiJuHJCAABsEYq4ckIAAKpairhyQgAA6KOKuHJCAAAm7Yq4ckIAAGQ2i7hyQgAAon+LuHJCAADgyIu4ckIAAB4SjLhyQgAAXFuMuHJCAACapIy4ckIAANjtjLhyQgAAFjeNuHJCAABUgI24ckIAAJLJjbhyQgAA0BKOuHJCAAAOXI64ckIAAEyljrhyQgAAiu6OuHJCAADIN4+4ckIAAAaBj7hyQgAARMqPuHJCAACCE5C4ckIAAMBckLhyQgAA/qWQuHJCAAA875C4ckIAAHo4kbhyQgAAuIGRuHJCAAD2ypG4ckIAADQUkrhyQgAAcl2SuHJCAACwppK4ckIAAO7vkrhyQgAALDmTuHJCAABqgpO4ckIAAKjLk7hyQgAA5hSUuHJCAAAkXpS4ckIAAGKnlLhyQgAAoPCUuHJCAADeOZW4ckIAAByDlbhyQgAAWsyVuHJCAACYFZa4ckIAANZelrhyQgAAFKiWuHJCAABS8Za4ckIAAJA6l7hyQgAAzoOXuHJCAAAMzZe4ckIAAEoWmLhyQgAAiF+YuHJCAADGqJi4ckIAAATymLhyQgAAQjuZuHJCAACAhJm4ckIAAL7NmbhyQgAA/BaauHJCAAA6YJq4ckIAAHipmrhyQgAAtvKauHJCAAD0O5u4ckIAADKFm7hyQgAAcM6buHJCAACuF5y4ckIAAOxgnLhyQgAAKqqcuHJCAABo85y4ckIAAKY8nbhyQgAA5IWduHJCAAAiz524ckIAAGAYnrhyQgAAnmGeuHJCAADcqp64ckIAABr0nrhyQgAAWD2fuHJCAACWhp+4ckIAANTPn7hyQgAAEhmguHJCAABQYqC4ckIAAI6roLhyQgAAzPSguHJCAAAKPqG4ckIAAEiHobhyQgAAhtChuHJCAADEGaK4ckIAAAJjorhyQgAAQKyiuHJCAAB+9aK4ckIAALw+o7hyQgAA+oejuHJCAAA40aO4ckIAAHYapLhyQgAAtGOkuHJCAADyrKS4ckIAADD2pLhyQgAAbj+luHJCAACsiKW4ckIAAOrRpbhyQgAAKBumuHJCAABmZKa4ckIAAKStprhyQgAA4vamuHJCAAAgQKe4ckIAAF6Jp7hyQgAAnNKnuHJCAADaG6i4ckIAABhlqLhyQgAAVq6ouHJCAACU96i4ckIAANJAqbhyQgAAEIqpuHJCAABO06m4ckIAAIwcqrhyQgAAymWquHJCAABgEbS4ckIAAJ5atLhyQgAA3KO0uHJCAAAa7bS4ckIAAFg2tbhyQgAAln+1uHJCAADUyLW4ckIAABIStrhyQgAAUFu2uHJCAACOpLa4ckIAAMzttrhyQgAACje3uHJCAABIgLe4ckIAAIbJt7hyQgAAxBK4uHJCAAACXLi4ckIAAECluLhyQgAAfu64uHJCAAC8N7m4ckIAAPqAubhyQgAAOMq5uHJCAAB2E7q4ckIAALRcurhyQgAA8qW6uHJCAAAw77q4ckIAAG44u7hyQgAArIG7uHJCAADqyru4ckIAACgUvLhyQgAAZl28uHJCAACkpry4ckIAAOLvvLhyQgAAIDm9uHJCAABegr24ckIAAJzLvbhyQgAA2hS+uHJCAAAYXr64ckIAAFanvrhyQgAAlPC+uHJCAADSOb+4ckIAABCDv7hyQgAATsy/uHJCAACMFcC4ckIAAMpewLhyQgAACKjAuHJCAABG8cC4ckIAAIQ6wbhyQgAAwoPBuHJCAAAAzcG4ckIAAD4WwrhyQgAAfF/CuHJCAAC6qMK4ckIAAPjxwrhyQgAANjvDuHJCAAB0hMO4ckIAALLNw7hyQgAA8BbEuHJCAAAuYMS4ckIAAGypxLhyQgAAqvLEuHJCAADoO8W4ckIAACaFxbhyQgAAZM7FuHJCAACiF8a4ckIAAOBgxrhyQgAAHqrGuHJCAABc88a4ckIAAJo8x7hyQgAA2IXHuHJCAAAWz8e4ckIAAFQYyLhyQgAAkmHIuHJCAADQqsi4ckIAAA70yLhyQgAATD3JuHJCAACKhsm4ckIAAMjPybhyQgAABhnKuHJCAABEYsq4ckIAAIKryrhyQgAAwPTKuHJCAAD+Pcu4ckIAADyHy7hyQgAAetDLuHJCAAC4Gcy4ckIAAPZizLhyQgAANKzMuHJCAABy9cy4ckIAALA+zbhyQgAA7ofNuHJCAAAs0c24ckIAAGoazrhyQgAAqGPOuHJCAADmrM64ckIAACT2zrhyQgAAYj/PuHJCAACgiM+4ckIAAN7Rz7hyQgAAHBvQuHJCAABaZNC4ckIAAJit0LhyQgAA1vbQuHJCAAAUQNG4ckIAAFKJ0bhyQgAAkNLRuHJCAADOG9K4ckIAAAxl0rhyQgAASq7SuHJCAACI99K4ckIAAMZA07hyQgAABIrTuHJCAAB4QdW4ckIAALaK1bhyQgAA9NPVuHJCAAAyHda4ckIAAHBm1rhyQgAArq/WuHJCAADs+Na4ckIAACpC17hyQgAAaIvXuHJCAACm1Ne4ckIAAOQd2LhyQgAAImfYuHJCAABgsNi4ckIAAJ752LhyQgAA3ELZuHJCAAAajNm4ckIAAFjV2bhyQgAAlh7auHJCAADUZ9q4ckIAABKx2rhyQgAAUPrauHJCAACOQ9u4ckIAAMyM27hyQgAACtbbuHJCAABIH9y4ckIAAIZo3LhyQgAAxLHcuHJCAAAC+9y4ckIAAEBE3bhyQgAAfo3duHJCAAC81t24ckIAAPof3rhyQgAAOGneuHJCAAB2st64ckIAALT73rhyQgAA8kTfuHJCAAAwjt+4ckIAAG7X37hyQgAArCDguHJCAADqaeC4ckIAACiz4LhyQgAAZvzguHJCAACkReG4ckIAAOKO4bhyQgAAINjhuHJCAABeIeK4ckIAAJxq4rhyQgAA2rPiuHJCAAAY/eK4ckIAAFZG47hyQgAAlI/juHJCAADS2OO4ckIAABAi5LhyQgAATmvkuHJC","dtype":"float64","order":"little","shape":[2217]},"y":[92,100,108,115,120,124,128,133,137,142,147,152,157,162,167,171,175,179,185,192,200,207,212,215,217,219,218,219,217,216,216,216,215,214,212,211,209,207,204,203,203,203,203,204,203,202,201,200,199,199,197,193,189,185,182,182,183,184,184,182,177,174,172,170,168,167,166,164,162,160,158,155,152,150,147,140,131,124,120,116,114,114,116,118,119,120,120,120,119,117,114,112,112,111,111,112,111,111,110,108,106,106,106,106,104,101,101,103,102,100,99,100,100,99,99,99,100,99,98,97,97,96,92,90,89,86,85,85,84,84,81,80,81,86,99,115,125,130,129,128,123,118,113,111,112,111,109,108,105,101,100,102,107,113,119,125,129,131,129,128,127,127,127,125,122,117,113,108,103,98,93,89,86,85,83,82,81,82,84,87,92,99,107,121,133,142,146,149,150,151,151,152,152,150,148,161,160,158,157,157,157,156,153,149,147,145,144,145,149,154,159,163,164,164,164,163,162,158,154,153,154,155,157,159,158,156,152,148,144,139,134,128,123,121,119,117,115,115,112,109,106,105,103,101,97,93,89,86,85,88,93,100,106,113,119,125,131,137,142,149,159,172,186,197,204,207,208,207,205,202,199,197,193,185,176,178,177,177,176,173,171,170,169,167,166,165,163,163,162,160,156,150,150,150,151,150,150,150,149,149,148,149,147,145,143,139,141,145,147,147,146,145,141,138,136,135,134,133,132,129,124,120,118,112,114,119,123,125,126,127,128,135,143,148,151,153,154,155,156,156,157,157,156,155,154,147,137,131,128,129,131,132,133,135,135,133,131,132,135,138,139,138,136,132,128,126,125,120,113,108,106,105,108,111,113,116,120,120,120,119,118,118,118,118,117,116,113,106,98,93,97,107,115,122,120,113,102,94,95,96,90,88,83,83,85,90,97,98,99,94,89,95,105,111,113,106,95,90,91,96,101,104,109,112,120,123,118,115,123,130,128,130,136,131,121,113,110,108,109,111,115,120,115,108,105,105,104,106,110,111,115,115,117,114,111,107,105,109,111,110,111,115,121,126,135,142,145,147,150,153,156,160,162,161,160,160,159,157,154,152,152,150,143,138,132,128,124,119,112,105,98,92,94,98,106,118,126,128,127,123,123,121,118,115,112,112,114,113,105,78,209,204,214,252,282,290,295,292,284,268,263,262,263,263,262,258,249,236,179,165,157,152,150,149,150,154,158,163,166,166,163,159,158,161,170,176,178,174,170,166,160,156,151,148,147,145,142,141,145,144,144,153,155,152,147,143,145,152,156,157,156,155,155,156,158,158,158,156,152,146,139,139,141,143,145,147,148,149,149,149,148,147,144,140,139,139,138,137,136,135,134,133,134,136,137,136,134,135,139,142,143,141,138,141,145,148,151,152,154,156,155,155,159,163,166,166,166,164,162,160,158,157,155,153,150,150,149,149,149,149,150,152,154,155,155,156,156,157,160,163,165,165,164,163,121,119,117,114,113,112,113,113,113,113,112,113,113,113,114,112,110,109,109,109,108,108,90,90,94,99,107,116,125,130,132,130,124,117,110,103,95,88,81,77,75,63,65,70,73,78,80,80,79,80,83,86,89,94,96,98,104,105,106,106,107,107,109,114,118,121,123,124,123,122,122,123,123,123,124,123,123,124,127,132,137,139,140,140,142,147,152,156,160,165,168,169,169,165,162,160,158,156,154,150,146,144,141,138,136,133,129,124,118,112,107,106,107,108,109,110,111,112,112,113,114,115,116,117,118,119,122,125,128,130,130,131,130,128,126,123,120,116,93,89,86,84,82,79,76,74,72,71,69,70,68,67,66,67,68,69,69,69,68,68,67,66,65,64,63,61,61,60,60,61,63,64,64,64,63,64,65,66,67,67,66,66,67,68,69,71,73,72,71,70,71,72,74,75,76,78,79,80,81,82,84,86,88,88,87,86,85,86,86,86,86,87,87,88,88,88,89,87,83,79,78,82,85,87,88,89,89,89,87,86,88,89,90,89,90,92,91,90,89,88,87,87,89,90,91,92,94,108,110,110,111,111,111,112,113,114,116,116,116,117,119,121,124,127,131,138,145,150,155,161,165,169,173,177,182,185,185,184,189,193,195,198,198,197,196,196,199,202,202,201,202,204,205,205,203,202,201,197,197,198,199,200,199,195,190,184,180,178,179,180,179,176,175,174,172,169,168,167,170,180,191,203,214,219,219,222,227,228,226,223,221,219,219,218,218,219,218,216,214,214,211,208,207,206,206,205,202,199,193,190,187,182,179,176,173,170,167,163,158,152,146,141,135,129,122,114,108,102,97,90,85,81,77,73,68,65,62,61,61,61,61,61,60,59,59,60,61,64,69,75,82,92,104,117,128,137,144,149,153,156,160,164,169,175,180,184,188,191,193,195,196,200,203,207,212,218,223,228,231,234,235,236,327,327,330,333,328,321,316,308,298,287,274,263,255,249,243,239,234,230,225,220,215,210,206,204,204,199,195,190,185,181,177,175,173,171,170,169,169,168,167,166,166,166,163,161,159,158,157,156,154,152,150,149,149,150,150,151,151,152,153,153,153,154,154,154,154,153,152,152,150,149,148,146,145,144,144,143,142,142,141,140,139,137,137,138,136,137,137,136,137,136,134,133,132,132,132,132,132,134,136,138,141,142,142,143,145,150,154,156,158,160,162,164,167,169,172,175,176,175,174,172,170,171,173,178,185,191,198,210,223,235,244,254,265,273,283,290,296,302,307,309,313,316,318,320,322,320,319,317,313,311,306,300,297,294,293,290,287,286,285,282,279,274,271,270,270,269,274,271,267,264,262,259,255,250,244,237,232,227,223,220,215,210,205,199,195,193,197,206,221,239,258,276,291,302,311,318,323,324,322,320,319,320,319,317,314,311,307,302,294,286,280,276,272,267,259,251,245,241,241,241,242,244,245,245,242,237,232,228,225,216,215,216,217,217,215,211,206,202,200,201,203,201,196,188,176,163,149,138,129,119,108,98,89,79,71,66,66,67,67,68,69,71,74,77,79,81,85,91,99,109,119,132,145,157,168,175,179,183,185,188,188,187,184,179,172,163,159,157,155,153,151,149,148,148,148,147,146,145,145,144,143,143,143,144,145,146,145,144,143,142,140,140,140,140,140,143,147,150,152,152,152,154,155,142,140,138,134,131,130,128,127,126,126,126,126,127,129,131,132,134,136,136,136,136,135,134,132,130,130,130,129,128,127,125,124,123,123,122,121,120,118,115,112,111,111,110,110,109,108,107,107,107,108,107,105,105,105,105,104,103,102,99,97,96,94,94,93,93,92,91,92,94,95,96,97,99,102,104,112,112,112,111,110,107,104,105,105,103,99,96,94,95,102,114,128,144,160,173,185,196,205,209,214,219,226,234,241,248,255,260,265,268,270,272,271,271,268,265,261,256,253,250,246,244,241,237,233,229,225,222,204,200,197,193,190,186,182,179,175,171,168,164,158,154,151,148,145,141,133,139,152,173,196,217,233,244,249,250,253,256,260,263,265,265,264,260,254,246,234,217,200,188,181,175,169,164,159,154,147,138,132,129,127,123,117,111,106,104,103,100,94,88,83,78,75,73,71,69,68,67,67,68,70,71,71,70,69,68,67,67,67,66,67,69,71,74,76,78,80,80,80,80,80,80,82,84,87,90,92,87,87,86,86,86,86,87,87,87,85,83,82,83,87,95,107,118,130,141,149,172,179,187,201,214,221,225,230,232,230,223,216,208,199,191,185,181,177,176,177,176,173,171,169,163,154,152,153,154,154,153,151,150,150,150,152,149,147,148,150,152,152,152,151,151,150,149,147,146,143,140,138,136,137,138,140,138,135,132,130,129,129,129,130,130,129,128,128,128,129,129,128,127,126,125,125,125,125,124,124,121,120,120,123,124,123,122,120,115,113,114,114,115,116,115,112,111,111,109,108,107,107,110,113,114,115,115,115,114,113,113,116,119,120,121,121,122,123,124,125,126,126,126,126,126,127,127,125,122,118,115,111,112,115,117,120,124,127,131,137,143,148,153,159,166,172,178,184,191,199,206,212,217,223,229,232,233,235,237,240,241,243,246,247,246,243,240,234,229,225,221,217,216,215,215,215,212,208,203,199,196,194,190,185,180,177,163,158,152,149,153,163,174,182,188,192,195,197,201,204,205,203,199,195,189,184,176,169,162,150,138,128,119,110,100,90,80,73,68,64,63,63,66,68,70,71,72,74,80,94,116,141,164,183,198,210,220,228,233,237,241,247,252,256,260,259,258,256,251,245,238,234,227,221,215,208,207,207,203,201,201,199,179,176,171,163,152,137,119,98,77,61,50,45,47,59,71,86,99,109,116,117,115,111,107,102,96,91,90,94,97,97,95,92,87,84,84,83,84,86,86,86,84,82,82,81,81,82,84,87,89,91,92,94,93,93,94,96,100,101,99,97,96,96,97,97,98,99,101,102,106,114,121,127,130,124,105,109,119,127,129,132,129,126,126,126,126,126,125,124,125,130,130,128,126,126,126,126,126,126,126,127,128,129,129,127,128,136,141,143,141,138,131,129,133,134,130,129,134,137,139,138,130,122,118,115,114,113,113,112,112,117,118,117,118,118,117,117,114,112,115,118,124,126,119,121,122,274,285,293,297,298,298,296,293,289,282,275,267,256,249,242,233,225,217,217,215,203,190,185,193,202,202,194,182,170,143,130,120,110,102,93,80,67,57,52,50,49,49,54,72,93,104,114,125,134,140,145,145,141,136,130,124,118,116,114,112,108,105,102,99,95,91,88,85,83,82,80,79,79,83,86,87,88,89,89,88,88,90,92,88,86,86,86,84,82,84,88,90,94,99,104,107,107,105,104,103,95,94,93,93,93,93,93,94,99,109,122,172,169,164,156,147,137,126,115,104,99,99,103,106,111,115,117,118,120,120,120,120,119,119,118,118,117,116,115,115,116,116,115,115,114,112,109,110,111,111,110,109,109,109,108,107,106,105,101,100,99,99,98,97,97]},"selected":{"id":"2000"},"selection_policy":{"id":"1999"}},"id":"1909","type":"ColumnDataSource"},{"attributes":{},"id":"1995","type":"AllLabels"},{"attributes":{"months":[0,6]},"id":"2012","type":"MonthsTicker"},{"attributes":{"coordinates":null,"data_source":{"id":"1909"},"glyph":{"id":"1910"},"group":null,"hover_glyph":null,"muted_glyph":{"id":"1912"},"nonselection_glyph":{"id":"1911"},"view":{"id":"1914"}},"id":"1913","type":"GlyphRenderer"},{"attributes":{},"id":"1882","type":"LinearScale"},{"attributes":{"axis":{"id":"1890"},"coordinates":null,"dimension":1,"group":null,"ticker":null},"id":"1893","type":"Grid"},{"attributes":{},"id":"1994","type":"BasicTickFormatter"},{"attributes":{"tools":[{"id":"1894"},{"id":"1895"},{"id":"1896"},{"id":"1897"},{"id":"1898"},{"id":"1899"}]},"id":"1901","type":"Toolbar"},{"attributes":{"source":{"id":"1909"}},"id":"1914","type":"CDSView"},{"attributes":{},"id":"1898","type":"ResetTool"},{"attributes":{},"id":"2013","type":"YearsTicker"},{"attributes":{"line_color":"#1f77b4","x":{"field":"x"},"y":{"field":"y"}},"id":"1910","type":"Line"},{"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":"1900","type":"BoxAnnotation"},{"attributes":{"line_alpha":0.1,"line_color":"#1f77b4","x":{"field":"x"},"y":{"field":"y"}},"id":"1911","type":"Line"},{"attributes":{},"id":"1894","type":"PanTool"},{"attributes":{},"id":"1880","type":"DataRange1d"},{"attributes":{},"id":"1895","type":"WheelZoomTool"},{"attributes":{},"id":"1878","type":"DataRange1d"},{"attributes":{},"id":"1897","type":"SaveTool"},{"attributes":{},"id":"1884","type":"LinearScale"},{"attributes":{"overlay":{"id":"1900"}},"id":"1896","type":"BoxZoomTool"},{"attributes":{"days":["%m/%d/%Y"]},"id":"1908","type":"DatetimeTickFormatter"},{"attributes":{},"id":"1999","type":"UnionRenderers"},{"attributes":{},"id":"2000","type":"Selection"},{"attributes":{"base":60,"mantissas":[1,2,5,10,15,20,30],"max_interval":1800000.0,"min_interval":1000.0,"num_minor_ticks":0},"id":"2003","type":"AdaptiveTicker"},{"attributes":{"num_minor_ticks":5,"tickers":[{"id":"2002"},{"id":"2003"},{"id":"2004"},{"id":"2005"},{"id":"2006"},{"id":"2007"},{"id":"2008"},{"id":"2009"},{"id":"2010"},{"id":"2011"},{"id":"2012"},{"id":"2013"}]},"id":"1887","type":"DatetimeTicker"},{"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":"2005","type":"DaysTicker"},{"attributes":{},"id":"1998","type":"AllLabels"},{"attributes":{},"id":"1899","type":"HelpTool"},{"attributes":{"days":[1,8,15,22]},"id":"2007","type":"DaysTicker"},{"attributes":{"days":[1,4,7,10,13,16,19,22,25,28]},"id":"2006","type":"DaysTicker"},{"attributes":{"base":24,"mantissas":[1,2,4,6,8,12],"max_interval":43200000.0,"min_interval":3600000.0,"num_minor_ticks":0},"id":"2004","type":"AdaptiveTicker"},{"attributes":{"coordinates":null,"group":null,"text":"Glocose Range"},"id":"1876","type":"Title"}],"root_ids":["1875"]},"title":"Bokeh Application","version":"2.4.3"}};
1176
- const render_items = [{"docid":"11a0aa5c-13e1-4f85-b0ed-55b578a3c0f4","root_ids":["1875"],"roots":{"1875":"fa75122f-68d4-4721-8440-be13852d8706"}}];
1177
- root.Bokeh.embed.embed_items_notebook(docs_json, render_items);
1178
- }
1179
- if (root.Bokeh !== undefined) {
1180
- embed_document(root);
1181
- } else {
1182
- let attempts = 0;
1183
- const timer = setInterval(function(root) {
1184
- if (root.Bokeh !== undefined) {
1185
- clearInterval(timer);
1186
- embed_document(root);
1187
- } else {
1188
- attempts++;
1189
- if (attempts > 100) {
1190
- clearInterval(timer);
1191
- console.log("Bokeh: ERROR: Unable to run BokehJS code because BokehJS library is missing");
1192
- }
1193
- }
1194
- }, 10, root)
1195
- }
1196
- })(window);
1197
- </script>
1198
- </div>
1199
-
1200
- </div>
1201
-
1202
- </div>
1203
- </div>
1204
-
1205
- </div>
1206
- <div class="cell border-box-sizing text_cell rendered"><div class="inner_cell">
1207
- <div class="text_cell_render border-box-sizing rendered_html">
1208
- <p>See the reference guide entry for <a href="https://bokeh.pydata.org/en/latest/docs/reference/models/formatters.html#bokeh.models.formatters.DatetimeTickFormatter">DatetimeTickFormatter</a> to see other properties that can be updated.</p>
1209
- <p>In addition to the tick formatters that Bokeh will use by default, there are others such as the <a href="https://bokeh.pydata.org/en/latest/docs/user_guide/styling.html#numeraltickformatter"><code>NumeralTickFormatter</code></a> that we can configure explicitly. The example below shows how to set a formatter on each axis.</p>
1210
-
1211
- </div>
1212
- </div>
1213
- </div>
1214
-
1215
-
1216
-
1217
- <div class="
1218
- cell border-box-sizing code_cell rendered">
1219
- <div class="input">
1220
-
1221
- <div class="inner_cell">
1222
- <div class="input_area">
1223
- <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">NumeralTickFormatter</span>
1224
-
1225
- <span class="n">p</span> <span class="o">=</span> <span class="n">figure</span><span class="p">(</span><span class="n">plot_height</span><span class="o">=</span><span class="mi">300</span><span class="p">,</span> <span class="n">plot_width</span><span class="o">=</span><span class="mi">800</span><span class="p">)</span>
1226
- <span class="n">p</span><span class="o">.</span><span class="n">circle</span><span class="p">([</span><span class="mi">1</span><span class="p">,</span><span class="mi">2</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">5</span><span class="p">],</span> <span class="p">[</span><span class="mi">2</span><span class="p">,</span><span class="mi">5</span><span class="p">,</span><span class="mi">8</span><span class="p">,</span><span class="mi">2</span><span class="p">,</span><span class="mi">7</span><span class="p">],</span> <span class="n">size</span><span class="o">=</span><span class="mi">10</span><span class="p">)</span>
1227
-
1228
- <span class="n">p</span><span class="o">.</span><span class="n">xaxis</span><span class="o">.</span><span class="n">formatter</span> <span class="o">=</span> <span class="n">NumeralTickFormatter</span><span class="p">(</span><span class="nb">format</span><span class="o">=</span><span class="s2">&quot;0.0%&quot;</span><span class="p">)</span>
1229
- <span class="n">p</span><span class="o">.</span><span class="n">yaxis</span><span class="o">.</span><span class="n">formatter</span> <span class="o">=</span> <span class="n">NumeralTickFormatter</span><span class="p">(</span><span class="nb">format</span><span class="o">=</span><span class="s2">&quot;$0.00&quot;</span><span class="p">)</span>
1230
-
1231
- <span class="c1"># show the results</span>
1232
- <span class="n">show</span><span class="p">(</span><span class="n">p</span><span class="p">)</span>
1233
- </pre></div>
1234
-
1235
- </div>
1236
- </div>
1237
- </div>
1238
-
1239
- <div class="output_wrapper">
1240
- <div class="output">
1241
-
1242
-
1243
- <div class="output_area">
1244
-
1245
-
1246
-
1247
-
1248
- <div class="output_html rendered_html output_subarea ">
1249
-
1250
- <div class="bk-root" id="4088ee5f-9b79-4539-9bfe-8e8b62f5402a" data-root-id="2124"></div>
1251
-
1252
- </div>
1253
-
1254
- </div>
1255
-
1256
- <div class="output_area">
1257
-
1258
-
1259
-
1260
-
1261
-
1262
-
1263
- <div id="d756bbed-85ea-4d7f-8515-2ac94bc7e11c"></div>
1264
- <div class="output_subarea output_javascript ">
1265
- <script type="text/javascript">
1266
- var element = $('#d756bbed-85ea-4d7f-8515-2ac94bc7e11c');
1267
- (function(root) {
1268
- function embed_document(root) {
1269
- const docs_json = {"613d7a77-2646-44bc-919b-9e517f0c7072":{"defs":[],"roots":{"references":[{"attributes":{"below":[{"id":"2133"}],"center":[{"id":"2136"},{"id":"2140"}],"height":300,"left":[{"id":"2137"}],"renderers":[{"id":"2159"}],"title":{"id":"2264"},"toolbar":{"id":"2148"},"width":800,"x_range":{"id":"2125"},"x_scale":{"id":"2129"},"y_range":{"id":"2127"},"y_scale":{"id":"2131"}},"id":"2124","subtype":"Figure","type":"Plot"},{"attributes":{"fill_alpha":{"value":0.2},"fill_color":{"value":"#1f77b4"},"hatch_alpha":{"value":0.2},"line_alpha":{"value":0.2},"line_color":{"value":"#1f77b4"},"size":{"value":10},"x":{"field":"x"},"y":{"field":"y"}},"id":"2158","type":"Circle"},{"attributes":{"format":"$0.00"},"id":"2163","type":"NumeralTickFormatter"},{"attributes":{},"id":"2141","type":"PanTool"},{"attributes":{},"id":"2145","type":"ResetTool"},{"attributes":{},"id":"2142","type":"WheelZoomTool"},{"attributes":{},"id":"2134","type":"BasicTicker"},{"attributes":{"overlay":{"id":"2147"}},"id":"2143","type":"BoxZoomTool"},{"attributes":{},"id":"2129","type":"LinearScale"},{"attributes":{},"id":"2131","type":"LinearScale"},{"attributes":{},"id":"2144","type":"SaveTool"},{"attributes":{"coordinates":null,"formatter":{"id":"2161"},"group":null,"major_label_policy":{"id":"2269"},"ticker":{"id":"2134"}},"id":"2133","type":"LinearAxis"},{"attributes":{},"id":"2267","type":"AllLabels"},{"attributes":{"axis":{"id":"2133"},"coordinates":null,"group":null,"ticker":null},"id":"2136","type":"Grid"},{"attributes":{},"id":"2146","type":"HelpTool"},{"attributes":{},"id":"2271","type":"Selection"},{"attributes":{},"id":"2127","type":"DataRange1d"},{"attributes":{"coordinates":null,"data_source":{"id":"2155"},"glyph":{"id":"2156"},"group":null,"hover_glyph":null,"muted_glyph":{"id":"2158"},"nonselection_glyph":{"id":"2157"},"view":{"id":"2160"}},"id":"2159","type":"GlyphRenderer"},{"attributes":{"coordinates":null,"formatter":{"id":"2163"},"group":null,"major_label_policy":{"id":"2267"},"ticker":{"id":"2138"}},"id":"2137","type":"LinearAxis"},{"attributes":{},"id":"2270","type":"UnionRenderers"},{"attributes":{"tools":[{"id":"2141"},{"id":"2142"},{"id":"2143"},{"id":"2144"},{"id":"2145"},{"id":"2146"}]},"id":"2148","type":"Toolbar"},{"attributes":{},"id":"2138","type":"BasicTicker"},{"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":"2147","type":"BoxAnnotation"},{"attributes":{"axis":{"id":"2137"},"coordinates":null,"dimension":1,"group":null,"ticker":null},"id":"2140","type":"Grid"},{"attributes":{"format":"0.0%"},"id":"2161","type":"NumeralTickFormatter"},{"attributes":{},"id":"2125","type":"DataRange1d"},{"attributes":{"coordinates":null,"group":null},"id":"2264","type":"Title"},{"attributes":{"fill_color":{"value":"#1f77b4"},"line_color":{"value":"#1f77b4"},"size":{"value":10},"x":{"field":"x"},"y":{"field":"y"}},"id":"2156","type":"Circle"},{"attributes":{},"id":"2269","type":"AllLabels"},{"attributes":{"source":{"id":"2155"}},"id":"2160","type":"CDSView"},{"attributes":{"fill_alpha":{"value":0.1},"fill_color":{"value":"#1f77b4"},"hatch_alpha":{"value":0.1},"line_alpha":{"value":0.1},"line_color":{"value":"#1f77b4"},"size":{"value":10},"x":{"field":"x"},"y":{"field":"y"}},"id":"2157","type":"Circle"},{"attributes":{"data":{"x":[1,2,3,4,5],"y":[2,5,8,2,7]},"selected":{"id":"2271"},"selection_policy":{"id":"2270"}},"id":"2155","type":"ColumnDataSource"}],"root_ids":["2124"]},"title":"Bokeh Application","version":"2.4.3"}};
1270
- const render_items = [{"docid":"613d7a77-2646-44bc-919b-9e517f0c7072","root_ids":["2124"],"roots":{"2124":"4088ee5f-9b79-4539-9bfe-8e8b62f5402a"}}];
1271
- root.Bokeh.embed.embed_items_notebook(docs_json, render_items);
1272
- }
1273
- if (root.Bokeh !== undefined) {
1274
- embed_document(root);
1275
- } else {
1276
- let attempts = 0;
1277
- const timer = setInterval(function(root) {
1278
- if (root.Bokeh !== undefined) {
1279
- clearInterval(timer);
1280
- embed_document(root);
1281
- } else {
1282
- attempts++;
1283
- if (attempts > 100) {
1284
- clearInterval(timer);
1285
- console.log("Bokeh: ERROR: Unable to run BokehJS code because BokehJS library is missing");
1286
- }
1287
- }
1288
- }, 10, root)
1289
- }
1290
- })(window);
1291
- </script>
1292
- </div>
1293
-
1294
- </div>
1295
-
1296
- </div>
1297
- </div>
1298
-
1299
- </div>
1300
- <div class="cell border-box-sizing text_cell rendered"><div class="inner_cell">
1301
- <div class="text_cell_render border-box-sizing rendered_html">
1302
- <p>Try experimenting with the format argument and re-execute the cell above.</p>
1303
- <p>There are many other possibilities for controlling tick formatting, including the possibility of supplying a JavaScript snippet to perform arbitrary formatting in the browser. See the <a href="https://bokeh.pydata.org/en/latest/docs/user_guide/styling.html#tick-label-formats">Tick Label Formats</a> for more details.</p>
1304
- <p>It is also possible to customize <em>where</em> ticks will be drawn. See the <a href="https://bokeh.pydata.org/en/latest/docs/user_guide/styling.html#tick-locations">Tick Locations</a> section of the User's Guide for more information.</p>
1305
-
1306
- </div>
1307
- </div>
1308
- </div>
1309
- <div class="cell border-box-sizing text_cell rendered"><div class="inner_cell">
1310
- <div class="text_cell_render border-box-sizing rendered_html">
1311
- <h3 id="Grids">Grids<a class="anchor-link" href="#Grids">&#182;</a></h3><p>It is also possible to control the <a href="https://bokeh.pydata.org/en/latest/docs/user_guide/styling.html#grids">styling of Grids</a></p>
1312
- <p>Grids properties in Bokeh have two possible prefixes:</p>
1313
- <ul>
1314
- <li><strong>grid</strong> properties (which are <a href="https://bokeh.pydata.org/en/latest/docs/user_guide/styling.html#line-properties">line properties</a>) control the "grid lines"</li>
1315
- <li><strong>band</strong> properties (which are <a href="https://bokeh.pydata.org/en/latest/docs/user_guide/styling.html#fill-properties">fill properties</a>) control shaded bands between grid lines</li>
1316
- </ul>
1317
- <p>In this first example we turn off the vertical grid lines (by setting the line color to None) and set the horizontal grid to be light and dashed.</p>
1318
-
1319
- </div>
1320
- </div>
1321
- </div>
1322
-
1323
-
1324
-
1325
- <div class="
1326
- cell border-box-sizing code_cell rendered">
1327
- <div class="input">
1328
-
1329
- <div class="inner_cell">
1330
- <div class="input_area">
1331
- <div class=" highlight hl-ipython3"><pre><span></span><span class="c1"># create a new plot using figure</span>
1332
- <span class="n">p</span> <span class="o">=</span> <span class="n">figure</span><span class="p">(</span>
1333
- <span class="n">plot_height</span><span class="o">=</span><span class="mi">400</span><span class="p">,</span>
1334
- <span class="n">plot_width</span><span class="o">=</span><span class="mi">800</span><span class="p">,</span>
1335
- <span class="p">)</span>
1336
-
1337
- <span class="n">p</span><span class="o">.</span><span class="n">circle</span><span class="p">(</span>
1338
- <span class="p">[</span><span class="mi">1</span><span class="p">,</span><span class="mi">2</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">5</span><span class="p">],</span>
1339
- <span class="p">[</span><span class="mi">2</span><span class="p">,</span><span class="mi">5</span><span class="p">,</span><span class="mi">8</span><span class="p">,</span><span class="mi">2</span><span class="p">,</span><span class="mi">7</span><span class="p">],</span>
1340
- <span class="n">size</span><span class="o">=</span><span class="mi">10</span>
1341
- <span class="p">)</span>
1342
-
1343
- <span class="c1"># change just some things about the x-grid</span>
1344
- <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>
1345
-
1346
- <span class="c1"># change just some things about the y-grid</span>
1347
- <span class="n">p</span><span class="o">.</span><span class="n">ygrid</span><span class="o">.</span><span class="n">grid_line_alpha</span> <span class="o">=</span> <span class="mf">0.5</span>
1348
- <span class="n">p</span><span class="o">.</span><span class="n">ygrid</span><span class="o">.</span><span class="n">grid_line_dash</span> <span class="o">=</span> <span class="p">[</span><span class="mi">6</span><span class="p">,</span> <span class="mi">4</span><span class="p">]</span>
1349
-
1350
- <span class="c1"># show the results</span>
1351
- <span class="n">show</span><span class="p">(</span><span class="n">p</span><span class="p">)</span>
1352
- </pre></div>
1353
-
1354
- </div>
1355
- </div>
1356
- </div>
1357
-
1358
- <div class="output_wrapper">
1359
- <div class="output">
1360
-
1361
-
1362
- <div class="output_area">
1363
-
1364
-
1365
-
1366
-
1367
- <div class="output_html rendered_html output_subarea ">
1368
-
1369
- <div class="bk-root" id="e47488a4-7866-45cf-ada8-b5ec064ca4bd" data-root-id="2318"></div>
1370
-
1371
- </div>
1372
-
1373
- </div>
1374
-
1375
- <div class="output_area">
1376
-
1377
-
1378
-
1379
-
1380
-
1381
-
1382
- <div id="df435281-4dca-4d73-ba34-5cbc40842fd9"></div>
1383
- <div class="output_subarea output_javascript ">
1384
- <script type="text/javascript">
1385
- var element = $('#df435281-4dca-4d73-ba34-5cbc40842fd9');
1386
- (function(root) {
1387
- function embed_document(root) {
1388
- const docs_json = {"1b94de34-58a8-4b3e-b8bb-2a5d79a8037e":{"defs":[],"roots":{"references":[{"attributes":{"below":[{"id":"2327"}],"center":[{"id":"2330"},{"id":"2334"}],"height":400,"left":[{"id":"2331"}],"renderers":[{"id":"2353"}],"title":{"id":"2463"},"toolbar":{"id":"2342"},"width":800,"x_range":{"id":"2319"},"x_scale":{"id":"2323"},"y_range":{"id":"2321"},"y_scale":{"id":"2325"}},"id":"2318","subtype":"Figure","type":"Plot"},{"attributes":{"tools":[{"id":"2335"},{"id":"2336"},{"id":"2337"},{"id":"2338"},{"id":"2339"},{"id":"2340"}]},"id":"2342","type":"Toolbar"},{"attributes":{"fill_color":{"value":"#1f77b4"},"line_color":{"value":"#1f77b4"},"size":{"value":10},"x":{"field":"x"},"y":{"field":"y"}},"id":"2350","type":"Circle"},{"attributes":{},"id":"2321","type":"DataRange1d"},{"attributes":{"coordinates":null,"group":null},"id":"2463","type":"Title"},{"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":"2341","type":"BoxAnnotation"},{"attributes":{},"id":"2335","type":"PanTool"},{"attributes":{},"id":"2319","type":"DataRange1d"},{"attributes":{},"id":"2339","type":"ResetTool"},{"attributes":{},"id":"2336","type":"WheelZoomTool"},{"attributes":{},"id":"2472","type":"Selection"},{"attributes":{"overlay":{"id":"2341"}},"id":"2337","type":"BoxZoomTool"},{"attributes":{},"id":"2338","type":"SaveTool"},{"attributes":{"data":{"x":[1,2,3,4,5],"y":[2,5,8,2,7]},"selected":{"id":"2472"},"selection_policy":{"id":"2471"}},"id":"2349","type":"ColumnDataSource"},{"attributes":{"coordinates":null,"data_source":{"id":"2349"},"glyph":{"id":"2350"},"group":null,"hover_glyph":null,"muted_glyph":{"id":"2352"},"nonselection_glyph":{"id":"2351"},"view":{"id":"2354"}},"id":"2353","type":"GlyphRenderer"},{"attributes":{},"id":"2328","type":"BasicTicker"},{"attributes":{},"id":"2323","type":"LinearScale"},{"attributes":{},"id":"2340","type":"HelpTool"},{"attributes":{},"id":"2467","type":"AllLabels"},{"attributes":{},"id":"2325","type":"LinearScale"},{"attributes":{"coordinates":null,"formatter":{"id":"2469"},"group":null,"major_label_policy":{"id":"2470"},"ticker":{"id":"2328"}},"id":"2327","type":"LinearAxis"},{"attributes":{"source":{"id":"2349"}},"id":"2354","type":"CDSView"},{"attributes":{},"id":"2471","type":"UnionRenderers"},{"attributes":{"axis":{"id":"2327"},"coordinates":null,"grid_line_color":null,"group":null,"ticker":null},"id":"2330","type":"Grid"},{"attributes":{},"id":"2332","type":"BasicTicker"},{"attributes":{"coordinates":null,"formatter":{"id":"2466"},"group":null,"major_label_policy":{"id":"2467"},"ticker":{"id":"2332"}},"id":"2331","type":"LinearAxis"},{"attributes":{"fill_alpha":{"value":0.1},"fill_color":{"value":"#1f77b4"},"hatch_alpha":{"value":0.1},"line_alpha":{"value":0.1},"line_color":{"value":"#1f77b4"},"size":{"value":10},"x":{"field":"x"},"y":{"field":"y"}},"id":"2351","type":"Circle"},{"attributes":{},"id":"2469","type":"BasicTickFormatter"},{"attributes":{"axis":{"id":"2331"},"coordinates":null,"dimension":1,"grid_line_alpha":0.5,"grid_line_dash":[6,4],"group":null,"ticker":null},"id":"2334","type":"Grid"},{"attributes":{},"id":"2466","type":"BasicTickFormatter"},{"attributes":{},"id":"2470","type":"AllLabels"},{"attributes":{"fill_alpha":{"value":0.2},"fill_color":{"value":"#1f77b4"},"hatch_alpha":{"value":0.2},"line_alpha":{"value":0.2},"line_color":{"value":"#1f77b4"},"size":{"value":10},"x":{"field":"x"},"y":{"field":"y"}},"id":"2352","type":"Circle"}],"root_ids":["2318"]},"title":"Bokeh Application","version":"2.4.3"}};
1389
- const render_items = [{"docid":"1b94de34-58a8-4b3e-b8bb-2a5d79a8037e","root_ids":["2318"],"roots":{"2318":"e47488a4-7866-45cf-ada8-b5ec064ca4bd"}}];
1390
- root.Bokeh.embed.embed_items_notebook(docs_json, render_items);
1391
- }
1392
- if (root.Bokeh !== undefined) {
1393
- embed_document(root);
1394
- } else {
1395
- let attempts = 0;
1396
- const timer = setInterval(function(root) {
1397
- if (root.Bokeh !== undefined) {
1398
- clearInterval(timer);
1399
- embed_document(root);
1400
- } else {
1401
- attempts++;
1402
- if (attempts > 100) {
1403
- clearInterval(timer);
1404
- console.log("Bokeh: ERROR: Unable to run BokehJS code because BokehJS library is missing");
1405
- }
1406
- }
1407
- }, 10, root)
1408
- }
1409
- })(window);
1410
- </script>
1411
- </div>
1412
-
1413
- </div>
1414
-
1415
- </div>
1416
- </div>
1417
-
1418
- </div>
1419
- <div class="cell border-box-sizing text_cell rendered"><div class="inner_cell">
1420
- <div class="text_cell_render border-box-sizing rendered_html">
1421
- <p>The next example shows how the "band" properties of a plot can be specified</p>
1422
-
1423
- </div>
1424
- </div>
1425
- </div>
1426
-
1427
-
1428
-
1429
- <div class="
1430
- cell border-box-sizing code_cell rendered">
1431
- <div class="input">
1432
-
1433
- <div class="inner_cell">
1434
- <div class="input_area">
1435
- <div class=" highlight hl-ipython3"><pre><span></span><span class="c1"># create a new plot using figure</span>
1436
- <span class="n">p</span> <span class="o">=</span> <span class="n">figure</span><span class="p">(</span>
1437
- <span class="n">plot_height</span><span class="o">=</span><span class="mi">400</span><span class="p">,</span>
1438
- <span class="n">plot_width</span><span class="o">=</span><span class="mi">800</span><span class="p">,</span>
1439
- <span class="p">)</span>
1440
-
1441
-
1442
- <span class="n">p</span><span class="o">.</span><span class="n">circle</span><span class="p">(</span>
1443
- <span class="p">[</span><span class="mi">1</span><span class="p">,</span><span class="mi">2</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">5</span><span class="p">],</span>
1444
- <span class="p">[</span><span class="mi">2</span><span class="p">,</span><span class="mi">5</span><span class="p">,</span><span class="mi">8</span><span class="p">,</span><span class="mi">2</span><span class="p">,</span><span class="mi">7</span><span class="p">],</span>
1445
- <span class="n">size</span><span class="o">=</span><span class="mi">10</span>
1446
- <span class="p">)</span>
1447
-
1448
- <span class="c1"># change just some things about the x-grid</span>
1449
- <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>
1450
-
1451
- <span class="c1"># change just some things about the y-grid</span>
1452
- <span class="n">p</span><span class="o">.</span><span class="n">ygrid</span><span class="o">.</span><span class="n">band_fill_alpha</span> <span class="o">=</span> <span class="mf">0.1</span>
1453
- <span class="n">p</span><span class="o">.</span><span class="n">ygrid</span><span class="o">.</span><span class="n">band_fill_color</span> <span class="o">=</span> <span class="s2">&quot;navy&quot;</span>
1454
-
1455
- <span class="c1"># show the results</span>
1456
- <span class="n">show</span><span class="p">(</span><span class="n">p</span><span class="p">)</span>
1457
- </pre></div>
1458
-
1459
- </div>
1460
- </div>
1461
- </div>
1462
-
1463
- <div class="output_wrapper">
1464
- <div class="output">
1465
-
1466
-
1467
- <div class="output_area">
1468
-
1469
-
1470
-
1471
-
1472
- <div class="output_html rendered_html output_subarea ">
1473
-
1474
- <div class="bk-root" id="3fd26f99-1dbb-4670-8e11-72b3f5ca79c4" data-root-id="2529"></div>
1475
-
1476
- </div>
1477
-
1478
- </div>
1479
-
1480
- <div class="output_area">
1481
-
1482
-
1483
-
1484
-
1485
-
1486
-
1487
- <div id="e6dfc1e8-9552-4ada-a3a3-70652b687b4d"></div>
1488
- <div class="output_subarea output_javascript ">
1489
- <script type="text/javascript">
1490
- var element = $('#e6dfc1e8-9552-4ada-a3a3-70652b687b4d');
1491
- (function(root) {
1492
- function embed_document(root) {
1493
- const docs_json = {"13ecf0c1-f773-4b5c-8c3f-194537425ed6":{"defs":[],"roots":{"references":[{"attributes":{"below":[{"id":"2538"}],"center":[{"id":"2541"},{"id":"2545"}],"height":400,"left":[{"id":"2542"}],"renderers":[{"id":"2564"}],"title":{"id":"2685"},"toolbar":{"id":"2553"},"width":800,"x_range":{"id":"2530"},"x_scale":{"id":"2534"},"y_range":{"id":"2532"},"y_scale":{"id":"2536"}},"id":"2529","subtype":"Figure","type":"Plot"},{"attributes":{},"id":"2692","type":"AllLabels"},{"attributes":{"fill_alpha":{"value":0.1},"fill_color":{"value":"#1f77b4"},"hatch_alpha":{"value":0.1},"line_alpha":{"value":0.1},"line_color":{"value":"#1f77b4"},"size":{"value":10},"x":{"field":"x"},"y":{"field":"y"}},"id":"2562","type":"Circle"},{"attributes":{"axis":{"id":"2542"},"band_fill_alpha":0.1,"band_fill_color":"navy","coordinates":null,"dimension":1,"group":null,"ticker":null},"id":"2545","type":"Grid"},{"attributes":{},"id":"2694","type":"Selection"},{"attributes":{"data":{"x":[1,2,3,4,5],"y":[2,5,8,2,7]},"selected":{"id":"2694"},"selection_policy":{"id":"2693"}},"id":"2560","type":"ColumnDataSource"},{"attributes":{},"id":"2693","type":"UnionRenderers"},{"attributes":{"fill_alpha":{"value":0.2},"fill_color":{"value":"#1f77b4"},"hatch_alpha":{"value":0.2},"line_alpha":{"value":0.2},"line_color":{"value":"#1f77b4"},"size":{"value":10},"x":{"field":"x"},"y":{"field":"y"}},"id":"2563","type":"Circle"},{"attributes":{},"id":"2688","type":"BasicTickFormatter"},{"attributes":{"source":{"id":"2560"}},"id":"2565","type":"CDSView"},{"attributes":{},"id":"2530","type":"DataRange1d"},{"attributes":{"coordinates":null,"data_source":{"id":"2560"},"glyph":{"id":"2561"},"group":null,"hover_glyph":null,"muted_glyph":{"id":"2563"},"nonselection_glyph":{"id":"2562"},"view":{"id":"2565"}},"id":"2564","type":"GlyphRenderer"},{"attributes":{},"id":"2532","type":"DataRange1d"},{"attributes":{},"id":"2546","type":"PanTool"},{"attributes":{},"id":"2550","type":"ResetTool"},{"attributes":{},"id":"2547","type":"WheelZoomTool"},{"attributes":{"overlay":{"id":"2552"}},"id":"2548","type":"BoxZoomTool"},{"attributes":{},"id":"2549","type":"SaveTool"},{"attributes":{},"id":"2691","type":"BasicTickFormatter"},{"attributes":{},"id":"2539","type":"BasicTicker"},{"attributes":{"fill_color":{"value":"#1f77b4"},"line_color":{"value":"#1f77b4"},"size":{"value":10},"x":{"field":"x"},"y":{"field":"y"}},"id":"2561","type":"Circle"},{"attributes":{},"id":"2534","type":"LinearScale"},{"attributes":{},"id":"2551","type":"HelpTool"},{"attributes":{},"id":"2536","type":"LinearScale"},{"attributes":{"coordinates":null,"group":null},"id":"2685","type":"Title"},{"attributes":{"coordinates":null,"formatter":{"id":"2691"},"group":null,"major_label_policy":{"id":"2692"},"ticker":{"id":"2539"}},"id":"2538","type":"LinearAxis"},{"attributes":{},"id":"2689","type":"AllLabels"},{"attributes":{"axis":{"id":"2538"},"coordinates":null,"grid_line_color":null,"group":null,"ticker":null},"id":"2541","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":"2552","type":"BoxAnnotation"},{"attributes":{},"id":"2543","type":"BasicTicker"},{"attributes":{"coordinates":null,"formatter":{"id":"2688"},"group":null,"major_label_policy":{"id":"2689"},"ticker":{"id":"2543"}},"id":"2542","type":"LinearAxis"},{"attributes":{"tools":[{"id":"2546"},{"id":"2547"},{"id":"2548"},{"id":"2549"},{"id":"2550"},{"id":"2551"}]},"id":"2553","type":"Toolbar"}],"root_ids":["2529"]},"title":"Bokeh Application","version":"2.4.3"}};
1494
- const render_items = [{"docid":"13ecf0c1-f773-4b5c-8c3f-194537425ed6","root_ids":["2529"],"roots":{"2529":"3fd26f99-1dbb-4670-8e11-72b3f5ca79c4"}}];
1495
- root.Bokeh.embed.embed_items_notebook(docs_json, render_items);
1496
- }
1497
- if (root.Bokeh !== undefined) {
1498
- embed_document(root);
1499
- } else {
1500
- let attempts = 0;
1501
- const timer = setInterval(function(root) {
1502
- if (root.Bokeh !== undefined) {
1503
- clearInterval(timer);
1504
- embed_document(root);
1505
- } else {
1506
- attempts++;
1507
- if (attempts > 100) {
1508
- clearInterval(timer);
1509
- console.log("Bokeh: ERROR: Unable to run BokehJS code because BokehJS library is missing");
1510
- }
1511
- }
1512
- }, 10, root)
1513
- }
1514
- })(window);
1515
- </script>
1516
- </div>
1517
-
1518
- </div>
1519
-
1520
- </div>
1521
- </div>
1522
-
1523
- </div>
1524
-