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,717 +0,0 @@
|
|
1
|
-
{
|
2
|
-
"cells": [
|
3
|
-
{
|
4
|
-
"cell_type": "markdown",
|
5
|
-
"metadata": {},
|
6
|
-
"source": [
|
7
|
-
"<table style=\"float:left; border:none\">\n",
|
8
|
-
" <tr style=\"border:none\">\n",
|
9
|
-
" <td style=\"border:none\">\n",
|
10
|
-
" <a href=\"https://bokeh.org/\"> \n",
|
11
|
-
" <img \n",
|
12
|
-
" src=\"assets/bokeh-transparent.png\" \n",
|
13
|
-
" style=\"width:50px\"\n",
|
14
|
-
" >\n",
|
15
|
-
" </a> \n",
|
16
|
-
" </td>\n",
|
17
|
-
" <td style=\"border:none\">\n",
|
18
|
-
" <h1>Bokeh Tutorial (J1 Template Version)</h1>\n",
|
19
|
-
" </td>\n",
|
20
|
-
" </tr>\n",
|
21
|
-
"</table>\n"
|
22
|
-
]
|
23
|
-
},
|
24
|
-
{
|
25
|
-
"cell_type": "markdown",
|
26
|
-
"metadata": {
|
27
|
-
"Collapsed": "false"
|
28
|
-
},
|
29
|
-
"source": [
|
30
|
-
"# Tutorial Overview\n",
|
31
|
-
"\n",
|
32
|
-
"The tutorial is broken into several sections, which are each presented in their own notebook:\n",
|
33
|
-
"\n",
|
34
|
-
"1. [Basic Plotting](01%20-%20Basic%20Plotting.ipynb)\n",
|
35
|
-
"2. [Styling and Theming](02%20-%20Styling%20and%20Theming.ipynb)\n",
|
36
|
-
"3. [Data Sources and Transformations](03%20-%20Data%20Sources%20and%20Transformations.ipynb)\n",
|
37
|
-
"4. [Adding Annotations](04%20-%20Adding%20Annotations.ipynb)\n",
|
38
|
-
"5. [Presentation and Layouts](05%20-%20Presentation%20Layouts.ipynb)\n",
|
39
|
-
"6. [Linking and Interactions](06%20-%20Linking%20and%20Interactions.ipynb)\n",
|
40
|
-
"7. [Bar and Categorical Data Plots](07%20-%20Bar%20and%20Categorical%20Data%20Plots.ipynb)\n",
|
41
|
-
"8. [Graph and Network Plots](08%20-%20Graph%20and%20Network%20Plots.ipynb)\n",
|
42
|
-
"9. [Geographic Plots](09%20-%20Geographic%20Plots.ipynb)\n",
|
43
|
-
"10. [Exporting and Embedding](10%20-%20Exporting%20and%20Embedding.ipynb)\n",
|
44
|
-
"11. [Running Bokeh Applications](11%20-%20Running%20Bokeh%20Applications.ipynb)\n",
|
45
|
-
"\n",
|
46
|
-
"As well as some extra topic appendices:\n",
|
47
|
-
"\n",
|
48
|
-
"A1. [Models and Primitives](A1%20-%20Models%20and%20Primitives.ipynb)<br />\n",
|
49
|
-
"A2. [Visualizing Big Data with Datashader](A2%20-%20Visualizing%20Big%20Data%20with%20Datashader.ipynb)<br />\n",
|
50
|
-
"A3. [High-Level Charting with Holoviews](A3%20-%20High-Level%20Charting%20with%20Holoviews.ipynb)<br />\n",
|
51
|
-
"A4. [Additional Resources](A4%20-%20Additional%20Resources.ipynb)"
|
52
|
-
]
|
53
|
-
},
|
54
|
-
{
|
55
|
-
"cell_type": "markdown",
|
56
|
-
"metadata": {},
|
57
|
-
"source": [
|
58
|
-
"## 0. Introduction and Setup\n",
|
59
|
-
"\n",
|
60
|
-
"Bokeh is an interactive visualization library that targets modern web browsers for presentation. It is good for:\n",
|
61
|
-
"\n",
|
62
|
-
"* Interactive visualization in modern browsers\n",
|
63
|
-
"* Standalone HTML documents, or server-backed apps\n",
|
64
|
-
"* Expressive and versatile graphics\n",
|
65
|
-
"* Large, dynamic or streaming data\n",
|
66
|
-
"* Easy usage from python (or Scala, or R, or...)\n",
|
67
|
-
"\n",
|
68
|
-
"And most importantly:\n",
|
69
|
-
"\n",
|
70
|
-
"## <b>No programming</b> of <i>Javascript</i> is required <br>\n",
|
71
|
-
"\n",
|
72
|
-
"Bokeh is an interactive visualization library for modern web browsers. It provides elegant, concise construction of versatile graphics, and affords high-performance interactivity over large or streaming datasets. Bokeh can help anyone who would like to quickly and easily make interactive plots, dashboards, and data applications."
|
73
|
-
]
|
74
|
-
},
|
75
|
-
{
|
76
|
-
"cell_type": "markdown",
|
77
|
-
"metadata": {},
|
78
|
-
"source": [
|
79
|
-
"## What can I *do* with Bokeh"
|
80
|
-
]
|
81
|
-
},
|
82
|
-
{
|
83
|
-
"cell_type": "code",
|
84
|
-
"execution_count": 1,
|
85
|
-
"metadata": {},
|
86
|
-
"outputs": [
|
87
|
-
{
|
88
|
-
"data": {
|
89
|
-
"text/html": [
|
90
|
-
"<div class=\"bk-root\">\n",
|
91
|
-
" <a href=\"https://bokeh.org\" target=\"_blank\" class=\"bk-logo bk-logo-small bk-logo-notebook\"></a>\n",
|
92
|
-
" <span id=\"1001\">Loading BokehJS ...</span>\n",
|
93
|
-
" </div>\n"
|
94
|
-
]
|
95
|
-
},
|
96
|
-
"metadata": {},
|
97
|
-
"output_type": "display_data"
|
98
|
-
},
|
99
|
-
{
|
100
|
-
"data": {
|
101
|
-
"application/javascript": [
|
102
|
-
"(function(root) {\n",
|
103
|
-
" function now() {\n",
|
104
|
-
" return new Date();\n",
|
105
|
-
" }\n",
|
106
|
-
"\n",
|
107
|
-
" const force = true;\n",
|
108
|
-
"\n",
|
109
|
-
" if (typeof root._bokeh_onload_callbacks === \"undefined\" || force === true) {\n",
|
110
|
-
" root._bokeh_onload_callbacks = [];\n",
|
111
|
-
" root._bokeh_is_loading = undefined;\n",
|
112
|
-
" }\n",
|
113
|
-
"\n",
|
114
|
-
"const JS_MIME_TYPE = 'application/javascript';\n",
|
115
|
-
" const HTML_MIME_TYPE = 'text/html';\n",
|
116
|
-
" const EXEC_MIME_TYPE = 'application/vnd.bokehjs_exec.v0+json';\n",
|
117
|
-
" const CLASS_NAME = 'output_bokeh rendered_html';\n",
|
118
|
-
"\n",
|
119
|
-
" /**\n",
|
120
|
-
" * Render data to the DOM node\n",
|
121
|
-
" */\n",
|
122
|
-
" function render(props, node) {\n",
|
123
|
-
" const script = document.createElement(\"script\");\n",
|
124
|
-
" node.appendChild(script);\n",
|
125
|
-
" }\n",
|
126
|
-
"\n",
|
127
|
-
" /**\n",
|
128
|
-
" * Handle when an output is cleared or removed\n",
|
129
|
-
" */\n",
|
130
|
-
" function handleClearOutput(event, handle) {\n",
|
131
|
-
" const cell = handle.cell;\n",
|
132
|
-
"\n",
|
133
|
-
" const id = cell.output_area._bokeh_element_id;\n",
|
134
|
-
" const server_id = cell.output_area._bokeh_server_id;\n",
|
135
|
-
" // Clean up Bokeh references\n",
|
136
|
-
" if (id != null && id in Bokeh.index) {\n",
|
137
|
-
" Bokeh.index[id].model.document.clear();\n",
|
138
|
-
" delete Bokeh.index[id];\n",
|
139
|
-
" }\n",
|
140
|
-
"\n",
|
141
|
-
" if (server_id !== undefined) {\n",
|
142
|
-
" // Clean up Bokeh references\n",
|
143
|
-
" const cmd_clean = \"from bokeh.io.state import curstate; print(curstate().uuid_to_server['\" + server_id + \"'].get_sessions()[0].document.roots[0]._id)\";\n",
|
144
|
-
" cell.notebook.kernel.execute(cmd_clean, {\n",
|
145
|
-
" iopub: {\n",
|
146
|
-
" output: function(msg) {\n",
|
147
|
-
" const id = msg.content.text.trim();\n",
|
148
|
-
" if (id in Bokeh.index) {\n",
|
149
|
-
" Bokeh.index[id].model.document.clear();\n",
|
150
|
-
" delete Bokeh.index[id];\n",
|
151
|
-
" }\n",
|
152
|
-
" }\n",
|
153
|
-
" }\n",
|
154
|
-
" });\n",
|
155
|
-
" // Destroy server and session\n",
|
156
|
-
" const cmd_destroy = \"import bokeh.io.notebook as ion; ion.destroy_server('\" + server_id + \"')\";\n",
|
157
|
-
" cell.notebook.kernel.execute(cmd_destroy);\n",
|
158
|
-
" }\n",
|
159
|
-
" }\n",
|
160
|
-
"\n",
|
161
|
-
" /**\n",
|
162
|
-
" * Handle when a new output is added\n",
|
163
|
-
" */\n",
|
164
|
-
" function handleAddOutput(event, handle) {\n",
|
165
|
-
" const output_area = handle.output_area;\n",
|
166
|
-
" const output = handle.output;\n",
|
167
|
-
"\n",
|
168
|
-
" // limit handleAddOutput to display_data with EXEC_MIME_TYPE content only\n",
|
169
|
-
" if ((output.output_type != \"display_data\") || (!Object.prototype.hasOwnProperty.call(output.data, EXEC_MIME_TYPE))) {\n",
|
170
|
-
" return\n",
|
171
|
-
" }\n",
|
172
|
-
"\n",
|
173
|
-
" const toinsert = output_area.element.find(\".\" + CLASS_NAME.split(' ')[0]);\n",
|
174
|
-
"\n",
|
175
|
-
" if (output.metadata[EXEC_MIME_TYPE][\"id\"] !== undefined) {\n",
|
176
|
-
" toinsert[toinsert.length - 1].firstChild.textContent = output.data[JS_MIME_TYPE];\n",
|
177
|
-
" // store reference to embed id on output_area\n",
|
178
|
-
" output_area._bokeh_element_id = output.metadata[EXEC_MIME_TYPE][\"id\"];\n",
|
179
|
-
" }\n",
|
180
|
-
" if (output.metadata[EXEC_MIME_TYPE][\"server_id\"] !== undefined) {\n",
|
181
|
-
" const bk_div = document.createElement(\"div\");\n",
|
182
|
-
" bk_div.innerHTML = output.data[HTML_MIME_TYPE];\n",
|
183
|
-
" const script_attrs = bk_div.children[0].attributes;\n",
|
184
|
-
" for (let i = 0; i < script_attrs.length; i++) {\n",
|
185
|
-
" toinsert[toinsert.length - 1].firstChild.setAttribute(script_attrs[i].name, script_attrs[i].value);\n",
|
186
|
-
" toinsert[toinsert.length - 1].firstChild.textContent = bk_div.children[0].textContent\n",
|
187
|
-
" }\n",
|
188
|
-
" // store reference to server id on output_area\n",
|
189
|
-
" output_area._bokeh_server_id = output.metadata[EXEC_MIME_TYPE][\"server_id\"];\n",
|
190
|
-
" }\n",
|
191
|
-
" }\n",
|
192
|
-
"\n",
|
193
|
-
" function register_renderer(events, OutputArea) {\n",
|
194
|
-
"\n",
|
195
|
-
" function append_mime(data, metadata, element) {\n",
|
196
|
-
" // create a DOM node to render to\n",
|
197
|
-
" const toinsert = this.create_output_subarea(\n",
|
198
|
-
" metadata,\n",
|
199
|
-
" CLASS_NAME,\n",
|
200
|
-
" EXEC_MIME_TYPE\n",
|
201
|
-
" );\n",
|
202
|
-
" this.keyboard_manager.register_events(toinsert);\n",
|
203
|
-
" // Render to node\n",
|
204
|
-
" const props = {data: data, metadata: metadata[EXEC_MIME_TYPE]};\n",
|
205
|
-
" render(props, toinsert[toinsert.length - 1]);\n",
|
206
|
-
" element.append(toinsert);\n",
|
207
|
-
" return toinsert\n",
|
208
|
-
" }\n",
|
209
|
-
"\n",
|
210
|
-
" /* Handle when an output is cleared or removed */\n",
|
211
|
-
" events.on('clear_output.CodeCell', handleClearOutput);\n",
|
212
|
-
" events.on('delete.Cell', handleClearOutput);\n",
|
213
|
-
"\n",
|
214
|
-
" /* Handle when a new output is added */\n",
|
215
|
-
" events.on('output_added.OutputArea', handleAddOutput);\n",
|
216
|
-
"\n",
|
217
|
-
" /**\n",
|
218
|
-
" * Register the mime type and append_mime function with output_area\n",
|
219
|
-
" */\n",
|
220
|
-
" OutputArea.prototype.register_mime_type(EXEC_MIME_TYPE, append_mime, {\n",
|
221
|
-
" /* Is output safe? */\n",
|
222
|
-
" safe: true,\n",
|
223
|
-
" /* Index of renderer in `output_area.display_order` */\n",
|
224
|
-
" index: 0\n",
|
225
|
-
" });\n",
|
226
|
-
" }\n",
|
227
|
-
"\n",
|
228
|
-
" // register the mime type if in Jupyter Notebook environment and previously unregistered\n",
|
229
|
-
" if (root.Jupyter !== undefined) {\n",
|
230
|
-
" const events = require('base/js/events');\n",
|
231
|
-
" const OutputArea = require('notebook/js/outputarea').OutputArea;\n",
|
232
|
-
"\n",
|
233
|
-
" if (OutputArea.prototype.mime_types().indexOf(EXEC_MIME_TYPE) == -1) {\n",
|
234
|
-
" register_renderer(events, OutputArea);\n",
|
235
|
-
" }\n",
|
236
|
-
" }\n",
|
237
|
-
" if (typeof (root._bokeh_timeout) === \"undefined\" || force === true) {\n",
|
238
|
-
" root._bokeh_timeout = Date.now() + 5000;\n",
|
239
|
-
" root._bokeh_failed_load = false;\n",
|
240
|
-
" }\n",
|
241
|
-
"\n",
|
242
|
-
" const NB_LOAD_WARNING = {'data': {'text/html':\n",
|
243
|
-
" \"<div style='background-color: #fdd'>\\n\"+\n",
|
244
|
-
" \"<p>\\n\"+\n",
|
245
|
-
" \"BokehJS does not appear to have successfully loaded. If loading BokehJS from CDN, this \\n\"+\n",
|
246
|
-
" \"may be due to a slow or bad network connection. Possible fixes:\\n\"+\n",
|
247
|
-
" \"</p>\\n\"+\n",
|
248
|
-
" \"<ul>\\n\"+\n",
|
249
|
-
" \"<li>re-rerun `output_notebook()` to attempt to load from CDN again, or</li>\\n\"+\n",
|
250
|
-
" \"<li>use INLINE resources instead, as so:</li>\\n\"+\n",
|
251
|
-
" \"</ul>\\n\"+\n",
|
252
|
-
" \"<code>\\n\"+\n",
|
253
|
-
" \"from bokeh.resources import INLINE\\n\"+\n",
|
254
|
-
" \"output_notebook(resources=INLINE)\\n\"+\n",
|
255
|
-
" \"</code>\\n\"+\n",
|
256
|
-
" \"</div>\"}};\n",
|
257
|
-
"\n",
|
258
|
-
" function display_loaded() {\n",
|
259
|
-
" const el = document.getElementById(\"1001\");\n",
|
260
|
-
" if (el != null) {\n",
|
261
|
-
" el.textContent = \"BokehJS is loading...\";\n",
|
262
|
-
" }\n",
|
263
|
-
" if (root.Bokeh !== undefined) {\n",
|
264
|
-
" if (el != null) {\n",
|
265
|
-
" el.textContent = \"BokehJS \" + root.Bokeh.version + \" successfully loaded.\";\n",
|
266
|
-
" }\n",
|
267
|
-
" } else if (Date.now() < root._bokeh_timeout) {\n",
|
268
|
-
" setTimeout(display_loaded, 100)\n",
|
269
|
-
" }\n",
|
270
|
-
" }\n",
|
271
|
-
"\n",
|
272
|
-
" function run_callbacks() {\n",
|
273
|
-
" try {\n",
|
274
|
-
" root._bokeh_onload_callbacks.forEach(function(callback) {\n",
|
275
|
-
" if (callback != null)\n",
|
276
|
-
" callback();\n",
|
277
|
-
" });\n",
|
278
|
-
" } finally {\n",
|
279
|
-
" delete root._bokeh_onload_callbacks\n",
|
280
|
-
" }\n",
|
281
|
-
" console.debug(\"Bokeh: all callbacks have finished\");\n",
|
282
|
-
" }\n",
|
283
|
-
"\n",
|
284
|
-
" function load_libs(css_urls, js_urls, callback) {\n",
|
285
|
-
" if (css_urls == null) css_urls = [];\n",
|
286
|
-
" if (js_urls == null) js_urls = [];\n",
|
287
|
-
"\n",
|
288
|
-
" root._bokeh_onload_callbacks.push(callback);\n",
|
289
|
-
" if (root._bokeh_is_loading > 0) {\n",
|
290
|
-
" console.debug(\"Bokeh: BokehJS is being loaded, scheduling callback at\", now());\n",
|
291
|
-
" return null;\n",
|
292
|
-
" }\n",
|
293
|
-
" if (js_urls == null || js_urls.length === 0) {\n",
|
294
|
-
" run_callbacks();\n",
|
295
|
-
" return null;\n",
|
296
|
-
" }\n",
|
297
|
-
" console.debug(\"Bokeh: BokehJS not loaded, scheduling load and callback at\", now());\n",
|
298
|
-
" root._bokeh_is_loading = css_urls.length + js_urls.length;\n",
|
299
|
-
"\n",
|
300
|
-
" function on_load() {\n",
|
301
|
-
" root._bokeh_is_loading--;\n",
|
302
|
-
" if (root._bokeh_is_loading === 0) {\n",
|
303
|
-
" console.debug(\"Bokeh: all BokehJS libraries/stylesheets loaded\");\n",
|
304
|
-
" run_callbacks()\n",
|
305
|
-
" }\n",
|
306
|
-
" }\n",
|
307
|
-
"\n",
|
308
|
-
" function on_error(url) {\n",
|
309
|
-
" console.error(\"failed to load \" + url);\n",
|
310
|
-
" }\n",
|
311
|
-
"\n",
|
312
|
-
" for (let i = 0; i < css_urls.length; i++) {\n",
|
313
|
-
" const url = css_urls[i];\n",
|
314
|
-
" const element = document.createElement(\"link\");\n",
|
315
|
-
" element.onload = on_load;\n",
|
316
|
-
" element.onerror = on_error.bind(null, url);\n",
|
317
|
-
" element.rel = \"stylesheet\";\n",
|
318
|
-
" element.type = \"text/css\";\n",
|
319
|
-
" element.href = url;\n",
|
320
|
-
" console.debug(\"Bokeh: injecting link tag for BokehJS stylesheet: \", url);\n",
|
321
|
-
" document.body.appendChild(element);\n",
|
322
|
-
" }\n",
|
323
|
-
"\n",
|
324
|
-
" for (let i = 0; i < js_urls.length; i++) {\n",
|
325
|
-
" const url = js_urls[i];\n",
|
326
|
-
" const element = document.createElement('script');\n",
|
327
|
-
" element.onload = on_load;\n",
|
328
|
-
" element.onerror = on_error.bind(null, url);\n",
|
329
|
-
" element.async = false;\n",
|
330
|
-
" element.src = url;\n",
|
331
|
-
" console.debug(\"Bokeh: injecting script tag for BokehJS library: \", url);\n",
|
332
|
-
" document.head.appendChild(element);\n",
|
333
|
-
" }\n",
|
334
|
-
" };\n",
|
335
|
-
"\n",
|
336
|
-
" function inject_raw_css(css) {\n",
|
337
|
-
" const element = document.createElement(\"style\");\n",
|
338
|
-
" element.appendChild(document.createTextNode(css));\n",
|
339
|
-
" document.body.appendChild(element);\n",
|
340
|
-
" }\n",
|
341
|
-
"\n",
|
342
|
-
" const js_urls = [\"https://cdn.bokeh.org/bokeh/release/bokeh-2.4.3.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-gl-2.4.3.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-widgets-2.4.3.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-tables-2.4.3.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-mathjax-2.4.3.min.js\"];\n",
|
343
|
-
" const css_urls = [];\n",
|
344
|
-
"\n",
|
345
|
-
" const inline_js = [ function(Bokeh) {\n",
|
346
|
-
" Bokeh.set_log_level(\"info\");\n",
|
347
|
-
" },\n",
|
348
|
-
"function(Bokeh) {\n",
|
349
|
-
" }\n",
|
350
|
-
" ];\n",
|
351
|
-
"\n",
|
352
|
-
" function run_inline_js() {\n",
|
353
|
-
" if (root.Bokeh !== undefined || force === true) {\n",
|
354
|
-
" for (let i = 0; i < inline_js.length; i++) {\n",
|
355
|
-
" inline_js[i].call(root, root.Bokeh);\n",
|
356
|
-
" }\n",
|
357
|
-
"if (force === true) {\n",
|
358
|
-
" display_loaded();\n",
|
359
|
-
" }} else if (Date.now() < root._bokeh_timeout) {\n",
|
360
|
-
" setTimeout(run_inline_js, 100);\n",
|
361
|
-
" } else if (!root._bokeh_failed_load) {\n",
|
362
|
-
" console.log(\"Bokeh: BokehJS failed to load within specified timeout.\");\n",
|
363
|
-
" root._bokeh_failed_load = true;\n",
|
364
|
-
" } else if (force !== true) {\n",
|
365
|
-
" const cell = $(document.getElementById(\"1001\")).parents('.cell').data().cell;\n",
|
366
|
-
" cell.output_area.append_execute_result(NB_LOAD_WARNING)\n",
|
367
|
-
" }\n",
|
368
|
-
" }\n",
|
369
|
-
"\n",
|
370
|
-
" if (root._bokeh_is_loading === 0) {\n",
|
371
|
-
" console.debug(\"Bokeh: BokehJS loaded, going straight to plotting\");\n",
|
372
|
-
" run_inline_js();\n",
|
373
|
-
" } else {\n",
|
374
|
-
" load_libs(css_urls, js_urls, function() {\n",
|
375
|
-
" console.debug(\"Bokeh: BokehJS plotting callback run at\", now());\n",
|
376
|
-
" run_inline_js();\n",
|
377
|
-
" });\n",
|
378
|
-
" }\n",
|
379
|
-
"}(window));"
|
380
|
-
],
|
381
|
-
"application/vnd.bokehjs_load.v0+json": "(function(root) {\n function now() {\n return new Date();\n }\n\n const force = true;\n\n if (typeof root._bokeh_onload_callbacks === \"undefined\" || force === true) {\n root._bokeh_onload_callbacks = [];\n root._bokeh_is_loading = undefined;\n }\n\n\n if (typeof (root._bokeh_timeout) === \"undefined\" || force === true) {\n root._bokeh_timeout = Date.now() + 5000;\n root._bokeh_failed_load = false;\n }\n\n const NB_LOAD_WARNING = {'data': {'text/html':\n \"<div style='background-color: #fdd'>\\n\"+\n \"<p>\\n\"+\n \"BokehJS does not appear to have successfully loaded. If loading BokehJS from CDN, this \\n\"+\n \"may be due to a slow or bad network connection. Possible fixes:\\n\"+\n \"</p>\\n\"+\n \"<ul>\\n\"+\n \"<li>re-rerun `output_notebook()` to attempt to load from CDN again, or</li>\\n\"+\n \"<li>use INLINE resources instead, as so:</li>\\n\"+\n \"</ul>\\n\"+\n \"<code>\\n\"+\n \"from bokeh.resources import INLINE\\n\"+\n \"output_notebook(resources=INLINE)\\n\"+\n \"</code>\\n\"+\n \"</div>\"}};\n\n function display_loaded() {\n const el = document.getElementById(\"1001\");\n if (el != null) {\n el.textContent = \"BokehJS is loading...\";\n }\n if (root.Bokeh !== undefined) {\n if (el != null) {\n el.textContent = \"BokehJS \" + root.Bokeh.version + \" successfully loaded.\";\n }\n } else if (Date.now() < root._bokeh_timeout) {\n setTimeout(display_loaded, 100)\n }\n }\n\n function run_callbacks() {\n try {\n root._bokeh_onload_callbacks.forEach(function(callback) {\n if (callback != null)\n callback();\n });\n } finally {\n delete root._bokeh_onload_callbacks\n }\n console.debug(\"Bokeh: all callbacks have finished\");\n }\n\n function load_libs(css_urls, js_urls, callback) {\n if (css_urls == null) css_urls = [];\n if (js_urls == null) js_urls = [];\n\n root._bokeh_onload_callbacks.push(callback);\n if (root._bokeh_is_loading > 0) {\n console.debug(\"Bokeh: BokehJS is being loaded, scheduling callback at\", now());\n return null;\n }\n if (js_urls == null || js_urls.length === 0) {\n run_callbacks();\n return null;\n }\n console.debug(\"Bokeh: BokehJS not loaded, scheduling load and callback at\", now());\n root._bokeh_is_loading = css_urls.length + js_urls.length;\n\n function on_load() {\n root._bokeh_is_loading--;\n if (root._bokeh_is_loading === 0) {\n console.debug(\"Bokeh: all BokehJS libraries/stylesheets loaded\");\n run_callbacks()\n }\n }\n\n function on_error(url) {\n console.error(\"failed to load \" + url);\n }\n\n for (let i = 0; i < css_urls.length; i++) {\n const url = css_urls[i];\n const element = document.createElement(\"link\");\n element.onload = on_load;\n element.onerror = on_error.bind(null, url);\n element.rel = \"stylesheet\";\n element.type = \"text/css\";\n element.href = url;\n console.debug(\"Bokeh: injecting link tag for BokehJS stylesheet: \", url);\n document.body.appendChild(element);\n }\n\n for (let i = 0; i < js_urls.length; i++) {\n const url = js_urls[i];\n const element = document.createElement('script');\n element.onload = on_load;\n element.onerror = on_error.bind(null, url);\n element.async = false;\n element.src = url;\n console.debug(\"Bokeh: injecting script tag for BokehJS library: \", url);\n document.head.appendChild(element);\n }\n };\n\n function inject_raw_css(css) {\n const element = document.createElement(\"style\");\n element.appendChild(document.createTextNode(css));\n document.body.appendChild(element);\n }\n\n const js_urls = [\"https://cdn.bokeh.org/bokeh/release/bokeh-2.4.3.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-gl-2.4.3.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-widgets-2.4.3.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-tables-2.4.3.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-mathjax-2.4.3.min.js\"];\n const css_urls = [];\n\n const inline_js = [ function(Bokeh) {\n Bokeh.set_log_level(\"info\");\n },\nfunction(Bokeh) {\n }\n ];\n\n function run_inline_js() {\n if (root.Bokeh !== undefined || force === true) {\n for (let i = 0; i < inline_js.length; i++) {\n inline_js[i].call(root, root.Bokeh);\n }\nif (force === true) {\n display_loaded();\n }} else if (Date.now() < root._bokeh_timeout) {\n setTimeout(run_inline_js, 100);\n } else if (!root._bokeh_failed_load) {\n console.log(\"Bokeh: BokehJS failed to load within specified timeout.\");\n root._bokeh_failed_load = true;\n } else if (force !== true) {\n const cell = $(document.getElementById(\"1001\")).parents('.cell').data().cell;\n cell.output_area.append_execute_result(NB_LOAD_WARNING)\n }\n }\n\n if (root._bokeh_is_loading === 0) {\n console.debug(\"Bokeh: BokehJS loaded, going straight to plotting\");\n run_inline_js();\n } else {\n load_libs(css_urls, js_urls, function() {\n console.debug(\"Bokeh: BokehJS plotting callback run at\", now());\n run_inline_js();\n });\n }\n}(window));"
|
382
|
-
},
|
383
|
-
"metadata": {},
|
384
|
-
"output_type": "display_data"
|
385
|
-
}
|
386
|
-
],
|
387
|
-
"source": [
|
388
|
-
"# Standard imports \n",
|
389
|
-
"\n",
|
390
|
-
"from bokeh.io import output_notebook, show\n",
|
391
|
-
"output_notebook()"
|
392
|
-
]
|
393
|
-
},
|
394
|
-
{
|
395
|
-
"cell_type": "code",
|
396
|
-
"execution_count": 2,
|
397
|
-
"metadata": {
|
398
|
-
"Collapsed": "false"
|
399
|
-
},
|
400
|
-
"outputs": [
|
401
|
-
{
|
402
|
-
"data": {
|
403
|
-
"text/html": [
|
404
|
-
"\n",
|
405
|
-
" <div class=\"bk-root\" id=\"6fc18b78-5750-4d53-85e4-48c526ad77ae\" data-root-id=\"1004\"></div>\n"
|
406
|
-
]
|
407
|
-
},
|
408
|
-
"metadata": {},
|
409
|
-
"output_type": "display_data"
|
410
|
-
},
|
411
|
-
{
|
412
|
-
"data": {
|
413
|
-
"application/javascript": [
|
414
|
-
"(function(root) {\n",
|
415
|
-
" function embed_document(root) {\n",
|
416
|
-
" const docs_json = {\"bc7f0dfe-9583-4277-86f1-eab796edeacb\":{\"defs\":[],\"roots\":{\"references\":[{\"attributes\":{\"below\":[{\"id\":\"1015\"}],\"center\":[{\"id\":\"1017\"},{\"id\":\"1021\"}],\"height\":300,\"left\":[{\"id\":\"1018\"}],\"renderers\":[{\"id\":\"1029\"}],\"title\":{\"id\":\"1005\"},\"toolbar\":{\"id\":\"1022\"},\"toolbar_location\":null,\"width\":800,\"x_range\":{\"id\":\"1007\"},\"x_scale\":{\"id\":\"1011\"},\"y_range\":{\"id\":\"1009\"},\"y_scale\":{\"id\":\"1013\"}},\"id\":\"1004\",\"subtype\":\"Figure\",\"type\":\"Plot\"},{\"attributes\":{},\"id\":\"1041\",\"type\":\"Selection\"},{\"attributes\":{\"axis_label\":\"Manufacturer grouped by # Cylinders\",\"coordinates\":null,\"formatter\":{\"id\":\"1038\"},\"group\":null,\"major_label_orientation\":1.2,\"major_label_policy\":{\"id\":\"1039\"},\"ticker\":{\"id\":\"1016\"}},\"id\":\"1015\",\"type\":\"CategoricalAxis\"},{\"attributes\":{\"coordinates\":null,\"data_source\":{\"id\":\"1003\"},\"glyph\":{\"id\":\"1025\"},\"group\":null,\"hover_glyph\":{\"id\":\"1027\"},\"muted_glyph\":{\"id\":\"1028\"},\"nonselection_glyph\":{\"id\":\"1026\"},\"view\":{\"id\":\"1030\"}},\"id\":\"1029\",\"type\":\"GlyphRenderer\"},{\"attributes\":{},\"id\":\"1011\",\"type\":\"CategoricalScale\"},{\"attributes\":{\"data\":{\"accel_25%\":{\"__ndarray__\":\"AAAAAACAKkBmZmZmZkYwQAAAAAAAAC1AZmZmZmYmKUDNzMzMzMwuQM3MzMzMzC1AAAAAAADgMEAAAAAAAAAtQDMzMzMz8y1AzczMzMzMLEDMzMzMzEwtQAAAAAAAgC9AAAAAAAAALkAAAAAAACAxQM3MzMzMzDVAZmZmZmamLUAAAAAAAAAtQJqZmZmZmTFAAAAAAADALEAAAAAAAIAyQAAAAAAAgC1AAAAAAAAAMEBmZmZmZqYwQAAAAAAAwCtAzMzMzMwsMEDNzMzMzMwtQDMzMzMzMy5AzMzMzMyMLEAAAAAAAAAtQGZmZmZm5jBAmpmZmZkZNEAzMzMzMzMuQM3MzMzMzC5AAAAAAAAALkCamZmZmZkwQDQzMzMzMylAzczMzMxsMUCamZmZmZkuQDMzMzMzszBAZmZmZmYGMECamZmZmdkrQJqZmZmZmS9AAAAAAACAL0CamZmZmZkuQJqZmZmZGSpAMzMzMzMzLkAAAAAAAMAmQAAAAAAAgCZAmZmZmZnZKkAAAAAAAAAoQMzMzMzMzCdAAAAAAACAKEAAAAAAAMAoQAAAAAAAgDJAAAAAAAAAJ0AAAAAAAAAqQAAAAAAAACdAmpmZmZkZJUA=\",\"dtype\":\"float64\",\"order\":\"little\",\"shape\":[58]},\"accel_50%\":{\"__ndarray__\":\"AAAAAAAAK0DNzMzMzIwxQAAAAAAAAC5AzczMzMxMKUAAAAAAAAAwQM3MzMzMzC1AzczMzMxMMkAAAAAAAAAtQGZmZmZm5jBAAAAAAAAALUAAAAAAAAAvQDMzMzMzczBAmpmZmZkZMEAAAAAAAMAxQM3MzMzMzDVAzczMzMxML0AAAAAAAAAtQJqZmZmZmTFAAAAAAAAALkAAAAAAAIAzQGZmZmZmZi5AMzMzMzMzMEAAAAAAAAAyQDMzMzMzsy1AmpmZmZkZMUBmZmZmZmYwQDMzMzMzMy5AzczMzMzMLkAAAAAAAAAuQGZmZmZm5jFAmpmZmZkZNEAAAAAAAAAwQJqZmZmZmS9AZmZmZmZmMECamZmZmZkwQJqZmZmZmStAMzMzMzMzMkAAAAAAAEAwQDMzMzMzszBAMzMzMzNzMUBmZmZmZuYtQJqZmZmZmS9AAAAAAACAMECamZmZmZkvQAAAAAAAACtAmpmZmZmZMEAAAAAAAIAnQAAAAAAAACpAAAAAAACALUAAAAAAAAAqQDMzMzMzsyhAMzMzMzOzKkBmZmZmZuYqQAAAAAAAgDJAmpmZmZmZKUAAAAAAAAAvQDMzMzMzMypAAAAAAAAAJ0A=\",\"dtype\":\"float64\",\"order\":\"little\",\"shape\":[58]},\"accel_75%\":{\"__ndarray__\":\"AAAAAAAAK0A0MzMzM9MyQJqZmZmZmS9ANDMzMzNzKUAzMzMzMzMwQM3MzMzMzC1AAAAAAACAM0AAAAAAAAAtQDQzMzMzszJAmpmZmZnZL0AAAAAAAEAvQAAAAAAAgDFAAAAAAAAAMUCamZmZmTkyQM3MzMzMzDVAmpmZmZl5MEAAAAAAAAAtQJqZmZmZmTFAMzMzMzOzL0BmZmZmZiY1QJmZmZmZOTBAAAAAAAAAMkDNzMzMzEwyQGZmZmZmJjBAmpmZmZnZMUCamZmZmRkxQDMzMzMzMy5AAAAAAADgNECamZmZmRkvQGZmZmZm5jJAmpmZmZkZNECamZmZmZkxQGZmZmZmpjBAAAAAAACAMUCamZmZmZkwQM3MzMzMTCxAMzMzMzOzMkA0MzMzM/MxQDMzMzMzszBAZmZmZmbmMkAzMzMzM/MvQJqZmZmZmS9AmpmZmZnZMEAzMzMzM/MwQAAAAAAAAC1AmpmZmZkZMkAzMzMzM7MpQAAAAAAAACxAMzMzMzMTMEAAAAAAAAAsQAAAAAAAQClAZmZmZmZmK0A0MzMzM7MsQAAAAAAAgDJAZmZmZmZmKkAAAAAAAAAzQAAAAAAAwCtAAAAAAACAJ0A=\",\"dtype\":\"float64\",\"order\":\"little\",\"shape\":[58]},\"accel_count\":{\"__ndarray__\":\"AAAAAAAAEEAAAAAAAAAAQAAAAAAAABRAAAAAAAAAAEAAAAAAAAAIQAAAAAAAAPA/AAAAAAAAMEAAAAAAAADwPwAAAAAAADRAAAAAAAAAKEAAAAAAAAAgQAAAAAAAADBAAAAAAAAAKkAAAAAAAAAgQAAAAAAAAPA/AAAAAAAAAEAAAAAAAADwPwAAAAAAAPA/AAAAAAAAEEAAAAAAAAAcQAAAAAAAACRAAAAAAAAAFEAAAAAAAAAIQAAAAAAAABBAAAAAAAAAEEAAAAAAAAA3QAAAAAAAAPA/AAAAAAAANkAAAAAAAAAQQAAAAAAAAABAAAAAAAAA8D8AAAAAAAAxQAAAAAAAABxAAAAAAAAAJkAAAAAAAADwPwAAAAAAAAhAAAAAAAAAEEAAAAAAAAAoQAAAAAAAAPA/AAAAAAAAEEAAAAAAAAAAQAAAAAAAAPA/AAAAAAAAJkAAAAAAAAAQQAAAAAAAAAhAAAAAAAAAAEAAAAAAAAAgQAAAAAAAABxAAAAAAAAAAEAAAAAAAAA0QAAAAAAAABBAAAAAAAAAKEAAAAAAAAA0QAAAAAAAAPA/AAAAAAAAFEAAAAAAAAAcQAAAAAAAACRAAAAAAAAAHEA=\",\"dtype\":\"float64\",\"order\":\"little\",\"shape\":[58]},\"accel_max\":{\"__ndarray__\":\"AAAAAAAAK0CamZmZmRk0QAAAAAAAgDBAmpmZmZmZKUBmZmZmZmYwQM3MzMzMzC1AMzMzMzMzNkAAAAAAAAAtQGZmZmZmZjNAMzMzMzOzMUAAAAAAAIAzQDMzMzMzszRAAAAAAACAMkBmZmZmZmYzQM3MzMzMzDVAzczMzMxMMUAAAAAAAAAtQJqZmZmZmTFAZmZmZmbmMEDNzMzMzMw4QAAAAAAAgDRAAAAAAACAMkCamZmZmZkyQAAAAAAAgDFAAAAAAAAAMkAAAAAAAAA1QDMzMzMzMy5AmpmZmZmZOEBmZmZmZmYvQGZmZmZm5jNAmpmZmZkZNEAAAAAAAAAzQAAAAAAAADVAAAAAAACAMkCamZmZmZkwQAAAAAAAAC1AMzMzMzOzMkAAAAAAAAA1QDMzMzMzszBAAAAAAAAANUAAAAAAAAAxQJqZmZmZmS9AAAAAAAAAM0AzMzMzMzMzQAAAAAAAAC9AmpmZmZmZM0AAAAAAAAAvQM3MzMzMzC1AZmZmZmZmMUDNzMzMzMwuQAAAAAAAACpAZmZmZmZmLkAAAAAAAAAwQAAAAAAAgDJAzczMzMzMLUAzMzMzMzM2QAAAAAAAAC1AAAAAAAAAKEA=\",\"dtype\":\"float64\",\"order\":\"little\",\"shape\":[58]},\"accel_mean\":{\"__ndarray__\":\"AAAAAACAKkDNzMzMzIwxQFK4HoXrUS5AzczMzMxMKUB4d3d3d3cvQM3MzMzMzC1ANDMzMzNTMkAAAAAAAAAtQML1KFyP4jBAvLu7u7u7LUDNzMzMzEwvQJqZmZmZqTBAwA/8wA/8L0AzMzMzM4MxQM3MzMzMzDVAzczMzMxML0AAAAAAAAAtQJqZmZmZmTFAMzMzMzNzLkBf8RVf8RU0QBWuR+F6FC9A4noUrkdhMEDNzMzMzEwxQJqZmZmZWS5AzczMzMzsMECUD+N+XVIwQDMzMzMzMy5AqAR5SpBnMUCamZmZmRkuQGZmZmZm5jFAmpmZmZkZNEA0MzMzMzMwQEId1EEdVDBA0UUXXXTRL0CamZmZmZkwQHh3d3d3dypAzczMzMzsMUDv7u7u7s4wQDMzMzMzszBAmpmZmZl5MUBmZmZmZuYtQJqZmZmZmS9Ah7VvWPuGMEAzMzMzM3MwQLy7u7u7uytAmpmZmZmZMECamZmZmRkoQB7UQR3UQSlAAAAAAACALUDNzMzMzIwpQJqZmZmZWShAzMzMzMzMKUBSuB6F65EqQAAAAAAAgDJAXY/C9ShcKUCamZmZmRkwQKRwPQrXoyhAvuIrvuIrJkA=\",\"dtype\":\"float64\",\"order\":\"little\",\"shape\":[58]},\"accel_min\":{\"__ndarray__\":\"AAAAAAAAKUAAAAAAAAAuQAAAAAAAACxAAAAAAAAAKUCamZmZmZktQM3MzMzMzC1AAAAAAAAAL0AAAAAAAAAtQAAAAAAAAC1AMzMzMzMzJ0AAAAAAAAAsQDMzMzMzMytAmpmZmZmZK0BmZmZmZmYuQM3MzMzMzDVAAAAAAAAALEAAAAAAAAAtQJqZmZmZmTFAAAAAAAAALEAAAAAAAAAxQM3MzMzMzClAZmZmZmZmKkCamZmZmZkuQAAAAAAAACtAAAAAAAAAL0AAAAAAAAArQDMzMzMzMy5AZmZmZmZmKEAAAAAAAAAtQM3MzMzMzC9AmpmZmZkZNEAAAAAAAAAqQM3MzMzMzCpAmpmZmZmZJkCamZmZmZkwQM3MzMzMzCZAmpmZmZmZMEAAAAAAAAAtQDMzMzMzszBAAAAAAAAALEDNzMzMzMwpQJqZmZmZmS9AzczMzMzMLkAAAAAAAAAuQDMzMzMzMylAMzMzMzMzK0AAAAAAAAAhQAAAAAAAACRAMzMzMzMzKEAAAAAAAAAiQAAAAAAAACZAAAAAAAAAJEAAAAAAAAAkQAAAAAAAgDJAAAAAAAAAJkAAAAAAAAAmQAAAAAAAACBAAAAAAAAAI0A=\",\"dtype\":\"float64\",\"order\":\"little\",\"shape\":[58]},\"accel_std\":{\"__ndarray__\":\"AAAAAAAA4D/aBa/CltkMQJhwpa8jBvA/oRT/eiQnyz+s8nEBNKXqPwAAAAAAAPh/ZE+k085YAEAAAAAAAAD4fxI2soXgNfw//oDfulNv+j8yS6+hkwT7P3LUqK5Wo/s/LBFqidl/9j+zHuUrR1b1PwAAAAAAAPh/I16PFOmqAkAAAAAAAAD4fwAAAAAAAPh/062vj8V29D/psnKyNEsFQAtzj2BSAgFAr3RDq2ywAEBLKBJmHCD8P52IbbWHBP0/kpNDBEv+8j8n+uywYNL+PwAAAAAAAPh/iLbDYuyMDkCYZeZ6cH3kP8o7f2aeoAZAAAAAAAAA+H/u8iQBXIX6Pw0qa0PvxgJA/8KED5R4AkAAAAAAAAD4f1194pZpA/o/O9Xd5h0F8D8/TlRadd4AQAAAAAAAAPh/7+ZNqc1hB0DkNg8pbzEHQAAAAAAAAPh/tn2XMctw8T9kZmZmZmb+P3FLR1rzv/c/22zfzHb4EEAKUc4PcYQAQNKepMuXf/0/B/zORzj7DUCir7Qkh376PzMzMzMzM+s/bteC/TsB9z8GTyxx9PT5PwAAAAAAAPh//CUK2GSQ+D+e8zdT+FYQQPu1RsY47wJAIrZ6OpM27z8=\",\"dtype\":\"float64\",\"order\":\"little\",\"shape\":[58]},\"cyl_mfr\":[[\"3\",\"mazda\"],[\"4\",\"amc\"],[\"4\",\"audi\"],[\"4\",\"bmw\"],[\"4\",\"buick\"],[\"4\",\"capri\"],[\"4\",\"chevrolet\"],[\"4\",\"chrysler\"],[\"4\",\"datsun\"],[\"4\",\"dodge\"],[\"4\",\"fiat\"],[\"4\",\"ford\"],[\"4\",\"honda\"],[\"4\",\"mazda\"],[\"4\",\"mercedes\"],[\"4\",\"mercury\"],[\"4\",\"nissan\"],[\"4\",\"oldsmobile\"],[\"4\",\"opel\"],[\"4\",\"peugeot\"],[\"4\",\"plymouth\"],[\"4\",\"pontiac\"],[\"4\",\"renault\"],[\"4\",\"saab\"],[\"4\",\"subaru\"],[\"4\",\"toyota\"],[\"4\",\"triumph\"],[\"4\",\"volkswagen\"],[\"4\",\"volvo\"],[\"5\",\"audi\"],[\"5\",\"mercedes\"],[\"6\",\"amc\"],[\"6\",\"buick\"],[\"6\",\"chevrolet\"],[\"6\",\"chrysler\"],[\"6\",\"datsun\"],[\"6\",\"dodge\"],[\"6\",\"ford\"],[\"6\",\"mercedes\"],[\"6\",\"mercury\"],[\"6\",\"oldsmobile\"],[\"6\",\"peugeot\"],[\"6\",\"plymouth\"],[\"6\",\"pontiac\"],[\"6\",\"toyota\"],[\"6\",\"volvo\"],[\"8\",\"amc\"],[\"8\",\"buick\"],[\"8\",\"cadillac\"],[\"8\",\"chevrolet\"],[\"8\",\"chrysler\"],[\"8\",\"dodge\"],[\"8\",\"ford\"],[\"8\",\"hi\"],[\"8\",\"mercury\"],[\"8\",\"oldsmobile\"],[\"8\",\"plymouth\"],[\"8\",\"pontiac\"]],\"displ_25%\":{\"__ndarray__\":\"AAAAAACAUUAAAAAAABBgQAAAAAAAgFhAAAAAAABAXkAAAAAAAGBgQAAAAAAAgGFAAAAAAACAWEAAAAAAAIBjQAAAAAAAQFVAAAAAAACAWEAAAAAAAHBVQAAAAAAAYF5AAAAAAADAVkAAAAAAAIBVQAAAAAAAQGJAAAAAAAAAWkAAAAAAAABeQAAAAAAA4GJAAAAAAADQW0AAAAAAAMBcQAAAAAAAQFpAAAAAAACAYUAAAAAAAOBVQAAAAAAAMF1AAAAAAABAWEAAAAAAAEBXQAAAAAAAgF5AAAAAAACAVkAAAAAAAEBeQAAAAAAA4F5AAAAAAADgZkAAAAAAAABtQAAAAAAA4GxAAAAAAAAgbEAAAAAAACBsQAAAAAAAQGJAAAAAAAAgbEAAAAAAAABpQAAAAAAAAGVAAAAAAACYZ0AAAAAAAGhoQAAAAAAAYGRAAAAAAABwakAAAAAAAOBsQAAAAAAAgGNAAAAAAACwYkAAAAAAAABzQAAAAAAA4HVAAAAAAADgdUAAAAAAABBzQAAAAAAAYHhAAAAAAADgc0AAAAAAAOByQAAAAAAAAHNAAAAAAADgckAAAAAAAEBwQAAAAAAA4HNAAAAAAAAAeUA=\",\"dtype\":\"float64\",\"order\":\"little\",\"shape\":[58]},\"displ_50%\":{\"__ndarray__\":\"AAAAAACAUUAAAAAAAABhQAAAAAAAwFpAAAAAAABAXkAAAAAAAOBiQAAAAAAAgGFAAAAAAADgXEAAAAAAAIBjQAAAAAAAIFZAAAAAAABgWUAAAAAAAKBWQAAAAAAAYGBAAAAAAADAVkAAAAAAAMBWQAAAAAAAQGJAAAAAAACAW0AAAAAAAABeQAAAAAAA4GJAAAAAAAAAXUAAAAAAAABeQAAAAAAAQFpAAAAAAADgYkAAAAAAAABYQAAAAAAAQF5AAAAAAABAWEAAAAAAAABbQAAAAAAAgF5AAAAAAABAWEAAAAAAAEBeQAAAAAAAgF9AAAAAAADgZkAAAAAAAABtQAAAAAAA4GxAAAAAAABAb0AAAAAAACBsQAAAAAAAQGJAAAAAAAAgbEAAAAAAACBuQAAAAAAAAGVAAAAAAAAAaUAAAAAAADBrQAAAAAAAYGRAAAAAAAAgbEAAAAAAABBuQAAAAAAAgGNAAAAAAABAY0AAAAAAAABzQAAAAAAA4HVAAAAAAADgdUAAAAAAAOB1QAAAAAAAAHlAAAAAAADgc0AAAAAAAPB1QAAAAAAAAHNAAAAAAADwdUAAAAAAAOB1QAAAAAAA4HNAAAAAAAAAeUA=\",\"dtype\":\"float64\",\"order\":\"little\",\"shape\":[58]},\"displ_75%\":{\"__ndarray__\":\"AAAAAAAgUkAAAAAAAPBhQAAAAAAAgFxAAAAAAABAXkAAAAAAAOBiQAAAAAAAgGFAAAAAAACAYUAAAAAAAIBjQAAAAAAAsFtAAAAAAADgYEAAAAAAABBZQAAAAAAAgGFAAAAAAADAWkAAAAAAAJBYQAAAAAAAQGJAAAAAAAAAXUAAAAAAAABeQAAAAAAA4GJAAAAAAAAAXUAAAAAAAFBgQAAAAAAAeGBAAAAAAADgYkAAAAAAAKBYQAAAAAAAQF5AAAAAAADwWEAAAAAAACBdQAAAAAAAgF5AAAAAAABAWEAAAAAAANBeQAAAAAAAEGBAAAAAAADgZkAAAAAAACBwQAAAAAAA4GxAAAAAAABAb0AAAAAAACBsQAAAAAAAoGNAAAAAAAAgbEAAAAAAAEBvQAAAAAAAAGVAAAAAAACQakAAAAAAAPhtQAAAAAAAYGRAAAAAAAAgbEAAAAAAAEBvQAAAAAAAQGRAAAAAAADQY0AAAAAAAOBzQAAAAAAAKHlAAAAAAADgdUAAAAAAAOB1QAAAAAAAoHlAAAAAAADgc0AAAAAAAPB1QAAAAAAAAHNAAAAAAADQekAAAAAAAOB1QAAAAAAA6HRAAAAAAAAAeUA=\",\"dtype\":\"float64\",\"order\":\"little\",\"shape\":[58]},\"displ_count\":{\"__ndarray__\":\"AAAAAAAAEEAAAAAAAAAAQAAAAAAAABRAAAAAAAAAAEAAAAAAAAAIQAAAAAAAAPA/AAAAAAAAMEAAAAAAAADwPwAAAAAAADRAAAAAAAAAKEAAAAAAAAAgQAAAAAAAADBAAAAAAAAAKkAAAAAAAAAgQAAAAAAAAPA/AAAAAAAAAEAAAAAAAADwPwAAAAAAAPA/AAAAAAAAEEAAAAAAAAAcQAAAAAAAACRAAAAAAAAAFEAAAAAAAAAIQAAAAAAAABBAAAAAAAAAEEAAAAAAAAA3QAAAAAAAAPA/AAAAAAAANkAAAAAAAAAQQAAAAAAAAABAAAAAAAAA8D8AAAAAAAAxQAAAAAAAABxAAAAAAAAAJkAAAAAAAADwPwAAAAAAAAhAAAAAAAAAEEAAAAAAAAAoQAAAAAAAAPA/AAAAAAAAEEAAAAAAAAAAQAAAAAAAAPA/AAAAAAAAJkAAAAAAAAAQQAAAAAAAAAhAAAAAAAAAAEAAAAAAAAAgQAAAAAAAABxAAAAAAAAAAEAAAAAAAAA0QAAAAAAAABBAAAAAAAAAKEAAAAAAAAA0QAAAAAAAAPA/AAAAAAAAFEAAAAAAAAAcQAAAAAAAACRAAAAAAAAAHEA=\",\"dtype\":\"float64\",\"order\":\"little\",\"shape\":[58]},\"displ_max\":{\"__ndarray__\":\"AAAAAAAAVEAAAAAAAOBiQAAAAAAAwFxAAAAAAABAXkAAAAAAAOBiQAAAAAAAgGFAAAAAAADgYkAAAAAAAIBjQAAAAAAAwF1AAAAAAACAY0AAAAAAAABdQAAAAAAAgGFAAAAAAAAAXkAAAAAAAABeQAAAAAAAQGJAAAAAAACAXkAAAAAAAABeQAAAAAAA4GJAAAAAAAAAXUAAAAAAAKBhQAAAAAAAgGNAAAAAAADgYkAAAAAAAEBZQAAAAAAAQF5AAAAAAAAAW0AAAAAAAABiQAAAAAAAgF5AAAAAAABAXkAAAAAAAEBgQAAAAAAAYGBAAAAAAADgZkAAAAAAACBwQAAAAAAA4GxAAAAAAABAb0AAAAAAACBsQAAAAAAAAGVAAAAAAAAgbEAAAAAAAEBvQAAAAAAAAGVAAAAAAABAb0AAAAAAAGBwQAAAAAAAYGRAAAAAAAAgbEAAAAAAAEBvQAAAAAAAAGVAAAAAAABgZEAAAAAAAGB4QAAAAAAAcHxAAAAAAADgdUAAAAAAAGB8QAAAAAAAgHtAAAAAAADwd0AAAAAAANB6QAAAAAAAAHNAAAAAAADQekAAAAAAAOB1QAAAAAAAgHtAAAAAAABwfEA=\",\"dtype\":\"float64\",\"order\":\"little\",\"shape\":[58]},\"displ_mean\":{\"__ndarray__\":\"AAAAAAAgUkAAAAAAAABhQM3MzMzMjFpAAAAAAABAXkBVVVVVVTVhQAAAAAAAgGFAAAAAAAA4XkAAAAAAAIBjQAAAAAAA8FdAq6qqqqoyXUAAAAAAAAhXQAAAAAAAmF9A7MRO7MROWEAAAAAAANhXQAAAAAAAQGJAAAAAAACAW0AAAAAAAABeQAAAAAAA4GJAAAAAAADQW0Dbtm3btq1dQAAAAAAAoFxAAAAAAACgYUAAAAAAAABXQAAAAAAAMF1AAAAAAADwWEAhC1nIQlZaQAAAAAAAgF5Ao4suuujCV0AAAAAAANBeQAAAAAAAgF9AAAAAAADgZkB4eHh4eHhtQLdt27Zt+2tAL7rooovubEAAAAAAACBsQKuqqqqqKmNAAAAAAAAgbEAAAAAAAChsQAAAAAAAAGVAAAAAAAAoaUAAAAAAADBrQAAAAAAAYGRAdNFFF100a0AAAAAAABBuQAAAAAAAAGRAAAAAAABAY0AAAAAAABx0QAAAAAAAwHdAAAAAAADgdUAzMzMzMyt1QAAAAAAAAHlAVVVVVVWNdEAzMzMzMyN1QAAAAAAAAHNAmpmZmZmpdkBu27Zt23ZzQJqZmZmZCXVA27Zt27Z9eUA=\",\"dtype\":\"float64\",\"order\":\"little\",\"shape\":[58]},\"displ_min\":{\"__ndarray__\":\"AAAAAACAUUAAAAAAAEBeQAAAAAAAQFhAAAAAAABAXkAAAAAAAMBbQAAAAAAAgGFAAAAAAABAVUAAAAAAAIBjQAAAAAAAAFJAAAAAAACAVkAAAAAAAABRQAAAAAAAgFhAAAAAAABAVEAAAAAAAIBTQAAAAAAAQGJAAAAAAACAWEAAAAAAAABeQAAAAAAA4GJAAAAAAABAWEAAAAAAAMBTQAAAAAAAgFVAAAAAAAAAXEAAAAAAAMBTQAAAAAAAAFpAAAAAAABAWEAAAAAAAMBRQAAAAAAAgF5AAAAAAADAU0AAAAAAAEBeQAAAAAAAQF5AAAAAAADgZkAAAAAAAOBoQAAAAAAAoGZAAAAAAACgZUAAAAAAACBsQAAAAAAAQGJAAAAAAAAgbEAAAAAAAGBlQAAAAAAAAGVAAAAAAABgY0AAAAAAAKBlQAAAAAAAYGRAAAAAAADAaEAAAAAAAOBsQAAAAAAAgGNAAAAAAAAgYkAAAAAAAABzQAAAAAAA4HVAAAAAAADgdUAAAAAAAGBwQAAAAAAAgHZAAAAAAADgc0AAAAAAAOByQAAAAAAAAHNAAAAAAADgckAAAAAAAEBwQAAAAAAA4HNAAAAAAAAAeUA=\",\"dtype\":\"float64\",\"order\":\"little\",\"shape\":[58]},\"displ_std\":{\"__ndarray__\":\"AAAAAAAAFEAQSBeAlDY1QND+0iqIDSFAAAAAAAAAAADkP/QWERg3QAAAAAAAAPh/+dfIUHQBNkAAAAAAAAD4f/nXYs/oXy9AxlMEvhOzOECcmejwqUMuQEJ62kW6XTBA7/H89MrVJEDxy9ekg5ovQAAAAAAAAPh/2WzfzHb4MEAAAAAAAAD4fwAAAAAAAPh/AAAAAAAAI0Aa/8QMgwU1QMkv4IyP+DVA6BO8GJHlMEAyXl4LrBAnQAAAAAAAACFAAAAAAAAAFkADTF/qck41QAAAAAAAAPh/ueUP92yCIEAAAAAAAAASQMAKHwDGSBxAAAAAAAAA+H8NBy84wzoyQKw5M/zx5TJAhDQMOmhCQEAAAAAAAAD4f0ZGpv9FZylAAAAAAAAAAABMLSA/PfE8QAAAAAAAAPh/0EggZLxnQ0Ao74hGXHdPQAAAAAAAAPh/pawegC45KUCxPJuidvAlQKpMWOh6thtARiNPM7J0KUBdkHKATOpAQOzL2mkMnklAAAAAAAAAAADTDvECpxJIQKebB2Z2VEBAVjCdeBxNOUBJmiRDcqJDQAAAAAAAAPh/5Oc7bEXqT0DbMo/ysg1IQOdiu+j4fENAC1k4Yr3JNEA=\",\"dtype\":\"float64\",\"order\":\"little\",\"shape\":[58]},\"hp_25%\":{\"__ndarray__\":\"AAAAAADQV0AAAAAAAKBUQAAAAAAAwFRAAAAAAACwW0AAAAAAAIBUQAAAAAAAAFdAAAAAAABgUUAAAAAAAABXQAAAAAAAoFBAAAAAAADwU0AAAAAAACBRQAAAAAAAUFNAAAAAAAAATkAAAAAAAEBQQAAAAAAAwFBAAAAAAACAUkAAAAAAAABWQAAAAAAAQFVAAAAAAABQU0AAAAAAAOBSQAAAAAAAYFBAAAAAAABAVUAAAAAAAMBPQAAAAAAAkFpAAAAAAADAUEAAAAAAAOBQQAAAAAAAAFZAAAAAAABASkAAAAAAAEBZQAAAAAAAAFNAAAAAAABAU0AAAAAAAIBWQAAAAAAA4FpAAAAAAAAAWUAAAAAAAEBVQAAAAAAAIFtAAAAAAABgWEAAAAAAAABVQAAAAAAAAF5AAAAAAABwVEAAAAAAACBXQAAAAAAAoGBAAAAAAADAV0AAAAAAAPBZQAAAAAAAAFxAAAAAAAAQVkAAAAAAAMBiQAAAAAAAYGNAAAAAAABYYUAAAAAAADBhQAAAAAAAgGZAAAAAAAD4YUAAAAAAAHhhQAAAAAAAIGhAAAAAAABAYUAAAAAAAOBaQAAAAAAAwGJAAAAAAADgZUA=\",\"dtype\":\"float64\",\"order\":\"little\",\"shape\":[58]},\"hp_50%\":{\"__ndarray__\":\"AAAAAACgWEAAAAAAAEBVQAAAAAAAgFZAAAAAAADgW0AAAAAAAABVQAAAAAAAAFdAAAAAAACgU0AAAAAAAABXQAAAAAAAgFFAAAAAAABgVEAAAAAAAMBSQAAAAAAAYFVAAAAAAADAUEAAAAAAAABRQAAAAAAAwFBAAAAAAACAU0AAAAAAAABWQAAAAAAAQFVAAAAAAADgU0AAAAAAAMBVQAAAAAAAgFFAAAAAAAAAVkAAAAAAAEBRQAAAAAAAIFxAAAAAAADAUEAAAAAAAMBSQAAAAAAAAFZAAAAAAACAUUAAAAAAAMBaQAAAAAAAQFVAAAAAAABAU0AAAAAAAABZQAAAAAAAgFtAAAAAAABAWkAAAAAAAEBVQAAAAAAAAF5AAAAAAABAWkAAAAAAAABWQAAAAAAAAF5AAAAAAABAVUAAAAAAAABZQAAAAAAAoGBAAAAAAAAAWUAAAAAAAOBaQAAAAAAAAF1AAAAAAAAgWUAAAAAAAMBiQAAAAAAAoGRAAAAAAAAQY0AAAAAAACBiQAAAAAAAwGdAAAAAAADAYkAAAAAAACBiQAAAAAAAIGhAAAAAAABgYUAAAAAAAIBbQAAAAAAAwGJAAAAAAADgZUA=\",\"dtype\":\"float64\",\"order\":\"little\",\"shape\":[58]},\"hp_75%\":{\"__ndarray__\":\"AAAAAACgWUAAAAAAAOBVQAAAAAAAwFZAAAAAAAAQXEAAAAAAAMBVQAAAAAAAAFdAAAAAAAAgVkAAAAAAAABXQAAAAAAAIFdAAAAAAAAAVUAAAAAAAKBTQAAAAAAAAFZAAAAAAAAAUkAAAAAAAGBRQAAAAAAAwFBAAAAAAACAVEAAAAAAAABWQAAAAAAAQFVAAAAAAADQVEAAAAAAAOBVQAAAAAAAAFVAAAAAAACAVkAAAAAAAABTQAAAAAAAwFxAAAAAAABgUkAAAAAAAMBXQAAAAAAAAFZAAAAAAABQUkAAAAAAAABcQAAAAAAAgFdAAAAAAABAU0AAAAAAAABZQAAAAAAAgFtAAAAAAADgWkAAAAAAAEBVQAAAAAAAgF9AAAAAAACAW0AAAAAAAJBWQAAAAAAAAF5AAAAAAACgVkAAAAAAAOBaQAAAAAAAoGBAAAAAAACgWUAAAAAAANBbQAAAAAAAwF1AAAAAAAAwXEAAAAAAAIhjQAAAAAAAAGlAAAAAAADIZEAAAAAAADhjQAAAAAAAiGhAAAAAAABgY0AAAAAAAEhjQAAAAAAAIGhAAAAAAADAaEAAAAAAAEBlQAAAAAAAsGNAAAAAAABQaUA=\",\"dtype\":\"float64\",\"order\":\"little\",\"shape\":[58]},\"hp_count\":{\"__ndarray__\":\"AAAAAAAAEEAAAAAAAAAAQAAAAAAAABRAAAAAAAAAAEAAAAAAAAAIQAAAAAAAAPA/AAAAAAAAMEAAAAAAAADwPwAAAAAAADRAAAAAAAAAKEAAAAAAAAAgQAAAAAAAADBAAAAAAAAAKkAAAAAAAAAgQAAAAAAAAPA/AAAAAAAAAEAAAAAAAADwPwAAAAAAAPA/AAAAAAAAEEAAAAAAAAAcQAAAAAAAACRAAAAAAAAAFEAAAAAAAAAIQAAAAAAAABBAAAAAAAAAEEAAAAAAAAA3QAAAAAAAAPA/AAAAAAAANkAAAAAAAAAQQAAAAAAAAABAAAAAAAAA8D8AAAAAAAAxQAAAAAAAABxAAAAAAAAAJkAAAAAAAADwPwAAAAAAAAhAAAAAAAAAEEAAAAAAAAAoQAAAAAAAAPA/AAAAAAAAEEAAAAAAAAAAQAAAAAAAAPA/AAAAAAAAJkAAAAAAAAAQQAAAAAAAAAhAAAAAAAAAAEAAAAAAAAAgQAAAAAAAABxAAAAAAAAAAEAAAAAAAAA0QAAAAAAAABBAAAAAAAAAKEAAAAAAAAA0QAAAAAAAAPA/AAAAAAAAFEAAAAAAAAAcQAAAAAAAACRAAAAAAAAAHEA=\",\"dtype\":\"float64\",\"order\":\"little\",\"shape\":[58]},\"hp_max\":{\"__ndarray__\":\"AAAAAACAW0AAAAAAAIBWQAAAAAAAwFdAAAAAAABAXEAAAAAAAIBWQAAAAAAAAFdAAAAAAACAVkAAAAAAAABXQAAAAAAAAFlAAAAAAABAWkAAAAAAAIBWQAAAAAAAAFdAAAAAAABAWEAAAAAAAMBSQAAAAAAAwFBAAAAAAACAVUAAAAAAAABWQAAAAAAAQFVAAAAAAACAVkAAAAAAAABWQAAAAAAAQFpAAAAAAACAVkAAAAAAAMBUQAAAAAAAwFxAAAAAAABAV0AAAAAAAEBYQAAAAAAAAFZAAAAAAACAU0AAAAAAAABcQAAAAAAAwFlAAAAAAABAU0AAAAAAAABeQAAAAAAAoGRAAAAAAADAXEAAAAAAAEBVQAAAAAAAgGBAAAAAAACAW0AAAAAAAABcQAAAAAAAAF5AAAAAAADAWkAAAAAAAMBcQAAAAAAAoGBAAAAAAABAWkAAAAAAAMBcQAAAAAAAgF5AAAAAAABAX0AAAAAAAMBnQAAAAAAAIGxAAAAAAACAZkAAAAAAAIBrQAAAAAAA4GpAAAAAAABAakAAAAAAAOBqQAAAAAAAIGhAAAAAAAAAakAAAAAAAIBmQAAAAAAA4GpAAAAAAADAbEA=\",\"dtype\":\"float64\",\"order\":\"little\",\"shape\":[58]},\"hp_mean\":{\"__ndarray__\":\"AAAAAADQWEAAAAAAAEBVQJqZmZmZ2VVAAAAAAADgW0CrqqqqqipVQAAAAAAAAFdAAAAAAABYU0AAAAAAAABXQM3MzMzMvFNAq6qqqqraVEAAAAAAAFhSQAAAAAAASFRAYid2Yif2UEAAAAAAALhQQAAAAAAAwFBAAAAAAACAU0AAAAAAAABWQAAAAAAAQFVAAAAAAABAVEBJkiRJkmRUQJqZmZmZOVNAzczMzMyMVUAAAAAAAIBRQAAAAAAAMFtAAAAAAABgUkDTm970pvdTQAAAAAAAAFZA6aKLLroIUEAAAAAAAIBaQAAAAAAAQFVAAAAAAABAU0Di4eHh4eFYQLdt27ZtG11ARhdddNEFWkAAAAAAAEBVQFVVVVVVFV1AAAAAAACgWUBVVVVVVRVWQAAAAAAAAF5AAAAAAADQVUAAAAAAAABZQAAAAAAAoGBARhdddNHFWEAAAAAAAOBaQFVVVVVV1VxAAAAAAAAgWUAAAAAAAExjQCVJkiRJUmZAAAAAAAAQY0AAAAAAAMhiQAAAAAAASGdAq6qqqqp6Y0BmZmZmZu5iQAAAAAAAIGhAMzMzMzNTZEAlSZIkSbJgQAAAAAAA8GNAAAAAAADAZ0A=\",\"dtype\":\"float64\",\"order\":\"little\",\"shape\":[58]},\"hp_min\":{\"__ndarray__\":\"AAAAAACAVkAAAAAAAABUQAAAAAAAgFNAAAAAAACAW0AAAAAAAABUQAAAAAAAAFdAAAAAAAAASkAAAAAAAABXQAAAAAAAgE5AAAAAAADAUkAAAAAAAIBIQAAAAAAAQFBAAAAAAACASkAAAAAAAABKQAAAAAAAwFBAAAAAAACAUUAAAAAAAABWQAAAAAAAQFVAAAAAAADAUkAAAAAAAIBRQAAAAAAAgE9AAAAAAACAU0AAAAAAAABNQAAAAAAAwFdAAAAAAADAUEAAAAAAAABKQAAAAAAAAFZAAAAAAAAAR0AAAAAAAIBYQAAAAAAAwFBAAAAAAABAU0AAAAAAAIBWQAAAAAAAQFpAAAAAAADAV0AAAAAAAEBVQAAAAAAAQFhAAAAAAACAVkAAAAAAAABSQAAAAAAAAF5AAAAAAAAAUkAAAAAAAEBVQAAAAAAAoGBAAAAAAADAV0AAAAAAAABZQAAAAAAAAFtAAAAAAAAAU0AAAAAAAABeQAAAAAAAwGJAAAAAAABAX0AAAAAAAIBbQAAAAAAAwGJAAAAAAADgYEAAAAAAACBgQAAAAAAAIGhAAAAAAABAYEAAAAAAAIBWQAAAAAAAwGJAAAAAAABAZUA=\",\"dtype\":\"float64\",\"order\":\"little\",\"shape\":[58]},\"hp_std\":{\"__ndarray__\":\"sTIWI2yaIEDACh8AxkgcQM2mvFe3NxtA2WzfzHb4AEA9iuQyBSIUQAAAAAAAAPh/LxLx8lwQKUAAAAAAAAD4f7sBlQW4kSxAKyfK5qleIEDIXtM5uhcpQCLax4ZuQSJAmb4/3QmgJkAEGqqKID0cQAAAAAAAAPh/zTt/Zp6gJkAAAAAAAAD4fwAAAAAAAPh/ZBImSkfsGUBYoQIYXR4gQPI+Tscsci1AOwacb3AUFEDkEORzVw8pQDylNHUA7iJAAAAAAAAAKkC/1T6E9ZotQAAAAAAAAPh/ReIBRJI+J0B4fOOq4ngcQEYjTzOydDlAAAAAAAAA+H8OCGcakIkhQDvrojUbjDVAAFRCNN9aF0AAAAAAAAD4f1p+aLQnyTFAyFjS2wYmI0BLVjPp6rMkQAAAAAAAAPh/C73Aw8ILLUAQSBeAlDY1QAAAAAAAAPh/Jna3ky16EUC1wWw+5NEZQIGe5vFWGBxAyWl5RvlSQUB34pp5zZo0QKdc+kkcYEBAZFcVIAhyQ0DmC02WHw05QOlioZ4Z4zpAMoQKyAEyNUDLHEDTpyA2QAAAAAAAAPh/0QbwVkCbQkA+baHJ9i9DQEApF6jZmzRAtcFsPuTROUA=\",\"dtype\":\"float64\",\"order\":\"little\",\"shape\":[58]},\"mpg_25%\":{\"__ndarray__\":\"AAAAAADAMkAzMzMzMxM5QAAAAAAAADdAAAAAAACgNkAAAAAAAIA7QAAAAAAAADlAAAAAAADgOEAAAAAAAAA6QGZmZmZmJjtAzMzMzMxsO0AAAAAAAAA6QDMzMzMz0zZAAAAAAAAAQEBnZmZmZoY/QAAAAAAAAD5AAAAAAABAOkAAAAAAAABCQM3MzMzMzDdAAAAAAADAOEAAAAAAAAA2QM3MzMzMTDpAAAAAAACAOEAAAAAAAIA6QGZmZmZmZjdAAAAAAAAAPUAAAAAAAIA4QAAAAAAAgEFAAAAAAABAOkAAAAAAAMAyQDMzMzMzUzhAZmZmZmZmOUAAAAAAAAAyQJqZmZmZGTNAAAAAAAAAMECamZmZmZkxQJqZmZmZGTdAmpmZmZn5MkAAAAAAAAAyQAAAAAAAgDBAmpmZmZmZMkCamZmZmZk9QDMzMzMzMzBAAAAAAAAAMkAAAAAAAOAyQAAAAAAAgDNAzczMzMxsNEAAAAAAAAAsQAAAAAAAACpAAAAAAAAgMkAAAAAAAAAqQAAAAAAAACpAAAAAAACAK0AAAAAAAAAqQAAAAAAAACJAAAAAAAAAKEAAAAAAAAAoQAAAAAAAACxAAAAAAAAALEA=\",\"dtype\":\"float64\",\"order\":\"little\",\"shape\":[58]},\"mpg_50%\":{\"__ndarray__\":\"AAAAAABANECamZmZmdk5QAAAAAAAADhAAAAAAADAN0BmZmZmZmY8QAAAAAAAADlAAAAAAAAAPEAAAAAAAAA6QAAAAAAAAEBAAAAAAACAPEAAAAAAAIA8QAAAAAAAwDlAAAAAAACAQECamZmZmblAQAAAAAAAAD5AAAAAAACAPUAAAAAAAABCQM3MzMzMzDdAAAAAAACAOUAAAAAAAAA5QM3MzMzMDEBAAAAAAAAAO0AAAAAAAAA7QAAAAAAAgDhAZmZmZmYmP0AAAAAAAAA9QAAAAAAAgEFAZmZmZmamPUAAAAAAAIAzQJqZmZmZWTxAZmZmZmZmOUCamZmZmRkyQJqZmZmZmTRAAAAAAACAMUCamZmZmZkxQDMzMzMzMzhAzczMzMyMM0AAAAAAAMAyQAAAAAAAgDBAzczMzMxMNEAzMzMzMzNAQDMzMzMzMzBAAAAAAAAAM0CamZmZmRkzQAAAAAAAADRAmpmZmZnZN0AAAAAAAAAuQAAAAAAAACpAAAAAAADAM0AAAAAAAAAuQAAAAAAAgCxAAAAAAAAALkAAAAAAAAAsQAAAAAAAACJAAAAAAAAALkAAAAAAAAAxQAAAAAAAACxAAAAAAAAALEA=\",\"dtype\":\"float64\",\"order\":\"little\",\"shape\":[58]},\"mpg_75%\":{\"__ndarray__\":\"zczMzMwMNkAAAAAAAKA6QAAAAAAAAD1AAAAAAADgOEAzMzMzMzM9QAAAAAAAADlAAAAAAAAgPkAAAAAAAAA6QAAAAAAAgEJAAAAAAAAwQEAAAAAAAEA+QAAAAAAAQDtAAAAAAAAAQkCamZmZmWlBQAAAAAAAAD5AAAAAAABgQEAAAAAAAABCQM3MzMzMzDdAAAAAAACAOkBmZmZmZqY7QDQzMzMzU0FAAAAAAAAAP0AAAAAAAIA/QAAAAAAAADlAZmZmZmZWQEDNzMzMzAxAQAAAAAAAgEFAAAAAAACgQUAAAAAAAIA0QAAAAAAAMEBAZmZmZmZmOUBmZmZmZmYzQDMzMzMzszVAAAAAAABANUCamZmZmZkxQDQzMzMzczxAZmZmZmYmNEBmZmZmZmY0QAAAAAAAgDBAmpmZmZnZNECamZmZmZlBQDMzMzMzMzBAAAAAAABANUBmZmZmZsYzQDMzMzMzszZAZmZmZmZGO0AAAAAAAEAvQAAAAAAAAC1AAAAAAABgNUAAAAAAAIAxQAAAAAAAQDBAAAAAAABgMEAAAAAAAEAvQAAAAAAAACJAAAAAAACAMEBmZmZmZuY1QAAAAAAAgC1AAAAAAAAAMEA=\",\"dtype\":\"float64\",\"order\":\"little\",\"shape\":[58]},\"mpg_count\":{\"__ndarray__\":\"AAAAAAAAEEAAAAAAAAAAQAAAAAAAABRAAAAAAAAAAEAAAAAAAAAIQAAAAAAAAPA/AAAAAAAAMEAAAAAAAADwPwAAAAAAADRAAAAAAAAAKEAAAAAAAAAgQAAAAAAAADBAAAAAAAAAKkAAAAAAAAAgQAAAAAAAAPA/AAAAAAAAAEAAAAAAAADwPwAAAAAAAPA/AAAAAAAAEEAAAAAAAAAcQAAAAAAAACRAAAAAAAAAFEAAAAAAAAAIQAAAAAAAABBAAAAAAAAAEEAAAAAAAAA3QAAAAAAAAPA/AAAAAAAANkAAAAAAAAAQQAAAAAAAAABAAAAAAAAA8D8AAAAAAAAxQAAAAAAAABxAAAAAAAAAJkAAAAAAAADwPwAAAAAAAAhAAAAAAAAAEEAAAAAAAAAoQAAAAAAAAPA/AAAAAAAAEEAAAAAAAAAAQAAAAAAAAPA/AAAAAAAAJkAAAAAAAAAQQAAAAAAAAAhAAAAAAAAAAEAAAAAAAAAgQAAAAAAAABxAAAAAAAAAAEAAAAAAAAA0QAAAAAAAABBAAAAAAAAAKEAAAAAAAAA0QAAAAAAAAPA/AAAAAAAAFEAAAAAAAAAcQAAAAAAAACRAAAAAAAAAHEA=\",\"dtype\":\"float64\",\"order\":\"little\",\"shape\":[58]},\"mpg_max\":{\"__ndarray__\":\"MzMzMzOzN0BmZmZmZmY7QGZmZmZmJkFAAAAAAAAAOkAAAAAAAAA+QAAAAAAAADlAAAAAAAAAQUAAAAAAAAA6QGZmZmZmZkRAAAAAAAAAQkBmZmZmZqZCQM3MzMzMDEJAzczMzMxMRkDNzMzMzExHQAAAAAAAAD5AAAAAAAAAQkAAAAAAAABCQM3MzMzMzDdAAAAAAAAAPEAAAAAAAAA+QAAAAAAAgENAAAAAAADAQEAAAAAAAABCQAAAAAAAADlAZmZmZmbmQEDNzMzMzIxDQAAAAAAAgEFAZmZmZmYmRkAAAAAAAAA2QDMzMzMzM0JAZmZmZmZmOUAAAAAAAIA2QAAAAAAAADlAzczMzMzMPECamZmZmZkxQJqZmZmZWUBAmpmZmZmZNEAAAAAAAAA4QAAAAAAAgDBAAAAAAAAANUAAAAAAAABDQDMzMzMzMzBAAAAAAAAAN0AAAAAAAIA1QGZmZmZmZjlAMzMzMzOzPkAAAAAAAAAxQGZmZmZm5jBAAAAAAAAAN0AAAAAAAAA0QAAAAAAAgDJAZmZmZmZmM0CamZmZmRkyQAAAAAAAACJAMzMzMzMzNECamZmZmZk6QAAAAAAAADJAAAAAAAAAMEA=\",\"dtype\":\"float64\",\"order\":\"little\",\"shape\":[58]},\"mpg_mean\":{\"__ndarray__\":\"zczMzMyMNECamZmZmdk5QJDC9ShcDzpAAAAAAADAN0BVVVVVVVU8QAAAAAAAADlAmpmZmZlRO0AAAAAAAAA6QPUoXI/C1T9AERERERHRPUCamZmZmek8QDMzMzMzAzpAGHqhF3rhQEAAAAAAAGhBQAAAAAAAAD5AAAAAAACAPUAAAAAAAABCQM3MzMzMzDdAAAAAAADAOUAd1EEd1ME4QHsUrkfhOj9AzczMzMzMO0Crqqqqqqo9QGZmZmZm5jdAZmZmZmaGPkBoq8FzBAo9QAAAAAAAgEFAFl100UXXP0AAAAAAAMAzQJqZmZmZWTxAZmZmZmZmOUAhISEhIaEyQJmZmZmZmTRAnxLkKUEeM0CamZmZmZkxQM3MzMzMTDpANDMzMzOTM0AzMzMzM1MzQAAAAAAAgDBAZmZmZmYmM0AzMzMzMzNAQDMzMzMzMzBAF1100UWXM0DNzMzMzIwzQHh3d3d3dzVAmpmZmZnZN0AAAAAAAOAtQPmKr/iKrytAAAAAAADAM0AK16NwPUouQAAAAAAAAC5ARERERERELkDrUbgehassQAAAAAAAACJA4noUrkfhLUDGV3zFV3wxQAAAAAAAAC1A27Zt27ZtLUA=\",\"dtype\":\"float64\",\"order\":\"little\",\"shape\":[58]},\"mpg_min\":{\"__ndarray__\":\"AAAAAAAAMkDNzMzMzEw4QAAAAAAAADRAAAAAAACANUCamZmZmZk6QAAAAAAAADlAAAAAAAAANEAAAAAAAAA6QAAAAAAAADZAAAAAAAAAOUAAAAAAAAA4QAAAAAAAADNAAAAAAAAAOEAAAAAAAAA/QAAAAAAAAD5AAAAAAAAAN0AAAAAAAABCQM3MzMzMzDdAAAAAAAAAOEAAAAAAAAAzQDMzMzMzMzdAAAAAAAAAN0AAAAAAAAA6QJqZmZmZmTVAAAAAAAAAOkAAAAAAAAA0QAAAAAAAgEFAAAAAAAAANkAAAAAAAAAyQM3MzMzMTDRAZmZmZmZmOUAAAAAAAAAuQAAAAAAAADFAAAAAAAAALkCamZmZmZkxQAAAAAAAADZAmpmZmZmZMkAAAAAAAAAuQAAAAAAAgDBAAAAAAAAALkDNzMzMzMw6QDMzMzMzMzBAAAAAAAAAMEAAAAAAAIAyQAAAAAAAADNAAAAAAAAAMUAAAAAAAAAqQAAAAAAAAChAAAAAAACAMEAAAAAAAAAkQAAAAAAAACpAAAAAAAAAJkAAAAAAAAAkQAAAAAAAACJAAAAAAAAAJkAAAAAAAAAmQAAAAAAAACpAAAAAAAAAKkA=\",\"dtype\":\"float64\",\"order\":\"little\",\"shape\":[58]},\"mpg_std\":{\"__ndarray__\":\"ca9eOxmEBEDuZ2+PR4kBQEoKBd4JhxZARiNPM7J0CUBFpF/rNjf7PwAAAAAAAPh/ubWdO9DbD0AAAAAAAAD4f2F5uw9NCBZAPs/+nwk+DkBlzHIpO2kQQDLD7CMzNhJAcb+tQ7cOE0Afg1pvTZ4UQAAAAAAAAPh/lmBHs4BiIkAAAAAAAAD4fwAAAAAAAPh/DGLpcEBT+z8dTFSH0NYPQHeSF+RxURZAtk+agoaVEUDKBtSSwAcWQCpmF/6kqvk/z+0aa+0tC0CORJ/7lD4VQAAAAAAAAPh/M1/gQ+RmHEAMYulwQFP7P5I6I5fSxCZAAAAAAAAA+H9x2LOz9Cn8PzIJf4/TsgVAkwuaddjbEEAAAAAAAAD4f9z6Q5RHmhZAr6hmWJaq7D8UE9sdnakCQAAAAAAAAPh/a1a8aTiHBkBR7X6Pqq0fQAAAAAAAAPh/g9Y0vSoMAUAptL5boFP1Py2Bit39igtAAVjDB+5fI0CVfHAmaUH0P1zHVUIgUvo/lmBHs4BiEkAPM5pJpl8GQNiUMqma6QRAGf4MvyO6A0D19nIPF17/PwAAAAAAAPh/8szklsJ3DUCH39aAveYYQC+gIkHPJfg/TDtjlJsO9D8=\",\"dtype\":\"float64\",\"order\":\"little\",\"shape\":[58]},\"weight_25%\":{\"__ndarray__\":\"AAAAAADNoUAAAAAAgIKlQAAAAAAAVqFAAAAAAAArokAAAAAAALaiQAAAAAAAGKRAAAAAAIDjoEAAAAAAADKkQAAAAAAAJ59AAAAAAICboEAAAAAAgAGgQAAAAAAAdaJAAAAAAAAgnEAAAAAAAPqeQAAAAAAAZKlAAAAAAIDJoEAAAAAAAOCgQAAAAAAATqZAAAAAAIDKoEAAAAAAAP2lQAAAAACApqBAAAAAAAAepEAAAAAAAFyfQAAAAACAOaRAAAAAAAD0n0AAAAAAADagQAAAAAAAiKNAAAAAAABEnkAAAAAAgMmmQAAAAAAAWKZAAAAAAACUq0AAAAAAAKqmQAAAAAAAE6lAAAAAAAAhqUAAAAAAABKrQAAAAAAAXaZAAAAAAIBfqkAAAAAAgEanQAAAAAAA2K1AAAAAAABZpkAAAAAAgLWlQAAAAAAApKpAAAAAAABPqEAAAAAAgJGpQAAAAAAAS6ZAAAAAAACSqEAAAAAAALCsQAAAAAAAca5AAAAAAABor0AAAAAAgNitQAAAAADAhLBAAAAAAABMrUAAAAAAAD6vQAAAAAAAfLJAAAAAAADmrkAAAAAAAKyrQAAAAACADK9AAAAAAIDrsEA=\",\"dtype\":\"float64\",\"order\":\"little\",\"shape\":[58]},\"weight_50%\":{\"__ndarray__\":\"AAAAAACOokAAAAAAACmmQAAAAAAA/KJAAAAAAADiokAAAAAAAJakQAAAAAAAGKRAAAAAAADJokAAAAAAADKkQAAAAAAAVKBAAAAAAACFoUAAAAAAAI6gQAAAAAAARqRAAAAAAAC0nkAAAAAAAFSfQAAAAAAAZKlAAAAAAAD5oEAAAAAAAOCgQAAAAAAATqZAAAAAAAAaoUAAAAAAAEanQAAAAAAAP6FAAAAAAABApEAAAAAAABqhQAAAAAAA06RAAAAAAAByoEAAAAAAALKhQAAAAAAAiKNAAAAAAAD6nkAAAAAAAPamQAAAAAAAlKZAAAAAAACUq0AAAAAAABqoQAAAAAAArqpAAAAAAAAQqkAAAAAAABKrQAAAAAAAvKZAAAAAAABZq0AAAAAAAMGnQAAAAAAA2K1AAAAAAACsp0AAAAAAAFOmQAAAAAAApKpAAAAAAACAqUAAAAAAAKGqQAAAAAAAqKZAAAAAAACcqEAAAAAAAPetQAAAAAAACLFAAAAAAAAssEAAAAAAAPSvQAAAAACAFbFAAAAAAADmrkAAAAAAgFiwQAAAAAAAfLJAAAAAAADHsEAAAAAAABqtQAAAAACAE7BAAAAAAABJsUA=\",\"dtype\":\"float64\",\"order\":\"little\",\"shape\":[58]},\"weight_75%\":{\"__ndarray__\":\"AAAAAAB+o0AAAAAAgM+mQAAAAAAALKRAAAAAAACZo0AAAAAAALmkQAAAAAAAGKRAAAAAAIBrpEAAAAAAADKkQAAAAACAH6JAAAAAAIDRokAAAAAAgJWhQAAAAACAl6VAAAAAAAA6oUAAAAAAAFShQAAAAAAAZKlAAAAAAIAooUAAAAAAAOCgQAAAAAAATqZAAAAAAACAoUAAAAAAABSpQAAAAACAd6JAAAAAAABepUAAAAAAACehQAAAAAAAHKVAAAAAAAA9oUAAAAAAAA6jQAAAAAAAiKNAAAAAAAAFoUAAAAAAgGinQAAAAAAA0KZAAAAAAACUq0AAAAAAAIKpQAAAAAAA1qpAAAAAAABDq0AAAAAAABKrQAAAAAAA0KZAAAAAAIBXrEAAAAAAAPSoQAAAAAAA2K1AAAAAAACxqEAAAAAAgPCmQAAAAAAApKpAAAAAAACMq0AAAAAAANWrQAAAAAAAxqZAAAAAAACmqEAAAAAAAIuuQAAAAACA+LFAAAAAAACksEAAAAAAAMawQAAAAABAlLFAAAAAAACOsEAAAAAAAEqxQAAAAAAAfLJAAAAAAAAZskAAAAAAAKKwQAAAAABAxbBAAAAAAADWsUA=\",\"dtype\":\"float64\",\"order\":\"little\",\"shape\":[58]},\"weight_count\":{\"__ndarray__\":\"AAAAAAAAEEAAAAAAAAAAQAAAAAAAABRAAAAAAAAAAEAAAAAAAAAIQAAAAAAAAPA/AAAAAAAAMEAAAAAAAADwPwAAAAAAADRAAAAAAAAAKEAAAAAAAAAgQAAAAAAAADBAAAAAAAAAKkAAAAAAAAAgQAAAAAAAAPA/AAAAAAAAAEAAAAAAAADwPwAAAAAAAPA/AAAAAAAAEEAAAAAAAAAcQAAAAAAAACRAAAAAAAAAFEAAAAAAAAAIQAAAAAAAABBAAAAAAAAAEEAAAAAAAAA3QAAAAAAAAPA/AAAAAAAANkAAAAAAAAAQQAAAAAAAAABAAAAAAAAA8D8AAAAAAAAxQAAAAAAAABxAAAAAAAAAJkAAAAAAAADwPwAAAAAAAAhAAAAAAAAAEEAAAAAAAAAoQAAAAAAAAPA/AAAAAAAAEEAAAAAAAAAAQAAAAAAAAPA/AAAAAAAAJkAAAAAAAAAQQAAAAAAAAAhAAAAAAAAAAEAAAAAAAAAgQAAAAAAAABxAAAAAAAAAAEAAAAAAAAA0QAAAAAAAABBAAAAAAAAAKEAAAAAAAAA0QAAAAAAAAPA/AAAAAAAAFEAAAAAAAAAcQAAAAAAAACRAAAAAAAAAHEA=\",\"dtype\":\"float64\",\"order\":\"little\",\"shape\":[58]},\"weight_max\":{\"__ndarray__\":\"AAAAAABApUAAAAAAAHanQAAAAAAADKVAAAAAAABQpEAAAAAAANykQAAAAAAAGKRAAAAAAAAMp0AAAAAAADKkQAAAAAAAbqRAAAAAAADgpUAAAAAAAECjQAAAAAAAlKZAAAAAAAByo0AAAAAAAJakQAAAAAAAZKlAAAAAAABYoUAAAAAAAOCgQAAAAAAATqZAAAAAAAD4oUAAAAAAAIypQAAAAAAAcqVAAAAAAABopUAAAAAAADShQAAAAAAA1qVAAAAAAACuokAAAAAAAC6lQAAAAAAAiKNAAAAAAACeo0AAAAAAAJyoQAAAAAAADKdAAAAAAACUq0AAAAAAACStQAAAAAAAhq5AAAAAAAByrkAAAAAAABKrQAAAAAAA5KZAAAAAAACGrEAAAAAAAOyrQAAAAAAA2K1AAAAAAADQqkAAAAAAAI6nQAAAAAAApKpAAAAAAACSrUAAAAAAAHqsQAAAAAAA5KZAAAAAAACwqEAAAAAAAKGwQAAAAAAAV7NAAAAAAAAcsUAAAAAAAIWzQAAAAAAAf7JAAAAAAABbs0AAAAAAACqzQAAAAAAAfLJAAAAAAABYs0AAAAAAAJOxQAAAAAAALrJAAAAAAAAUtEA=\",\"dtype\":\"float64\",\"order\":\"little\",\"shape\":[58]},\"weight_mean\":{\"__ndarray__\":\"AAAAAAC9okAAAAAAACmmQDMzMzMz7aJAAAAAAADiokBVVVVVVW2jQAAAAAAAGKRAAAAAAADRokAAAAAAADKkQJqZmZmZw6BAVVVVVVXnoUAAAAAAQL6gQAAAAADAsKNA2Ymd2Imdn0AAAAAAwNKgQAAAAAAAZKlAAAAAAAD5oEAAAAAAAOCgQAAAAAAATqZAAAAAAIAwoUBJkiRJkrymQAAAAAAAiKFAMzMzMzOfpEAAAAAAADCgQAAAAACAgqRAAAAAAADFoECykIUsZHWhQAAAAAAAiKNAF1100UX3n0AAAAAAADynQAAAAAAAlKZAAAAAAACUq0AtLS0tLSuoQCVJkiRJSqpAF1100UXfqUAAAAAAABKrQAAAAAAAiqZAAAAAAABeq0CrqqqqqjGoQAAAAAAA2K1AAAAAAABep0AAAAAAAFOmQAAAAAAApKpARhdddNHRqUAAAAAAgMWqQAAAAAAAfqZAAAAAAACcqEAAAAAAwNetQNu2bdu2ZrBAAAAAAAAssEDNzMzMTJ+vQAAAAACAA7FAVVVVVdVrr0BmZmZmZjiwQAAAAAAAfLJAAAAAAAC5sEAlSZIkSViuQGZmZmZmA7BAt23btm2fsUA=\",\"dtype\":\"float64\",\"order\":\"little\",\"shape\":[58]},\"weight_min\":{\"__ndarray__\":\"AAAAAACYoEAAAAAAANykQAAAAAAAGKFAAAAAAAB0oUAAAAAAANagQAAAAAAAGKRAAAAAAADMn0AAAAAAADKkQAAAAAAANJlAAAAAAADsnUAAAAAAACydQAAAAAAAIJxAAAAAAACAm0AAAAAAAMieQAAAAAAAZKlAAAAAAACaoEAAAAAAAOCgQAAAAAAATqZAAAAAAACWoEAAAAAAADSgQAAAAAAATJ1AAAAAAAD4o0AAAAAAAIScQAAAAAAAjqJAAAAAAAAEn0AAAAAAAMSZQAAAAAAAiKNAAAAAAACEnEAAAAAAAGimQAAAAAAAHKZAAAAAAACUq0AAAAAAAJSkQAAAAAAAAqdAAAAAAABGpEAAAAAAABKrQAAAAAAA/qVAAAAAAABAqkAAAAAAADakQAAAAAAA2K1AAAAAAABQo0AAAAAAABilQAAAAAAApKpAAAAAAAAipkAAAAAAAFqpQAAAAAAA7qVAAAAAAACIqEAAAAAAANKqQAAAAAAAHKhAAAAAAAB4rkAAAAAAACqpQAAAAAAAyK5AAAAAAACOqkAAAAAAAMKoQAAAAAAAfLJAAAAAAADkq0AAAAAAAEqqQAAAAAAA2KpAAAAAAAB8sEA=\",\"dtype\":\"float64\",\"order\":\"little\",\"shape\":[58]},\"weight_std\":{\"__ndarray__\":\"udhs7B3ybkDJgFML7m5tQHQOAgl5pGtAv/NEO9EscECVL0zdOvxxQAAAAAAAAPh/wW0nP4+ucEAAAAAAAAD4f4r/RC1ucG5A26bUH9Bbb0DEkgnxpclmQAu85vvhr3NAil6Fh86ebEAB/frlgRdxQAAAAAAAAPh/Ym4SkDXLUEAAAAAAAAD4fwAAAAAAAPh/hHa7rCxqU0BUF7ym5216QOLeK9lru29Aonh3zZCSVkAlPmxrOcBqQMUzbKCqNmZA0OtrWjrzZUD+ciC3ut5yQAAAAAAAAPh/lJBdHgunZkBfQzaGKodeQBBIF4CUNlVAAAAAAAAA+H8Se53iBNhzQIXSN0vAlXNAusp/48JReEAAAAAAAAD4fzG8WqBzuE5A2ZIlQU44Y0BgQC8tFi9xQAAAAAAAAPh/cuB7YIy9eECVjh7ootdrQAAAAAAAAPh/FPo7/E0Pc0D4jA+ZxktoQK9EMr99CFBAwAofAMZILEBrziyk/kduQPlKCOFf64NAEEgXgJQ2dUCHC8hBP/B5QLvciQn9eXRA2zl5n4Y0e0B/cf0JJxl+QAAAAAAAAPh/adjqBGYEgUBsLGuRdgh9QAyvRS0PL3dAzax/B+OCc0A=\",\"dtype\":\"float64\",\"order\":\"little\",\"shape\":[58]}},\"selected\":{\"id\":\"1041\"},\"selection_policy\":{\"id\":\"1040\"}},\"id\":\"1003\",\"type\":\"ColumnDataSource\"},{\"attributes\":{},\"id\":\"1040\",\"type\":\"UnionRenderers\"},{\"attributes\":{\"fill_alpha\":{\"value\":0.1},\"fill_color\":{\"field\":\"cyl_mfr\",\"transform\":{\"id\":\"1023\"}},\"hatch_alpha\":{\"value\":0.1},\"line_alpha\":{\"value\":0.1},\"line_color\":{\"value\":\"white\"},\"top\":{\"field\":\"mpg_mean\"},\"x\":{\"field\":\"cyl_mfr\"}},\"id\":\"1026\",\"type\":\"VBar\"},{\"attributes\":{\"coordinates\":null,\"group\":null,\"text\":\"Mean MPG by # Cylinders and Manufacturer\"},\"id\":\"1005\",\"type\":\"Title\"},{\"attributes\":{\"fill_alpha\":{\"value\":0.2},\"fill_color\":{\"field\":\"cyl_mfr\",\"transform\":{\"id\":\"1023\"}},\"hatch_alpha\":{\"value\":0.2},\"line_alpha\":{\"value\":0.2},\"line_color\":{\"value\":\"white\"},\"top\":{\"field\":\"mpg_mean\"},\"x\":{\"field\":\"cyl_mfr\"}},\"id\":\"1028\",\"type\":\"VBar\"},{\"attributes\":{},\"id\":\"1036\",\"type\":\"AllLabels\"},{\"attributes\":{\"fill_color\":{\"field\":\"cyl_mfr\",\"transform\":{\"id\":\"1023\"}},\"line_color\":{\"value\":\"darkgrey\"},\"top\":{\"field\":\"mpg_mean\"},\"x\":{\"field\":\"cyl_mfr\"}},\"id\":\"1027\",\"type\":\"VBar\"},{\"attributes\":{\"factors\":[[\"3\",\"mazda\"],[\"4\",\"amc\"],[\"4\",\"audi\"],[\"4\",\"bmw\"],[\"4\",\"buick\"],[\"4\",\"capri\"],[\"4\",\"chevrolet\"],[\"4\",\"chrysler\"],[\"4\",\"datsun\"],[\"4\",\"dodge\"],[\"4\",\"fiat\"],[\"4\",\"ford\"],[\"4\",\"honda\"],[\"4\",\"mazda\"],[\"4\",\"mercedes\"],[\"4\",\"mercury\"],[\"4\",\"nissan\"],[\"4\",\"oldsmobile\"],[\"4\",\"opel\"],[\"4\",\"peugeot\"],[\"4\",\"plymouth\"],[\"4\",\"pontiac\"],[\"4\",\"renault\"],[\"4\",\"saab\"],[\"4\",\"subaru\"],[\"4\",\"toyota\"],[\"4\",\"triumph\"],[\"4\",\"volkswagen\"],[\"4\",\"volvo\"],[\"5\",\"audi\"],[\"5\",\"mercedes\"],[\"6\",\"amc\"],[\"6\",\"buick\"],[\"6\",\"chevrolet\"],[\"6\",\"chrysler\"],[\"6\",\"datsun\"],[\"6\",\"dodge\"],[\"6\",\"ford\"],[\"6\",\"mercedes\"],[\"6\",\"mercury\"],[\"6\",\"oldsmobile\"],[\"6\",\"peugeot\"],[\"6\",\"plymouth\"],[\"6\",\"pontiac\"],[\"6\",\"toyota\"],[\"6\",\"volvo\"],[\"8\",\"amc\"],[\"8\",\"buick\"],[\"8\",\"cadillac\"],[\"8\",\"chevrolet\"],[\"8\",\"chrysler\"],[\"8\",\"dodge\"],[\"8\",\"ford\"],[\"8\",\"hi\"],[\"8\",\"mercury\"],[\"8\",\"oldsmobile\"],[\"8\",\"plymouth\"],[\"8\",\"pontiac\"]]},\"id\":\"1007\",\"type\":\"FactorRange\"},{\"attributes\":{\"fill_color\":{\"field\":\"cyl_mfr\",\"transform\":{\"id\":\"1023\"}},\"line_color\":{\"value\":\"white\"},\"top\":{\"field\":\"mpg_mean\"},\"x\":{\"field\":\"cyl_mfr\"}},\"id\":\"1025\",\"type\":\"VBar\"},{\"attributes\":{\"coordinates\":null,\"formatter\":{\"id\":\"1035\"},\"group\":null,\"major_label_policy\":{\"id\":\"1036\"},\"ticker\":{\"id\":\"1019\"}},\"id\":\"1018\",\"type\":\"LinearAxis\"},{\"attributes\":{\"tools\":[{\"id\":\"1031\"}]},\"id\":\"1022\",\"type\":\"Toolbar\"},{\"attributes\":{},\"id\":\"1038\",\"type\":\"CategoricalTickFormatter\"},{\"attributes\":{},\"id\":\"1019\",\"type\":\"BasicTicker\"},{\"attributes\":{\"end\":1,\"factors\":[\"3\",\"4\",\"5\",\"6\",\"8\"],\"palette\":[\"#2b83ba\",\"#abdda4\",\"#ffffbf\",\"#fdae61\",\"#d7191c\"]},\"id\":\"1023\",\"type\":\"CategoricalColorMapper\"},{\"attributes\":{},\"id\":\"1013\",\"type\":\"LinearScale\"},{\"attributes\":{},\"id\":\"1039\",\"type\":\"AllLabels\"},{\"attributes\":{},\"id\":\"1009\",\"type\":\"DataRange1d\"},{\"attributes\":{},\"id\":\"1016\",\"type\":\"CategoricalTicker\"},{\"attributes\":{\"source\":{\"id\":\"1003\"}},\"id\":\"1030\",\"type\":\"CDSView\"},{\"attributes\":{},\"id\":\"1035\",\"type\":\"BasicTickFormatter\"},{\"attributes\":{\"axis\":{\"id\":\"1015\"},\"coordinates\":null,\"grid_line_color\":null,\"group\":null,\"ticker\":null},\"id\":\"1017\",\"type\":\"Grid\"},{\"attributes\":{\"callback\":null,\"tooltips\":[[\"MPG\",\"@mpg_mean\"],[\"Cyl, Mfr\",\"@cyl_mfr\"]]},\"id\":\"1031\",\"type\":\"HoverTool\"},{\"attributes\":{\"axis\":{\"id\":\"1018\"},\"coordinates\":null,\"dimension\":1,\"group\":null,\"ticker\":null},\"id\":\"1021\",\"type\":\"Grid\"}],\"root_ids\":[\"1004\"]},\"title\":\"Bokeh Application\",\"version\":\"2.4.3\"}};\n",
|
417
|
-
" const render_items = [{\"docid\":\"bc7f0dfe-9583-4277-86f1-eab796edeacb\",\"root_ids\":[\"1004\"],\"roots\":{\"1004\":\"6fc18b78-5750-4d53-85e4-48c526ad77ae\"}}];\n",
|
418
|
-
" root.Bokeh.embed.embed_items_notebook(docs_json, render_items);\n",
|
419
|
-
" }\n",
|
420
|
-
" if (root.Bokeh !== undefined) {\n",
|
421
|
-
" embed_document(root);\n",
|
422
|
-
" } else {\n",
|
423
|
-
" let attempts = 0;\n",
|
424
|
-
" const timer = setInterval(function(root) {\n",
|
425
|
-
" if (root.Bokeh !== undefined) {\n",
|
426
|
-
" clearInterval(timer);\n",
|
427
|
-
" embed_document(root);\n",
|
428
|
-
" } else {\n",
|
429
|
-
" attempts++;\n",
|
430
|
-
" if (attempts > 100) {\n",
|
431
|
-
" clearInterval(timer);\n",
|
432
|
-
" console.log(\"Bokeh: ERROR: Unable to run BokehJS code because BokehJS library is missing\");\n",
|
433
|
-
" }\n",
|
434
|
-
" }\n",
|
435
|
-
" }, 10, root)\n",
|
436
|
-
" }\n",
|
437
|
-
"})(window);"
|
438
|
-
],
|
439
|
-
"application/vnd.bokehjs_exec.v0+json": ""
|
440
|
-
},
|
441
|
-
"metadata": {
|
442
|
-
"application/vnd.bokehjs_exec.v0+json": {
|
443
|
-
"id": "1004"
|
444
|
-
}
|
445
|
-
},
|
446
|
-
"output_type": "display_data"
|
447
|
-
}
|
448
|
-
],
|
449
|
-
"source": [
|
450
|
-
"# Plot a complex chart with interactive hover in a few lines of code\n",
|
451
|
-
"\n",
|
452
|
-
"from bokeh.models import ColumnDataSource, HoverTool\n",
|
453
|
-
"from bokeh.plotting import figure\n",
|
454
|
-
"from bokeh.sampledata.autompg import autompg_clean as df\n",
|
455
|
-
"from bokeh.transform import factor_cmap\n",
|
456
|
-
"\n",
|
457
|
-
"df.cyl = df.cyl.astype(str)\n",
|
458
|
-
"df.yr = df.yr.astype(str)\n",
|
459
|
-
"\n",
|
460
|
-
"group = df.groupby(by=['cyl', 'mfr'])\n",
|
461
|
-
"source = ColumnDataSource(group)\n",
|
462
|
-
"\n",
|
463
|
-
"p = figure(plot_width=800, plot_height=300, title=\"Mean MPG by # Cylinders and Manufacturer\",\n",
|
464
|
-
" x_range=group, toolbar_location=None, tools=\"\")\n",
|
465
|
-
"\n",
|
466
|
-
"p.xgrid.grid_line_color = None\n",
|
467
|
-
"p.xaxis.axis_label = \"Manufacturer grouped by # Cylinders\"\n",
|
468
|
-
"p.xaxis.major_label_orientation = 1.2\n",
|
469
|
-
"\n",
|
470
|
-
"index_cmap = factor_cmap('cyl_mfr', palette=['#2b83ba', '#abdda4', '#ffffbf', '#fdae61', '#d7191c'], \n",
|
471
|
-
" factors=sorted(df.cyl.unique()), end=1)\n",
|
472
|
-
"\n",
|
473
|
-
"p.vbar(x='cyl_mfr', top='mpg_mean', width=1, source=source,\n",
|
474
|
-
" line_color=\"white\", fill_color=index_cmap, \n",
|
475
|
-
" hover_line_color=\"darkgrey\", hover_fill_color=index_cmap)\n",
|
476
|
-
"\n",
|
477
|
-
"p.add_tools(HoverTool(tooltips=[(\"MPG\", \"@mpg_mean\"), (\"Cyl, Mfr\", \"@cyl_mfr\")]))\n",
|
478
|
-
"\n",
|
479
|
-
"show(p)"
|
480
|
-
]
|
481
|
-
},
|
482
|
-
{
|
483
|
-
"cell_type": "code",
|
484
|
-
"execution_count": 3,
|
485
|
-
"metadata": {
|
486
|
-
"Collapsed": "false"
|
487
|
-
},
|
488
|
-
"outputs": [
|
489
|
-
{
|
490
|
-
"data": {
|
491
|
-
"text/html": [
|
492
|
-
"\n",
|
493
|
-
" <iframe\n",
|
494
|
-
" width=\"900\"\n",
|
495
|
-
" height=\"500\"\n",
|
496
|
-
" src=\"https://demo.bokeh.org/sliders\"\n",
|
497
|
-
" frameborder=\"0\"\n",
|
498
|
-
" allowfullscreen\n",
|
499
|
-
" ></iframe>\n",
|
500
|
-
" "
|
501
|
-
],
|
502
|
-
"text/plain": [
|
503
|
-
"<IPython.lib.display.IFrame at 0x1a902a4e708>"
|
504
|
-
]
|
505
|
-
},
|
506
|
-
"execution_count": 3,
|
507
|
-
"metadata": {},
|
508
|
-
"output_type": "execute_result"
|
509
|
-
}
|
510
|
-
],
|
511
|
-
"source": [
|
512
|
-
"# Create and deploy interactive data applications\n",
|
513
|
-
"\n",
|
514
|
-
"from IPython.display import IFrame\n",
|
515
|
-
"IFrame('https://demo.bokeh.org/sliders', width=900, height=500)"
|
516
|
-
]
|
517
|
-
},
|
518
|
-
{
|
519
|
-
"cell_type": "markdown",
|
520
|
-
"metadata": {
|
521
|
-
"Collapsed": "false"
|
522
|
-
},
|
523
|
-
"source": [
|
524
|
-
"# Getting set up"
|
525
|
-
]
|
526
|
-
},
|
527
|
-
{
|
528
|
-
"cell_type": "code",
|
529
|
-
"execution_count": 4,
|
530
|
-
"metadata": {
|
531
|
-
"Collapsed": "false"
|
532
|
-
},
|
533
|
-
"outputs": [
|
534
|
-
{
|
535
|
-
"data": {
|
536
|
-
"text/markdown": [
|
537
|
-
"## Clone or download the repo\n",
|
538
|
-
"First get local copies of the tutorial notebooks:\n",
|
539
|
-
"\n",
|
540
|
-
"```\n",
|
541
|
-
"$ git clone https://github.com/bokeh/bokeh-notebooks.git\n",
|
542
|
-
"```\n",
|
543
|
-
"\n",
|
544
|
-
"Or download from: https://github.com/bokeh/bokeh-notebooks/archive/master.zip\n",
|
545
|
-
"\n",
|
546
|
-
"## Install the dependencies\n",
|
547
|
-
"\n",
|
548
|
-
"This tutorial has been tested on:\n",
|
549
|
-
"\n",
|
550
|
-
"* bokeh 1.4.0\n",
|
551
|
-
"* pandas 0.25.2\n",
|
552
|
-
"* notebook 6.0.1\n",
|
553
|
-
"* phantomjs 2.1.1\n",
|
554
|
-
"* pillow 6.1.0\n",
|
555
|
-
"* selenium 3.8.0\n",
|
556
|
-
"\n",
|
557
|
-
"Other combinations may work also.\n",
|
558
|
-
"\n",
|
559
|
-
"The quickest, easiest way to install is to use Anaconda (or Miniconda):\n",
|
560
|
-
"\n",
|
561
|
-
"#### Installing with anaconda\n",
|
562
|
-
"\n",
|
563
|
-
"Install [anaconda](http://anaconda.com/downloads)\n",
|
564
|
-
"\n",
|
565
|
-
"Anaconda should come with all the dependencies included, but you may need to update your versions.\n",
|
566
|
-
"\n",
|
567
|
-
"#### Installing with miniconda\n",
|
568
|
-
"\n",
|
569
|
-
"Install [miniconda](http://conda.pydata.org/miniconda.html).\n",
|
570
|
-
"\n",
|
571
|
-
"Use the command line to create an environment and install the packages:\n",
|
572
|
-
"\n",
|
573
|
-
"```bash\n",
|
574
|
-
"$ conda env create\n",
|
575
|
-
"$ source activate bokeh-notebooks\n",
|
576
|
-
"```\n",
|
577
|
-
"\n",
|
578
|
-
"NOTE: Run this in the `tutorial` directory where `environment.yml` file is.\n",
|
579
|
-
"\n",
|
580
|
-
"----\n",
|
581
|
-
"\n",
|
582
|
-
"Once you've got a base install, you can install the remaining dependencies with:\n",
|
583
|
-
"\n",
|
584
|
-
"```bash\n",
|
585
|
-
"conda install phantomjs pillow selenium\n",
|
586
|
-
"```\n",
|
587
|
-
"\n",
|
588
|
-
"## Get the sample data\n",
|
589
|
-
"\n",
|
590
|
-
"Bokeh has a [sample data](https://docs.bokeh.org/en/latest/docs/installation.html#sample-data) download that gives us some data to build demo visualizations. To get\n",
|
591
|
-
"it run the following command at your command line:\n",
|
592
|
-
"\n",
|
593
|
-
"```bash\n",
|
594
|
-
"$ bokeh sampledata\n",
|
595
|
-
"```\n",
|
596
|
-
"\n",
|
597
|
-
"or run the following from within a Python interpreter:\n",
|
598
|
-
"\n",
|
599
|
-
"```python\n",
|
600
|
-
"import bokeh.sampledata\n",
|
601
|
-
"bokeh.sampledata.download()\n",
|
602
|
-
"```\n",
|
603
|
-
"\n",
|
604
|
-
"### Install Datashader and Holoviews (optional)\n",
|
605
|
-
"\n",
|
606
|
-
"Some optional sections require the additional packages Flask, Datashader, and Holoviews.\n",
|
607
|
-
"These can be installed with:\n",
|
608
|
-
"\n",
|
609
|
-
"```bash\n",
|
610
|
-
"$ conda install -c pyviz datashader holoviews flask\n",
|
611
|
-
"```\n",
|
612
|
-
"\n",
|
613
|
-
"## Run the Jupyter notebook\n",
|
614
|
-
"\n",
|
615
|
-
"From this folder run jupyter notebook, and open the [00 - Introduction and Setup.ipynb](00 - Introduction and Setup.ipynb) notebook.\n",
|
616
|
-
"\n",
|
617
|
-
"```\n",
|
618
|
-
"$ jupyter notebook\n",
|
619
|
-
"```\n"
|
620
|
-
],
|
621
|
-
"text/plain": [
|
622
|
-
"<IPython.core.display.Markdown object>"
|
623
|
-
]
|
624
|
-
},
|
625
|
-
"execution_count": 4,
|
626
|
-
"metadata": {},
|
627
|
-
"output_type": "execute_result"
|
628
|
-
}
|
629
|
-
],
|
630
|
-
"source": [
|
631
|
-
"from IPython.core.display import Markdown\n",
|
632
|
-
"Markdown(open(\"README.md\").read())"
|
633
|
-
]
|
634
|
-
},
|
635
|
-
{
|
636
|
-
"cell_type": "markdown",
|
637
|
-
"metadata": {
|
638
|
-
"Collapsed": "false"
|
639
|
-
},
|
640
|
-
"source": [
|
641
|
-
"### Setup-test, run the next cell. Hopefully you should see output that looks something like this:\n",
|
642
|
-
"\n",
|
643
|
-
" IPython - 7.9.0\n",
|
644
|
-
" Pandas - 0.25.2\n",
|
645
|
-
" Bokeh - 1.4.0\n",
|
646
|
-
" \n",
|
647
|
-
"If this isn't working for you, see the [`README.md`](README.md) in this directory."
|
648
|
-
]
|
649
|
-
},
|
650
|
-
{
|
651
|
-
"cell_type": "code",
|
652
|
-
"execution_count": 5,
|
653
|
-
"metadata": {
|
654
|
-
"Collapsed": "false"
|
655
|
-
},
|
656
|
-
"outputs": [
|
657
|
-
{
|
658
|
-
"name": "stdout",
|
659
|
-
"output_type": "stream",
|
660
|
-
"text": [
|
661
|
-
"IPython - 7.23.1\n",
|
662
|
-
"Pandas - 1.2.4\n",
|
663
|
-
"Bokeh - 2.4.3\n"
|
664
|
-
]
|
665
|
-
}
|
666
|
-
],
|
667
|
-
"source": [
|
668
|
-
"from IPython import __version__ as ipython_version\n",
|
669
|
-
"from pandas import __version__ as pandas_version\n",
|
670
|
-
"from bokeh import __version__ as bokeh_version\n",
|
671
|
-
"print(\"IPython - %s\" % ipython_version)\n",
|
672
|
-
"print(\"Pandas - %s\" % pandas_version)\n",
|
673
|
-
"print(\"Bokeh - %s\" % bokeh_version)"
|
674
|
-
]
|
675
|
-
},
|
676
|
-
{
|
677
|
-
"cell_type": "markdown",
|
678
|
-
"metadata": {
|
679
|
-
"Collapsed": "false"
|
680
|
-
},
|
681
|
-
"source": [
|
682
|
-
"# Next Section"
|
683
|
-
]
|
684
|
-
},
|
685
|
-
{
|
686
|
-
"cell_type": "markdown",
|
687
|
-
"metadata": {
|
688
|
-
"Collapsed": "false"
|
689
|
-
},
|
690
|
-
"source": [
|
691
|
-
"Click on this link to go to the next notebook: [01 - Basic Plotting](01%20-%20Basic%20Plotting.ipynb)"
|
692
|
-
]
|
693
|
-
}
|
694
|
-
],
|
695
|
-
"metadata": {
|
696
|
-
"anaconda-cloud": {},
|
697
|
-
"kernelspec": {
|
698
|
-
"display_name": "Python 3",
|
699
|
-
"language": "python",
|
700
|
-
"name": "python3"
|
701
|
-
},
|
702
|
-
"language_info": {
|
703
|
-
"codemirror_mode": {
|
704
|
-
"name": "ipython",
|
705
|
-
"version": 3
|
706
|
-
},
|
707
|
-
"file_extension": ".py",
|
708
|
-
"mimetype": "text/x-python",
|
709
|
-
"name": "python",
|
710
|
-
"nbconvert_exporter": "python",
|
711
|
-
"pygments_lexer": "ipython3",
|
712
|
-
"version": "3.7.9"
|
713
|
-
}
|
714
|
-
},
|
715
|
-
"nbformat": 4,
|
716
|
-
"nbformat_minor": 4
|
717
|
-
}
|