From fdc2a1d1090cdb3e17f7a228d03d66bad76721be Mon Sep 17 00:00:00 2001 From: Laurent Nguyen Date: Thu, 15 Aug 2019 16:13:18 +0200 Subject: [PATCH] Update capability test notebook: remove cell results --- capabilitytests.ipynb | 645 ++---------------------------------------- 1 file changed, 18 insertions(+), 627 deletions(-) diff --git a/capabilitytests.ipynb b/capabilitytests.ipynb index bc4d13e..279ad1d 100644 --- a/capabilitytests.ipynb +++ b/capabilitytests.ipynb @@ -18,20 +18,9 @@ }, { "cell_type": "code", - "execution_count": 2, + "execution_count": null, "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "5" - ] - }, - "execution_count": 2, - "metadata": {}, - "output_type": "execute_result" - } - ], + "outputs": [], "source": [ "2+3" ] @@ -45,24 +34,9 @@ }, { "cell_type": "code", - "execution_count": 3, + "execution_count": null, "metadata": {}, - "outputs": [ - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "4c6b50beacfa4429977d6237c2164ad5", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "interactive(children=(IntSlider(value=10, description='x', max=30, min=-10), Output()), _dom_classes=('widget-…" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], + "outputs": [], "source": [ "from __future__ import print_function\n", "from ipywidgets import interact, interactive, fixed, interact_manual\n", @@ -84,29 +58,14 @@ }, { "cell_type": "code", - "execution_count": 4, + "execution_count": null, "metadata": {}, - "outputs": [ - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "2ffcd6061fd44bba9170266ffb07876d", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Figure(layout=FigureLayout(height='420px'))" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], + "outputs": [], "source": [ "import gmaps\n", "import gmaps.datasets\n", - "key = \"\api key here\"\n", - "gmaps.configure(api_key='google api key here')\n", + "key = \"your_key_here\"\n", + "gmaps.configure(api_key='your_gmap_key_here')\n", "earthquake_df = gmaps.datasets.load_dataset_as_df('earthquakes')\n", "earthquake_df.head()\n", "locations = earthquake_df[['latitude', 'longitude']]\n", @@ -125,133 +84,9 @@ }, { "cell_type": "code", - "execution_count": 5, + "execution_count": null, "metadata": {}, - "outputs": [ - { - "data": { - "text/html": [ - "
\n", - "\n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
namesalarysurname
0Richard5000Black
1Henry8000Green
2William12500Goodman
3Henry8000Green
4Richard14000Black
5Richard12500Goodman
6Albert12000Joneson
7William8000Black
8Albert12500White
9Henry13500Green
10John12000White
11Richard13500Black
\n", - "
" - ], - "text/plain": [ - " name salary surname\n", - "0 Richard 5000 Black\n", - "1 Henry 8000 Green\n", - "2 William 12500 Goodman\n", - "3 Henry 8000 Green\n", - "4 Richard 14000 Black\n", - "5 Richard 12500 Goodman\n", - "6 Albert 12000 Joneson\n", - "7 William 8000 Black\n", - "8 Albert 12500 White\n", - "9 Henry 13500 Green\n", - "10 John 12000 White\n", - "11 Richard 13500 Black" - ] - }, - "execution_count": 5, - "metadata": {}, - "output_type": "execute_result" - } - ], + "outputs": [], "source": [ "import random\n", "import pandas\n", @@ -280,47 +115,9 @@ }, { "cell_type": "code", - "execution_count": 6, + "execution_count": null, "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "{'PATH': '/opt/conda/bin:/opt/conda/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin',\n", - " 'HOSTNAME': 'jupyter-lab',\n", - " 'DEBIAN_FRONTEND': 'noninteractive',\n", - " 'CONDA_DIR': '/opt/conda',\n", - " 'SHELL': '/bin/bash',\n", - " 'NB_USER': 'jovyan',\n", - " 'NB_UID': '1000',\n", - " 'NB_GID': '100',\n", - " 'LC_ALL': 'en_US.UTF-8',\n", - " 'LANG': 'en_US.UTF-8',\n", - " 'LANGUAGE': 'en_US.UTF-8',\n", - " 'HOME': '/home/jovyan',\n", - " 'MINICONDA_VERSION': '4.5.12',\n", - " 'CONDA_VERSION': '4.6.7',\n", - " 'XDG_CACHE_HOME': '/home/jovyan/.cache/',\n", - " 'APACHE_SPARK_VERSION': '2.4.3',\n", - " 'HADOOP_VERSION': '2.7',\n", - " 'SPARK_HOME': '/usr/local/spark',\n", - " 'PYTHONPATH': '/usr/local/spark/python:/usr/local/spark/python/lib/py4j-0.10.7-src.zip',\n", - " 'MESOS_NATIVE_LIBRARY': '/usr/local/lib/libmesos.so',\n", - " 'SPARK_OPTS': '--driver-java-options=-Xms1024M --driver-java-options=-Xmx4096M --driver-java-options=-Dlog4j.logLevel=info',\n", - " 'R_LIBS_USER': '/usr/local/spark/R/lib',\n", - " 'JPY_PARENT_PID': '6',\n", - " 'TERM': 'xterm-color',\n", - " 'CLICOLOR': '1',\n", - " 'PAGER': 'cat',\n", - " 'GIT_PAGER': 'cat',\n", - " 'MPLBACKEND': 'module://ipykernel.pylab.backend_inline'}" - ] - }, - "execution_count": 6, - "metadata": {}, - "output_type": "execute_result" - } - ], + "outputs": [], "source": [ "%env" ] @@ -334,58 +131,9 @@ }, { "cell_type": "code", - "execution_count": 7, + "execution_count": null, "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Requirement already satisfied: ipywidgets in /opt/conda/lib/python3.7/site-packages (7.4.2)\n", - "Requirement already satisfied: traitlets>=4.3.1 in /opt/conda/lib/python3.7/site-packages (from ipywidgets) (4.3.2)\n", - "Requirement already satisfied: nbformat>=4.2.0 in /opt/conda/lib/python3.7/site-packages (from ipywidgets) (4.4.0)\n", - "Requirement already satisfied: ipykernel>=4.5.1 in /opt/conda/lib/python3.7/site-packages (from ipywidgets) (4.10.0)\n", - "Requirement already satisfied: widgetsnbextension~=3.4.0 in /opt/conda/lib/python3.7/site-packages (from ipywidgets) (3.4.2)\n", - "Requirement already satisfied: ipython>=4.0.0; python_version >= \"3.3\" in /opt/conda/lib/python3.7/site-packages (from ipywidgets) (6.5.0)\n", - "Requirement already satisfied: ipython_genutils in /opt/conda/lib/python3.7/site-packages (from traitlets>=4.3.1->ipywidgets) (0.2.0)\n", - "Requirement already satisfied: six in /opt/conda/lib/python3.7/site-packages (from traitlets>=4.3.1->ipywidgets) (1.12.0)\n", - "Requirement already satisfied: decorator in /opt/conda/lib/python3.7/site-packages (from traitlets>=4.3.1->ipywidgets) (4.4.0)\n", - "Requirement already satisfied: jsonschema!=2.5.0,>=2.4 in /opt/conda/lib/python3.7/site-packages (from nbformat>=4.2.0->ipywidgets) (3.0.1)\n", - "Requirement already satisfied: jupyter_core in /opt/conda/lib/python3.7/site-packages (from nbformat>=4.2.0->ipywidgets) (4.4.0)\n", - "Requirement already satisfied: tornado>=4.0 in /opt/conda/lib/python3.7/site-packages (from ipykernel>=4.5.1->ipywidgets) (6.0.2)\n", - "Requirement already satisfied: jupyter-client in /opt/conda/lib/python3.7/site-packages (from ipykernel>=4.5.1->ipywidgets) (5.2.4)\n", - "Requirement already satisfied: notebook>=4.4.1 in /opt/conda/lib/python3.7/site-packages (from widgetsnbextension~=3.4.0->ipywidgets) (5.7.8)\n", - "Requirement already satisfied: jedi>=0.10 in /opt/conda/lib/python3.7/site-packages (from ipython>=4.0.0; python_version >= \"3.3\"->ipywidgets) (0.13.3)\n", - "Requirement already satisfied: pygments in /opt/conda/lib/python3.7/site-packages (from ipython>=4.0.0; python_version >= \"3.3\"->ipywidgets) (2.4.0)\n", - "Requirement already satisfied: prompt-toolkit<2.0.0,>=1.0.15 in /opt/conda/lib/python3.7/site-packages (from ipython>=4.0.0; python_version >= \"3.3\"->ipywidgets) (1.0.16)\n", - "Requirement already satisfied: setuptools>=18.5 in /opt/conda/lib/python3.7/site-packages (from ipython>=4.0.0; python_version >= \"3.3\"->ipywidgets) (41.0.1)\n", - "Requirement already satisfied: simplegeneric>0.8 in /opt/conda/lib/python3.7/site-packages (from ipython>=4.0.0; python_version >= \"3.3\"->ipywidgets) (0.8.1)\n", - "Requirement already satisfied: pickleshare in /opt/conda/lib/python3.7/site-packages (from ipython>=4.0.0; python_version >= \"3.3\"->ipywidgets) (0.7.5)\n", - "Requirement already satisfied: pexpect; sys_platform != \"win32\" in /opt/conda/lib/python3.7/site-packages (from ipython>=4.0.0; python_version >= \"3.3\"->ipywidgets) (4.7.0)\n", - "Requirement already satisfied: backcall in /opt/conda/lib/python3.7/site-packages (from ipython>=4.0.0; python_version >= \"3.3\"->ipywidgets) (0.1.0)\n", - "Requirement already satisfied: attrs>=17.4.0 in /opt/conda/lib/python3.7/site-packages (from jsonschema!=2.5.0,>=2.4->nbformat>=4.2.0->ipywidgets) (19.1.0)\n", - "Requirement already satisfied: pyrsistent>=0.14.0 in /opt/conda/lib/python3.7/site-packages (from jsonschema!=2.5.0,>=2.4->nbformat>=4.2.0->ipywidgets) (0.15.2)\n", - "Requirement already satisfied: pyzmq>=13 in /opt/conda/lib/python3.7/site-packages (from jupyter-client->ipykernel>=4.5.1->ipywidgets) (18.0.1)\n", - "Requirement already satisfied: python-dateutil>=2.1 in /opt/conda/lib/python3.7/site-packages (from jupyter-client->ipykernel>=4.5.1->ipywidgets) (2.8.0)\n", - "Requirement already satisfied: jinja2 in /opt/conda/lib/python3.7/site-packages (from notebook>=4.4.1->widgetsnbextension~=3.4.0->ipywidgets) (2.10.1)\n", - "Requirement already satisfied: nbconvert in /opt/conda/lib/python3.7/site-packages (from notebook>=4.4.1->widgetsnbextension~=3.4.0->ipywidgets) (5.5.0)\n", - "Requirement already satisfied: terminado>=0.8.1 in /opt/conda/lib/python3.7/site-packages (from notebook>=4.4.1->widgetsnbextension~=3.4.0->ipywidgets) (0.8.2)\n", - "Requirement already satisfied: Send2Trash in /opt/conda/lib/python3.7/site-packages (from notebook>=4.4.1->widgetsnbextension~=3.4.0->ipywidgets) (1.5.0)\n", - "Requirement already satisfied: prometheus-client in /opt/conda/lib/python3.7/site-packages (from notebook>=4.4.1->widgetsnbextension~=3.4.0->ipywidgets) (0.6.0)\n", - "Requirement already satisfied: parso>=0.3.0 in /opt/conda/lib/python3.7/site-packages (from jedi>=0.10->ipython>=4.0.0; python_version >= \"3.3\"->ipywidgets) (0.4.0)\n", - "Requirement already satisfied: wcwidth in /opt/conda/lib/python3.7/site-packages (from prompt-toolkit<2.0.0,>=1.0.15->ipython>=4.0.0; python_version >= \"3.3\"->ipywidgets) (0.1.7)\n", - "Requirement already satisfied: ptyprocess>=0.5 in /opt/conda/lib/python3.7/site-packages (from pexpect; sys_platform != \"win32\"->ipython>=4.0.0; python_version >= \"3.3\"->ipywidgets) (0.6.0)\n", - "Requirement already satisfied: MarkupSafe>=0.23 in /opt/conda/lib/python3.7/site-packages (from jinja2->notebook>=4.4.1->widgetsnbextension~=3.4.0->ipywidgets) (1.1.1)\n", - "Requirement already satisfied: defusedxml in /opt/conda/lib/python3.7/site-packages (from nbconvert->notebook>=4.4.1->widgetsnbextension~=3.4.0->ipywidgets) (0.5.0)\n", - "Requirement already satisfied: entrypoints>=0.2.2 in /opt/conda/lib/python3.7/site-packages (from nbconvert->notebook>=4.4.1->widgetsnbextension~=3.4.0->ipywidgets) (0.3)\n", - "Requirement already satisfied: pandocfilters>=1.4.1 in /opt/conda/lib/python3.7/site-packages (from nbconvert->notebook>=4.4.1->widgetsnbextension~=3.4.0->ipywidgets) (1.4.2)\n", - "Requirement already satisfied: testpath in /opt/conda/lib/python3.7/site-packages (from nbconvert->notebook>=4.4.1->widgetsnbextension~=3.4.0->ipywidgets) (0.4.2)\n", - "Requirement already satisfied: mistune>=0.8.1 in /opt/conda/lib/python3.7/site-packages (from nbconvert->notebook>=4.4.1->widgetsnbextension~=3.4.0->ipywidgets) (0.8.4)\n", - "Requirement already satisfied: bleach in /opt/conda/lib/python3.7/site-packages (from nbconvert->notebook>=4.4.1->widgetsnbextension~=3.4.0->ipywidgets) (3.1.0)\n", - "Requirement already satisfied: webencodings in /opt/conda/lib/python3.7/site-packages (from bleach->nbconvert->notebook>=4.4.1->widgetsnbextension~=3.4.0->ipywidgets) (0.5.1)\n" - ] - } - ], + "outputs": [], "source": [ "import sys\n", "!{sys.executable} -m pip install ipywidgets" @@ -400,22 +148,9 @@ }, { "cell_type": "code", - "execution_count": 8, + "execution_count": null, "metadata": {}, - "outputs": [ - { - "data": { - "image/png": "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\n", - "text/plain": [ - "
" - ] - }, - "metadata": { - "needs_background": "light" - }, - "output_type": "display_data" - } - ], + "outputs": [], "source": [ "import numpy as np\n", "import matplotlib.pyplot as plt\n", @@ -451,353 +186,9 @@ }, { "cell_type": "code", - "execution_count": 10, + "execution_count": null, "metadata": {}, - "outputs": [ - { - "data": { - "text/html": [ - "\n", - "
\n", - " \n", - " Loading BokehJS ...\n", - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/javascript": [ - "\n", - "(function(root) {\n", - " function now() {\n", - " return new Date();\n", - " }\n", - "\n", - " var 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", - " var JS_MIME_TYPE = 'application/javascript';\n", - " var HTML_MIME_TYPE = 'text/html';\n", - " var EXEC_MIME_TYPE = 'application/vnd.bokehjs_exec.v0+json';\n", - " var CLASS_NAME = 'output_bokeh rendered_html';\n", - "\n", - " /**\n", - " * Render data to the DOM node\n", - " */\n", - " function render(props, node) {\n", - " var script = document.createElement(\"script\");\n", - " node.appendChild(script);\n", - " }\n", - "\n", - " /**\n", - " * Handle when an output is cleared or removed\n", - " */\n", - " function handleClearOutput(event, handle) {\n", - " var cell = handle.cell;\n", - "\n", - " var id = cell.output_area._bokeh_element_id;\n", - " var server_id = cell.output_area._bokeh_server_id;\n", - " // Clean up Bokeh references\n", - " if (id != null && id in Bokeh.index) {\n", - " Bokeh.index[id].model.document.clear();\n", - " delete Bokeh.index[id];\n", - " }\n", - "\n", - " if (server_id !== undefined) {\n", - " // Clean up Bokeh references\n", - " var cmd = \"from bokeh.io.state import curstate; print(curstate().uuid_to_server['\" + server_id + \"'].get_sessions()[0].document.roots[0]._id)\";\n", - " cell.notebook.kernel.execute(cmd, {\n", - " iopub: {\n", - " output: function(msg) {\n", - " var id = msg.content.text.trim();\n", - " if (id in Bokeh.index) {\n", - " Bokeh.index[id].model.document.clear();\n", - " delete Bokeh.index[id];\n", - " }\n", - " }\n", - " }\n", - " });\n", - " // Destroy server and session\n", - " var cmd = \"import bokeh.io.notebook as ion; ion.destroy_server('\" + server_id + \"')\";\n", - " cell.notebook.kernel.execute(cmd);\n", - " }\n", - " }\n", - "\n", - " /**\n", - " * Handle when a new output is added\n", - " */\n", - " function handleAddOutput(event, handle) {\n", - " var output_area = handle.output_area;\n", - " var output = handle.output;\n", - "\n", - " // limit handleAddOutput to display_data with EXEC_MIME_TYPE content only\n", - " if ((output.output_type != \"display_data\") || (!output.data.hasOwnProperty(EXEC_MIME_TYPE))) {\n", - " return\n", - " }\n", - "\n", - " var toinsert = output_area.element.find(\".\" + CLASS_NAME.split(' ')[0]);\n", - "\n", - " if (output.metadata[EXEC_MIME_TYPE][\"id\"] !== undefined) {\n", - " toinsert[toinsert.length - 1].firstChild.textContent = output.data[JS_MIME_TYPE];\n", - " // store reference to embed id on output_area\n", - " output_area._bokeh_element_id = output.metadata[EXEC_MIME_TYPE][\"id\"];\n", - " }\n", - " if (output.metadata[EXEC_MIME_TYPE][\"server_id\"] !== undefined) {\n", - " var bk_div = document.createElement(\"div\");\n", - " bk_div.innerHTML = output.data[HTML_MIME_TYPE];\n", - " var script_attrs = bk_div.children[0].attributes;\n", - " for (var i = 0; i < script_attrs.length; i++) {\n", - " toinsert[toinsert.length - 1].firstChild.setAttribute(script_attrs[i].name, script_attrs[i].value);\n", - " }\n", - " // store reference to server id on output_area\n", - " output_area._bokeh_server_id = output.metadata[EXEC_MIME_TYPE][\"server_id\"];\n", - " }\n", - " }\n", - "\n", - " function register_renderer(events, OutputArea) {\n", - "\n", - " function append_mime(data, metadata, element) {\n", - " // create a DOM node to render to\n", - " var toinsert = this.create_output_subarea(\n", - " metadata,\n", - " CLASS_NAME,\n", - " EXEC_MIME_TYPE\n", - " );\n", - " this.keyboard_manager.register_events(toinsert);\n", - " // Render to node\n", - " var props = {data: data, metadata: metadata[EXEC_MIME_TYPE]};\n", - " render(props, toinsert[toinsert.length - 1]);\n", - " element.append(toinsert);\n", - " return toinsert\n", - " }\n", - "\n", - " /* Handle when an output is cleared or removed */\n", - " events.on('clear_output.CodeCell', handleClearOutput);\n", - " events.on('delete.Cell', handleClearOutput);\n", - "\n", - " /* Handle when a new output is added */\n", - " events.on('output_added.OutputArea', handleAddOutput);\n", - "\n", - " /**\n", - " * Register the mime type and append_mime function with output_area\n", - " */\n", - " OutputArea.prototype.register_mime_type(EXEC_MIME_TYPE, append_mime, {\n", - " /* Is output safe? */\n", - " safe: true,\n", - " /* Index of renderer in `output_area.display_order` */\n", - " index: 0\n", - " });\n", - " }\n", - "\n", - " // register the mime type if in Jupyter Notebook environment and previously unregistered\n", - " if (root.Jupyter !== undefined) {\n", - " var events = require('base/js/events');\n", - " var OutputArea = require('notebook/js/outputarea').OutputArea;\n", - "\n", - " if (OutputArea.prototype.mime_types().indexOf(EXEC_MIME_TYPE) == -1) {\n", - " register_renderer(events, OutputArea);\n", - " }\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", - " var NB_LOAD_WARNING = {'data': {'text/html':\n", - " \"
\\n\"+\n", - " \"

\\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", - " \"

\\n\"+\n", - " \"
    \\n\"+\n", - " \"
  • re-rerun `output_notebook()` to attempt to load from CDN again, or
  • \\n\"+\n", - " \"
  • use INLINE resources instead, as so:
  • \\n\"+\n", - " \"
\\n\"+\n", - " \"\\n\"+\n", - " \"from bokeh.resources import INLINE\\n\"+\n", - " \"output_notebook(resources=INLINE)\\n\"+\n", - " \"\\n\"+\n", - " \"
\"}};\n", - "\n", - " function display_loaded() {\n", - " var el = document.getElementById(\"1105\");\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", - "\n", - " function run_callbacks() {\n", - " try {\n", - " root._bokeh_onload_callbacks.forEach(function(callback) { callback() });\n", - " }\n", - " finally {\n", - " delete root._bokeh_onload_callbacks\n", - " }\n", - " console.info(\"Bokeh: all callbacks have finished\");\n", - " }\n", - "\n", - " function load_libs(js_urls, callback) {\n", - " root._bokeh_onload_callbacks.push(callback);\n", - " if (root._bokeh_is_loading > 0) {\n", - " console.log(\"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.log(\"Bokeh: BokehJS not loaded, scheduling load and callback at\", now());\n", - " root._bokeh_is_loading = js_urls.length;\n", - " for (var i = 0; i < js_urls.length; i++) {\n", - " var url = js_urls[i];\n", - " var s = document.createElement('script');\n", - " s.src = url;\n", - " s.async = false;\n", - " s.onreadystatechange = s.onload = function() {\n", - " root._bokeh_is_loading--;\n", - " if (root._bokeh_is_loading === 0) {\n", - " console.log(\"Bokeh: all BokehJS libraries loaded\");\n", - " run_callbacks()\n", - " }\n", - " };\n", - " s.onerror = function() {\n", - " console.warn(\"failed to load library \" + url);\n", - " };\n", - " console.log(\"Bokeh: injecting script tag for BokehJS library: \", url);\n", - " document.getElementsByTagName(\"head\")[0].appendChild(s);\n", - " }\n", - " };var element = document.getElementById(\"1105\");\n", - " if (element == null) {\n", - " console.log(\"Bokeh: ERROR: autoload.js configured with elementid '1105' but no matching script tag was found. \")\n", - " return false;\n", - " }\n", - "\n", - " var js_urls = [\"https://cdn.pydata.org/bokeh/release/bokeh-1.0.4.min.js\", \"https://cdn.pydata.org/bokeh/release/bokeh-widgets-1.0.4.min.js\", \"https://cdn.pydata.org/bokeh/release/bokeh-tables-1.0.4.min.js\", \"https://cdn.pydata.org/bokeh/release/bokeh-gl-1.0.4.min.js\"];\n", - "\n", - " var inline_js = [\n", - " function(Bokeh) {\n", - " Bokeh.set_log_level(\"info\");\n", - " },\n", - " \n", - " function(Bokeh) {\n", - " \n", - " },\n", - " function(Bokeh) {\n", - " console.log(\"Bokeh: injecting CSS: https://cdn.pydata.org/bokeh/release/bokeh-1.0.4.min.css\");\n", - " Bokeh.embed.inject_css(\"https://cdn.pydata.org/bokeh/release/bokeh-1.0.4.min.css\");\n", - " console.log(\"Bokeh: injecting CSS: https://cdn.pydata.org/bokeh/release/bokeh-widgets-1.0.4.min.css\");\n", - " Bokeh.embed.inject_css(\"https://cdn.pydata.org/bokeh/release/bokeh-widgets-1.0.4.min.css\");\n", - " console.log(\"Bokeh: injecting CSS: https://cdn.pydata.org/bokeh/release/bokeh-tables-1.0.4.min.css\");\n", - " Bokeh.embed.inject_css(\"https://cdn.pydata.org/bokeh/release/bokeh-tables-1.0.4.min.css\");\n", - " }\n", - " ];\n", - "\n", - " function run_inline_js() {\n", - " \n", - " if ((root.Bokeh !== undefined) || (force === true)) {\n", - " for (var i = 0; i < inline_js.length; i++) {\n", - " inline_js[i].call(root, root.Bokeh);\n", - " }if (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", - " var cell = $(document.getElementById(\"1105\")).parents('.cell').data().cell;\n", - " cell.output_area.append_execute_result(NB_LOAD_WARNING)\n", - " }\n", - "\n", - " }\n", - "\n", - " if (root._bokeh_is_loading === 0) {\n", - " console.log(\"Bokeh: BokehJS loaded, going straight to plotting\");\n", - " run_inline_js();\n", - " } else {\n", - " load_libs(js_urls, function() {\n", - " console.log(\"Bokeh: BokehJS plotting callback run at\", now());\n", - " run_inline_js();\n", - " });\n", - " }\n", - "}(window));" - ], - "application/vnd.bokehjs_load.v0+json": "\n(function(root) {\n function now() {\n return new Date();\n }\n\n var 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\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 var NB_LOAD_WARNING = {'data': {'text/html':\n \"
\\n\"+\n \"

\\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 \"

\\n\"+\n \"
    \\n\"+\n \"
  • re-rerun `output_notebook()` to attempt to load from CDN again, or
  • \\n\"+\n \"
  • use INLINE resources instead, as so:
  • \\n\"+\n \"
\\n\"+\n \"\\n\"+\n \"from bokeh.resources import INLINE\\n\"+\n \"output_notebook(resources=INLINE)\\n\"+\n \"\\n\"+\n \"
\"}};\n\n function display_loaded() {\n var el = document.getElementById(\"1105\");\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\n function run_callbacks() {\n try {\n root._bokeh_onload_callbacks.forEach(function(callback) { callback() });\n }\n finally {\n delete root._bokeh_onload_callbacks\n }\n console.info(\"Bokeh: all callbacks have finished\");\n }\n\n function load_libs(js_urls, callback) {\n root._bokeh_onload_callbacks.push(callback);\n if (root._bokeh_is_loading > 0) {\n console.log(\"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.log(\"Bokeh: BokehJS not loaded, scheduling load and callback at\", now());\n root._bokeh_is_loading = js_urls.length;\n for (var i = 0; i < js_urls.length; i++) {\n var url = js_urls[i];\n var s = document.createElement('script');\n s.src = url;\n s.async = false;\n s.onreadystatechange = s.onload = function() {\n root._bokeh_is_loading--;\n if (root._bokeh_is_loading === 0) {\n console.log(\"Bokeh: all BokehJS libraries loaded\");\n run_callbacks()\n }\n };\n s.onerror = function() {\n console.warn(\"failed to load library \" + url);\n };\n console.log(\"Bokeh: injecting script tag for BokehJS library: \", url);\n document.getElementsByTagName(\"head\")[0].appendChild(s);\n }\n };var element = document.getElementById(\"1105\");\n if (element == null) {\n console.log(\"Bokeh: ERROR: autoload.js configured with elementid '1105' but no matching script tag was found. \")\n return false;\n }\n\n var js_urls = [\"https://cdn.pydata.org/bokeh/release/bokeh-1.0.4.min.js\", \"https://cdn.pydata.org/bokeh/release/bokeh-widgets-1.0.4.min.js\", \"https://cdn.pydata.org/bokeh/release/bokeh-tables-1.0.4.min.js\", \"https://cdn.pydata.org/bokeh/release/bokeh-gl-1.0.4.min.js\"];\n\n var inline_js = [\n function(Bokeh) {\n Bokeh.set_log_level(\"info\");\n },\n \n function(Bokeh) {\n \n },\n function(Bokeh) {\n console.log(\"Bokeh: injecting CSS: https://cdn.pydata.org/bokeh/release/bokeh-1.0.4.min.css\");\n Bokeh.embed.inject_css(\"https://cdn.pydata.org/bokeh/release/bokeh-1.0.4.min.css\");\n console.log(\"Bokeh: injecting CSS: https://cdn.pydata.org/bokeh/release/bokeh-widgets-1.0.4.min.css\");\n Bokeh.embed.inject_css(\"https://cdn.pydata.org/bokeh/release/bokeh-widgets-1.0.4.min.css\");\n console.log(\"Bokeh: injecting CSS: https://cdn.pydata.org/bokeh/release/bokeh-tables-1.0.4.min.css\");\n Bokeh.embed.inject_css(\"https://cdn.pydata.org/bokeh/release/bokeh-tables-1.0.4.min.css\");\n }\n ];\n\n function run_inline_js() {\n \n if ((root.Bokeh !== undefined) || (force === true)) {\n for (var i = 0; i < inline_js.length; i++) {\n inline_js[i].call(root, root.Bokeh);\n }if (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 var cell = $(document.getElementById(\"1105\")).parents('.cell').data().cell;\n cell.output_area.append_execute_result(NB_LOAD_WARNING)\n }\n\n }\n\n if (root._bokeh_is_loading === 0) {\n console.log(\"Bokeh: BokehJS loaded, going straight to plotting\");\n run_inline_js();\n } else {\n load_libs(js_urls, function() {\n console.log(\"Bokeh: BokehJS plotting callback run at\", now());\n run_inline_js();\n });\n }\n}(window));" - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "
\n" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/javascript": [ - "(function(root) {\n", - " function embed_document(root) {\n", - " \n", - " var docs_json = {\"127cce1b-e973-4c68-8f10-226fdd1d94cc\":{\"roots\":{\"references\":[{\"attributes\":{\"below\":[{\"id\":\"1116\",\"type\":\"LinearAxis\"}],\"left\":[{\"id\":\"1121\",\"type\":\"LinearAxis\"}],\"renderers\":[{\"id\":\"1116\",\"type\":\"LinearAxis\"},{\"id\":\"1120\",\"type\":\"Grid\"},{\"id\":\"1121\",\"type\":\"LinearAxis\"},{\"id\":\"1125\",\"type\":\"Grid\"},{\"id\":\"1134\",\"type\":\"BoxAnnotation\"},{\"id\":\"1144\",\"type\":\"GlyphRenderer\"}],\"title\":{\"id\":\"1156\",\"type\":\"Title\"},\"toolbar\":{\"id\":\"1132\",\"type\":\"Toolbar\"},\"x_range\":{\"id\":\"1108\",\"type\":\"DataRange1d\"},\"x_scale\":{\"id\":\"1112\",\"type\":\"LinearScale\"},\"y_range\":{\"id\":\"1110\",\"type\":\"DataRange1d\"},\"y_scale\":{\"id\":\"1114\",\"type\":\"LinearScale\"}},\"id\":\"1107\",\"subtype\":\"Figure\",\"type\":\"Plot\"},{\"attributes\":{\"overlay\":{\"id\":\"1134\",\"type\":\"BoxAnnotation\"}},\"id\":\"1128\",\"type\":\"BoxZoomTool\"},{\"attributes\":{\"callback\":null,\"data\":{\"x0\":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99],\"x1\":{\"__ndarray__\":\"fDCpKCrK3z8qBd4FpbLBv2heJFDdueQ/K6oBjlRe+D9AplffvPjNvzvbcCYz+M2/CHRAqHRE+T/z1/BG047oP4ueeUveC96/fS1q4aZc4T9wG8Guoqjdv+fvFiuEzt2/cPmepZ74zj++Ne6+y5z+vxLk7nBDmfu/YzyhakL+4b95UaNnjjTwvx+GFtigHNQ/+QOLgYgO7b/HExTEy5j2v0ENnx9Mc/c/2Zhm4TzmzL/GNbFGh0mxP2InDcHEy/a/KPrKUZVr4b81BjE/bGW8PxX1zj14avK/6N19s28L2D/SOz2hbjjjv6DS80Icq9K/p/2pOS5B479X9hhz7qL9P4aDsNZupIu/RsyHS2Ls8L83Lh+1SVLqPxx64lmTiPO/tWnv0gq8yj/DMFAPz1r/v/9asANAQPW/QDr0vL8yyT++nUiqhKHnPwwupFVl78U/XzGyNiCbvb/hr1BvSEXTvwa4sKwGqPe/J6aouPYI57/ZriIKG3vdv2LC1/746fA/iEEAkdf91T9OFQ2YaTX8vzhYbbDKvdQ/QA8qJjCl2L9NOahTWKnlv/nsCSfakuM/1Pz0Wvl+8D8enOD2C83tP1MVD7Xe2uq/zylztCLK07+KTA+JazPVPwBoGGqqN+8/VWYobMqq3r8Tbn1grMPHvzBuPE2Ms/G/9PWajqkj87+w1UonNgDqP/3Ng74os/U/+iMrXUFvsr9qgA6DeA7wP0KkKG0LJdc/rwoBL9Kk5L+P6aQIGyHXPyBgEDvMm/g/UhmlZMpXor8x1znJxwj5P19fz+s89QTAv1gZewZN6j8grkt3t0i2P7/t4LnvItO/OIpGXqJ9tz/iHOwPFc3/v8FsDls1Hsy/04nor+7a1j8349E5dKX3PzA8v2yrleC/S3Lu+S3f6b+hdpfJZA7gv5AGx2H5Su0/gMUgGEIK1T/02ryry/PgvwNc6tKvbOA/OiugAxPauD9TvHjHI//uP3hIyAw4d+a/l5Lxpmr41L8apYzLTBjZvxD0dqaOave/IzBrdqLz0j8UgR0sIbXQPw06yBDZ8XQ/hE70gPMGzr8=\",\"dtype\":\"float64\",\"shape\":[100]},\"x2\":[10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109],\"x3\":{\"__ndarray__\":\"BCaNylul9r90hh9c2uvavws0Ft4I79W/fDE0YUGs6b/Ac3WcAqXEvzMc/B/429k/GwJ+RNEt/j+RJ1zWkFjGP517TqK0e9A/YFWJNeMOs7/tciNySbP+vzhGxw90Jpu/rRjbe37Wrj+4CNpHuLQDQOSGYbpIn8i/cjBhOY1M0z8IMle3vcWhv88R8r3nsvK/XG9XkwBJ8j9WfwXd1Q/oP9CD1DoiUOk//I03uLMZ7b80xIdy2HH2PxrkSGH7bfa/S4cph4jH4j9pi2GZDYYBQGn2PTx5su+/syyOahwf4r/knA16wIK5P29cmPl4HOC/2oM4dYTP+L/WI4LWV42xP6z3zS0y//C/LYVNoFZP3j+P4yVf7Gvtv8btxwSIzPg/3zBiNWkQ6b/G09nnp5zUv6+9akJVCOo/EVsOyJ6x879VNCM6aB3NP9OKTYUO6vQ/uPAUV0C4+b9xtRAQFaLHP87DhXHrodA/FIwxZrEE6T/Ywx/UjMrzvwa+Dx2XIPW/c+xXzL6z4D81ybwAzAHTP9yCByoTCNA/bQZjHDUs1j8B1nQ0w8Llv50+1zh9us0/Kj4LDLPB0j9/yEiB99vmv987sV822v0/4GTFUEdT3j9piIFBlA/zvwzmpLZ8AuU/U2I0nZcw779TSQgNzC/pPyEIkoSbifI/3Du3kAdD6r/tPhst+tPuP3e1ZrEAa9o/56rQG1FO6j/5fjyZQ1n+P92Zh7bgaM+/8kr3TZse6L+U+RH35nbsvwxYtSseG+q/vzZmCPC8s79JabMXb9XVP3p/jlNNtdE/chRNAUl46j/EwjZjvKCKPwoy0PKsQfc/auDaNiPw0L9MuFAN6MIFQKFsmod3BeQ/fngKr9Vt6799RAssYCLxv2JDLPvT4N4/Gn5stW2azL8Pgm6QF9nmPy3tMXaGSd4/qoMQZuqksr9D/LEj7xjrv/pkh3HQPPi/HGITc7OT3L8ogL5xnmfrPyehqH5sZ8s/3tQeyYvu87+mMWnmyirGP1UCIToKqdg/we3ZY49I7L9MGk6nQ63DP+ihInyIza0/47UXOZtJ8r8=\",\"dtype\":\"float64\",\"shape\":[100]}},\"selected\":{\"id\":\"1162\",\"type\":\"Selection\"},\"selection_policy\":{\"id\":\"1163\",\"type\":\"UnionRenderers\"}},\"id\":\"1106\",\"type\":\"ColumnDataSource\"},{\"attributes\":{},\"id\":\"1129\",\"type\":\"SaveTool\"},{\"attributes\":{},\"id\":\"1130\",\"type\":\"ResetTool\"},{\"attributes\":{},\"id\":\"1131\",\"type\":\"HelpTool\"},{\"attributes\":{},\"id\":\"1160\",\"type\":\"BasicTickFormatter\"},{\"attributes\":{\"active_drag\":\"auto\",\"active_inspect\":\"auto\",\"active_multi\":null,\"active_scroll\":\"auto\",\"active_tap\":\"auto\",\"tools\":[{\"id\":\"1126\",\"type\":\"PanTool\"},{\"id\":\"1127\",\"type\":\"WheelZoomTool\"},{\"id\":\"1128\",\"type\":\"BoxZoomTool\"},{\"id\":\"1129\",\"type\":\"SaveTool\"},{\"id\":\"1130\",\"type\":\"ResetTool\"},{\"id\":\"1131\",\"type\":\"HelpTool\"}]},\"id\":\"1132\",\"type\":\"Toolbar\"},{\"attributes\":{\"callback\":null},\"id\":\"1108\",\"type\":\"DataRange1d\"},{\"attributes\":{\"line_alpha\":0.1,\"line_color\":\"#1f77b4\",\"x\":{\"field\":\"x0\"},\"y\":{\"field\":\"x1\"}},\"id\":\"1143\",\"type\":\"Line\"},{\"attributes\":{\"callback\":null},\"id\":\"1110\",\"type\":\"DataRange1d\"},{\"attributes\":{},\"id\":\"1163\",\"type\":\"UnionRenderers\"},{\"attributes\":{\"bottom_units\":\"screen\",\"fill_alpha\":{\"value\":0.5},\"fill_color\":{\"value\":\"lightgrey\"},\"left_units\":\"screen\",\"level\":\"overlay\",\"line_alpha\":{\"value\":1.0},\"line_color\":{\"value\":\"black\"},\"line_dash\":[4,4],\"line_width\":{\"value\":2},\"plot\":null,\"render_mode\":\"css\",\"right_units\":\"screen\",\"top_units\":\"screen\"},\"id\":\"1134\",\"type\":\"BoxAnnotation\"},{\"attributes\":{},\"id\":\"1112\",\"type\":\"LinearScale\"},{\"attributes\":{\"data_source\":{\"id\":\"1106\",\"type\":\"ColumnDataSource\"},\"glyph\":{\"id\":\"1142\",\"type\":\"Line\"},\"hover_glyph\":null,\"muted_glyph\":null,\"nonselection_glyph\":{\"id\":\"1143\",\"type\":\"Line\"},\"selection_glyph\":null,\"view\":{\"id\":\"1145\",\"type\":\"CDSView\"}},\"id\":\"1144\",\"type\":\"GlyphRenderer\"},{\"attributes\":{},\"id\":\"1114\",\"type\":\"LinearScale\"},{\"attributes\":{\"source\":{\"id\":\"1106\",\"type\":\"ColumnDataSource\"}},\"id\":\"1145\",\"type\":\"CDSView\"},{\"attributes\":{\"formatter\":{\"id\":\"1158\",\"type\":\"BasicTickFormatter\"},\"plot\":{\"id\":\"1107\",\"subtype\":\"Figure\",\"type\":\"Plot\"},\"ticker\":{\"id\":\"1117\",\"type\":\"BasicTicker\"}},\"id\":\"1116\",\"type\":\"LinearAxis\"},{\"attributes\":{},\"id\":\"1117\",\"type\":\"BasicTicker\"},{\"attributes\":{},\"id\":\"1158\",\"type\":\"BasicTickFormatter\"},{\"attributes\":{\"plot\":{\"id\":\"1107\",\"subtype\":\"Figure\",\"type\":\"Plot\"},\"ticker\":{\"id\":\"1117\",\"type\":\"BasicTicker\"}},\"id\":\"1120\",\"type\":\"Grid\"},{\"attributes\":{\"formatter\":{\"id\":\"1160\",\"type\":\"BasicTickFormatter\"},\"plot\":{\"id\":\"1107\",\"subtype\":\"Figure\",\"type\":\"Plot\"},\"ticker\":{\"id\":\"1122\",\"type\":\"BasicTicker\"}},\"id\":\"1121\",\"type\":\"LinearAxis\"},{\"attributes\":{},\"id\":\"1122\",\"type\":\"BasicTicker\"},{\"attributes\":{\"dimension\":1,\"plot\":{\"id\":\"1107\",\"subtype\":\"Figure\",\"type\":\"Plot\"},\"ticker\":{\"id\":\"1122\",\"type\":\"BasicTicker\"}},\"id\":\"1125\",\"type\":\"Grid\"},{\"attributes\":{\"line_color\":\"#1f77b4\",\"x\":{\"field\":\"x0\"},\"y\":{\"field\":\"x1\"}},\"id\":\"1142\",\"type\":\"Line\"},{\"attributes\":{},\"id\":\"1162\",\"type\":\"Selection\"},{\"attributes\":{\"plot\":null,\"text\":\"\"},\"id\":\"1156\",\"type\":\"Title\"},{\"attributes\":{},\"id\":\"1126\",\"type\":\"PanTool\"},{\"attributes\":{},\"id\":\"1127\",\"type\":\"WheelZoomTool\"}],\"root_ids\":[\"1107\"]},\"title\":\"Bokeh Application\",\"version\":\"1.0.4\"}};\n", - " var render_items = [{\"docid\":\"127cce1b-e973-4c68-8f10-226fdd1d94cc\",\"roots\":{\"1107\":\"200e8973-d458-4820-916d-c5b915f865e3\"}}];\n", - " root.Bokeh.embed.embed_items_notebook(docs_json, render_items);\n", - "\n", - " }\n", - " if (root.Bokeh !== undefined) {\n", - " embed_document(root);\n", - " } else {\n", - " var attempts = 0;\n", - " var timer = setInterval(function(root) {\n", - " if (root.Bokeh !== undefined) {\n", - " embed_document(root);\n", - " clearInterval(timer);\n", - " }\n", - " attempts++;\n", - " if (attempts > 100) {\n", - " console.log(\"Bokeh: ERROR: Unable to run BokehJS code because BokehJS library is missing\");\n", - " clearInterval(timer);\n", - " }\n", - " }, 10, root)\n", - " }\n", - "})(window);" - ], - "application/vnd.bokehjs_exec.v0+json": "" - }, - "metadata": { - "application/vnd.bokehjs_exec.v0+json": { - "id": "1107" - } - }, - "output_type": "display_data" - } - ], + "outputs": [], "source": [ "import bokeh\n", "import numpy as np\n",