Skip to content

Instantly share code, notes, and snippets.

@ahartikainen
Created December 26, 2019 00:46
Show Gist options
  • Save ahartikainen/506c23b58db06e162da9c188ceab146c to your computer and use it in GitHub Desktop.
Save ahartikainen/506c23b58db06e162da9c188ceab146c to your computer and use it in GitHub Desktop.
Display the source blob
Display the rendered blob
Raw
{
"cells": [
{
"cell_type": "code",
"execution_count": 1,
"metadata": {},
"outputs": [],
"source": [
"import bokeh.plotting as bkp\n",
"from bokeh.models import ColumnDataSource, CDSView, Filter, GroupFilter"
]
},
{
"cell_type": "code",
"execution_count": 2,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"\n",
" <div class=\"bk-root\">\n",
" <a href=\"https://bokeh.org\" target=\"_blank\" class=\"bk-logo bk-logo-small bk-logo-notebook\"></a>\n",
" <span id=\"1001\">Loading BokehJS ...</span>\n",
" </div>"
]
},
"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",
" \"<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",
" var 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",
"\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() {\n",
" console.error(\"failed to load \" + url);\n",
" }\n",
"\n",
" for (var i = 0; i < css_urls.length; i++) {\n",
" var url = css_urls[i];\n",
" const element = document.createElement(\"link\");\n",
" element.onload = on_load;\n",
" element.onerror = on_error;\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 (var i = 0; i < js_urls.length; i++) {\n",
" var url = js_urls[i];\n",
" var element = document.createElement('script');\n",
" element.onload = on_load;\n",
" element.onerror = on_error;\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",
" };var element = document.getElementById(\"1001\");\n",
" if (element == null) {\n",
" console.error(\"Bokeh: ERROR: autoload.js configured with elementid '1001' but no matching script tag was found. \")\n",
" return false;\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",
" \n",
" var js_urls = [\"https://cdn.pydata.org/bokeh/release/bokeh-1.4.0.min.js\", \"https://cdn.pydata.org/bokeh/release/bokeh-widgets-1.4.0.min.js\", \"https://cdn.pydata.org/bokeh/release/bokeh-tables-1.4.0.min.js\", \"https://cdn.pydata.org/bokeh/release/bokeh-gl-1.4.0.min.js\"];\n",
" var css_urls = [];\n",
" \n",
"\n",
" var inline_js = [\n",
" function(Bokeh) {\n",
" Bokeh.set_log_level(\"info\");\n",
" },\n",
" function(Bokeh) {\n",
" \n",
" \n",
" }\n",
" ];\n",
"\n",
" function run_inline_js() {\n",
" \n",
" if (root.Bokeh !== undefined || force === true) {\n",
" \n",
" for (var i = 0; i < inline_js.length; i++) {\n",
" inline_js[i].call(root, root.Bokeh);\n",
" }\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(\"1001\")).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.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));"
],
"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 \"<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 var 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\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() {\n console.error(\"failed to load \" + url);\n }\n\n for (var i = 0; i < css_urls.length; i++) {\n var url = css_urls[i];\n const element = document.createElement(\"link\");\n element.onload = on_load;\n element.onerror = on_error;\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 (var i = 0; i < js_urls.length; i++) {\n var url = js_urls[i];\n var element = document.createElement('script');\n element.onload = on_load;\n element.onerror = on_error;\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 };var element = document.getElementById(\"1001\");\n if (element == null) {\n console.error(\"Bokeh: ERROR: autoload.js configured with elementid '1001' but no matching script tag was found. \")\n return false;\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 \n var js_urls = [\"https://cdn.pydata.org/bokeh/release/bokeh-1.4.0.min.js\", \"https://cdn.pydata.org/bokeh/release/bokeh-widgets-1.4.0.min.js\", \"https://cdn.pydata.org/bokeh/release/bokeh-tables-1.4.0.min.js\", \"https://cdn.pydata.org/bokeh/release/bokeh-gl-1.4.0.min.js\"];\n var css_urls = [];\n \n\n var inline_js = [\n function(Bokeh) {\n Bokeh.set_log_level(\"info\");\n },\n function(Bokeh) {\n \n \n }\n ];\n\n function run_inline_js() {\n \n if (root.Bokeh !== undefined || force === true) {\n \n for (var i = 0; i < inline_js.length; i++) {\n inline_js[i].call(root, root.Bokeh);\n }\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(\"1001\")).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.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));"
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"bkp.output_notebook()"
]
},
{
"cell_type": "code",
"execution_count": 3,
"metadata": {},
"outputs": [],
"source": [
"import numpy as np\n",
"import matplotlib.pyplot as plt"
]
},
{
"cell_type": "code",
"execution_count": 22,
"metadata": {},
"outputs": [],
"source": [
"data = {\"x\" : np.random.randn(1000), \"y\" : np.log(np.random.rand(1000)), \"div\" : np.random.binomial(1, 0.05, size=1000)}"
]
},
{
"cell_type": "code",
"execution_count": 23,
"metadata": {},
"outputs": [],
"source": [
"data[\"div_group\"] = data[\"div\"].astype(str)"
]
},
{
"cell_type": "code",
"execution_count": 24,
"metadata": {},
"outputs": [],
"source": [
"data[\"size\"] = list(map({\"0\" : 5, \"1\" : 8}.get, data[\"div_group\"]))"
]
},
{
"cell_type": "code",
"execution_count": 25,
"metadata": {},
"outputs": [],
"source": [
"cds = ColumnDataSource(data)"
]
},
{
"cell_type": "code",
"execution_count": 26,
"metadata": {},
"outputs": [],
"source": [
"cds_non_div = CDSView(source=cds, filters=[GroupFilter(column_name='div_group', group=\"0\")])\n",
"cds_div = CDSView(source=cds, filters=[GroupFilter(column_name='div_group', group=\"1\")])"
]
},
{
"cell_type": "code",
"execution_count": 27,
"metadata": {},
"outputs": [],
"source": [
"p = bkp.figure(output_backend=\"webgl\", tools=\"pan,box_zoom,lasso_select,reset\")"
]
},
{
"cell_type": "code",
"execution_count": 28,
"metadata": {},
"outputs": [],
"source": [
"circ1 = p.circle(\"x\", \"y\", color=plt.matplotlib.colors.to_hex(\"royalblue\"), size=\"size\", legend_label=\"non-divergent\", source=cds, view=cds_non_div)\n",
"circ2 = p.circle(\"x\", \"y\", color=plt.matplotlib.colors.to_hex(\"orange\"), size=\"size\", legend_label=\"divergent\", source=cds, view=cds_div)"
]
},
{
"cell_type": "code",
"execution_count": 29,
"metadata": {},
"outputs": [],
"source": [
"p.legend.click_policy=\"hide\"\n",
"p.legend.location = \"top_left\""
]
},
{
"cell_type": "code",
"execution_count": 31,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"\n",
"\n",
"\n",
"\n",
"\n",
"\n",
" <div class=\"bk-root\" id=\"12e4d6dd-bcdc-46fc-a7a7-bc4f7ba07864\" data-root-id=\"1281\"></div>\n"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"application/javascript": [
"(function(root) {\n",
" function embed_document(root) {\n",
" \n",
" var docs_json = {\"e16b89ac-c1c2-4704-8a01-46567d7e4c1e\":{\"roots\":{\"references\":[{\"attributes\":{\"below\":[{\"id\":\"1290\",\"type\":\"LinearAxis\"}],\"center\":[{\"id\":\"1294\",\"type\":\"Grid\"},{\"id\":\"1299\",\"type\":\"Grid\"},{\"id\":\"1321\",\"type\":\"Legend\"}],\"left\":[{\"id\":\"1295\",\"type\":\"LinearAxis\"}],\"output_backend\":\"webgl\",\"renderers\":[{\"id\":\"1312\",\"type\":\"GlyphRenderer\"},{\"id\":\"1326\",\"type\":\"GlyphRenderer\"}],\"title\":{\"id\":\"1313\",\"type\":\"Title\"},\"toolbar\":{\"id\":\"1304\",\"type\":\"Toolbar\"},\"x_range\":{\"id\":\"1282\",\"type\":\"DataRange1d\"},\"x_scale\":{\"id\":\"1286\",\"type\":\"LinearScale\"},\"y_range\":{\"id\":\"1284\",\"type\":\"DataRange1d\"},\"y_scale\":{\"id\":\"1288\",\"type\":\"LinearScale\"}},\"id\":\"1281\",\"subtype\":\"Figure\",\"type\":\"Plot\"},{\"attributes\":{\"ticker\":{\"id\":\"1291\",\"type\":\"BasicTicker\"}},\"id\":\"1294\",\"type\":\"Grid\"},{\"attributes\":{\"fill_alpha\":{\"value\":0.5},\"fill_color\":{\"value\":\"lightgrey\"},\"level\":\"overlay\",\"line_alpha\":{\"value\":1.0},\"line_color\":{\"value\":\"black\"},\"line_dash\":[4,4],\"line_width\":{\"value\":2},\"xs_units\":\"screen\",\"ys_units\":\"screen\"},\"id\":\"1320\",\"type\":\"PolyAnnotation\"},{\"attributes\":{\"callback\":null,\"data\":{\"div\":{\"__ndarray__\":\"AAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAABAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAA==\",\"dtype\":\"int32\",\"shape\":[1000]},\"div_group\":[\"0\",\"0\",\"0\",\"1\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"1\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"1\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"1\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"1\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"1\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"1\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"1\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"1\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"1\",\"0\",\"0\",\"0\",\"0\",\"0\",\"1\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"1\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"1\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"1\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"1\",\"0\",\"0\",\"1\",\"1\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"1\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"1\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"1\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"1\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"1\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"1\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"1\",\"0\",\"0\",\"0\",\"0\",\"0\",\"1\",\"1\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"1\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"1\",\"0\",\"0\",\"0\",\"0\",\"1\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"1\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"1\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"1\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"1\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"1\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"1\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"1\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"1\",\"0\",\"0\",\"0\",\"1\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"1\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"1\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"1\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"1\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"1\",\"1\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"1\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"1\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"1\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"1\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"1\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"1\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"1\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"1\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"1\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"1\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"1\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"1\",\"0\",\"0\",\"0\",\"1\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"1\",\"0\",\"0\",\"0\",\"0\"],\"size\":[5,5,5,8,5,5,5,5,5,5,5,5,5,5,5,5,5,8,5,5,5,5,5,5,5,8,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,8,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,8,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,8,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,8,5,5,5,5,5,5,5,5,5,5,5,8,5,5,5,5,5,5,5,8,5,5,5,5,5,5,5,5,5,8,5,5,5,5,5,8,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,8,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,8,5,5,5,5,5,5,5,5,5,5,5,5,5,5,8,5,5,5,5,5,5,5,5,5,5,5,5,5,5,8,5,5,8,8,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,8,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,8,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,8,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,8,5,5,5,5,5,5,5,5,8,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,8,5,5,5,5,5,5,5,8,5,5,5,5,5,8,8,5,5,5,5,5,5,5,5,5,5,5,5,5,8,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,8,5,5,5,5,8,5,5,5,5,5,5,5,5,5,5,5,5,8,5,5,5,5,5,5,5,8,5,5,5,5,5,5,5,8,5,5,5,5,5,5,5,8,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,8,5,5,5,5,5,5,8,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,8,5,5,5,5,5,5,5,5,5,8,5,5,5,8,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,8,5,5,5,5,5,5,5,5,5,5,8,5,5,5,5,5,5,5,5,5,5,5,5,8,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,8,5,5,5,5,5,5,5,5,5,5,5,5,8,8,5,5,5,5,5,5,5,8,5,5,5,5,5,5,5,5,5,8,5,5,5,5,5,5,8,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,8,5,5,5,5,5,5,5,5,5,5,8,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,8,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,8,5,5,5,5,5,5,5,5,5,5,5,5,5,5,8,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,8,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,8,5,5,5,5,5,5,5,5,5,5,5,5,5,5,8,5,5,5,5,5,5,5,5,5,5,5,5,5,8,5,5,5,8,5,5,5,5,5,5,5,8,5,5,5,5],\"x\":{\"__ndarray__\":\"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\",\"dtype\":\"float64\",\"shape\":[1000]},\"y\":{\"__ndarray__\":\"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\",\"dtype\":\"float64\",\"shape\":[1000]}},\"selected\":{\"id\":\"1334\",\"type\":\"Selection\"},\"selection_policy\":{\"id\":\"1333\",\"type\":\"UnionRenderers\"}},\"id\":\"1276\",\"type\":\"ColumnDataSource\"},{\"attributes\":{\"data_source\":{\"id\":\"1276\",\"type\":\"ColumnDataSource\"},\"glyph\":{\"id\":\"1324\",\"type\":\"Circle\"},\"hover_glyph\":null,\"muted_glyph\":null,\"nonselection_glyph\":{\"id\":\"1325\",\"type\":\"Circle\"},\"selection_glyph\":null,\"view\":{\"id\":\"1280\",\"type\":\"CDSView\"}},\"id\":\"1326\",\"type\":\"GlyphRenderer\"},{\"attributes\":{},\"id\":\"1316\",\"type\":\"BasicTickFormatter\"},{\"attributes\":{\"fill_color\":{\"value\":\"#4169e1\"},\"line_color\":{\"value\":\"#4169e1\"},\"size\":{\"field\":\"size\",\"units\":\"screen\"},\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"1310\",\"type\":\"Circle\"},{\"attributes\":{},\"id\":\"1318\",\"type\":\"BasicTickFormatter\"},{\"attributes\":{\"formatter\":{\"id\":\"1316\",\"type\":\"BasicTickFormatter\"},\"ticker\":{\"id\":\"1296\",\"type\":\"BasicTicker\"}},\"id\":\"1295\",\"type\":\"LinearAxis\"},{\"attributes\":{\"callback\":null},\"id\":\"1282\",\"type\":\"DataRange1d\"},{\"attributes\":{\"label\":{\"value\":\"divergent\"},\"renderers\":[{\"id\":\"1326\",\"type\":\"GlyphRenderer\"}]},\"id\":\"1337\",\"type\":\"LegendItem\"},{\"attributes\":{},\"id\":\"1296\",\"type\":\"BasicTicker\"},{\"attributes\":{\"dimension\":1,\"ticker\":{\"id\":\"1296\",\"type\":\"BasicTicker\"}},\"id\":\"1299\",\"type\":\"Grid\"},{\"attributes\":{\"click_policy\":\"hide\",\"items\":[{\"id\":\"1322\",\"type\":\"LegendItem\"},{\"id\":\"1337\",\"type\":\"LegendItem\"}],\"location\":\"top_left\"},\"id\":\"1321\",\"type\":\"Legend\"},{\"attributes\":{},\"id\":\"1300\",\"type\":\"PanTool\"},{\"attributes\":{},\"id\":\"1333\",\"type\":\"UnionRenderers\"},{\"attributes\":{\"overlay\":{\"id\":\"1319\",\"type\":\"BoxAnnotation\"}},\"id\":\"1301\",\"type\":\"BoxZoomTool\"},{\"attributes\":{\"data_source\":{\"id\":\"1276\",\"type\":\"ColumnDataSource\"},\"glyph\":{\"id\":\"1310\",\"type\":\"Circle\"},\"hover_glyph\":null,\"muted_glyph\":null,\"nonselection_glyph\":{\"id\":\"1311\",\"type\":\"Circle\"},\"selection_glyph\":null,\"view\":{\"id\":\"1278\",\"type\":\"CDSView\"}},\"id\":\"1312\",\"type\":\"GlyphRenderer\"},{\"attributes\":{\"callback\":null,\"overlay\":{\"id\":\"1320\",\"type\":\"PolyAnnotation\"}},\"id\":\"1302\",\"type\":\"LassoSelectTool\"},{\"attributes\":{\"callback\":null},\"id\":\"1284\",\"type\":\"DataRange1d\"},{\"attributes\":{},\"id\":\"1291\",\"type\":\"BasicTicker\"},{\"attributes\":{\"column_name\":\"div_group\",\"group\":\"1\"},\"id\":\"1279\",\"type\":\"GroupFilter\"},{\"attributes\":{},\"id\":\"1303\",\"type\":\"ResetTool\"},{\"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},\"render_mode\":\"css\",\"right_units\":\"screen\",\"top_units\":\"screen\"},\"id\":\"1319\",\"type\":\"BoxAnnotation\"},{\"attributes\":{\"column_name\":\"div_group\",\"group\":\"0\"},\"id\":\"1277\",\"type\":\"GroupFilter\"},{\"attributes\":{\"fill_alpha\":{\"value\":0.1},\"fill_color\":{\"value\":\"#1f77b4\"},\"line_alpha\":{\"value\":0.1},\"line_color\":{\"value\":\"#1f77b4\"},\"size\":{\"field\":\"size\",\"units\":\"screen\"},\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"1311\",\"type\":\"Circle\"},{\"attributes\":{\"active_drag\":\"auto\",\"active_inspect\":\"auto\",\"active_multi\":null,\"active_scroll\":\"auto\",\"active_tap\":\"auto\",\"tools\":[{\"id\":\"1300\",\"type\":\"PanTool\"},{\"id\":\"1301\",\"type\":\"BoxZoomTool\"},{\"id\":\"1302\",\"type\":\"LassoSelectTool\"},{\"id\":\"1303\",\"type\":\"ResetTool\"}]},\"id\":\"1304\",\"type\":\"Toolbar\"},{\"attributes\":{\"filters\":[{\"id\":\"1277\",\"type\":\"GroupFilter\"}],\"source\":{\"id\":\"1276\",\"type\":\"ColumnDataSource\"}},\"id\":\"1278\",\"type\":\"CDSView\"},{\"attributes\":{\"filters\":[{\"id\":\"1279\",\"type\":\"GroupFilter\"}],\"source\":{\"id\":\"1276\",\"type\":\"ColumnDataSource\"}},\"id\":\"1280\",\"type\":\"CDSView\"},{\"attributes\":{},\"id\":\"1286\",\"type\":\"LinearScale\"},{\"attributes\":{},\"id\":\"1288\",\"type\":\"LinearScale\"},{\"attributes\":{\"label\":{\"value\":\"non-divergent\"},\"renderers\":[{\"id\":\"1312\",\"type\":\"GlyphRenderer\"}]},\"id\":\"1322\",\"type\":\"LegendItem\"},{\"attributes\":{\"fill_color\":{\"value\":\"#ffa500\"},\"line_color\":{\"value\":\"#ffa500\"},\"size\":{\"field\":\"size\",\"units\":\"screen\"},\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"1324\",\"type\":\"Circle\"},{\"attributes\":{},\"id\":\"1334\",\"type\":\"Selection\"},{\"attributes\":{\"formatter\":{\"id\":\"1318\",\"type\":\"BasicTickFormatter\"},\"ticker\":{\"id\":\"1291\",\"type\":\"BasicTicker\"}},\"id\":\"1290\",\"type\":\"LinearAxis\"},{\"attributes\":{\"fill_alpha\":{\"value\":0.1},\"fill_color\":{\"value\":\"#1f77b4\"},\"line_alpha\":{\"value\":0.1},\"line_color\":{\"value\":\"#1f77b4\"},\"size\":{\"field\":\"size\",\"units\":\"screen\"},\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"1325\",\"type\":\"Circle\"},{\"attributes\":{\"text\":\"\"},\"id\":\"1313\",\"type\":\"Title\"}],\"root_ids\":[\"1281\"]},\"title\":\"Bokeh Application\",\"version\":\"1.4.0\"}};\n",
" var render_items = [{\"docid\":\"e16b89ac-c1c2-4704-8a01-46567d7e4c1e\",\"roots\":{\"1281\":\"12e4d6dd-bcdc-46fc-a7a7-bc4f7ba07864\"}}];\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",
" clearInterval(timer);\n",
" embed_document(root);\n",
" } else {\n",
" attempts++;\n",
" if (attempts > 100) {\n",
" clearInterval(timer);\n",
" console.log(\"Bokeh: ERROR: Unable to run BokehJS code because BokehJS library is missing\");\n",
" }\n",
" }\n",
" }, 10, root)\n",
" }\n",
"})(window);"
],
"application/vnd.bokehjs_exec.v0+json": ""
},
"metadata": {
"application/vnd.bokehjs_exec.v0+json": {
"id": "1281"
}
},
"output_type": "display_data"
}
],
"source": [
"bkp.show(p)"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": []
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": []
}
],
"metadata": {
"kernelspec": {
"display_name": "Python 3",
"language": "python",
"name": "python3"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 3
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.7.3"
}
},
"nbformat": 4,
"nbformat_minor": 4
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment