j1-template 2022.5.0.rc1 → 2022.5.0.rc4

Sign up to get free protection for your applications and to get access to all the features.
Files changed (378) hide show
  1. checksums.yaml +4 -4
  2. data/assets/data/banner.html +24 -1
  3. data/assets/themes/j1/adapter/js/masterslider.js +22 -5
  4. data/assets/themes/j1/core/css/themes/unolight/bootstrap.css +56 -0
  5. data/assets/themes/j1/core/css/themes/unolight/bootstrap.min.css +1 -1
  6. data/lib/j1/version.rb +1 -1
  7. data/lib/starter_web/Gemfile +270 -270
  8. data/lib/starter_web/_config.yml +19 -9
  9. data/lib/starter_web/_data/blocks/banner.yml +17 -0
  10. data/lib/starter_web/_data/modules/defaults/masterslider.yml +1 -1
  11. data/lib/starter_web/_data/modules/justifiedGallery.yml +82 -0
  12. data/lib/starter_web/_data/modules/masterslider.yml +5 -9
  13. data/lib/starter_web/_data/modules/navigator_menu.yml +208 -168
  14. data/lib/starter_web/_includes/attributes.asciidoc +18 -14
  15. data/lib/starter_web/_includes/tables/template_variables.asciidoc +1 -1
  16. data/lib/starter_web/_plugins/asciidoctor-extensions/lightbox-block.rb +4 -4
  17. data/lib/starter_web/assets/images/pages/features/blog-post-navigator-1280x1000.jpg +0 -0
  18. data/lib/starter_web/assets/images/pages/features/bootswatch-themes-1280x800.png +0 -0
  19. data/lib/starter_web/assets/images/pages/features/clipboard-1280x600.jpg +0 -0
  20. data/lib/starter_web/assets/images/pages/features/comments-1280x600.jpg +0 -0
  21. data/lib/starter_web/assets/images/pages/features/cookie-consent-1280x800.jpg +0 -0
  22. data/lib/starter_web/assets/images/pages/features/desktop-web-navigation-1280x1000.jpg +0 -0
  23. data/lib/starter_web/assets/images/pages/features/example-content-1280x800.jpg +0 -0
  24. data/lib/starter_web/assets/images/pages/features/example-content-present-videos-1280x800.jpg +0 -0
  25. data/lib/starter_web/assets/images/pages/features/fab-1280x500.jpg +0 -0
  26. data/lib/starter_web/assets/images/pages/features/full-text-search-1280x800.jpg +0 -0
  27. data/lib/starter_web/assets/images/pages/features/global-mobile-traffic-1920x1080.png +0 -0
  28. data/lib/starter_web/assets/images/pages/features/google-lighthouse-1080x300.png +0 -0
  29. data/lib/starter_web/assets/images/pages/features/intro-panel-1280x800.jpg +0 -0
  30. data/lib/starter_web/assets/images/pages/features/master-header-1280x600.jpg +0 -0
  31. data/lib/starter_web/assets/images/pages/features/mobile-navigation-600x800.png +0 -0
  32. data/lib/starter_web/assets/images/pages/features/native-speakers-by-language.png +0 -0
  33. data/lib/starter_web/assets/images/pages/features/nav-module-1280x300.jpg +0 -0
  34. data/lib/starter_web/assets/images/pages/features/nbi-barchart-1280x800.jpg +0 -0
  35. data/lib/starter_web/assets/images/pages/features/teaser-banner-1280x600.jpg +0 -0
  36. data/lib/starter_web/assets/images/pages/features/translator-1280x800.jpg +0 -0
  37. data/lib/starter_web/assets/images/sticker/600x600/sticker-new-version.png +0 -0
  38. data/lib/starter_web/assets/images/sticker/scalable/readme +0 -0
  39. data/lib/starter_web/package.json +6 -6
  40. data/lib/starter_web/pages/public/_jupyter/docs/_includes/attributes.asciidoc +67 -0
  41. data/lib/starter_web/pages/public/_jupyter/docs/_includes/documents/j1_docs_example_static.asciidoc +232 -0
  42. data/lib/starter_web/pages/public/_jupyter/docs/binderhub.adoc +631 -0
  43. data/lib/starter_web/pages/public/_jupyter/docs/j1-nbinteract.adoc +638 -0
  44. data/lib/starter_web/pages/public/_jupyter/docs/jupyterhub.adoc +248 -0
  45. data/lib/starter_web/pages/public/_jupyter/docs/nbinteract-widget-manual.adoc +928 -0
  46. data/lib/starter_web/pages/public/_jupyter/examples/distributed/j1-circular-times-table.adoc +139 -0
  47. data/lib/starter_web/pages/public/_jupyter/examples/distributed/j1-common-used-widgets.adoc +229 -0
  48. data/lib/starter_web/pages/public/_jupyter/examples/distributed/j1-odes-in-python.adoc +112 -0
  49. data/lib/starter_web/pages/public/_jupyter/examples/localized/j1-altair/j1-altair-visualisations.adoc +142 -0
  50. data/lib/starter_web/pages/public/_jupyter/examples/localized/j1-bokeh/j1-bokeh-visualisations.adoc +171 -0
  51. data/lib/starter_web/pages/public/_jupyter/examples/localized/j1-bokeh/j1-bqplot-eamples.adoc +111 -0
  52. data/lib/starter_web/pages/public/_jupyter/examples/localized/j1-plotly/j1-plotly-visualisations.adoc +94 -0
  53. data/lib/starter_web/pages/public/_jupyter/examples/localized/j1_climate-change-forecast.adoc +106 -0
  54. data/lib/starter_web/pages/public/_jupyter/notebooks/j1/.ipynb_checkpoints/j1_altair_interactive-checkpoint.ipynb +16260 -0
  55. data/lib/starter_web/pages/public/_jupyter/notebooks/j1/.ipynb_checkpoints/j1_bgplot_line_plot-checkpoint.ipynb +247 -0
  56. data/lib/starter_web/pages/public/_jupyter/notebooks/j1/.ipynb_checkpoints/j1_circular_times_table-Copy1-checkpoint.ipynb +12382 -0
  57. data/lib/starter_web/pages/public/_jupyter/notebooks/j1/.ipynb_checkpoints/j1_circular_times_table-checkpoint.ipynb +12387 -0
  58. data/lib/starter_web/pages/public/_jupyter/notebooks/j1/.ipynb_checkpoints/j1_circular_times_table-short-checkpoint.ipynb +12170 -0
  59. data/lib/starter_web/pages/public/_jupyter/notebooks/j1/.ipynb_checkpoints/j1_climate_change_forecast-checkpoint.ipynb +1058 -0
  60. data/lib/starter_web/pages/public/_jupyter/notebooks/j1/.ipynb_checkpoints/j1_docs_example_dynamic-checkpoint.ipynb +14478 -0
  61. data/lib/starter_web/pages/public/_jupyter/notebooks/j1/.ipynb_checkpoints/j1_interactive_widgets-Copy1-checkpoint.ipynb +379 -0
  62. data/lib/starter_web/pages/public/_jupyter/notebooks/j1/.ipynb_checkpoints/j1_interactive_widgets-checkpoint.ipynb +442 -0
  63. data/lib/starter_web/pages/public/_jupyter/notebooks/j1/.ipynb_checkpoints/j1_nbi_widgets-checkpoint.ipynb +523 -0
  64. data/lib/starter_web/pages/public/_jupyter/notebooks/j1/.ipynb_checkpoints/j1_nbi_widgets.line_charts-checkpoint.ipynb +84 -0
  65. data/lib/starter_web/pages/public/_jupyter/notebooks/j1/.ipynb_checkpoints/j1_nbi_widgets.questions-checkpoint.ipynb +194 -0
  66. data/lib/starter_web/pages/public/_jupyter/notebooks/j1/.ipynb_checkpoints/j1_nbi_widgets_bar_chart-checkpoint.ipynb +89 -0
  67. data/lib/starter_web/pages/public/_jupyter/notebooks/j1/.ipynb_checkpoints/j1_nbi_widgets_bar_charts-Copy1-checkpoint.ipynb +164 -0
  68. data/lib/starter_web/pages/public/_jupyter/notebooks/j1/.ipynb_checkpoints/j1_nbi_widgets_bar_charts-checkpoint.ipynb +173 -0
  69. data/lib/starter_web/pages/public/_jupyter/notebooks/j1/.ipynb_checkpoints/j1_nbi_widgets_bar_charts.1-checkpoint.ipynb +256 -0
  70. data/lib/starter_web/pages/public/_jupyter/notebooks/j1/.ipynb_checkpoints/j1_nbi_widgets_barcharts-checkpoint.ipynb +126 -0
  71. data/lib/starter_web/pages/public/_jupyter/notebooks/j1/.ipynb_checkpoints/j1_nbi_widgets_hist_chart-checkpoint.ipynb +87 -0
  72. data/lib/starter_web/pages/public/_jupyter/notebooks/j1/.ipynb_checkpoints/j1_nbi_widgets_line_chart-checkpoint.ipynb +90 -0
  73. data/lib/starter_web/pages/public/_jupyter/notebooks/j1/.ipynb_checkpoints/j1_nbi_widgets_line_charts-checkpoint.ipynb +87 -0
  74. data/lib/starter_web/pages/public/_jupyter/notebooks/j1/.ipynb_checkpoints/j1_nbi_widgets_question_multiple_choice-checkpoint.ipynb +64 -0
  75. data/lib/starter_web/pages/public/_jupyter/notebooks/j1/.ipynb_checkpoints/j1_nbi_widgets_question_short_answer-checkpoint.ipynb +122 -0
  76. data/lib/starter_web/pages/public/_jupyter/notebooks/j1/.ipynb_checkpoints/j1_nbi_widgets_questions-checkpoint.ipynb +181 -0
  77. data/lib/starter_web/pages/public/_jupyter/notebooks/j1/.ipynb_checkpoints/j1_nbi_widgets_scatter_chart-checkpoint.ipynb +89 -0
  78. data/lib/starter_web/pages/public/_jupyter/notebooks/j1/.ipynb_checkpoints/j1_nbi_widgets_scatter_charts-checkpoint.ipynb +175 -0
  79. data/lib/starter_web/pages/public/_jupyter/notebooks/j1/.ipynb_checkpoints/j1_nbi_widgets_scatter_drag_chart-checkpoint.ipynb +87 -0
  80. data/lib/starter_web/pages/public/_jupyter/notebooks/j1/.ipynb_checkpoints/j1_ode_selected-checkpoint.ipynb +14478 -0
  81. data/lib/starter_web/pages/public/_jupyter/notebooks/j1/.ipynb_checkpoints/j1_odes_in_python-checkpoint.ipynb +15227 -0
  82. data/lib/starter_web/pages/public/_jupyter/notebooks/j1/factor_by_factor.mp4 +0 -0
  83. data/lib/starter_web/pages/public/_jupyter/notebooks/j1/j1_circular_times_table.ipynb +12382 -0
  84. data/lib/starter_web/pages/public/_jupyter/notebooks/j1/j1_climate_change_forecast.ipynb +1058 -0
  85. data/lib/starter_web/pages/public/_jupyter/notebooks/j1/j1_docs_example_dynamic.ipynb +14478 -0
  86. data/lib/starter_web/pages/public/_jupyter/notebooks/j1/j1_interactive_widgets.ipynb +442 -0
  87. data/lib/starter_web/pages/public/_jupyter/notebooks/j1/j1_nbi_widgets.ipynb +523 -0
  88. data/lib/starter_web/pages/public/_jupyter/notebooks/j1/j1_nbi_widgets_bar_chart.ipynb +89 -0
  89. data/lib/starter_web/pages/public/_jupyter/notebooks/j1/j1_nbi_widgets_hist_chart.ipynb +87 -0
  90. data/lib/starter_web/pages/public/_jupyter/notebooks/j1/j1_nbi_widgets_line_chart.ipynb +90 -0
  91. data/lib/starter_web/pages/public/_jupyter/notebooks/j1/j1_nbi_widgets_question_multiple_choice.ipynb +64 -0
  92. data/lib/starter_web/pages/public/_jupyter/notebooks/j1/j1_nbi_widgets_question_short_answer.ipynb +122 -0
  93. data/lib/starter_web/pages/public/_jupyter/notebooks/j1/j1_nbi_widgets_scatter_chart.ipynb +89 -0
  94. data/lib/starter_web/pages/public/_jupyter/notebooks/j1/j1_nbi_widgets_scatter_drag_chart.ipynb +87 -0
  95. data/lib/starter_web/pages/public/_jupyter/notebooks/j1/j1_odes_in_python.ipynb +15227 -0
  96. data/lib/starter_web/pages/public/_jupyter/notebooks/j1/line_by_line.mp4 +0 -0
  97. data/lib/starter_web/pages/public/_jupyter/notebooks/j1/point_by_point.mp4 +0 -0
  98. data/lib/starter_web/pages/public/_jupyter/notebooks/j1-altair-tutorial/.ipynb_checkpoints/j1_altair_interactive-checkpoint.ipynb +16296 -0
  99. data/lib/starter_web/pages/public/_jupyter/notebooks/j1-altair-tutorial/.ipynb_checkpoints/j1_altair_non_interactive-checkpoint.ipynb +15385 -0
  100. data/lib/starter_web/pages/public/_jupyter/notebooks/j1-altair-tutorial/j1_altair_interactive.ipynb +16296 -0
  101. data/lib/starter_web/pages/public/_jupyter/notebooks/j1-altair-tutorial/j1_altair_non_interactive.ipynb +15385 -0
  102. data/lib/starter_web/pages/public/_jupyter/notebooks/j1-bokeh-tutorial/.ipynb_checkpoints/00 - Introduction and Setup-checkpoint.ipynb +717 -0
  103. data/lib/starter_web/pages/public/_jupyter/notebooks/j1-bokeh-tutorial/.ipynb_checkpoints/01 - Basic Plotting-checkpoint.ipynb +1381 -0
  104. data/lib/starter_web/pages/public/_jupyter/notebooks/j1-bokeh-tutorial/.ipynb_checkpoints/02 - Styling and Theming-checkpoint.ipynb +1440 -0
  105. data/lib/starter_web/pages/public/_jupyter/notebooks/j1-bokeh-tutorial/.ipynb_checkpoints/03 - Data Sources and Transformations-checkpoint.ipynb +927 -0
  106. data/lib/starter_web/pages/public/_jupyter/notebooks/j1-bokeh-tutorial/.ipynb_checkpoints/04 - Adding Annotations-checkpoint.ipynb +1105 -0
  107. data/lib/starter_web/pages/public/_jupyter/notebooks/j1-bokeh-tutorial/.ipynb_checkpoints/05 - Presentation Layouts-checkpoint.ipynb +578 -0
  108. data/lib/starter_web/pages/public/_jupyter/notebooks/j1-bokeh-tutorial/.ipynb_checkpoints/06 - Linking and Interactions-checkpoint.ipynb +1196 -0
  109. data/lib/starter_web/pages/public/_jupyter/notebooks/j1-bokeh-tutorial/.ipynb_checkpoints/07 - Bar and Categorical Data Plots-checkpoint.ipynb +1681 -0
  110. data/lib/starter_web/pages/public/_jupyter/notebooks/j1-bokeh-tutorial/.ipynb_checkpoints/08 - Graph and Network Plots-checkpoint.ipynb +680 -0
  111. data/lib/starter_web/pages/public/_jupyter/notebooks/j1-bokeh-tutorial/.ipynb_checkpoints/09 - Geographic Plots-checkpoint.ipynb +693 -0
  112. data/lib/starter_web/pages/public/_jupyter/notebooks/j1-bokeh-tutorial/.ipynb_checkpoints/10 - Exporting and Embedding-checkpoint.ipynb +751 -0
  113. data/lib/starter_web/pages/public/_jupyter/notebooks/j1-bokeh-tutorial/.ipynb_checkpoints/11 - Running Bokeh Applications-checkpoint.ipynb +770 -0
  114. data/lib/starter_web/pages/public/_jupyter/notebooks/j1-bokeh-tutorial/.ipynb_checkpoints/bokeh_tut_00_introduction_and_setup-checkpoint.ipynb +666 -0
  115. data/lib/starter_web/pages/public/_jupyter/notebooks/j1-bokeh-tutorial/.ipynb_checkpoints/j1_bokeh_01_basic_plotting-checkpoint.ipynb +1365 -0
  116. data/lib/starter_web/pages/public/_jupyter/notebooks/j1-bokeh-tutorial/.ipynb_checkpoints/j1_bokeh_02_styling_and_theming-checkpoint.ipynb +1405 -0
  117. data/lib/starter_web/pages/public/_jupyter/notebooks/j1-bokeh-tutorial/.ipynb_checkpoints/j1_bokeh_03_data_sources_and_transformations-checkpoint.ipynb +856 -0
  118. data/lib/starter_web/pages/public/_jupyter/notebooks/j1-bokeh-tutorial/.ipynb_checkpoints/j1_bokeh_04_adding_annotations-checkpoint.ipynb +1167 -0
  119. data/lib/starter_web/pages/public/_jupyter/notebooks/j1-bokeh-tutorial/.ipynb_checkpoints/j1_bokeh_05_presentation_layouts-checkpoint.ipynb +601 -0
  120. data/lib/starter_web/pages/public/_jupyter/notebooks/j1-bokeh-tutorial/.ipynb_checkpoints/j1_bokeh_06_linking_and_interactions-checkpoint.ipynb +1356 -0
  121. data/lib/starter_web/pages/public/_jupyter/notebooks/j1-bokeh-tutorial/.ipynb_checkpoints/j1_bokeh_07_bar_and_categorical_data_plots-checkpoint.ipynb +1742 -0
  122. data/lib/starter_web/pages/public/_jupyter/notebooks/j1-bokeh-tutorial/.ipynb_checkpoints/j1_bokeh_08_graph_and_network_plots-checkpoint.ipynb +625 -0
  123. data/lib/starter_web/pages/public/_jupyter/notebooks/j1-bokeh-tutorial/.ipynb_checkpoints/j1_bokeh_09_geographic_plots-checkpoint.ipynb +685 -0
  124. data/lib/starter_web/pages/public/_jupyter/notebooks/j1-bokeh-tutorial/.ipynb_checkpoints/j1_bokeh_10_exporting_and_embedding-checkpoint.ipynb +726 -0
  125. data/lib/starter_web/pages/public/_jupyter/notebooks/j1-bokeh-tutorial/.ipynb_checkpoints/j1_bokeh_10_exporting_and_embedding-checkpoint.org +726 -0
  126. data/lib/starter_web/pages/public/_jupyter/notebooks/j1-bokeh-tutorial/.ipynb_checkpoints/j1_bokeh_10_exporting_and_embedding.new-checkpoint.ipynb +560 -0
  127. data/lib/starter_web/pages/public/_jupyter/notebooks/j1-bokeh-tutorial/.ipynb_checkpoints/j1_bokeh_11_running_bokeh_applications-checkpoint.ipynb +716 -0
  128. data/lib/starter_web/pages/public/_jupyter/notebooks/j1-bokeh-tutorial/j1_bokeh_01_basic_plotting.ipynb +1365 -0
  129. data/lib/starter_web/pages/public/_jupyter/notebooks/j1-bokeh-tutorial/j1_bokeh_02_styling_and_theming.ipynb +1405 -0
  130. data/lib/starter_web/pages/public/_jupyter/notebooks/j1-bokeh-tutorial/j1_bokeh_03_data_sources_and_transformations.ipynb +856 -0
  131. data/lib/starter_web/pages/public/_jupyter/notebooks/j1-bokeh-tutorial/j1_bokeh_04_adding_annotations.ipynb +1167 -0
  132. data/lib/starter_web/pages/public/_jupyter/notebooks/j1-bokeh-tutorial/j1_bokeh_05_presentation_layouts.ipynb +601 -0
  133. data/lib/starter_web/pages/public/_jupyter/notebooks/j1-bokeh-tutorial/j1_bokeh_06_linking_and_interactions.ipynb +1356 -0
  134. data/lib/starter_web/pages/public/_jupyter/notebooks/j1-bokeh-tutorial/j1_bokeh_07_bar_and_categorical_data_plots.ipynb +1742 -0
  135. data/lib/starter_web/pages/public/_jupyter/notebooks/j1-bokeh-tutorial/j1_bokeh_08_graph_and_network_plots.ipynb +625 -0
  136. data/lib/starter_web/pages/public/_jupyter/notebooks/j1-bokeh-tutorial/j1_bokeh_09_geographic_plots.ipynb +685 -0
  137. data/lib/starter_web/pages/public/_jupyter/notebooks/j1-bqplot/.ipynb_checkpoints/j1_mathplot_vs_bqplot-checkpoint.ipynb +336 -0
  138. data/lib/starter_web/pages/public/_jupyter/notebooks/j1-bqplot/advanced/Feature_Vector_Distribution-Iris-Digits.ipynb +433 -0
  139. data/lib/starter_web/pages/public/_jupyter/notebooks/j1-bqplot/j1_bgplot_line_plot.ipynb +244 -0
  140. data/lib/starter_web/pages/public/_jupyter/notebooks/j1-bqplot/j1_circular_times_table-short.ipynb +12170 -0
  141. data/lib/starter_web/pages/public/_jupyter/notebooks/j1-bqplot/j1_mathplot_vs_bqplot.ipynb +336 -0
  142. data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/.ipynb_checkpoints/Index-checkpoint.ipynb +163 -0
  143. data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/.ipynb_checkpoints/Tutorials-checkpoint.ipynb +51 -0
  144. data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/Advanced Plotting/Advanced Plotting.ipynb +289 -0
  145. data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/Advanced Plotting/Animations.ipynb +266 -0
  146. data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/Advanced Plotting/Axis Properties.ipynb +396 -0
  147. data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/Advanced Plotting/Plotting Dates.ipynb +318 -0
  148. data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/Applications/Equity Index Performance/Time Series.ipynb +158 -0
  149. data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/Applications/Equity Index Performance/spx_prices.csv +6799 -0
  150. data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/Applications/Feature_Vector_Distribution-Iris-Digits.ipynb +470 -0
  151. data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/Applications/Index.ipynb +49 -0
  152. data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/Applications/Logs Analytics/Logs Dashboard.ipynb +378 -0
  153. data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/Applications/Mobile Patent Suits.ipynb +123 -0
  154. data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/Applications/Neural Network.ipynb +177 -0
  155. data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/Applications/Outlier Detection.ipynb +311 -0
  156. data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/Applications/Wealth Of Nations/Bubble Chart.ipynb +255 -0
  157. data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/Applications/Wealth Of Nations/Choropleth.ipynb +275 -0
  158. data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/Applications/Wealth Of Nations/nations.json +1 -0
  159. data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/Applications/Wealth Of Nations/world_map_codes.csv +234 -0
  160. data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/Basic Plotting/.ipynb_checkpoints/Basic Plotting-checkpoint.ipynb +186 -0
  161. data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/Basic Plotting/.ipynb_checkpoints/Pyplot-checkpoint.ipynb +794 -0
  162. data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/Basic Plotting/.ipynb_checkpoints/Untitled-checkpoint.ipynb +323 -0
  163. data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/Basic Plotting/Basic Plotting.ipynb +261 -0
  164. data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/Basic Plotting/Pyplot.ipynb +1489 -0
  165. data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/Index.ipynb +163 -0
  166. data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/Interactions/Interaction Layer.ipynb +966 -0
  167. data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/Interactions/Mark Interactions.ipynb +476 -0
  168. data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/Interactions/Selectors.ipynb +427 -0
  169. data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/Introduction.ipynb +528 -0
  170. data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/Marks/Object Model/Bars.ipynb +480 -0
  171. data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/Marks/Object Model/Bins.ipynb +217 -0
  172. data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/Marks/Object Model/Boxplot.ipynb +253 -0
  173. data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/Marks/Object Model/Candles.ipynb +225 -0
  174. data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/Marks/Object Model/FlexLine.ipynb +123 -0
  175. data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/Marks/Object Model/Graph.ipynb +357 -0
  176. data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/Marks/Object Model/GridHeatMap.ipynb +422 -0
  177. data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/Marks/Object Model/HeatMap.ipynb +157 -0
  178. data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/Marks/Object Model/Hist.ipynb +176 -0
  179. data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/Marks/Object Model/Image.ipynb +195 -0
  180. data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/Marks/Object Model/Label.ipynb +189 -0
  181. data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/Marks/Object Model/Lines.ipynb +565 -0
  182. data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/Marks/Object Model/Map.ipynb +182 -0
  183. data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/Marks/Object Model/Market Map.ipynb +315 -0
  184. data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/Marks/Object Model/Pie.ipynb +465 -0
  185. data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/Marks/Object Model/Scatter.ipynb +835 -0
  186. data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/Marks/Pyplot/Bars.ipynb +362 -0
  187. data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/Marks/Pyplot/Bins.ipynb +252 -0
  188. data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/Marks/Pyplot/Boxplot.ipynb +273 -0
  189. data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/Marks/Pyplot/Candles.ipynb +242 -0
  190. data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/Marks/Pyplot/GridHeatMap.ipynb +417 -0
  191. data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/Marks/Pyplot/HeatMap.ipynb +155 -0
  192. data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/Marks/Pyplot/Hist.ipynb +238 -0
  193. data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/Marks/Pyplot/Image.ipynb +152 -0
  194. data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/Marks/Pyplot/Label.ipynb +206 -0
  195. data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/Marks/Pyplot/Lines.ipynb +474 -0
  196. data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/Marks/Pyplot/Map.ipynb +181 -0
  197. data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/Marks/Pyplot/Pie.ipynb +310 -0
  198. data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/Marks/Pyplot/Scatter.ipynb +702 -0
  199. data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/Scales/Color Scales.ipynb +495 -0
  200. data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/Tutorials/.ipynb_checkpoints/Feature_Vector_Distribution-Iris-Digits-checkpoint.ipynb +433 -0
  201. data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/Tutorials/.ipynb_checkpoints/Linking Plots With Widgets-checkpoint.ipynb +326 -0
  202. data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/Tutorials/.ipynb_checkpoints/Updating Plots-Copy1-checkpoint.ipynb +177 -0
  203. data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/Tutorials/.ipynb_checkpoints/Updating Plots-checkpoint.ipynb +177 -0
  204. data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/Tutorials/Brush Interval Selector.ipynb +154 -0
  205. data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/Tutorials/Fast Interval Selector.ipynb +152 -0
  206. data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/Tutorials/Gaussian Density Widget.ipynb +128 -0
  207. data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/Tutorials/Gaussian Density.ipynb +113 -0
  208. data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/Tutorials/Linking Plots With Widgets.ipynb +326 -0
  209. data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/Tutorials/Object Model.ipynb +179 -0
  210. data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/Tutorials/Pyplot.ipynb +174 -0
  211. data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/Tutorials/Updating Plots.ipynb +177 -0
  212. data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/Tutorials.ipynb +51 -0
  213. data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/data_files/country_codes.csv +213 -0
  214. data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/data_files/gdp_per_capita.csv +56 -0
  215. data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/data_files/state_codes.csv +52 -0
  216. data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/data_files/trees.jpg +0 -0
  217. data/lib/starter_web/pages/public/_jupyter/notebooks/nbi-docs/.ipynb_checkpoints/nbi_docs_examples_central_limit_theorem-checkpoint.ipynb +247 -0
  218. data/lib/starter_web/pages/public/_jupyter/notebooks/nbi-docs/.ipynb_checkpoints/nbi_docs_examples_variability_of_the_sample_mean-checkpoint.ipynb +323 -0
  219. data/lib/starter_web/pages/public/_jupyter/notebooks/nbi-docs/.ipynb_checkpoints/nbi_docs_recipes_graphing-checkpoint.ipynb +387 -0
  220. data/lib/starter_web/pages/public/_jupyter/notebooks/nbi-docs/.ipynb_checkpoints/nbi_docs_recipes_interactive_questions-checkpoint.ipynb +185 -0
  221. data/lib/starter_web/pages/public/_jupyter/notebooks/nbi-docs/.ipynb_checkpoints/nbi_docs_recipes_layout-checkpoint.ipynb +384 -0
  222. data/lib/starter_web/pages/public/_jupyter/notebooks/nbi-docs/.ipynb_checkpoints/nbi_docs_tutorial_interact-checkpoint.ipynb +254 -0
  223. data/lib/starter_web/pages/public/_jupyter/notebooks/nbi-docs/.ipynb_checkpoints/nbi_docs_tutorial_monty_hall-checkpoint.ipynb +732 -0
  224. data/lib/starter_web/pages/public/_jupyter/notebooks/nbi-docs/nbi_docs_examples_central_limit_theorem.ipynb +247 -0
  225. data/lib/starter_web/pages/public/_jupyter/notebooks/nbi-docs/nbi_docs_examples_correlation.ipynb +651 -0
  226. data/lib/starter_web/pages/public/_jupyter/notebooks/nbi-docs/nbi_docs_examples_empirical_distributions.ipynb +773 -0
  227. data/lib/starter_web/pages/public/_jupyter/notebooks/nbi-docs/nbi_docs_examples_linear_regression.ipynb +111 -0
  228. data/lib/starter_web/pages/public/_jupyter/notebooks/nbi-docs/nbi_docs_examples_probability_distribution_plots.ipynb +199 -0
  229. data/lib/starter_web/pages/public/_jupyter/notebooks/nbi-docs/nbi_docs_examples_sampling_from_a_population.ipynb +421 -0
  230. data/lib/starter_web/pages/public/_jupyter/notebooks/nbi-docs/nbi_docs_examples_variability_of_the_sample_mean.ipynb +323 -0
  231. data/lib/starter_web/pages/public/_jupyter/notebooks/nbi-docs/nbi_docs_recipes_graphing.ipynb +387 -0
  232. data/lib/starter_web/pages/public/_jupyter/notebooks/nbi-docs/nbi_docs_recipes_interactive_questions.ipynb +185 -0
  233. data/lib/starter_web/pages/public/_jupyter/notebooks/nbi-docs/nbi_docs_recipes_layout.ipynb +384 -0
  234. data/lib/starter_web/pages/public/_jupyter/notebooks/nbi-docs/nbi_docs_tutorial_interact.ipynb +254 -0
  235. data/lib/starter_web/pages/public/_jupyter/notebooks/nbi-docs/nbi_docs_tutorial_monty_hall.ipynb +732 -0
  236. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/Advanced Plotting.html +373 -0
  237. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/Animations.html +361 -0
  238. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/Axis Properties.html +569 -0
  239. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/Bars.html +487 -0
  240. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/Basic Plotting.html +341 -0
  241. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/Bins.html +259 -0
  242. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/Boxplot.html +277 -0
  243. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/Brush Interval Selector.html +182 -0
  244. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/Bubble Chart.html +299 -0
  245. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/Candles.html +252 -0
  246. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/Choropleth.html +318 -0
  247. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/Color Scales.html +514 -0
  248. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/Fast Interval Selector.html +182 -0
  249. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/Feature_Vector_Distribution-Iris-Digits.html +479 -0
  250. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/FlexLine.html +128 -0
  251. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/Gaussian Density Widget.html +152 -0
  252. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/Gaussian Density.html +137 -0
  253. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/Graph.html +484 -0
  254. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/GridHeatMap.html +483 -0
  255. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/HeatMap.html +170 -0
  256. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/Hist.html +349 -0
  257. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/Image.html +177 -0
  258. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/Index.html +29 -0
  259. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/Interaction Layer.html +1372 -0
  260. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/Introduction.html +749 -0
  261. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/Label.html +268 -0
  262. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/Lines.html +704 -0
  263. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/Linking Plots With Widgets.html +389 -0
  264. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/Logs Dashboard.html +455 -0
  265. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/Map.html +229 -0
  266. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/Mark Interactions.html +613 -0
  267. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/Market Map.html +413 -0
  268. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/Mobile Patent Suits.html +131 -0
  269. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/Neural Network.html +190 -0
  270. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/Object Model.html +193 -0
  271. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/Outlier Detection.html +363 -0
  272. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/Pie.html +367 -0
  273. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/Plotting Dates.html +337 -0
  274. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/Pyplot.html +196 -0
  275. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/Scatter.html +948 -0
  276. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/Selectors.html +489 -0
  277. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/Time Series.html +173 -0
  278. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/Tutorials.html +40 -0
  279. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/Updating Plots.html +228 -0
  280. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/j1_altair_interactive.html +2216 -0
  281. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/j1_altair_non_interactive.html +1170 -0
  282. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/j1_bgplot_line_plot.html +318 -0
  283. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/j1_bokeh_01_basic_plotting.html +1479 -0
  284. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/j1_bokeh_02_styling_and_theming.html +1524 -0
  285. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/j1_bokeh_03_data_sources_and_transformations.html +983 -0
  286. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/j1_bokeh_04_adding_annotations.html +1280 -0
  287. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/j1_bokeh_05_presentation_layouts.html +660 -0
  288. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/j1_bokeh_06_linking_and_interactions.html +1563 -0
  289. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/j1_bokeh_07_bar_and_categorical_data_plots.html +1888 -0
  290. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/j1_bokeh_08_graph_and_network_plots.html +689 -0
  291. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/j1_bokeh_09_geographic_plots.html +767 -0
  292. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/j1_circular_times_table-short.html +475 -0
  293. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/j1_circular_times_table.html +747 -0
  294. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/j1_climate_change_forecast.html +1250 -0
  295. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/j1_docs_example_dynamic.html +186 -0
  296. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/j1_interactive_widgets.html +512 -0
  297. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/j1_mathplot_vs_bqplot.html +407 -0
  298. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/j1_nbi_widgets.html +629 -0
  299. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/j1_nbi_widgets_bar_chart.html +95 -0
  300. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/j1_nbi_widgets_hist_chart.html +93 -0
  301. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/j1_nbi_widgets_line_chart.html +96 -0
  302. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/j1_nbi_widgets_question_multiple_choice.html +70 -0
  303. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/j1_nbi_widgets_question_short_answer.html +156 -0
  304. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/j1_nbi_widgets_scatter_chart.html +95 -0
  305. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/j1_nbi_widgets_scatter_drag_chart.html +93 -0
  306. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/j1_odes_in_python.html +955 -0
  307. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/nbi_docs_examples_central_limit_theorem.html +290 -0
  308. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/nbi_docs_examples_correlation.html +818 -0
  309. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/nbi_docs_examples_empirical_distributions.html +351 -0
  310. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/nbi_docs_examples_linear_regression.html +106 -0
  311. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/nbi_docs_examples_probability_distribution_plots.html +228 -0
  312. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/nbi_docs_examples_sampling_from_a_population.html +518 -0
  313. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/nbi_docs_examples_variability_of_the_sample_mean.html +372 -0
  314. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/nbi_docs_recipes_graphing.html +473 -0
  315. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/nbi_docs_recipes_interactive_questions.html +242 -0
  316. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/nbi_docs_recipes_layout.html +496 -0
  317. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/nbi_docs_tutorial_interact.html +329 -0
  318. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/nbi_docs_tutorial_monty_hall.html +866 -0
  319. data/lib/starter_web/pages/public/_jupyter/where_to_go.adoc +270 -0
  320. data/lib/starter_web/pages/public/features/general.adoc +74 -33
  321. data/lib/starter_web/pages/public/features/template.adoc +159 -68
  322. data/lib/starter_web/pages/public/jupyter/notebooks/textbooks/j1_interactive_widgets.html +512 -512
  323. data/lib/starter_web/pages/public/jupyter/notebooks/textbooks/j1_nbi_widgets.html +629 -629
  324. data/lib/starter_web/pages/public/jupyter/notebooks/textbooks/j1_nbi_widgets_bar_chart.html +95 -95
  325. data/lib/starter_web/pages/public/jupyter/notebooks/textbooks/j1_nbi_widgets_hist_chart.html +93 -93
  326. data/lib/starter_web/pages/public/jupyter/notebooks/textbooks/j1_nbi_widgets_line_chart.html +96 -96
  327. data/lib/starter_web/pages/public/jupyter/notebooks/textbooks/j1_nbi_widgets_question_multiple_choice.html +70 -70
  328. data/lib/starter_web/pages/public/jupyter/notebooks/textbooks/j1_nbi_widgets_question_short_answer.html +156 -156
  329. data/lib/starter_web/pages/public/jupyter/notebooks/textbooks/j1_nbi_widgets_scatter_chart.html +95 -95
  330. data/lib/starter_web/pages/public/jupyter/notebooks/textbooks/j1_nbi_widgets_scatter_drag_chart.html +93 -93
  331. data/lib/starter_web/pages/public/jupyter/notebooks/textbooks/j1_odes_in_python.html +955 -955
  332. data/lib/starter_web/pages/public/learn/_roundtrip/100_present_images.adoc +313 -0
  333. data/lib/starter_web/pages/public/learn/_roundtrip/100_present_videos.adoc +281 -0
  334. data/lib/starter_web/pages/public/learn/_roundtrip/200_typography.adoc +253 -0
  335. data/lib/starter_web/pages/public/learn/_roundtrip/300_icon_fonts.adoc +579 -0
  336. data/lib/starter_web/pages/public/learn/_roundtrip/400_asciidoc_extensions.adoc +718 -0
  337. data/lib/starter_web/pages/public/learn/_roundtrip/410_bs_modals_extentions.adoc +91 -0
  338. data/lib/starter_web/pages/public/learn/_roundtrip/420_responsive_tables_extensions.adoc +420 -0
  339. data/lib/starter_web/pages/public/learn/_roundtrip/500_themes.adoc +250 -0
  340. data/lib/starter_web/pages/public/learn/_roundtrip/600_quicksearch.adoc +425 -0
  341. data/lib/starter_web/pages/public/learn/_roundtrip/_includes/attributes.asciidoc +118 -0
  342. data/lib/starter_web/pages/public/learn/_roundtrip/_includes/documents/100_gistblock.asciidoc +28 -0
  343. data/lib/starter_web/pages/public/learn/_roundtrip/_includes/documents/410_bottom_info.asciidoc +14 -0
  344. data/lib/starter_web/pages/public/learn/_roundtrip/_includes/documents/410_bottom_left_warning.asciidoc +11 -0
  345. data/lib/starter_web/pages/public/learn/_roundtrip/_includes/documents/410_bottom_right_danger.asciidoc +11 -0
  346. data/lib/starter_web/pages/public/learn/_roundtrip/_includes/documents/410_central_success.asciidoc +11 -0
  347. data/lib/starter_web/pages/public/learn/_roundtrip/_includes/documents/410_full_height_left_info.asciidoc +11 -0
  348. data/lib/starter_web/pages/public/learn/_roundtrip/_includes/documents/410_full_height_right_success.asciidoc +11 -0
  349. data/lib/starter_web/pages/public/learn/_roundtrip/_includes/documents/410_table_bs_modal_examples.asciidoc +47 -0
  350. data/lib/starter_web/pages/public/learn/_roundtrip/_includes/documents/410_top_info.asciidoc +11 -0
  351. data/lib/starter_web/pages/public/learn/_roundtrip/_includes/documents/410_top_left_info.asciidoc +11 -0
  352. data/lib/starter_web/pages/public/learn/_roundtrip/_includes/documents/410_top_right_success.asciidoc +11 -0
  353. data/lib/starter_web/pages/public/learn/_roundtrip/_includes/documents/419_advanced_modals_demo.asciidoc +337 -0
  354. data/lib/starter_web/pages/public/learn/_roundtrip/_includes/documents/tables/bs_modal_examples.asciidoc +47 -0
  355. data/lib/starter_web/pages/public/learn/_roundtrip/_includes/google-ad.js +130 -0
  356. data/lib/starter_web/pages/public/learn/roundtrip/100_present_images.adoc +6 -5
  357. data/lib/starter_web/pages/public/learn/roundtrip/300_icon_fonts.adoc +1 -2
  358. data/lib/starter_web/pages/public/learn/roundtrip/400_asciidoc_extensions.adoc +4 -2
  359. data/lib/starter_web/pages/public/learn/roundtrip/500_themes.adoc +1 -1
  360. data/lib/starter_web/pages/public/learn/roundtrip/_includes/attributes.asciidoc +1 -1
  361. data/lib/starter_web/utilsrv/_defaults/package.json +1 -1
  362. data/lib/starter_web/utilsrv/package.json +1 -1
  363. metadata +384 -17
  364. data/lib/starter_web/_includes/_attributes.asciidoc +0 -575
  365. data/lib/starter_web/assets/images/pages/features/bootswatch-themes-1080x800.jpg +0 -0
  366. data/lib/starter_web/assets/images/pages/features/comments-1080x600.jpg +0 -0
  367. data/lib/starter_web/assets/images/pages/features/cookie-consent-1080x800.jpg +0 -0
  368. data/lib/starter_web/assets/images/pages/features/example-content-present-videos-1080x800.jpg +0 -0
  369. data/lib/starter_web/assets/images/pages/features/fab-1080x500.jpg +0 -0
  370. data/lib/starter_web/assets/images/pages/features/full-text-search-1080x800.jpg +0 -0
  371. data/lib/starter_web/assets/images/pages/features/global-mobile-traffic-1920x1080.jpg +0 -0
  372. data/lib/starter_web/assets/images/pages/features/google-lighthouse-1080x300.jpg +0 -0
  373. data/lib/starter_web/assets/images/pages/features/intro-panel-1080x800.jpg +0 -0
  374. data/lib/starter_web/assets/images/pages/features/mobile-navigation-600x800.jpg +0 -0
  375. data/lib/starter_web/assets/images/pages/features/native-speakers-by-language.jpg +0 -0
  376. data/lib/starter_web/assets/images/pages/features/nav-module-1080x300.jpg +0 -0
  377. data/lib/starter_web/assets/images/pages/features/teaser-banner-1080x600.jpg +0 -0
  378. data/lib/starter_web/assets/images/pages/features/translator-1080x800.jpg +0 -0
