j1-template 2022.5.0 → 2022.5.1.rc0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (386) 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/core/css/themes/unolight/bootstrap.css +26 -1
  6. data/assets/themes/j1/core/css/themes/unolight/bootstrap.min.css +1 -1
  7. data/assets/themes/j1/modules/backstretch/js/backstretch.js +1 -1
  8. data/assets/themes/j1/modules/backstretch/js/v2.1.16/backstretch.js +1696 -0
  9. data/assets/themes/j1/modules/backstretch/js/v2.1.16/backstretch.min.js +20 -0
  10. data/assets/themes/j1/modules/backstretch/js/v2.1.18/backstretch.js +1627 -0
  11. data/assets/themes/j1/modules/backstretch/js/v2.1.18/backstretch.min.js +20 -0
  12. data/lib/j1/version.rb +1 -1
  13. data/lib/starter_web/Gemfile +1 -1
  14. data/lib/starter_web/README.md +440 -175
  15. data/lib/starter_web/_config.yml +1 -1
  16. data/lib/starter_web/_data/blocks/banner.yml +1 -1
  17. data/lib/starter_web/_data/modules/attics.yml +12 -0
  18. data/lib/starter_web/_data/modules/defaults/attics.yml +16 -1
  19. data/lib/starter_web/_data/modules/navigator_menu.yml +28 -25
  20. data/lib/starter_web/_plugins/lunr_index.rb +1 -1
  21. data/lib/starter_web/assets/images/modules/attics/1920x1280/ben-kolde.jpg +0 -0
  22. data/lib/starter_web/assets/images/modules/attics/1920x1280/braden-collum.jpg +0 -0
  23. data/lib/starter_web/assets/images/modules/attics/1920x1280/ev.jpg +0 -0
  24. data/lib/starter_web/assets/images/modules/attics/1920x1280/firmbee-com.jpg +0 -0
  25. data/lib/starter_web/assets/images/modules/attics/1920x1280/max-harlynking.jpg +0 -0
  26. data/lib/starter_web/assets/images/modules/attics/guillaume-bolduc-1920x1280.jpg +0 -0
  27. data/lib/starter_web/assets/images/modules/attics/spacex-1920x1280.jpg +0 -0
  28. data/lib/starter_web/assets/videos/headers/{still → present_videos/still}/underground-broadway.jpg +0 -0
  29. data/lib/starter_web/assets/videos/headers/present_videos/underground-broadway.mp4 +0 -0
  30. data/lib/starter_web/collections/asciidoc_skeletons/simple-post/_posts/yyyy-mm-dd-your-post-name.asciidoc +3 -1
  31. data/lib/starter_web/collections/posts/public/featured/_posts/2021-01-01-about-cookies.adoc +3 -0
  32. data/lib/starter_web/collections/posts/public/featured/_posts/2021-02-01-site-generators.adoc +2 -3
  33. data/lib/starter_web/collections/posts/public/featured/_posts/2022-02-01-about-j1.adoc +3 -0
  34. data/lib/starter_web/collections/posts/public/series/_posts/2020-01-01-post-wiki-series.adoc +3 -0
  35. data/lib/starter_web/collections/posts/public/series/_posts/2020-01-02-post-wiki-series.adoc +3 -0
  36. data/lib/starter_web/collections/posts/public/series/_posts/2020-01-03-post-wiki-series.adoc +3 -0
  37. data/lib/starter_web/index.html +41 -7
  38. data/lib/starter_web/package.json +1 -1
  39. data/lib/starter_web/pages/public/about/features.adoc +119 -0
  40. data/lib/starter_web/pages/public/about/reporting_issues.adoc +5 -1
  41. data/lib/starter_web/pages/public/about/{about_site.adoc → site.adoc} +20 -15
  42. data/lib/starter_web/pages/public/asciidoc_skeletons/documentation/documentation.adoc +3 -0
  43. data/lib/starter_web/pages/public/asciidoc_skeletons/multi-document/multi.adoc +3 -0
  44. data/lib/starter_web/pages/public/asciidoc_skeletons/simple-document/simple.adoc +3 -0
  45. data/lib/starter_web/pages/public/blog/navigator/archive/categoryview.html +3 -0
  46. data/lib/starter_web/pages/public/blog/navigator/archive/dateview.html +4 -1
  47. data/lib/starter_web/pages/public/blog/navigator/archive/tagview.html +4 -1
  48. data/lib/starter_web/pages/public/blog/navigator/archive.html +4 -1
  49. data/lib/starter_web/pages/public/blog/navigator/index.html +4 -1
  50. data/lib/starter_web/pages/public/features/general.adoc +5 -1
  51. data/lib/starter_web/pages/public/features/template.adoc +4 -0
  52. data/lib/starter_web/pages/public/jupyter/examples/distributed/j1-circular-times-table.adoc +3 -0
  53. data/lib/starter_web/pages/public/jupyter/examples/distributed/j1-common-used-widgets.adoc +3 -0
  54. data/lib/starter_web/pages/public/jupyter/examples/distributed/j1-odes-in-python.adoc +3 -0
  55. data/lib/starter_web/pages/public/jupyter/examples/localized/j1_climate-change-forecast.adoc +3 -0
  56. data/lib/starter_web/pages/public/learn/quickstart.adoc +4 -1
  57. data/lib/starter_web/pages/public/learn/roundtrip/100_present_images.adoc +4 -1
  58. data/lib/starter_web/pages/public/learn/roundtrip/100_present_videos.adoc +16 -5
  59. data/lib/starter_web/pages/public/learn/roundtrip/200_typography.adoc +3 -0
  60. data/lib/starter_web/pages/public/learn/roundtrip/300_icon_fonts.adoc +3 -0
  61. data/lib/starter_web/pages/public/learn/roundtrip/400_asciidoc_extensions.adoc +3 -0
  62. data/lib/starter_web/pages/public/learn/roundtrip/410_bs_modals_extentions.adoc +3 -0
  63. data/lib/starter_web/pages/public/learn/roundtrip/420_responsive_tables_extensions.adoc +3 -0
  64. data/lib/starter_web/pages/public/learn/roundtrip/500_themes.adoc +3 -0
  65. data/lib/starter_web/pages/public/learn/roundtrip/600_quicksearch.adoc +6 -2
  66. data/lib/starter_web/pages/public/learn/where_to_go.adoc +3 -0
  67. data/lib/starter_web/pages/public/legal/de/100_copyright.adoc +3 -0
  68. data/lib/starter_web/pages/public/legal/de/100_impress.adoc +3 -0
  69. data/lib/starter_web/pages/public/legal/de/300_privacy.adoc +3 -0
  70. data/lib/starter_web/pages/public/legal/de/400_comment_policy.adoc +3 -0
  71. data/lib/starter_web/pages/public/legal/en/100_copyright.adoc +9 -1
  72. data/lib/starter_web/pages/public/legal/en/200_impress.adoc +10 -2
  73. data/lib/starter_web/pages/public/legal/en/300_privacy.adoc +3 -0
  74. data/lib/starter_web/pages/public/legal/en/400_comment_policy.adoc +3 -0
  75. data/lib/starter_web/pages/public/panels/intro_panel/panel.adoc +3 -0
  76. data/lib/starter_web/pages/public/plans/plans.adoc +3 -0
  77. data/lib/starter_web/pages/public/previewer/preview_bootstrap_theme.adoc +4 -0
  78. data/lib/starter_web/pages/public/se/se-fake.adoc +4 -0
  79. data/lib/starter_web/utilsrv/_defaults/package.json +1 -1
  80. data/lib/starter_web/utilsrv/package.json +1 -1
  81. metadata +19 -367
  82. data/lib/starter_web/assets/videos/headers/still/victoria-oskolovich-on-vimeo.jpg +0 -0
  83. data/lib/starter_web/pages/public/_jupyter/docs/_includes/attributes.asciidoc +0 -67
  84. data/lib/starter_web/pages/public/_jupyter/docs/_includes/documents/j1_docs_example_static.asciidoc +0 -232
  85. data/lib/starter_web/pages/public/_jupyter/docs/binderhub.adoc +0 -631
  86. data/lib/starter_web/pages/public/_jupyter/docs/j1-nbinteract.adoc +0 -638
  87. data/lib/starter_web/pages/public/_jupyter/docs/jupyterhub.adoc +0 -248
  88. data/lib/starter_web/pages/public/_jupyter/docs/nbinteract-widget-manual.adoc +0 -928
  89. data/lib/starter_web/pages/public/_jupyter/examples/distributed/j1-circular-times-table.adoc +0 -139
  90. data/lib/starter_web/pages/public/_jupyter/examples/distributed/j1-common-used-widgets.adoc +0 -229
  91. data/lib/starter_web/pages/public/_jupyter/examples/distributed/j1-odes-in-python.adoc +0 -112
  92. data/lib/starter_web/pages/public/_jupyter/examples/localized/j1-altair/j1-altair-visualisations.adoc +0 -142
  93. data/lib/starter_web/pages/public/_jupyter/examples/localized/j1-bokeh/j1-bokeh-visualisations.adoc +0 -171
  94. data/lib/starter_web/pages/public/_jupyter/examples/localized/j1-bokeh/j1-bqplot-eamples.adoc +0 -111
  95. data/lib/starter_web/pages/public/_jupyter/examples/localized/j1-plotly/j1-plotly-visualisations.adoc +0 -94
  96. data/lib/starter_web/pages/public/_jupyter/examples/localized/j1_climate-change-forecast.adoc +0 -106
  97. data/lib/starter_web/pages/public/_jupyter/notebooks/j1/.ipynb_checkpoints/j1_altair_interactive-checkpoint.ipynb +0 -16260
  98. data/lib/starter_web/pages/public/_jupyter/notebooks/j1/.ipynb_checkpoints/j1_bgplot_line_plot-checkpoint.ipynb +0 -247
  99. data/lib/starter_web/pages/public/_jupyter/notebooks/j1/.ipynb_checkpoints/j1_circular_times_table-Copy1-checkpoint.ipynb +0 -12382
  100. data/lib/starter_web/pages/public/_jupyter/notebooks/j1/.ipynb_checkpoints/j1_circular_times_table-checkpoint.ipynb +0 -12387
  101. data/lib/starter_web/pages/public/_jupyter/notebooks/j1/.ipynb_checkpoints/j1_circular_times_table-short-checkpoint.ipynb +0 -12170
  102. data/lib/starter_web/pages/public/_jupyter/notebooks/j1/.ipynb_checkpoints/j1_climate_change_forecast-checkpoint.ipynb +0 -1058
  103. data/lib/starter_web/pages/public/_jupyter/notebooks/j1/.ipynb_checkpoints/j1_docs_example_dynamic-checkpoint.ipynb +0 -14478
  104. data/lib/starter_web/pages/public/_jupyter/notebooks/j1/.ipynb_checkpoints/j1_interactive_widgets-Copy1-checkpoint.ipynb +0 -379
  105. data/lib/starter_web/pages/public/_jupyter/notebooks/j1/.ipynb_checkpoints/j1_interactive_widgets-checkpoint.ipynb +0 -442
  106. data/lib/starter_web/pages/public/_jupyter/notebooks/j1/.ipynb_checkpoints/j1_nbi_widgets-checkpoint.ipynb +0 -523
  107. data/lib/starter_web/pages/public/_jupyter/notebooks/j1/.ipynb_checkpoints/j1_nbi_widgets.line_charts-checkpoint.ipynb +0 -84
  108. data/lib/starter_web/pages/public/_jupyter/notebooks/j1/.ipynb_checkpoints/j1_nbi_widgets.questions-checkpoint.ipynb +0 -194
  109. data/lib/starter_web/pages/public/_jupyter/notebooks/j1/.ipynb_checkpoints/j1_nbi_widgets_bar_chart-checkpoint.ipynb +0 -89
  110. data/lib/starter_web/pages/public/_jupyter/notebooks/j1/.ipynb_checkpoints/j1_nbi_widgets_bar_charts-Copy1-checkpoint.ipynb +0 -164
  111. data/lib/starter_web/pages/public/_jupyter/notebooks/j1/.ipynb_checkpoints/j1_nbi_widgets_bar_charts-checkpoint.ipynb +0 -173
  112. data/lib/starter_web/pages/public/_jupyter/notebooks/j1/.ipynb_checkpoints/j1_nbi_widgets_bar_charts.1-checkpoint.ipynb +0 -256
  113. data/lib/starter_web/pages/public/_jupyter/notebooks/j1/.ipynb_checkpoints/j1_nbi_widgets_barcharts-checkpoint.ipynb +0 -126
  114. data/lib/starter_web/pages/public/_jupyter/notebooks/j1/.ipynb_checkpoints/j1_nbi_widgets_hist_chart-checkpoint.ipynb +0 -87
  115. data/lib/starter_web/pages/public/_jupyter/notebooks/j1/.ipynb_checkpoints/j1_nbi_widgets_line_chart-checkpoint.ipynb +0 -90
  116. data/lib/starter_web/pages/public/_jupyter/notebooks/j1/.ipynb_checkpoints/j1_nbi_widgets_line_charts-checkpoint.ipynb +0 -87
  117. data/lib/starter_web/pages/public/_jupyter/notebooks/j1/.ipynb_checkpoints/j1_nbi_widgets_question_multiple_choice-checkpoint.ipynb +0 -64
  118. data/lib/starter_web/pages/public/_jupyter/notebooks/j1/.ipynb_checkpoints/j1_nbi_widgets_question_short_answer-checkpoint.ipynb +0 -122
  119. data/lib/starter_web/pages/public/_jupyter/notebooks/j1/.ipynb_checkpoints/j1_nbi_widgets_questions-checkpoint.ipynb +0 -181
  120. data/lib/starter_web/pages/public/_jupyter/notebooks/j1/.ipynb_checkpoints/j1_nbi_widgets_scatter_chart-checkpoint.ipynb +0 -89
  121. data/lib/starter_web/pages/public/_jupyter/notebooks/j1/.ipynb_checkpoints/j1_nbi_widgets_scatter_charts-checkpoint.ipynb +0 -175
  122. data/lib/starter_web/pages/public/_jupyter/notebooks/j1/.ipynb_checkpoints/j1_nbi_widgets_scatter_drag_chart-checkpoint.ipynb +0 -87
  123. data/lib/starter_web/pages/public/_jupyter/notebooks/j1/.ipynb_checkpoints/j1_ode_selected-checkpoint.ipynb +0 -14478
  124. data/lib/starter_web/pages/public/_jupyter/notebooks/j1/.ipynb_checkpoints/j1_odes_in_python-checkpoint.ipynb +0 -15227
  125. data/lib/starter_web/pages/public/_jupyter/notebooks/j1/factor_by_factor.mp4 +0 -0
  126. data/lib/starter_web/pages/public/_jupyter/notebooks/j1/j1_circular_times_table.ipynb +0 -12382
  127. data/lib/starter_web/pages/public/_jupyter/notebooks/j1/j1_climate_change_forecast.ipynb +0 -1058
  128. data/lib/starter_web/pages/public/_jupyter/notebooks/j1/j1_docs_example_dynamic.ipynb +0 -14478
  129. data/lib/starter_web/pages/public/_jupyter/notebooks/j1/j1_interactive_widgets.ipynb +0 -442
  130. data/lib/starter_web/pages/public/_jupyter/notebooks/j1/j1_nbi_widgets.ipynb +0 -523
  131. data/lib/starter_web/pages/public/_jupyter/notebooks/j1/j1_nbi_widgets_bar_chart.ipynb +0 -89
  132. data/lib/starter_web/pages/public/_jupyter/notebooks/j1/j1_nbi_widgets_hist_chart.ipynb +0 -87
  133. data/lib/starter_web/pages/public/_jupyter/notebooks/j1/j1_nbi_widgets_line_chart.ipynb +0 -90
  134. data/lib/starter_web/pages/public/_jupyter/notebooks/j1/j1_nbi_widgets_question_multiple_choice.ipynb +0 -64
  135. data/lib/starter_web/pages/public/_jupyter/notebooks/j1/j1_nbi_widgets_question_short_answer.ipynb +0 -122
  136. data/lib/starter_web/pages/public/_jupyter/notebooks/j1/j1_nbi_widgets_scatter_chart.ipynb +0 -89
  137. data/lib/starter_web/pages/public/_jupyter/notebooks/j1/j1_nbi_widgets_scatter_drag_chart.ipynb +0 -87
  138. data/lib/starter_web/pages/public/_jupyter/notebooks/j1/j1_odes_in_python.ipynb +0 -15227
  139. data/lib/starter_web/pages/public/_jupyter/notebooks/j1/line_by_line.mp4 +0 -0
  140. data/lib/starter_web/pages/public/_jupyter/notebooks/j1/point_by_point.mp4 +0 -0
  141. data/lib/starter_web/pages/public/_jupyter/notebooks/j1-altair-tutorial/.ipynb_checkpoints/j1_altair_interactive-checkpoint.ipynb +0 -16296
  142. data/lib/starter_web/pages/public/_jupyter/notebooks/j1-altair-tutorial/.ipynb_checkpoints/j1_altair_non_interactive-checkpoint.ipynb +0 -15385
  143. data/lib/starter_web/pages/public/_jupyter/notebooks/j1-altair-tutorial/j1_altair_interactive.ipynb +0 -16296
  144. data/lib/starter_web/pages/public/_jupyter/notebooks/j1-altair-tutorial/j1_altair_non_interactive.ipynb +0 -15385
  145. data/lib/starter_web/pages/public/_jupyter/notebooks/j1-bokeh-tutorial/.ipynb_checkpoints/00 - Introduction and Setup-checkpoint.ipynb +0 -717
  146. data/lib/starter_web/pages/public/_jupyter/notebooks/j1-bokeh-tutorial/.ipynb_checkpoints/01 - Basic Plotting-checkpoint.ipynb +0 -1381
  147. data/lib/starter_web/pages/public/_jupyter/notebooks/j1-bokeh-tutorial/.ipynb_checkpoints/02 - Styling and Theming-checkpoint.ipynb +0 -1440
  148. data/lib/starter_web/pages/public/_jupyter/notebooks/j1-bokeh-tutorial/.ipynb_checkpoints/03 - Data Sources and Transformations-checkpoint.ipynb +0 -927
  149. data/lib/starter_web/pages/public/_jupyter/notebooks/j1-bokeh-tutorial/.ipynb_checkpoints/04 - Adding Annotations-checkpoint.ipynb +0 -1105
  150. data/lib/starter_web/pages/public/_jupyter/notebooks/j1-bokeh-tutorial/.ipynb_checkpoints/05 - Presentation Layouts-checkpoint.ipynb +0 -578
  151. data/lib/starter_web/pages/public/_jupyter/notebooks/j1-bokeh-tutorial/.ipynb_checkpoints/06 - Linking and Interactions-checkpoint.ipynb +0 -1196
  152. data/lib/starter_web/pages/public/_jupyter/notebooks/j1-bokeh-tutorial/.ipynb_checkpoints/07 - Bar and Categorical Data Plots-checkpoint.ipynb +0 -1681
  153. data/lib/starter_web/pages/public/_jupyter/notebooks/j1-bokeh-tutorial/.ipynb_checkpoints/08 - Graph and Network Plots-checkpoint.ipynb +0 -680
  154. data/lib/starter_web/pages/public/_jupyter/notebooks/j1-bokeh-tutorial/.ipynb_checkpoints/09 - Geographic Plots-checkpoint.ipynb +0 -693
  155. data/lib/starter_web/pages/public/_jupyter/notebooks/j1-bokeh-tutorial/.ipynb_checkpoints/10 - Exporting and Embedding-checkpoint.ipynb +0 -751
  156. data/lib/starter_web/pages/public/_jupyter/notebooks/j1-bokeh-tutorial/.ipynb_checkpoints/11 - Running Bokeh Applications-checkpoint.ipynb +0 -770
  157. data/lib/starter_web/pages/public/_jupyter/notebooks/j1-bokeh-tutorial/.ipynb_checkpoints/bokeh_tut_00_introduction_and_setup-checkpoint.ipynb +0 -666
  158. data/lib/starter_web/pages/public/_jupyter/notebooks/j1-bokeh-tutorial/.ipynb_checkpoints/j1_bokeh_01_basic_plotting-checkpoint.ipynb +0 -1365
  159. data/lib/starter_web/pages/public/_jupyter/notebooks/j1-bokeh-tutorial/.ipynb_checkpoints/j1_bokeh_02_styling_and_theming-checkpoint.ipynb +0 -1405
  160. data/lib/starter_web/pages/public/_jupyter/notebooks/j1-bokeh-tutorial/.ipynb_checkpoints/j1_bokeh_03_data_sources_and_transformations-checkpoint.ipynb +0 -856
  161. data/lib/starter_web/pages/public/_jupyter/notebooks/j1-bokeh-tutorial/.ipynb_checkpoints/j1_bokeh_04_adding_annotations-checkpoint.ipynb +0 -1167
  162. data/lib/starter_web/pages/public/_jupyter/notebooks/j1-bokeh-tutorial/.ipynb_checkpoints/j1_bokeh_05_presentation_layouts-checkpoint.ipynb +0 -601
  163. data/lib/starter_web/pages/public/_jupyter/notebooks/j1-bokeh-tutorial/.ipynb_checkpoints/j1_bokeh_06_linking_and_interactions-checkpoint.ipynb +0 -1356
  164. 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
  165. data/lib/starter_web/pages/public/_jupyter/notebooks/j1-bokeh-tutorial/.ipynb_checkpoints/j1_bokeh_08_graph_and_network_plots-checkpoint.ipynb +0 -625
  166. data/lib/starter_web/pages/public/_jupyter/notebooks/j1-bokeh-tutorial/.ipynb_checkpoints/j1_bokeh_09_geographic_plots-checkpoint.ipynb +0 -685
  167. data/lib/starter_web/pages/public/_jupyter/notebooks/j1-bokeh-tutorial/.ipynb_checkpoints/j1_bokeh_10_exporting_and_embedding-checkpoint.ipynb +0 -726
  168. data/lib/starter_web/pages/public/_jupyter/notebooks/j1-bokeh-tutorial/.ipynb_checkpoints/j1_bokeh_10_exporting_and_embedding-checkpoint.org +0 -726
  169. data/lib/starter_web/pages/public/_jupyter/notebooks/j1-bokeh-tutorial/.ipynb_checkpoints/j1_bokeh_10_exporting_and_embedding.new-checkpoint.ipynb +0 -560
  170. data/lib/starter_web/pages/public/_jupyter/notebooks/j1-bokeh-tutorial/.ipynb_checkpoints/j1_bokeh_11_running_bokeh_applications-checkpoint.ipynb +0 -716
  171. data/lib/starter_web/pages/public/_jupyter/notebooks/j1-bokeh-tutorial/j1_bokeh_01_basic_plotting.ipynb +0 -1365
  172. data/lib/starter_web/pages/public/_jupyter/notebooks/j1-bokeh-tutorial/j1_bokeh_02_styling_and_theming.ipynb +0 -1405
  173. data/lib/starter_web/pages/public/_jupyter/notebooks/j1-bokeh-tutorial/j1_bokeh_03_data_sources_and_transformations.ipynb +0 -856
  174. data/lib/starter_web/pages/public/_jupyter/notebooks/j1-bokeh-tutorial/j1_bokeh_04_adding_annotations.ipynb +0 -1167
  175. data/lib/starter_web/pages/public/_jupyter/notebooks/j1-bokeh-tutorial/j1_bokeh_05_presentation_layouts.ipynb +0 -601
  176. data/lib/starter_web/pages/public/_jupyter/notebooks/j1-bokeh-tutorial/j1_bokeh_06_linking_and_interactions.ipynb +0 -1356
  177. data/lib/starter_web/pages/public/_jupyter/notebooks/j1-bokeh-tutorial/j1_bokeh_07_bar_and_categorical_data_plots.ipynb +0 -1742
  178. data/lib/starter_web/pages/public/_jupyter/notebooks/j1-bokeh-tutorial/j1_bokeh_08_graph_and_network_plots.ipynb +0 -625
  179. data/lib/starter_web/pages/public/_jupyter/notebooks/j1-bokeh-tutorial/j1_bokeh_09_geographic_plots.ipynb +0 -685
  180. data/lib/starter_web/pages/public/_jupyter/notebooks/j1-bqplot/.ipynb_checkpoints/j1_mathplot_vs_bqplot-checkpoint.ipynb +0 -336
  181. data/lib/starter_web/pages/public/_jupyter/notebooks/j1-bqplot/advanced/Feature_Vector_Distribution-Iris-Digits.ipynb +0 -433
  182. data/lib/starter_web/pages/public/_jupyter/notebooks/j1-bqplot/j1_bgplot_line_plot.ipynb +0 -244
  183. data/lib/starter_web/pages/public/_jupyter/notebooks/j1-bqplot/j1_circular_times_table-short.ipynb +0 -12170
  184. data/lib/starter_web/pages/public/_jupyter/notebooks/j1-bqplot/j1_mathplot_vs_bqplot.ipynb +0 -336
  185. data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/.ipynb_checkpoints/Index-checkpoint.ipynb +0 -163
  186. data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/.ipynb_checkpoints/Tutorials-checkpoint.ipynb +0 -51
  187. data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/Advanced Plotting/Advanced Plotting.ipynb +0 -289
  188. data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/Advanced Plotting/Animations.ipynb +0 -266
  189. data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/Advanced Plotting/Axis Properties.ipynb +0 -396
  190. data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/Advanced Plotting/Plotting Dates.ipynb +0 -318
  191. data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/Applications/Equity Index Performance/Time Series.ipynb +0 -158
  192. data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/Applications/Equity Index Performance/spx_prices.csv +0 -6799
  193. data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/Applications/Feature_Vector_Distribution-Iris-Digits.ipynb +0 -470
  194. data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/Applications/Index.ipynb +0 -49
  195. data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/Applications/Logs Analytics/Logs Dashboard.ipynb +0 -378
  196. data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/Applications/Mobile Patent Suits.ipynb +0 -123
  197. data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/Applications/Neural Network.ipynb +0 -177
  198. data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/Applications/Outlier Detection.ipynb +0 -311
  199. data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/Applications/Wealth Of Nations/Bubble Chart.ipynb +0 -255
  200. data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/Applications/Wealth Of Nations/Choropleth.ipynb +0 -275
  201. data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/Applications/Wealth Of Nations/nations.json +0 -1
  202. data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/Applications/Wealth Of Nations/world_map_codes.csv +0 -234
  203. data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/Basic Plotting/.ipynb_checkpoints/Basic Plotting-checkpoint.ipynb +0 -186
  204. data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/Basic Plotting/.ipynb_checkpoints/Pyplot-checkpoint.ipynb +0 -794
  205. data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/Basic Plotting/.ipynb_checkpoints/Untitled-checkpoint.ipynb +0 -323
  206. data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/Basic Plotting/Basic Plotting.ipynb +0 -261
  207. data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/Basic Plotting/Pyplot.ipynb +0 -1489
  208. data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/Index.ipynb +0 -163
  209. data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/Interactions/Interaction Layer.ipynb +0 -966
  210. data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/Interactions/Mark Interactions.ipynb +0 -476
  211. data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/Interactions/Selectors.ipynb +0 -427
  212. data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/Introduction.ipynb +0 -528
  213. data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/Marks/Object Model/Bars.ipynb +0 -480
  214. data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/Marks/Object Model/Bins.ipynb +0 -217
  215. data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/Marks/Object Model/Boxplot.ipynb +0 -253
  216. data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/Marks/Object Model/Candles.ipynb +0 -225
  217. data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/Marks/Object Model/FlexLine.ipynb +0 -123
  218. data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/Marks/Object Model/Graph.ipynb +0 -357
  219. data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/Marks/Object Model/GridHeatMap.ipynb +0 -422
  220. data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/Marks/Object Model/HeatMap.ipynb +0 -157
  221. data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/Marks/Object Model/Hist.ipynb +0 -176
  222. data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/Marks/Object Model/Image.ipynb +0 -195
  223. data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/Marks/Object Model/Label.ipynb +0 -189
  224. data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/Marks/Object Model/Lines.ipynb +0 -565
  225. data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/Marks/Object Model/Map.ipynb +0 -182
  226. data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/Marks/Object Model/Market Map.ipynb +0 -315
  227. data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/Marks/Object Model/Pie.ipynb +0 -465
  228. data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/Marks/Object Model/Scatter.ipynb +0 -835
  229. data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/Marks/Pyplot/Bars.ipynb +0 -362
  230. data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/Marks/Pyplot/Bins.ipynb +0 -252
  231. data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/Marks/Pyplot/Boxplot.ipynb +0 -273
  232. data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/Marks/Pyplot/Candles.ipynb +0 -242
  233. data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/Marks/Pyplot/GridHeatMap.ipynb +0 -417
  234. data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/Marks/Pyplot/HeatMap.ipynb +0 -155
  235. data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/Marks/Pyplot/Hist.ipynb +0 -238
  236. data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/Marks/Pyplot/Image.ipynb +0 -152
  237. data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/Marks/Pyplot/Label.ipynb +0 -206
  238. data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/Marks/Pyplot/Lines.ipynb +0 -474
  239. data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/Marks/Pyplot/Map.ipynb +0 -181
  240. data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/Marks/Pyplot/Pie.ipynb +0 -310
  241. data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/Marks/Pyplot/Scatter.ipynb +0 -702
  242. data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/Scales/Color Scales.ipynb +0 -495
  243. data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/Tutorials/.ipynb_checkpoints/Feature_Vector_Distribution-Iris-Digits-checkpoint.ipynb +0 -433
  244. data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/Tutorials/.ipynb_checkpoints/Linking Plots With Widgets-checkpoint.ipynb +0 -326
  245. data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/Tutorials/.ipynb_checkpoints/Updating Plots-Copy1-checkpoint.ipynb +0 -177
  246. data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/Tutorials/.ipynb_checkpoints/Updating Plots-checkpoint.ipynb +0 -177
  247. data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/Tutorials/Brush Interval Selector.ipynb +0 -154
  248. data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/Tutorials/Fast Interval Selector.ipynb +0 -152
  249. data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/Tutorials/Gaussian Density Widget.ipynb +0 -128
  250. data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/Tutorials/Gaussian Density.ipynb +0 -113
  251. data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/Tutorials/Linking Plots With Widgets.ipynb +0 -326
  252. data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/Tutorials/Object Model.ipynb +0 -179
  253. data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/Tutorials/Pyplot.ipynb +0 -174
  254. data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/Tutorials/Updating Plots.ipynb +0 -177
  255. data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/Tutorials.ipynb +0 -51
  256. data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/data_files/country_codes.csv +0 -213
  257. data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/data_files/gdp_per_capita.csv +0 -56
  258. data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/data_files/state_codes.csv +0 -52
  259. data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/data_files/trees.jpg +0 -0
  260. data/lib/starter_web/pages/public/_jupyter/notebooks/nbi-docs/.ipynb_checkpoints/nbi_docs_examples_central_limit_theorem-checkpoint.ipynb +0 -247
  261. data/lib/starter_web/pages/public/_jupyter/notebooks/nbi-docs/.ipynb_checkpoints/nbi_docs_examples_variability_of_the_sample_mean-checkpoint.ipynb +0 -323
  262. data/lib/starter_web/pages/public/_jupyter/notebooks/nbi-docs/.ipynb_checkpoints/nbi_docs_recipes_graphing-checkpoint.ipynb +0 -387
  263. data/lib/starter_web/pages/public/_jupyter/notebooks/nbi-docs/.ipynb_checkpoints/nbi_docs_recipes_interactive_questions-checkpoint.ipynb +0 -185
  264. data/lib/starter_web/pages/public/_jupyter/notebooks/nbi-docs/.ipynb_checkpoints/nbi_docs_recipes_layout-checkpoint.ipynb +0 -384
  265. data/lib/starter_web/pages/public/_jupyter/notebooks/nbi-docs/.ipynb_checkpoints/nbi_docs_tutorial_interact-checkpoint.ipynb +0 -254
  266. data/lib/starter_web/pages/public/_jupyter/notebooks/nbi-docs/.ipynb_checkpoints/nbi_docs_tutorial_monty_hall-checkpoint.ipynb +0 -732
  267. data/lib/starter_web/pages/public/_jupyter/notebooks/nbi-docs/nbi_docs_examples_central_limit_theorem.ipynb +0 -247
  268. data/lib/starter_web/pages/public/_jupyter/notebooks/nbi-docs/nbi_docs_examples_correlation.ipynb +0 -651
  269. data/lib/starter_web/pages/public/_jupyter/notebooks/nbi-docs/nbi_docs_examples_empirical_distributions.ipynb +0 -773
  270. data/lib/starter_web/pages/public/_jupyter/notebooks/nbi-docs/nbi_docs_examples_linear_regression.ipynb +0 -111
  271. data/lib/starter_web/pages/public/_jupyter/notebooks/nbi-docs/nbi_docs_examples_probability_distribution_plots.ipynb +0 -199
  272. data/lib/starter_web/pages/public/_jupyter/notebooks/nbi-docs/nbi_docs_examples_sampling_from_a_population.ipynb +0 -421
  273. data/lib/starter_web/pages/public/_jupyter/notebooks/nbi-docs/nbi_docs_examples_variability_of_the_sample_mean.ipynb +0 -323
  274. data/lib/starter_web/pages/public/_jupyter/notebooks/nbi-docs/nbi_docs_recipes_graphing.ipynb +0 -387
  275. data/lib/starter_web/pages/public/_jupyter/notebooks/nbi-docs/nbi_docs_recipes_interactive_questions.ipynb +0 -185
  276. data/lib/starter_web/pages/public/_jupyter/notebooks/nbi-docs/nbi_docs_recipes_layout.ipynb +0 -384
  277. data/lib/starter_web/pages/public/_jupyter/notebooks/nbi-docs/nbi_docs_tutorial_interact.ipynb +0 -254
  278. data/lib/starter_web/pages/public/_jupyter/notebooks/nbi-docs/nbi_docs_tutorial_monty_hall.ipynb +0 -732
  279. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/Advanced Plotting.html +0 -373
  280. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/Animations.html +0 -361
  281. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/Axis Properties.html +0 -569
  282. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/Bars.html +0 -487
  283. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/Basic Plotting.html +0 -341
  284. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/Bins.html +0 -259
  285. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/Boxplot.html +0 -277
  286. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/Brush Interval Selector.html +0 -182
  287. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/Bubble Chart.html +0 -299
  288. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/Candles.html +0 -252
  289. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/Choropleth.html +0 -318
  290. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/Color Scales.html +0 -514
  291. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/Fast Interval Selector.html +0 -182
  292. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/Feature_Vector_Distribution-Iris-Digits.html +0 -479
  293. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/FlexLine.html +0 -128
  294. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/Gaussian Density Widget.html +0 -152
  295. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/Gaussian Density.html +0 -137
  296. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/Graph.html +0 -484
  297. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/GridHeatMap.html +0 -483
  298. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/HeatMap.html +0 -170
  299. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/Hist.html +0 -349
  300. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/Image.html +0 -177
  301. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/Index.html +0 -29
  302. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/Interaction Layer.html +0 -1372
  303. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/Introduction.html +0 -749
  304. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/Label.html +0 -268
  305. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/Lines.html +0 -704
  306. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/Linking Plots With Widgets.html +0 -389
  307. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/Logs Dashboard.html +0 -455
  308. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/Map.html +0 -229
  309. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/Mark Interactions.html +0 -613
  310. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/Market Map.html +0 -413
  311. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/Mobile Patent Suits.html +0 -131
  312. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/Neural Network.html +0 -190
  313. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/Object Model.html +0 -193
  314. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/Outlier Detection.html +0 -363
  315. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/Pie.html +0 -367
  316. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/Plotting Dates.html +0 -337
  317. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/Pyplot.html +0 -196
  318. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/Scatter.html +0 -948
  319. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/Selectors.html +0 -489
  320. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/Time Series.html +0 -173
  321. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/Tutorials.html +0 -40
  322. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/Updating Plots.html +0 -228
  323. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/j1_altair_interactive.html +0 -2216
  324. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/j1_altair_non_interactive.html +0 -1170
  325. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/j1_bgplot_line_plot.html +0 -318
  326. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/j1_bokeh_01_basic_plotting.html +0 -1479
  327. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/j1_bokeh_02_styling_and_theming.html +0 -1524
  328. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/j1_bokeh_03_data_sources_and_transformations.html +0 -983
  329. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/j1_bokeh_04_adding_annotations.html +0 -1280
  330. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/j1_bokeh_05_presentation_layouts.html +0 -660
  331. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/j1_bokeh_06_linking_and_interactions.html +0 -1563
  332. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/j1_bokeh_07_bar_and_categorical_data_plots.html +0 -1888
  333. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/j1_bokeh_08_graph_and_network_plots.html +0 -689
  334. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/j1_bokeh_09_geographic_plots.html +0 -767
  335. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/j1_circular_times_table-short.html +0 -475
  336. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/j1_circular_times_table.html +0 -747
  337. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/j1_climate_change_forecast.html +0 -1250
  338. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/j1_docs_example_dynamic.html +0 -186
  339. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/j1_interactive_widgets.html +0 -512
  340. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/j1_mathplot_vs_bqplot.html +0 -407
  341. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/j1_nbi_widgets.html +0 -629
  342. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/j1_nbi_widgets_bar_chart.html +0 -95
  343. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/j1_nbi_widgets_hist_chart.html +0 -93
  344. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/j1_nbi_widgets_line_chart.html +0 -96
  345. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/j1_nbi_widgets_question_multiple_choice.html +0 -70
  346. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/j1_nbi_widgets_question_short_answer.html +0 -156
  347. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/j1_nbi_widgets_scatter_chart.html +0 -95
  348. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/j1_nbi_widgets_scatter_drag_chart.html +0 -93
  349. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/j1_odes_in_python.html +0 -955
  350. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/nbi_docs_examples_central_limit_theorem.html +0 -290
  351. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/nbi_docs_examples_correlation.html +0 -818
  352. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/nbi_docs_examples_empirical_distributions.html +0 -351
  353. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/nbi_docs_examples_linear_regression.html +0 -106
  354. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/nbi_docs_examples_probability_distribution_plots.html +0 -228
  355. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/nbi_docs_examples_sampling_from_a_population.html +0 -518
  356. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/nbi_docs_examples_variability_of_the_sample_mean.html +0 -372
  357. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/nbi_docs_recipes_graphing.html +0 -473
  358. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/nbi_docs_recipes_interactive_questions.html +0 -242
  359. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/nbi_docs_recipes_layout.html +0 -496
  360. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/nbi_docs_tutorial_interact.html +0 -329
  361. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/nbi_docs_tutorial_monty_hall.html +0 -866
  362. data/lib/starter_web/pages/public/_jupyter/where_to_go.adoc +0 -270
  363. data/lib/starter_web/pages/public/learn/_roundtrip/100_present_images.adoc +0 -313
  364. data/lib/starter_web/pages/public/learn/_roundtrip/100_present_videos.adoc +0 -281
  365. data/lib/starter_web/pages/public/learn/_roundtrip/200_typography.adoc +0 -253
  366. data/lib/starter_web/pages/public/learn/_roundtrip/300_icon_fonts.adoc +0 -579
  367. data/lib/starter_web/pages/public/learn/_roundtrip/400_asciidoc_extensions.adoc +0 -718
  368. data/lib/starter_web/pages/public/learn/_roundtrip/410_bs_modals_extentions.adoc +0 -91
  369. data/lib/starter_web/pages/public/learn/_roundtrip/420_responsive_tables_extensions.adoc +0 -420
  370. data/lib/starter_web/pages/public/learn/_roundtrip/500_themes.adoc +0 -250
  371. data/lib/starter_web/pages/public/learn/_roundtrip/600_quicksearch.adoc +0 -425
  372. data/lib/starter_web/pages/public/learn/_roundtrip/_includes/attributes.asciidoc +0 -118
  373. data/lib/starter_web/pages/public/learn/_roundtrip/_includes/documents/100_gistblock.asciidoc +0 -28
  374. data/lib/starter_web/pages/public/learn/_roundtrip/_includes/documents/410_bottom_info.asciidoc +0 -14
  375. data/lib/starter_web/pages/public/learn/_roundtrip/_includes/documents/410_bottom_left_warning.asciidoc +0 -11
  376. data/lib/starter_web/pages/public/learn/_roundtrip/_includes/documents/410_bottom_right_danger.asciidoc +0 -11
  377. data/lib/starter_web/pages/public/learn/_roundtrip/_includes/documents/410_central_success.asciidoc +0 -11
  378. data/lib/starter_web/pages/public/learn/_roundtrip/_includes/documents/410_full_height_left_info.asciidoc +0 -11
  379. data/lib/starter_web/pages/public/learn/_roundtrip/_includes/documents/410_full_height_right_success.asciidoc +0 -11
  380. data/lib/starter_web/pages/public/learn/_roundtrip/_includes/documents/410_table_bs_modal_examples.asciidoc +0 -47
  381. data/lib/starter_web/pages/public/learn/_roundtrip/_includes/documents/410_top_info.asciidoc +0 -11
  382. data/lib/starter_web/pages/public/learn/_roundtrip/_includes/documents/410_top_left_info.asciidoc +0 -11
  383. data/lib/starter_web/pages/public/learn/_roundtrip/_includes/documents/410_top_right_success.asciidoc +0 -11
  384. data/lib/starter_web/pages/public/learn/_roundtrip/_includes/documents/419_advanced_modals_demo.asciidoc +0 -337
  385. data/lib/starter_web/pages/public/learn/_roundtrip/_includes/documents/tables/bs_modal_examples.asciidoc +0 -47
  386. data/lib/starter_web/pages/public/learn/_roundtrip/_includes/google-ad.js +0 -130
