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,948 @@
1
+ <div class="cell text_cell">
2
+ <button class="js-nbinteract-widget">
3
+ Loading widgets...
4
+ </button>
5
+ </div>
6
+
7
+
8
+
9
+
10
+
11
+
12
+ <div class="
13
+ cell border-box-sizing code_cell rendered">
14
+ <div class="input">
15
+
16
+ <div class="inner_cell">
17
+ <div class="input_area">
18
+ <div class=" highlight hl-ipython3"><pre><span></span><span class="kn">from</span> <span class="nn">__future__</span> <span class="kn">import</span> <span class="n">print_function</span>
19
+ <span class="kn">import</span> <span class="nn">numpy</span> <span class="k">as</span> <span class="nn">np</span>
20
+ <span class="kn">import</span> <span class="nn">pandas</span> <span class="k">as</span> <span class="nn">pd</span>
21
+
22
+ <span class="kn">import</span> <span class="nn">ipywidgets</span>
23
+
24
+ <span class="kn">from</span> <span class="nn">bqplot</span> <span class="kn">import</span> <span class="n">ColorScale</span><span class="p">,</span> <span class="n">DateColorScale</span><span class="p">,</span> <span class="n">OrdinalColorScale</span><span class="p">,</span> <span class="n">LinearScale</span><span class="p">,</span> <span class="n">Tooltip</span>
25
+ <span class="kn">import</span> <span class="nn">bqplot.pyplot</span> <span class="k">as</span> <span class="nn">plt</span>
26
+ </pre></div>
27
+
28
+ </div>
29
+ </div>
30
+ </div>
31
+
32
+ </div>
33
+ <div class="cell border-box-sizing text_cell rendered"><div class="inner_cell">
34
+ <div class="text_cell_render border-box-sizing rendered_html">
35
+ <h2 id="Get-Data">Get Data<a class="anchor-link" href="#Get-Data">&#182;</a></h2>
36
+ </div>
37
+ </div>
38
+ </div>
39
+
40
+
41
+
42
+ <div class="
43
+ cell border-box-sizing code_cell rendered">
44
+ <div class="input">
45
+
46
+ <div class="inner_cell">
47
+ <div class="input_area">
48
+ <div class=" highlight hl-ipython3"><pre><span></span><span class="n">price_data</span> <span class="o">=</span> <span class="n">pd</span><span class="o">.</span><span class="n">DataFrame</span><span class="p">(</span>
49
+ <span class="n">np</span><span class="o">.</span><span class="n">cumsum</span><span class="p">(</span><span class="n">np</span><span class="o">.</span><span class="n">random</span><span class="o">.</span><span class="n">randn</span><span class="p">(</span><span class="mi">150</span><span class="p">,</span> <span class="mi">2</span><span class="p">)</span><span class="o">.</span><span class="n">dot</span><span class="p">([[</span><span class="mf">1.0</span><span class="p">,</span> <span class="o">-</span><span class="mf">0.8</span><span class="p">],</span> <span class="p">[</span><span class="o">-</span><span class="mf">0.8</span><span class="p">,</span> <span class="mf">1.0</span><span class="p">]]),</span> <span class="n">axis</span><span class="o">=</span><span class="mi">0</span><span class="p">)</span> <span class="o">+</span> <span class="mi">100</span><span class="p">,</span>
50
+ <span class="n">columns</span><span class="o">=</span><span class="p">[</span><span class="s2">&quot;Security 1&quot;</span><span class="p">,</span> <span class="s2">&quot;Security 2&quot;</span><span class="p">],</span>
51
+ <span class="n">index</span><span class="o">=</span><span class="n">pd</span><span class="o">.</span><span class="n">date_range</span><span class="p">(</span><span class="n">start</span><span class="o">=</span><span class="s2">&quot;01-01-2007&quot;</span><span class="p">,</span> <span class="n">periods</span><span class="o">=</span><span class="mi">150</span><span class="p">),</span>
52
+ <span class="p">)</span>
53
+ <span class="n">size</span> <span class="o">=</span> <span class="mi">100</span>
54
+ <span class="n">np</span><span class="o">.</span><span class="n">random</span><span class="o">.</span><span class="n">seed</span><span class="p">(</span><span class="mi">0</span><span class="p">)</span>
55
+ <span class="n">x_data</span> <span class="o">=</span> <span class="nb">range</span><span class="p">(</span><span class="n">size</span><span class="p">)</span>
56
+ <span class="n">y_data</span> <span class="o">=</span> <span class="n">np</span><span class="o">.</span><span class="n">cumsum</span><span class="p">(</span><span class="n">np</span><span class="o">.</span><span class="n">random</span><span class="o">.</span><span class="n">randn</span><span class="p">(</span><span class="n">size</span><span class="p">)</span> <span class="o">*</span> <span class="mf">100.0</span><span class="p">)</span>
57
+ <span class="n">ord_keys</span> <span class="o">=</span> <span class="n">np</span><span class="o">.</span><span class="n">array</span><span class="p">([</span><span class="s2">&quot;A&quot;</span><span class="p">,</span> <span class="s2">&quot;B&quot;</span><span class="p">,</span> <span class="s2">&quot;C&quot;</span><span class="p">,</span> <span class="s2">&quot;D&quot;</span><span class="p">,</span> <span class="s2">&quot;E&quot;</span><span class="p">,</span> <span class="s2">&quot;F&quot;</span><span class="p">])</span>
58
+ <span class="n">ordinal_data</span> <span class="o">=</span> <span class="n">np</span><span class="o">.</span><span class="n">random</span><span class="o">.</span><span class="n">randint</span><span class="p">(</span><span class="mi">5</span><span class="p">,</span> <span class="n">size</span><span class="o">=</span><span class="n">size</span><span class="p">)</span>
59
+ </pre></div>
60
+
61
+ </div>
62
+ </div>
63
+ </div>
64
+
65
+ </div>
66
+
67
+
68
+
69
+ <div class="
70
+ cell border-box-sizing code_cell rendered">
71
+ <div class="input">
72
+
73
+ <div class="inner_cell">
74
+ <div class="input_area">
75
+ <div class=" highlight hl-ipython3"><pre><span></span><span class="n">symbols</span> <span class="o">=</span> <span class="p">[</span><span class="s2">&quot;Security 1&quot;</span><span class="p">,</span> <span class="s2">&quot;Security 2&quot;</span><span class="p">]</span>
76
+
77
+ <span class="n">dates_all</span> <span class="o">=</span> <span class="n">price_data</span><span class="o">.</span><span class="n">index</span><span class="o">.</span><span class="n">values</span>
78
+ <span class="n">dates_all_t</span> <span class="o">=</span> <span class="n">dates_all</span><span class="p">[</span><span class="mi">1</span><span class="p">:]</span>
79
+ <span class="n">sec1_levels</span> <span class="o">=</span> <span class="n">np</span><span class="o">.</span><span class="n">array</span><span class="p">(</span><span class="n">price_data</span><span class="p">[</span><span class="n">symbols</span><span class="p">[</span><span class="mi">0</span><span class="p">]]</span><span class="o">.</span><span class="n">values</span><span class="o">.</span><span class="n">flatten</span><span class="p">())</span>
80
+ <span class="n">log_sec1</span> <span class="o">=</span> <span class="n">np</span><span class="o">.</span><span class="n">log</span><span class="p">(</span><span class="n">sec1_levels</span><span class="p">)</span>
81
+ <span class="n">sec1_returns</span> <span class="o">=</span> <span class="n">log_sec1</span><span class="p">[</span><span class="mi">1</span><span class="p">:]</span> <span class="o">-</span> <span class="n">log_sec1</span><span class="p">[:</span><span class="o">-</span><span class="mi">1</span><span class="p">]</span>
82
+
83
+ <span class="n">sec2_levels</span> <span class="o">=</span> <span class="n">np</span><span class="o">.</span><span class="n">array</span><span class="p">(</span><span class="n">price_data</span><span class="p">[</span><span class="n">symbols</span><span class="p">[</span><span class="mi">1</span><span class="p">]]</span><span class="o">.</span><span class="n">values</span><span class="o">.</span><span class="n">flatten</span><span class="p">())</span>
84
+ </pre></div>
85
+
86
+ </div>
87
+ </div>
88
+ </div>
89
+
90
+ </div>
91
+ <div class="cell border-box-sizing text_cell rendered"><div class="inner_cell">
92
+ <div class="text_cell_render border-box-sizing rendered_html">
93
+ <h1 id="Basic-Scatter">Basic Scatter<a class="anchor-link" href="#Basic-Scatter">&#182;</a></h1>
94
+ </div>
95
+ </div>
96
+ </div>
97
+
98
+
99
+
100
+ <div class="
101
+ cell border-box-sizing code_cell rendered">
102
+ <div class="input">
103
+
104
+ <div class="inner_cell">
105
+ <div class="input_area">
106
+ <div class=" highlight hl-ipython3"><pre><span></span><span class="n">fig</span> <span class="o">=</span> <span class="n">plt</span><span class="o">.</span><span class="n">figure</span><span class="p">()</span>
107
+ <span class="n">axes_options</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;x&quot;</span><span class="p">:</span> <span class="p">{</span><span class="s2">&quot;label&quot;</span><span class="p">:</span> <span class="s2">&quot;Date&quot;</span><span class="p">},</span> <span class="s2">&quot;y&quot;</span><span class="p">:</span> <span class="p">{</span><span class="s2">&quot;label&quot;</span><span class="p">:</span> <span class="s2">&quot;Security 2&quot;</span><span class="p">}}</span>
108
+ <span class="n">scatt</span> <span class="o">=</span> <span class="n">plt</span><span class="o">.</span><span class="n">scatter</span><span class="p">(</span><span class="n">dates_all</span><span class="p">,</span> <span class="n">sec2_levels</span><span class="p">,</span> <span class="n">axes_options</span><span class="o">=</span><span class="n">axes_options</span><span class="p">,</span> <span class="n">stroke</span><span class="o">=</span><span class="s2">&quot;black&quot;</span><span class="p">)</span>
109
+ <span class="n">fig</span>
110
+ </pre></div>
111
+
112
+ </div>
113
+ </div>
114
+ </div>
115
+
116
+ </div>
117
+ <div class="cell border-box-sizing text_cell rendered"><div class="inner_cell">
118
+ <div class="text_cell_render border-box-sizing rendered_html">
119
+ <h2 id="Changing-the-marker-and-adding-text-to-each-point-of-the-scatter">Changing the marker and adding text to each point of the scatter<a class="anchor-link" href="#Changing-the-marker-and-adding-text-to-each-point-of-the-scatter">&#182;</a></h2>
120
+ </div>
121
+ </div>
122
+ </div>
123
+
124
+
125
+
126
+ <div class="
127
+ cell border-box-sizing code_cell rendered">
128
+ <div class="input">
129
+
130
+ <div class="inner_cell">
131
+ <div class="input_area">
132
+ <div class=" highlight hl-ipython3"><pre><span></span><span class="n">fig</span> <span class="o">=</span> <span class="n">plt</span><span class="o">.</span><span class="n">figure</span><span class="p">(</span><span class="n">padding_x</span><span class="o">=</span><span class="mf">0.025</span><span class="p">)</span>
133
+ <span class="n">scatt</span> <span class="o">=</span> <span class="n">plt</span><span class="o">.</span><span class="n">scatter</span><span class="p">(</span>
134
+ <span class="n">x_data</span><span class="p">[:</span><span class="mi">10</span><span class="p">],</span> <span class="n">y_data</span><span class="p">[:</span><span class="mi">10</span><span class="p">],</span> <span class="n">names</span><span class="o">=</span><span class="n">np</span><span class="o">.</span><span class="n">arange</span><span class="p">(</span><span class="mi">10</span><span class="p">),</span> <span class="n">colors</span><span class="o">=</span><span class="p">[</span><span class="s2">&quot;red&quot;</span><span class="p">],</span> <span class="n">marker</span><span class="o">=</span><span class="s2">&quot;cross&quot;</span>
135
+ <span class="p">)</span>
136
+ <span class="n">fig</span>
137
+ </pre></div>
138
+
139
+ </div>
140
+ </div>
141
+ </div>
142
+
143
+ </div>
144
+ <div class="cell border-box-sizing text_cell rendered"><div class="inner_cell">
145
+ <div class="text_cell_render border-box-sizing rendered_html">
146
+ <h2 id="Changing-the-opacity-of-each-marker">Changing the opacity of each marker<a class="anchor-link" href="#Changing-the-opacity-of-each-marker">&#182;</a></h2>
147
+ </div>
148
+ </div>
149
+ </div>
150
+
151
+
152
+
153
+ <div class="
154
+ cell border-box-sizing code_cell rendered">
155
+ <div class="input">
156
+
157
+ <div class="inner_cell">
158
+ <div class="input_area">
159
+ <div class=" highlight hl-ipython3"><pre><span></span><span class="n">scatt</span><span class="o">.</span><span class="n">opacities</span> <span class="o">=</span> <span class="p">[</span><span class="mf">0.3</span><span class="p">,</span> <span class="mf">0.5</span><span class="p">,</span> <span class="mf">1.0</span><span class="p">]</span>
160
+ </pre></div>
161
+
162
+ </div>
163
+ </div>
164
+ </div>
165
+
166
+ </div>
167
+ <div class="cell border-box-sizing text_cell rendered"><div class="inner_cell">
168
+ <div class="text_cell_render border-box-sizing rendered_html">
169
+ <h1 id="Representing-additional-dimensions-of-data">Representing additional dimensions of data<a class="anchor-link" href="#Representing-additional-dimensions-of-data">&#182;</a></h1>
170
+ </div>
171
+ </div>
172
+ </div>
173
+ <div class="cell border-box-sizing text_cell rendered"><div class="inner_cell">
174
+ <div class="text_cell_render border-box-sizing rendered_html">
175
+ <h2 id="Linear-Scale-for-Color-Data">Linear Scale for Color Data<a class="anchor-link" href="#Linear-Scale-for-Color-Data">&#182;</a></h2>
176
+ </div>
177
+ </div>
178
+ </div>
179
+
180
+
181
+
182
+ <div class="
183
+ cell border-box-sizing code_cell rendered">
184
+ <div class="input">
185
+
186
+ <div class="inner_cell">
187
+ <div class="input_area">
188
+ <div class=" highlight hl-ipython3"><pre><span></span><span class="c1"># give extra margin on the right to accommodate the color axis</span>
189
+ <span class="n">fig_margin</span> <span class="o">=</span> <span class="nb">dict</span><span class="p">(</span><span class="n">top</span><span class="o">=</span><span class="mi">50</span><span class="p">,</span> <span class="n">bottom</span><span class="o">=</span><span class="mi">70</span><span class="p">,</span> <span class="n">left</span><span class="o">=</span><span class="mi">50</span><span class="p">,</span> <span class="n">right</span><span class="o">=</span><span class="mi">100</span><span class="p">)</span>
190
+ <span class="n">fig</span> <span class="o">=</span> <span class="n">plt</span><span class="o">.</span><span class="n">figure</span><span class="p">(</span><span class="n">title</span><span class="o">=</span><span class="s2">&quot;Scatter&quot;</span><span class="p">,</span> <span class="n">fig_margin</span><span class="o">=</span><span class="n">fig_margin</span><span class="p">)</span>
191
+ <span class="n">plt</span><span class="o">.</span><span class="n">scales</span><span class="p">(</span><span class="n">scales</span><span class="o">=</span><span class="p">{</span><span class="s2">&quot;color&quot;</span><span class="p">:</span> <span class="n">ColorScale</span><span class="p">()})</span>
192
+
193
+ <span class="n">axes_options</span> <span class="o">=</span> <span class="p">{</span>
194
+ <span class="s2">&quot;x&quot;</span><span class="p">:</span> <span class="nb">dict</span><span class="p">(</span><span class="n">label</span><span class="o">=</span><span class="s2">&quot;Date&quot;</span><span class="p">,</span> <span class="n">num_ticks</span><span class="o">=</span><span class="mi">10</span><span class="p">,</span> <span class="n">label_location</span><span class="o">=</span><span class="s2">&quot;end&quot;</span><span class="p">),</span>
195
+ <span class="s2">&quot;y&quot;</span><span class="p">:</span> <span class="nb">dict</span><span class="p">(</span><span class="n">label</span><span class="o">=</span><span class="s2">&quot;Security 2&quot;</span><span class="p">,</span> <span class="n">sid</span><span class="o">=</span><span class="s2">&quot;left&quot;</span><span class="p">),</span>
196
+ <span class="s2">&quot;color&quot;</span><span class="p">:</span> <span class="nb">dict</span><span class="p">(</span>
197
+ <span class="n">tick_format</span><span class="o">=</span><span class="s2">&quot;0.2%&quot;</span><span class="p">,</span> <span class="n">label</span><span class="o">=</span><span class="s2">&quot;Returns&quot;</span><span class="p">,</span> <span class="n">orientation</span><span class="o">=</span><span class="s2">&quot;vertical&quot;</span><span class="p">,</span> <span class="n">side</span><span class="o">=</span><span class="s2">&quot;right&quot;</span>
198
+ <span class="p">),</span>
199
+ <span class="p">}</span>
200
+ <span class="n">scatter</span> <span class="o">=</span> <span class="n">plt</span><span class="o">.</span><span class="n">scatter</span><span class="p">(</span>
201
+ <span class="n">dates_all</span><span class="p">,</span>
202
+ <span class="n">sec2_levels</span><span class="p">,</span>
203
+ <span class="n">color</span><span class="o">=</span><span class="n">sec1_returns</span><span class="p">,</span>
204
+ <span class="n">stroke</span><span class="o">=</span><span class="s2">&quot;black&quot;</span><span class="p">,</span>
205
+ <span class="n">axes_options</span><span class="o">=</span><span class="n">axes_options</span><span class="p">,</span>
206
+ <span class="p">)</span>
207
+ <span class="n">fig</span>
208
+ </pre></div>
209
+
210
+ </div>
211
+ </div>
212
+ </div>
213
+
214
+ </div>
215
+
216
+
217
+
218
+ <div class="
219
+ cell border-box-sizing code_cell rendered">
220
+ <div class="input">
221
+
222
+ <div class="inner_cell">
223
+ <div class="input_area">
224
+ <div class=" highlight hl-ipython3"><pre><span></span><span class="c1">## Changing the default color.</span>
225
+ <span class="n">scatter</span><span class="o">.</span><span class="n">colors</span> <span class="o">=</span> <span class="p">[</span><span class="s2">&quot;blue&quot;</span><span class="p">]</span> <span class="c1"># In this case, the dot with the highest X changes to blue.</span>
226
+ </pre></div>
227
+
228
+ </div>
229
+ </div>
230
+ </div>
231
+
232
+ </div>
233
+
234
+
235
+
236
+ <div class="
237
+ cell border-box-sizing code_cell rendered">
238
+ <div class="input">
239
+
240
+ <div class="inner_cell">
241
+ <div class="input_area">
242
+ <div class=" highlight hl-ipython3"><pre><span></span><span class="c1">## setting the fill to be empty</span>
243
+ <span class="n">scatter</span><span class="o">.</span><span class="n">stroke</span> <span class="o">=</span> <span class="kc">None</span>
244
+ <span class="n">scatter</span><span class="o">.</span><span class="n">fill</span> <span class="o">=</span> <span class="kc">False</span>
245
+ </pre></div>
246
+
247
+ </div>
248
+ </div>
249
+ </div>
250
+
251
+ </div>
252
+
253
+
254
+
255
+ <div class="
256
+ cell border-box-sizing code_cell rendered">
257
+ <div class="input">
258
+
259
+ <div class="inner_cell">
260
+ <div class="input_area">
261
+ <div class=" highlight hl-ipython3"><pre><span></span><span class="c1">## Setting the fill back</span>
262
+ <span class="n">scatter</span><span class="o">.</span><span class="n">stroke</span> <span class="o">=</span> <span class="s2">&quot;black&quot;</span>
263
+ <span class="n">scatter</span><span class="o">.</span><span class="n">fill</span> <span class="o">=</span> <span class="kc">True</span>
264
+ </pre></div>
265
+
266
+ </div>
267
+ </div>
268
+ </div>
269
+
270
+ </div>
271
+
272
+
273
+
274
+ <div class="
275
+ cell border-box-sizing code_cell rendered">
276
+ <div class="input">
277
+
278
+ <div class="inner_cell">
279
+ <div class="input_area">
280
+ <div class=" highlight hl-ipython3"><pre><span></span><span class="c1">## Changing the color to a different variable</span>
281
+ <span class="n">scatter</span><span class="o">.</span><span class="n">color</span> <span class="o">=</span> <span class="n">sec2_levels</span>
282
+ <span class="n">color_axis</span> <span class="o">=</span> <span class="p">[</span><span class="n">a</span> <span class="k">for</span> <span class="n">a</span> <span class="ow">in</span> <span class="n">fig</span><span class="o">.</span><span class="n">axes</span> <span class="k">if</span> <span class="nb">type</span><span class="p">(</span><span class="n">a</span><span class="o">.</span><span class="n">scale</span><span class="p">)</span> <span class="o">==</span> <span class="n">ColorScale</span><span class="p">][</span><span class="mi">0</span><span class="p">]</span>
283
+ <span class="n">color_axis</span><span class="o">.</span><span class="n">tick_format</span> <span class="o">=</span> <span class="s2">&quot;0.0f&quot;</span>
284
+ <span class="n">color_axis</span><span class="o">.</span><span class="n">label</span> <span class="o">=</span> <span class="s2">&quot;Security 2&quot;</span>
285
+ </pre></div>
286
+
287
+ </div>
288
+ </div>
289
+ </div>
290
+
291
+ </div>
292
+
293
+
294
+
295
+ <div class="
296
+ cell border-box-sizing code_cell rendered">
297
+ <div class="input">
298
+
299
+ <div class="inner_cell">
300
+ <div class="input_area">
301
+ <div class=" highlight hl-ipython3"><pre><span></span><span class="c1">## Changing the range of the color scale</span>
302
+ <span class="n">color_axis</span><span class="o">.</span><span class="n">scale</span><span class="o">.</span><span class="n">colors</span> <span class="o">=</span> <span class="p">[</span><span class="s2">&quot;blue&quot;</span><span class="p">,</span> <span class="s2">&quot;green&quot;</span><span class="p">,</span> <span class="s2">&quot;orange&quot;</span><span class="p">]</span>
303
+ </pre></div>
304
+
305
+ </div>
306
+ </div>
307
+ </div>
308
+
309
+ </div>
310
+ <div class="cell border-box-sizing text_cell rendered"><div class="inner_cell">
311
+ <div class="text_cell_render border-box-sizing rendered_html">
312
+ <h2 id="Date-Scale-for-Color-Data">Date Scale for Color Data<a class="anchor-link" href="#Date-Scale-for-Color-Data">&#182;</a></h2>
313
+ </div>
314
+ </div>
315
+ </div>
316
+
317
+
318
+
319
+ <div class="
320
+ cell border-box-sizing code_cell rendered">
321
+ <div class="input">
322
+
323
+ <div class="inner_cell">
324
+ <div class="input_area">
325
+ <div class=" highlight hl-ipython3"><pre><span></span><span class="n">fig</span> <span class="o">=</span> <span class="n">plt</span><span class="o">.</span><span class="n">figure</span><span class="p">(</span><span class="n">fig_margin</span><span class="o">=</span><span class="nb">dict</span><span class="p">(</span><span class="n">top</span><span class="o">=</span><span class="mi">50</span><span class="p">,</span> <span class="n">bottom</span><span class="o">=</span><span class="mi">80</span><span class="p">,</span> <span class="n">left</span><span class="o">=</span><span class="mi">50</span><span class="p">,</span> <span class="n">right</span><span class="o">=</span><span class="mi">50</span><span class="p">))</span>
326
+ <span class="n">plt</span><span class="o">.</span><span class="n">scales</span><span class="p">(</span><span class="n">scales</span><span class="o">=</span><span class="p">{</span><span class="s2">&quot;color&quot;</span><span class="p">:</span> <span class="n">DateColorScale</span><span class="p">(</span><span class="n">scheme</span><span class="o">=</span><span class="s2">&quot;Reds&quot;</span><span class="p">)})</span>
327
+
328
+ <span class="n">axes_options</span> <span class="o">=</span> <span class="p">{</span>
329
+ <span class="s2">&quot;x&quot;</span><span class="p">:</span> <span class="nb">dict</span><span class="p">(</span><span class="n">label</span><span class="o">=</span><span class="s2">&quot;Security 2&quot;</span><span class="p">),</span>
330
+ <span class="s2">&quot;y&quot;</span><span class="p">:</span> <span class="nb">dict</span><span class="p">(</span><span class="n">label</span><span class="o">=</span><span class="s2">&quot;Security 1&quot;</span><span class="p">),</span>
331
+ <span class="s2">&quot;color&quot;</span><span class="p">:</span> <span class="nb">dict</span><span class="p">(</span><span class="n">tick_format</span><span class="o">=</span><span class="s2">&quot;0.2%&quot;</span><span class="p">,</span> <span class="n">label</span><span class="o">=</span><span class="s2">&quot;Date&quot;</span><span class="p">,</span> <span class="n">num_ticks</span><span class="o">=</span><span class="mi">5</span><span class="p">),</span>
332
+ <span class="p">}</span>
333
+ <span class="n">scatter</span> <span class="o">=</span> <span class="n">plt</span><span class="o">.</span><span class="n">scatter</span><span class="p">(</span>
334
+ <span class="n">sec2_levels</span><span class="p">,</span>
335
+ <span class="n">sec1_levels</span><span class="p">,</span>
336
+ <span class="n">color</span><span class="o">=</span><span class="n">dates_all</span><span class="p">,</span>
337
+ <span class="n">default_size</span><span class="o">=</span><span class="mi">128</span><span class="p">,</span>
338
+ <span class="n">stroke</span><span class="o">=</span><span class="s2">&quot;black&quot;</span><span class="p">,</span>
339
+ <span class="n">axes_options</span><span class="o">=</span><span class="n">axes_options</span><span class="p">,</span>
340
+ <span class="p">)</span>
341
+ <span class="n">fig</span>
342
+ </pre></div>
343
+
344
+ </div>
345
+ </div>
346
+ </div>
347
+
348
+ </div>
349
+ <div class="cell border-box-sizing text_cell rendered"><div class="inner_cell">
350
+ <div class="text_cell_render border-box-sizing rendered_html">
351
+ <h2 id="Ordinal-Scale-for-Color">Ordinal Scale for Color<a class="anchor-link" href="#Ordinal-Scale-for-Color">&#182;</a></h2>
352
+ </div>
353
+ </div>
354
+ </div>
355
+
356
+
357
+
358
+ <div class="
359
+ cell border-box-sizing code_cell rendered">
360
+ <div class="input">
361
+
362
+ <div class="inner_cell">
363
+ <div class="input_area">
364
+ <div class=" highlight hl-ipython3"><pre><span></span><span class="n">factor</span> <span class="o">=</span> <span class="nb">int</span><span class="p">(</span><span class="n">np</span><span class="o">.</span><span class="n">ceil</span><span class="p">(</span><span class="nb">len</span><span class="p">(</span><span class="n">sec2_levels</span><span class="p">)</span> <span class="o">*</span> <span class="mf">1.0</span> <span class="o">/</span> <span class="nb">len</span><span class="p">(</span><span class="n">ordinal_data</span><span class="p">)))</span>
365
+ <span class="n">ordinal_data</span> <span class="o">=</span> <span class="n">np</span><span class="o">.</span><span class="n">tile</span><span class="p">(</span><span class="n">ordinal_data</span><span class="p">,</span> <span class="n">factor</span><span class="p">)</span>
366
+
367
+ <span class="n">fig</span> <span class="o">=</span> <span class="n">plt</span><span class="o">.</span><span class="n">figure</span><span class="p">(</span><span class="n">fig_margin</span><span class="o">=</span><span class="nb">dict</span><span class="p">(</span><span class="n">top</span><span class="o">=</span><span class="mi">50</span><span class="p">,</span> <span class="n">bottom</span><span class="o">=</span><span class="mi">70</span><span class="p">,</span> <span class="n">left</span><span class="o">=</span><span class="mi">100</span><span class="p">,</span> <span class="n">right</span><span class="o">=</span><span class="mi">100</span><span class="p">))</span>
368
+ <span class="n">plt</span><span class="o">.</span><span class="n">scales</span><span class="p">(</span>
369
+ <span class="n">scales</span><span class="o">=</span><span class="p">{</span>
370
+ <span class="s2">&quot;color&quot;</span><span class="p">:</span> <span class="n">OrdinalColorScale</span><span class="p">(</span>
371
+ <span class="n">colors</span><span class="o">=</span><span class="p">[</span><span class="s2">&quot;DodgerBlue&quot;</span><span class="p">,</span> <span class="s2">&quot;SeaGreen&quot;</span><span class="p">,</span> <span class="s2">&quot;Yellow&quot;</span><span class="p">,</span> <span class="s2">&quot;HotPink&quot;</span><span class="p">,</span> <span class="s2">&quot;OrangeRed&quot;</span><span class="p">]</span>
372
+ <span class="p">)</span>
373
+ <span class="p">}</span>
374
+ <span class="p">)</span>
375
+
376
+ <span class="n">axes_options</span> <span class="o">=</span> <span class="p">{</span>
377
+ <span class="s2">&quot;x&quot;</span><span class="p">:</span> <span class="nb">dict</span><span class="p">(</span><span class="n">label</span><span class="o">=</span><span class="s2">&quot;Security 2&quot;</span><span class="p">,</span> <span class="n">label_location</span><span class="o">=</span><span class="s2">&quot;end&quot;</span><span class="p">),</span>
378
+ <span class="s2">&quot;y&quot;</span><span class="p">:</span> <span class="nb">dict</span><span class="p">(</span><span class="n">label</span><span class="o">=</span><span class="s2">&quot;Security 1 Returns&quot;</span><span class="p">,</span> <span class="n">tick_format</span><span class="o">=</span><span class="s2">&quot;.0%&quot;</span><span class="p">),</span>
379
+ <span class="s2">&quot;color&quot;</span><span class="p">:</span> <span class="nb">dict</span><span class="p">(</span><span class="n">label</span><span class="o">=</span><span class="s2">&quot;Class&quot;</span><span class="p">,</span> <span class="n">side</span><span class="o">=</span><span class="s2">&quot;right&quot;</span><span class="p">),</span>
380
+ <span class="p">}</span>
381
+ <span class="n">scatter2</span> <span class="o">=</span> <span class="n">plt</span><span class="o">.</span><span class="n">scatter</span><span class="p">(</span>
382
+ <span class="n">sec2_levels</span><span class="p">[</span><span class="mi">1</span><span class="p">:],</span>
383
+ <span class="n">sec1_returns</span><span class="p">,</span>
384
+ <span class="n">color</span><span class="o">=</span><span class="n">ordinal_data</span><span class="p">,</span>
385
+ <span class="n">stroke</span><span class="o">=</span><span class="s2">&quot;black&quot;</span><span class="p">,</span>
386
+ <span class="n">axes_options</span><span class="o">=</span><span class="n">axes_options</span><span class="p">,</span>
387
+ <span class="p">)</span>
388
+ <span class="n">fig</span>
389
+ </pre></div>
390
+
391
+ </div>
392
+ </div>
393
+ </div>
394
+
395
+ </div>
396
+
397
+
398
+
399
+ <div class="
400
+ cell border-box-sizing code_cell rendered">
401
+ <div class="input">
402
+
403
+ <div class="inner_cell">
404
+ <div class="input_area">
405
+ <div class=" highlight hl-ipython3"><pre><span></span><span class="n">color_axis</span> <span class="o">=</span> <span class="p">[</span><span class="n">a</span> <span class="k">for</span> <span class="n">a</span> <span class="ow">in</span> <span class="n">fig</span><span class="o">.</span><span class="n">axes</span> <span class="k">if</span> <span class="nb">isinstance</span><span class="p">(</span><span class="n">a</span><span class="o">.</span><span class="n">scale</span><span class="p">,</span> <span class="n">ColorScale</span><span class="p">)][</span><span class="mi">0</span><span class="p">]</span>
406
+ <span class="n">color_axis</span><span class="o">.</span><span class="n">tick_format</span> <span class="o">=</span> <span class="s2">&quot;0.2f&quot;</span>
407
+ <span class="n">color_axis</span><span class="o">.</span><span class="n">scale</span><span class="o">.</span><span class="n">colors</span> <span class="o">=</span> <span class="p">[</span><span class="s2">&quot;blue&quot;</span><span class="p">,</span> <span class="s2">&quot;red&quot;</span><span class="p">,</span> <span class="s2">&quot;green&quot;</span><span class="p">,</span> <span class="s2">&quot;yellow&quot;</span><span class="p">,</span> <span class="s2">&quot;orange&quot;</span><span class="p">]</span>
408
+ </pre></div>
409
+
410
+ </div>
411
+ </div>
412
+ </div>
413
+
414
+ </div>
415
+ <div class="cell border-box-sizing text_cell rendered"><div class="inner_cell">
416
+ <div class="text_cell_render border-box-sizing rendered_html">
417
+ <h2 id="Setting-size-and-opacity-based-on-data">Setting size and opacity based on data<a class="anchor-link" href="#Setting-size-and-opacity-based-on-data">&#182;</a></h2>
418
+ </div>
419
+ </div>
420
+ </div>
421
+
422
+
423
+
424
+ <div class="
425
+ cell border-box-sizing code_cell rendered">
426
+ <div class="input">
427
+
428
+ <div class="inner_cell">
429
+ <div class="input_area">
430
+ <div class=" highlight hl-ipython3"><pre><span></span><span class="n">fig</span> <span class="o">=</span> <span class="n">plt</span><span class="o">.</span><span class="n">figure</span><span class="p">()</span>
431
+ <span class="n">plt</span><span class="o">.</span><span class="n">scales</span><span class="p">(</span><span class="n">scales</span><span class="o">=</span><span class="p">{</span><span class="s2">&quot;opacity&quot;</span><span class="p">:</span> <span class="n">LinearScale</span><span class="p">(),</span> <span class="s2">&quot;size&quot;</span><span class="p">:</span> <span class="n">LinearScale</span><span class="p">()})</span>
432
+ <span class="n">axes_options</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;x&quot;</span><span class="p">:</span> <span class="p">{</span><span class="s2">&quot;label&quot;</span><span class="p">:</span> <span class="s2">&quot;Security 2&quot;</span><span class="p">},</span> <span class="s2">&quot;y&quot;</span><span class="p">:</span> <span class="p">{</span><span class="s2">&quot;label&quot;</span><span class="p">:</span> <span class="s2">&quot;Security 1&quot;</span><span class="p">}}</span>
433
+
434
+ <span class="n">scatter2</span> <span class="o">=</span> <span class="n">plt</span><span class="o">.</span><span class="n">scatter</span><span class="p">(</span>
435
+ <span class="n">sec2_levels</span><span class="p">[</span><span class="mi">1</span><span class="p">:],</span>
436
+ <span class="n">sec1_levels</span><span class="p">,</span>
437
+ <span class="n">opacity</span><span class="o">=</span><span class="p">[],</span>
438
+ <span class="n">size</span><span class="o">=</span><span class="n">sec1_returns</span><span class="p">,</span>
439
+ <span class="n">default_size</span><span class="o">=</span><span class="mi">128</span><span class="p">,</span>
440
+ <span class="n">colors</span><span class="o">=</span><span class="p">[</span><span class="s2">&quot;orangered&quot;</span><span class="p">],</span>
441
+ <span class="n">stroke</span><span class="o">=</span><span class="s2">&quot;black&quot;</span><span class="p">,</span>
442
+ <span class="n">axes_options</span><span class="o">=</span><span class="n">axes_options</span><span class="p">,</span>
443
+ <span class="p">)</span>
444
+ <span class="n">fig</span>
445
+ </pre></div>
446
+
447
+ </div>
448
+ </div>
449
+ </div>
450
+
451
+ </div>
452
+
453
+
454
+
455
+ <div class="
456
+ cell border-box-sizing code_cell rendered">
457
+ <div class="input">
458
+
459
+ <div class="inner_cell">
460
+ <div class="input_area">
461
+ <div class=" highlight hl-ipython3"><pre><span></span><span class="c1">## Changing the opacity of the scatter</span>
462
+ <span class="n">scatter2</span><span class="o">.</span><span class="n">opacities</span> <span class="o">=</span> <span class="p">[</span><span class="mf">0.5</span><span class="p">,</span> <span class="mf">0.3</span><span class="p">,</span> <span class="mf">0.1</span><span class="p">]</span>
463
+ </pre></div>
464
+
465
+ </div>
466
+ </div>
467
+ </div>
468
+
469
+ </div>
470
+
471
+
472
+
473
+ <div class="
474
+ cell border-box-sizing code_cell rendered">
475
+ <div class="input">
476
+
477
+ <div class="inner_cell">
478
+ <div class="input_area">
479
+ <div class=" highlight hl-ipython3"><pre><span></span><span class="c1">## Resetting the size for the scatter</span>
480
+ <span class="n">scatter2</span><span class="o">.</span><span class="n">size</span> <span class="o">=</span> <span class="kc">None</span>
481
+ </pre></div>
482
+
483
+ </div>
484
+ </div>
485
+ </div>
486
+
487
+ </div>
488
+
489
+
490
+
491
+ <div class="
492
+ cell border-box-sizing code_cell rendered">
493
+ <div class="input">
494
+
495
+ <div class="inner_cell">
496
+ <div class="input_area">
497
+ <div class=" highlight hl-ipython3"><pre><span></span><span class="c1">## Resetting the opacity and setting the opacity according to the date</span>
498
+ <span class="n">scatter2</span><span class="o">.</span><span class="n">opacities</span> <span class="o">=</span> <span class="p">[</span><span class="mf">1.0</span><span class="p">]</span>
499
+ </pre></div>
500
+
501
+ </div>
502
+ </div>
503
+ </div>
504
+
505
+ </div>
506
+
507
+
508
+
509
+ <div class="
510
+ cell border-box-sizing code_cell rendered">
511
+ <div class="input">
512
+
513
+ <div class="inner_cell">
514
+ <div class="input_area">
515
+ <div class=" highlight hl-ipython3"><pre><span></span><span class="n">scatter2</span><span class="o">.</span><span class="n">opacity</span> <span class="o">=</span> <span class="n">dates_all</span>
516
+ </pre></div>
517
+
518
+ </div>
519
+ </div>
520
+ </div>
521
+
522
+ </div>
523
+ <div class="cell border-box-sizing text_cell rendered"><div class="inner_cell">
524
+ <div class="text_cell_render border-box-sizing rendered_html">
525
+ <h2 id="Changing-the-skew-of-the-marker">Changing the skew of the marker<a class="anchor-link" href="#Changing-the-skew-of-the-marker">&#182;</a></h2>
526
+ </div>
527
+ </div>
528
+ </div>
529
+
530
+
531
+
532
+ <div class="
533
+ cell border-box-sizing code_cell rendered">
534
+ <div class="input">
535
+
536
+ <div class="inner_cell">
537
+ <div class="input_area">
538
+ <div class=" highlight hl-ipython3"><pre><span></span><span class="n">fig</span> <span class="o">=</span> <span class="n">plt</span><span class="o">.</span><span class="n">figure</span><span class="p">(</span><span class="n">animation_duration</span><span class="o">=</span><span class="mi">1000</span><span class="p">)</span>
539
+ <span class="n">plt</span><span class="o">.</span><span class="n">scales</span><span class="p">(</span><span class="n">scales</span><span class="o">=</span><span class="p">{</span><span class="s2">&quot;skew&quot;</span><span class="p">:</span> <span class="n">LinearScale</span><span class="p">()})</span>
540
+ <span class="n">axes_options</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;x&quot;</span><span class="p">:</span> <span class="p">{</span><span class="s2">&quot;label&quot;</span><span class="p">:</span> <span class="s2">&quot;Security 2&quot;</span><span class="p">},</span> <span class="s2">&quot;y&quot;</span><span class="p">:</span> <span class="p">{</span><span class="s2">&quot;label&quot;</span><span class="p">:</span> <span class="s2">&quot;Security 1&quot;</span><span class="p">}}</span>
541
+ <span class="n">scatter</span> <span class="o">=</span> <span class="n">plt</span><span class="o">.</span><span class="n">scatter</span><span class="p">(</span>
542
+ <span class="n">sec2_levels</span><span class="p">[</span><span class="mi">1</span><span class="p">:],</span>
543
+ <span class="n">sec1_levels</span><span class="p">,</span>
544
+ <span class="n">skew</span><span class="o">=</span><span class="n">sec1_returns</span><span class="p">,</span>
545
+ <span class="n">stroke</span><span class="o">=</span><span class="s2">&quot;black&quot;</span><span class="p">,</span>
546
+ <span class="n">colors</span><span class="o">=</span><span class="p">[</span><span class="s2">&quot;gold&quot;</span><span class="p">],</span>
547
+ <span class="n">default_size</span><span class="o">=</span><span class="mi">200</span><span class="p">,</span>
548
+ <span class="n">marker</span><span class="o">=</span><span class="s2">&quot;rectangle&quot;</span><span class="p">,</span>
549
+ <span class="n">default_skew</span><span class="o">=</span><span class="mi">0</span><span class="p">,</span>
550
+ <span class="n">axes_options</span><span class="o">=</span><span class="n">axes_options</span><span class="p">,</span>
551
+ <span class="p">)</span>
552
+ <span class="n">fig</span>
553
+ </pre></div>
554
+
555
+ </div>
556
+ </div>
557
+ </div>
558
+
559
+ </div>
560
+
561
+
562
+
563
+ <div class="
564
+ cell border-box-sizing code_cell rendered">
565
+ <div class="input">
566
+
567
+ <div class="inner_cell">
568
+ <div class="input_area">
569
+ <div class=" highlight hl-ipython3"><pre><span></span><span class="n">scatter</span><span class="o">.</span><span class="n">skew</span> <span class="o">=</span> <span class="kc">None</span>
570
+ </pre></div>
571
+
572
+ </div>
573
+ </div>
574
+ </div>
575
+
576
+ </div>
577
+
578
+
579
+
580
+ <div class="
581
+ cell border-box-sizing code_cell rendered">
582
+ <div class="input">
583
+
584
+ <div class="inner_cell">
585
+ <div class="input_area">
586
+ <div class=" highlight hl-ipython3"><pre><span></span><span class="n">scatter</span><span class="o">.</span><span class="n">skew</span> <span class="o">=</span> <span class="n">sec1_returns</span>
587
+ </pre></div>
588
+
589
+ </div>
590
+ </div>
591
+ </div>
592
+
593
+ </div>
594
+ <div class="cell border-box-sizing text_cell rendered"><div class="inner_cell">
595
+ <div class="text_cell_render border-box-sizing rendered_html">
596
+ <h2 id="Rotation-scale">Rotation scale<a class="anchor-link" href="#Rotation-scale">&#182;</a></h2>
597
+ </div>
598
+ </div>
599
+ </div>
600
+
601
+
602
+
603
+ <div class="
604
+ cell border-box-sizing code_cell rendered">
605
+ <div class="input">
606
+
607
+ <div class="inner_cell">
608
+ <div class="input_area">
609
+ <div class=" highlight hl-ipython3"><pre><span></span><span class="n">x1</span> <span class="o">=</span> <span class="n">np</span><span class="o">.</span><span class="n">linspace</span><span class="p">(</span><span class="o">-</span><span class="mi">1</span><span class="p">,</span> <span class="mi">1</span><span class="p">,</span> <span class="mi">30</span><span class="p">)</span>
610
+ <span class="n">y1</span> <span class="o">=</span> <span class="n">np</span><span class="o">.</span><span class="n">linspace</span><span class="p">(</span><span class="o">-</span><span class="mi">1</span><span class="p">,</span> <span class="mi">1</span><span class="p">,</span> <span class="mi">30</span><span class="p">)</span>
611
+ <span class="n">x</span><span class="p">,</span> <span class="n">y</span> <span class="o">=</span> <span class="n">np</span><span class="o">.</span><span class="n">meshgrid</span><span class="p">(</span><span class="n">x1</span><span class="p">,</span> <span class="n">y1</span><span class="p">)</span>
612
+ <span class="n">x</span><span class="p">,</span> <span class="n">y</span> <span class="o">=</span> <span class="n">x</span><span class="o">.</span><span class="n">flatten</span><span class="p">(),</span> <span class="n">y</span><span class="o">.</span><span class="n">flatten</span><span class="p">()</span>
613
+ <span class="n">rot</span> <span class="o">=</span> <span class="n">x</span> <span class="o">**</span> <span class="mi">2</span> <span class="o">+</span> <span class="n">y</span> <span class="o">**</span> <span class="mi">2</span>
614
+ <span class="n">color</span> <span class="o">=</span> <span class="n">x</span> <span class="o">-</span> <span class="n">y</span>
615
+
616
+ <span class="n">fig</span> <span class="o">=</span> <span class="n">plt</span><span class="o">.</span><span class="n">figure</span><span class="p">(</span><span class="n">animation_duration</span><span class="o">=</span><span class="mi">1000</span><span class="p">)</span>
617
+ <span class="n">plt</span><span class="o">.</span><span class="n">scales</span><span class="p">(</span><span class="n">scales</span><span class="o">=</span><span class="p">{</span><span class="s2">&quot;color&quot;</span><span class="p">:</span> <span class="n">ColorScale</span><span class="p">(</span><span class="n">scheme</span><span class="o">=</span><span class="s2">&quot;Reds&quot;</span><span class="p">),</span> <span class="s2">&quot;rotation&quot;</span><span class="p">:</span> <span class="n">LinearScale</span><span class="p">()})</span>
618
+ <span class="n">scatter</span> <span class="o">=</span> <span class="n">plt</span><span class="o">.</span><span class="n">scatter</span><span class="p">(</span>
619
+ <span class="n">x</span><span class="p">,</span>
620
+ <span class="n">y</span><span class="p">,</span>
621
+ <span class="n">rotation</span><span class="o">=</span><span class="n">rot</span><span class="p">,</span>
622
+ <span class="n">color</span><span class="o">=</span><span class="n">color</span><span class="p">,</span>
623
+ <span class="n">stroke</span><span class="o">=</span><span class="s2">&quot;black&quot;</span><span class="p">,</span>
624
+ <span class="n">default_size</span><span class="o">=</span><span class="mi">200</span><span class="p">,</span>
625
+ <span class="n">marker</span><span class="o">=</span><span class="s2">&quot;arrow&quot;</span><span class="p">,</span>
626
+ <span class="n">default_skew</span><span class="o">=</span><span class="mf">0.5</span><span class="p">,</span>
627
+ <span class="p">)</span>
628
+ <span class="n">fig</span>
629
+ </pre></div>
630
+
631
+ </div>
632
+ </div>
633
+ </div>
634
+
635
+ </div>
636
+
637
+
638
+
639
+ <div class="
640
+ cell border-box-sizing code_cell rendered">
641
+ <div class="input">
642
+
643
+ <div class="inner_cell">
644
+ <div class="input_area">
645
+ <div class=" highlight hl-ipython3"><pre><span></span><span class="n">scatter</span><span class="o">.</span><span class="n">rotation</span> <span class="o">=</span> <span class="mf">1.0</span> <span class="o">/</span> <span class="p">(</span><span class="n">x</span> <span class="o">**</span> <span class="mi">2</span> <span class="o">+</span> <span class="n">y</span> <span class="o">**</span> <span class="mi">2</span> <span class="o">+</span> <span class="mi">1</span><span class="p">)</span>
646
+ </pre></div>
647
+
648
+ </div>
649
+ </div>
650
+ </div>
651
+
652
+ </div>
653
+ <div class="cell border-box-sizing text_cell rendered"><div class="inner_cell">
654
+ <div class="text_cell_render border-box-sizing rendered_html">
655
+ <h1 id="Scatter-Chart-Interactions">Scatter Chart Interactions<a class="anchor-link" href="#Scatter-Chart-Interactions">&#182;</a></h1>
656
+ </div>
657
+ </div>
658
+ </div>
659
+ <div class="cell border-box-sizing text_cell rendered"><div class="inner_cell">
660
+ <div class="text_cell_render border-box-sizing rendered_html">
661
+ <h2 id="Moving-points-in-Scatter">Moving points in Scatter<a class="anchor-link" href="#Moving-points-in-Scatter">&#182;</a></h2>
662
+ </div>
663
+ </div>
664
+ </div>
665
+
666
+
667
+
668
+ <div class="
669
+ cell border-box-sizing code_cell rendered">
670
+ <div class="input">
671
+
672
+ <div class="inner_cell">
673
+ <div class="input_area">
674
+ <div class=" highlight hl-ipython3"><pre><span></span><span class="c1">## Enabling moving of points in scatter. Try to click and drag any of the points in the scatter and</span>
675
+ <span class="c1">## notice the line representing the mean of the data update</span>
676
+ <span class="n">fig</span> <span class="o">=</span> <span class="n">plt</span><span class="o">.</span><span class="n">figure</span><span class="p">()</span>
677
+ <span class="n">scat</span> <span class="o">=</span> <span class="n">plt</span><span class="o">.</span><span class="n">scatter</span><span class="p">(</span><span class="n">x_data</span><span class="p">[:</span><span class="mi">10</span><span class="p">],</span> <span class="n">y_data</span><span class="p">[:</span><span class="mi">10</span><span class="p">],</span> <span class="n">colors</span><span class="o">=</span><span class="p">[</span><span class="s2">&quot;orange&quot;</span><span class="p">],</span> <span class="n">enable_move</span><span class="o">=</span><span class="kc">True</span><span class="p">)</span>
678
+ <span class="n">lin</span> <span class="o">=</span> <span class="n">plt</span><span class="o">.</span><span class="n">plot</span><span class="p">([],</span> <span class="p">[],</span> <span class="n">line_style</span><span class="o">=</span><span class="s2">&quot;dotted&quot;</span><span class="p">,</span> <span class="n">colors</span><span class="o">=</span><span class="p">[</span><span class="s2">&quot;orange&quot;</span><span class="p">])</span>
679
+
680
+
681
+ <span class="k">def</span> <span class="nf">update_line</span><span class="p">(</span><span class="n">change</span><span class="o">=</span><span class="kc">None</span><span class="p">):</span>
682
+ <span class="k">with</span> <span class="n">lin</span><span class="o">.</span><span class="n">hold_sync</span><span class="p">():</span>
683
+ <span class="n">lin</span><span class="o">.</span><span class="n">x</span> <span class="o">=</span> <span class="p">[</span><span class="n">np</span><span class="o">.</span><span class="n">min</span><span class="p">(</span><span class="n">scat</span><span class="o">.</span><span class="n">x</span><span class="p">),</span> <span class="n">np</span><span class="o">.</span><span class="n">max</span><span class="p">(</span><span class="n">scat</span><span class="o">.</span><span class="n">x</span><span class="p">)]</span>
684
+ <span class="n">lin</span><span class="o">.</span><span class="n">y</span> <span class="o">=</span> <span class="p">[</span><span class="n">np</span><span class="o">.</span><span class="n">mean</span><span class="p">(</span><span class="n">scat</span><span class="o">.</span><span class="n">y</span><span class="p">),</span> <span class="n">np</span><span class="o">.</span><span class="n">mean</span><span class="p">(</span><span class="n">scat</span><span class="o">.</span><span class="n">y</span><span class="p">)]</span>
685
+
686
+
687
+ <span class="n">update_line</span><span class="p">()</span>
688
+
689
+ <span class="c1"># update line on change of x or y of scatter</span>
690
+ <span class="n">scat</span><span class="o">.</span><span class="n">observe</span><span class="p">(</span><span class="n">update_line</span><span class="p">,</span> <span class="n">names</span><span class="o">=</span><span class="p">[</span><span class="s2">&quot;x&quot;</span><span class="p">])</span>
691
+ <span class="n">scat</span><span class="o">.</span><span class="n">observe</span><span class="p">(</span><span class="n">update_line</span><span class="p">,</span> <span class="n">names</span><span class="o">=</span><span class="p">[</span><span class="s2">&quot;y&quot;</span><span class="p">])</span>
692
+
693
+ <span class="n">fig</span>
694
+ </pre></div>
695
+
696
+ </div>
697
+ </div>
698
+ </div>
699
+
700
+ </div>
701
+
702
+
703
+
704
+ <div class="
705
+ cell border-box-sizing code_cell rendered">
706
+ <div class="input">
707
+
708
+ <div class="inner_cell">
709
+ <div class="input_area">
710
+ <div class=" highlight hl-ipython3"><pre><span></span><span class="n">latex_widget</span> <span class="o">=</span> <span class="n">ipywidgets</span><span class="o">.</span><span class="n">Label</span><span class="p">()</span>
711
+
712
+
713
+ <span class="k">def</span> <span class="nf">callback_help</span><span class="p">(</span><span class="n">name</span><span class="p">,</span> <span class="n">value</span><span class="p">):</span>
714
+ <span class="n">latex_widget</span><span class="o">.</span><span class="n">value</span> <span class="o">=</span> <span class="nb">str</span><span class="p">(</span><span class="n">value</span><span class="p">)</span>
715
+
716
+
717
+ <span class="n">latex_widget</span>
718
+ </pre></div>
719
+
720
+ </div>
721
+ </div>
722
+ </div>
723
+
724
+ </div>
725
+
726
+
727
+
728
+ <div class="
729
+ cell border-box-sizing code_cell rendered">
730
+ <div class="input">
731
+
732
+ <div class="inner_cell">
733
+ <div class="input_area">
734
+ <div class=" highlight hl-ipython3"><pre><span></span><span class="n">scat</span><span class="o">.</span><span class="n">on_drag_start</span><span class="p">(</span><span class="n">callback_help</span><span class="p">)</span>
735
+ </pre></div>
736
+
737
+ </div>
738
+ </div>
739
+ </div>
740
+
741
+ </div>
742
+
743
+
744
+
745
+ <div class="
746
+ cell border-box-sizing code_cell rendered">
747
+ <div class="input">
748
+
749
+ <div class="inner_cell">
750
+ <div class="input_area">
751
+ <div class=" highlight hl-ipython3"><pre><span></span><span class="n">scat</span><span class="o">.</span><span class="n">on_drag</span><span class="p">(</span><span class="n">callback_help</span><span class="p">)</span>
752
+ </pre></div>
753
+
754
+ </div>
755
+ </div>
756
+ </div>
757
+
758
+ </div>
759
+
760
+
761
+
762
+ <div class="
763
+ cell border-box-sizing code_cell rendered">
764
+ <div class="input">
765
+
766
+ <div class="inner_cell">
767
+ <div class="input_area">
768
+ <div class=" highlight hl-ipython3"><pre><span></span><span class="n">scat</span><span class="o">.</span><span class="n">on_drag_end</span><span class="p">(</span><span class="n">callback_help</span><span class="p">)</span>
769
+ </pre></div>
770
+
771
+ </div>
772
+ </div>
773
+ </div>
774
+
775
+ </div>
776
+
777
+
778
+
779
+ <div class="
780
+ cell border-box-sizing code_cell rendered">
781
+ <div class="input">
782
+
783
+ <div class="inner_cell">
784
+ <div class="input_area">
785
+ <div class=" highlight hl-ipython3"><pre><span></span><span class="c1">## Restricting movement to only along the Y-axis</span>
786
+ <span class="n">scat</span><span class="o">.</span><span class="n">restrict_y</span> <span class="o">=</span> <span class="kc">True</span>
787
+ </pre></div>
788
+
789
+ </div>
790
+ </div>
791
+ </div>
792
+
793
+ </div>
794
+ <div class="cell border-box-sizing text_cell rendered"><div class="inner_cell">
795
+ <div class="text_cell_render border-box-sizing rendered_html">
796
+ <h2 id="Adding-points-to-Scatter">Adding points to Scatter<a class="anchor-link" href="#Adding-points-to-Scatter">&#182;</a></h2>
797
+ </div>
798
+ </div>
799
+ </div>
800
+
801
+
802
+
803
+ <div class="
804
+ cell border-box-sizing code_cell rendered">
805
+ <div class="input">
806
+
807
+ <div class="inner_cell">
808
+ <div class="input_area">
809
+ <div class=" highlight hl-ipython3"><pre><span></span><span class="c1">## Enabling adding the points to Scatter. Try clicking anywhere on the scatter to add points</span>
810
+ <span class="k">with</span> <span class="n">scat</span><span class="o">.</span><span class="n">hold_sync</span><span class="p">():</span>
811
+ <span class="n">scat</span><span class="o">.</span><span class="n">enable_move</span> <span class="o">=</span> <span class="kc">False</span>
812
+ <span class="n">scat</span><span class="o">.</span><span class="n">interactions</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;click&quot;</span><span class="p">:</span> <span class="s2">&quot;add&quot;</span><span class="p">}</span>
813
+ </pre></div>
814
+
815
+ </div>
816
+ </div>
817
+ </div>
818
+
819
+ </div>
820
+ <div class="cell border-box-sizing text_cell rendered"><div class="inner_cell">
821
+ <div class="text_cell_render border-box-sizing rendered_html">
822
+ <h2 id="Updating-X-and-Y-while-moving-the-point">Updating X and Y while moving the point<a class="anchor-link" href="#Updating-X-and-Y-while-moving-the-point">&#182;</a></h2>
823
+ </div>
824
+ </div>
825
+ </div>
826
+
827
+
828
+
829
+ <div class="
830
+ cell border-box-sizing code_cell rendered">
831
+ <div class="input">
832
+
833
+ <div class="inner_cell">
834
+ <div class="input_area">
835
+ <div class=" highlight hl-ipython3"><pre><span></span><span class="c1">## In this case on drag, the line updates as you move the points.</span>
836
+ <span class="k">with</span> <span class="n">scat</span><span class="o">.</span><span class="n">hold_sync</span><span class="p">():</span>
837
+ <span class="n">scat</span><span class="o">.</span><span class="n">enable_move</span> <span class="o">=</span> <span class="kc">True</span>
838
+ <span class="n">scat</span><span class="o">.</span><span class="n">update_on_move</span> <span class="o">=</span> <span class="kc">True</span>
839
+ <span class="n">scat</span><span class="o">.</span><span class="n">interactions</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;click&quot;</span><span class="p">:</span> <span class="kc">None</span><span class="p">}</span>
840
+ </pre></div>
841
+
842
+ </div>
843
+ </div>
844
+ </div>
845
+
846
+ </div>
847
+ <div class="cell border-box-sizing text_cell rendered"><div class="inner_cell">
848
+ <div class="text_cell_render border-box-sizing rendered_html">
849
+ <h2 id="Custom-event-on-end-of-drag">Custom event on end of drag<a class="anchor-link" href="#Custom-event-on-end-of-drag">&#182;</a></h2>
850
+ </div>
851
+ </div>
852
+ </div>
853
+
854
+
855
+
856
+ <div class="
857
+ cell border-box-sizing code_cell rendered">
858
+ <div class="input">
859
+
860
+ <div class="inner_cell">
861
+ <div class="input_area">
862
+ <div class=" highlight hl-ipython3"><pre><span></span><span class="c1">## Whenever drag is ended, there is a custom event dispatched which can be listened to.</span>
863
+ <span class="c1">## try dragging a point and see the data associated with the event being printed</span>
864
+ <span class="k">def</span> <span class="nf">test_func</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">content</span><span class="p">):</span>
865
+ <span class="nb">print</span><span class="p">(</span><span class="s2">&quot;received drag end&quot;</span><span class="p">,</span> <span class="n">content</span><span class="p">)</span>
866
+
867
+
868
+ <span class="n">scat</span><span class="o">.</span><span class="n">on_drag_end</span><span class="p">(</span><span class="n">test_func</span><span class="p">)</span>
869
+ </pre></div>
870
+
871
+ </div>
872
+ </div>
873
+ </div>
874
+
875
+ </div>
876
+ <div class="cell border-box-sizing text_cell rendered"><div class="inner_cell">
877
+ <div class="text_cell_render border-box-sizing rendered_html">
878
+ <h2 id="Adding-tooltip-and-custom-hover-style">Adding tooltip and custom hover style<a class="anchor-link" href="#Adding-tooltip-and-custom-hover-style">&#182;</a></h2>
879
+ </div>
880
+ </div>
881
+ </div>
882
+
883
+
884
+
885
+ <div class="
886
+ cell border-box-sizing code_cell rendered">
887
+ <div class="input">
888
+
889
+ <div class="inner_cell">
890
+ <div class="input_area">
891
+ <div class=" highlight hl-ipython3"><pre><span></span><span class="n">x_data</span> <span class="o">=</span> <span class="n">x_data</span><span class="p">[:</span><span class="mi">50</span><span class="p">]</span>
892
+ <span class="n">y_data</span> <span class="o">=</span> <span class="n">y_data</span><span class="p">[:</span><span class="mi">50</span><span class="p">]</span>
893
+
894
+ <span class="n">fig</span> <span class="o">=</span> <span class="n">plt</span><span class="o">.</span><span class="n">figure</span><span class="p">()</span>
895
+ <span class="n">def_tt</span> <span class="o">=</span> <span class="n">Tooltip</span><span class="p">(</span><span class="n">fields</span><span class="o">=</span><span class="p">[</span><span class="s2">&quot;x&quot;</span><span class="p">,</span> <span class="s2">&quot;y&quot;</span><span class="p">],</span> <span class="n">formats</span><span class="o">=</span><span class="p">[</span><span class="s2">&quot;&quot;</span><span class="p">,</span> <span class="s2">&quot;.2f&quot;</span><span class="p">])</span>
896
+ <span class="n">scatter_chart</span> <span class="o">=</span> <span class="n">plt</span><span class="o">.</span><span class="n">scatter</span><span class="p">(</span>
897
+ <span class="n">x_data</span><span class="p">,</span>
898
+ <span class="n">y_data</span><span class="p">,</span>
899
+ <span class="n">colors</span><span class="o">=</span><span class="p">[</span><span class="s2">&quot;dodgerblue&quot;</span><span class="p">],</span>
900
+ <span class="n">tooltip</span><span class="o">=</span><span class="n">def_tt</span><span class="p">,</span>
901
+ <span class="n">stroke</span><span class="o">=</span><span class="s2">&quot;black&quot;</span><span class="p">,</span>
902
+ <span class="n">unhovered_style</span><span class="o">=</span><span class="p">{</span><span class="s2">&quot;opacity&quot;</span><span class="p">:</span> <span class="mf">0.5</span><span class="p">},</span>
903
+ <span class="p">)</span>
904
+ <span class="n">fig</span>
905
+ </pre></div>
906
+
907
+ </div>
908
+ </div>
909
+ </div>
910
+
911
+ </div>
912
+
913
+
914
+
915
+ <div class="
916
+ cell border-box-sizing code_cell rendered">
917
+ <div class="input">
918
+
919
+ <div class="inner_cell">
920
+ <div class="input_area">
921
+ <div class=" highlight hl-ipython3"><pre><span></span><span class="c1">## removing field names from the tooltip</span>
922
+ <span class="n">def_tt</span><span class="o">.</span><span class="n">show_labels</span> <span class="o">=</span> <span class="kc">False</span>
923
+ </pre></div>
924
+
925
+ </div>
926
+ </div>
927
+ </div>
928
+
929
+ </div>
930
+
931
+
932
+
933
+ <div class="
934
+ cell border-box-sizing code_cell rendered">
935
+ <div class="input">
936
+
937
+ <div class="inner_cell">
938
+ <div class="input_area">
939
+ <div class=" highlight hl-ipython3"><pre><span></span><span class="c1">## changing the fields displayed in the tooltip</span>
940
+ <span class="n">def_tt</span><span class="o">.</span><span class="n">fields</span> <span class="o">=</span> <span class="p">[</span><span class="s2">&quot;y&quot;</span><span class="p">]</span>
941
+ </pre></div>
942
+
943
+ </div>
944
+ </div>
945
+ </div>
946
+
947
+ </div>
948
+