@@ -0,0 +1,773 @@
1
+ {
2
+ "cells": [
3
+ {
4
+ "cell_type": "code",
5
+ "execution_count": 1,
6
+ "metadata": {},
7
+ "outputs": [],
8
+ "source": [
9
+ "# HIDDEN\n",
10
+ "\n",
11
+ "from datascience import *\n",
12
+ "import matplotlib\n",
13
+ "# matplotlib.use('Agg', warn=False)\n",
14
+ "matplotlib.use('Agg')\n",
15
+ "%matplotlib inline\n",
16
+ "import matplotlib.pyplot as plots\n",
17
+ "plots.style.use('fivethirtyeight')\n",
18
+ "import numpy as np\n",
19
+ "\n",
20
+ "# Interaction\n",
21
+ "from IPython.display import display\n",
22
+ "from functools import partial\n",
23
+ "from ipywidgets import interact, interactive, fixed, interact_manual\n",
24
+ "import ipywidgets as widgets\n",
25
+ "import nbinteract as nbi"
26
+ ]
27
+ },
28
+ {
29
+ "cell_type": "markdown",
30
+ "metadata": {},
31
+ "source": [
32
+ "### Empirical Distribution",
33
+ "\n",
34
+ "Much of data science involves data from large random samples. In this section we will examine some properties of such samples.\n",
35
+ "\n",
36
+ "We will start with a simple experiment: rolling a die multiple times and keeping track of which face appears. The table `die` contains the numbers of spots on the faces of a die. All the numbers appear exactly once, as we are assuming that the die is fair."
37
+ ]
38
+ },
39
+ {
40
+ "cell_type": "code",
41
+ "execution_count": 2,
42
+ "metadata": {},
43
+ "outputs": [
44
+ {
45
+ "data": {
46
+ "text/html": [
47
+ "<table border=\"1\" class=\"dataframe\">\n",
48
+ " <thead>\n",
49
+ " <tr>\n",
50
+ " <th>Face</th>\n",
51
+ " </tr>\n",
52
+ " </thead>\n",
53
+ " <tbody>\n",
54
+ " <tr>\n",
55
+ " <td>1 </td>\n",
56
+ " </tr>\n",
57
+ " <tr>\n",
58
+ " <td>2 </td>\n",
59
+ " </tr>\n",
60
+ " <tr>\n",
61
+ " <td>3 </td>\n",
62
+ " </tr>\n",
63
+ " <tr>\n",
64
+ " <td>4 </td>\n",
65
+ " </tr>\n",
66
+ " <tr>\n",
67
+ " <td>5 </td>\n",
68
+ " </tr>\n",
69
+ " <tr>\n",
70
+ " <td>6 </td>\n",
71
+ " </tr>\n",
72
+ " </tbody>\n",
73
+ "</table>"
74
+ ],
75
+ "text/plain": [
76
+ "Face\n",
77
+ "1\n",
78
+ "2\n",
79
+ "3\n",
80
+ "4\n",
81
+ "5\n",
82
+ "6"
83
+ ]
84
+ },
85
+ "execution_count": 2,
86
+ "metadata": {},
87
+ "output_type": "execute_result"
88
+ }
89
+ ],
90
+ "source": [
91
+ "die = Table().with_column('Face', np.arange(1, 7, 1))\n",
92
+ "die"
93
+ ]
94
+ },
95
+ {
96
+ "cell_type": "markdown",
97
+ "metadata": {},
98
+ "source": [
99
+ "#### A Probability Distribution ###\n",
100
+ "\n",
101
+ "The histogram below helps us visualize the fact that every face appears with probability 1/6. We say that the histogram shows the *distribution* of probabilities over all the possible faces. Since all the bars represent the same percent chance, the distribution is called *uniform on the integers 1 through 6.*"
102
+ ]
103
+ },
104
+ {
105
+ "cell_type": "code",
106
+ "execution_count": 3,
107
+ "metadata": {},
108
+ "outputs": [
109
+ {
110
+ "data": {
111
+ "application/vnd.jupyter.widget-view+json": {
112
+ "model_id": "6952c416f21c42a88fdd70334485cbd3",
113
+ "version_major": 2,
114
+ "version_minor": 0
115
+ },
116
+ "text/plain": [
117
+ "VBox(children=(interactive(children=(Output(),), _dom_classes=('widget-interact',)), Figure(axes=[Axis(scale=L…"
118
+ ]
119
+ },
120
+ "metadata": {},
121
+ "output_type": "display_data"
122
+ }
123
+ ],
124
+ "source": [
125
+ "die_options = {'bins': 6, 'xlim': (1, 7), 'ylim': (0, 0.2)}\n",
126
+ "\n",
127
+ "nbi.hist(die.column('Face'), options=die_options)"
128
+ ]
129
+ },
130
+ {
131
+ "cell_type": "markdown",
132
+ "metadata": {},
133
+ "source": [
134
+ "Variables whose successive values are separated by the same fixed amount, such as the values on rolls of a die (successive values separated by 1), are called *discrete*. The histogram above is called a *discrete* histogram. Its bins are specified by the array `die_bins` and ensure that each bar is centered over the corresponding integer value. \n",
135
+ "\n",
136
+ "It is important to remember that the die can't show 1.3 spots, or 5.2 spots – it always shows an integer number of spots. But our visualization spreads the probability of each value over the area of a bar. While this might seem a bit arbitrary at this stage of the course, it will become important later when we overlay smooth curves over discrete histograms.\n",
137
+ "\n",
138
+ "Before going further, let's make sure that the numbers on the axes make sense. The probability of each face is 1/6, which is 16.67% when rounded to two decimal places. The width of each bin is 1 unit. So the height of each bar is 16.67% per unit. This agrees with the horizontal and vertical scales of the graph."
139
+ ]
140
+ },
141
+ {
142
+ "cell_type": "markdown",
143
+ "metadata": {},
144
+ "source": [
145
+ "#### Empirical Distributions\n",
146
+ "The distribution above consists of the theoretical probability of each face. It is not based on data. It can be studied and understood without any dice being rolled.\n",
147
+ "\n",
148
+ "*Empirical distributions,* on the other hand, are distributions of observed data. They can be visualized by *empirical histograms*. \n",
149
+ "\n",
150
+ "Let us get some data by simulating rolls of a die. This can be done by sampling at random with replacement from the integers 1 through 6. To do this using Python, we will use the Table method `sample`, which draws at random with replacement from the rows of a table. Its argument is the sample size, and it returns a table consisting of the rows that were selected. An optional argument `with_replacement=False` specifies that the sample should be drawn without replacement, but that does not apply to rolling a die.\n",
151
+ "\n",
152
+ "Here are some results of 10 rolls of a die. Drag the slider right\n",
153
+ "to see different samples."
154
+ ]
155
+ },
156
+ {
157
+ "cell_type": "code",
158
+ "execution_count": 4,
159
+ "metadata": {},
160
+ "outputs": [
161
+ {
162
+ "data": {
163
+ "application/vnd.jupyter.widget-view+json": {
164
+ "model_id": "23bfbaa83f50487681be35b8e51314e8",
165
+ "version_major": 2,
166
+ "version_minor": 0
167
+ },
168
+ "text/plain": [
169
+ "interactive(children=(IntSlider(value=0, description='sample_num', max=20), Output()), _dom_classes=('widget-i…"
170
+ ]
171
+ },
172
+ "metadata": {},
173
+ "output_type": "display_data"
174
+ }
175
+ ],
176
+ "source": [
177
+ "def die_sample_10(sample_num=0):\n",
178
+ " return die.sample(10)\n",
179
+ "\n",
180
+ "_ = interact(die_sample_10, sample_num=(0, 20))"
181
+ ]
182
+ },
183
+ {
184
+ "cell_type": "markdown",
185
+ "metadata": {},
186
+ "source": [
187
+ "We can use the same method to simulate as many rolls as we like, and then draw empirical histograms of the results. Because we are going to do this repeatedly, we define a function `empirical_die_rolls` that takes as its argument the sample size; the function rolls the die as many times as its argument and then returns the die rolls in an array."
188
+ ]
189
+ },
190
+ {
191
+ "cell_type": "code",
192
+ "execution_count": 5,
193
+ "metadata": {
194
+ "scrolled": false
195
+ },
196
+ "outputs": [],
197
+ "source": [
198
+ "def empirical_die_rolls(n_rolls, sample_num=0):\n",
199
+ " return die.sample(n_rolls).column('Face')"
200
+ ]
201
+ },
202
+ {
203
+ "cell_type": "markdown",
204
+ "metadata": {},
205
+ "source": [
206
+ "#### Empirical Histograms\n",
207
+ "\n",
208
+ "Here is an empirical histogram of 10 rolls. It doesn't look very much like the probability histogram above. Drag the slider to look at different sets of 10 rolls."
209
+ ]
210
+ },
211
+ {
212
+ "cell_type": "code",
213
+ "execution_count": 6,
214
+ "metadata": {
215
+ "scrolled": false
216
+ },
217
+ "outputs": [
218
+ {
219
+ "data": {
220
+ "application/vnd.jupyter.widget-view+json": {
221
+ "model_id": "e622150600ee4389aaf16f453b7474c7",
222
+ "version_major": 2,
223
+ "version_minor": 0
224
+ },
225
+ "text/plain": [
226
+ "VBox(children=(interactive(children=(IntSlider(value=10, description='sample_num', max=20), Output()), _dom_cl…"
227
+ ]
228
+ },
229
+ "metadata": {},
230
+ "output_type": "display_data"
231
+ }
232
+ ],
233
+ "source": [
234
+ "die_options = {'bins': 6, 'xlim': (1, 7), 'ylim': (0, 0.3)}\n",
235
+ "\n",
236
+ "nbi.hist(empirical_die_rolls, options=die_options,\n",
237
+ " n_rolls=fixed(10), sample_num=(0, 20))"
238
+ ]
239
+ },
240
+ {
241
+ "cell_type": "markdown",
242
+ "metadata": {},
243
+ "source": [
244
+ "When the sample size increases, the empirical histogram begins to look more like the histogram of theoretical probabilities. Try it out!"
245
+ ]
246
+ },
247
+ {
248
+ "cell_type": "code",
249
+ "execution_count": 7,
250
+ "metadata": {},
251
+ "outputs": [
252
+ {
253
+ "data": {
254
+ "application/vnd.jupyter.widget-view+json": {
255
+ "model_id": "438d7549d2d441f6859ffb1d155342cd",
256
+ "version_major": 2,
257
+ "version_minor": 0
258
+ },
259
+ "text/plain": [
260
+ "VBox(children=(interactive(children=(IntSlider(value=500, description='n_rolls', max=1000, min=10, step=10), I…"
261
+ ]
262
+ },
263
+ "metadata": {},
264
+ "output_type": "display_data"
265
+ }
266
+ ],
267
+ "source": [
268
+ "nbi.hist(empirical_die_rolls, options=die_options,\n",
269
+ " n_rolls=(10, 1000, 10),\n",
270
+ " sample_num=(0, 20))"
271
+ ]
272
+ },
273
+ {
274
+ "cell_type": "markdown",
275
+ "metadata": {},
276
+ "source": [
277
+ "As we increase the number of rolls in the simulation, the area of each bar gets closer to 16.67%, which is the area of each bar in the probability histogram.\n",
278
+ "\n",
279
+ "What we have observed in an instance of a general rule:\n",
280
+ "\n",
281
+ "#### The Law of Averages\n",
282
+ "\n",
283
+ "If a chance experiment is repeated independently and under identical conditions, then, in the long run, the proportion of times that an event occurs gets closer and closer to the theoretical probability of the event.\n",
284
+ "\n",
285
+ "For example, in the long run, the proportion of times the face with four spots appears gets closer and closer to 1/6.\n",
286
+ "\n",
287
+ "Here \"independently and under identical conditions\" means that every repetition is performed in the same way regardless of the results of all the other repetitions."
288
+ ]
289
+ }
290
+ ],
291
+ "metadata": {
292
+ "anaconda-cloud": {},
293
+ "kernelspec": {
294
+ "display_name": "Python 3",
295
+ "language": "python",
296
+ "name": "python3"
297
+ },
298
+ "language_info": {
299
+ "codemirror_mode": {
300
+ "name": "ipython",
301
+ "version": 3
302
+ },
303
+ "file_extension": ".py",
304
+ "mimetype": "text/x-python",
305
+ "name": "python",
306
+ "nbconvert_exporter": "python",
307
+ "pygments_lexer": "ipython3",
308
+ "version": "3.7.9"
309
+ },
310
+ "widgets": {
311
+ "application/vnd.jupyter.widget-state+json": {
312
+ "state": {
313
+ "10eedcee5f7f493baf1f49f7f2048f01": {
314
+ "model_module": "@jupyter-widgets/base",
315
+ "model_module_version": "1.0.0",
316
+ "model_name": "LayoutModel",
317
+ "state": {}
318
+ },
319
+ "156730644b724f0b9c36dae568a683a8": {
320
+ "model_module": "@jupyter-widgets/base",
321
+ "model_module_version": "1.0.0",
322
+ "model_name": "LayoutModel",
323
+ "state": {}
324
+ },
325
+ "2585f780f04d430ea1f321e4dd478356": {
326
+ "model_module": "@jupyter-widgets/base",
327
+ "model_module_version": "1.0.0",
328
+ "model_name": "LayoutModel",
329
+ "state": {}
330
+ },
331
+ "26803ca88c684ed1b1295a12c42bc713": {
332
+ "model_module": "@jupyter-widgets/controls",
333
+ "model_module_version": "1.0.0",
334
+ "model_name": "VBoxModel",
335
+ "state": {
336
+ "_dom_classes": [
337
+ "widget-interact"
338
+ ],
339
+ "children": [
340
+ "IPY_MODEL_e109e47d374d4504bea7ecac9624e958",
341
+ "IPY_MODEL_8ae0a5891d4a48d7893c363175ae2d18"
342
+ ],
343
+ "layout": "IPY_MODEL_559444eeab184692b2b4453073e21644"
344
+ }
345
+ },
346
+ "282cca7852b04ff1839a05c41466786e": {
347
+ "model_module": "@jupyter-widgets/base",
348
+ "model_module_version": "1.0.0",
349
+ "model_name": "LayoutModel",
350
+ "state": {}
351
+ },
352
+ "30e1562ba482438ab93c5395f06ba907": {
353
+ "model_module": "@jupyter-widgets/controls",
354
+ "model_module_version": "1.0.0",
355
+ "model_name": "SliderStyleModel",
356
+ "state": {
357
+ "description_width": ""
358
+ }
359
+ },
360
+ "353060ee65eb4b23af1515c3639a121d": {
361
+ "model_module": "@jupyter-widgets/base",
362
+ "model_module_version": "1.0.0",
363
+ "model_name": "LayoutModel",
364
+ "state": {}
365
+ },
366
+ "35defbcf76a84159a8bf24db38928452": {
367
+ "model_module": "@jupyter-widgets/base",
368
+ "model_module_version": "1.0.0",
369
+ "model_name": "LayoutModel",
370
+ "state": {}
371
+ },
372
+ "4bfe6ac50f594b1bae4ca632f13fbb3d": {
373
+ "model_module": "@jupyter-widgets/base",
374
+ "model_module_version": "1.0.0",
375
+ "model_name": "LayoutModel",
376
+ "state": {}
377
+ },
378
+ "4e4a03c5bceb40bf88baded9d808d7b8": {
379
+ "model_module": "@jupyter-widgets/controls",
380
+ "model_module_version": "1.0.0",
381
+ "model_name": "IntSliderModel",
382
+ "state": {
383
+ "description": "sample_num",
384
+ "layout": "IPY_MODEL_353060ee65eb4b23af1515c3639a121d",
385
+ "max": 20,
386
+ "style": "IPY_MODEL_b356771ad6d14e1da13a1a9f677f07a0"
387
+ }
388
+ },
389
+ "559444eeab184692b2b4453073e21644": {
390
+ "model_module": "@jupyter-widgets/base",
391
+ "model_module_version": "1.0.0",
392
+ "model_name": "LayoutModel",
393
+ "state": {}
394
+ },
395
+ "5dca1e41337a489ea05300667a02281b": {
396
+ "model_module": "@jupyter-widgets/controls",
397
+ "model_module_version": "1.0.0",
398
+ "model_name": "VBoxModel",
399
+ "state": {
400
+ "_dom_classes": [
401
+ "widget-interact"
402
+ ],
403
+ "children": [
404
+ "IPY_MODEL_6ce8934d50e0488981c0569cc3f4ab2a",
405
+ "IPY_MODEL_c75831c3957340089d19e026919e4f6d"
406
+ ],
407
+ "layout": "IPY_MODEL_156730644b724f0b9c36dae568a683a8"
408
+ }
409
+ },
410
+ "60c0621de6644478a6079b069fdf0ce2": {
411
+ "model_module": "@jupyter-widgets/base",
412
+ "model_module_version": "1.0.0",
413
+ "model_name": "LayoutModel",
414
+ "state": {}
415
+ },
416
+ "69742e5020394abb958957ebc5ac2ce6": {
417
+ "model_module": "@jupyter-widgets/base",
418
+ "model_module_version": "1.0.0",
419
+ "model_name": "LayoutModel",
420
+ "state": {}
421
+ },
422
+ "6a6c852ea186451c92b90e98122f2d39": {
423
+ "model_module": "@jupyter-widgets/base",
424
+ "model_module_version": "1.0.0",
425
+ "model_name": "LayoutModel",
426
+ "state": {}
427
+ },
428
+ "6ce8934d50e0488981c0569cc3f4ab2a": {
429
+ "model_module": "@jupyter-widgets/controls",
430
+ "model_module_version": "1.0.0",
431
+ "model_name": "IntSliderModel",
432
+ "state": {
433
+ "description": "num",
434
+ "layout": "IPY_MODEL_282cca7852b04ff1839a05c41466786e",
435
+ "style": "IPY_MODEL_87470db27b634d709df0e5d8f399f6d9",
436
+ "value": 50
437
+ }
438
+ },
439
+ "737af6bfb30845ab90029589afeb63b2": {
440
+ "model_module": "@jupyter-widgets/controls",
441
+ "model_module_version": "1.0.0",
442
+ "model_name": "ToggleButtonsModel",
443
+ "state": {
444
+ "_options_labels": [
445
+ "10",
446
+ "100",
447
+ "1000"
448
+ ],
449
+ "button_style": "",
450
+ "description": "n",
451
+ "icons": [],
452
+ "index": 0,
453
+ "layout": "IPY_MODEL_2585f780f04d430ea1f321e4dd478356",
454
+ "style": "IPY_MODEL_d4093963f8684073b7a45e97ce5b2e29",
455
+ "tooltips": []
456
+ }
457
+ },
458
+ "7ca20e9e353c44198145858980a9c9c9": {
459
+ "model_module": "@jupyter-widgets/base",
460
+ "model_module_version": "1.0.0",
461
+ "model_name": "LayoutModel",
462
+ "state": {}
463
+ },
464
+ "82f92e99718146a7be4bb1bd91c2804d": {
465
+ "model_module": "@jupyter-widgets/controls",
466
+ "model_module_version": "1.0.0",
467
+ "model_name": "VBoxModel",
468
+ "state": {
469
+ "_dom_classes": [
470
+ "widget-interact"
471
+ ],
472
+ "children": [
473
+ "IPY_MODEL_e82ab7856dba4df7a3515d32e6f0bf61",
474
+ "IPY_MODEL_8e6e97e9ea314e1c9d151411ffca076e"
475
+ ],
476
+ "layout": "IPY_MODEL_883ec17683494cc1ae6e9db04531c45b"
477
+ }
478
+ },
479
+ "87470db27b634d709df0e5d8f399f6d9": {
480
+ "model_module": "@jupyter-widgets/controls",
481
+ "model_module_version": "1.0.0",
482
+ "model_name": "SliderStyleModel",
483
+ "state": {
484
+ "description_width": ""
485
+ }
486
+ },
487
+ "87ba1bf9af914dd082ea07a4c2949f42": {
488
+ "model_module": "@jupyter-widgets/controls",
489
+ "model_module_version": "1.0.0",
490
+ "model_name": "SliderStyleModel",
491
+ "state": {
492
+ "description_width": ""
493
+ }
494
+ },
495
+ "883ec17683494cc1ae6e9db04531c45b": {
496
+ "model_module": "@jupyter-widgets/base",
497
+ "model_module_version": "1.0.0",
498
+ "model_name": "LayoutModel",
499
+ "state": {}
500
+ },
501
+ "8ae0a5891d4a48d7893c363175ae2d18": {
502
+ "model_module": "@jupyter-widgets/output",
503
+ "model_module_version": "1.0.0",
504
+ "model_name": "OutputModel",
505
+ "state": {
506
+ "layout": "IPY_MODEL_acbe24e2bd6e41d9a5caa8ea1f29dd65",
507
+ "outputs": [
508
+ {
509
+ "data": {
510
+ "text/plain": "2500"
511
+ },
512
+ "metadata": {},
513
+ "output_type": "display_data"
514
+ }
515
+ ]
516
+ }
517
+ },
518
+ "8b84355462fc494bacb091d6c967657e": {
519
+ "model_module": "@jupyter-widgets/base",
520
+ "model_module_version": "1.0.0",
521
+ "model_name": "LayoutModel",
522
+ "state": {}
523
+ },
524
+ "8e6e97e9ea314e1c9d151411ffca076e": {
525
+ "model_module": "@jupyter-widgets/output",
526
+ "model_module_version": "1.0.0",
527
+ "model_name": "OutputModel",
528
+ "state": {
529
+ "layout": "IPY_MODEL_f404df7e6bbe4f95934adcd964b52c6b",
530
+ "outputs": [
531
+ {
532
+ "data": {
533
+ "text/plain": "2704"
534
+ },
535
+ "metadata": {},
536
+ "output_type": "display_data"
537
+ }
538
+ ]
539
+ }
540
+ },
541
+ "9319ea6bf2a74a4bb4a94abc7be2e67a": {
542
+ "model_module": "@jupyter-widgets/controls",
543
+ "model_module_version": "1.0.0",
544
+ "model_name": "SliderStyleModel",
545
+ "state": {
546
+ "description_width": ""
547
+ }
548
+ },
549
+ "98fff9b10dd64af48f838e78c824a931": {
550
+ "model_module": "@jupyter-widgets/base",
551
+ "model_module_version": "1.0.0",
552
+ "model_name": "LayoutModel",
553
+ "state": {}
554
+ },
555
+ "996080d7b6434e7d865c357505f97743": {
556
+ "model_module": "@jupyter-widgets/controls",
557
+ "model_module_version": "1.0.0",
558
+ "model_name": "VBoxModel",
559
+ "state": {
560
+ "_dom_classes": [
561
+ "widget-interact"
562
+ ],
563
+ "children": [
564
+ "IPY_MODEL_a9948cab86af477793faea96fc5a7f4d",
565
+ "IPY_MODEL_ddc9e9e339a047ee8d7004573924fea2"
566
+ ],
567
+ "layout": "IPY_MODEL_6a6c852ea186451c92b90e98122f2d39"
568
+ }
569
+ },
570
+ "a9948cab86af477793faea96fc5a7f4d": {
571
+ "model_module": "@jupyter-widgets/controls",
572
+ "model_module_version": "1.0.0",
573
+ "model_name": "IntSliderModel",
574
+ "state": {
575
+ "description": "sample_num",
576
+ "layout": "IPY_MODEL_98fff9b10dd64af48f838e78c824a931",
577
+ "max": 20,
578
+ "style": "IPY_MODEL_9319ea6bf2a74a4bb4a94abc7be2e67a"
579
+ }
580
+ },
581
+ "acbe24e2bd6e41d9a5caa8ea1f29dd65": {
582
+ "model_module": "@jupyter-widgets/base",
583
+ "model_module_version": "1.0.0",
584
+ "model_name": "LayoutModel",
585
+ "state": {}
586
+ },
587
+ "af8d31bc7c644a218bfa280ed33f764e": {
588
+ "model_module": "@jupyter-widgets/output",
589
+ "model_module_version": "1.0.0",
590
+ "model_name": "OutputModel",
591
+ "state": {
592
+ "layout": "IPY_MODEL_7ca20e9e353c44198145858980a9c9c9",
593
+ "outputs": [
594
+ {
595
+ "data": {
596
+ "image/png": "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\nVNdcc43PWK9eveTxeLR3716/llhYWJgkqayszOcm6rKyMoWGhtb6+061w0YEBQWd8ToCVWVlZYPe\nP4l9bEjM+Psc6Pg5npk6TyeeOHFCF154oc/Y75+rqqr8FkqSOnTooLCwMBUUFHjHqqqqtH379mrF\nCgA4N53y6sTdu3fr3//+t/fz4cOHJZ08zG/evHm15et6vuL/qqio0K5duySdfNXL3r179dlnn6lV\nq1aKiIhQcnKysrKy5HK5FB0drczMTAUFBWnYsGGGtwEAaLhOWWLp6elKT0+vNv7II4/4fP79HWMH\nDx40vPGPP/5YgwcPrratESNGKCcnR5MmTdLRo0eVkpKi8vJyxcXFKT8/n3vEAACSTlFi2dnZft14\n3759VV5eXuu8w+FQWlqa0tLS/JoDAGBPdZbYXXfddbZyAABQb4afnQgAQKChxAAAtkWJAQBsixID\nANgWJQYAsC1KDABgW5QYAMC2KDEAgG1RYgAA26LEAAC2RYkBAGyLEgMA2BYlBgCwLUoMAGBblBgA\nwLYoMQCAbVFiAADbosQAALZFiQEAbIsSAwDYFiUGALAtSgwAYFuUGADAtigxAIBtUWIAANuixAAA\ntkWJAQBsixIDANgWJQYAsC1KDABgW5QYAMC2KDEAgG1RYgAA26LEAAC2RYkBAGyLEgMA2BYlBgCw\nLUoMAGBblBgAwLYoMQCAbVFiAADbosQAALZFiQEAbIsSAwDYli1KbOHChbriiisUFham6667Ttu2\nbbM6EgAgAAR8ieXn52v69OmaNm2aNm3apJ49e+qOO+7QDz/8YHU0AIDFAr7EsrOzddddd+nPf/6z\nOnfurDlz5igsLEyLFy+2OhoAwGKO8vJyj9UhanPs2DFdfPHFWrRokYYMGeIdf/jhh/XVV1/prbfe\nsjAdAMBqAX0kduDAAZ04cUIhISE+4yEhIdq/f79FqQAAgSKgSwwAgLoEdIkFBwercePGKisr8xkv\nKytTaGioRakAAIEioEvs/PPP11VXXaWCggKf8YKCAl1zzTUWpQIABIomVgc4lYkTJ+qBBx5QXFyc\nrrnmGi1evFg///yzRo8ebXU0AIDFAvpITJJuu+02paena86cOerbt68KCwu1cuVKtW/f3rRtbN26\nVXfeeacuu+wyOZ1OLVu2zLR1B4KsrCzdcMMNioiIUFRUlIYPH66vvvrK6limWrBggXr37q2IiAhF\nRESof//+Wr9+vdWx/CorK0tOp1MpKSlWRzFNenq6nE6nz3+dOnWyOpbpfv75Z40fP15RUVEKCwvT\nNddcoy1btlgdyzTdunWr9nN0Op3605/+ZPq2Av5ITJLGjBmjMWPG+G39lZWViomJ0YgRIzR+/Hi/\nbccqW7Zs0f3336/Y2Fh5PB499dRTGjJkiHbs2KFWrVpZHc8Ul1xyiZ588klFRUXJ7Xbr1Vdf1d13\n362NGzfq8ssvtzqe6YqKivTyyy+ra9euVkcxncvl0po1a7yfGzdubGEa85WXl+vmm29Wr169tHLl\nSgUHB6ukpKTaVdh2VlBQoBMnTng///zzz7r++ut9bpUyiy1KzN8SEhKUkJAgSZowYYLFacyXn5/v\n8/nFF19U+/btVVhYqIEDB1qUylyJiYk+nx9//HEtWrRIRUVFDa7EDh06pLFjx2revHnKyMiwOo7p\nmjRporCwMKtj+M3zzz+v8PBwvfjii96xyMhI6wL5QZs2bXw+L126VC1atNDQoUNN31bAn06E+Soq\nKuR2u+V0Oq2O4hcnTpzQ66+/rsrKSvXs2dPqOKabPHmykpKS1K9fP6uj+MXu3bvVpUsXXXHFFbrv\nvvu0e/duqyOZau3atYqLi9Po0aMVHR2tPn36aP78+fJ4Ava5E2fE4/Fo6dKlGj58uJo2bWr6+jkS\nOwdNnz5d3bp1a3D/wH/55ZdKSEhQVVWVgoKClJub2+BOty1ZskS7du3S/PnzrY7iF927d9cLL7wg\nl8ulX375RXPmzFFCQoIKCwvVunVrq+OZYvfu3Vq0aJEmTJigyZMn6/PPP1dqaqokady4cRanM19B\nQYFKSko0atQov6yfEjvHzJgxQ4WFhVq3bl2D+67B5XJp8+bNOnz4sN544w0lJydrzZo1iomJsTqa\nKYqLizVr1iytW7dO5513ntVx/KJ///4+n3v06KErr7xSr7zyiv7yl79YlMpcbrdbV199tZ544glJ\n0pVXXqldu3Zp4cKFDbLElixZotjYWHXr1s0v66fEziFpaWnKz8/X6tWrG9w5eOnkfYUdO3aUJF11\n1VX66KOP9MILL2jevHkWJzPHBx98oAMHDqhXr17esRMnTmjbtm1avHixfvrpJ11wwQUWJjRfUFCQ\nunTpol27dlkdxTRhYWHq3Lmzz1inTp20d+9eixL5T1lZmd566y1lZmb6bRuU2DkiNTVVq1at0urV\nqxvkJcs1cbvdOnbsmNUxTJOYmKirr77aZ2zixImKiorS1KlTdf7551uUzH+qqqpUXFysvn37Wh3F\nNL169dK3337rM/btt98qIiLCokT+88orr+iCCy7Q7bff7rdtUGI6eaHD7/+n53a7tXfvXn322Wdq\n1apVg/iD9fDDD2vFihXKzc2V0+lUaWmppJP/l9u8eXOL05lj5syZSkhIUNu2bVVRUaG8vDxt2bJF\nK1eutDqaaX6/1+aPmjVrplatWjWYU6aPPfaYBgwYoHbt2nm/Ezty5IhGjBhhdTTTTJgwQQkJCcrM\nzNRtt92mzz77TPPnz9fjjz9udTRTeTwe/eMf/9Btt93m139nAvpVLGfL5s2bNXjw4GrjI0aMUE5O\njgWJzFXbVYipqalKS0s7y2n8Izk5WZs3b9b+/fvVsmVLde3aVQ899JBuvPFGq6P5VWJiomJiYjRn\nzhyro5jivvvu07Zt23TgwAG1adNG3bt316OPPqouXbpYHc1U69ev16xZs/Ttt9+qXbt2Gjt2rB54\n4AE5HA6ro5lm06ZNuvXWW/Xee+8pLi7Ob9uhxAAAtsV9YgAA26LEAAC2RYkBAGyLEgMA2BYlBgCw\nLUoMAGBblBhwli1btqzGFwY6nU5t3LjR6niArfDEDsAiS5Ys0SWXXOIz9r/P1ANQN0oMsEi3bt28\nDywGcHo4nQgEmKNHjyo1NVW9evXSJZdcos6dO+vOO+9UcXFxtWW///57jR07Vi6XS6Ghobryyis1\nY8YMn2U2bdqkwYMHq23btmrbtq2GDRumr7/++mztDuBXHIkBFjlx4oSOHz/u/exwONS4cWNVVVXp\nyJEjmjZtmi6++GIdPHhQCxcuVP/+/VVUVKSQkBBJJwssPj5eLVq00GOPPabIyEjt3btX77//vned\na9eu1ciRIzVo0CAtWLBAbrdbzz33nAYOHKitW7dWO50J2A3PTgTOsmXLlmnixInVxnv16qV169ZV\nGz9x4oSqqqoUHR2tmTNn6oEHHpAkjRkzRuvXr9eHH36osLCwar/P4/HoiiuukMvlUn5+vne8vLxc\nV111le655x7Nnj3bxD0Dzj6OxACL5Obmqm3btt7Pf3xdxeuvv67s7Gx9++23Onz4sHf8j++h2rBh\ngwYOHFhjgUnSN998ox9++EEzZszwOeJr3ry5unfvrm3btpm5O4AlKDHAIjExMTVe2LF69Wrdf//9\nuvvuuzV9+nQFBwerUaNGuu2221RVVeVd7tdff63zdGBZWZmkk6+pSU5OrjbfEN/ujXMPJQYEmPz8\nfHXq1EknwDmdAAABZ0lEQVTZ2dnesaqqKh06dMhnudatW+unn36qdT2tW7eWJM2aNavGNyM3xDdB\n49xDiQEB5siRI2rSxPev5vLly+V2u33G4uPj9a9//UtlZWXeiz3+qEuXLmrXrp2+/vprPfTQQ37N\nDFiFEgMCzE033aSUlBQ99thj6t+/vz766CMtWLBALVu29Fnu0Ucf1bvvvqv+/ftr6tSpuvTSS/Xj\njz+qoKBAL774oho1aqRnnnlGI0eO1H//+18lJSWpdevW2r9/v3bs2KHIyMgaTzMCdkKJAQHmvvvu\n0759+/TKK69o0aJFiouL04oVKzR8+HCf5SIjI/Xee+/pr3/9q5544gkdOXJEF198sW655RbvMoMG\nDdLatWuVlZWlBx98UFVVVQoLC1OPHj00bNiws71rgOm4xB4AYFs8sQMAYFuUGADAtigxAIBtUWIA\nANuixAAAtkWJAQBsixIDANgWJQYAsC1KDABgW/8PpgSPKFoG5/0AAAAASUVORK5CYII=\n",
597
+ "text/plain": "<matplotlib.figure.Figure at 0x113853f98>"
598
+ },
599
+ "metadata": {},
600
+ "output_type": "display_data"
601
+ }
602
+ ]
603
+ }
604
+ },
605
+ "b356771ad6d14e1da13a1a9f677f07a0": {
606
+ "model_module": "@jupyter-widgets/controls",
607
+ "model_module_version": "1.0.0",
608
+ "model_name": "SliderStyleModel",
609
+ "state": {
610
+ "description_width": ""
611
+ }
612
+ },
613
+ "b617b76a613541a294a39751f7b96578": {
614
+ "model_module": "@jupyter-widgets/controls",
615
+ "model_module_version": "1.0.0",
616
+ "model_name": "VBoxModel",
617
+ "state": {
618
+ "_dom_classes": [
619
+ "widget-interact"
620
+ ],
621
+ "children": [
622
+ "IPY_MODEL_f25608ec29c74af8ac0d1265d07724c9",
623
+ "IPY_MODEL_ef4e940384da44c8915184f5acd05e8e"
624
+ ],
625
+ "layout": "IPY_MODEL_bf0694f639fc49b08a901de761b5e7a6"
626
+ }
627
+ },
628
+ "bf0694f639fc49b08a901de761b5e7a6": {
629
+ "model_module": "@jupyter-widgets/base",
630
+ "model_module_version": "1.0.0",
631
+ "model_name": "LayoutModel",
632
+ "state": {}
633
+ },
634
+ "c75831c3957340089d19e026919e4f6d": {
635
+ "model_module": "@jupyter-widgets/output",
636
+ "model_module_version": "1.0.0",
637
+ "model_name": "OutputModel",
638
+ "state": {
639
+ "layout": "IPY_MODEL_e01d38d9c0a84c1081f576f7722f31e7",
640
+ "outputs": [
641
+ {
642
+ "data": {
643
+ "text/plain": "2500"
644
+ },
645
+ "metadata": {},
646
+ "output_type": "display_data"
647
+ }
648
+ ]
649
+ }
650
+ },
651
+ "d113db6d60b0489c95fa8f12c50dea70": {
652
+ "model_module": "@jupyter-widgets/controls",
653
+ "model_module_version": "1.0.0",
654
+ "model_name": "VBoxModel",
655
+ "state": {
656
+ "_dom_classes": [
657
+ "widget-interact"
658
+ ],
659
+ "children": [
660
+ "IPY_MODEL_737af6bfb30845ab90029589afeb63b2",
661
+ "IPY_MODEL_4e4a03c5bceb40bf88baded9d808d7b8",
662
+ "IPY_MODEL_af8d31bc7c644a218bfa280ed33f764e"
663
+ ],
664
+ "layout": "IPY_MODEL_8b84355462fc494bacb091d6c967657e"
665
+ }
666
+ },
667
+ "d4093963f8684073b7a45e97ce5b2e29": {
668
+ "model_module": "@jupyter-widgets/controls",
669
+ "model_module_version": "1.0.0",
670
+ "model_name": "ToggleButtonsStyleModel",
671
+ "state": {
672
+ "_model_module": "@jupyter-widgets/controls",
673
+ "button_width": ""
674
+ }
675
+ },
676
+ "ddc9e9e339a047ee8d7004573924fea2": {
677
+ "model_module": "@jupyter-widgets/output",
678
+ "model_module_version": "1.0.0",
679
+ "model_name": "OutputModel",
680
+ "state": {
681
+ "layout": "IPY_MODEL_69742e5020394abb958957ebc5ac2ce6",
682
+ "outputs": [
683
+ {
684
+ "data": {
685
+ "text/html": "<table border=\"1\" class=\"dataframe\">\n <thead>\n <tr>\n <th>Face</th>\n </tr>\n </thead>\n <tbody>\n <tr>\n <td>5 </td>\n </tr>\n </tbody>\n <tr>\n <td>3 </td>\n </tr>\n </tbody>\n <tr>\n <td>6 </td>\n </tr>\n </tbody>\n <tr>\n <td>1 </td>\n </tr>\n </tbody>\n <tr>\n <td>4 </td>\n </tr>\n </tbody>\n <tr>\n <td>3 </td>\n </tr>\n </tbody>\n <tr>\n <td>6 </td>\n </tr>\n </tbody>\n <tr>\n <td>2 </td>\n </tr>\n </tbody>\n <tr>\n <td>3 </td>\n </tr>\n </tbody>\n <tr>\n <td>5 </td>\n </tr>\n </tbody>\n</table>",
686
+ "text/plain": "Face\n5\n3\n6\n1\n4\n3\n6\n2\n3\n5"
687
+ },
688
+ "metadata": {},
689
+ "output_type": "display_data"
690
+ }
691
+ ]
692
+ }
693
+ },
694
+ "e01d38d9c0a84c1081f576f7722f31e7": {
695
+ "model_module": "@jupyter-widgets/base",
696
+ "model_module_version": "1.0.0",
697
+ "model_name": "LayoutModel",
698
+ "state": {}
699
+ },
700
+ "e109e47d374d4504bea7ecac9624e958": {
701
+ "model_module": "@jupyter-widgets/controls",
702
+ "model_module_version": "1.0.0",
703
+ "model_name": "IntSliderModel",
704
+ "state": {
705
+ "description": "num",
706
+ "layout": "IPY_MODEL_60c0621de6644478a6079b069fdf0ce2",
707
+ "style": "IPY_MODEL_87ba1bf9af914dd082ea07a4c2949f42",
708
+ "value": 50
709
+ }
710
+ },
711
+ "e82ab7856dba4df7a3515d32e6f0bf61": {
712
+ "model_module": "@jupyter-widgets/controls",
713
+ "model_module_version": "1.0.0",
714
+ "model_name": "IntSliderModel",
715
+ "state": {
716
+ "description": "num",
717
+ "layout": "IPY_MODEL_10eedcee5f7f493baf1f49f7f2048f01",
718
+ "style": "IPY_MODEL_30e1562ba482438ab93c5395f06ba907",
719
+ "value": 52
720
+ }
721
+ },
722
+ "edf13a7ec29442eaa8c4be6dff12afdf": {
723
+ "model_module": "@jupyter-widgets/controls",
724
+ "model_module_version": "1.0.0",
725
+ "model_name": "SliderStyleModel",
726
+ "state": {
727
+ "description_width": ""
728
+ }
729
+ },
730
+ "ef4e940384da44c8915184f5acd05e8e": {
731
+ "model_module": "@jupyter-widgets/output",
732
+ "model_module_version": "1.0.0",
733
+ "model_name": "OutputModel",
734
+ "state": {
735
+ "layout": "IPY_MODEL_4bfe6ac50f594b1bae4ca632f13fbb3d",
736
+ "outputs": [
737
+ {
738
+ "data": {
739
+ "image/png": "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\nRK5CYII=\n",
740
+ "text/plain": "<matplotlib.figure.Figure at 0x1102dc978>"
741
+ },
742
+ "metadata": {},
743
+ "output_type": "display_data"
744
+ }
745
+ ]
746
+ }
747
+ },
748
+ "f25608ec29c74af8ac0d1265d07724c9": {
749
+ "model_module": "@jupyter-widgets/controls",
750
+ "model_module_version": "1.0.0",
751
+ "model_name": "IntSliderModel",
752
+ "state": {
753
+ "description": "sample_num",
754
+ "layout": "IPY_MODEL_35defbcf76a84159a8bf24db38928452",
755
+ "max": 20,
756
+ "style": "IPY_MODEL_edf13a7ec29442eaa8c4be6dff12afdf"
757
+ }
758
+ },
759
+ "f404df7e6bbe4f95934adcd964b52c6b": {
760
+ "model_module": "@jupyter-widgets/base",
761
+ "model_module_version": "1.0.0",
762
+ "model_name": "LayoutModel",
763
+ "state": {}
764
+ }
765
+ },
766
+ "version_major": 2,
767
+ "version_minor": 0
768
+ }
769
+ }
770
+ },
771
+ "nbformat": 4,
772
+ "nbformat_minor": 1
773
+ }