j1-template 2022.5.0.rc4 → 2022.5.1.rc1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/_includes/themes/j1/modules/attics/generator.html +5 -13
- data/_includes/themes/j1/procedures/global/date-german.proc +67 -0
- data/assets/data/banner.html +2 -2
- data/assets/data/menu.html +1 -1
- data/assets/data/mmenu.html +36 -36
- data/assets/themes/j1/adapter/js/attic.js +114 -62
- data/assets/themes/j1/adapter/js/cookieConsent.js +42 -25
- data/assets/themes/j1/adapter/js/masterslider.js +2 -2
- data/assets/themes/j1/adapter/js/mmenu.js +2 -2
- data/assets/themes/j1/core/css/themes/unolight/bootstrap.css +28 -3
- data/assets/themes/j1/core/css/themes/unolight/bootstrap.min.css +1 -1
- data/assets/themes/j1/modules/backstretch/js/backstretch.js +5 -5
- data/assets/themes/j1/modules/backstretch/js/backstretch.min.js +1 -1
- data/assets/themes/j1/modules/backstretch/js/v2.1.16/backstretch.js +1696 -0
- data/assets/themes/j1/modules/backstretch/js/v2.1.16/backstretch.min.js +20 -0
- data/assets/themes/j1/modules/backstretch/js/v2.1.18/backstretch.js +1627 -0
- data/assets/themes/j1/modules/backstretch/js/v2.1.18/backstretch.min.js +20 -0
- data/assets/themes/j1/modules/cryptoJS/js/rc4.js +2 -2
- data/assets/themes/j1/modules/mmenuLight/README.md +22 -0
- data/assets/themes/j1/modules/mmenuLight/css/mmenu-light.css +224 -243
- data/assets/themes/j1/modules/mmenuLight/css/mmenu-light.min.css +3 -3
- data/assets/themes/j1/modules/mmenuLight/css/theme/uno/mmenu.css +95 -55
- data/assets/themes/j1/modules/mmenuLight/css/theme/uno/mmenu.min.css +1 -1
- data/assets/themes/j1/modules/mmenuLight/js/mmenu.js +57 -440
- data/assets/themes/j1/modules/mmenuLight/js/mmenu.min.js +4 -15
- data/assets/themes/j1/modules/{twemoji/js/picker → themeSwitcher}/LICENSE +21 -21
- data/assets/themes/j1/modules/themeSwitcher/README.md +166 -0
- data/assets/themes/j1/modules/themeSwitcher/js/switcher.js +2 -2
- data/assets/themes/j1/modules/themeSwitcher/js/switcher.min.js +1 -1
- data/lib/j1/version.rb +1 -1
- data/lib/starter_web/Gemfile +1 -1
- data/lib/starter_web/README.md +440 -175
- data/lib/starter_web/_config.yml +2 -2
- data/lib/starter_web/_data/blocks/banner.yml +1 -1
- data/lib/starter_web/_data/modules/attics.yml +12 -0
- data/lib/starter_web/_data/modules/defaults/attics.yml +16 -1
- data/lib/starter_web/_data/modules/defaults/cookies.yml +1 -1
- data/lib/starter_web/_data/modules/navigator_menu.yml +31 -25
- data/lib/starter_web/_includes/attributes.asciidoc +2 -0
- data/lib/starter_web/_plugins/lunr_index.rb +1 -1
- data/lib/starter_web/assets/images/modules/attics/1920x1280/ben-kolde.jpg +0 -0
- data/lib/starter_web/assets/images/modules/attics/1920x1280/braden-collum.jpg +0 -0
- data/lib/starter_web/assets/images/modules/attics/1920x1280/ev.jpg +0 -0
- data/lib/starter_web/assets/images/modules/attics/1920x1280/firmbee-com.jpg +0 -0
- data/lib/starter_web/assets/images/modules/attics/1920x1280/max-harlynking.jpg +0 -0
- data/lib/starter_web/assets/images/modules/attics/guillaume-bolduc-1920x1280.jpg +0 -0
- data/lib/starter_web/assets/images/modules/attics/spacex-1920x1280.jpg +0 -0
- data/lib/starter_web/assets/videos/headers/{still → present_videos/still}/underground-broadway.jpg +0 -0
- data/lib/starter_web/assets/videos/headers/present_videos/underground-broadway.mp4 +0 -0
- data/lib/starter_web/collections/asciidoc_skeletons/simple-post/_posts/yyyy-mm-dd-your-post-name.asciidoc +3 -1
- data/lib/starter_web/collections/posts/public/featured/_posts/2021-01-01-about-cookies.adoc +3 -0
- data/lib/starter_web/collections/posts/public/featured/_posts/2021-02-01-site-generators.adoc +2 -3
- data/lib/starter_web/collections/posts/public/featured/_posts/2022-02-01-about-j1.adoc +3 -0
- data/lib/starter_web/collections/posts/public/series/_posts/2020-01-01-post-wiki-series.adoc +3 -0
- data/lib/starter_web/collections/posts/public/series/_posts/2020-01-02-post-wiki-series.adoc +3 -0
- data/lib/starter_web/collections/posts/public/series/_posts/2020-01-03-post-wiki-series.adoc +3 -0
- data/lib/starter_web/index.html +68 -12
- data/lib/starter_web/package.json +2 -2
- data/lib/starter_web/pages/public/about/features.adoc +119 -0
- data/lib/starter_web/pages/public/about/reporting_issues.adoc +78 -0
- data/lib/starter_web/pages/public/about/{about_site.adoc → site.adoc} +20 -15
- data/lib/starter_web/pages/public/asciidoc_skeletons/documentation/documentation.adoc +3 -0
- data/lib/starter_web/pages/public/asciidoc_skeletons/multi-document/multi.adoc +3 -0
- data/lib/starter_web/pages/public/asciidoc_skeletons/simple-document/simple.adoc +3 -0
- data/lib/starter_web/pages/public/blog/navigator/archive/categoryview.html +3 -0
- data/lib/starter_web/pages/public/blog/navigator/archive/dateview.html +4 -1
- data/lib/starter_web/pages/public/blog/navigator/archive/tagview.html +4 -1
- data/lib/starter_web/pages/public/blog/navigator/archive.html +4 -1
- data/lib/starter_web/pages/public/blog/navigator/index.html +4 -1
- data/lib/starter_web/pages/public/features/general.adoc +5 -1
- data/lib/starter_web/pages/public/features/template.adoc +4 -0
- data/lib/starter_web/pages/public/jupyter/examples/distributed/j1-circular-times-table.adoc +3 -0
- data/lib/starter_web/pages/public/jupyter/examples/distributed/j1-common-used-widgets.adoc +3 -0
- data/lib/starter_web/pages/public/jupyter/examples/distributed/j1-odes-in-python.adoc +3 -0
- data/lib/starter_web/pages/public/jupyter/examples/localized/j1_climate-change-forecast.adoc +3 -0
- data/lib/starter_web/pages/public/learn/quickstart.adoc +4 -1
- data/lib/starter_web/pages/public/learn/roundtrip/100_present_images.adoc +4 -1
- data/lib/starter_web/pages/public/learn/roundtrip/100_present_videos.adoc +16 -5
- data/lib/starter_web/pages/public/learn/roundtrip/200_typography.adoc +3 -0
- data/lib/starter_web/pages/public/learn/roundtrip/300_icon_fonts.adoc +3 -0
- data/lib/starter_web/pages/public/learn/roundtrip/400_asciidoc_extensions.adoc +3 -0
- data/lib/starter_web/pages/public/learn/roundtrip/410_bs_modals_extentions.adoc +3 -0
- data/lib/starter_web/pages/public/learn/roundtrip/420_responsive_tables_extensions.adoc +3 -0
- data/lib/starter_web/pages/public/learn/roundtrip/500_themes.adoc +3 -0
- data/lib/starter_web/pages/public/learn/roundtrip/600_quicksearch.adoc +6 -2
- data/lib/starter_web/pages/public/learn/where_to_go.adoc +3 -0
- data/lib/starter_web/pages/public/legal/de/100_copyright.adoc +3 -0
- data/lib/starter_web/pages/public/legal/de/100_impress.adoc +3 -0
- data/lib/starter_web/pages/public/legal/de/300_privacy.adoc +142 -0
- data/lib/starter_web/pages/public/legal/de/400_comment_policy.adoc +3 -0
- data/lib/starter_web/pages/public/legal/en/100_copyright.adoc +9 -1
- data/lib/starter_web/pages/public/legal/en/200_impress.adoc +10 -2
- data/lib/starter_web/pages/public/legal/en/300_privacy.adoc +66 -3
- data/lib/starter_web/pages/public/legal/en/400_comment_policy.adoc +3 -0
- data/lib/starter_web/pages/public/panels/intro_panel/panel.adoc +3 -0
- data/lib/starter_web/pages/public/plans/plans.adoc +3 -0
- data/lib/starter_web/pages/public/previewer/preview_bootstrap_theme.adoc +4 -0
- data/lib/starter_web/pages/public/se/se-fake.adoc +4 -0
- data/lib/starter_web/utilsrv/_defaults/package.json +1 -1
- data/lib/starter_web/utilsrv/package.json +1 -1
- metadata +22 -372
- data/assets/themes/j1/modules/twemoji/css/picker/twemoji-picker.css +0 -153
- data/assets/themes/j1/modules/twemoji/css/picker/twemoji-picker.min.css +0 -19
- data/assets/themes/j1/modules/twemoji/js/picker/twemoji-picker.js +0 -304
- data/assets/themes/j1/modules/twemoji/js/picker/twemoji-picker.min.js +0 -322
- data/assets/themes/j1/modules/twemoji/js/twemoji.js +0 -580
- data/assets/themes/j1/modules/twemoji/js/twemoji.min.js +0 -19
- data/lib/starter_web/assets/videos/headers/still/victoria-oskolovich-on-vimeo.jpg +0 -0
- data/lib/starter_web/pages/public/_jupyter/docs/_includes/attributes.asciidoc +0 -67
- data/lib/starter_web/pages/public/_jupyter/docs/_includes/documents/j1_docs_example_static.asciidoc +0 -232
- data/lib/starter_web/pages/public/_jupyter/docs/binderhub.adoc +0 -631
- data/lib/starter_web/pages/public/_jupyter/docs/j1-nbinteract.adoc +0 -638
- data/lib/starter_web/pages/public/_jupyter/docs/jupyterhub.adoc +0 -248
- data/lib/starter_web/pages/public/_jupyter/docs/nbinteract-widget-manual.adoc +0 -928
- data/lib/starter_web/pages/public/_jupyter/examples/distributed/j1-circular-times-table.adoc +0 -139
- data/lib/starter_web/pages/public/_jupyter/examples/distributed/j1-common-used-widgets.adoc +0 -229
- data/lib/starter_web/pages/public/_jupyter/examples/distributed/j1-odes-in-python.adoc +0 -112
- data/lib/starter_web/pages/public/_jupyter/examples/localized/j1-altair/j1-altair-visualisations.adoc +0 -142
- data/lib/starter_web/pages/public/_jupyter/examples/localized/j1-bokeh/j1-bokeh-visualisations.adoc +0 -171
- data/lib/starter_web/pages/public/_jupyter/examples/localized/j1-bokeh/j1-bqplot-eamples.adoc +0 -111
- data/lib/starter_web/pages/public/_jupyter/examples/localized/j1-plotly/j1-plotly-visualisations.adoc +0 -94
- data/lib/starter_web/pages/public/_jupyter/examples/localized/j1_climate-change-forecast.adoc +0 -106
- data/lib/starter_web/pages/public/_jupyter/notebooks/j1/.ipynb_checkpoints/j1_altair_interactive-checkpoint.ipynb +0 -16260
- data/lib/starter_web/pages/public/_jupyter/notebooks/j1/.ipynb_checkpoints/j1_bgplot_line_plot-checkpoint.ipynb +0 -247
- data/lib/starter_web/pages/public/_jupyter/notebooks/j1/.ipynb_checkpoints/j1_circular_times_table-Copy1-checkpoint.ipynb +0 -12382
- data/lib/starter_web/pages/public/_jupyter/notebooks/j1/.ipynb_checkpoints/j1_circular_times_table-checkpoint.ipynb +0 -12387
- data/lib/starter_web/pages/public/_jupyter/notebooks/j1/.ipynb_checkpoints/j1_circular_times_table-short-checkpoint.ipynb +0 -12170
- data/lib/starter_web/pages/public/_jupyter/notebooks/j1/.ipynb_checkpoints/j1_climate_change_forecast-checkpoint.ipynb +0 -1058
- data/lib/starter_web/pages/public/_jupyter/notebooks/j1/.ipynb_checkpoints/j1_docs_example_dynamic-checkpoint.ipynb +0 -14478
- data/lib/starter_web/pages/public/_jupyter/notebooks/j1/.ipynb_checkpoints/j1_interactive_widgets-Copy1-checkpoint.ipynb +0 -379
- data/lib/starter_web/pages/public/_jupyter/notebooks/j1/.ipynb_checkpoints/j1_interactive_widgets-checkpoint.ipynb +0 -442
- data/lib/starter_web/pages/public/_jupyter/notebooks/j1/.ipynb_checkpoints/j1_nbi_widgets-checkpoint.ipynb +0 -523
- data/lib/starter_web/pages/public/_jupyter/notebooks/j1/.ipynb_checkpoints/j1_nbi_widgets.line_charts-checkpoint.ipynb +0 -84
- data/lib/starter_web/pages/public/_jupyter/notebooks/j1/.ipynb_checkpoints/j1_nbi_widgets.questions-checkpoint.ipynb +0 -194
- data/lib/starter_web/pages/public/_jupyter/notebooks/j1/.ipynb_checkpoints/j1_nbi_widgets_bar_chart-checkpoint.ipynb +0 -89
- data/lib/starter_web/pages/public/_jupyter/notebooks/j1/.ipynb_checkpoints/j1_nbi_widgets_bar_charts-Copy1-checkpoint.ipynb +0 -164
- data/lib/starter_web/pages/public/_jupyter/notebooks/j1/.ipynb_checkpoints/j1_nbi_widgets_bar_charts-checkpoint.ipynb +0 -173
- data/lib/starter_web/pages/public/_jupyter/notebooks/j1/.ipynb_checkpoints/j1_nbi_widgets_bar_charts.1-checkpoint.ipynb +0 -256
- data/lib/starter_web/pages/public/_jupyter/notebooks/j1/.ipynb_checkpoints/j1_nbi_widgets_barcharts-checkpoint.ipynb +0 -126
- data/lib/starter_web/pages/public/_jupyter/notebooks/j1/.ipynb_checkpoints/j1_nbi_widgets_hist_chart-checkpoint.ipynb +0 -87
- data/lib/starter_web/pages/public/_jupyter/notebooks/j1/.ipynb_checkpoints/j1_nbi_widgets_line_chart-checkpoint.ipynb +0 -90
- data/lib/starter_web/pages/public/_jupyter/notebooks/j1/.ipynb_checkpoints/j1_nbi_widgets_line_charts-checkpoint.ipynb +0 -87
- data/lib/starter_web/pages/public/_jupyter/notebooks/j1/.ipynb_checkpoints/j1_nbi_widgets_question_multiple_choice-checkpoint.ipynb +0 -64
- data/lib/starter_web/pages/public/_jupyter/notebooks/j1/.ipynb_checkpoints/j1_nbi_widgets_question_short_answer-checkpoint.ipynb +0 -122
- data/lib/starter_web/pages/public/_jupyter/notebooks/j1/.ipynb_checkpoints/j1_nbi_widgets_questions-checkpoint.ipynb +0 -181
- data/lib/starter_web/pages/public/_jupyter/notebooks/j1/.ipynb_checkpoints/j1_nbi_widgets_scatter_chart-checkpoint.ipynb +0 -89
- data/lib/starter_web/pages/public/_jupyter/notebooks/j1/.ipynb_checkpoints/j1_nbi_widgets_scatter_charts-checkpoint.ipynb +0 -175
- data/lib/starter_web/pages/public/_jupyter/notebooks/j1/.ipynb_checkpoints/j1_nbi_widgets_scatter_drag_chart-checkpoint.ipynb +0 -87
- data/lib/starter_web/pages/public/_jupyter/notebooks/j1/.ipynb_checkpoints/j1_ode_selected-checkpoint.ipynb +0 -14478
- data/lib/starter_web/pages/public/_jupyter/notebooks/j1/.ipynb_checkpoints/j1_odes_in_python-checkpoint.ipynb +0 -15227
- data/lib/starter_web/pages/public/_jupyter/notebooks/j1/factor_by_factor.mp4 +0 -0
- data/lib/starter_web/pages/public/_jupyter/notebooks/j1/j1_circular_times_table.ipynb +0 -12382
- data/lib/starter_web/pages/public/_jupyter/notebooks/j1/j1_climate_change_forecast.ipynb +0 -1058
- data/lib/starter_web/pages/public/_jupyter/notebooks/j1/j1_docs_example_dynamic.ipynb +0 -14478
- data/lib/starter_web/pages/public/_jupyter/notebooks/j1/j1_interactive_widgets.ipynb +0 -442
- data/lib/starter_web/pages/public/_jupyter/notebooks/j1/j1_nbi_widgets.ipynb +0 -523
- data/lib/starter_web/pages/public/_jupyter/notebooks/j1/j1_nbi_widgets_bar_chart.ipynb +0 -89
- data/lib/starter_web/pages/public/_jupyter/notebooks/j1/j1_nbi_widgets_hist_chart.ipynb +0 -87
- data/lib/starter_web/pages/public/_jupyter/notebooks/j1/j1_nbi_widgets_line_chart.ipynb +0 -90
- data/lib/starter_web/pages/public/_jupyter/notebooks/j1/j1_nbi_widgets_question_multiple_choice.ipynb +0 -64
- data/lib/starter_web/pages/public/_jupyter/notebooks/j1/j1_nbi_widgets_question_short_answer.ipynb +0 -122
- data/lib/starter_web/pages/public/_jupyter/notebooks/j1/j1_nbi_widgets_scatter_chart.ipynb +0 -89
- data/lib/starter_web/pages/public/_jupyter/notebooks/j1/j1_nbi_widgets_scatter_drag_chart.ipynb +0 -87
- data/lib/starter_web/pages/public/_jupyter/notebooks/j1/j1_odes_in_python.ipynb +0 -15227
- data/lib/starter_web/pages/public/_jupyter/notebooks/j1/line_by_line.mp4 +0 -0
- data/lib/starter_web/pages/public/_jupyter/notebooks/j1/point_by_point.mp4 +0 -0
- data/lib/starter_web/pages/public/_jupyter/notebooks/j1-altair-tutorial/.ipynb_checkpoints/j1_altair_interactive-checkpoint.ipynb +0 -16296
- data/lib/starter_web/pages/public/_jupyter/notebooks/j1-altair-tutorial/.ipynb_checkpoints/j1_altair_non_interactive-checkpoint.ipynb +0 -15385
- data/lib/starter_web/pages/public/_jupyter/notebooks/j1-altair-tutorial/j1_altair_interactive.ipynb +0 -16296
- data/lib/starter_web/pages/public/_jupyter/notebooks/j1-altair-tutorial/j1_altair_non_interactive.ipynb +0 -15385
- data/lib/starter_web/pages/public/_jupyter/notebooks/j1-bokeh-tutorial/.ipynb_checkpoints/00 - Introduction and Setup-checkpoint.ipynb +0 -717
- data/lib/starter_web/pages/public/_jupyter/notebooks/j1-bokeh-tutorial/.ipynb_checkpoints/01 - Basic Plotting-checkpoint.ipynb +0 -1381
- data/lib/starter_web/pages/public/_jupyter/notebooks/j1-bokeh-tutorial/.ipynb_checkpoints/02 - Styling and Theming-checkpoint.ipynb +0 -1440
- data/lib/starter_web/pages/public/_jupyter/notebooks/j1-bokeh-tutorial/.ipynb_checkpoints/03 - Data Sources and Transformations-checkpoint.ipynb +0 -927
- data/lib/starter_web/pages/public/_jupyter/notebooks/j1-bokeh-tutorial/.ipynb_checkpoints/04 - Adding Annotations-checkpoint.ipynb +0 -1105
- data/lib/starter_web/pages/public/_jupyter/notebooks/j1-bokeh-tutorial/.ipynb_checkpoints/05 - Presentation Layouts-checkpoint.ipynb +0 -578
- data/lib/starter_web/pages/public/_jupyter/notebooks/j1-bokeh-tutorial/.ipynb_checkpoints/06 - Linking and Interactions-checkpoint.ipynb +0 -1196
- data/lib/starter_web/pages/public/_jupyter/notebooks/j1-bokeh-tutorial/.ipynb_checkpoints/07 - Bar and Categorical Data Plots-checkpoint.ipynb +0 -1681
- data/lib/starter_web/pages/public/_jupyter/notebooks/j1-bokeh-tutorial/.ipynb_checkpoints/08 - Graph and Network Plots-checkpoint.ipynb +0 -680
- data/lib/starter_web/pages/public/_jupyter/notebooks/j1-bokeh-tutorial/.ipynb_checkpoints/09 - Geographic Plots-checkpoint.ipynb +0 -693
- data/lib/starter_web/pages/public/_jupyter/notebooks/j1-bokeh-tutorial/.ipynb_checkpoints/10 - Exporting and Embedding-checkpoint.ipynb +0 -751
- data/lib/starter_web/pages/public/_jupyter/notebooks/j1-bokeh-tutorial/.ipynb_checkpoints/11 - Running Bokeh Applications-checkpoint.ipynb +0 -770
- data/lib/starter_web/pages/public/_jupyter/notebooks/j1-bokeh-tutorial/.ipynb_checkpoints/bokeh_tut_00_introduction_and_setup-checkpoint.ipynb +0 -666
- data/lib/starter_web/pages/public/_jupyter/notebooks/j1-bokeh-tutorial/.ipynb_checkpoints/j1_bokeh_01_basic_plotting-checkpoint.ipynb +0 -1365
- data/lib/starter_web/pages/public/_jupyter/notebooks/j1-bokeh-tutorial/.ipynb_checkpoints/j1_bokeh_02_styling_and_theming-checkpoint.ipynb +0 -1405
- data/lib/starter_web/pages/public/_jupyter/notebooks/j1-bokeh-tutorial/.ipynb_checkpoints/j1_bokeh_03_data_sources_and_transformations-checkpoint.ipynb +0 -856
- data/lib/starter_web/pages/public/_jupyter/notebooks/j1-bokeh-tutorial/.ipynb_checkpoints/j1_bokeh_04_adding_annotations-checkpoint.ipynb +0 -1167
- data/lib/starter_web/pages/public/_jupyter/notebooks/j1-bokeh-tutorial/.ipynb_checkpoints/j1_bokeh_05_presentation_layouts-checkpoint.ipynb +0 -601
- data/lib/starter_web/pages/public/_jupyter/notebooks/j1-bokeh-tutorial/.ipynb_checkpoints/j1_bokeh_06_linking_and_interactions-checkpoint.ipynb +0 -1356
- data/lib/starter_web/pages/public/_jupyter/notebooks/j1-bokeh-tutorial/.ipynb_checkpoints/j1_bokeh_07_bar_and_categorical_data_plots-checkpoint.ipynb +0 -1742
- data/lib/starter_web/pages/public/_jupyter/notebooks/j1-bokeh-tutorial/.ipynb_checkpoints/j1_bokeh_08_graph_and_network_plots-checkpoint.ipynb +0 -625
- data/lib/starter_web/pages/public/_jupyter/notebooks/j1-bokeh-tutorial/.ipynb_checkpoints/j1_bokeh_09_geographic_plots-checkpoint.ipynb +0 -685
- data/lib/starter_web/pages/public/_jupyter/notebooks/j1-bokeh-tutorial/.ipynb_checkpoints/j1_bokeh_10_exporting_and_embedding-checkpoint.ipynb +0 -726
- data/lib/starter_web/pages/public/_jupyter/notebooks/j1-bokeh-tutorial/.ipynb_checkpoints/j1_bokeh_10_exporting_and_embedding-checkpoint.org +0 -726
- data/lib/starter_web/pages/public/_jupyter/notebooks/j1-bokeh-tutorial/.ipynb_checkpoints/j1_bokeh_10_exporting_and_embedding.new-checkpoint.ipynb +0 -560
- data/lib/starter_web/pages/public/_jupyter/notebooks/j1-bokeh-tutorial/.ipynb_checkpoints/j1_bokeh_11_running_bokeh_applications-checkpoint.ipynb +0 -716
- data/lib/starter_web/pages/public/_jupyter/notebooks/j1-bokeh-tutorial/j1_bokeh_01_basic_plotting.ipynb +0 -1365
- data/lib/starter_web/pages/public/_jupyter/notebooks/j1-bokeh-tutorial/j1_bokeh_02_styling_and_theming.ipynb +0 -1405
- data/lib/starter_web/pages/public/_jupyter/notebooks/j1-bokeh-tutorial/j1_bokeh_03_data_sources_and_transformations.ipynb +0 -856
- data/lib/starter_web/pages/public/_jupyter/notebooks/j1-bokeh-tutorial/j1_bokeh_04_adding_annotations.ipynb +0 -1167
- data/lib/starter_web/pages/public/_jupyter/notebooks/j1-bokeh-tutorial/j1_bokeh_05_presentation_layouts.ipynb +0 -601
- data/lib/starter_web/pages/public/_jupyter/notebooks/j1-bokeh-tutorial/j1_bokeh_06_linking_and_interactions.ipynb +0 -1356
- data/lib/starter_web/pages/public/_jupyter/notebooks/j1-bokeh-tutorial/j1_bokeh_07_bar_and_categorical_data_plots.ipynb +0 -1742
- data/lib/starter_web/pages/public/_jupyter/notebooks/j1-bokeh-tutorial/j1_bokeh_08_graph_and_network_plots.ipynb +0 -625
- data/lib/starter_web/pages/public/_jupyter/notebooks/j1-bokeh-tutorial/j1_bokeh_09_geographic_plots.ipynb +0 -685
- data/lib/starter_web/pages/public/_jupyter/notebooks/j1-bqplot/.ipynb_checkpoints/j1_mathplot_vs_bqplot-checkpoint.ipynb +0 -336
- data/lib/starter_web/pages/public/_jupyter/notebooks/j1-bqplot/advanced/Feature_Vector_Distribution-Iris-Digits.ipynb +0 -433
- data/lib/starter_web/pages/public/_jupyter/notebooks/j1-bqplot/j1_bgplot_line_plot.ipynb +0 -244
- data/lib/starter_web/pages/public/_jupyter/notebooks/j1-bqplot/j1_circular_times_table-short.ipynb +0 -12170
- data/lib/starter_web/pages/public/_jupyter/notebooks/j1-bqplot/j1_mathplot_vs_bqplot.ipynb +0 -336
- data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/.ipynb_checkpoints/Index-checkpoint.ipynb +0 -163
- data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/.ipynb_checkpoints/Tutorials-checkpoint.ipynb +0 -51
- data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/Advanced Plotting/Advanced Plotting.ipynb +0 -289
- data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/Advanced Plotting/Animations.ipynb +0 -266
- data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/Advanced Plotting/Axis Properties.ipynb +0 -396
- data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/Advanced Plotting/Plotting Dates.ipynb +0 -318
- data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/Applications/Equity Index Performance/Time Series.ipynb +0 -158
- data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/Applications/Equity Index Performance/spx_prices.csv +0 -6799
- data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/Applications/Feature_Vector_Distribution-Iris-Digits.ipynb +0 -470
- data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/Applications/Index.ipynb +0 -49
- data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/Applications/Logs Analytics/Logs Dashboard.ipynb +0 -378
- data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/Applications/Mobile Patent Suits.ipynb +0 -123
- data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/Applications/Neural Network.ipynb +0 -177
- data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/Applications/Outlier Detection.ipynb +0 -311
- data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/Applications/Wealth Of Nations/Bubble Chart.ipynb +0 -255
- data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/Applications/Wealth Of Nations/Choropleth.ipynb +0 -275
- data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/Applications/Wealth Of Nations/nations.json +0 -1
- data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/Applications/Wealth Of Nations/world_map_codes.csv +0 -234
- data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/Basic Plotting/.ipynb_checkpoints/Basic Plotting-checkpoint.ipynb +0 -186
- data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/Basic Plotting/.ipynb_checkpoints/Pyplot-checkpoint.ipynb +0 -794
- data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/Basic Plotting/.ipynb_checkpoints/Untitled-checkpoint.ipynb +0 -323
- data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/Basic Plotting/Basic Plotting.ipynb +0 -261
- data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/Basic Plotting/Pyplot.ipynb +0 -1489
- data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/Index.ipynb +0 -163
- data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/Interactions/Interaction Layer.ipynb +0 -966
- data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/Interactions/Mark Interactions.ipynb +0 -476
- data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/Interactions/Selectors.ipynb +0 -427
- data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/Introduction.ipynb +0 -528
- data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/Marks/Object Model/Bars.ipynb +0 -480
- data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/Marks/Object Model/Bins.ipynb +0 -217
- data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/Marks/Object Model/Boxplot.ipynb +0 -253
- data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/Marks/Object Model/Candles.ipynb +0 -225
- data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/Marks/Object Model/FlexLine.ipynb +0 -123
- data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/Marks/Object Model/Graph.ipynb +0 -357
- data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/Marks/Object Model/GridHeatMap.ipynb +0 -422
- data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/Marks/Object Model/HeatMap.ipynb +0 -157
- data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/Marks/Object Model/Hist.ipynb +0 -176
- data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/Marks/Object Model/Image.ipynb +0 -195
- data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/Marks/Object Model/Label.ipynb +0 -189
- data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/Marks/Object Model/Lines.ipynb +0 -565
- data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/Marks/Object Model/Map.ipynb +0 -182
- data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/Marks/Object Model/Market Map.ipynb +0 -315
- data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/Marks/Object Model/Pie.ipynb +0 -465
- data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/Marks/Object Model/Scatter.ipynb +0 -835
- data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/Marks/Pyplot/Bars.ipynb +0 -362
- data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/Marks/Pyplot/Bins.ipynb +0 -252
- data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/Marks/Pyplot/Boxplot.ipynb +0 -273
- data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/Marks/Pyplot/Candles.ipynb +0 -242
- data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/Marks/Pyplot/GridHeatMap.ipynb +0 -417
- data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/Marks/Pyplot/HeatMap.ipynb +0 -155
- data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/Marks/Pyplot/Hist.ipynb +0 -238
- data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/Marks/Pyplot/Image.ipynb +0 -152
- data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/Marks/Pyplot/Label.ipynb +0 -206
- data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/Marks/Pyplot/Lines.ipynb +0 -474
- data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/Marks/Pyplot/Map.ipynb +0 -181
- data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/Marks/Pyplot/Pie.ipynb +0 -310
- data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/Marks/Pyplot/Scatter.ipynb +0 -702
- data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/Scales/Color Scales.ipynb +0 -495
- data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/Tutorials/.ipynb_checkpoints/Feature_Vector_Distribution-Iris-Digits-checkpoint.ipynb +0 -433
- data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/Tutorials/.ipynb_checkpoints/Linking Plots With Widgets-checkpoint.ipynb +0 -326
- data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/Tutorials/.ipynb_checkpoints/Updating Plots-Copy1-checkpoint.ipynb +0 -177
- data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/Tutorials/.ipynb_checkpoints/Updating Plots-checkpoint.ipynb +0 -177
- data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/Tutorials/Brush Interval Selector.ipynb +0 -154
- data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/Tutorials/Fast Interval Selector.ipynb +0 -152
- data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/Tutorials/Gaussian Density Widget.ipynb +0 -128
- data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/Tutorials/Gaussian Density.ipynb +0 -113
- data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/Tutorials/Linking Plots With Widgets.ipynb +0 -326
- data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/Tutorials/Object Model.ipynb +0 -179
- data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/Tutorials/Pyplot.ipynb +0 -174
- data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/Tutorials/Updating Plots.ipynb +0 -177
- data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/Tutorials.ipynb +0 -51
- data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/data_files/country_codes.csv +0 -213
- data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/data_files/gdp_per_capita.csv +0 -56
- data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/data_files/state_codes.csv +0 -52
- data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/data_files/trees.jpg +0 -0
- data/lib/starter_web/pages/public/_jupyter/notebooks/nbi-docs/.ipynb_checkpoints/nbi_docs_examples_central_limit_theorem-checkpoint.ipynb +0 -247
- data/lib/starter_web/pages/public/_jupyter/notebooks/nbi-docs/.ipynb_checkpoints/nbi_docs_examples_variability_of_the_sample_mean-checkpoint.ipynb +0 -323
- data/lib/starter_web/pages/public/_jupyter/notebooks/nbi-docs/.ipynb_checkpoints/nbi_docs_recipes_graphing-checkpoint.ipynb +0 -387
- data/lib/starter_web/pages/public/_jupyter/notebooks/nbi-docs/.ipynb_checkpoints/nbi_docs_recipes_interactive_questions-checkpoint.ipynb +0 -185
- data/lib/starter_web/pages/public/_jupyter/notebooks/nbi-docs/.ipynb_checkpoints/nbi_docs_recipes_layout-checkpoint.ipynb +0 -384
- data/lib/starter_web/pages/public/_jupyter/notebooks/nbi-docs/.ipynb_checkpoints/nbi_docs_tutorial_interact-checkpoint.ipynb +0 -254
- data/lib/starter_web/pages/public/_jupyter/notebooks/nbi-docs/.ipynb_checkpoints/nbi_docs_tutorial_monty_hall-checkpoint.ipynb +0 -732
- data/lib/starter_web/pages/public/_jupyter/notebooks/nbi-docs/nbi_docs_examples_central_limit_theorem.ipynb +0 -247
- data/lib/starter_web/pages/public/_jupyter/notebooks/nbi-docs/nbi_docs_examples_correlation.ipynb +0 -651
- data/lib/starter_web/pages/public/_jupyter/notebooks/nbi-docs/nbi_docs_examples_empirical_distributions.ipynb +0 -773
- data/lib/starter_web/pages/public/_jupyter/notebooks/nbi-docs/nbi_docs_examples_linear_regression.ipynb +0 -111
- data/lib/starter_web/pages/public/_jupyter/notebooks/nbi-docs/nbi_docs_examples_probability_distribution_plots.ipynb +0 -199
- data/lib/starter_web/pages/public/_jupyter/notebooks/nbi-docs/nbi_docs_examples_sampling_from_a_population.ipynb +0 -421
- data/lib/starter_web/pages/public/_jupyter/notebooks/nbi-docs/nbi_docs_examples_variability_of_the_sample_mean.ipynb +0 -323
- data/lib/starter_web/pages/public/_jupyter/notebooks/nbi-docs/nbi_docs_recipes_graphing.ipynb +0 -387
- data/lib/starter_web/pages/public/_jupyter/notebooks/nbi-docs/nbi_docs_recipes_interactive_questions.ipynb +0 -185
- data/lib/starter_web/pages/public/_jupyter/notebooks/nbi-docs/nbi_docs_recipes_layout.ipynb +0 -384
- data/lib/starter_web/pages/public/_jupyter/notebooks/nbi-docs/nbi_docs_tutorial_interact.ipynb +0 -254
- data/lib/starter_web/pages/public/_jupyter/notebooks/nbi-docs/nbi_docs_tutorial_monty_hall.ipynb +0 -732
- data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/Advanced Plotting.html +0 -373
- data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/Animations.html +0 -361
- data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/Axis Properties.html +0 -569
- data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/Bars.html +0 -487
- data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/Basic Plotting.html +0 -341
- data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/Bins.html +0 -259
- data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/Boxplot.html +0 -277
- data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/Brush Interval Selector.html +0 -182
- data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/Bubble Chart.html +0 -299
- data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/Candles.html +0 -252
- data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/Choropleth.html +0 -318
- data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/Color Scales.html +0 -514
- data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/Fast Interval Selector.html +0 -182
- data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/Feature_Vector_Distribution-Iris-Digits.html +0 -479
- data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/FlexLine.html +0 -128
- data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/Gaussian Density Widget.html +0 -152
- data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/Gaussian Density.html +0 -137
- data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/Graph.html +0 -484
- data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/GridHeatMap.html +0 -483
- data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/HeatMap.html +0 -170
- data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/Hist.html +0 -349
- data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/Image.html +0 -177
- data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/Index.html +0 -29
- data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/Interaction Layer.html +0 -1372
- data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/Introduction.html +0 -749
- data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/Label.html +0 -268
- data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/Lines.html +0 -704
- data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/Linking Plots With Widgets.html +0 -389
- data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/Logs Dashboard.html +0 -455
- data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/Map.html +0 -229
- data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/Mark Interactions.html +0 -613
- data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/Market Map.html +0 -413
- data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/Mobile Patent Suits.html +0 -131
- data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/Neural Network.html +0 -190
- data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/Object Model.html +0 -193
- data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/Outlier Detection.html +0 -363
- data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/Pie.html +0 -367
- data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/Plotting Dates.html +0 -337
- data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/Pyplot.html +0 -196
- data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/Scatter.html +0 -948
- data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/Selectors.html +0 -489
- data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/Time Series.html +0 -173
- data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/Tutorials.html +0 -40
- data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/Updating Plots.html +0 -228
- data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/j1_altair_interactive.html +0 -2216
- data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/j1_altair_non_interactive.html +0 -1170
- data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/j1_bgplot_line_plot.html +0 -318
- data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/j1_bokeh_01_basic_plotting.html +0 -1479
- data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/j1_bokeh_02_styling_and_theming.html +0 -1524
- data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/j1_bokeh_03_data_sources_and_transformations.html +0 -983
- data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/j1_bokeh_04_adding_annotations.html +0 -1280
- data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/j1_bokeh_05_presentation_layouts.html +0 -660
- data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/j1_bokeh_06_linking_and_interactions.html +0 -1563
- data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/j1_bokeh_07_bar_and_categorical_data_plots.html +0 -1888
- data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/j1_bokeh_08_graph_and_network_plots.html +0 -689
- data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/j1_bokeh_09_geographic_plots.html +0 -767
- data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/j1_circular_times_table-short.html +0 -475
- data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/j1_circular_times_table.html +0 -747
- data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/j1_climate_change_forecast.html +0 -1250
- data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/j1_docs_example_dynamic.html +0 -186
- data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/j1_interactive_widgets.html +0 -512
- data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/j1_mathplot_vs_bqplot.html +0 -407
- data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/j1_nbi_widgets.html +0 -629
- data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/j1_nbi_widgets_bar_chart.html +0 -95
- data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/j1_nbi_widgets_hist_chart.html +0 -93
- data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/j1_nbi_widgets_line_chart.html +0 -96
- data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/j1_nbi_widgets_question_multiple_choice.html +0 -70
- data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/j1_nbi_widgets_question_short_answer.html +0 -156
- data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/j1_nbi_widgets_scatter_chart.html +0 -95
- data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/j1_nbi_widgets_scatter_drag_chart.html +0 -93
- data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/j1_odes_in_python.html +0 -955
- data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/nbi_docs_examples_central_limit_theorem.html +0 -290
- data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/nbi_docs_examples_correlation.html +0 -818
- data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/nbi_docs_examples_empirical_distributions.html +0 -351
- data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/nbi_docs_examples_linear_regression.html +0 -106
- data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/nbi_docs_examples_probability_distribution_plots.html +0 -228
- data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/nbi_docs_examples_sampling_from_a_population.html +0 -518
- data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/nbi_docs_examples_variability_of_the_sample_mean.html +0 -372
- data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/nbi_docs_recipes_graphing.html +0 -473
- data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/nbi_docs_recipes_interactive_questions.html +0 -242
- data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/nbi_docs_recipes_layout.html +0 -496
- data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/nbi_docs_tutorial_interact.html +0 -329
- data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/nbi_docs_tutorial_monty_hall.html +0 -866
- data/lib/starter_web/pages/public/_jupyter/where_to_go.adoc +0 -270
- data/lib/starter_web/pages/public/learn/_roundtrip/100_present_images.adoc +0 -313
- data/lib/starter_web/pages/public/learn/_roundtrip/100_present_videos.adoc +0 -281
- data/lib/starter_web/pages/public/learn/_roundtrip/200_typography.adoc +0 -253
- data/lib/starter_web/pages/public/learn/_roundtrip/300_icon_fonts.adoc +0 -579
- data/lib/starter_web/pages/public/learn/_roundtrip/400_asciidoc_extensions.adoc +0 -718
- data/lib/starter_web/pages/public/learn/_roundtrip/410_bs_modals_extentions.adoc +0 -91
- data/lib/starter_web/pages/public/learn/_roundtrip/420_responsive_tables_extensions.adoc +0 -420
- data/lib/starter_web/pages/public/learn/_roundtrip/500_themes.adoc +0 -250
- data/lib/starter_web/pages/public/learn/_roundtrip/600_quicksearch.adoc +0 -425
- data/lib/starter_web/pages/public/learn/_roundtrip/_includes/attributes.asciidoc +0 -118
- data/lib/starter_web/pages/public/learn/_roundtrip/_includes/documents/100_gistblock.asciidoc +0 -28
- data/lib/starter_web/pages/public/learn/_roundtrip/_includes/documents/410_bottom_info.asciidoc +0 -14
- data/lib/starter_web/pages/public/learn/_roundtrip/_includes/documents/410_bottom_left_warning.asciidoc +0 -11
- data/lib/starter_web/pages/public/learn/_roundtrip/_includes/documents/410_bottom_right_danger.asciidoc +0 -11
- data/lib/starter_web/pages/public/learn/_roundtrip/_includes/documents/410_central_success.asciidoc +0 -11
- data/lib/starter_web/pages/public/learn/_roundtrip/_includes/documents/410_full_height_left_info.asciidoc +0 -11
- data/lib/starter_web/pages/public/learn/_roundtrip/_includes/documents/410_full_height_right_success.asciidoc +0 -11
- data/lib/starter_web/pages/public/learn/_roundtrip/_includes/documents/410_table_bs_modal_examples.asciidoc +0 -47
- data/lib/starter_web/pages/public/learn/_roundtrip/_includes/documents/410_top_info.asciidoc +0 -11
- data/lib/starter_web/pages/public/learn/_roundtrip/_includes/documents/410_top_left_info.asciidoc +0 -11
- data/lib/starter_web/pages/public/learn/_roundtrip/_includes/documents/410_top_right_success.asciidoc +0 -11
- data/lib/starter_web/pages/public/learn/_roundtrip/_includes/documents/419_advanced_modals_demo.asciidoc +0 -337
- data/lib/starter_web/pages/public/learn/_roundtrip/_includes/documents/tables/bs_modal_examples.asciidoc +0 -47
- data/lib/starter_web/pages/public/learn/_roundtrip/_includes/google-ad.js +0 -130
@@ -1,966 +0,0 @@
|
|
1
|
-
{
|
2
|
-
"cells": [
|
3
|
-
{
|
4
|
-
"cell_type": "code",
|
5
|
-
"execution_count": null,
|
6
|
-
"metadata": {},
|
7
|
-
"outputs": [],
|
8
|
-
"source": [
|
9
|
-
"import pandas as pd\n",
|
10
|
-
"import numpy as np\n",
|
11
|
-
"\n",
|
12
|
-
"symbol = \"Security 1\"\n",
|
13
|
-
"symbol2 = \"Security 2\""
|
14
|
-
]
|
15
|
-
},
|
16
|
-
{
|
17
|
-
"cell_type": "code",
|
18
|
-
"execution_count": null,
|
19
|
-
"metadata": {},
|
20
|
-
"outputs": [],
|
21
|
-
"source": [
|
22
|
-
"price_data = pd.DataFrame(\n",
|
23
|
-
" np.cumsum(np.random.randn(150, 2).dot([[0.5, 0.4], [0.4, 1.0]]), axis=0) + 100,\n",
|
24
|
-
" columns=[\"Security 1\", \"Security 2\"],\n",
|
25
|
-
" index=pd.date_range(start=\"01-01-2007\", periods=150),\n",
|
26
|
-
")\n",
|
27
|
-
"\n",
|
28
|
-
"dates_actual = price_data.index.values\n",
|
29
|
-
"prices = price_data[symbol].values"
|
30
|
-
]
|
31
|
-
},
|
32
|
-
{
|
33
|
-
"cell_type": "code",
|
34
|
-
"execution_count": null,
|
35
|
-
"metadata": {},
|
36
|
-
"outputs": [],
|
37
|
-
"source": [
|
38
|
-
"from bqplot import DateScale, LinearScale, Axis, Lines, Scatter, Bars, Hist, Figure\n",
|
39
|
-
"from bqplot.interacts import (\n",
|
40
|
-
" FastIntervalSelector,\n",
|
41
|
-
" IndexSelector,\n",
|
42
|
-
" BrushIntervalSelector,\n",
|
43
|
-
" BrushSelector,\n",
|
44
|
-
" MultiSelector,\n",
|
45
|
-
" LassoSelector,\n",
|
46
|
-
" PanZoom,\n",
|
47
|
-
" HandDraw,\n",
|
48
|
-
")\n",
|
49
|
-
"from traitlets import link\n",
|
50
|
-
"\n",
|
51
|
-
"from ipywidgets import ToggleButtons, VBox, HTML"
|
52
|
-
]
|
53
|
-
},
|
54
|
-
{
|
55
|
-
"cell_type": "markdown",
|
56
|
-
"metadata": {},
|
57
|
-
"source": [
|
58
|
-
"# Line Chart Selectors"
|
59
|
-
]
|
60
|
-
},
|
61
|
-
{
|
62
|
-
"cell_type": "markdown",
|
63
|
-
"metadata": {},
|
64
|
-
"source": [
|
65
|
-
"## Fast Interval Selector"
|
66
|
-
]
|
67
|
-
},
|
68
|
-
{
|
69
|
-
"cell_type": "code",
|
70
|
-
"execution_count": null,
|
71
|
-
"metadata": {},
|
72
|
-
"outputs": [],
|
73
|
-
"source": [
|
74
|
-
"## First we define a Figure\n",
|
75
|
-
"dt_x_fast = DateScale()\n",
|
76
|
-
"lin_y = LinearScale()\n",
|
77
|
-
"\n",
|
78
|
-
"x_ax = Axis(label=\"Index\", scale=dt_x_fast)\n",
|
79
|
-
"x_ay = Axis(label=(symbol + \" Price\"), scale=lin_y, orientation=\"vertical\")\n",
|
80
|
-
"lc = Lines(\n",
|
81
|
-
" x=dates_actual, y=prices, scales={\"x\": dt_x_fast, \"y\": lin_y}, colors=[\"orange\"]\n",
|
82
|
-
")\n",
|
83
|
-
"lc_2 = Lines(\n",
|
84
|
-
" x=dates_actual[50:],\n",
|
85
|
-
" y=prices[50:] + 2,\n",
|
86
|
-
" scales={\"x\": dt_x_fast, \"y\": lin_y},\n",
|
87
|
-
" colors=[\"blue\"],\n",
|
88
|
-
")"
|
89
|
-
]
|
90
|
-
},
|
91
|
-
{
|
92
|
-
"cell_type": "code",
|
93
|
-
"execution_count": null,
|
94
|
-
"metadata": {},
|
95
|
-
"outputs": [],
|
96
|
-
"source": [
|
97
|
-
"## Next we define the type of selector we would like\n",
|
98
|
-
"intsel_fast = FastIntervalSelector(scale=dt_x_fast, marks=[lc, lc_2])"
|
99
|
-
]
|
100
|
-
},
|
101
|
-
{
|
102
|
-
"cell_type": "code",
|
103
|
-
"execution_count": null,
|
104
|
-
"metadata": {},
|
105
|
-
"outputs": [],
|
106
|
-
"source": [
|
107
|
-
"## Now, we define a function that will be called when the FastIntervalSelector is interacted with\n",
|
108
|
-
"def fast_interval_change_callback(change):\n",
|
109
|
-
" db_fast.value = \"The selected period is \" + str(change.new)"
|
110
|
-
]
|
111
|
-
},
|
112
|
-
{
|
113
|
-
"cell_type": "code",
|
114
|
-
"execution_count": null,
|
115
|
-
"metadata": {},
|
116
|
-
"outputs": [],
|
117
|
-
"source": [
|
118
|
-
"## Now we connect the selectors to that function\n",
|
119
|
-
"intsel_fast.observe(fast_interval_change_callback, names=[\"selected\"])"
|
120
|
-
]
|
121
|
-
},
|
122
|
-
{
|
123
|
-
"cell_type": "code",
|
124
|
-
"execution_count": null,
|
125
|
-
"metadata": {},
|
126
|
-
"outputs": [],
|
127
|
-
"source": [
|
128
|
-
"## We use the HTML widget to see the value of what we are selecting and modify it when an interaction is performed\n",
|
129
|
-
"## on the selector\n",
|
130
|
-
"db_fast = HTML()\n",
|
131
|
-
"db_fast.value = \"The selected period is \" + str(intsel_fast.selected)\n",
|
132
|
-
"\n",
|
133
|
-
"fig_fast_intsel = Figure(\n",
|
134
|
-
" marks=[lc, lc_2],\n",
|
135
|
-
" axes=[x_ax, x_ay],\n",
|
136
|
-
" title=\"Fast Interval Selector Example\",\n",
|
137
|
-
" interaction=intsel_fast,\n",
|
138
|
-
") # This is where we assign the interaction to this particular Figure\n",
|
139
|
-
"\n",
|
140
|
-
"VBox([db_fast, fig_fast_intsel])"
|
141
|
-
]
|
142
|
-
},
|
143
|
-
{
|
144
|
-
"cell_type": "markdown",
|
145
|
-
"metadata": {},
|
146
|
-
"source": [
|
147
|
-
"## Index Selector"
|
148
|
-
]
|
149
|
-
},
|
150
|
-
{
|
151
|
-
"cell_type": "code",
|
152
|
-
"execution_count": null,
|
153
|
-
"metadata": {},
|
154
|
-
"outputs": [],
|
155
|
-
"source": [
|
156
|
-
"db_index = HTML(value=\"[]\")"
|
157
|
-
]
|
158
|
-
},
|
159
|
-
{
|
160
|
-
"cell_type": "code",
|
161
|
-
"execution_count": null,
|
162
|
-
"metadata": {},
|
163
|
-
"outputs": [],
|
164
|
-
"source": [
|
165
|
-
"## Now we try a selector made to select all the y-values associated with a single x-value\n",
|
166
|
-
"index_sel = IndexSelector(scale=dt_x_fast, marks=[lc, lc_2])"
|
167
|
-
]
|
168
|
-
},
|
169
|
-
{
|
170
|
-
"cell_type": "code",
|
171
|
-
"execution_count": null,
|
172
|
-
"metadata": {},
|
173
|
-
"outputs": [],
|
174
|
-
"source": [
|
175
|
-
"## Now, we define a function that will be called when the selectors are interacted with\n",
|
176
|
-
"def index_change_callback(change):\n",
|
177
|
-
" db_index.value = \"The selected date is \" + str(change.new)"
|
178
|
-
]
|
179
|
-
},
|
180
|
-
{
|
181
|
-
"cell_type": "code",
|
182
|
-
"execution_count": null,
|
183
|
-
"metadata": {},
|
184
|
-
"outputs": [],
|
185
|
-
"source": [
|
186
|
-
"index_sel.observe(index_change_callback, names=[\"selected\"])"
|
187
|
-
]
|
188
|
-
},
|
189
|
-
{
|
190
|
-
"cell_type": "code",
|
191
|
-
"execution_count": null,
|
192
|
-
"metadata": {},
|
193
|
-
"outputs": [],
|
194
|
-
"source": [
|
195
|
-
"fig_index_sel = Figure(\n",
|
196
|
-
" marks=[lc, lc_2],\n",
|
197
|
-
" axes=[x_ax, x_ay],\n",
|
198
|
-
" title=\"Index Selector Example\",\n",
|
199
|
-
" interaction=index_sel,\n",
|
200
|
-
")\n",
|
201
|
-
"VBox([db_index, fig_index_sel])"
|
202
|
-
]
|
203
|
-
},
|
204
|
-
{
|
205
|
-
"cell_type": "markdown",
|
206
|
-
"metadata": {},
|
207
|
-
"source": [
|
208
|
-
"## Returning indexes of selected values"
|
209
|
-
]
|
210
|
-
},
|
211
|
-
{
|
212
|
-
"cell_type": "code",
|
213
|
-
"execution_count": null,
|
214
|
-
"metadata": {},
|
215
|
-
"outputs": [],
|
216
|
-
"source": [
|
217
|
-
"from datetime import datetime as py_dtime\n",
|
218
|
-
"\n",
|
219
|
-
"dt_x_index = DateScale(min=np.datetime64(py_dtime(2006, 6, 1)))\n",
|
220
|
-
"lin_y2 = LinearScale()\n",
|
221
|
-
"\n",
|
222
|
-
"lc2_index = Lines(x=dates_actual, y=prices, scales={\"x\": dt_x_index, \"y\": lin_y2})\n",
|
223
|
-
"\n",
|
224
|
-
"x_ax1 = Axis(label=\"Date\", scale=dt_x_index)\n",
|
225
|
-
"x_ay2 = Axis(label=(symbol + \" Price\"), scale=lin_y2, orientation=\"vertical\")"
|
226
|
-
]
|
227
|
-
},
|
228
|
-
{
|
229
|
-
"cell_type": "code",
|
230
|
-
"execution_count": null,
|
231
|
-
"metadata": {},
|
232
|
-
"outputs": [],
|
233
|
-
"source": [
|
234
|
-
"intsel_date = FastIntervalSelector(scale=dt_x_index, marks=[lc2_index])"
|
235
|
-
]
|
236
|
-
},
|
237
|
-
{
|
238
|
-
"cell_type": "code",
|
239
|
-
"execution_count": null,
|
240
|
-
"metadata": {},
|
241
|
-
"outputs": [],
|
242
|
-
"source": [
|
243
|
-
"db_date = HTML()\n",
|
244
|
-
"db_date.value = str(intsel_date.selected)"
|
245
|
-
]
|
246
|
-
},
|
247
|
-
{
|
248
|
-
"cell_type": "code",
|
249
|
-
"execution_count": null,
|
250
|
-
"metadata": {},
|
251
|
-
"outputs": [],
|
252
|
-
"source": [
|
253
|
-
"## Now, we define a function that will be called when the selectors are interacted with - a callback\n",
|
254
|
-
"def date_interval_change_callback(change):\n",
|
255
|
-
" db_date.value = str(change.new)"
|
256
|
-
]
|
257
|
-
},
|
258
|
-
{
|
259
|
-
"cell_type": "code",
|
260
|
-
"execution_count": null,
|
261
|
-
"metadata": {},
|
262
|
-
"outputs": [],
|
263
|
-
"source": [
|
264
|
-
"## Notice here that we call the observe on the Mark lc2_index rather than on the selector intsel_date\n",
|
265
|
-
"lc2_index.observe(date_interval_change_callback, names=[\"selected\"])\n",
|
266
|
-
"\n",
|
267
|
-
"fig_date_mark = Figure(\n",
|
268
|
-
" marks=[lc2_index],\n",
|
269
|
-
" axes=[x_ax1, x_ay2],\n",
|
270
|
-
" title=\"Fast Interval Selector Selected Indices Example\",\n",
|
271
|
-
" interaction=intsel_date,\n",
|
272
|
-
")\n",
|
273
|
-
"\n",
|
274
|
-
"VBox([db_date, fig_date_mark])"
|
275
|
-
]
|
276
|
-
},
|
277
|
-
{
|
278
|
-
"cell_type": "markdown",
|
279
|
-
"metadata": {},
|
280
|
-
"source": [
|
281
|
-
"## Brush Selector"
|
282
|
-
]
|
283
|
-
},
|
284
|
-
{
|
285
|
-
"cell_type": "markdown",
|
286
|
-
"metadata": {},
|
287
|
-
"source": [
|
288
|
-
"### We can do the same with any type of selector"
|
289
|
-
]
|
290
|
-
},
|
291
|
-
{
|
292
|
-
"cell_type": "code",
|
293
|
-
"execution_count": null,
|
294
|
-
"metadata": {},
|
295
|
-
"outputs": [],
|
296
|
-
"source": [
|
297
|
-
"## Defining a new Figure\n",
|
298
|
-
"dt_x_brush = DateScale(min=np.datetime64(py_dtime(2006, 6, 1)))\n",
|
299
|
-
"lin_y2_brush = LinearScale()\n",
|
300
|
-
"\n",
|
301
|
-
"lc3_brush = Lines(x=dates_actual, y=prices, scales={\"x\": dt_x_brush, \"y\": lin_y2_brush})\n",
|
302
|
-
"\n",
|
303
|
-
"x_ax_brush = Axis(label=\"Date\", scale=dt_x_brush)\n",
|
304
|
-
"x_ay_brush = Axis(label=(symbol + \" Price\"), scale=lin_y2_brush, orientation=\"vertical\")"
|
305
|
-
]
|
306
|
-
},
|
307
|
-
{
|
308
|
-
"cell_type": "code",
|
309
|
-
"execution_count": null,
|
310
|
-
"metadata": {},
|
311
|
-
"outputs": [],
|
312
|
-
"source": [
|
313
|
-
"db_brush = HTML(value=\"[]\")"
|
314
|
-
]
|
315
|
-
},
|
316
|
-
{
|
317
|
-
"cell_type": "code",
|
318
|
-
"execution_count": null,
|
319
|
-
"metadata": {},
|
320
|
-
"outputs": [],
|
321
|
-
"source": [
|
322
|
-
"brushsel_date = BrushIntervalSelector(\n",
|
323
|
-
" scale=dt_x_brush, marks=[lc3_brush], color=\"FireBrick\"\n",
|
324
|
-
")"
|
325
|
-
]
|
326
|
-
},
|
327
|
-
{
|
328
|
-
"cell_type": "code",
|
329
|
-
"execution_count": null,
|
330
|
-
"metadata": {},
|
331
|
-
"outputs": [],
|
332
|
-
"source": [
|
333
|
-
"## Now, we define a function that will be called when the selectors are interacted with - a callback\n",
|
334
|
-
"def date_brush_change_callback(change):\n",
|
335
|
-
" db_brush.value = str(change.new)"
|
336
|
-
]
|
337
|
-
},
|
338
|
-
{
|
339
|
-
"cell_type": "code",
|
340
|
-
"execution_count": null,
|
341
|
-
"metadata": {},
|
342
|
-
"outputs": [],
|
343
|
-
"source": [
|
344
|
-
"lc3_brush.observe(date_brush_change_callback, names=[\"selected\"])"
|
345
|
-
]
|
346
|
-
},
|
347
|
-
{
|
348
|
-
"cell_type": "code",
|
349
|
-
"execution_count": null,
|
350
|
-
"metadata": {},
|
351
|
-
"outputs": [],
|
352
|
-
"source": [
|
353
|
-
"fig_brush_sel = Figure(\n",
|
354
|
-
" marks=[lc3_brush],\n",
|
355
|
-
" axes=[x_ax_brush, x_ay_brush],\n",
|
356
|
-
" title=\"Brush Selector Selected Indices Example\",\n",
|
357
|
-
" interaction=brushsel_date,\n",
|
358
|
-
")\n",
|
359
|
-
"\n",
|
360
|
-
"VBox([db_brush, fig_brush_sel])"
|
361
|
-
]
|
362
|
-
},
|
363
|
-
{
|
364
|
-
"cell_type": "markdown",
|
365
|
-
"metadata": {},
|
366
|
-
"source": [
|
367
|
-
"# Scatter Chart Selectors"
|
368
|
-
]
|
369
|
-
},
|
370
|
-
{
|
371
|
-
"cell_type": "markdown",
|
372
|
-
"metadata": {},
|
373
|
-
"source": [
|
374
|
-
"## Brush Selector"
|
375
|
-
]
|
376
|
-
},
|
377
|
-
{
|
378
|
-
"cell_type": "code",
|
379
|
-
"execution_count": null,
|
380
|
-
"metadata": {},
|
381
|
-
"outputs": [],
|
382
|
-
"source": [
|
383
|
-
"date_fmt = \"%m-%d-%Y\"\n",
|
384
|
-
"\n",
|
385
|
-
"sec2_data = price_data[symbol2].values\n",
|
386
|
-
"dates = price_data.index.values"
|
387
|
-
]
|
388
|
-
},
|
389
|
-
{
|
390
|
-
"cell_type": "code",
|
391
|
-
"execution_count": null,
|
392
|
-
"metadata": {},
|
393
|
-
"outputs": [],
|
394
|
-
"source": [
|
395
|
-
"sc_x = LinearScale()\n",
|
396
|
-
"sc_y = LinearScale()\n",
|
397
|
-
"\n",
|
398
|
-
"scatt = Scatter(x=prices, y=sec2_data, scales={\"x\": sc_x, \"y\": sc_y})\n",
|
399
|
-
"\n",
|
400
|
-
"sc_xax = Axis(label=(symbol), scale=sc_x)\n",
|
401
|
-
"sc_yax = Axis(label=(symbol2), scale=sc_y, orientation=\"vertical\")"
|
402
|
-
]
|
403
|
-
},
|
404
|
-
{
|
405
|
-
"cell_type": "code",
|
406
|
-
"execution_count": null,
|
407
|
-
"metadata": {},
|
408
|
-
"outputs": [],
|
409
|
-
"source": [
|
410
|
-
"br_sel = BrushSelector(x_scale=sc_x, y_scale=sc_y, marks=[scatt], color=\"red\")\n",
|
411
|
-
"\n",
|
412
|
-
"db_scat_brush = HTML(value=\"[]\")"
|
413
|
-
]
|
414
|
-
},
|
415
|
-
{
|
416
|
-
"cell_type": "code",
|
417
|
-
"execution_count": null,
|
418
|
-
"metadata": {},
|
419
|
-
"outputs": [],
|
420
|
-
"source": [
|
421
|
-
"## call back for the selector\n",
|
422
|
-
"def brush_callback(change):\n",
|
423
|
-
" db_scat_brush.value = str(br_sel.selected)"
|
424
|
-
]
|
425
|
-
},
|
426
|
-
{
|
427
|
-
"cell_type": "code",
|
428
|
-
"execution_count": null,
|
429
|
-
"metadata": {},
|
430
|
-
"outputs": [],
|
431
|
-
"source": [
|
432
|
-
"br_sel.observe(brush_callback, names=[\"brushing\"])"
|
433
|
-
]
|
434
|
-
},
|
435
|
-
{
|
436
|
-
"cell_type": "code",
|
437
|
-
"execution_count": null,
|
438
|
-
"metadata": {},
|
439
|
-
"outputs": [],
|
440
|
-
"source": [
|
441
|
-
"fig_scat_brush = Figure(\n",
|
442
|
-
" marks=[scatt],\n",
|
443
|
-
" axes=[sc_xax, sc_yax],\n",
|
444
|
-
" title=\"Scatter Chart Brush Selector Example\",\n",
|
445
|
-
" interaction=br_sel,\n",
|
446
|
-
")"
|
447
|
-
]
|
448
|
-
},
|
449
|
-
{
|
450
|
-
"cell_type": "code",
|
451
|
-
"execution_count": null,
|
452
|
-
"metadata": {
|
453
|
-
"scrolled": false
|
454
|
-
},
|
455
|
-
"outputs": [],
|
456
|
-
"source": [
|
457
|
-
"VBox([db_scat_brush, fig_scat_brush])"
|
458
|
-
]
|
459
|
-
},
|
460
|
-
{
|
461
|
-
"cell_type": "markdown",
|
462
|
-
"metadata": {},
|
463
|
-
"source": [
|
464
|
-
"## Brush Selector with Date Values"
|
465
|
-
]
|
466
|
-
},
|
467
|
-
{
|
468
|
-
"cell_type": "code",
|
469
|
-
"execution_count": null,
|
470
|
-
"metadata": {},
|
471
|
-
"outputs": [],
|
472
|
-
"source": [
|
473
|
-
"sc_brush_dt_x = DateScale(date_format=date_fmt)\n",
|
474
|
-
"sc_brush_dt_y = LinearScale()\n",
|
475
|
-
"\n",
|
476
|
-
"scatt2 = Scatter(\n",
|
477
|
-
" x=dates_actual, y=sec2_data, scales={\"x\": sc_brush_dt_x, \"y\": sc_brush_dt_y}\n",
|
478
|
-
")"
|
479
|
-
]
|
480
|
-
},
|
481
|
-
{
|
482
|
-
"cell_type": "code",
|
483
|
-
"execution_count": null,
|
484
|
-
"metadata": {},
|
485
|
-
"outputs": [],
|
486
|
-
"source": [
|
487
|
-
"br_sel_dt = BrushSelector(x_scale=sc_brush_dt_x, y_scale=sc_brush_dt_y, marks=[scatt2])"
|
488
|
-
]
|
489
|
-
},
|
490
|
-
{
|
491
|
-
"cell_type": "code",
|
492
|
-
"execution_count": null,
|
493
|
-
"metadata": {},
|
494
|
-
"outputs": [],
|
495
|
-
"source": [
|
496
|
-
"db_brush_dt = HTML(value=str(br_sel_dt.selected))"
|
497
|
-
]
|
498
|
-
},
|
499
|
-
{
|
500
|
-
"cell_type": "code",
|
501
|
-
"execution_count": null,
|
502
|
-
"metadata": {},
|
503
|
-
"outputs": [],
|
504
|
-
"source": [
|
505
|
-
"## call back for the selector\n",
|
506
|
-
"def brush_dt_callback(change):\n",
|
507
|
-
" db_brush_dt.value = str(br_sel_dt.selected)"
|
508
|
-
]
|
509
|
-
},
|
510
|
-
{
|
511
|
-
"cell_type": "code",
|
512
|
-
"execution_count": null,
|
513
|
-
"metadata": {},
|
514
|
-
"outputs": [],
|
515
|
-
"source": [
|
516
|
-
"br_sel_dt.observe(brush_dt_callback, names=[\"brushing\"])"
|
517
|
-
]
|
518
|
-
},
|
519
|
-
{
|
520
|
-
"cell_type": "code",
|
521
|
-
"execution_count": null,
|
522
|
-
"metadata": {},
|
523
|
-
"outputs": [],
|
524
|
-
"source": [
|
525
|
-
"sc_xax = Axis(label=(symbol), scale=sc_brush_dt_x)\n",
|
526
|
-
"sc_yax = Axis(label=(symbol2), scale=sc_brush_dt_y, orientation=\"vertical\")\n",
|
527
|
-
"fig_brush_dt = Figure(\n",
|
528
|
-
" marks=[scatt2],\n",
|
529
|
-
" axes=[sc_xax, sc_yax],\n",
|
530
|
-
" title=\"Brush Selector with Dates Example\",\n",
|
531
|
-
" interaction=br_sel_dt,\n",
|
532
|
-
")"
|
533
|
-
]
|
534
|
-
},
|
535
|
-
{
|
536
|
-
"cell_type": "code",
|
537
|
-
"execution_count": null,
|
538
|
-
"metadata": {},
|
539
|
-
"outputs": [],
|
540
|
-
"source": [
|
541
|
-
"VBox([db_brush_dt, fig_brush_dt])"
|
542
|
-
]
|
543
|
-
},
|
544
|
-
{
|
545
|
-
"cell_type": "markdown",
|
546
|
-
"metadata": {},
|
547
|
-
"source": [
|
548
|
-
"# Histogram Selectors"
|
549
|
-
]
|
550
|
-
},
|
551
|
-
{
|
552
|
-
"cell_type": "code",
|
553
|
-
"execution_count": null,
|
554
|
-
"metadata": {},
|
555
|
-
"outputs": [],
|
556
|
-
"source": [
|
557
|
-
"## call back for selectors\n",
|
558
|
-
"def interval_change_callback(name, value):\n",
|
559
|
-
" db3.value = str(value)\n",
|
560
|
-
"\n",
|
561
|
-
"\n",
|
562
|
-
"## call back for the selector\n",
|
563
|
-
"def brush_callback(change):\n",
|
564
|
-
" if not br_intsel.brushing:\n",
|
565
|
-
" db3.value = str(br_intsel.selected)"
|
566
|
-
]
|
567
|
-
},
|
568
|
-
{
|
569
|
-
"cell_type": "code",
|
570
|
-
"execution_count": null,
|
571
|
-
"metadata": {},
|
572
|
-
"outputs": [],
|
573
|
-
"source": [
|
574
|
-
"returns = np.log(prices[1:]) - np.log(prices[:-1])\n",
|
575
|
-
"hist_x = LinearScale()\n",
|
576
|
-
"hist_y = LinearScale()\n",
|
577
|
-
"hist = Hist(sample=returns, scales={\"sample\": hist_x, \"count\": hist_y})\n",
|
578
|
-
"\n",
|
579
|
-
"br_intsel = BrushIntervalSelector(scale=hist_x, marks=[hist])\n",
|
580
|
-
"br_intsel.observe(brush_callback, names=[\"selected\"])\n",
|
581
|
-
"br_intsel.observe(brush_callback, names=[\"brushing\"])\n",
|
582
|
-
"\n",
|
583
|
-
"db3 = HTML()\n",
|
584
|
-
"db3.value = str(br_intsel.selected)\n",
|
585
|
-
"\n",
|
586
|
-
"h_xax = Axis(\n",
|
587
|
-
" scale=hist_x, label=\"Returns\", grids=\"off\", set_ticks=True, tick_format=\"0.2%\"\n",
|
588
|
-
")\n",
|
589
|
-
"h_yax = Axis(scale=hist_y, label=\"Freq\", orientation=\"vertical\", grid_lines=\"none\")\n",
|
590
|
-
"\n",
|
591
|
-
"fig_hist = Figure(\n",
|
592
|
-
" marks=[hist],\n",
|
593
|
-
" axes=[h_xax, h_yax],\n",
|
594
|
-
" title=\"Histogram Selection Example\",\n",
|
595
|
-
" interaction=br_intsel,\n",
|
596
|
-
")\n",
|
597
|
-
"VBox([db3, fig_hist])"
|
598
|
-
]
|
599
|
-
},
|
600
|
-
{
|
601
|
-
"cell_type": "markdown",
|
602
|
-
"metadata": {},
|
603
|
-
"source": [
|
604
|
-
"## Multi Selector\n",
|
605
|
-
"\n",
|
606
|
-
"* This selector provides the ability to have multiple brush selectors on the same graph.\n",
|
607
|
-
"* The first brush works like a regular brush.\n",
|
608
|
-
"* `Ctrl + click` creates a new brush, which works like the regular brush.\n",
|
609
|
-
"* The `active` brush has a Green border while all the `inactive` brushes have a Red border.\n",
|
610
|
-
"* `Shift + click` deactivates the current `active` brush. Now, click on any `inactive` brush to make it `active`.\n",
|
611
|
-
"* `Ctrl + Alt + Shift + click` clears and resets all the brushes."
|
612
|
-
]
|
613
|
-
},
|
614
|
-
{
|
615
|
-
"cell_type": "code",
|
616
|
-
"execution_count": null,
|
617
|
-
"metadata": {},
|
618
|
-
"outputs": [],
|
619
|
-
"source": [
|
620
|
-
"def multi_sel_callback(change):\n",
|
621
|
-
" if not multi_sel.brushing:\n",
|
622
|
-
" db4.value = str(multi_sel.selected)"
|
623
|
-
]
|
624
|
-
},
|
625
|
-
{
|
626
|
-
"cell_type": "code",
|
627
|
-
"execution_count": null,
|
628
|
-
"metadata": {},
|
629
|
-
"outputs": [],
|
630
|
-
"source": [
|
631
|
-
"line_x = LinearScale()\n",
|
632
|
-
"line_y = LinearScale()\n",
|
633
|
-
"line = Lines(\n",
|
634
|
-
" x=np.arange(100), y=np.random.randn(100), scales={\"x\": line_x, \"y\": line_y}\n",
|
635
|
-
")\n",
|
636
|
-
"\n",
|
637
|
-
"multi_sel = MultiSelector(scale=line_x, marks=[line])\n",
|
638
|
-
"multi_sel.observe(multi_sel_callback, names=[\"selected\"])\n",
|
639
|
-
"multi_sel.observe(multi_sel_callback, names=[\"brushing\"])\n",
|
640
|
-
"\n",
|
641
|
-
"db4 = HTML()\n",
|
642
|
-
"db4.value = str(multi_sel.selected)\n",
|
643
|
-
"\n",
|
644
|
-
"h_xax = Axis(scale=line_x, label=\"Returns\", grid_lines=\"none\")\n",
|
645
|
-
"h_yax = Axis(scale=hist_y, label=\"Freq\", orientation=\"vertical\", grid_lines=\"none\")\n",
|
646
|
-
"\n",
|
647
|
-
"fig_multi = Figure(\n",
|
648
|
-
" marks=[line],\n",
|
649
|
-
" axes=[h_xax, h_yax],\n",
|
650
|
-
" title=\"Multi-Selector Example\",\n",
|
651
|
-
" interaction=multi_sel,\n",
|
652
|
-
")\n",
|
653
|
-
"VBox([db4, fig_multi])"
|
654
|
-
]
|
655
|
-
},
|
656
|
-
{
|
657
|
-
"cell_type": "code",
|
658
|
-
"execution_count": null,
|
659
|
-
"metadata": {},
|
660
|
-
"outputs": [],
|
661
|
-
"source": [
|
662
|
-
"# changing the names of the intervals.\n",
|
663
|
-
"multi_sel.names = [\"int1\", \"int2\", \"int3\"]"
|
664
|
-
]
|
665
|
-
},
|
666
|
-
{
|
667
|
-
"cell_type": "markdown",
|
668
|
-
"metadata": {},
|
669
|
-
"source": [
|
670
|
-
"## Multi Selector with Date X"
|
671
|
-
]
|
672
|
-
},
|
673
|
-
{
|
674
|
-
"cell_type": "code",
|
675
|
-
"execution_count": null,
|
676
|
-
"metadata": {},
|
677
|
-
"outputs": [],
|
678
|
-
"source": [
|
679
|
-
"def multi_sel_dt_callback(change):\n",
|
680
|
-
" if not multi_sel_dt.brushing:\n",
|
681
|
-
" db_multi_dt.value = str(multi_sel_dt.selected)"
|
682
|
-
]
|
683
|
-
},
|
684
|
-
{
|
685
|
-
"cell_type": "code",
|
686
|
-
"execution_count": null,
|
687
|
-
"metadata": {},
|
688
|
-
"outputs": [],
|
689
|
-
"source": [
|
690
|
-
"line_dt_x = DateScale(min=np.datetime64(py_dtime(2007, 1, 1)))\n",
|
691
|
-
"line_dt_y = LinearScale()\n",
|
692
|
-
"line_dt = Lines(\n",
|
693
|
-
" x=dates_actual, y=sec2_data, scales={\"x\": line_dt_x, \"y\": line_dt_y}, colors=[\"red\"]\n",
|
694
|
-
")\n",
|
695
|
-
"\n",
|
696
|
-
"multi_sel_dt = MultiSelector(scale=line_dt_x)\n",
|
697
|
-
"multi_sel_dt.observe(multi_sel_dt_callback, names=[\"selected\"])\n",
|
698
|
-
"multi_sel_dt.observe(multi_sel_dt_callback, names=[\"brushing\"])\n",
|
699
|
-
"\n",
|
700
|
-
"db_multi_dt = HTML()\n",
|
701
|
-
"db_multi_dt.value = str(multi_sel_dt.selected)\n",
|
702
|
-
"\n",
|
703
|
-
"h_xax_dt = Axis(scale=line_dt_x, label=\"Returns\", grid_lines=\"none\")\n",
|
704
|
-
"h_yax_dt = Axis(\n",
|
705
|
-
" scale=line_dt_y, label=\"Freq\", orientation=\"vertical\", grid_lines=\"none\"\n",
|
706
|
-
")\n",
|
707
|
-
"\n",
|
708
|
-
"fig_multi_dt = Figure(\n",
|
709
|
-
" marks=[line_dt],\n",
|
710
|
-
" axes=[h_xax_dt, h_yax_dt],\n",
|
711
|
-
" title=\"Multi-Selector with Date Example\",\n",
|
712
|
-
" interaction=multi_sel_dt,\n",
|
713
|
-
")\n",
|
714
|
-
"VBox([db_multi_dt, fig_multi_dt])"
|
715
|
-
]
|
716
|
-
},
|
717
|
-
{
|
718
|
-
"cell_type": "markdown",
|
719
|
-
"metadata": {},
|
720
|
-
"source": [
|
721
|
-
"## Lasso Selector"
|
722
|
-
]
|
723
|
-
},
|
724
|
-
{
|
725
|
-
"cell_type": "code",
|
726
|
-
"execution_count": null,
|
727
|
-
"metadata": {},
|
728
|
-
"outputs": [],
|
729
|
-
"source": [
|
730
|
-
"lasso_sel = LassoSelector()"
|
731
|
-
]
|
732
|
-
},
|
733
|
-
{
|
734
|
-
"cell_type": "code",
|
735
|
-
"execution_count": null,
|
736
|
-
"metadata": {},
|
737
|
-
"outputs": [],
|
738
|
-
"source": [
|
739
|
-
"xs, ys = LinearScale(), LinearScale()\n",
|
740
|
-
"data = np.arange(20)\n",
|
741
|
-
"line_lasso = Lines(x=data, y=data, scales={\"x\": xs, \"y\": ys})\n",
|
742
|
-
"scatter_lasso = Scatter(x=data, y=data, scales={\"x\": xs, \"y\": ys}, colors=[\"skyblue\"])\n",
|
743
|
-
"bar_lasso = Bars(x=data, y=data / 2.0, scales={\"x\": xs, \"y\": ys})\n",
|
744
|
-
"xax_lasso, yax_lasso = Axis(scale=xs, label=\"X\"), Axis(\n",
|
745
|
-
" scale=ys, label=\"Y\", orientation=\"vertical\"\n",
|
746
|
-
")\n",
|
747
|
-
"fig_lasso = Figure(\n",
|
748
|
-
" marks=[scatter_lasso, line_lasso, bar_lasso],\n",
|
749
|
-
" axes=[xax_lasso, yax_lasso],\n",
|
750
|
-
" title=\"Lasso Selector Example\",\n",
|
751
|
-
" interaction=lasso_sel,\n",
|
752
|
-
")\n",
|
753
|
-
"lasso_sel.marks = [scatter_lasso, line_lasso]\n",
|
754
|
-
"fig_lasso"
|
755
|
-
]
|
756
|
-
},
|
757
|
-
{
|
758
|
-
"cell_type": "code",
|
759
|
-
"execution_count": null,
|
760
|
-
"metadata": {},
|
761
|
-
"outputs": [],
|
762
|
-
"source": [
|
763
|
-
"scatter_lasso.selected, line_lasso.selected"
|
764
|
-
]
|
765
|
-
},
|
766
|
-
{
|
767
|
-
"cell_type": "markdown",
|
768
|
-
"metadata": {},
|
769
|
-
"source": [
|
770
|
-
"## Pan Zoom"
|
771
|
-
]
|
772
|
-
},
|
773
|
-
{
|
774
|
-
"cell_type": "code",
|
775
|
-
"execution_count": null,
|
776
|
-
"metadata": {},
|
777
|
-
"outputs": [],
|
778
|
-
"source": [
|
779
|
-
"xs_pz = DateScale(min=np.datetime64(py_dtime(2007, 1, 1)))\n",
|
780
|
-
"ys_pz = LinearScale()\n",
|
781
|
-
"line_pz = Lines(\n",
|
782
|
-
" x=dates_actual, y=sec2_data, scales={\"x\": xs_pz, \"y\": ys_pz}, colors=[\"red\"]\n",
|
783
|
-
")\n",
|
784
|
-
"\n",
|
785
|
-
"panzoom = PanZoom(scales={\"x\": [xs_pz], \"y\": [ys_pz]})\n",
|
786
|
-
"xax = Axis(scale=xs_pz, label=\"Date\", grids=\"off\")\n",
|
787
|
-
"yax = Axis(scale=ys_pz, label=\"Price\", orientation=\"vertical\", grid_lines=\"none\")\n",
|
788
|
-
"\n",
|
789
|
-
"Figure(marks=[line_pz], axes=[xax, yax], interaction=panzoom)"
|
790
|
-
]
|
791
|
-
},
|
792
|
-
{
|
793
|
-
"cell_type": "markdown",
|
794
|
-
"metadata": {},
|
795
|
-
"source": [
|
796
|
-
"## Hand Draw"
|
797
|
-
]
|
798
|
-
},
|
799
|
-
{
|
800
|
-
"cell_type": "code",
|
801
|
-
"execution_count": null,
|
802
|
-
"metadata": {},
|
803
|
-
"outputs": [],
|
804
|
-
"source": [
|
805
|
-
"xs_hd = DateScale(min=np.datetime64(py_dtime(2007, 1, 1)))\n",
|
806
|
-
"ys_hd = LinearScale()\n",
|
807
|
-
"line_hd = Lines(\n",
|
808
|
-
" x=dates_actual, y=sec2_data, scales={\"x\": xs_hd, \"y\": ys_hd}, colors=[\"red\"]\n",
|
809
|
-
")\n",
|
810
|
-
"\n",
|
811
|
-
"handdraw = HandDraw(lines=line_hd)\n",
|
812
|
-
"xax = Axis(scale=xs_hd, label=\"Date\", grid_lines=\"none\")\n",
|
813
|
-
"yax = Axis(scale=ys_hd, label=\"Price\", orientation=\"vertical\", grid_lines=\"none\")\n",
|
814
|
-
"\n",
|
815
|
-
"Figure(marks=[line_hd], axes=[xax, yax], interaction=handdraw)"
|
816
|
-
]
|
817
|
-
},
|
818
|
-
{
|
819
|
-
"cell_type": "markdown",
|
820
|
-
"metadata": {},
|
821
|
-
"source": [
|
822
|
-
"# Unified Figure with All Interactions"
|
823
|
-
]
|
824
|
-
},
|
825
|
-
{
|
826
|
-
"cell_type": "code",
|
827
|
-
"execution_count": null,
|
828
|
-
"metadata": {},
|
829
|
-
"outputs": [],
|
830
|
-
"source": [
|
831
|
-
"dt_x = DateScale(date_format=date_fmt, min=py_dtime(2007, 1, 1))\n",
|
832
|
-
"lc1_x = LinearScale()\n",
|
833
|
-
"lc2_y = LinearScale()\n",
|
834
|
-
"\n",
|
835
|
-
"lc2 = Lines(\n",
|
836
|
-
" x=np.linspace(0.0, 10.0, len(prices)),\n",
|
837
|
-
" y=prices * 0.25,\n",
|
838
|
-
" scales={\"x\": lc1_x, \"y\": lc2_y},\n",
|
839
|
-
" display_legend=True,\n",
|
840
|
-
" labels=[\"Security 1\"],\n",
|
841
|
-
")\n",
|
842
|
-
"\n",
|
843
|
-
"lc3 = Lines(\n",
|
844
|
-
" x=dates_actual,\n",
|
845
|
-
" y=sec2_data,\n",
|
846
|
-
" scales={\"x\": dt_x, \"y\": lc2_y},\n",
|
847
|
-
" colors=[\"red\"],\n",
|
848
|
-
" display_legend=True,\n",
|
849
|
-
" labels=[\"Security 2\"],\n",
|
850
|
-
")\n",
|
851
|
-
"\n",
|
852
|
-
"lc4 = Lines(\n",
|
853
|
-
" x=np.linspace(0.0, 10.0, len(prices)),\n",
|
854
|
-
" y=sec2_data * 0.75,\n",
|
855
|
-
" scales={\"x\": LinearScale(min=5, max=10), \"y\": lc2_y},\n",
|
856
|
-
" colors=[\"green\"],\n",
|
857
|
-
" display_legend=True,\n",
|
858
|
-
" labels=[\"Security 2 squared\"],\n",
|
859
|
-
")\n",
|
860
|
-
"\n",
|
861
|
-
"x_ax1 = Axis(label=\"Date\", scale=dt_x)\n",
|
862
|
-
"x_ax2 = Axis(label=\"Time\", scale=lc1_x, side=\"top\", grid_lines=\"none\")\n",
|
863
|
-
"x_ay2 = Axis(label=(symbol + \" Price\"), scale=lc2_y, orientation=\"vertical\")\n",
|
864
|
-
"\n",
|
865
|
-
"\n",
|
866
|
-
"fig = Figure(marks=[lc2, lc3, lc4], axes=[x_ax1, x_ax2, x_ay2])"
|
867
|
-
]
|
868
|
-
},
|
869
|
-
{
|
870
|
-
"cell_type": "code",
|
871
|
-
"execution_count": null,
|
872
|
-
"metadata": {},
|
873
|
-
"outputs": [],
|
874
|
-
"source": [
|
875
|
-
"## declaring the interactions\n",
|
876
|
-
"multi_sel = MultiSelector(scale=dt_x, marks=[lc2, lc3])\n",
|
877
|
-
"br_intsel = BrushIntervalSelector(scale=lc1_x, marks=[lc2, lc3])\n",
|
878
|
-
"index_sel = IndexSelector(scale=dt_x, marks=[lc2, lc3])\n",
|
879
|
-
"int_sel = FastIntervalSelector(scale=dt_x, marks=[lc3, lc2])\n",
|
880
|
-
"\n",
|
881
|
-
"hd = HandDraw(lines=lc2)\n",
|
882
|
-
"hd2 = HandDraw(lines=lc3)\n",
|
883
|
-
"pz = PanZoom(scales={\"x\": [dt_x], \"y\": [lc2_y]})\n",
|
884
|
-
"\n",
|
885
|
-
"deb = HTML()\n",
|
886
|
-
"deb.value = \"[]\""
|
887
|
-
]
|
888
|
-
},
|
889
|
-
{
|
890
|
-
"cell_type": "code",
|
891
|
-
"execution_count": null,
|
892
|
-
"metadata": {},
|
893
|
-
"outputs": [],
|
894
|
-
"source": [
|
895
|
-
"## Call back handler for the interactions\n",
|
896
|
-
"def test_callback(change):\n",
|
897
|
-
" deb.value = str(change.new)\n",
|
898
|
-
"\n",
|
899
|
-
"\n",
|
900
|
-
"multi_sel.observe(test_callback, names=[\"selected\"])\n",
|
901
|
-
"br_intsel.observe(test_callback, names=[\"selected\"])\n",
|
902
|
-
"index_sel.observe(test_callback, names=[\"selected\"])\n",
|
903
|
-
"int_sel.observe(test_callback, names=[\"selected\"])"
|
904
|
-
]
|
905
|
-
},
|
906
|
-
{
|
907
|
-
"cell_type": "code",
|
908
|
-
"execution_count": null,
|
909
|
-
"metadata": {},
|
910
|
-
"outputs": [],
|
911
|
-
"source": [
|
912
|
-
"from collections import OrderedDict\n",
|
913
|
-
"\n",
|
914
|
-
"selection_interacts = ToggleButtons(\n",
|
915
|
-
" options=OrderedDict(\n",
|
916
|
-
" [\n",
|
917
|
-
" (\"HandDraw1\", hd),\n",
|
918
|
-
" (\"HandDraw2\", hd2),\n",
|
919
|
-
" (\"PanZoom\", pz),\n",
|
920
|
-
" (\"FastIntervalSelector\", int_sel),\n",
|
921
|
-
" (\"IndexSelector\", index_sel),\n",
|
922
|
-
" (\"BrushIntervalSelector\", br_intsel),\n",
|
923
|
-
" (\"MultiSelector\", multi_sel),\n",
|
924
|
-
" (\"None\", None),\n",
|
925
|
-
" ]\n",
|
926
|
-
" )\n",
|
927
|
-
")\n",
|
928
|
-
"\n",
|
929
|
-
"link((selection_interacts, \"value\"), (fig, \"interaction\"))\n",
|
930
|
-
"VBox([deb, fig, selection_interacts], align_self=\"stretch\")"
|
931
|
-
]
|
932
|
-
},
|
933
|
-
{
|
934
|
-
"cell_type": "code",
|
935
|
-
"execution_count": null,
|
936
|
-
"metadata": {},
|
937
|
-
"outputs": [],
|
938
|
-
"source": [
|
939
|
-
"# Set the scales of lc4 to the ones of lc2 and check if panzoom pans the two.\n",
|
940
|
-
"lc4.scales = lc2.scales"
|
941
|
-
]
|
942
|
-
}
|
943
|
-
],
|
944
|
-
"metadata": {
|
945
|
-
"anaconda-cloud": {},
|
946
|
-
"kernelspec": {
|
947
|
-
"display_name": "Python 3",
|
948
|
-
"language": "python",
|
949
|
-
"name": "python3"
|
950
|
-
},
|
951
|
-
"language_info": {
|
952
|
-
"codemirror_mode": {
|
953
|
-
"name": "ipython",
|
954
|
-
"version": 3
|
955
|
-
},
|
956
|
-
"file_extension": ".py",
|
957
|
-
"mimetype": "text/x-python",
|
958
|
-
"name": "python",
|
959
|
-
"nbconvert_exporter": "python",
|
960
|
-
"pygments_lexer": "ipython3",
|
961
|
-
"version": "3.7.6"
|
962
|
-
}
|
963
|
-
},
|
964
|
-
"nbformat": 4,
|
965
|
-
"nbformat_minor": 2
|
966
|
-
}
|