@@ -1,1170 +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
- <h3 id="Resources">Resources<a class="anchor-link" href="#Resources">&#182;</a></h3>
12
- </div>
13
- </div>
14
- </div>
15
-
16
-
17
-
18
- <div class="
19
- cell border-box-sizing code_cell rendered">
20
- <div class="input">
21
-
22
- <div class="inner_cell">
23
- <div class="input_area">
24
- <div class=" highlight hl-ipython3"><pre><span></span><span class="kn">import</span> <span class="nn">warnings</span>
25
- <span class="n">warnings</span><span class="o">.</span><span class="n">filterwarnings</span><span class="p">(</span><span class="s2">&quot;ignore&quot;</span><span class="p">)</span>
26
-
27
- <span class="kn">import</span> <span class="nn">pandas</span> <span class="k">as</span> <span class="nn">pd</span>
28
- <span class="kn">import</span> <span class="nn">altair</span> <span class="k">as</span> <span class="nn">alt</span>
29
- </pre></div>
30
-
31
- </div>
32
- </div>
33
- </div>
34
-
35
- </div>
36
- <div class="cell border-box-sizing text_cell rendered"><div class="inner_cell">
37
- <div class="text_cell_render border-box-sizing rendered_html">
38
- <h3 id="The-Movies-Dataset">The Movies Dataset<a class="anchor-link" href="#The-Movies-Dataset">&#182;</a></h3><p>We will be working with a table of data about motion pictures, taken from the vega-datasets collection. The data includes variables such as the film name, director, genre, release date, ratings, and gross revenues. However, be careful when working with this data: the films are from unevenly sampled years, using data combined from multiple sources. If you dig in you will find issues with missing values and even some subtle errors! Nevertheless, the data should prove interesting to explore...</p>
39
- <p>Let's retrieve the URL for the JSON data file from the vega_datasets package, and then read the data into a Pandas data frame so that we can inspect its contents.</p>
40
-
41
- </div>
42
- </div>
43
- </div>
44
-
45
-
46
-
47
- <div class="
48
- cell border-box-sizing code_cell rendered">
49
- <div class="input">
50
-
51
- <div class="inner_cell">
52
- <div class="input_area">
53
- <div class=" highlight hl-ipython3"><pre><span></span><span class="n">movies_url</span> <span class="o">=</span> <span class="s1">&#39;https://cdn.jsdelivr.net/npm/vega-datasets@1/data/movies.json&#39;</span>
54
- <span class="n">movies</span> <span class="o">=</span> <span class="n">pd</span><span class="o">.</span><span class="n">read_json</span><span class="p">(</span><span class="n">movies_url</span><span class="p">)</span>
55
- </pre></div>
56
-
57
- </div>
58
- </div>
59
- </div>
60
-
61
- </div>
62
- <div class="cell border-box-sizing text_cell rendered"><div class="inner_cell">
63
- <div class="text_cell_render border-box-sizing rendered_html">
64
- <p>Now let's peek at the first 5 rows of the table to get a sense of the fields and data types...</p>
65
-
66
- </div>
67
- </div>
68
- </div>
69
-
70
-
71
-
72
- <div class="
73
- cell border-box-sizing code_cell rendered">
74
- <div class="input">
75
-
76
- <div class="inner_cell">
77
- <div class="input_area">
78
- <div class=" highlight hl-ipython3"><pre><span></span><span class="n">movies</span><span class="o">.</span><span class="n">head</span><span class="p">(</span><span class="mi">5</span><span class="p">)</span>
79
- </pre></div>
80
-
81
- </div>
82
- </div>
83
- </div>
84
-
85
- <div class="output_wrapper">
86
- <div class="output">
87
-
88
-
89
- <div class="output_area">
90
-
91
-
92
-
93
-
94
- <div class="output_html rendered_html output_subarea output_execute_result">
95
- <div>
96
- <style scoped>
97
- .dataframe tbody tr th:only-of-type {
98
- vertical-align: middle;
99
- }
100
-
101
- .dataframe tbody tr th {
102
- vertical-align: top;
103
- }
104
-
105
- .dataframe thead th {
106
- text-align: right;
107
- }
108
- </style>
109
- <table border="1" class="dataframe">
110
- <thead>
111
- <tr style="text-align: right;">
112
- <th></th>
113
- <th>Title</th>
114
- <th>US_Gross</th>
115
- <th>Worldwide_Gross</th>
116
- <th>US_DVD_Sales</th>
117
- <th>Production_Budget</th>
118
- <th>Release_Date</th>
119
- <th>MPAA_Rating</th>
120
- <th>Running_Time_min</th>
121
- <th>Distributor</th>
122
- <th>Source</th>
123
- <th>Major_Genre</th>
124
- <th>Creative_Type</th>
125
- <th>Director</th>
126
- <th>Rotten_Tomatoes_Rating</th>
127
- <th>IMDB_Rating</th>
128
- <th>IMDB_Votes</th>
129
- </tr>
130
- </thead>
131
- <tbody>
132
- <tr>
133
- <th>0</th>
134
- <td>The Land Girls</td>
135
- <td>146083.0</td>
136
- <td>146083.0</td>
137
- <td>NaN</td>
138
- <td>8000000.0</td>
139
- <td>Jun 12 1998</td>
140
- <td>R</td>
141
- <td>NaN</td>
142
- <td>Gramercy</td>
143
- <td>None</td>
144
- <td>None</td>
145
- <td>None</td>
146
- <td>None</td>
147
- <td>NaN</td>
148
- <td>6.1</td>
149
- <td>1071.0</td>
150
- </tr>
151
- <tr>
152
- <th>1</th>
153
- <td>First Love, Last Rites</td>
154
- <td>10876.0</td>
155
- <td>10876.0</td>
156
- <td>NaN</td>
157
- <td>300000.0</td>
158
- <td>Aug 07 1998</td>
159
- <td>R</td>
160
- <td>NaN</td>
161
- <td>Strand</td>
162
- <td>None</td>
163
- <td>Drama</td>
164
- <td>None</td>
165
- <td>None</td>
166
- <td>NaN</td>
167
- <td>6.9</td>
168
- <td>207.0</td>
169
- </tr>
170
- <tr>
171
- <th>2</th>
172
- <td>I Married a Strange Person</td>
173
- <td>203134.0</td>
174
- <td>203134.0</td>
175
- <td>NaN</td>
176
- <td>250000.0</td>
177
- <td>Aug 28 1998</td>
178
- <td>None</td>
179
- <td>NaN</td>
180
- <td>Lionsgate</td>
181
- <td>None</td>
182
- <td>Comedy</td>
183
- <td>None</td>
184
- <td>None</td>
185
- <td>NaN</td>
186
- <td>6.8</td>
187
- <td>865.0</td>
188
- </tr>
189
- <tr>
190
- <th>3</th>
191
- <td>Let's Talk About Sex</td>
192
- <td>373615.0</td>
193
- <td>373615.0</td>
194
- <td>NaN</td>
195
- <td>300000.0</td>
196
- <td>Sep 11 1998</td>
197
- <td>None</td>
198
- <td>NaN</td>
199
- <td>Fine Line</td>
200
- <td>None</td>
201
- <td>Comedy</td>
202
- <td>None</td>
203
- <td>None</td>
204
- <td>13.0</td>
205
- <td>NaN</td>
206
- <td>NaN</td>
207
- </tr>
208
- <tr>
209
- <th>4</th>
210
- <td>Slam</td>
211
- <td>1009819.0</td>
212
- <td>1087521.0</td>
213
- <td>NaN</td>
214
- <td>1000000.0</td>
215
- <td>Oct 09 1998</td>
216
- <td>R</td>
217
- <td>NaN</td>
218
- <td>Trimark</td>
219
- <td>Original Screenplay</td>
220
- <td>Drama</td>
221
- <td>Contemporary Fiction</td>
222
- <td>None</td>
223
- <td>62.0</td>
224
- <td>3.4</td>
225
- <td>165.0</td>
226
- </tr>
227
- </tbody>
228
- </table>
229
- </div>
230
- </div>
231
-
232
- </div>
233
-
234
- </div>
235
- </div>
236
-
237
- </div>
238
- <div class="cell border-box-sizing text_cell rendered"><div class="inner_cell">
239
- <div class="text_cell_render border-box-sizing rendered_html">
240
- <h3 id="Histograms">Histograms<a class="anchor-link" href="#Histograms">&#182;</a></h3><p>We'll start our transformation tour by binning data into discrete groups and counting records to summarize those groups. The resulting plots are known as histograms.</p>
241
- <p>Let's first look at unaggregated data: a scatter plot showing movie ratings from Rotten Tomatoes versus ratings from IMDB users. We'll provide data to Altair by passing the movies data URL to the Chart method. (We could also pass the Pandas data frame directly to get the same result.) We can then encode the Rotten Tomatoes and IMDB ratings fields using the x and y channels:</p>
242
-
243
- </div>
244
- </div>
245
- </div>
246
-
247
-
248
-
249
- <div class="
250
- cell border-box-sizing code_cell rendered">
251
- <div class="input">
252
-
253
- <div class="inner_cell">
254
- <div class="input_area">
255
- <div class=" highlight hl-ipython3"><pre><span></span><span class="n">alt</span><span class="o">.</span><span class="n">Chart</span><span class="p">(</span><span class="n">movies_url</span><span class="p">)</span><span class="o">.</span><span class="n">mark_circle</span><span class="p">()</span><span class="o">.</span><span class="n">encode</span><span class="p">(</span>
256
- <span class="n">alt</span><span class="o">.</span><span class="n">X</span><span class="p">(</span><span class="s1">&#39;Rotten_Tomatoes_Rating:Q&#39;</span><span class="p">),</span>
257
- <span class="n">alt</span><span class="o">.</span><span class="n">Y</span><span class="p">(</span><span class="s1">&#39;IMDB_Rating:Q&#39;</span><span class="p">)</span>
258
- <span class="p">)</span><span class="o">.</span><span class="n">properties</span><span class="p">(</span>
259
- <span class="n">width</span><span class="o">=</span><span class="mi">800</span><span class="p">,</span>
260
- <span class="n">height</span><span class="o">=</span><span class="mi">400</span>
261
- <span class="p">)</span>
262
- </pre></div>
263
-
264
- </div>
265
- </div>
266
- </div>
267
-
268
- <div class="output_wrapper">
269
- <div class="output">
270
-
271
-
272
- <div class="output_area">
273
-
274
-
275
-
276
-
277
- <div class="output_html rendered_html output_subarea output_execute_result">
278
-
279
- <div id="altair-viz-3fb77a8addc44bdbba64608b1b36043f"></div>
280
- <script type="text/javascript">
281
- var VEGA_DEBUG = (typeof VEGA_DEBUG == "undefined") ? {} : VEGA_DEBUG;
282
- (function(spec, embedOpt){
283
- let outputDiv = document.currentScript.previousElementSibling;
284
- if (outputDiv.id !== "altair-viz-3fb77a8addc44bdbba64608b1b36043f") {
285
- outputDiv = document.getElementById("altair-viz-3fb77a8addc44bdbba64608b1b36043f");
286
- }
287
- const paths = {
288
- "vega": "https://cdn.jsdelivr.net/npm//vega@5?noext",
289
- "vega-lib": "https://cdn.jsdelivr.net/npm//vega-lib?noext",
290
- "vega-lite": "https://cdn.jsdelivr.net/npm//vega-lite@4.17.0?noext",
291
- "vega-embed": "https://cdn.jsdelivr.net/npm//vega-embed@6?noext",
292
- };
293
-
294
- function maybeLoadScript(lib, version) {
295
- var key = `${lib.replace("-", "")}_version`;
296
- return (VEGA_DEBUG[key] == version) ?
297
- Promise.resolve(paths[lib]) :
298
- new Promise(function(resolve, reject) {
299
- var s = document.createElement('script');
300
- document.getElementsByTagName("head")[0].appendChild(s);
301
- s.async = true;
302
- s.onload = () => {
303
- VEGA_DEBUG[key] = version;
304
- return resolve(paths[lib]);
305
- };
306
- s.onerror = () => reject(`Error loading script: ${paths[lib]}`);
307
- s.src = paths[lib];
308
- });
309
- }
310
-
311
- function showError(err) {
312
- outputDiv.innerHTML = `<div class="error" style="color:red;">${err}</div>`;
313
- throw err;
314
- }
315
-
316
- function displayChart(vegaEmbed) {
317
- vegaEmbed(outputDiv, spec, embedOpt)
318
- .catch(err => showError(`Javascript Error: ${err.message}<br>This usually means there's a typo in your chart specification. See the javascript console for the full traceback.`));
319
- }
320
-
321
- if(typeof define === "function" && define.amd) {
322
- requirejs.config({paths});
323
- require(["vega-embed"], displayChart, err => showError(`Error loading script: ${err.message}`));
324
- } else {
325
- maybeLoadScript("vega", "5")
326
- .then(() => maybeLoadScript("vega-lite", "4.17.0"))
327
- .then(() => maybeLoadScript("vega-embed", "6"))
328
- .catch(showError)
329
- .then(() => displayChart(vegaEmbed));
330
- }
331
- })({"config": {"view": {"continuousWidth": 400, "continuousHeight": 300}}, "data": {"url": "https://cdn.jsdelivr.net/npm/vega-datasets@1/data/movies.json"}, "mark": "circle", "encoding": {"x": {"field": "Rotten_Tomatoes_Rating", "type": "quantitative"}, "y": {"field": "IMDB_Rating", "type": "quantitative"}}, "height": 400, "width": 800, "$schema": "https://vega.github.io/schema/vega-lite/v4.17.0.json"}, {"mode": "vega-lite"});
332
- </script>
333
- </div>
334
-
335
- </div>
336
-
337
- </div>
338
- </div>
339
-
340
- </div>
341
- <div class="cell border-box-sizing text_cell rendered"><div class="inner_cell">
342
- <div class="text_cell_render border-box-sizing rendered_html">
343
- <p>To summarize this data, we can bin a data field to group numeric values into discrete groups. Here we bin along the x-axis by adding bin=True to the x encoding channel. The result is a set of ten bins of equal step size, each corresponding to a span of ten ratings points.</p>
344
-
345
- </div>
346
- </div>
347
- </div>
348
-
349
-
350
-
351
- <div class="
352
- cell border-box-sizing code_cell rendered">
353
- <div class="input">
354
-
355
- <div class="inner_cell">
356
- <div class="input_area">
357
- <div class=" highlight hl-ipython3"><pre><span></span><span class="n">alt</span><span class="o">.</span><span class="n">Chart</span><span class="p">(</span><span class="n">movies_url</span><span class="p">)</span><span class="o">.</span><span class="n">mark_circle</span><span class="p">()</span><span class="o">.</span><span class="n">encode</span><span class="p">(</span>
358
- <span class="n">alt</span><span class="o">.</span><span class="n">X</span><span class="p">(</span><span class="s1">&#39;Rotten_Tomatoes_Rating:Q&#39;</span><span class="p">,</span> <span class="nb">bin</span><span class="o">=</span><span class="kc">True</span><span class="p">),</span>
359
- <span class="n">alt</span><span class="o">.</span><span class="n">Y</span><span class="p">(</span><span class="s1">&#39;IMDB_Rating:Q&#39;</span><span class="p">)</span>
360
- <span class="p">)</span><span class="o">.</span><span class="n">properties</span><span class="p">(</span>
361
- <span class="n">width</span><span class="o">=</span><span class="mi">800</span><span class="p">,</span>
362
- <span class="n">height</span><span class="o">=</span><span class="mi">400</span>
363
- <span class="p">)</span>
364
- </pre></div>
365
-
366
- </div>
367
- </div>
368
- </div>
369
-
370
- <div class="output_wrapper">
371
- <div class="output">
372
-
373
-
374
- <div class="output_area">
375
-
376
-
377
-
378
-
379
- <div class="output_html rendered_html output_subarea output_execute_result">
380
-
381
- <div id="altair-viz-d343c0fee35d45f097c050e5ec7a6ced"></div>
382
- <script type="text/javascript">
383
- var VEGA_DEBUG = (typeof VEGA_DEBUG == "undefined") ? {} : VEGA_DEBUG;
384
- (function(spec, embedOpt){
385
- let outputDiv = document.currentScript.previousElementSibling;
386
- if (outputDiv.id !== "altair-viz-d343c0fee35d45f097c050e5ec7a6ced") {
387
- outputDiv = document.getElementById("altair-viz-d343c0fee35d45f097c050e5ec7a6ced");
388
- }
389
- const paths = {
390
- "vega": "https://cdn.jsdelivr.net/npm//vega@5?noext",
391
- "vega-lib": "https://cdn.jsdelivr.net/npm//vega-lib?noext",
392
- "vega-lite": "https://cdn.jsdelivr.net/npm//vega-lite@4.17.0?noext",
393
- "vega-embed": "https://cdn.jsdelivr.net/npm//vega-embed@6?noext",
394
- };
395
-
396
- function maybeLoadScript(lib, version) {
397
- var key = `${lib.replace("-", "")}_version`;
398
- return (VEGA_DEBUG[key] == version) ?
399
- Promise.resolve(paths[lib]) :
400
- new Promise(function(resolve, reject) {
401
- var s = document.createElement('script');
402
- document.getElementsByTagName("head")[0].appendChild(s);
403
- s.async = true;
404
- s.onload = () => {
405
- VEGA_DEBUG[key] = version;
406
- return resolve(paths[lib]);
407
- };
408
- s.onerror = () => reject(`Error loading script: ${paths[lib]}`);
409
- s.src = paths[lib];
410
- });
411
- }
412
-
413
- function showError(err) {
414
- outputDiv.innerHTML = `<div class="error" style="color:red;">${err}</div>`;
415
- throw err;
416
- }
417
-
418
- function displayChart(vegaEmbed) {
419
- vegaEmbed(outputDiv, spec, embedOpt)
420
- .catch(err => showError(`Javascript Error: ${err.message}<br>This usually means there's a typo in your chart specification. See the javascript console for the full traceback.`));
421
- }
422
-
423
- if(typeof define === "function" && define.amd) {
424
- requirejs.config({paths});
425
- require(["vega-embed"], displayChart, err => showError(`Error loading script: ${err.message}`));
426
- } else {
427
- maybeLoadScript("vega", "5")
428
- .then(() => maybeLoadScript("vega-lite", "4.17.0"))
429
- .then(() => maybeLoadScript("vega-embed", "6"))
430
- .catch(showError)
431
- .then(() => displayChart(vegaEmbed));
432
- }
433
- })({"config": {"view": {"continuousWidth": 400, "continuousHeight": 300}}, "data": {"url": "https://cdn.jsdelivr.net/npm/vega-datasets@1/data/movies.json"}, "mark": "circle", "encoding": {"x": {"bin": true, "field": "Rotten_Tomatoes_Rating", "type": "quantitative"}, "y": {"field": "IMDB_Rating", "type": "quantitative"}}, "height": 400, "width": 800, "$schema": "https://vega.github.io/schema/vega-lite/v4.17.0.json"}, {"mode": "vega-lite"});
434
- </script>
435
- </div>
436
-
437
- </div>
438
-
439
- </div>
440
- </div>
441
-
442
- </div>
443
- <div class="cell border-box-sizing text_cell rendered"><div class="inner_cell">
444
- <div class="text_cell_render border-box-sizing rendered_html">
445
- <p>Setting bin=True uses default binning settings, but we can exercise more control if desired. Let's instead set the maximum bin count (maxbins) to 20, which has the effect of doubling the number of bins. Now each bin corresponds to a span of five ratings points.</p>
446
-
447
- </div>
448
- </div>
449
- </div>
450
-
451
-
452
-
453
- <div class="
454
- cell border-box-sizing code_cell rendered">
455
- <div class="input">
456
-
457
- <div class="inner_cell">
458
- <div class="input_area">
459
- <div class=" highlight hl-ipython3"><pre><span></span><span class="n">alt</span><span class="o">.</span><span class="n">Chart</span><span class="p">(</span><span class="n">movies_url</span><span class="p">)</span><span class="o">.</span><span class="n">mark_circle</span><span class="p">()</span><span class="o">.</span><span class="n">encode</span><span class="p">(</span>
460
- <span class="n">alt</span><span class="o">.</span><span class="n">X</span><span class="p">(</span><span class="s1">&#39;Rotten_Tomatoes_Rating:Q&#39;</span><span class="p">,</span> <span class="nb">bin</span><span class="o">=</span><span class="n">alt</span><span class="o">.</span><span class="n">BinParams</span><span class="p">(</span><span class="n">maxbins</span><span class="o">=</span><span class="mi">20</span><span class="p">)),</span>
461
- <span class="n">alt</span><span class="o">.</span><span class="n">Y</span><span class="p">(</span><span class="s1">&#39;IMDB_Rating:Q&#39;</span><span class="p">)</span>
462
- <span class="p">)</span><span class="o">.</span><span class="n">properties</span><span class="p">(</span>
463
- <span class="n">width</span><span class="o">=</span><span class="mi">800</span><span class="p">,</span>
464
- <span class="n">height</span><span class="o">=</span><span class="mi">400</span>
465
- <span class="p">)</span>
466
- </pre></div>
467
-
468
- </div>
469
- </div>
470
- </div>
471
-
472
- <div class="output_wrapper">
473
- <div class="output">
474
-
475
-
476
- <div class="output_area">
477
-
478
-
479
-
480
-
481
- <div class="output_html rendered_html output_subarea output_execute_result">
482
-
483
- <div id="altair-viz-b1e8c23da933405c8dbfa3441caaab02"></div>
484
- <script type="text/javascript">
485
- var VEGA_DEBUG = (typeof VEGA_DEBUG == "undefined") ? {} : VEGA_DEBUG;
486
- (function(spec, embedOpt){
487
- let outputDiv = document.currentScript.previousElementSibling;
488
- if (outputDiv.id !== "altair-viz-b1e8c23da933405c8dbfa3441caaab02") {
489
- outputDiv = document.getElementById("altair-viz-b1e8c23da933405c8dbfa3441caaab02");
490
- }
491
- const paths = {
492
- "vega": "https://cdn.jsdelivr.net/npm//vega@5?noext",
493
- "vega-lib": "https://cdn.jsdelivr.net/npm//vega-lib?noext",
494
- "vega-lite": "https://cdn.jsdelivr.net/npm//vega-lite@4.17.0?noext",
495
- "vega-embed": "https://cdn.jsdelivr.net/npm//vega-embed@6?noext",
496
- };
497
-
498
- function maybeLoadScript(lib, version) {
499
- var key = `${lib.replace("-", "")}_version`;
500
- return (VEGA_DEBUG[key] == version) ?
501
- Promise.resolve(paths[lib]) :
502
- new Promise(function(resolve, reject) {
503
- var s = document.createElement('script');
504
- document.getElementsByTagName("head")[0].appendChild(s);
505
- s.async = true;
506
- s.onload = () => {
507
- VEGA_DEBUG[key] = version;
508
- return resolve(paths[lib]);
509
- };
510
- s.onerror = () => reject(`Error loading script: ${paths[lib]}`);
511
- s.src = paths[lib];
512
- });
513
- }
514
-
515
- function showError(err) {
516
- outputDiv.innerHTML = `<div class="error" style="color:red;">${err}</div>`;
517
- throw err;
518
- }
519
-
520
- function displayChart(vegaEmbed) {
521
- vegaEmbed(outputDiv, spec, embedOpt)
522
- .catch(err => showError(`Javascript Error: ${err.message}<br>This usually means there's a typo in your chart specification. See the javascript console for the full traceback.`));
523
- }
524
-
525
- if(typeof define === "function" && define.amd) {
526
- requirejs.config({paths});
527
- require(["vega-embed"], displayChart, err => showError(`Error loading script: ${err.message}`));
528
- } else {
529
- maybeLoadScript("vega", "5")
530
- .then(() => maybeLoadScript("vega-lite", "4.17.0"))
531
- .then(() => maybeLoadScript("vega-embed", "6"))
532
- .catch(showError)
533
- .then(() => displayChart(vegaEmbed));
534
- }
535
- })({"config": {"view": {"continuousWidth": 400, "continuousHeight": 300}}, "data": {"url": "https://cdn.jsdelivr.net/npm/vega-datasets@1/data/movies.json"}, "mark": "circle", "encoding": {"x": {"bin": {"maxbins": 20}, "field": "Rotten_Tomatoes_Rating", "type": "quantitative"}, "y": {"field": "IMDB_Rating", "type": "quantitative"}}, "height": 400, "width": 800, "$schema": "https://vega.github.io/schema/vega-lite/v4.17.0.json"}, {"mode": "vega-lite"});
536
- </script>
537
- </div>
538
-
539
- </div>
540
-
541
- </div>
542
- </div>
543
-
544
- </div>
545
- <div class="cell border-box-sizing text_cell rendered"><div class="inner_cell">
546
- <div class="text_cell_render border-box-sizing rendered_html">
547
- <p>With the data binned, let's now summarize the distribution of Rotten Tomatoes ratings. We will drop the IMDB ratings for now and instead use the y encoding channel to show an aggregate count of records, so that the vertical position of each point indicates the number of movies per Rotten Tomatoes rating bin.</p>
548
- <p>As the count aggregate counts the number of total records in each bin regardless of the field values, we do not need to include a field name in the y encoding.</p>
549
-
550
- </div>
551
- </div>
552
- </div>
553
-
554
-
555
-
556
- <div class="
557
- cell border-box-sizing code_cell rendered">
558
- <div class="input">
559
-
560
- <div class="inner_cell">
561
- <div class="input_area">
562
- <div class=" highlight hl-ipython3"><pre><span></span><span class="n">alt</span><span class="o">.</span><span class="n">Chart</span><span class="p">(</span><span class="n">movies_url</span><span class="p">)</span><span class="o">.</span><span class="n">mark_circle</span><span class="p">()</span><span class="o">.</span><span class="n">encode</span><span class="p">(</span>
563
- <span class="n">alt</span><span class="o">.</span><span class="n">X</span><span class="p">(</span><span class="s1">&#39;Rotten_Tomatoes_Rating:Q&#39;</span><span class="p">,</span> <span class="nb">bin</span><span class="o">=</span><span class="n">alt</span><span class="o">.</span><span class="n">BinParams</span><span class="p">(</span><span class="n">maxbins</span><span class="o">=</span><span class="mi">20</span><span class="p">)),</span>
564
- <span class="n">alt</span><span class="o">.</span><span class="n">Y</span><span class="p">(</span><span class="s1">&#39;count()&#39;</span><span class="p">)</span>
565
- <span class="p">)</span><span class="o">.</span><span class="n">properties</span><span class="p">(</span>
566
- <span class="n">width</span><span class="o">=</span><span class="mi">800</span><span class="p">,</span>
567
- <span class="n">height</span><span class="o">=</span><span class="mi">400</span>
568
- <span class="p">)</span>
569
- </pre></div>
570
-
571
- </div>
572
- </div>
573
- </div>
574
-
575
- <div class="output_wrapper">
576
- <div class="output">
577
-
578
-
579
- <div class="output_area">
580
-
581
-
582
-
583
-
584
- <div class="output_html rendered_html output_subarea output_execute_result">
585
-
586
- <div id="altair-viz-e2a841b391c546048445e68b0c28f564"></div>
587
- <script type="text/javascript">
588
- var VEGA_DEBUG = (typeof VEGA_DEBUG == "undefined") ? {} : VEGA_DEBUG;
589
- (function(spec, embedOpt){
590
- let outputDiv = document.currentScript.previousElementSibling;
591
- if (outputDiv.id !== "altair-viz-e2a841b391c546048445e68b0c28f564") {
592
- outputDiv = document.getElementById("altair-viz-e2a841b391c546048445e68b0c28f564");
593
- }
594
- const paths = {
595
- "vega": "https://cdn.jsdelivr.net/npm//vega@5?noext",
596
- "vega-lib": "https://cdn.jsdelivr.net/npm//vega-lib?noext",
597
- "vega-lite": "https://cdn.jsdelivr.net/npm//vega-lite@4.17.0?noext",
598
- "vega-embed": "https://cdn.jsdelivr.net/npm//vega-embed@6?noext",
599
- };
600
-
601
- function maybeLoadScript(lib, version) {
602
- var key = `${lib.replace("-", "")}_version`;
603
- return (VEGA_DEBUG[key] == version) ?
604
- Promise.resolve(paths[lib]) :
605
- new Promise(function(resolve, reject) {
606
- var s = document.createElement('script');
607
- document.getElementsByTagName("head")[0].appendChild(s);
608
- s.async = true;
609
- s.onload = () => {
610
- VEGA_DEBUG[key] = version;
611
- return resolve(paths[lib]);
612
- };
613
- s.onerror = () => reject(`Error loading script: ${paths[lib]}`);
614
- s.src = paths[lib];
615
- });
616
- }
617
-
618
- function showError(err) {
619
- outputDiv.innerHTML = `<div class="error" style="color:red;">${err}</div>`;
620
- throw err;
621
- }
622
-
623
- function displayChart(vegaEmbed) {
624
- vegaEmbed(outputDiv, spec, embedOpt)
625
- .catch(err => showError(`Javascript Error: ${err.message}<br>This usually means there's a typo in your chart specification. See the javascript console for the full traceback.`));
626
- }
627
-
628
- if(typeof define === "function" && define.amd) {
629
- requirejs.config({paths});
630
- require(["vega-embed"], displayChart, err => showError(`Error loading script: ${err.message}`));
631
- } else {
632
- maybeLoadScript("vega", "5")
633
- .then(() => maybeLoadScript("vega-lite", "4.17.0"))
634
- .then(() => maybeLoadScript("vega-embed", "6"))
635
- .catch(showError)
636
- .then(() => displayChart(vegaEmbed));
637
- }
638
- })({"config": {"view": {"continuousWidth": 400, "continuousHeight": 300}}, "data": {"url": "https://cdn.jsdelivr.net/npm/vega-datasets@1/data/movies.json"}, "mark": "circle", "encoding": {"x": {"bin": {"maxbins": 20}, "field": "Rotten_Tomatoes_Rating", "type": "quantitative"}, "y": {"aggregate": "count", "type": "quantitative"}}, "height": 400, "width": 800, "$schema": "https://vega.github.io/schema/vega-lite/v4.17.0.json"}, {"mode": "vega-lite"});
639
- </script>
640
- </div>
641
-
642
- </div>
643
-
644
- </div>
645
- </div>
646
-
647
- </div>
648
- <div class="cell border-box-sizing text_cell rendered"><div class="inner_cell">
649
- <div class="text_cell_render border-box-sizing rendered_html">
650
- <p>To arrive at a standard histogram, let's change the mark type from circle to bar:</p>
651
-
652
- </div>
653
- </div>
654
- </div>
655
-
656
-
657
-
658
- <div class="
659
- cell border-box-sizing code_cell rendered">
660
- <div class="input">
661
-
662
- <div class="inner_cell">
663
- <div class="input_area">
664
- <div class=" highlight hl-ipython3"><pre><span></span><span class="n">alt</span><span class="o">.</span><span class="n">Chart</span><span class="p">(</span><span class="n">movies_url</span><span class="p">)</span><span class="o">.</span><span class="n">mark_bar</span><span class="p">()</span><span class="o">.</span><span class="n">encode</span><span class="p">(</span>
665
- <span class="n">alt</span><span class="o">.</span><span class="n">X</span><span class="p">(</span><span class="s1">&#39;Rotten_Tomatoes_Rating:Q&#39;</span><span class="p">,</span> <span class="nb">bin</span><span class="o">=</span><span class="n">alt</span><span class="o">.</span><span class="n">BinParams</span><span class="p">(</span><span class="n">maxbins</span><span class="o">=</span><span class="mi">20</span><span class="p">)),</span>
666
- <span class="n">alt</span><span class="o">.</span><span class="n">Y</span><span class="p">(</span><span class="s1">&#39;count()&#39;</span><span class="p">)</span>
667
- <span class="p">)</span><span class="o">.</span><span class="n">properties</span><span class="p">(</span>
668
- <span class="n">width</span><span class="o">=</span><span class="mi">800</span><span class="p">,</span>
669
- <span class="n">height</span><span class="o">=</span><span class="mi">400</span>
670
- <span class="p">)</span>
671
- </pre></div>
672
-
673
- </div>
674
- </div>
675
- </div>
676
-
677
- <div class="output_wrapper">
678
- <div class="output">
679
-
680
-
681
- <div class="output_area">
682
-
683
-
684
-
685
-
686
- <div class="output_html rendered_html output_subarea output_execute_result">
687
-
688
- <div id="altair-viz-890c699c81a343d785fabe95ccd77ce0"></div>
689
- <script type="text/javascript">
690
- var VEGA_DEBUG = (typeof VEGA_DEBUG == "undefined") ? {} : VEGA_DEBUG;
691
- (function(spec, embedOpt){
692
- let outputDiv = document.currentScript.previousElementSibling;
693
- if (outputDiv.id !== "altair-viz-890c699c81a343d785fabe95ccd77ce0") {
694
- outputDiv = document.getElementById("altair-viz-890c699c81a343d785fabe95ccd77ce0");
695
- }
696
- const paths = {
697
- "vega": "https://cdn.jsdelivr.net/npm//vega@5?noext",
698
- "vega-lib": "https://cdn.jsdelivr.net/npm//vega-lib?noext",
699
- "vega-lite": "https://cdn.jsdelivr.net/npm//vega-lite@4.17.0?noext",
700
- "vega-embed": "https://cdn.jsdelivr.net/npm//vega-embed@6?noext",
701
- };
702
-
703
- function maybeLoadScript(lib, version) {
704
- var key = `${lib.replace("-", "")}_version`;
705
- return (VEGA_DEBUG[key] == version) ?
706
- Promise.resolve(paths[lib]) :
707
- new Promise(function(resolve, reject) {
708
- var s = document.createElement('script');
709
- document.getElementsByTagName("head")[0].appendChild(s);
710
- s.async = true;
711
- s.onload = () => {
712
- VEGA_DEBUG[key] = version;
713
- return resolve(paths[lib]);
714
- };
715
- s.onerror = () => reject(`Error loading script: ${paths[lib]}`);
716
- s.src = paths[lib];
717
- });
718
- }
719
-
720
- function showError(err) {
721
- outputDiv.innerHTML = `<div class="error" style="color:red;">${err}</div>`;
722
- throw err;
723
- }
724
-
725
- function displayChart(vegaEmbed) {
726
- vegaEmbed(outputDiv, spec, embedOpt)
727
- .catch(err => showError(`Javascript Error: ${err.message}<br>This usually means there's a typo in your chart specification. See the javascript console for the full traceback.`));
728
- }
729
-
730
- if(typeof define === "function" && define.amd) {
731
- requirejs.config({paths});
732
- require(["vega-embed"], displayChart, err => showError(`Error loading script: ${err.message}`));
733
- } else {
734
- maybeLoadScript("vega", "5")
735
- .then(() => maybeLoadScript("vega-lite", "4.17.0"))
736
- .then(() => maybeLoadScript("vega-embed", "6"))
737
- .catch(showError)
738
- .then(() => displayChart(vegaEmbed));
739
- }
740
- })({"config": {"view": {"continuousWidth": 400, "continuousHeight": 300}}, "data": {"url": "https://cdn.jsdelivr.net/npm/vega-datasets@1/data/movies.json"}, "mark": "bar", "encoding": {"x": {"bin": {"maxbins": 20}, "field": "Rotten_Tomatoes_Rating", "type": "quantitative"}, "y": {"aggregate": "count", "type": "quantitative"}}, "height": 400, "width": 800, "$schema": "https://vega.github.io/schema/vega-lite/v4.17.0.json"}, {"mode": "vega-lite"});
741
- </script>
742
- </div>
743
-
744
- </div>
745
-
746
- </div>
747
- </div>
748
-
749
- </div>
750
- <div class="cell border-box-sizing text_cell rendered"><div class="inner_cell">
751
- <div class="text_cell_render border-box-sizing rendered_html">
752
- <p>We can now examine the distribution of ratings more clearly: we can see fewer movies on the negative end, and a bit more movies on the high end, but a generally uniform distribution overall. Rotten Tomatoes ratings are determined by taking "thumbs up" and "thumbs down" judgments from film critics and calculating the percentage of positive reviews. It appears this approach does a good job of utilizing the full range of rating values.</p>
753
- <p>Similarly, we can create a histogram for IMDB ratings by changing the field in the x encoding channel:</p>
754
-
755
- </div>
756
- </div>
757
- </div>
758
-
759
-
760
-
761
- <div class="
762
- cell border-box-sizing code_cell rendered">
763
- <div class="input">
764
-
765
- <div class="inner_cell">
766
- <div class="input_area">
767
- <div class=" highlight hl-ipython3"><pre><span></span><span class="n">alt</span><span class="o">.</span><span class="n">Chart</span><span class="p">(</span><span class="n">movies_url</span><span class="p">)</span><span class="o">.</span><span class="n">mark_bar</span><span class="p">()</span><span class="o">.</span><span class="n">encode</span><span class="p">(</span>
768
- <span class="n">alt</span><span class="o">.</span><span class="n">X</span><span class="p">(</span><span class="s1">&#39;IMDB_Rating:Q&#39;</span><span class="p">,</span> <span class="nb">bin</span><span class="o">=</span><span class="n">alt</span><span class="o">.</span><span class="n">BinParams</span><span class="p">(</span><span class="n">maxbins</span><span class="o">=</span><span class="mi">20</span><span class="p">)),</span>
769
- <span class="n">alt</span><span class="o">.</span><span class="n">Y</span><span class="p">(</span><span class="s1">&#39;count()&#39;</span><span class="p">)</span>
770
- <span class="p">)</span><span class="o">.</span><span class="n">properties</span><span class="p">(</span>
771
- <span class="n">width</span><span class="o">=</span><span class="mi">800</span><span class="p">,</span>
772
- <span class="n">height</span><span class="o">=</span><span class="mi">400</span>
773
- <span class="p">)</span>
774
- </pre></div>
775
-
776
- </div>
777
- </div>
778
- </div>
779
-
780
- <div class="output_wrapper">
781
- <div class="output">
782
-
783
-
784
- <div class="output_area">
785
-
786
-
787
-
788
-
789
- <div class="output_html rendered_html output_subarea output_execute_result">
790
-
791
- <div id="altair-viz-cee3059547d64f86bb7caf3d38da555c"></div>
792
- <script type="text/javascript">
793
- var VEGA_DEBUG = (typeof VEGA_DEBUG == "undefined") ? {} : VEGA_DEBUG;
794
- (function(spec, embedOpt){
795
- let outputDiv = document.currentScript.previousElementSibling;
796
- if (outputDiv.id !== "altair-viz-cee3059547d64f86bb7caf3d38da555c") {
797
- outputDiv = document.getElementById("altair-viz-cee3059547d64f86bb7caf3d38da555c");
798
- }
799
- const paths = {
800
- "vega": "https://cdn.jsdelivr.net/npm//vega@5?noext",
801
- "vega-lib": "https://cdn.jsdelivr.net/npm//vega-lib?noext",
802
- "vega-lite": "https://cdn.jsdelivr.net/npm//vega-lite@4.17.0?noext",
803
- "vega-embed": "https://cdn.jsdelivr.net/npm//vega-embed@6?noext",
804
- };
805
-
806
- function maybeLoadScript(lib, version) {
807
- var key = `${lib.replace("-", "")}_version`;
808
- return (VEGA_DEBUG[key] == version) ?
809
- Promise.resolve(paths[lib]) :
810
- new Promise(function(resolve, reject) {
811
- var s = document.createElement('script');
812
- document.getElementsByTagName("head")[0].appendChild(s);
813
- s.async = true;
814
- s.onload = () => {
815
- VEGA_DEBUG[key] = version;
816
- return resolve(paths[lib]);
817
- };
818
- s.onerror = () => reject(`Error loading script: ${paths[lib]}`);
819
- s.src = paths[lib];
820
- });
821
- }
822
-
823
- function showError(err) {
824
- outputDiv.innerHTML = `<div class="error" style="color:red;">${err}</div>`;
825
- throw err;
826
- }
827
-
828
- function displayChart(vegaEmbed) {
829
- vegaEmbed(outputDiv, spec, embedOpt)
830
- .catch(err => showError(`Javascript Error: ${err.message}<br>This usually means there's a typo in your chart specification. See the javascript console for the full traceback.`));
831
- }
832
-
833
- if(typeof define === "function" && define.amd) {
834
- requirejs.config({paths});
835
- require(["vega-embed"], displayChart, err => showError(`Error loading script: ${err.message}`));
836
- } else {
837
- maybeLoadScript("vega", "5")
838
- .then(() => maybeLoadScript("vega-lite", "4.17.0"))
839
- .then(() => maybeLoadScript("vega-embed", "6"))
840
- .catch(showError)
841
- .then(() => displayChart(vegaEmbed));
842
- }
843
- })({"config": {"view": {"continuousWidth": 400, "continuousHeight": 300}}, "data": {"url": "https://cdn.jsdelivr.net/npm/vega-datasets@1/data/movies.json"}, "mark": "bar", "encoding": {"x": {"bin": {"maxbins": 20}, "field": "IMDB_Rating", "type": "quantitative"}, "y": {"aggregate": "count", "type": "quantitative"}}, "height": 400, "width": 800, "$schema": "https://vega.github.io/schema/vega-lite/v4.17.0.json"}, {"mode": "vega-lite"});
844
- </script>
845
- </div>
846
-
847
- </div>
848
-
849
- </div>
850
- </div>
851
-
852
- </div>
853
- <div class="cell border-box-sizing text_cell rendered"><div class="inner_cell">
854
- <div class="text_cell_render border-box-sizing rendered_html">
855
- <p>In contrast to the more uniform distribution we saw before, IMDB ratings exhibit a bell-shaped (though negatively skewed) distribution. IMDB ratings are formed by averaging scores (ranging from 1 to 10) provided by the site's users. We can see that this form of measurement leads to a different shape than the Rotten Tomatoes ratings. We can also see that the mode of the distribution is between 6.5 and 7: people generally enjoy watching movies, potentially explaining the positive bias!</p>
856
- <p>Now let's turn back to our scatter plot of Rotten Tomatoes and IMDB ratings. Here's what happens if we bin both axes of our original plot.</p>
857
-
858
- </div>
859
- </div>
860
- </div>
861
-
862
-
863
-
864
- <div class="
865
- cell border-box-sizing code_cell rendered">
866
- <div class="input">
867
-
868
- <div class="inner_cell">
869
- <div class="input_area">
870
- <div class=" highlight hl-ipython3"><pre><span></span><span class="n">alt</span><span class="o">.</span><span class="n">Chart</span><span class="p">(</span><span class="n">movies_url</span><span class="p">)</span><span class="o">.</span><span class="n">mark_circle</span><span class="p">()</span><span class="o">.</span><span class="n">encode</span><span class="p">(</span>
871
- <span class="n">alt</span><span class="o">.</span><span class="n">X</span><span class="p">(</span><span class="s1">&#39;Rotten_Tomatoes_Rating:Q&#39;</span><span class="p">,</span> <span class="nb">bin</span><span class="o">=</span><span class="n">alt</span><span class="o">.</span><span class="n">BinParams</span><span class="p">(</span><span class="n">maxbins</span><span class="o">=</span><span class="mi">20</span><span class="p">)),</span>
872
- <span class="n">alt</span><span class="o">.</span><span class="n">Y</span><span class="p">(</span><span class="s1">&#39;IMDB_Rating:Q&#39;</span><span class="p">,</span> <span class="nb">bin</span><span class="o">=</span><span class="n">alt</span><span class="o">.</span><span class="n">BinParams</span><span class="p">(</span><span class="n">maxbins</span><span class="o">=</span><span class="mi">20</span><span class="p">)),</span>
873
- <span class="p">)</span><span class="o">.</span><span class="n">properties</span><span class="p">(</span>
874
- <span class="n">width</span><span class="o">=</span><span class="mi">800</span><span class="p">,</span>
875
- <span class="n">height</span><span class="o">=</span><span class="mi">400</span>
876
- <span class="p">)</span>
877
- </pre></div>
878
-
879
- </div>
880
- </div>
881
- </div>
882
-
883
- <div class="output_wrapper">
884
- <div class="output">
885
-
886
-
887
- <div class="output_area">
888
-
889
-
890
-
891
-
892
- <div class="output_html rendered_html output_subarea output_execute_result">
893
-
894
- <div id="altair-viz-d192f47b42ac448db255588b3bf801eb"></div>
895
- <script type="text/javascript">
896
- var VEGA_DEBUG = (typeof VEGA_DEBUG == "undefined") ? {} : VEGA_DEBUG;
897
- (function(spec, embedOpt){
898
- let outputDiv = document.currentScript.previousElementSibling;
899
- if (outputDiv.id !== "altair-viz-d192f47b42ac448db255588b3bf801eb") {
900
- outputDiv = document.getElementById("altair-viz-d192f47b42ac448db255588b3bf801eb");
901
- }
902
- const paths = {
903
- "vega": "https://cdn.jsdelivr.net/npm//vega@5?noext",
904
- "vega-lib": "https://cdn.jsdelivr.net/npm//vega-lib?noext",
905
- "vega-lite": "https://cdn.jsdelivr.net/npm//vega-lite@4.17.0?noext",
906
- "vega-embed": "https://cdn.jsdelivr.net/npm//vega-embed@6?noext",
907
- };
908
-
909
- function maybeLoadScript(lib, version) {
910
- var key = `${lib.replace("-", "")}_version`;
911
- return (VEGA_DEBUG[key] == version) ?
912
- Promise.resolve(paths[lib]) :
913
- new Promise(function(resolve, reject) {
914
- var s = document.createElement('script');
915
- document.getElementsByTagName("head")[0].appendChild(s);
916
- s.async = true;
917
- s.onload = () => {
918
- VEGA_DEBUG[key] = version;
919
- return resolve(paths[lib]);
920
- };
921
- s.onerror = () => reject(`Error loading script: ${paths[lib]}`);
922
- s.src = paths[lib];
923
- });
924
- }
925
-
926
- function showError(err) {
927
- outputDiv.innerHTML = `<div class="error" style="color:red;">${err}</div>`;
928
- throw err;
929
- }
930
-
931
- function displayChart(vegaEmbed) {
932
- vegaEmbed(outputDiv, spec, embedOpt)
933
- .catch(err => showError(`Javascript Error: ${err.message}<br>This usually means there's a typo in your chart specification. See the javascript console for the full traceback.`));
934
- }
935
-
936
- if(typeof define === "function" && define.amd) {
937
- requirejs.config({paths});
938
- require(["vega-embed"], displayChart, err => showError(`Error loading script: ${err.message}`));
939
- } else {
940
- maybeLoadScript("vega", "5")
941
- .then(() => maybeLoadScript("vega-lite", "4.17.0"))
942
- .then(() => maybeLoadScript("vega-embed", "6"))
943
- .catch(showError)
944
- .then(() => displayChart(vegaEmbed));
945
- }
946
- })({"config": {"view": {"continuousWidth": 400, "continuousHeight": 300}}, "data": {"url": "https://cdn.jsdelivr.net/npm/vega-datasets@1/data/movies.json"}, "mark": "circle", "encoding": {"x": {"bin": {"maxbins": 20}, "field": "Rotten_Tomatoes_Rating", "type": "quantitative"}, "y": {"bin": {"maxbins": 20}, "field": "IMDB_Rating", "type": "quantitative"}}, "height": 400, "width": 800, "$schema": "https://vega.github.io/schema/vega-lite/v4.17.0.json"}, {"mode": "vega-lite"});
947
- </script>
948
- </div>
949
-
950
- </div>
951
-
952
- </div>
953
- </div>
954
-
955
- </div>
956
- <div class="cell border-box-sizing text_cell rendered"><div class="inner_cell">
957
- <div class="text_cell_render border-box-sizing rendered_html">
958
- <p>Detail is lost due to overplotting, with many points drawn directly on top of each other.</p>
959
- <p>To form a two-dimensional histogram we can add a count aggregate as before. As both the x and y encoding channels are already taken, we must use a different encoding channel to convey the counts. Here is the result of using circular area by adding a size encoding channel.</p>
960
-
961
- </div>
962
- </div>
963
- </div>
964
-
965
-
966
-
967
- <div class="
968
- cell border-box-sizing code_cell rendered">
969
- <div class="input">
970
-
971
- <div class="inner_cell">
972
- <div class="input_area">
973
- <div class=" highlight hl-ipython3"><pre><span></span><span class="n">alt</span><span class="o">.</span><span class="n">Chart</span><span class="p">(</span><span class="n">movies_url</span><span class="p">)</span><span class="o">.</span><span class="n">mark_circle</span><span class="p">()</span><span class="o">.</span><span class="n">encode</span><span class="p">(</span>
974
- <span class="n">alt</span><span class="o">.</span><span class="n">X</span><span class="p">(</span><span class="s1">&#39;Rotten_Tomatoes_Rating:Q&#39;</span><span class="p">,</span> <span class="nb">bin</span><span class="o">=</span><span class="n">alt</span><span class="o">.</span><span class="n">BinParams</span><span class="p">(</span><span class="n">maxbins</span><span class="o">=</span><span class="mi">20</span><span class="p">)),</span>
975
- <span class="n">alt</span><span class="o">.</span><span class="n">Y</span><span class="p">(</span><span class="s1">&#39;IMDB_Rating:Q&#39;</span><span class="p">,</span> <span class="nb">bin</span><span class="o">=</span><span class="n">alt</span><span class="o">.</span><span class="n">BinParams</span><span class="p">(</span><span class="n">maxbins</span><span class="o">=</span><span class="mi">20</span><span class="p">)),</span>
976
- <span class="n">alt</span><span class="o">.</span><span class="n">Size</span><span class="p">(</span><span class="s1">&#39;count()&#39;</span><span class="p">)</span>
977
- <span class="p">)</span><span class="o">.</span><span class="n">properties</span><span class="p">(</span>
978
- <span class="n">width</span><span class="o">=</span><span class="mi">800</span><span class="p">,</span>
979
- <span class="n">height</span><span class="o">=</span><span class="mi">400</span>
980
- <span class="p">)</span>
981
- </pre></div>
982
-
983
- </div>
984
- </div>
985
- </div>
986
-
987
- <div class="output_wrapper">
988
- <div class="output">
989
-
990
-
991
- <div class="output_area">
992
-
993
-
994
-
995
-
996
- <div class="output_html rendered_html output_subarea output_execute_result">
997
-
998
- <div id="altair-viz-49f403013cbf44118f18d9bcf1f8fe5b"></div>
999
- <script type="text/javascript">
1000
- var VEGA_DEBUG = (typeof VEGA_DEBUG == "undefined") ? {} : VEGA_DEBUG;
1001
- (function(spec, embedOpt){
1002
- let outputDiv = document.currentScript.previousElementSibling;
1003
- if (outputDiv.id !== "altair-viz-49f403013cbf44118f18d9bcf1f8fe5b") {
1004
- outputDiv = document.getElementById("altair-viz-49f403013cbf44118f18d9bcf1f8fe5b");
1005
- }
1006
- const paths = {
1007
- "vega": "https://cdn.jsdelivr.net/npm//vega@5?noext",
1008
- "vega-lib": "https://cdn.jsdelivr.net/npm//vega-lib?noext",
1009
- "vega-lite": "https://cdn.jsdelivr.net/npm//vega-lite@4.17.0?noext",
1010
- "vega-embed": "https://cdn.jsdelivr.net/npm//vega-embed@6?noext",
1011
- };
1012
-
1013
- function maybeLoadScript(lib, version) {
1014
- var key = `${lib.replace("-", "")}_version`;
1015
- return (VEGA_DEBUG[key] == version) ?
1016
- Promise.resolve(paths[lib]) :
1017
- new Promise(function(resolve, reject) {
1018
- var s = document.createElement('script');
1019
- document.getElementsByTagName("head")[0].appendChild(s);
1020
- s.async = true;
1021
- s.onload = () => {
1022
- VEGA_DEBUG[key] = version;
1023
- return resolve(paths[lib]);
1024
- };
1025
- s.onerror = () => reject(`Error loading script: ${paths[lib]}`);
1026
- s.src = paths[lib];
1027
- });
1028
- }
1029
-
1030
- function showError(err) {
1031
- outputDiv.innerHTML = `<div class="error" style="color:red;">${err}</div>`;
1032
- throw err;
1033
- }
1034
-
1035
- function displayChart(vegaEmbed) {
1036
- vegaEmbed(outputDiv, spec, embedOpt)
1037
- .catch(err => showError(`Javascript Error: ${err.message}<br>This usually means there's a typo in your chart specification. See the javascript console for the full traceback.`));
1038
- }
1039
-
1040
- if(typeof define === "function" && define.amd) {
1041
- requirejs.config({paths});
1042
- require(["vega-embed"], displayChart, err => showError(`Error loading script: ${err.message}`));
1043
- } else {
1044
- maybeLoadScript("vega", "5")
1045
- .then(() => maybeLoadScript("vega-lite", "4.17.0"))
1046
- .then(() => maybeLoadScript("vega-embed", "6"))
1047
- .catch(showError)
1048
- .then(() => displayChart(vegaEmbed));
1049
- }
1050
- })({"config": {"view": {"continuousWidth": 400, "continuousHeight": 300}}, "data": {"url": "https://cdn.jsdelivr.net/npm/vega-datasets@1/data/movies.json"}, "mark": "circle", "encoding": {"size": {"aggregate": "count", "type": "quantitative"}, "x": {"bin": {"maxbins": 20}, "field": "Rotten_Tomatoes_Rating", "type": "quantitative"}, "y": {"bin": {"maxbins": 20}, "field": "IMDB_Rating", "type": "quantitative"}}, "height": 400, "width": 800, "$schema": "https://vega.github.io/schema/vega-lite/v4.17.0.json"}, {"mode": "vega-lite"});
1051
- </script>
1052
- </div>
1053
-
1054
- </div>
1055
-
1056
- </div>
1057
- </div>
1058
-
1059
- </div>
1060
- <div class="cell border-box-sizing text_cell rendered"><div class="inner_cell">
1061
- <div class="text_cell_render border-box-sizing rendered_html">
1062
- <p>Alternatively, we can encode counts using the color channel and change the mark type to bar. The result is a two-dimensional histogram in the form of a heatmap.</p>
1063
-
1064
- </div>
1065
- </div>
1066
- </div>
1067
-
1068
-
1069
-
1070
- <div class="
1071
- cell border-box-sizing code_cell rendered">
1072
- <div class="input">
1073
-
1074
- <div class="inner_cell">
1075
- <div class="input_area">
1076
- <div class=" highlight hl-ipython3"><pre><span></span><span class="n">alt</span><span class="o">.</span><span class="n">Chart</span><span class="p">(</span><span class="n">movies_url</span><span class="p">)</span><span class="o">.</span><span class="n">mark_bar</span><span class="p">()</span><span class="o">.</span><span class="n">encode</span><span class="p">(</span>
1077
- <span class="n">alt</span><span class="o">.</span><span class="n">X</span><span class="p">(</span><span class="s1">&#39;Rotten_Tomatoes_Rating:Q&#39;</span><span class="p">,</span> <span class="nb">bin</span><span class="o">=</span><span class="n">alt</span><span class="o">.</span><span class="n">BinParams</span><span class="p">(</span><span class="n">maxbins</span><span class="o">=</span><span class="mi">20</span><span class="p">)),</span>
1078
- <span class="n">alt</span><span class="o">.</span><span class="n">Y</span><span class="p">(</span><span class="s1">&#39;IMDB_Rating:Q&#39;</span><span class="p">,</span> <span class="nb">bin</span><span class="o">=</span><span class="n">alt</span><span class="o">.</span><span class="n">BinParams</span><span class="p">(</span><span class="n">maxbins</span><span class="o">=</span><span class="mi">20</span><span class="p">)),</span>
1079
- <span class="n">alt</span><span class="o">.</span><span class="n">Color</span><span class="p">(</span><span class="s1">&#39;count()&#39;</span><span class="p">)</span>
1080
- <span class="p">)</span><span class="o">.</span><span class="n">properties</span><span class="p">(</span>
1081
- <span class="n">width</span><span class="o">=</span><span class="mi">800</span><span class="p">,</span>
1082
- <span class="n">height</span><span class="o">=</span><span class="mi">400</span>
1083
- <span class="p">)</span>
1084
- </pre></div>
1085
-
1086
- </div>
1087
- </div>
1088
- </div>
1089
-
1090
- <div class="output_wrapper">
1091
- <div class="output">
1092
-
1093
-
1094
- <div class="output_area">
1095
-
1096
-
1097
-
1098
-
1099
- <div class="output_html rendered_html output_subarea output_execute_result">
1100
-
1101
- <div id="altair-viz-ea5c6bddfd524df484e60577255c49cc"></div>
1102
- <script type="text/javascript">
1103
- var VEGA_DEBUG = (typeof VEGA_DEBUG == "undefined") ? {} : VEGA_DEBUG;
1104
- (function(spec, embedOpt){
1105
- let outputDiv = document.currentScript.previousElementSibling;
1106
- if (outputDiv.id !== "altair-viz-ea5c6bddfd524df484e60577255c49cc") {
1107
- outputDiv = document.getElementById("altair-viz-ea5c6bddfd524df484e60577255c49cc");
1108
- }
1109
- const paths = {
1110
- "vega": "https://cdn.jsdelivr.net/npm//vega@5?noext",
1111
- "vega-lib": "https://cdn.jsdelivr.net/npm//vega-lib?noext",
1112
- "vega-lite": "https://cdn.jsdelivr.net/npm//vega-lite@4.17.0?noext",
1113
- "vega-embed": "https://cdn.jsdelivr.net/npm//vega-embed@6?noext",
1114
- };
1115
-
1116
- function maybeLoadScript(lib, version) {
1117
- var key = `${lib.replace("-", "")}_version`;
1118
- return (VEGA_DEBUG[key] == version) ?
1119
- Promise.resolve(paths[lib]) :
1120
- new Promise(function(resolve, reject) {
1121
- var s = document.createElement('script');
1122
- document.getElementsByTagName("head")[0].appendChild(s);
1123
- s.async = true;
1124
- s.onload = () => {
1125
- VEGA_DEBUG[key] = version;
1126
- return resolve(paths[lib]);
1127
- };
1128
- s.onerror = () => reject(`Error loading script: ${paths[lib]}`);
1129
- s.src = paths[lib];
1130
- });
1131
- }
1132
-
1133
- function showError(err) {
1134
- outputDiv.innerHTML = `<div class="error" style="color:red;">${err}</div>`;
1135
- throw err;
1136
- }
1137
-
1138
- function displayChart(vegaEmbed) {
1139
- vegaEmbed(outputDiv, spec, embedOpt)
1140
- .catch(err => showError(`Javascript Error: ${err.message}<br>This usually means there's a typo in your chart specification. See the javascript console for the full traceback.`));
1141
- }
1142
-
1143
- if(typeof define === "function" && define.amd) {
1144
- requirejs.config({paths});
1145
- require(["vega-embed"], displayChart, err => showError(`Error loading script: ${err.message}`));
1146
- } else {
1147
- maybeLoadScript("vega", "5")
1148
- .then(() => maybeLoadScript("vega-lite", "4.17.0"))
1149
- .then(() => maybeLoadScript("vega-embed", "6"))
1150
- .catch(showError)
1151
- .then(() => displayChart(vegaEmbed));
1152
- }
1153
- })({"config": {"view": {"continuousWidth": 400, "continuousHeight": 300}}, "data": {"url": "https://cdn.jsdelivr.net/npm/vega-datasets@1/data/movies.json"}, "mark": "bar", "encoding": {"color": {"aggregate": "count", "type": "quantitative"}, "x": {"bin": {"maxbins": 20}, "field": "Rotten_Tomatoes_Rating", "type": "quantitative"}, "y": {"bin": {"maxbins": 20}, "field": "IMDB_Rating", "type": "quantitative"}}, "height": 400, "width": 800, "$schema": "https://vega.github.io/schema/vega-lite/v4.17.0.json"}, {"mode": "vega-lite"});
1154
- </script>
1155
- </div>
1156
-
1157
- </div>
1158
-
1159
- </div>
1160
- </div>
1161
-
1162
- </div>
1163
- <div class="cell border-box-sizing text_cell rendered"><div class="inner_cell">
1164
- <div class="text_cell_render border-box-sizing rendered_html">
1165
- <p>Compare the size and color-based 2D histograms above. Which encoding do you think should be preferred? Why? In which plot can you more precisely compare the magnitude of individual values? In which plot can you more accurately see the overall density of ratings?</p>
1166
-
1167
- </div>
1168
- </div>
1169
- </div>
1170
-