{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Interactive Data Visualization with Bokeh\n", "\n", "Bokeh is an interactive data visualization library for Python that targets web browsers for presentation. It can create versatile, data-driven graphics, and connect Python data-science stack to rich and interactive visualizations.\n", "\n", "# Basic plotting with Bokeh\n", "\n", "Here we'll demonstrate formats we can use with Bokeh, generate some basic plots, and begin customizations for selecting data. \n", "\n", "## Here we'll demonstrate\n", "- Basic plotting\n", "- Layouts, interactions, and annotations \n", "- Statistical charting\n", "- Interactive data applications in the browser \n", "- Case Study: A Gapminder explorer\n", "\n", "## Plotting with glyphs\n", "\n", "### Glyphs are:\n", "- Visual shapes...\n", " - circles, squares, triangles \n", " - rectangles, lines, wedges \n", "- ...that have properties attached to data \n", " - coordinates (x,y) \n", " - size, color, transparency\n", "\n", "## Typical usage" ] }, { "cell_type": "code", "execution_count": 1, "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", " \"\\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(\"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) { 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(\"1001\");\n", " if (element == null) {\n", " console.log(\"Bokeh: ERROR: autoload.js configured with elementid '1001' 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.2.min.js\", \"https://cdn.pydata.org/bokeh/release/bokeh-widgets-1.0.2.min.js\", \"https://cdn.pydata.org/bokeh/release/bokeh-tables-1.0.2.min.js\", \"https://cdn.pydata.org/bokeh/release/bokeh-gl-1.0.2.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.2.min.css\");\n", " Bokeh.embed.inject_css(\"https://cdn.pydata.org/bokeh/release/bokeh-1.0.2.min.css\");\n", " console.log(\"Bokeh: injecting CSS: https://cdn.pydata.org/bokeh/release/bokeh-widgets-1.0.2.min.css\");\n", " Bokeh.embed.inject_css(\"https://cdn.pydata.org/bokeh/release/bokeh-widgets-1.0.2.min.css\");\n", " console.log(\"Bokeh: injecting CSS: https://cdn.pydata.org/bokeh/release/bokeh-tables-1.0.2.min.css\");\n", " Bokeh.embed.inject_css(\"https://cdn.pydata.org/bokeh/release/bokeh-tables-1.0.2.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(\"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.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 \"\\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(\"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) { 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(\"1001\");\n if (element == null) {\n console.log(\"Bokeh: ERROR: autoload.js configured with elementid '1001' 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.2.min.js\", \"https://cdn.pydata.org/bokeh/release/bokeh-widgets-1.0.2.min.js\", \"https://cdn.pydata.org/bokeh/release/bokeh-tables-1.0.2.min.js\", \"https://cdn.pydata.org/bokeh/release/bokeh-gl-1.0.2.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.2.min.css\");\n Bokeh.embed.inject_css(\"https://cdn.pydata.org/bokeh/release/bokeh-1.0.2.min.css\");\n console.log(\"Bokeh: injecting CSS: https://cdn.pydata.org/bokeh/release/bokeh-widgets-1.0.2.min.css\");\n Bokeh.embed.inject_css(\"https://cdn.pydata.org/bokeh/release/bokeh-widgets-1.0.2.min.css\");\n console.log(\"Bokeh: injecting CSS: https://cdn.pydata.org/bokeh/release/bokeh-tables-1.0.2.min.css\");\n Bokeh.embed.inject_css(\"https://cdn.pydata.org/bokeh/release/bokeh-tables-1.0.2.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(\"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.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 = {\"25c58445-28e3-4aec-97ec-1f6a499063d7\":{\"roots\":{\"references\":[{\"attributes\":{\"below\":[{\"id\":\"1011\",\"type\":\"LinearAxis\"}],\"left\":[{\"id\":\"1016\",\"type\":\"LinearAxis\"}],\"plot_height\":400,\"plot_width\":400,\"renderers\":[{\"id\":\"1011\",\"type\":\"LinearAxis\"},{\"id\":\"1015\",\"type\":\"Grid\"},{\"id\":\"1016\",\"type\":\"LinearAxis\"},{\"id\":\"1020\",\"type\":\"Grid\"},{\"id\":\"1024\",\"type\":\"BoxAnnotation\"},{\"id\":\"1031\",\"type\":\"GlyphRenderer\"},{\"id\":\"1036\",\"type\":\"GlyphRenderer\"}],\"title\":{\"id\":\"1038\",\"type\":\"Title\"},\"toolbar\":{\"id\":\"1023\",\"type\":\"Toolbar\"},\"x_range\":{\"id\":\"1003\",\"type\":\"DataRange1d\"},\"x_scale\":{\"id\":\"1007\",\"type\":\"LinearScale\"},\"y_range\":{\"id\":\"1005\",\"type\":\"DataRange1d\"},\"y_scale\":{\"id\":\"1009\",\"type\":\"LinearScale\"}},\"id\":\"1002\",\"subtype\":\"Figure\",\"type\":\"Plot\"},{\"attributes\":{},\"id\":\"1046\",\"type\":\"Selection\"},{\"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\":\"1030\",\"type\":\"Circle\"},{\"attributes\":{\"callback\":null},\"id\":\"1003\",\"type\":\"DataRange1d\"},{\"attributes\":{\"data_source\":{\"id\":\"1028\",\"type\":\"ColumnDataSource\"},\"glyph\":{\"id\":\"1029\",\"type\":\"Circle\"},\"hover_glyph\":null,\"muted_glyph\":null,\"nonselection_glyph\":{\"id\":\"1030\",\"type\":\"Circle\"},\"selection_glyph\":null,\"view\":{\"id\":\"1032\",\"type\":\"CDSView\"}},\"id\":\"1031\",\"type\":\"GlyphRenderer\"},{\"attributes\":{\"callback\":null,\"data\":{\"size\":[10,20,30,40,50],\"x\":[1,2,3,4,5],\"y\":[8,6,5,2,3]},\"selected\":{\"id\":\"1046\",\"type\":\"Selection\"},\"selection_policy\":{\"id\":\"1045\",\"type\":\"UnionRenderers\"}},\"id\":\"1028\",\"type\":\"ColumnDataSource\"},{\"attributes\":{\"source\":{\"id\":\"1028\",\"type\":\"ColumnDataSource\"}},\"id\":\"1032\",\"type\":\"CDSView\"},{\"attributes\":{\"callback\":null},\"id\":\"1005\",\"type\":\"DataRange1d\"},{\"attributes\":{\"plot\":null,\"text\":\"\"},\"id\":\"1038\",\"type\":\"Title\"},{\"attributes\":{},\"id\":\"1007\",\"type\":\"LinearScale\"},{\"attributes\":{\"line_color\":\"#1f77b4\",\"line_width\":2,\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"1034\",\"type\":\"Line\"},{\"attributes\":{\"callback\":null,\"data\":{\"x\":[1,2,3,4,5],\"y\":[8,6,5,2,3]},\"selected\":{\"id\":\"1048\",\"type\":\"Selection\"},\"selection_policy\":{\"id\":\"1047\",\"type\":\"UnionRenderers\"}},\"id\":\"1033\",\"type\":\"ColumnDataSource\"},{\"attributes\":{},\"id\":\"1009\",\"type\":\"LinearScale\"},{\"attributes\":{\"line_alpha\":0.1,\"line_color\":\"#1f77b4\",\"line_width\":2,\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"1035\",\"type\":\"Line\"},{\"attributes\":{\"formatter\":{\"id\":\"1042\",\"type\":\"BasicTickFormatter\"},\"plot\":{\"id\":\"1002\",\"subtype\":\"Figure\",\"type\":\"Plot\"},\"ticker\":{\"id\":\"1012\",\"type\":\"BasicTicker\"}},\"id\":\"1011\",\"type\":\"LinearAxis\"},{\"attributes\":{\"data_source\":{\"id\":\"1033\",\"type\":\"ColumnDataSource\"},\"glyph\":{\"id\":\"1034\",\"type\":\"Line\"},\"hover_glyph\":null,\"muted_glyph\":null,\"nonselection_glyph\":{\"id\":\"1035\",\"type\":\"Line\"},\"selection_glyph\":null,\"view\":{\"id\":\"1037\",\"type\":\"CDSView\"}},\"id\":\"1036\",\"type\":\"GlyphRenderer\"},{\"attributes\":{},\"id\":\"1012\",\"type\":\"BasicTicker\"},{\"attributes\":{\"source\":{\"id\":\"1033\",\"type\":\"ColumnDataSource\"}},\"id\":\"1037\",\"type\":\"CDSView\"},{\"attributes\":{\"plot\":{\"id\":\"1002\",\"subtype\":\"Figure\",\"type\":\"Plot\"},\"ticker\":{\"id\":\"1012\",\"type\":\"BasicTicker\"}},\"id\":\"1015\",\"type\":\"Grid\"},{\"attributes\":{},\"id\":\"1040\",\"type\":\"BasicTickFormatter\"},{\"attributes\":{\"formatter\":{\"id\":\"1040\",\"type\":\"BasicTickFormatter\"},\"plot\":{\"id\":\"1002\",\"subtype\":\"Figure\",\"type\":\"Plot\"},\"ticker\":{\"id\":\"1017\",\"type\":\"BasicTicker\"}},\"id\":\"1016\",\"type\":\"LinearAxis\"},{\"attributes\":{},\"id\":\"1042\",\"type\":\"BasicTickFormatter\"},{\"attributes\":{},\"id\":\"1017\",\"type\":\"BasicTicker\"},{\"attributes\":{},\"id\":\"1045\",\"type\":\"UnionRenderers\"},{\"attributes\":{\"dimension\":1,\"plot\":{\"id\":\"1002\",\"subtype\":\"Figure\",\"type\":\"Plot\"},\"ticker\":{\"id\":\"1017\",\"type\":\"BasicTicker\"}},\"id\":\"1020\",\"type\":\"Grid\"},{\"attributes\":{\"overlay\":{\"id\":\"1024\",\"type\":\"BoxAnnotation\"}},\"id\":\"1022\",\"type\":\"BoxZoomTool\"},{\"attributes\":{},\"id\":\"1047\",\"type\":\"UnionRenderers\"},{\"attributes\":{},\"id\":\"1021\",\"type\":\"PanTool\"},{\"attributes\":{},\"id\":\"1048\",\"type\":\"Selection\"},{\"attributes\":{\"fill_color\":{\"value\":\"red\"},\"line_color\":{\"value\":\"#1f77b4\"},\"size\":{\"field\":\"size\",\"units\":\"screen\"},\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"1029\",\"type\":\"Circle\"},{\"attributes\":{\"active_drag\":\"auto\",\"active_inspect\":\"auto\",\"active_multi\":null,\"active_scroll\":\"auto\",\"active_tap\":\"auto\",\"tools\":[{\"id\":\"1021\",\"type\":\"PanTool\"},{\"id\":\"1022\",\"type\":\"BoxZoomTool\"}]},\"id\":\"1023\",\"type\":\"Toolbar\"},{\"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\":\"1024\",\"type\":\"BoxAnnotation\"}],\"root_ids\":[\"1002\"]},\"title\":\"Bokeh Application\",\"version\":\"1.0.2\"}};\n", " var render_items = [{\"docid\":\"25c58445-28e3-4aec-97ec-1f6a499063d7\",\"roots\":{\"1002\":\"cb7da4a9-4b4e-452b-a7bb-63ae38a6adc1\"}}];\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": "1002" } }, "output_type": "display_data" } ], "source": [ "from bokeh.io import output_file, show, output_notebook, reset_output\n", "from bokeh.plotting import figure \n", "reset_output()\n", "output_notebook()\n", "\n", "plot = figure(plot_width=400, plot_height = 400, tools='pan,box_zoom') # can also do plot_height vs. width\n", "x = [1,2,3,4,5]\n", "y = [8,6,5,2,3]\n", "sizes = [10,20,30,40,50]\n", "\n", "#plot both lines and circles together\n", "plot.circle(x, y, size=sizes, fill_color = 'red') \n", "plot.line(x, y, line_width=2) \n", "\n", "show(plot)\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "- We could also output the file separately with output_file\n", "\n", "\n", "### Glyph properties\n", "- Lists, arrays, or sequences of values \n", "- Along with array-like data structures, properties can also be single fixed values\n", "\n", "\n", "### Marker reference\n", "- asterisk() \n", "- circle() \n", "- circle_cross() \n", "- circle_x() \n", "- cross() \n", "- diamond() \n", "- diamond_cross() \n", "- inverted_triangle() \n", "- square() \n", "- square_cross() \n", "- square_x() \n", "- triangle() \n", "- x()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Simple scatter plot\n", "\n", "In this example, we'll make a scatter plot of female literacy vs fertility using data from the [European Environmental Agency](http://www.eea.europa.eu/data-and-maps/figures/correlation-between-fertility-and-female-education).\n", "\n", "This dataset highlights that countries with low female literacy have high birthrates. \n", "\n", "The x-axis data will be `fertility` and the y-axis data will be `female_literacy`. \n", "\n", "We will plot `female_literacy` vs `fertility` using the circle glyph.\n", "\n", "Note that the right side options allow us to Pan, Box Zoom, and Wheel Zoom. \n" ] }, { "cell_type": "code", "execution_count": 2, "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", " \"\\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(\"1154\");\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(\"1154\");\n", " if (element == null) {\n", " console.log(\"Bokeh: ERROR: autoload.js configured with elementid '1154' 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.2.min.js\", \"https://cdn.pydata.org/bokeh/release/bokeh-widgets-1.0.2.min.js\", \"https://cdn.pydata.org/bokeh/release/bokeh-tables-1.0.2.min.js\", \"https://cdn.pydata.org/bokeh/release/bokeh-gl-1.0.2.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.2.min.css\");\n", " Bokeh.embed.inject_css(\"https://cdn.pydata.org/bokeh/release/bokeh-1.0.2.min.css\");\n", " console.log(\"Bokeh: injecting CSS: https://cdn.pydata.org/bokeh/release/bokeh-widgets-1.0.2.min.css\");\n", " Bokeh.embed.inject_css(\"https://cdn.pydata.org/bokeh/release/bokeh-widgets-1.0.2.min.css\");\n", " console.log(\"Bokeh: injecting CSS: https://cdn.pydata.org/bokeh/release/bokeh-tables-1.0.2.min.css\");\n", " Bokeh.embed.inject_css(\"https://cdn.pydata.org/bokeh/release/bokeh-tables-1.0.2.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(\"1154\")).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 \"\\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(\"1154\");\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(\"1154\");\n if (element == null) {\n console.log(\"Bokeh: ERROR: autoload.js configured with elementid '1154' 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.2.min.js\", \"https://cdn.pydata.org/bokeh/release/bokeh-widgets-1.0.2.min.js\", \"https://cdn.pydata.org/bokeh/release/bokeh-tables-1.0.2.min.js\", \"https://cdn.pydata.org/bokeh/release/bokeh-gl-1.0.2.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.2.min.css\");\n Bokeh.embed.inject_css(\"https://cdn.pydata.org/bokeh/release/bokeh-1.0.2.min.css\");\n console.log(\"Bokeh: injecting CSS: https://cdn.pydata.org/bokeh/release/bokeh-widgets-1.0.2.min.css\");\n Bokeh.embed.inject_css(\"https://cdn.pydata.org/bokeh/release/bokeh-widgets-1.0.2.min.css\");\n console.log(\"Bokeh: injecting CSS: https://cdn.pydata.org/bokeh/release/bokeh-tables-1.0.2.min.css\");\n Bokeh.embed.inject_css(\"https://cdn.pydata.org/bokeh/release/bokeh-tables-1.0.2.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(\"1154\")).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 = {\"cf095a04-abc6-4dcd-bbd7-255ab99c9af7\":{\"roots\":{\"references\":[{\"attributes\":{\"below\":[{\"id\":\"1124\",\"type\":\"LinearAxis\"}],\"left\":[{\"id\":\"1129\",\"type\":\"LinearAxis\"}],\"renderers\":[{\"id\":\"1124\",\"type\":\"LinearAxis\"},{\"id\":\"1128\",\"type\":\"Grid\"},{\"id\":\"1129\",\"type\":\"LinearAxis\"},{\"id\":\"1133\",\"type\":\"Grid\"},{\"id\":\"1142\",\"type\":\"BoxAnnotation\"},{\"id\":\"1152\",\"type\":\"GlyphRenderer\"}],\"title\":{\"id\":\"1166\",\"type\":\"Title\"},\"toolbar\":{\"id\":\"1140\",\"type\":\"Toolbar\"},\"x_range\":{\"id\":\"1116\",\"type\":\"DataRange1d\"},\"x_scale\":{\"id\":\"1120\",\"type\":\"LinearScale\"},\"y_range\":{\"id\":\"1118\",\"type\":\"DataRange1d\"},\"y_scale\":{\"id\":\"1122\",\"type\":\"LinearScale\"}},\"id\":\"1115\",\"subtype\":\"Figure\",\"type\":\"Plot\"},{\"attributes\":{},\"id\":\"1138\",\"type\":\"ResetTool\"},{\"attributes\":{},\"id\":\"1139\",\"type\":\"HelpTool\"},{\"attributes\":{\"active_drag\":\"auto\",\"active_inspect\":\"auto\",\"active_multi\":null,\"active_scroll\":\"auto\",\"active_tap\":\"auto\",\"tools\":[{\"id\":\"1134\",\"type\":\"PanTool\"},{\"id\":\"1135\",\"type\":\"WheelZoomTool\"},{\"id\":\"1136\",\"type\":\"BoxZoomTool\"},{\"id\":\"1137\",\"type\":\"SaveTool\"},{\"id\":\"1138\",\"type\":\"ResetTool\"},{\"id\":\"1139\",\"type\":\"HelpTool\"}]},\"id\":\"1140\",\"type\":\"Toolbar\"},{\"attributes\":{\"callback\":null},\"id\":\"1116\",\"type\":\"DataRange1d\"},{\"attributes\":{\"callback\":null,\"data\":{\"x\":{\"__ndarray__\":\"5/up8dJN/D/b+X5qvHQFQARWDi2ynQBAdZMYBFYOAUAIrBxaZDv9P2Dl0CLb+Q5A6Pup8dJNAkD91HjpJrEUQH0/NV66SfY//tR46SYx9D9zaJHtfD8BQGiR7Xw/NQhA3SQGgZVDAEDJdr6fGi/1P7tJDAIrhwZA8tJNYhDYFEDNzMzMzMwAQOXQItv5fvw/9P3UeOkm/T9vEoPAyqEXQH9qvHSTGP4/bxKDwMqh/T89CtejcD32P3Noke18PwJACtejcD0KBEAv3SQGgZXzPy2yne+nxvU/sXJoke189z8IrBxaZDsDQBSuR+F6FBZACKwcWmQ7EEBjEFg5tMgBQFYOLbKdbxNAEoPAyqFF9D8j2/l+arwCQN0kBoGVQ/k/arx0kxgEGUB56SYxCKwCQOOlm8QgsA9AhetRuB4FGkA9CtejcD0EQC/dJAaBlQZAlkOLbOf7A0CWQ4ts5/sBQKrx0k1iEARAUrgehetRCEBEi2zn+6n9P+F6FK5H4RBAZmZmZmZmFECR7Xw/Nd4TQDMzMzMzM/U/c5MYBFYOEkD8qfHSTWIJQBFYObTIdgJAexSuR+F6EkBEi2zn+ykSQEA1XrpJjBZAN4lBYOXQ/j/ByqFFtvP7PycxCKwcWgJAd76fGi9dF0BSuB6F69EVQC2yne+nRhxArBxaZDvfBkDfT42XbhIQQLTIdr6fGgRAH4XrUbieFUCmm8QgsPIWQIGVQ4ts5wpAj8L1KFyPE0ApXI/C9Sj2PxSuR+F6FPg/bef7qfFSGEAlBoGVQ4v8Pz81XrpJDPY/MzMzMzMz9z/b+X5qvHT9P+xRuB6F6/U/TDeJQWDlBEA3iUFg5VAVQFK4HoXrURVALIcW2c73CkDl0CLb+X70P1YOLbKd7/0/001iEFg5AUBPjZduEoMVQM3MzMzMzBFAXI/C9Shc9z9g5dAi2/n2P5huEoPAyvk/hetRuB6FCUBqvHSTGAQGQM3MzMzMzApACtejcD0KEEBEi2zn+6kQQIlBYOXQIgVAN4lBYOXQB0BSuB6F61ELQFyPwvUoXAJA9P3UeOkmCEARWDm0yHYFQClcj8L1qBRAL90kBoGV/T/HSzeJQWD9P76fGi/dJARAcT0K16NwA0DqJjEIrBwSQGiR7Xw/NfQ/KVyPwvUo/j9KDAIrhxb/P/yp8dJNYv4/30+Nl24S9z9zaJHtfD//P30/NV66yRJAHVpkO99P+T8zMzMzMzMAQNv5fmq8dP0/JQaBlUMLFEAxCKwcWmTzP9R46SYxCPg/VOOlm8QgBECsHFpkO9/1P4PAyqFFtgBAWmQ730+NEUBEi2zn+6n9PyyHFtnO9/s/bef7qfHSB0Ce76fGSzcBQEw3iUFg5QJAAiuHFtnO/z83iUFg5dD2P1K4HoXrUQpA6SYxCKwcCkBg5dAi2/n2P30/NV66SfY/+n5qvHSTBkDFSzeJQeATQIlBYOXQohZA7FG4HoXrCUBKDAIrhxb7PyYxCKwcWvo/4XoUrkfhAkB46SYxCKz8P5qZmZmZmQtAqMZLN4lB+D93vp8aL90BQBsv3SQGgQRAbxKDwMohFUAUrkfhehQPQLbz/dR46e4/lkOLbOf7AkDo+6nx0k0FQGq8dJMYBPQ/0SLb+X5qAEAshxbZzvcKQFg5tMh2vgBAAAAAAAAAAECq8dJNYhAPQDeJQWDl0A5AWDm0yHa+DUCDwMqhRbb7PwaBlUOLbA9A\",\"dtype\":\"float64\",\"shape\":[162]},\"y\":{\"__ndarray__\":\"AAAAAACgVkBmZmZmZmZJQAAAAAAAwFhAMzMzMzMzVkDNzMzMzIxWQAAAAAAAAERAZmZmZmbmSEBmZmZmZmZIQJqZmZmZ2VhAAAAAAADAWEAAAAAAAOBWQJqZmZmZeVdAzczMzMyMVkAAAAAAAMBYQGZmZmZm5kxAzczMzMzMNkAzMzMzM1NUQM3MzMzMTFNAAAAAAADgVkDNzMzMzAxMQAAAAAAAwFhAAAAAAADAWEAAAAAAAKBYQM3MzMzMTFZAZmZmZmYGVkBmZmZmZiZYQGZmZmZm5lhAmpmZmZk5WECamZmZmVlXQDMzMzMzk1BAzczMzMzMTUDNzMzMzGxYQDMzMzMzs1RAMzMzMzPTWEAzMzMzM/NPQAAAAAAAwFhAMzMzMzOzUEDNzMzMzAxGQM3MzMzMTFFAMzMzMzMzKUBmZmZmZiZVQDMzMzMzs0ZAmpmZmZm5V0CamZmZmblYQDMzMzMzc1ZAzczMzMwMVEAAAAAAAABZQGZmZmZmpk1AZmZmZmZmRUDNzMzMzAxEQJqZmZmZOVhAZmZmZmYmRkDNzMzMzExTQGZmZmZmRlZAMzMzMzNTUEAzMzMzM/NQQAAAAAAAgExAzczMzMysWEAAAAAAAMBYQAAAAAAA4FhAmpmZmZmZNUAzMzMzM3NQQDMzMzMzMy5AmpmZmZm5UUDNzMzMzCxRQM3MzMzMbFRAMzMzMzMzMkAAAAAAAIBOQDMzMzMzM1ZAAAAAAACAQECamZmZmflXQDMzMzMz81hAZmZmZmbmNUAAAAAAAMBYQJqZmZmZOVdAAAAAAADAWEAAAAAAAMBRQJqZmZmZuVhAMzMzMzMTVkBmZmZmZmY6QGZmZmZmhlBAAAAAAACAVUDNzMzMzOxYQAAAAAAAwFhAzczMzMzMWECamZmZmRk8QDMzMzMz801AAAAAAADAWECamZmZmXlYQM3MzMzMDFhAAAAAAADgVECamZmZmflXQAAAAAAA4FhAzczMzMzMS0CamZmZmdlKQDMzMzMzU1RAAAAAAABgV0CamZmZmZlPQJqZmZmZWVRAmpmZmZk5VkCamZmZmXlTQGZmZmZm5jxAAAAAAADAWEAAAAAAAABZQGZmZmZmxlhAMzMzMzPTWEAAAAAAAEBLQGZmZmZm5lZAAAAAAAAAWUDNzMzMzAxYQAAAAAAA4FZAAAAAAACAWEAAAAAAAMBYQM3MzMzMjERAzczMzMzsWEAAAAAAAMBYQAAAAAAAgFVAAAAAAACASkCamZmZmflXQDMzMzMzc1hAMzMzMzMzV0DNzMzMzOxYQAAAAAAAoFhAAAAAAADASEDNzMzMzKxYQJqZmZmZ2VhAmpmZmZk5VEBmZmZmZkZXQDMzMzMzs1ZAMzMzMzNzWEAzMzMzM/NYQM3MzMzM7FVAZmZmZmbGV0CamZmZmdlXQM3MzMzM7FhAAAAAAADgVEBmZmZmZiZBQAAAAAAAQEJAzczMzMzMVEAzMzMzM/NYQM3MzMzMjFhAmpmZmZmZVkAzMzMzMzNVQGZmZmZmZlVAzczMzMwsWECamZmZmVlWQJqZmZmZWUNAZmZmZmZGVkAzMzMzM/NQQM3MzMzMrFZAmpmZmZkZVkAzMzMzM9NTQAAAAAAAYFdAMzMzMzNTV0AAAAAAACBYQAAAAAAAwFhAmpmZmZmZWEAAAAAAAOBTQAAAAAAAoFhAMzMzMzPTVEAAAAAAAIBYQGZmZmZmxlhA\",\"dtype\":\"float64\",\"shape\":[162]}},\"selected\":{\"id\":\"1174\",\"type\":\"Selection\"},\"selection_policy\":{\"id\":\"1173\",\"type\":\"UnionRenderers\"}},\"id\":\"1149\",\"type\":\"ColumnDataSource\"},{\"attributes\":{\"callback\":null},\"id\":\"1118\",\"type\":\"DataRange1d\"},{\"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\":\"1142\",\"type\":\"BoxAnnotation\"},{\"attributes\":{},\"id\":\"1120\",\"type\":\"LinearScale\"},{\"attributes\":{},\"id\":\"1122\",\"type\":\"LinearScale\"},{\"attributes\":{\"source\":{\"id\":\"1149\",\"type\":\"ColumnDataSource\"}},\"id\":\"1153\",\"type\":\"CDSView\"},{\"attributes\":{},\"id\":\"1168\",\"type\":\"BasicTickFormatter\"},{\"attributes\":{\"axis_label\":\"fertility (children per woman)\",\"formatter\":{\"id\":\"1170\",\"type\":\"BasicTickFormatter\"},\"plot\":{\"id\":\"1115\",\"subtype\":\"Figure\",\"type\":\"Plot\"},\"ticker\":{\"id\":\"1125\",\"type\":\"BasicTicker\"}},\"id\":\"1124\",\"type\":\"LinearAxis\"},{\"attributes\":{},\"id\":\"1170\",\"type\":\"BasicTickFormatter\"},{\"attributes\":{\"plot\":null,\"text\":\"\"},\"id\":\"1166\",\"type\":\"Title\"},{\"attributes\":{},\"id\":\"1125\",\"type\":\"BasicTicker\"},{\"attributes\":{},\"id\":\"1173\",\"type\":\"UnionRenderers\"},{\"attributes\":{\"plot\":{\"id\":\"1115\",\"subtype\":\"Figure\",\"type\":\"Plot\"},\"ticker\":{\"id\":\"1125\",\"type\":\"BasicTicker\"}},\"id\":\"1128\",\"type\":\"Grid\"},{\"attributes\":{\"axis_label\":\"female_literacy (% population)\",\"formatter\":{\"id\":\"1168\",\"type\":\"BasicTickFormatter\"},\"plot\":{\"id\":\"1115\",\"subtype\":\"Figure\",\"type\":\"Plot\"},\"ticker\":{\"id\":\"1130\",\"type\":\"BasicTicker\"}},\"id\":\"1129\",\"type\":\"LinearAxis\"},{\"attributes\":{},\"id\":\"1174\",\"type\":\"Selection\"},{\"attributes\":{},\"id\":\"1130\",\"type\":\"BasicTicker\"},{\"attributes\":{\"dimension\":1,\"plot\":{\"id\":\"1115\",\"subtype\":\"Figure\",\"type\":\"Plot\"},\"ticker\":{\"id\":\"1130\",\"type\":\"BasicTicker\"}},\"id\":\"1133\",\"type\":\"Grid\"},{\"attributes\":{\"data_source\":{\"id\":\"1149\",\"type\":\"ColumnDataSource\"},\"glyph\":{\"id\":\"1150\",\"type\":\"Circle\"},\"hover_glyph\":null,\"muted_glyph\":null,\"nonselection_glyph\":{\"id\":\"1151\",\"type\":\"Circle\"},\"selection_glyph\":null,\"view\":{\"id\":\"1153\",\"type\":\"CDSView\"}},\"id\":\"1152\",\"type\":\"GlyphRenderer\"},{\"attributes\":{\"fill_alpha\":{\"value\":0.1},\"fill_color\":{\"value\":\"#1f77b4\"},\"line_alpha\":{\"value\":0.1},\"line_color\":{\"value\":\"#1f77b4\"},\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"1151\",\"type\":\"Circle\"},{\"attributes\":{\"fill_color\":{\"value\":\"#1f77b4\"},\"line_color\":{\"value\":\"#1f77b4\"},\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"1150\",\"type\":\"Circle\"},{\"attributes\":{},\"id\":\"1134\",\"type\":\"PanTool\"},{\"attributes\":{},\"id\":\"1135\",\"type\":\"WheelZoomTool\"},{\"attributes\":{\"overlay\":{\"id\":\"1142\",\"type\":\"BoxAnnotation\"}},\"id\":\"1136\",\"type\":\"BoxZoomTool\"},{\"attributes\":{},\"id\":\"1137\",\"type\":\"SaveTool\"}],\"root_ids\":[\"1115\"]},\"title\":\"Bokeh Application\",\"version\":\"1.0.2\"}};\n", " var render_items = [{\"docid\":\"cf095a04-abc6-4dcd-bbd7-255ab99c9af7\",\"roots\":{\"1115\":\"13fdc705-4a3e-489c-91df-e94abf00ccd8\"}}];\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": "1115" } }, "output_type": "display_data" } ], "source": [ "#import the data\n", "import pandas as pd\n", "fertility = pd.read_csv('data/fertility.csv').fertility\n", "female_literacy = pd.read_csv('data/female_literacy.csv').female_literacy\n", "\n", "# Import figure from bokeh.plotting\n", "from bokeh.plotting import figure\n", "\n", "# Import output_file and show from bokeh.io\n", "from bokeh.io import show, output_notebook, reset_output #output_file\n", "\n", "# Create the figure: p\n", "p = figure(x_axis_label='fertility (children per woman)', y_axis_label='female_literacy (% population)')\n", "\n", "# Add a circle glyph to the figure p\n", "p.circle(fertility, female_literacy)\n", "\n", "# Call the output_file() function and specify the name of the file\n", "#output_file('fert_lit.html')\n", "\n", "# Change from file to notebook inline:\n", "output_notebook()\n", "\n", "# Display the plot\n", "show(p)\n", "\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## A scatter plot with different shapes and colors\n", "\n", "By calling multiple glyph functions on the same figure object, we can overlay multiple data sets in the same figure. We can customize the shape, color, size, and transparency (alpha) of the markers. \n", "\n", "We make the same plot as before of female literacy vs fertility for two different regions, Africa and Latin America. \n", "\n" ] }, { "cell_type": "code", "execution_count": 3, "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", " \"\\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(\"1273\");\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(\"1273\");\n", " if (element == null) {\n", " console.log(\"Bokeh: ERROR: autoload.js configured with elementid '1273' 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.2.min.js\", \"https://cdn.pydata.org/bokeh/release/bokeh-widgets-1.0.2.min.js\", \"https://cdn.pydata.org/bokeh/release/bokeh-tables-1.0.2.min.js\", \"https://cdn.pydata.org/bokeh/release/bokeh-gl-1.0.2.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.2.min.css\");\n", " Bokeh.embed.inject_css(\"https://cdn.pydata.org/bokeh/release/bokeh-1.0.2.min.css\");\n", " console.log(\"Bokeh: injecting CSS: https://cdn.pydata.org/bokeh/release/bokeh-widgets-1.0.2.min.css\");\n", " Bokeh.embed.inject_css(\"https://cdn.pydata.org/bokeh/release/bokeh-widgets-1.0.2.min.css\");\n", " console.log(\"Bokeh: injecting CSS: https://cdn.pydata.org/bokeh/release/bokeh-tables-1.0.2.min.css\");\n", " Bokeh.embed.inject_css(\"https://cdn.pydata.org/bokeh/release/bokeh-tables-1.0.2.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(\"1273\")).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 \"\\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(\"1273\");\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(\"1273\");\n if (element == null) {\n console.log(\"Bokeh: ERROR: autoload.js configured with elementid '1273' 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.2.min.js\", \"https://cdn.pydata.org/bokeh/release/bokeh-widgets-1.0.2.min.js\", \"https://cdn.pydata.org/bokeh/release/bokeh-tables-1.0.2.min.js\", \"https://cdn.pydata.org/bokeh/release/bokeh-gl-1.0.2.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.2.min.css\");\n Bokeh.embed.inject_css(\"https://cdn.pydata.org/bokeh/release/bokeh-1.0.2.min.css\");\n console.log(\"Bokeh: injecting CSS: https://cdn.pydata.org/bokeh/release/bokeh-widgets-1.0.2.min.css\");\n Bokeh.embed.inject_css(\"https://cdn.pydata.org/bokeh/release/bokeh-widgets-1.0.2.min.css\");\n console.log(\"Bokeh: injecting CSS: https://cdn.pydata.org/bokeh/release/bokeh-tables-1.0.2.min.css\");\n Bokeh.embed.inject_css(\"https://cdn.pydata.org/bokeh/release/bokeh-tables-1.0.2.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(\"1273\")).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 = {\"38dc38ee-b706-46c8-a9f5-1160de625ce7\":{\"roots\":{\"references\":[{\"attributes\":{\"below\":[{\"id\":\"1238\",\"type\":\"LinearAxis\"}],\"left\":[{\"id\":\"1243\",\"type\":\"LinearAxis\"}],\"renderers\":[{\"id\":\"1238\",\"type\":\"LinearAxis\"},{\"id\":\"1242\",\"type\":\"Grid\"},{\"id\":\"1243\",\"type\":\"LinearAxis\"},{\"id\":\"1247\",\"type\":\"Grid\"},{\"id\":\"1256\",\"type\":\"BoxAnnotation\"},{\"id\":\"1266\",\"type\":\"GlyphRenderer\"},{\"id\":\"1271\",\"type\":\"GlyphRenderer\"}],\"title\":{\"id\":\"1294\",\"type\":\"Title\"},\"toolbar\":{\"id\":\"1254\",\"type\":\"Toolbar\"},\"x_range\":{\"id\":\"1230\",\"type\":\"DataRange1d\"},\"x_scale\":{\"id\":\"1234\",\"type\":\"LinearScale\"},\"y_range\":{\"id\":\"1232\",\"type\":\"DataRange1d\"},\"y_scale\":{\"id\":\"1236\",\"type\":\"LinearScale\"}},\"id\":\"1229\",\"subtype\":\"Figure\",\"type\":\"Plot\"},{\"attributes\":{},\"id\":\"1296\",\"type\":\"BasicTickFormatter\"},{\"attributes\":{\"active_drag\":\"auto\",\"active_inspect\":\"auto\",\"active_multi\":null,\"active_scroll\":\"auto\",\"active_tap\":\"auto\",\"tools\":[{\"id\":\"1248\",\"type\":\"PanTool\"},{\"id\":\"1249\",\"type\":\"WheelZoomTool\"},{\"id\":\"1250\",\"type\":\"BoxZoomTool\"},{\"id\":\"1251\",\"type\":\"SaveTool\"},{\"id\":\"1252\",\"type\":\"ResetTool\"},{\"id\":\"1253\",\"type\":\"HelpTool\"}]},\"id\":\"1254\",\"type\":\"Toolbar\"},{\"attributes\":{\"data_source\":{\"id\":\"1263\",\"type\":\"ColumnDataSource\"},\"glyph\":{\"id\":\"1264\",\"type\":\"Circle\"},\"hover_glyph\":null,\"muted_glyph\":null,\"nonselection_glyph\":{\"id\":\"1265\",\"type\":\"Circle\"},\"selection_glyph\":null,\"view\":{\"id\":\"1267\",\"type\":\"CDSView\"}},\"id\":\"1266\",\"type\":\"GlyphRenderer\"},{\"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\":\"1256\",\"type\":\"BoxAnnotation\"},{\"attributes\":{},\"id\":\"1234\",\"type\":\"LinearScale\"},{\"attributes\":{\"source\":{\"id\":\"1263\",\"type\":\"ColumnDataSource\"}},\"id\":\"1267\",\"type\":\"CDSView\"},{\"attributes\":{},\"id\":\"1236\",\"type\":\"LinearScale\"},{\"attributes\":{\"axis_label\":\"fertility\",\"formatter\":{\"id\":\"1298\",\"type\":\"BasicTickFormatter\"},\"plot\":{\"id\":\"1229\",\"subtype\":\"Figure\",\"type\":\"Plot\"},\"ticker\":{\"id\":\"1239\",\"type\":\"BasicTicker\"}},\"id\":\"1238\",\"type\":\"LinearAxis\"},{\"attributes\":{\"fill_alpha\":{\"value\":0.8},\"fill_color\":{\"value\":\"red\"},\"line_alpha\":{\"value\":0.8},\"line_color\":{\"value\":\"red\"},\"size\":{\"units\":\"screen\",\"value\":10},\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"1269\",\"type\":\"X\"},{\"attributes\":{},\"id\":\"1239\",\"type\":\"BasicTicker\"},{\"attributes\":{\"fill_alpha\":{\"value\":0.1},\"fill_color\":{\"value\":\"#1f77b4\"},\"line_alpha\":{\"value\":0.1},\"line_color\":{\"value\":\"#1f77b4\"},\"size\":{\"units\":\"screen\",\"value\":10},\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"1270\",\"type\":\"X\"},{\"attributes\":{\"plot\":{\"id\":\"1229\",\"subtype\":\"Figure\",\"type\":\"Plot\"},\"ticker\":{\"id\":\"1239\",\"type\":\"BasicTicker\"}},\"id\":\"1242\",\"type\":\"Grid\"},{\"attributes\":{\"data_source\":{\"id\":\"1268\",\"type\":\"ColumnDataSource\"},\"glyph\":{\"id\":\"1269\",\"type\":\"X\"},\"hover_glyph\":null,\"muted_glyph\":null,\"nonselection_glyph\":{\"id\":\"1270\",\"type\":\"X\"},\"selection_glyph\":null,\"view\":{\"id\":\"1272\",\"type\":\"CDSView\"}},\"id\":\"1271\",\"type\":\"GlyphRenderer\"},{\"attributes\":{\"axis_label\":\"female_literacy (% population)\",\"formatter\":{\"id\":\"1296\",\"type\":\"BasicTickFormatter\"},\"plot\":{\"id\":\"1229\",\"subtype\":\"Figure\",\"type\":\"Plot\"},\"ticker\":{\"id\":\"1244\",\"type\":\"BasicTicker\"}},\"id\":\"1243\",\"type\":\"LinearAxis\"},{\"attributes\":{\"source\":{\"id\":\"1268\",\"type\":\"ColumnDataSource\"}},\"id\":\"1272\",\"type\":\"CDSView\"},{\"attributes\":{},\"id\":\"1244\",\"type\":\"BasicTicker\"},{\"attributes\":{\"plot\":null,\"text\":\"\"},\"id\":\"1294\",\"type\":\"Title\"},{\"attributes\":{\"dimension\":1,\"plot\":{\"id\":\"1229\",\"subtype\":\"Figure\",\"type\":\"Plot\"},\"ticker\":{\"id\":\"1244\",\"type\":\"BasicTicker\"}},\"id\":\"1247\",\"type\":\"Grid\"},{\"attributes\":{},\"id\":\"1298\",\"type\":\"BasicTickFormatter\"},{\"attributes\":{\"fill_alpha\":{\"value\":0.1},\"fill_color\":{\"value\":\"#1f77b4\"},\"line_alpha\":{\"value\":0.1},\"line_color\":{\"value\":\"#1f77b4\"},\"size\":{\"units\":\"screen\",\"value\":10},\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"1265\",\"type\":\"Circle\"},{\"attributes\":{},\"id\":\"1303\",\"type\":\"UnionRenderers\"},{\"attributes\":{\"fill_alpha\":{\"value\":0.8},\"fill_color\":{\"value\":\"blue\"},\"line_alpha\":{\"value\":0.8},\"line_color\":{\"value\":\"blue\"},\"size\":{\"units\":\"screen\",\"value\":10},\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"1264\",\"type\":\"Circle\"},{\"attributes\":{},\"id\":\"1304\",\"type\":\"Selection\"},{\"attributes\":{\"callback\":null,\"data\":{\"x\":{\"__ndarray__\":\"/dR46SaxFEC7SQwCK4cGQPLSTWIQ2BRAbxKDwMqhF0AK16NwPQoEQBSuR+F6FBZACKwcWmQ7EEBWDi2ynW8TQCPb+X5qvAJAarx0kxgEGUB56SYxCKwCQOF6FK5H4RBAke18PzXeE0BzkxgEVg4SQHsUrkfhehJARIts5/spEkBANV66SYwWQHe+nxovXRdAUrgehevRFUAtsp3vp0YcQB+F61G4nhVAppvEILDyFkCBlUOLbOcKQI/C9ShcjxNAbef7qfFSGEDb+X5qvHT9PzeJQWDlUBVAUrgehetRFUBPjZduEoMVQM3MzMzMzBFARIts5/upEECJQWDl0CIFQClcj8L1qBRA6iYxCKwcEkB9PzVeuskSQCUGgZVDCxRAWmQ730+NEUBSuB6F61EKQOkmMQisHApA+n5qvHSTBkDFSzeJQeATQIlBYOXQohZA7FG4HoXrCUB46SYxCKz8P5qZmZmZmQtAbxKDwMohFUAUrkfhehQPQOj7qfHSTQVAWDm0yHa+DUA=\",\"dtype\":\"float64\",\"shape\":[49]},\"y\":{\"__ndarray__\":\"ZmZmZmZmSEBmZmZmZuZMQM3MzMzMzDZAzczMzMwMTEBmZmZmZgZWQDMzMzMzk1BAzczMzMzMTUAzMzMzM7NUQDMzMzMz809AMzMzMzOzUEDNzMzMzAxGQGZmZmZmpk1AzczMzMwMREBmZmZmZiZGQDMzMzMzU1BAMzMzMzPzUEAAAAAAAIBMQJqZmZmZmTVAMzMzMzNzUEAzMzMzMzMuQDMzMzMzMzJAAAAAAACATkAzMzMzMzNWQAAAAAAAgEBAZmZmZmbmNUAAAAAAAMBRQGZmZmZmZjpAZmZmZmaGUECamZmZmRk8QDMzMzMz801AmpmZmZnZSkAzMzMzM1NUQGZmZmZm5jxAAAAAAABAS0DNzMzMzIxEQAAAAAAAgEpAAAAAAADASEDNzMzMzOxVQGZmZmZmxldAAAAAAADgVEBmZmZmZiZBQAAAAAAAQEJAzczMzMzMVEAzMzMzMzNVQGZmZmZmZlVAZmZmZmZGVkAzMzMzM/NQQDMzMzMz01NAMzMzMzPTVEA=\",\"dtype\":\"float64\",\"shape\":[49]}},\"selected\":{\"id\":\"1304\",\"type\":\"Selection\"},\"selection_policy\":{\"id\":\"1303\",\"type\":\"UnionRenderers\"}},\"id\":\"1268\",\"type\":\"ColumnDataSource\"},{\"attributes\":{},\"id\":\"1248\",\"type\":\"PanTool\"},{\"attributes\":{},\"id\":\"1249\",\"type\":\"WheelZoomTool\"},{\"attributes\":{\"callback\":null},\"id\":\"1230\",\"type\":\"DataRange1d\"},{\"attributes\":{\"callback\":null},\"id\":\"1232\",\"type\":\"DataRange1d\"},{\"attributes\":{\"overlay\":{\"id\":\"1256\",\"type\":\"BoxAnnotation\"}},\"id\":\"1250\",\"type\":\"BoxZoomTool\"},{\"attributes\":{},\"id\":\"1301\",\"type\":\"UnionRenderers\"},{\"attributes\":{},\"id\":\"1251\",\"type\":\"SaveTool\"},{\"attributes\":{\"callback\":null,\"data\":{\"x\":{\"__ndarray__\":\"CKwcWmQ7/T9zaJHtfD8BQAisHFpkOwNAYxBYObTIAUA9CtejcD0EQJZDi2zn+wNAN4lBYOXQ/j/fT42XbhIQQLTIdr6fGgRAFK5H4XoU+D9MN4lBYOUEQCyHFtnO9wpAhetRuB6FCUA3iUFg5dAHQFyPwvUoXAJAEVg5tMh2BUBKDAIrhxb/P1TjpZvEIARAg8DKoUW2AEBMN4lBYOUCQCYxCKwcWvo/lkOLbOf7AkAshxbZzvcKQIPAyqFFtvs/\",\"dtype\":\"float64\",\"shape\":[24]},\"y\":{\"__ndarray__\":\"zczMzMyMVkAAAAAAAOBWQJqZmZmZWVdAzczMzMxsWEBmZmZmZiZVQJqZmZmZuVdAzczMzMysWEDNzMzMzCxRQM3MzMzMbFRAMzMzMzPzWEAzMzMzMxNWQAAAAAAAgFVAAAAAAADgVEAAAAAAAGBXQJqZmZmZWVRAmpmZmZl5U0DNzMzMzAxYQDMzMzMzM1dAAAAAAACgWEAzMzMzM7NWQM3MzMzMjFhAmpmZmZkZVkAAAAAAACBYQAAAAAAAgFhA\",\"dtype\":\"float64\",\"shape\":[24]}},\"selected\":{\"id\":\"1302\",\"type\":\"Selection\"},\"selection_policy\":{\"id\":\"1301\",\"type\":\"UnionRenderers\"}},\"id\":\"1263\",\"type\":\"ColumnDataSource\"},{\"attributes\":{},\"id\":\"1302\",\"type\":\"Selection\"},{\"attributes\":{},\"id\":\"1252\",\"type\":\"ResetTool\"},{\"attributes\":{},\"id\":\"1253\",\"type\":\"HelpTool\"}],\"root_ids\":[\"1229\"]},\"title\":\"Bokeh Application\",\"version\":\"1.0.2\"}};\n", " var render_items = [{\"docid\":\"38dc38ee-b706-46c8-a9f5-1160de625ce7\",\"roots\":{\"1229\":\"ae7da1c1-af6c-4939-8069-85b590f30d65\"}}];\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": "1229" } }, "output_type": "display_data" } ], "source": [ "fertility_latin_america = pd.read_csv('data/fertility_latin_america.csv').fertility_latin_america\n", "female_literacy_latin_america = pd.read_csv('data/female_literacy_latin_america.csv').female_literacy_latin_america\n", "fertility_africa = pd.read_csv('data/fertility_africa.csv').fertility_africa\n", "female_literacy_africa = pd.read_csv('data/female_literacy_africa.csv').female_literacy_africa\n", "\n", "# Create the figure: p\n", "p = figure(x_axis_label='fertility', y_axis_label='female_literacy (% population)')\n", "\n", "# Add a circle glyph to the figure p\n", "p.circle(fertility_latin_america, female_literacy_latin_america, color = 'blue', size = 10, alpha = 0.8)\n", "\n", "# Add an x glyph to the figure p\n", "p.x(fertility_africa, female_literacy_africa, color = 'red', size = 10, alpha = 0.8)\n", "\n", "# Specify inline output\n", "output_notebook()\n", "\n", "# Display the plot\n", "show(p)\n", "\n", "#pd.DataFrame(female_literacy_africa, columns = ['female_literacy_africa']).to_csv('data/female_literacy_africa.csv',index = False)\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Multiple Lines and Legends" ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [ { "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 = {\"f2eeb411-c4ce-44fd-a219-e7de729c064f\":{\"roots\":{\"references\":[{\"attributes\":{\"below\":[{\"id\":\"1380\",\"type\":\"DatetimeAxis\"}],\"left\":[{\"id\":\"1385\",\"type\":\"LinearAxis\"}],\"plot_height\":250,\"plot_width\":800,\"renderers\":[{\"id\":\"1380\",\"type\":\"DatetimeAxis\"},{\"id\":\"1384\",\"type\":\"Grid\"},{\"id\":\"1385\",\"type\":\"LinearAxis\"},{\"id\":\"1389\",\"type\":\"Grid\"},{\"id\":\"1398\",\"type\":\"BoxAnnotation\"},{\"id\":\"1430\",\"type\":\"Legend\"},{\"id\":\"1409\",\"type\":\"GlyphRenderer\"},{\"id\":\"1435\",\"type\":\"GlyphRenderer\"},{\"id\":\"1462\",\"type\":\"GlyphRenderer\"},{\"id\":\"1491\",\"type\":\"GlyphRenderer\"}],\"title\":{\"id\":\"1405\",\"type\":\"Title\"},\"toolbar\":{\"id\":\"1396\",\"type\":\"Toolbar\"},\"x_range\":{\"id\":\"1372\",\"type\":\"DataRange1d\"},\"x_scale\":{\"id\":\"1376\",\"type\":\"LinearScale\"},\"y_range\":{\"id\":\"1374\",\"type\":\"DataRange1d\"},\"y_scale\":{\"id\":\"1378\",\"type\":\"LinearScale\"}},\"id\":\"1371\",\"subtype\":\"Figure\",\"type\":\"Plot\"},{\"attributes\":{},\"id\":\"1391\",\"type\":\"WheelZoomTool\"},{\"attributes\":{\"days\":[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]},\"id\":\"1420\",\"type\":\"DaysTicker\"},{\"attributes\":{},\"id\":\"1576\",\"type\":\"Selection\"},{\"attributes\":{\"label\":{\"value\":\"IBM\"},\"renderers\":[{\"id\":\"1435\",\"type\":\"GlyphRenderer\"}]},\"id\":\"1458\",\"type\":\"LegendItem\"},{\"attributes\":{\"callback\":null},\"id\":\"1374\",\"type\":\"DataRange1d\"},{\"attributes\":{\"overlay\":{\"id\":\"1398\",\"type\":\"BoxAnnotation\"}},\"id\":\"1392\",\"type\":\"BoxZoomTool\"},{\"attributes\":{\"days\":[1,4,7,10,13,16,19,22,25,28]},\"id\":\"1421\",\"type\":\"DaysTicker\"},{\"attributes\":{\"callback\":null,\"data\":{\"x\":[946857600000.0,946944000000.0,947030400000.0,947116800000.0,947203200000.0,947462400000.0,947548800000.0,947635200000.0,947721600000.0,947808000000.0,948153600000.0,948240000000.0,948326400000.0,948412800000.0,948672000000.0,948758400000.0,948844800000.0,948931200000.0,949017600000.0,949276800000.0,949363200000.0,949449600000.0,949536000000.0,949622400000.0,949881600000.0,949968000000.0,950054400000.0,950140800000.0,950227200000.0,950486400000.0,950572800000.0,950659200000.0,950745600000.0,950832000000.0,951177600000.0,951264000000.0,951350400000.0,951436800000.0,951696000000.0,951782400000.0,951868800000.0,951955200000.0,952041600000.0,952300800000.0,952387200000.0,952473600000.0,952560000000.0,952646400000.0,952905600000.0,952992000000.0,953078400000.0,953164800000.0,953251200000.0,953510400000.0,953596800000.0,953683200000.0,953769600000.0,953856000000.0,954115200000.0,954201600000.0,954288000000.0,954374400000.0,954460800000.0,954720000000.0,954806400000.0,954892800000.0,954979200000.0,955065600000.0,955324800000.0,955411200000.0,955497600000.0,955584000000.0,955670400000.0,955929600000.0,956016000000.0,956102400000.0,956188800000.0,956534400000.0,956620800000.0,956707200000.0,956793600000.0,956880000000.0,957139200000.0,957225600000.0,957312000000.0,957398400000.0,957484800000.0,957744000000.0,957830400000.0,957916800000.0,958003200000.0,958089600000.0,958348800000.0,958435200000.0,958521600000.0,958608000000.0,958694400000.0,958953600000.0,959040000000.0,959126400000.0,959212800000.0,959299200000.0,959644800000.0,959731200000.0,959817600000.0,959904000000.0,960163200000.0,960249600000.0,960336000000.0,960422400000.0,960508800000.0,960768000000.0,960854400000.0,960940800000.0,961027200000.0,961113600000.0,961372800000.0,961459200000.0,961545600000.0,961632000000.0,961718400000.0,961977600000.0,962064000000.0,962150400000.0,962236800000.0,962323200000.0,962582400000.0,962755200000.0,962841600000.0,962928000000.0,963187200000.0,963273600000.0,963360000000.0,963446400000.0,963532800000.0,963792000000.0,963878400000.0,963964800000.0,964051200000.0,964137600000.0,964396800000.0,964483200000.0,964569600000.0,964656000000.0,964742400000.0,965001600000.0,965088000000.0,965174400000.0,965260800000.0,965347200000.0,965606400000.0,965692800000.0,965779200000.0,965865600000.0,965952000000.0,966211200000.0,966297600000.0,966384000000.0,966470400000.0,966556800000.0,966816000000.0,966902400000.0,966988800000.0,967075200000.0,967161600000.0,967420800000.0,967507200000.0,967593600000.0,967680000000.0,967766400000.0,968112000000.0,968198400000.0,968284800000.0,968371200000.0,968630400000.0,968716800000.0,968803200000.0,968889600000.0,968976000000.0,969235200000.0,969321600000.0,969408000000.0,969494400000.0,969580800000.0,969840000000.0,969926400000.0,970012800000.0,970099200000.0,970185600000.0,970444800000.0,970531200000.0,970617600000.0,970704000000.0,970790400000.0,971049600000.0,971136000000.0,971222400000.0,971308800000.0,971395200000.0,971654400000.0,971740800000.0,971827200000.0,971913600000.0,972000000000.0,972259200000.0,972345600000.0,972432000000.0,972518400000.0,972604800000.0,972864000000.0,972950400000.0,973036800000.0,973123200000.0,973209600000.0,973468800000.0,973555200000.0,973641600000.0,973728000000.0,973814400000.0,974073600000.0,974160000000.0,974246400000.0,974332800000.0,974419200000.0,974678400000.0,974764800000.0,974851200000.0,975024000000.0,975283200000.0,975369600000.0,975456000000.0,975542400000.0,975628800000.0,975888000000.0,975974400000.0,976060800000.0,976147200000.0,976233600000.0,976492800000.0,976579200000.0,976665600000.0,976752000000.0,976838400000.0,977097600000.0,977184000000.0,977270400000.0,977356800000.0,977443200000.0,977788800000.0,977875200000.0,977961600000.0,978048000000.0,978393600000.0,978480000000.0,978566400000.0,978652800000.0,978912000000.0,978998400000.0,979084800000.0,979171200000.0,979257600000.0,979603200000.0,979689600000.0,979776000000.0,979862400000.0,980121600000.0,980208000000.0,980294400000.0,980380800000.0,980467200000.0,980726400000.0,980812800000.0,980899200000.0,980985600000.0,981072000000.0,981331200000.0,981417600000.0,981504000000.0,981590400000.0,981676800000.0,981936000000.0,982022400000.0,982108800000.0,982195200000.0,982281600000.0,982627200000.0,982713600000.0,982800000000.0,982886400000.0,983145600000.0,983232000000.0,983318400000.0,983404800000.0,983491200000.0,983750400000.0,983836800000.0,983923200000.0,984009600000.0,984096000000.0,984355200000.0,984441600000.0,984528000000.0,984614400000.0,984700800000.0,984960000000.0,985046400000.0,985132800000.0,985219200000.0,985305600000.0,985564800000.0,985651200000.0,985737600000.0,985824000000.0,985910400000.0,986169600000.0,986256000000.0,986342400000.0,986428800000.0,986515200000.0,986774400000.0,986860800000.0,986947200000.0,987033600000.0,987379200000.0,987465600000.0,987552000000.0,987638400000.0,987724800000.0,987984000000.0,988070400000.0,988156800000.0,988243200000.0,988329600000.0,988588800000.0,988675200000.0,988761600000.0,988848000000.0,988934400000.0,989193600000.0,989280000000.0,989366400000.0,989452800000.0,989539200000.0,989798400000.0,989884800000.0,989971200000.0,990057600000.0,990144000000.0,990403200000.0,990489600000.0,990576000000.0,990662400000.0,990748800000.0,991094400000.0,991180800000.0,991267200000.0,991353600000.0,991612800000.0,991699200000.0,991785600000.0,991872000000.0,991958400000.0,992217600000.0,992304000000.0,992390400000.0,992476800000.0,992563200000.0,992822400000.0,992908800000.0,992995200000.0,993081600000.0,993168000000.0,993427200000.0,993513600000.0,993600000000.0,993686400000.0,993772800000.0,994032000000.0,994118400000.0,994291200000.0,994377600000.0,994636800000.0,994723200000.0,994809600000.0,994896000000.0,994982400000.0,995241600000.0,995328000000.0,995414400000.0,995500800000.0,995587200000.0,995846400000.0,995932800000.0,996019200000.0,996105600000.0,996192000000.0,996451200000.0,996537600000.0,996624000000.0,996710400000.0,996796800000.0,997056000000.0,997142400000.0,997228800000.0,997315200000.0,997401600000.0,997660800000.0,997747200000.0,997833600000.0,997920000000.0,998006400000.0,998265600000.0,998352000000.0,998438400000.0,998524800000.0,998611200000.0,998870400000.0,998956800000.0,999043200000.0,999129600000.0,999216000000.0,999561600000.0,999648000000.0,999734400000.0,999820800000.0,1000080000000.0,1000684800000.0,1000771200000.0,1000857600000.0,1000944000000.0,1001030400000.0,1001289600000.0,1001376000000.0,1001462400000.0,1001548800000.0,1001635200000.0,1001894400000.0,1001980800000.0,1002067200000.0,1002153600000.0,1002240000000.0,1002499200000.0,1002585600000.0,1002672000000.0,1002758400000.0,1002844800000.0,1003104000000.0,1003190400000.0,1003276800000.0,1003363200000.0,1003449600000.0,1003708800000.0,1003795200000.0,1003881600000.0,1003968000000.0,1004054400000.0,1004313600000.0,1004400000000.0,1004486400000.0,1004572800000.0,1004659200000.0,1004918400000.0,1005004800000.0,1005091200000.0,1005177600000.0,1005264000000.0,1005523200000.0,1005609600000.0,1005696000000.0,1005782400000.0,1005868800000.0,1006128000000.0,1006214400000.0,1006300800000.0,1006473600000.0,1006732800000.0,1006819200000.0,1006905600000.0,1006992000000.0,1007078400000.0,1007337600000.0,1007424000000.0,1007510400000.0,1007596800000.0,1007683200000.0,1007942400000.0,1008028800000.0,1008115200000.0,1008201600000.0,1008288000000.0,1008547200000.0,1008633600000.0,1008720000000.0,1008806400000.0,1008892800000.0,1009152000000.0,1009324800000.0,1009411200000.0,1009497600000.0,1009756800000.0,1009929600000.0,1010016000000.0,1010102400000.0,1010361600000.0,1010448000000.0,1010534400000.0,1010620800000.0,1010707200000.0,1010966400000.0,1011052800000.0,1011139200000.0,1011225600000.0,1011312000000.0,1011657600000.0,1011744000000.0,1011830400000.0,1011916800000.0,1012176000000.0,1012262400000.0,1012348800000.0,1012435200000.0,1012521600000.0,1012780800000.0,1012867200000.0,1012953600000.0,1013040000000.0,1013126400000.0,1013385600000.0,1013472000000.0,1013558400000.0,1013644800000.0,1013731200000.0,1014076800000.0,1014163200000.0,1014249600000.0,1014336000000.0,1014595200000.0,1014681600000.0,1014768000000.0,1014854400000.0,1014940800000.0,1015200000000.0,1015286400000.0,1015372800000.0,1015459200000.0,1015545600000.0,1015804800000.0,1015891200000.0,1015977600000.0,1016064000000.0,1016150400000.0,1016409600000.0,1016496000000.0,1016582400000.0,1016668800000.0,1016755200000.0,1017014400000.0,1017100800000.0,1017187200000.0,1017273600000.0,1017619200000.0,1017705600000.0,1017792000000.0,1017878400000.0,1017964800000.0,1018224000000.0,1018310400000.0,1018396800000.0,1018483200000.0,1018569600000.0,1018828800000.0,1018915200000.0,1019001600000.0,1019088000000.0,1019174400000.0,1019433600000.0,1019520000000.0,1019606400000.0,1019692800000.0,1019779200000.0,1020038400000.0,1020124800000.0,1020211200000.0,1020297600000.0,1020384000000.0,1020643200000.0,1020729600000.0,1020816000000.0,1020902400000.0,1020988800000.0,1021248000000.0,1021334400000.0,1021420800000.0,1021507200000.0,1021593600000.0,1021852800000.0,1021939200000.0,1022025600000.0,1022112000000.0,1022198400000.0,1022544000000.0,1022630400000.0,1022716800000.0,1022803200000.0,1023062400000.0,1023148800000.0,1023235200000.0,1023321600000.0,1023408000000.0,1023667200000.0,1023753600000.0,1023840000000.0,1023926400000.0,1024012800000.0,1024272000000.0,1024358400000.0,1024444800000.0,1024531200000.0,1024617600000.0,1024876800000.0,1024963200000.0,1025049600000.0,1025136000000.0,1025222400000.0,1025481600000.0,1025568000000.0,1025654400000.0,1025827200000.0,1026086400000.0,1026172800000.0,1026259200000.0,1026345600000.0,1026432000000.0,1026691200000.0,1026777600000.0,1026864000000.0,1026950400000.0,1027036800000.0,1027296000000.0,1027382400000.0,1027468800000.0,1027555200000.0,1027641600000.0,1027900800000.0,1027987200000.0,1028073600000.0,1028160000000.0,1028246400000.0,1028505600000.0,1028592000000.0,1028678400000.0,1028764800000.0,1028851200000.0,1029110400000.0,1029196800000.0,1029283200000.0,1029369600000.0,1029456000000.0,1029715200000.0,1029801600000.0,1029888000000.0,1029974400000.0,1030060800000.0,1030320000000.0,1030406400000.0,1030492800000.0,1030579200000.0,1030665600000.0,1031011200000.0,1031097600000.0,1031184000000.0,1031270400000.0,1031529600000.0,1031616000000.0,1031702400000.0,1031788800000.0,1031875200000.0,1032134400000.0,1032220800000.0,1032307200000.0,1032393600000.0,1032480000000.0,1032739200000.0,1032825600000.0,1032912000000.0,1032998400000.0,1033084800000.0,1033344000000.0,1033430400000.0,1033516800000.0,1033603200000.0,1033689600000.0,1033948800000.0,1034035200000.0,1034121600000.0,1034208000000.0,1034294400000.0,1034553600000.0,1034640000000.0,1034726400000.0,1034812800000.0,1034899200000.0,1035158400000.0,1035244800000.0,1035331200000.0,1035417600000.0,1035504000000.0,1035763200000.0,1035849600000.0,1035936000000.0,1036022400000.0,1036108800000.0,1036368000000.0,1036454400000.0,1036540800000.0,1036627200000.0,1036713600000.0,1036972800000.0,1037059200000.0,1037145600000.0,1037232000000.0,1037318400000.0,1037577600000.0,1037664000000.0,1037750400000.0,1037836800000.0,1037923200000.0,1038182400000.0,1038268800000.0,1038355200000.0,1038528000000.0,1038787200000.0,1038873600000.0,1038960000000.0,1039046400000.0,1039132800000.0,1039392000000.0,1039478400000.0,1039564800000.0,1039651200000.0,1039737600000.0,1039996800000.0,1040083200000.0,1040169600000.0,1040256000000.0,1040342400000.0,1040601600000.0,1040688000000.0,1040860800000.0,1040947200000.0,1041206400000.0,1041292800000.0,1041465600000.0,1041552000000.0,1041811200000.0,1041897600000.0,1041984000000.0,1042070400000.0,1042156800000.0,1042416000000.0,1042502400000.0,1042588800000.0,1042675200000.0,1042761600000.0,1043107200000.0,1043193600000.0,1043280000000.0,1043366400000.0,1043625600000.0,1043712000000.0,1043798400000.0,1043884800000.0,1043971200000.0,1044230400000.0,1044316800000.0,1044403200000.0,1044489600000.0,1044576000000.0,1044835200000.0,1044921600000.0,1045008000000.0,1045094400000.0,1045180800000.0,1045526400000.0,1045612800000.0,1045699200000.0,1045785600000.0,1046044800000.0,1046131200000.0,1046217600000.0,1046304000000.0,1046390400000.0,1046649600000.0,1046736000000.0,1046822400000.0,1046908800000.0,1046995200000.0,1047254400000.0,1047340800000.0,1047427200000.0,1047513600000.0,1047600000000.0,1047859200000.0,1047945600000.0,1048032000000.0,1048118400000.0,1048204800000.0,1048464000000.0,1048550400000.0,1048636800000.0,1048723200000.0,1048809600000.0,1049068800000.0,1049155200000.0,1049241600000.0,1049328000000.0,1049414400000.0,1049673600000.0,1049760000000.0,1049846400000.0,1049932800000.0,1050019200000.0,1050278400000.0,1050364800000.0,1050451200000.0,1050537600000.0,1050883200000.0,1050969600000.0,1051056000000.0,1051142400000.0,1051228800000.0,1051488000000.0,1051574400000.0,1051660800000.0,1051747200000.0,1051833600000.0,1052092800000.0,1052179200000.0,1052265600000.0,1052352000000.0,1052438400000.0,1052697600000.0,1052784000000.0,1052870400000.0,1052956800000.0,1053043200000.0,1053302400000.0,1053388800000.0,1053475200000.0,1053561600000.0,1053648000000.0,1053993600000.0,1054080000000.0,1054166400000.0,1054252800000.0,1054512000000.0,1054598400000.0,1054684800000.0,1054771200000.0,1054857600000.0,1055116800000.0,1055203200000.0,1055289600000.0,1055376000000.0,1055462400000.0,1055721600000.0,1055808000000.0,1055894400000.0,1055980800000.0,1056067200000.0,1056326400000.0,1056412800000.0,1056499200000.0,1056585600000.0,1056672000000.0,1056931200000.0,1057017600000.0,1057104000000.0,1057190400000.0,1057536000000.0,1057622400000.0,1057708800000.0,1057795200000.0,1057881600000.0,1058140800000.0,1058227200000.0,1058313600000.0,1058400000000.0,1058486400000.0,1058745600000.0,1058832000000.0,1058918400000.0,1059004800000.0,1059091200000.0,1059350400000.0,1059436800000.0,1059523200000.0,1059609600000.0,1059696000000.0,1059955200000.0,1060041600000.0,1060128000000.0,1060214400000.0,1060300800000.0,1060560000000.0,1060646400000.0,1060732800000.0,1060819200000.0,1060905600000.0,1061164800000.0,1061251200000.0,1061337600000.0,1061424000000.0,1061510400000.0,1061769600000.0,1061856000000.0,1061942400000.0,1062028800000.0,1062115200000.0,1062460800000.0,1062547200000.0,1062633600000.0,1062720000000.0,1062979200000.0,1063065600000.0,1063152000000.0,1063238400000.0,1063324800000.0,1063584000000.0,1063670400000.0,1063756800000.0,1063843200000.0,1063929600000.0,1064188800000.0,1064275200000.0,1064361600000.0,1064448000000.0,1064534400000.0,1064793600000.0,1064880000000.0,1064966400000.0,1065052800000.0,1065139200000.0,1065398400000.0,1065484800000.0,1065571200000.0,1065657600000.0,1065744000000.0,1066003200000.0,1066089600000.0,1066176000000.0,1066262400000.0,1066348800000.0,1066608000000.0,1066694400000.0,1066780800000.0,1066867200000.0,1066953600000.0,1067212800000.0,1067299200000.0,1067385600000.0,1067472000000.0,1067558400000.0,1067817600000.0,1067904000000.0,1067990400000.0,1068076800000.0,1068163200000.0,1068422400000.0,1068508800000.0,1068595200000.0,1068681600000.0,1068768000000.0,1069027200000.0,1069113600000.0,1069200000000.0,1069286400000.0,1069372800000.0,1069632000000.0,1069718400000.0,1069804800000.0,1069977600000.0,1070236800000.0,1070323200000.0,1070409600000.0,1070496000000.0,1070582400000.0,1070841600000.0,1070928000000.0,1071014400000.0,1071100800000.0,1071187200000.0,1071446400000.0,1071532800000.0,1071619200000.0,1071705600000.0,1071792000000.0,1072051200000.0,1072137600000.0,1072224000000.0,1072396800000.0,1072656000000.0,1072742400000.0,1072828800000.0,1073001600000.0,1073260800000.0,1073347200000.0,1073433600000.0,1073520000000.0,1073606400000.0,1073865600000.0,1073952000000.0,1074038400000.0,1074124800000.0,1074211200000.0,1074556800000.0,1074643200000.0,1074729600000.0,1074816000000.0,1075075200000.0,1075161600000.0,1075248000000.0,1075334400000.0,1075420800000.0,1075680000000.0,1075766400000.0,1075852800000.0,1075939200000.0,1076025600000.0,1076284800000.0,1076371200000.0,1076457600000.0,1076544000000.0,1076630400000.0,1076976000000.0,1077062400000.0,1077148800000.0,1077235200000.0,1077494400000.0,1077580800000.0,1077667200000.0,1077753600000.0,1077840000000.0,1078099200000.0,1078185600000.0,1078272000000.0,1078358400000.0,1078444800000.0,1078704000000.0,1078790400000.0,1078876800000.0,1078963200000.0,1079049600000.0,1079308800000.0,1079395200000.0,1079481600000.0,1079568000000.0,1079654400000.0,1079913600000.0,1080000000000.0,1080086400000.0,1080172800000.0,1080259200000.0,1080518400000.0,1080604800000.0,1080691200000.0,1080777600000.0,1080864000000.0,1081123200000.0,1081209600000.0,1081296000000.0,1081382400000.0,1081728000000.0,1081814400000.0,1081900800000.0,1081987200000.0,1082073600000.0,1082332800000.0,1082419200000.0,1082505600000.0,1082592000000.0,1082678400000.0,1082937600000.0,1083024000000.0,1083110400000.0,1083196800000.0,1083283200000.0,1083542400000.0,1083628800000.0,1083715200000.0,1083801600000.0,1083888000000.0,1084147200000.0,1084233600000.0,1084320000000.0,1084406400000.0,1084492800000.0,1084752000000.0,1084838400000.0,1084924800000.0,1085011200000.0,1085097600000.0,1085356800000.0,1085443200000.0,1085529600000.0,1085616000000.0,1085702400000.0,1086048000000.0,1086134400000.0,1086220800000.0,1086307200000.0,1086566400000.0,1086652800000.0,1086739200000.0,1086825600000.0,1087171200000.0,1087257600000.0,1087344000000.0,1087430400000.0,1087516800000.0,1087776000000.0,1087862400000.0,1087948800000.0,1088035200000.0,1088121600000.0,1088380800000.0,1088467200000.0,1088553600000.0,1088640000000.0,1088726400000.0,1089072000000.0,1089158400000.0,1089244800000.0,1089331200000.0,1089590400000.0,1089676800000.0,1089763200000.0,1089849600000.0,1089936000000.0,1090195200000.0,1090281600000.0,1090368000000.0,1090454400000.0,1090540800000.0,1090800000000.0,1090886400000.0,1090972800000.0,1091059200000.0,1091145600000.0,1091404800000.0,1091491200000.0,1091577600000.0,1091664000000.0,1091750400000.0,1092009600000.0,1092096000000.0,1092182400000.0,1092268800000.0,1092355200000.0,1092614400000.0,1092700800000.0,1092787200000.0,1092873600000.0,1092960000000.0,1093219200000.0,1093305600000.0,1093392000000.0,1093478400000.0,1093564800000.0,1093824000000.0,1093910400000.0,1093996800000.0,1094083200000.0,1094169600000.0,1094515200000.0,1094601600000.0,1094688000000.0,1094774400000.0,1095033600000.0,1095120000000.0,1095206400000.0,1095292800000.0,1095379200000.0,1095638400000.0,1095724800000.0,1095811200000.0,1095897600000.0,1095984000000.0,1096243200000.0,1096329600000.0,1096416000000.0,1096502400000.0,1096588800000.0,1096848000000.0,1096934400000.0,1097020800000.0,1097107200000.0,1097193600000.0,1097452800000.0,1097539200000.0,1097625600000.0,1097712000000.0,1097798400000.0,1098057600000.0,1098144000000.0,1098230400000.0,1098316800000.0,1098403200000.0,1098662400000.0,1098748800000.0,1098835200000.0,1098921600000.0,1099008000000.0,1099267200000.0,1099353600000.0,1099440000000.0,1099526400000.0,1099612800000.0,1099872000000.0,1099958400000.0,1100044800000.0,1100131200000.0,1100217600000.0,1100476800000.0,1100563200000.0,1100649600000.0,1100736000000.0,1100822400000.0,1101081600000.0,1101168000000.0,1101254400000.0,1101427200000.0,1101686400000.0,1101772800000.0,1101859200000.0,1101945600000.0,1102032000000.0,1102291200000.0,1102377600000.0,1102464000000.0,1102550400000.0,1102636800000.0,1102896000000.0,1102982400000.0,1103068800000.0,1103155200000.0,1103241600000.0,1103500800000.0,1103587200000.0,1103673600000.0,1103760000000.0,1104105600000.0,1104192000000.0,1104278400000.0,1104364800000.0,1104451200000.0,1104710400000.0,1104796800000.0,1104883200000.0,1104969600000.0,1105056000000.0,1105315200000.0,1105401600000.0,1105488000000.0,1105574400000.0,1105660800000.0,1106006400000.0,1106092800000.0,1106179200000.0,1106265600000.0,1106524800000.0,1106611200000.0,1106697600000.0,1106784000000.0,1106870400000.0,1107129600000.0,1107216000000.0,1107302400000.0,1107388800000.0,1107475200000.0,1107734400000.0,1107820800000.0,1107907200000.0,1107993600000.0,1108080000000.0,1108339200000.0,1108425600000.0,1108512000000.0,1108598400000.0,1108684800000.0,1109030400000.0,1109116800000.0,1109203200000.0,1109289600000.0,1109548800000.0,1109635200000.0,1109721600000.0,1109808000000.0,1109894400000.0,1110153600000.0,1110240000000.0,1110326400000.0,1110412800000.0,1110499200000.0,1110758400000.0,1110844800000.0,1110931200000.0,1111017600000.0,1111104000000.0,1111363200000.0,1111449600000.0,1111536000000.0,1111622400000.0,1111968000000.0,1112054400000.0,1112140800000.0,1112227200000.0,1112313600000.0,1112572800000.0,1112659200000.0,1112745600000.0,1112832000000.0,1112918400000.0,1113177600000.0,1113264000000.0,1113350400000.0,1113436800000.0,1113523200000.0,1113782400000.0,1113868800000.0,1113955200000.0,1114041600000.0,1114128000000.0,1114387200000.0,1114473600000.0,1114560000000.0,1114646400000.0,1114732800000.0,1114992000000.0,1115078400000.0,1115164800000.0,1115251200000.0,1115337600000.0,1115596800000.0,1115683200000.0,1115769600000.0,1115856000000.0,1115942400000.0,1116201600000.0,1116288000000.0,1116374400000.0,1116460800000.0,1116547200000.0,1116806400000.0,1116892800000.0,1116979200000.0,1117065600000.0,1117152000000.0,1117497600000.0,1117584000000.0,1117670400000.0,1117756800000.0,1118016000000.0,1118102400000.0,1118188800000.0,1118275200000.0,1118361600000.0,1118620800000.0,1118707200000.0,1118793600000.0,1118880000000.0,1118966400000.0,1119225600000.0,1119312000000.0,1119398400000.0,1119484800000.0,1119571200000.0,1119830400000.0,1119916800000.0,1120003200000.0,1120089600000.0,1120176000000.0,1120521600000.0,1120608000000.0,1120694400000.0,1120780800000.0,1121040000000.0,1121126400000.0,1121212800000.0,1121299200000.0,1121385600000.0,1121644800000.0,1121731200000.0,1121817600000.0,1121904000000.0,1121990400000.0,1122249600000.0,1122336000000.0,1122422400000.0,1122508800000.0,1122595200000.0,1122854400000.0,1122940800000.0,1123027200000.0,1123113600000.0,1123200000000.0,1123459200000.0,1123545600000.0,1123632000000.0,1123718400000.0,1123804800000.0,1124064000000.0,1124150400000.0,1124236800000.0,1124323200000.0,1124409600000.0,1124668800000.0,1124755200000.0,1124841600000.0,1124928000000.0,1125014400000.0,1125273600000.0,1125360000000.0,1125446400000.0,1125532800000.0,1125619200000.0,1125964800000.0,1126051200000.0,1126137600000.0,1126224000000.0,1126483200000.0,1126569600000.0,1126656000000.0,1126742400000.0,1126828800000.0,1127088000000.0,1127174400000.0,1127260800000.0,1127347200000.0,1127433600000.0,1127692800000.0,1127779200000.0,1127865600000.0,1127952000000.0,1128038400000.0,1128297600000.0,1128384000000.0,1128470400000.0,1128556800000.0,1128643200000.0,1128902400000.0,1128988800000.0,1129075200000.0,1129161600000.0,1129248000000.0,1129507200000.0,1129593600000.0,1129680000000.0,1129766400000.0,1129852800000.0,1130112000000.0,1130198400000.0,1130284800000.0,1130371200000.0,1130457600000.0,1130716800000.0,1130803200000.0,1130889600000.0,1130976000000.0,1131062400000.0,1131321600000.0,1131408000000.0,1131494400000.0,1131580800000.0,1131667200000.0,1131926400000.0,1132012800000.0,1132099200000.0,1132185600000.0,1132272000000.0,1132531200000.0,1132617600000.0,1132704000000.0,1132876800000.0,1133136000000.0,1133222400000.0,1133308800000.0,1133395200000.0,1133481600000.0,1133740800000.0,1133827200000.0,1133913600000.0,1134000000000.0,1134086400000.0,1134345600000.0,1134432000000.0,1134518400000.0,1134604800000.0,1134691200000.0,1134950400000.0,1135036800000.0,1135123200000.0,1135209600000.0,1135296000000.0,1135641600000.0,1135728000000.0,1135814400000.0,1135900800000.0,1136246400000.0,1136332800000.0,1136419200000.0,1136505600000.0,1136764800000.0,1136851200000.0,1136937600000.0,1137024000000.0,1137110400000.0,1137456000000.0,1137542400000.0,1137628800000.0,1137715200000.0,1137974400000.0,1138060800000.0,1138147200000.0,1138233600000.0,1138320000000.0,1138579200000.0,1138665600000.0,1138752000000.0,1138838400000.0,1138924800000.0,1139184000000.0,1139270400000.0,1139356800000.0,1139443200000.0,1139529600000.0,1139788800000.0,1139875200000.0,1139961600000.0,1140048000000.0,1140134400000.0,1140480000000.0,1140566400000.0,1140652800000.0,1140739200000.0,1140998400000.0,1141084800000.0,1141171200000.0,1141257600000.0,1141344000000.0,1141603200000.0,1141689600000.0,1141776000000.0,1141862400000.0,1141948800000.0,1142208000000.0,1142294400000.0,1142380800000.0,1142467200000.0,1142553600000.0,1142812800000.0,1142899200000.0,1142985600000.0,1143072000000.0,1143158400000.0,1143417600000.0,1143504000000.0,1143590400000.0,1143676800000.0,1143763200000.0,1144022400000.0,1144108800000.0,1144195200000.0,1144281600000.0,1144368000000.0,1144627200000.0,1144713600000.0,1144800000000.0,1144886400000.0,1145232000000.0,1145318400000.0,1145404800000.0,1145491200000.0,1145577600000.0,1145836800000.0,1145923200000.0,1146009600000.0,1146096000000.0,1146182400000.0,1146441600000.0,1146528000000.0,1146614400000.0,1146700800000.0,1146787200000.0,1147046400000.0,1147132800000.0,1147219200000.0,1147305600000.0,1147392000000.0,1147651200000.0,1147737600000.0,1147824000000.0,1147910400000.0,1147996800000.0,1148256000000.0,1148342400000.0,1148428800000.0,1148515200000.0,1148601600000.0,1148947200000.0,1149033600000.0,1149120000000.0,1149206400000.0,1149465600000.0,1149552000000.0,1149638400000.0,1149724800000.0,1149811200000.0,1150070400000.0,1150156800000.0,1150243200000.0,1150329600000.0,1150416000000.0,1150675200000.0,1150761600000.0,1150848000000.0,1150934400000.0,1151020800000.0,1151280000000.0,1151366400000.0,1151452800000.0,1151539200000.0,1151625600000.0,1151884800000.0,1152057600000.0,1152144000000.0,1152230400000.0,1152489600000.0,1152576000000.0,1152662400000.0,1152748800000.0,1152835200000.0,1153094400000.0,1153180800000.0,1153267200000.0,1153353600000.0,1153440000000.0,1153699200000.0,1153785600000.0,1153872000000.0,1153958400000.0,1154044800000.0,1154304000000.0,1154390400000.0,1154476800000.0,1154563200000.0,1154649600000.0,1154908800000.0,1154995200000.0,1155081600000.0,1155168000000.0,1155254400000.0,1155513600000.0,1155600000000.0,1155686400000.0,1155772800000.0,1155859200000.0,1156118400000.0,1156204800000.0,1156291200000.0,1156377600000.0,1156464000000.0,1156723200000.0,1156809600000.0,1156896000000.0,1156982400000.0,1157068800000.0,1157414400000.0,1157500800000.0,1157587200000.0,1157673600000.0,1157932800000.0,1158019200000.0,1158105600000.0,1158192000000.0,1158278400000.0,1158537600000.0,1158624000000.0,1158710400000.0,1158796800000.0,1158883200000.0,1159142400000.0,1159228800000.0,1159315200000.0,1159401600000.0,1159488000000.0,1159747200000.0,1159833600000.0,1159920000000.0,1160006400000.0,1160092800000.0,1160352000000.0,1160438400000.0,1160524800000.0,1160611200000.0,1160697600000.0,1160956800000.0,1161043200000.0,1161129600000.0,1161216000000.0,1161302400000.0,1161561600000.0,1161648000000.0,1161734400000.0,1161820800000.0,1161907200000.0,1162166400000.0,1162252800000.0,1162339200000.0,1162425600000.0,1162512000000.0,1162771200000.0,1162857600000.0,1162944000000.0,1163030400000.0,1163116800000.0,1163376000000.0,1163462400000.0,1163548800000.0,1163635200000.0,1163721600000.0,1163980800000.0,1164067200000.0,1164153600000.0,1164326400000.0,1164585600000.0,1164672000000.0,1164758400000.0,1164844800000.0,1164931200000.0,1165190400000.0,1165276800000.0,1165363200000.0,1165449600000.0,1165536000000.0,1165795200000.0,1165881600000.0,1165968000000.0,1166054400000.0,1166140800000.0,1166400000000.0,1166486400000.0,1166572800000.0,1166659200000.0,1166745600000.0,1167091200000.0,1167177600000.0,1167264000000.0,1167350400000.0,1167782400000.0,1167868800000.0,1167955200000.0,1168214400000.0,1168300800000.0,1168387200000.0,1168473600000.0,1168560000000.0,1168905600000.0,1168992000000.0,1169078400000.0,1169164800000.0,1169424000000.0,1169510400000.0,1169596800000.0,1169683200000.0,1169769600000.0,1170028800000.0,1170115200000.0,1170201600000.0,1170288000000.0,1170374400000.0,1170633600000.0,1170720000000.0,1170806400000.0,1170892800000.0,1170979200000.0,1171238400000.0,1171324800000.0,1171411200000.0,1171497600000.0,1171584000000.0,1171929600000.0,1172016000000.0,1172102400000.0,1172188800000.0,1172448000000.0,1172534400000.0,1172620800000.0,1172707200000.0,1172793600000.0,1173052800000.0,1173139200000.0,1173225600000.0,1173312000000.0,1173398400000.0,1173657600000.0,1173744000000.0,1173830400000.0,1173916800000.0,1174003200000.0,1174262400000.0,1174348800000.0,1174435200000.0,1174521600000.0,1174608000000.0,1174867200000.0,1174953600000.0,1175040000000.0,1175126400000.0,1175212800000.0,1175472000000.0,1175558400000.0,1175644800000.0,1175731200000.0,1176076800000.0,1176163200000.0,1176249600000.0,1176336000000.0,1176422400000.0,1176681600000.0,1176768000000.0,1176854400000.0,1176940800000.0,1177027200000.0,1177286400000.0,1177372800000.0,1177459200000.0,1177545600000.0,1177632000000.0,1177891200000.0,1177977600000.0,1178064000000.0,1178150400000.0,1178236800000.0,1178496000000.0,1178582400000.0,1178668800000.0,1178755200000.0,1178841600000.0,1179100800000.0,1179187200000.0,1179273600000.0,1179360000000.0,1179446400000.0,1179705600000.0,1179792000000.0,1179878400000.0,1179964800000.0,1180051200000.0,1180396800000.0,1180483200000.0,1180569600000.0,1180656000000.0,1180915200000.0,1181001600000.0,1181088000000.0,1181174400000.0,1181260800000.0,1181520000000.0,1181606400000.0,1181692800000.0,1181779200000.0,1181865600000.0,1182124800000.0,1182211200000.0,1182297600000.0,1182384000000.0,1182470400000.0,1182729600000.0,1182816000000.0,1182902400000.0,1182988800000.0,1183075200000.0,1183334400000.0,1183420800000.0,1183593600000.0,1183680000000.0,1183939200000.0,1184025600000.0,1184112000000.0,1184198400000.0,1184284800000.0,1184544000000.0,1184630400000.0,1184716800000.0,1184803200000.0,1184889600000.0,1185148800000.0,1185235200000.0,1185321600000.0,1185408000000.0,1185494400000.0,1185753600000.0,1185840000000.0,1185926400000.0,1186012800000.0,1186099200000.0,1186358400000.0,1186444800000.0,1186531200000.0,1186617600000.0,1186704000000.0,1186963200000.0,1187049600000.0,1187136000000.0,1187222400000.0,1187308800000.0,1187568000000.0,1187654400000.0,1187740800000.0,1187827200000.0,1187913600000.0,1188172800000.0,1188259200000.0,1188345600000.0,1188432000000.0,1188518400000.0,1188864000000.0,1188950400000.0,1189036800000.0,1189123200000.0,1189382400000.0,1189468800000.0,1189555200000.0,1189641600000.0,1189728000000.0,1189987200000.0,1190073600000.0,1190160000000.0,1190246400000.0,1190332800000.0,1190592000000.0,1190678400000.0,1190764800000.0,1190851200000.0,1190937600000.0,1191196800000.0,1191283200000.0,1191369600000.0,1191456000000.0,1191542400000.0,1191801600000.0,1191888000000.0,1191974400000.0,1192060800000.0,1192147200000.0,1192406400000.0,1192492800000.0,1192579200000.0,1192665600000.0,1192752000000.0,1193011200000.0,1193097600000.0,1193184000000.0,1193270400000.0,1193356800000.0,1193616000000.0,1193702400000.0,1193788800000.0,1193875200000.0,1193961600000.0,1194220800000.0,1194307200000.0,1194393600000.0,1194480000000.0,1194566400000.0,1194825600000.0,1194912000000.0,1194998400000.0,1195084800000.0,1195171200000.0,1195430400000.0,1195516800000.0,1195603200000.0,1195776000000.0,1196035200000.0,1196121600000.0,1196208000000.0,1196294400000.0,1196380800000.0,1196640000000.0,1196726400000.0,1196812800000.0,1196899200000.0,1196985600000.0,1197244800000.0,1197331200000.0,1197417600000.0,1197504000000.0,1197590400000.0,1197849600000.0,1197936000000.0,1198022400000.0,1198108800000.0,1198195200000.0,1198454400000.0,1198627200000.0,1198713600000.0,1198800000000.0,1199059200000.0,1199232000000.0,1199318400000.0,1199404800000.0,1199664000000.0,1199750400000.0,1199836800000.0,1199923200000.0,1200009600000.0,1200268800000.0,1200355200000.0,1200441600000.0,1200528000000.0,1200614400000.0,1200960000000.0,1201046400000.0,1201132800000.0,1201219200000.0,1201478400000.0,1201564800000.0,1201651200000.0,1201737600000.0,1201824000000.0,1202083200000.0,1202169600000.0,1202256000000.0,1202342400000.0,1202428800000.0,1202688000000.0,1202774400000.0,1202860800000.0,1202947200000.0,1203033600000.0,1203379200000.0,1203465600000.0,1203552000000.0,1203638400000.0,1203897600000.0,1203984000000.0,1204070400000.0,1204156800000.0,1204243200000.0,1204502400000.0,1204588800000.0,1204675200000.0,1204761600000.0,1204848000000.0,1205107200000.0,1205193600000.0,1205280000000.0,1205366400000.0,1205452800000.0,1205712000000.0,1205798400000.0,1205884800000.0,1205971200000.0,1206316800000.0,1206403200000.0,1206489600000.0,1206576000000.0,1206662400000.0,1206921600000.0,1207008000000.0,1207094400000.0,1207180800000.0,1207267200000.0,1207526400000.0,1207612800000.0,1207699200000.0,1207785600000.0,1207872000000.0,1208131200000.0,1208217600000.0,1208304000000.0,1208390400000.0,1208476800000.0,1208736000000.0,1208822400000.0,1208908800000.0,1208995200000.0,1209081600000.0,1209340800000.0,1209427200000.0,1209513600000.0,1209600000000.0,1209686400000.0,1209945600000.0,1210032000000.0,1210118400000.0,1210204800000.0,1210291200000.0,1210550400000.0,1210636800000.0,1210723200000.0,1210809600000.0,1210896000000.0,1211155200000.0,1211241600000.0,1211328000000.0,1211414400000.0,1211500800000.0,1211846400000.0,1211932800000.0,1212019200000.0,1212105600000.0,1212364800000.0,1212451200000.0,1212537600000.0,1212624000000.0,1212710400000.0,1212969600000.0,1213056000000.0,1213142400000.0,1213228800000.0,1213315200000.0,1213574400000.0,1213660800000.0,1213747200000.0,1213833600000.0,1213920000000.0,1214179200000.0,1214265600000.0,1214352000000.0,1214438400000.0,1214524800000.0,1214784000000.0,1214870400000.0,1214956800000.0,1215043200000.0,1215388800000.0,1215475200000.0,1215561600000.0,1215648000000.0,1215734400000.0,1215993600000.0,1216080000000.0,1216166400000.0,1216252800000.0,1216339200000.0,1216598400000.0,1216684800000.0,1216771200000.0,1216857600000.0,1216944000000.0,1217203200000.0,1217289600000.0,1217376000000.0,1217462400000.0,1217548800000.0,1217808000000.0,1217894400000.0,1217980800000.0,1218067200000.0,1218153600000.0,1218412800000.0,1218499200000.0,1218585600000.0,1218672000000.0,1218758400000.0,1219017600000.0,1219104000000.0,1219190400000.0,1219276800000.0,1219363200000.0,1219622400000.0,1219708800000.0,1219795200000.0,1219881600000.0,1219968000000.0,1220313600000.0,1220400000000.0,1220486400000.0,1220572800000.0,1220832000000.0,1220918400000.0,1221004800000.0,1221091200000.0,1221177600000.0,1221436800000.0,1221523200000.0,1221609600000.0,1221696000000.0,1221782400000.0,1222041600000.0,1222128000000.0,1222214400000.0,1222300800000.0,1222387200000.0,1222646400000.0,1222732800000.0,1222819200000.0,1222905600000.0,1222992000000.0,1223251200000.0,1223337600000.0,1223424000000.0,1223510400000.0,1223596800000.0,1223856000000.0,1223942400000.0,1224028800000.0,1224115200000.0,1224201600000.0,1224460800000.0,1224547200000.0,1224633600000.0,1224720000000.0,1224806400000.0,1225065600000.0,1225152000000.0,1225238400000.0,1225324800000.0,1225411200000.0,1225670400000.0,1225756800000.0,1225843200000.0,1225929600000.0,1226016000000.0,1226275200000.0,1226361600000.0,1226448000000.0,1226534400000.0,1226620800000.0,1226880000000.0,1226966400000.0,1227052800000.0,1227139200000.0,1227225600000.0,1227484800000.0,1227571200000.0,1227657600000.0,1227830400000.0,1228089600000.0,1228176000000.0,1228262400000.0,1228348800000.0,1228435200000.0,1228694400000.0,1228780800000.0,1228867200000.0,1228953600000.0,1229040000000.0,1229299200000.0,1229385600000.0,1229472000000.0,1229558400000.0,1229644800000.0,1229904000000.0,1229990400000.0,1230076800000.0,1230249600000.0,1230508800000.0,1230595200000.0,1230681600000.0,1230854400000.0,1231113600000.0,1231200000000.0,1231286400000.0,1231372800000.0,1231459200000.0,1231718400000.0,1231804800000.0,1231891200000.0,1231977600000.0,1232064000000.0,1232409600000.0,1232496000000.0,1232582400000.0,1232668800000.0,1232928000000.0,1233014400000.0,1233100800000.0,1233187200000.0,1233273600000.0,1233532800000.0,1233619200000.0,1233705600000.0,1233792000000.0,1233878400000.0,1234137600000.0,1234224000000.0,1234310400000.0,1234396800000.0,1234483200000.0,1234828800000.0,1234915200000.0,1235001600000.0,1235088000000.0,1235347200000.0,1235433600000.0,1235520000000.0,1235606400000.0,1235692800000.0,1235952000000.0,1236038400000.0,1236124800000.0,1236211200000.0,1236297600000.0,1236556800000.0,1236643200000.0,1236729600000.0,1236816000000.0,1236902400000.0,1237161600000.0,1237248000000.0,1237334400000.0,1237420800000.0,1237507200000.0,1237766400000.0,1237852800000.0,1237939200000.0,1238025600000.0,1238112000000.0,1238371200000.0,1238457600000.0,1238544000000.0,1238630400000.0,1238716800000.0,1238976000000.0,1239062400000.0,1239148800000.0,1239235200000.0,1239580800000.0,1239667200000.0,1239753600000.0,1239840000000.0,1239926400000.0,1240185600000.0,1240272000000.0,1240358400000.0,1240444800000.0,1240531200000.0,1240790400000.0,1240876800000.0,1240963200000.0,1241049600000.0,1241136000000.0,1241395200000.0,1241481600000.0,1241568000000.0,1241654400000.0,1241740800000.0,1242000000000.0,1242086400000.0,1242172800000.0,1242259200000.0,1242345600000.0,1242604800000.0,1242691200000.0,1242777600000.0,1242864000000.0,1242950400000.0,1243296000000.0,1243382400000.0,1243468800000.0,1243555200000.0,1243814400000.0,1243900800000.0,1243987200000.0,1244073600000.0,1244160000000.0,1244419200000.0,1244505600000.0,1244592000000.0,1244678400000.0,1244764800000.0,1245024000000.0,1245110400000.0,1245196800000.0,1245283200000.0,1245369600000.0,1245628800000.0,1245715200000.0,1245801600000.0,1245888000000.0,1245974400000.0,1246233600000.0,1246320000000.0,1246406400000.0,1246492800000.0,1246838400000.0,1246924800000.0,1247011200000.0,1247097600000.0,1247184000000.0,1247443200000.0,1247529600000.0,1247616000000.0,1247702400000.0,1247788800000.0,1248048000000.0,1248134400000.0,1248220800000.0,1248307200000.0,1248393600000.0,1248652800000.0,1248739200000.0,1248825600000.0,1248912000000.0,1248998400000.0,1249257600000.0,1249344000000.0,1249430400000.0,1249516800000.0,1249603200000.0,1249862400000.0,1249948800000.0,1250035200000.0,1250121600000.0,1250208000000.0,1250467200000.0,1250553600000.0,1250640000000.0,1250726400000.0,1250812800000.0,1251072000000.0,1251158400000.0,1251244800000.0,1251331200000.0,1251417600000.0,1251676800000.0,1251763200000.0,1251849600000.0,1251936000000.0,1252022400000.0,1252368000000.0,1252454400000.0,1252540800000.0,1252627200000.0,1252886400000.0,1252972800000.0,1253059200000.0,1253145600000.0,1253232000000.0,1253491200000.0,1253577600000.0,1253664000000.0,1253750400000.0,1253836800000.0,1254096000000.0,1254182400000.0,1254268800000.0,1254355200000.0,1254441600000.0,1254700800000.0,1254787200000.0,1254873600000.0,1254960000000.0,1255046400000.0,1255305600000.0,1255392000000.0,1255478400000.0,1255564800000.0,1255651200000.0,1255910400000.0,1255996800000.0,1256083200000.0,1256169600000.0,1256256000000.0,1256515200000.0,1256601600000.0,1256688000000.0,1256774400000.0,1256860800000.0,1257120000000.0,1257206400000.0,1257292800000.0,1257379200000.0,1257465600000.0,1257724800000.0,1257811200000.0,1257897600000.0,1257984000000.0,1258070400000.0,1258329600000.0,1258416000000.0,1258502400000.0,1258588800000.0,1258675200000.0,1258934400000.0,1259020800000.0,1259107200000.0,1259280000000.0,1259539200000.0,1259625600000.0,1259712000000.0,1259798400000.0,1259884800000.0,1260144000000.0,1260230400000.0,1260316800000.0,1260403200000.0,1260489600000.0,1260748800000.0,1260835200000.0,1260921600000.0,1261008000000.0,1261094400000.0,1261353600000.0,1261440000000.0,1261526400000.0,1261612800000.0,1261958400000.0,1262044800000.0,1262131200000.0,1262217600000.0,1262563200000.0,1262649600000.0,1262736000000.0,1262822400000.0,1262908800000.0,1263168000000.0,1263254400000.0,1263340800000.0,1263427200000.0,1263513600000.0,1263859200000.0,1263945600000.0,1264032000000.0,1264118400000.0,1264377600000.0,1264464000000.0,1264550400000.0,1264636800000.0,1264723200000.0,1264982400000.0,1265068800000.0,1265155200000.0,1265241600000.0,1265328000000.0,1265587200000.0,1265673600000.0,1265760000000.0,1265846400000.0,1265932800000.0,1266278400000.0,1266364800000.0,1266451200000.0,1266537600000.0,1266796800000.0,1266883200000.0,1266969600000.0,1267056000000.0,1267142400000.0,1267401600000.0,1267488000000.0,1267574400000.0,1267660800000.0,1267747200000.0,1268006400000.0,1268092800000.0,1268179200000.0,1268265600000.0,1268352000000.0,1268611200000.0,1268697600000.0,1268784000000.0,1268870400000.0,1268956800000.0,1269216000000.0,1269302400000.0,1269388800000.0,1269475200000.0,1269561600000.0,1269820800000.0,1269907200000.0,1269993600000.0,1270080000000.0,1270425600000.0,1270512000000.0,1270598400000.0,1270684800000.0,1270771200000.0,1271030400000.0,1271116800000.0,1271203200000.0,1271289600000.0,1271376000000.0,1271635200000.0,1271721600000.0,1271808000000.0,1271894400000.0,1271980800000.0,1272240000000.0,1272326400000.0,1272412800000.0,1272499200000.0,1272585600000.0,1272844800000.0,1272931200000.0,1273017600000.0,1273104000000.0,1273190400000.0,1273449600000.0,1273536000000.0,1273622400000.0,1273708800000.0,1273795200000.0,1274054400000.0,1274140800000.0,1274227200000.0,1274313600000.0,1274400000000.0,1274659200000.0,1274745600000.0,1274832000000.0,1274918400000.0,1275004800000.0,1275350400000.0,1275436800000.0,1275523200000.0,1275609600000.0,1275868800000.0,1275955200000.0,1276041600000.0,1276128000000.0,1276214400000.0,1276473600000.0,1276560000000.0,1276646400000.0,1276732800000.0,1276819200000.0,1277078400000.0,1277164800000.0,1277251200000.0,1277337600000.0,1277424000000.0,1277683200000.0,1277769600000.0,1277856000000.0,1277942400000.0,1278028800000.0,1278374400000.0,1278460800000.0,1278547200000.0,1278633600000.0,1278892800000.0,1278979200000.0,1279065600000.0,1279152000000.0,1279238400000.0,1279497600000.0,1279584000000.0,1279670400000.0,1279756800000.0,1279843200000.0,1280102400000.0,1280188800000.0,1280275200000.0,1280361600000.0,1280448000000.0,1280707200000.0,1280793600000.0,1280880000000.0,1280966400000.0,1281052800000.0,1281312000000.0,1281398400000.0,1281484800000.0,1281571200000.0,1281657600000.0,1281916800000.0,1282003200000.0,1282089600000.0,1282176000000.0,1282262400000.0,1282521600000.0,1282608000000.0,1282694400000.0,1282780800000.0,1282867200000.0,1283126400000.0,1283212800000.0,1283299200000.0,1283385600000.0,1283472000000.0,1283817600000.0,1283904000000.0,1283990400000.0,1284076800000.0,1284336000000.0,1284422400000.0,1284508800000.0,1284595200000.0,1284681600000.0,1284940800000.0,1285027200000.0,1285113600000.0,1285200000000.0,1285286400000.0,1285545600000.0,1285632000000.0,1285718400000.0,1285804800000.0,1285891200000.0,1286150400000.0,1286236800000.0,1286323200000.0,1286409600000.0,1286496000000.0,1286755200000.0,1286841600000.0,1286928000000.0,1287014400000.0,1287100800000.0,1287360000000.0,1287446400000.0,1287532800000.0,1287619200000.0,1287705600000.0,1287964800000.0,1288051200000.0,1288137600000.0,1288224000000.0,1288310400000.0,1288569600000.0,1288656000000.0,1288742400000.0,1288828800000.0,1288915200000.0,1289174400000.0,1289260800000.0,1289347200000.0,1289433600000.0,1289520000000.0,1289779200000.0,1289865600000.0,1289952000000.0,1290038400000.0,1290124800000.0,1290384000000.0,1290470400000.0,1290556800000.0,1290729600000.0,1290988800000.0,1291075200000.0,1291161600000.0,1291248000000.0,1291334400000.0,1291593600000.0,1291680000000.0,1291766400000.0,1291852800000.0,1291939200000.0,1292198400000.0,1292284800000.0,1292371200000.0,1292457600000.0,1292544000000.0,1292803200000.0,1292889600000.0,1292976000000.0,1293062400000.0,1293408000000.0,1293494400000.0,1293580800000.0,1293667200000.0,1293753600000.0,1294012800000.0,1294099200000.0,1294185600000.0,1294272000000.0,1294358400000.0,1294617600000.0,1294704000000.0,1294790400000.0,1294876800000.0,1294963200000.0,1295308800000.0,1295395200000.0,1295481600000.0,1295568000000.0,1295827200000.0,1295913600000.0,1296000000000.0,1296086400000.0,1296172800000.0,1296432000000.0,1296518400000.0,1296604800000.0,1296691200000.0,1296777600000.0,1297036800000.0,1297123200000.0,1297209600000.0,1297296000000.0,1297382400000.0,1297641600000.0,1297728000000.0,1297814400000.0,1297900800000.0,1297987200000.0,1298332800000.0,1298419200000.0,1298505600000.0,1298592000000.0,1298851200000.0,1298937600000.0,1299024000000.0,1299110400000.0,1299196800000.0,1299456000000.0,1299542400000.0,1299628800000.0,1299715200000.0,1299801600000.0,1300060800000.0,1300147200000.0,1300233600000.0,1300320000000.0,1300406400000.0,1300665600000.0,1300752000000.0,1300838400000.0,1300924800000.0,1301011200000.0,1301270400000.0,1301356800000.0,1301443200000.0,1301529600000.0,1301616000000.0,1301875200000.0,1301961600000.0,1302048000000.0,1302134400000.0,1302220800000.0,1302480000000.0,1302566400000.0,1302652800000.0,1302739200000.0,1302825600000.0,1303084800000.0,1303171200000.0,1303257600000.0,1303344000000.0,1303689600000.0,1303776000000.0,1303862400000.0,1303948800000.0,1304035200000.0,1304294400000.0,1304380800000.0,1304467200000.0,1304553600000.0,1304640000000.0,1304899200000.0,1304985600000.0,1305072000000.0,1305158400000.0,1305244800000.0,1305504000000.0,1305590400000.0,1305676800000.0,1305763200000.0,1305849600000.0,1306108800000.0,1306195200000.0,1306281600000.0,1306368000000.0,1306454400000.0,1306800000000.0,1306886400000.0,1306972800000.0,1307059200000.0,1307318400000.0,1307404800000.0,1307491200000.0,1307577600000.0,1307664000000.0,1307923200000.0,1308009600000.0,1308096000000.0,1308182400000.0,1308268800000.0,1308528000000.0,1308614400000.0,1308700800000.0,1308787200000.0,1308873600000.0,1309132800000.0,1309219200000.0,1309305600000.0,1309392000000.0,1309478400000.0,1309824000000.0,1309910400000.0,1309996800000.0,1310083200000.0,1310342400000.0,1310428800000.0,1310515200000.0,1310601600000.0,1310688000000.0,1310947200000.0,1311033600000.0,1311120000000.0,1311206400000.0,1311292800000.0,1311552000000.0,1311638400000.0,1311724800000.0,1311811200000.0,1311897600000.0,1312156800000.0,1312243200000.0,1312329600000.0,1312416000000.0,1312502400000.0,1312761600000.0,1312848000000.0,1312934400000.0,1313020800000.0,1313107200000.0,1313366400000.0,1313452800000.0,1313539200000.0,1313625600000.0,1313712000000.0,1313971200000.0,1314057600000.0,1314144000000.0,1314230400000.0,1314316800000.0,1314576000000.0,1314662400000.0,1314748800000.0,1314835200000.0,1314921600000.0,1315267200000.0,1315353600000.0,1315440000000.0,1315526400000.0,1315785600000.0,1315872000000.0,1315958400000.0,1316044800000.0,1316131200000.0,1316390400000.0,1316476800000.0,1316563200000.0,1316649600000.0,1316736000000.0,1316995200000.0,1317081600000.0,1317168000000.0,1317254400000.0,1317340800000.0,1317600000000.0,1317686400000.0,1317772800000.0,1317859200000.0,1317945600000.0,1318204800000.0,1318291200000.0,1318377600000.0,1318464000000.0,1318550400000.0,1318809600000.0,1318896000000.0,1318982400000.0,1319068800000.0,1319155200000.0,1319414400000.0,1319500800000.0,1319587200000.0,1319673600000.0,1319760000000.0,1320019200000.0,1320105600000.0,1320192000000.0,1320278400000.0,1320364800000.0,1320624000000.0,1320710400000.0,1320796800000.0,1320883200000.0,1320969600000.0,1321228800000.0,1321315200000.0,1321401600000.0,1321488000000.0,1321574400000.0,1321833600000.0,1321920000000.0,1322006400000.0,1322179200000.0,1322438400000.0,1322524800000.0,1322611200000.0,1322697600000.0,1322784000000.0,1323043200000.0,1323129600000.0,1323216000000.0,1323302400000.0,1323388800000.0,1323648000000.0,1323734400000.0,1323820800000.0,1323907200000.0,1323993600000.0,1324252800000.0,1324339200000.0,1324425600000.0,1324512000000.0,1324598400000.0,1324944000000.0,1325030400000.0,1325116800000.0,1325203200000.0,1325548800000.0,1325635200000.0,1325721600000.0,1325808000000.0,1326067200000.0,1326153600000.0,1326240000000.0,1326326400000.0,1326412800000.0,1326758400000.0,1326844800000.0,1326931200000.0,1327017600000.0,1327276800000.0,1327363200000.0,1327449600000.0,1327536000000.0,1327622400000.0,1327881600000.0,1327968000000.0,1328054400000.0,1328140800000.0,1328227200000.0,1328486400000.0,1328572800000.0,1328659200000.0,1328745600000.0,1328832000000.0,1329091200000.0,1329177600000.0,1329264000000.0,1329350400000.0,1329436800000.0,1329782400000.0,1329868800000.0,1329955200000.0,1330041600000.0,1330300800000.0,1330387200000.0,1330473600000.0,1330560000000.0,1330646400000.0,1330905600000.0,1330992000000.0,1331078400000.0,1331164800000.0,1331251200000.0,1331510400000.0,1331596800000.0,1331683200000.0,1331769600000.0,1331856000000.0,1332115200000.0,1332201600000.0,1332288000000.0,1332374400000.0,1332460800000.0,1332720000000.0,1332806400000.0,1332892800000.0,1332979200000.0,1333065600000.0,1333324800000.0,1333411200000.0,1333497600000.0,1333584000000.0,1333929600000.0,1334016000000.0,1334102400000.0,1334188800000.0,1334275200000.0,1334534400000.0,1334620800000.0,1334707200000.0,1334793600000.0,1334880000000.0,1335139200000.0,1335225600000.0,1335312000000.0,1335398400000.0,1335484800000.0,1335744000000.0,1335830400000.0,1335916800000.0,1336003200000.0,1336089600000.0,1336348800000.0,1336435200000.0,1336521600000.0,1336608000000.0,1336694400000.0,1336953600000.0,1337040000000.0,1337126400000.0,1337212800000.0,1337299200000.0,1337558400000.0,1337644800000.0,1337731200000.0,1337817600000.0,1337904000000.0,1338249600000.0,1338336000000.0,1338422400000.0,1338508800000.0,1338768000000.0,1338854400000.0,1338940800000.0,1339027200000.0,1339113600000.0,1339372800000.0,1339459200000.0,1339545600000.0,1339632000000.0,1339718400000.0,1339977600000.0,1340064000000.0,1340150400000.0,1340236800000.0,1340323200000.0,1340582400000.0,1340668800000.0,1340755200000.0,1340841600000.0,1340928000000.0,1341187200000.0,1341273600000.0,1341446400000.0,1341532800000.0,1341792000000.0,1341878400000.0,1341964800000.0,1342051200000.0,1342137600000.0,1342396800000.0,1342483200000.0,1342569600000.0,1342656000000.0,1342742400000.0,1343001600000.0,1343088000000.0,1343174400000.0,1343260800000.0,1343347200000.0,1343606400000.0,1343692800000.0,1343779200000.0,1343865600000.0,1343952000000.0,1344211200000.0,1344297600000.0,1344384000000.0,1344470400000.0,1344556800000.0,1344816000000.0,1344902400000.0,1344988800000.0,1345075200000.0,1345161600000.0,1345420800000.0,1345507200000.0,1345593600000.0,1345680000000.0,1345766400000.0,1346025600000.0,1346112000000.0,1346198400000.0,1346284800000.0,1346371200000.0,1346716800000.0,1346803200000.0,1346889600000.0,1346976000000.0,1347235200000.0,1347321600000.0,1347408000000.0,1347494400000.0,1347580800000.0,1347840000000.0,1347926400000.0,1348012800000.0,1348099200000.0,1348185600000.0,1348444800000.0,1348531200000.0,1348617600000.0,1348704000000.0,1348790400000.0,1349049600000.0,1349136000000.0,1349222400000.0,1349308800000.0,1349395200000.0,1349654400000.0,1349740800000.0,1349827200000.0,1349913600000.0,1350000000000.0,1350259200000.0,1350345600000.0,1350432000000.0,1350518400000.0,1350604800000.0,1350864000000.0,1350950400000.0,1351036800000.0,1351123200000.0,1351209600000.0,1351641600000.0,1351728000000.0,1351814400000.0,1352073600000.0,1352160000000.0,1352246400000.0,1352332800000.0,1352419200000.0,1352678400000.0,1352764800000.0,1352851200000.0,1352937600000.0,1353024000000.0,1353283200000.0,1353369600000.0,1353456000000.0,1353628800000.0,1353888000000.0,1353974400000.0,1354060800000.0,1354147200000.0,1354233600000.0,1354492800000.0,1354579200000.0,1354665600000.0,1354752000000.0,1354838400000.0,1355097600000.0,1355184000000.0,1355270400000.0,1355356800000.0,1355443200000.0,1355702400000.0,1355788800000.0,1355875200000.0,1355961600000.0,1356048000000.0,1356307200000.0,1356480000000.0,1356566400000.0,1356652800000.0,1356912000000.0,1357084800000.0,1357171200000.0,1357257600000.0,1357516800000.0,1357603200000.0,1357689600000.0,1357776000000.0,1357862400000.0,1358121600000.0,1358208000000.0,1358294400000.0,1358380800000.0,1358467200000.0,1358812800000.0,1358899200000.0,1358985600000.0,1359072000000.0,1359331200000.0,1359417600000.0,1359504000000.0,1359590400000.0,1359676800000.0,1359936000000.0,1360022400000.0,1360108800000.0,1360195200000.0,1360281600000.0,1360540800000.0,1360627200000.0,1360713600000.0,1360800000000.0,1360886400000.0,1361232000000.0,1361318400000.0,1361404800000.0,1361491200000.0,1361750400000.0,1361836800000.0,1361923200000.0,1362009600000.0,1362096000000.0,1362355200000.0,1362441600000.0,1362528000000.0,1362614400000.0,1362700800000.0,1362960000000.0,1363046400000.0,1363132800000.0,1363219200000.0,1363305600000.0,1363564800000.0,1363651200000.0,1363737600000.0,1363824000000.0,1363910400000.0,1364169600000.0,1364256000000.0,1364342400000.0,1364428800000.0,1364774400000.0,1364860800000.0,1364947200000.0,1365033600000.0,1365120000000.0,1365379200000.0,1365465600000.0,1365552000000.0,1365638400000.0,1365724800000.0,1365984000000.0,1366070400000.0,1366156800000.0,1366243200000.0,1366329600000.0,1366588800000.0,1366675200000.0,1366761600000.0,1366848000000.0,1366934400000.0,1367193600000.0,1367280000000.0,1367366400000.0,1367452800000.0,1367539200000.0,1367798400000.0,1367884800000.0,1367971200000.0,1368057600000.0,1368144000000.0,1368403200000.0,1368489600000.0,1368576000000.0,1368662400000.0,1368748800000.0,1369008000000.0,1369094400000.0,1369180800000.0,1369267200000.0,1369353600000.0,1369699200000.0,1369785600000.0,1369872000000.0,1369958400000.0,1370217600000.0,1370304000000.0,1370390400000.0,1370476800000.0,1370563200000.0,1370822400000.0,1370908800000.0,1370995200000.0,1371081600000.0,1371168000000.0,1371427200000.0,1371513600000.0,1371600000000.0,1371686400000.0,1371772800000.0,1372032000000.0,1372118400000.0,1372204800000.0,1372291200000.0,1372377600000.0,1372636800000.0,1372723200000.0,1372809600000.0,1372982400000.0,1373241600000.0,1373328000000.0,1373414400000.0,1373500800000.0,1373587200000.0,1373846400000.0,1373932800000.0,1374019200000.0,1374105600000.0,1374192000000.0,1374451200000.0,1374537600000.0,1374624000000.0,1374710400000.0,1374796800000.0,1375056000000.0,1375142400000.0,1375228800000.0,1375315200000.0,1375401600000.0,1375660800000.0,1375747200000.0,1375833600000.0,1375920000000.0,1376006400000.0,1376265600000.0,1376352000000.0,1376438400000.0,1376524800000.0,1376611200000.0,1376870400000.0,1376956800000.0,1377043200000.0,1377129600000.0,1377216000000.0,1377475200000.0,1377561600000.0,1377648000000.0,1377734400000.0,1377820800000.0,1378166400000.0,1378252800000.0,1378339200000.0,1378425600000.0,1378684800000.0,1378771200000.0,1378857600000.0,1378944000000.0,1379030400000.0,1379289600000.0,1379376000000.0,1379462400000.0,1379548800000.0,1379635200000.0,1379894400000.0,1379980800000.0,1380067200000.0,1380153600000.0,1380240000000.0,1380499200000.0,1380585600000.0,1380672000000.0,1380758400000.0,1380844800000.0,1381104000000.0,1381190400000.0,1381276800000.0,1381363200000.0,1381449600000.0,1381708800000.0,1381795200000.0,1381881600000.0,1381968000000.0,1382054400000.0,1382313600000.0,1382400000000.0,1382486400000.0,1382572800000.0,1382659200000.0,1382918400000.0,1383004800000.0,1383091200000.0,1383177600000.0,1383264000000.0,1383523200000.0,1383609600000.0,1383696000000.0,1383782400000.0,1383868800000.0,1384128000000.0,1384214400000.0,1384300800000.0,1384387200000.0,1384473600000.0,1384732800000.0,1384819200000.0,1384905600000.0,1384992000000.0,1385078400000.0,1385337600000.0,1385424000000.0,1385510400000.0,1385683200000.0,1385942400000.0,1386028800000.0,1386115200000.0,1386201600000.0,1386288000000.0,1386547200000.0,1386633600000.0,1386720000000.0,1386806400000.0,1386892800000.0,1387152000000.0,1387238400000.0,1387324800000.0,1387411200000.0,1387497600000.0,1387756800000.0,1387843200000.0,1388016000000.0,1388102400000.0,1388361600000.0,1388448000000.0],\"y\":{\"__ndarray__\":\"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\",\"dtype\":\"float64\",\"shape\":[3521]}},\"selected\":{\"id\":\"1517\",\"type\":\"Selection\"},\"selection_policy\":{\"id\":\"1516\",\"type\":\"UnionRenderers\"}},\"id\":\"1459\",\"type\":\"ColumnDataSource\"},{\"attributes\":{},\"id\":\"1393\",\"type\":\"SaveTool\"},{\"attributes\":{\"days\":[1,8,15,22]},\"id\":\"1422\",\"type\":\"DaysTicker\"},{\"attributes\":{\"line_alpha\":0.8,\"line_color\":\"#2ca02c\",\"line_width\":2,\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"1460\",\"type\":\"Line\"},{\"attributes\":{},\"id\":\"1394\",\"type\":\"ResetTool\"},{\"attributes\":{\"days\":[1,15]},\"id\":\"1423\",\"type\":\"DaysTicker\"},{\"attributes\":{\"line_alpha\":0.1,\"line_color\":\"#1f77b4\",\"line_width\":2,\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"1461\",\"type\":\"Line\"},{\"attributes\":{},\"id\":\"1376\",\"type\":\"LinearScale\"},{\"attributes\":{},\"id\":\"1395\",\"type\":\"HelpTool\"},{\"attributes\":{\"months\":[0,1,2,3,4,5,6,7,8,9,10,11]},\"id\":\"1424\",\"type\":\"MonthsTicker\"},{\"attributes\":{\"data_source\":{\"id\":\"1459\",\"type\":\"ColumnDataSource\"},\"glyph\":{\"id\":\"1460\",\"type\":\"Line\"},\"hover_glyph\":null,\"muted_glyph\":null,\"nonselection_glyph\":{\"id\":\"1461\",\"type\":\"Line\"},\"selection_glyph\":null,\"view\":{\"id\":\"1463\",\"type\":\"CDSView\"}},\"id\":\"1462\",\"type\":\"GlyphRenderer\"},{\"attributes\":{\"active_drag\":\"auto\",\"active_inspect\":\"auto\",\"active_multi\":null,\"active_scroll\":\"auto\",\"active_tap\":\"auto\",\"tools\":[{\"id\":\"1390\",\"type\":\"PanTool\"},{\"id\":\"1391\",\"type\":\"WheelZoomTool\"},{\"id\":\"1392\",\"type\":\"BoxZoomTool\"},{\"id\":\"1393\",\"type\":\"SaveTool\"},{\"id\":\"1394\",\"type\":\"ResetTool\"},{\"id\":\"1395\",\"type\":\"HelpTool\"}]},\"id\":\"1396\",\"type\":\"Toolbar\"},{\"attributes\":{\"num_minor_ticks\":5,\"tickers\":[{\"id\":\"1417\",\"type\":\"AdaptiveTicker\"},{\"id\":\"1418\",\"type\":\"AdaptiveTicker\"},{\"id\":\"1419\",\"type\":\"AdaptiveTicker\"},{\"id\":\"1420\",\"type\":\"DaysTicker\"},{\"id\":\"1421\",\"type\":\"DaysTicker\"},{\"id\":\"1422\",\"type\":\"DaysTicker\"},{\"id\":\"1423\",\"type\":\"DaysTicker\"},{\"id\":\"1424\",\"type\":\"MonthsTicker\"},{\"id\":\"1425\",\"type\":\"MonthsTicker\"},{\"id\":\"1426\",\"type\":\"MonthsTicker\"},{\"id\":\"1427\",\"type\":\"MonthsTicker\"},{\"id\":\"1428\",\"type\":\"YearsTicker\"}]},\"id\":\"1381\",\"type\":\"DatetimeTicker\"},{\"attributes\":{\"months\":[0,2,4,6,8,10]},\"id\":\"1425\",\"type\":\"MonthsTicker\"},{\"attributes\":{\"source\":{\"id\":\"1459\",\"type\":\"ColumnDataSource\"}},\"id\":\"1463\",\"type\":\"CDSView\"},{\"attributes\":{\"months\":[0,4,8]},\"id\":\"1426\",\"type\":\"MonthsTicker\"},{\"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\":\"1398\",\"type\":\"BoxAnnotation\"},{\"attributes\":{},\"id\":\"1485\",\"type\":\"UnionRenderers\"},{\"attributes\":{\"months\":[0,6]},\"id\":\"1427\",\"type\":\"MonthsTicker\"},{\"attributes\":{},\"id\":\"1575\",\"type\":\"UnionRenderers\"},{\"attributes\":{\"label\":{\"value\":\"AAPL\"},\"renderers\":[{\"id\":\"1409\",\"type\":\"GlyphRenderer\"}]},\"id\":\"1431\",\"type\":\"LegendItem\"},{\"attributes\":{\"callback\":null,\"data\":{\"x\":[946857600000.0,946944000000.0,947030400000.0,947116800000.0,947203200000.0,947462400000.0,947548800000.0,947635200000.0,947721600000.0,947808000000.0,948153600000.0,948240000000.0,948326400000.0,948412800000.0,948672000000.0,948758400000.0,948844800000.0,948931200000.0,949017600000.0,949276800000.0,949363200000.0,949449600000.0,949536000000.0,949622400000.0,949881600000.0,949968000000.0,950054400000.0,950140800000.0,950227200000.0,950486400000.0,950572800000.0,950659200000.0,950745600000.0,950832000000.0,951177600000.0,951264000000.0,951350400000.0,951436800000.0,951696000000.0,951782400000.0,951868800000.0,951955200000.0,952041600000.0,952300800000.0,952387200000.0,952473600000.0,952560000000.0,952646400000.0,952905600000.0,952992000000.0,953078400000.0,953164800000.0,953251200000.0,953510400000.0,953596800000.0,953683200000.0,953769600000.0,953856000000.0,954115200000.0,954201600000.0,954288000000.0,954374400000.0,954460800000.0,954720000000.0,954806400000.0,954892800000.0,954979200000.0,955065600000.0,955324800000.0,955411200000.0,955497600000.0,955584000000.0,955670400000.0,955929600000.0,956016000000.0,956102400000.0,956188800000.0,956534400000.0,956620800000.0,956707200000.0,956793600000.0,956880000000.0,957139200000.0,957225600000.0,957312000000.0,957398400000.0,957484800000.0,957744000000.0,957830400000.0,957916800000.0,958003200000.0,958089600000.0,958348800000.0,958435200000.0,958521600000.0,958608000000.0,958694400000.0,958953600000.0,959040000000.0,959126400000.0,959212800000.0,959299200000.0,959644800000.0,959731200000.0,959817600000.0,959904000000.0,960163200000.0,960249600000.0,960336000000.0,960422400000.0,960508800000.0,960768000000.0,960854400000.0,960940800000.0,961027200000.0,961113600000.0,961372800000.0,961459200000.0,961545600000.0,961632000000.0,961718400000.0,961977600000.0,962064000000.0,962150400000.0,962236800000.0,962323200000.0,962582400000.0,962755200000.0,962841600000.0,962928000000.0,963187200000.0,963273600000.0,963360000000.0,963446400000.0,963532800000.0,963792000000.0,963878400000.0,963964800000.0,964051200000.0,964137600000.0,964396800000.0,964483200000.0,964569600000.0,964656000000.0,964742400000.0,965001600000.0,965088000000.0,965174400000.0,965260800000.0,965347200000.0,965606400000.0,965692800000.0,965779200000.0,965865600000.0,965952000000.0,966211200000.0,966297600000.0,966384000000.0,966470400000.0,966556800000.0,966816000000.0,966902400000.0,966988800000.0,967075200000.0,967161600000.0,967420800000.0,967507200000.0,967593600000.0,967680000000.0,967766400000.0,968112000000.0,968198400000.0,968284800000.0,968371200000.0,968630400000.0,968716800000.0,968803200000.0,968889600000.0,968976000000.0,969235200000.0,969321600000.0,969408000000.0,969494400000.0,969580800000.0,969840000000.0,969926400000.0,970012800000.0,970099200000.0,970185600000.0,970444800000.0,970531200000.0,970617600000.0,970704000000.0,970790400000.0,971049600000.0,971136000000.0,971222400000.0,971308800000.0,971395200000.0,971654400000.0,971740800000.0,971827200000.0,971913600000.0,972000000000.0,972259200000.0,972345600000.0,972432000000.0,972518400000.0,972604800000.0,972864000000.0,972950400000.0,973036800000.0,973123200000.0,973209600000.0,973468800000.0,973555200000.0,973641600000.0,973728000000.0,973814400000.0,974073600000.0,974160000000.0,974246400000.0,974332800000.0,974419200000.0,974678400000.0,974764800000.0,974851200000.0,975024000000.0,975283200000.0,975369600000.0,975456000000.0,975542400000.0,975628800000.0,975888000000.0,975974400000.0,976060800000.0,976147200000.0,976233600000.0,976492800000.0,976579200000.0,976665600000.0,976752000000.0,976838400000.0,977097600000.0,977184000000.0,977270400000.0,977356800000.0,977443200000.0,977788800000.0,977875200000.0,977961600000.0,978048000000.0,978393600000.0,978480000000.0,978566400000.0,978652800000.0,978912000000.0,978998400000.0,979084800000.0,979171200000.0,979257600000.0,979603200000.0,979689600000.0,979776000000.0,979862400000.0,980121600000.0,980208000000.0,980294400000.0,980380800000.0,980467200000.0,980726400000.0,980812800000.0,980899200000.0,980985600000.0,981072000000.0,981331200000.0,981417600000.0,981504000000.0,981590400000.0,981676800000.0,981936000000.0,982022400000.0,982108800000.0,982195200000.0,982281600000.0,982627200000.0,982713600000.0,982800000000.0,982886400000.0,983145600000.0,983232000000.0,983318400000.0,983404800000.0,983491200000.0,983750400000.0,983836800000.0,983923200000.0,984009600000.0,984096000000.0,984355200000.0,984441600000.0,984528000000.0,984614400000.0,984700800000.0,984960000000.0,985046400000.0,985132800000.0,985219200000.0,985305600000.0,985564800000.0,985651200000.0,985737600000.0,985824000000.0,985910400000.0,986169600000.0,986256000000.0,986342400000.0,986428800000.0,986515200000.0,986774400000.0,986860800000.0,986947200000.0,987033600000.0,987379200000.0,987465600000.0,987552000000.0,987638400000.0,987724800000.0,987984000000.0,988070400000.0,988156800000.0,988243200000.0,988329600000.0,988588800000.0,988675200000.0,988761600000.0,988848000000.0,988934400000.0,989193600000.0,989280000000.0,989366400000.0,989452800000.0,989539200000.0,989798400000.0,989884800000.0,989971200000.0,990057600000.0,990144000000.0,990403200000.0,990489600000.0,990576000000.0,990662400000.0,990748800000.0,991094400000.0,991180800000.0,991267200000.0,991353600000.0,991612800000.0,991699200000.0,991785600000.0,991872000000.0,991958400000.0,992217600000.0,992304000000.0,992390400000.0,992476800000.0,992563200000.0,992822400000.0,992908800000.0,992995200000.0,993081600000.0,993168000000.0,993427200000.0,993513600000.0,993600000000.0,993686400000.0,993772800000.0,994032000000.0,994118400000.0,994291200000.0,994377600000.0,994636800000.0,994723200000.0,994809600000.0,994896000000.0,994982400000.0,995241600000.0,995328000000.0,995414400000.0,995500800000.0,995587200000.0,995846400000.0,995932800000.0,996019200000.0,996105600000.0,996192000000.0,996451200000.0,996537600000.0,996624000000.0,996710400000.0,996796800000.0,997056000000.0,997142400000.0,997228800000.0,997315200000.0,997401600000.0,997660800000.0,997747200000.0,997833600000.0,997920000000.0,998006400000.0,998265600000.0,998352000000.0,998438400000.0,998524800000.0,998611200000.0,998870400000.0,998956800000.0,999043200000.0,999129600000.0,999216000000.0,999561600000.0,999648000000.0,999734400000.0,999820800000.0,1000080000000.0,1000684800000.0,1000771200000.0,1000857600000.0,1000944000000.0,1001030400000.0,1001289600000.0,1001376000000.0,1001462400000.0,1001548800000.0,1001635200000.0,1001894400000.0,1001980800000.0,1002067200000.0,1002153600000.0,1002240000000.0,1002499200000.0,1002585600000.0,1002672000000.0,1002758400000.0,1002844800000.0,1003104000000.0,1003190400000.0,1003276800000.0,1003363200000.0,1003449600000.0,1003708800000.0,1003795200000.0,1003881600000.0,1003968000000.0,1004054400000.0,1004313600000.0,1004400000000.0,1004486400000.0,1004572800000.0,1004659200000.0,1004918400000.0,1005004800000.0,1005091200000.0,1005177600000.0,1005264000000.0,1005523200000.0,1005609600000.0,1005696000000.0,1005782400000.0,1005868800000.0,1006128000000.0,1006214400000.0,1006300800000.0,1006473600000.0,1006732800000.0,1006819200000.0,1006905600000.0,1006992000000.0,1007078400000.0,1007337600000.0,1007424000000.0,1007510400000.0,1007596800000.0,1007683200000.0,1007942400000.0,1008028800000.0,1008115200000.0,1008201600000.0,1008288000000.0,1008547200000.0,1008633600000.0,1008720000000.0,1008806400000.0,1008892800000.0,1009152000000.0,1009324800000.0,1009411200000.0,1009497600000.0,1009756800000.0,1009929600000.0,1010016000000.0,1010102400000.0,1010361600000.0,1010448000000.0,1010534400000.0,1010620800000.0,1010707200000.0,1010966400000.0,1011052800000.0,1011139200000.0,1011225600000.0,1011312000000.0,1011657600000.0,1011744000000.0,1011830400000.0,1011916800000.0,1012176000000.0,1012262400000.0,1012348800000.0,1012435200000.0,1012521600000.0,1012780800000.0,1012867200000.0,1012953600000.0,1013040000000.0,1013126400000.0,1013385600000.0,1013472000000.0,1013558400000.0,1013644800000.0,1013731200000.0,1014076800000.0,1014163200000.0,1014249600000.0,1014336000000.0,1014595200000.0,1014681600000.0,1014768000000.0,1014854400000.0,1014940800000.0,1015200000000.0,1015286400000.0,1015372800000.0,1015459200000.0,1015545600000.0,1015804800000.0,1015891200000.0,1015977600000.0,1016064000000.0,1016150400000.0,1016409600000.0,1016496000000.0,1016582400000.0,1016668800000.0,1016755200000.0,1017014400000.0,1017100800000.0,1017187200000.0,1017273600000.0,1017619200000.0,1017705600000.0,1017792000000.0,1017878400000.0,1017964800000.0,1018224000000.0,1018310400000.0,1018396800000.0,1018483200000.0,1018569600000.0,1018828800000.0,1018915200000.0,1019001600000.0,1019088000000.0,1019174400000.0,1019433600000.0,1019520000000.0,1019606400000.0,1019692800000.0,1019779200000.0,1020038400000.0,1020124800000.0,1020211200000.0,1020297600000.0,1020384000000.0,1020643200000.0,1020729600000.0,1020816000000.0,1020902400000.0,1020988800000.0,1021248000000.0,1021334400000.0,1021420800000.0,1021507200000.0,1021593600000.0,1021852800000.0,1021939200000.0,1022025600000.0,1022112000000.0,1022198400000.0,1022544000000.0,1022630400000.0,1022716800000.0,1022803200000.0,1023062400000.0,1023148800000.0,1023235200000.0,1023321600000.0,1023408000000.0,1023667200000.0,1023753600000.0,1023840000000.0,1023926400000.0,1024012800000.0,1024272000000.0,1024358400000.0,1024444800000.0,1024531200000.0,1024617600000.0,1024876800000.0,1024963200000.0,1025049600000.0,1025136000000.0,1025222400000.0,1025481600000.0,1025568000000.0,1025654400000.0,1025827200000.0,1026086400000.0,1026172800000.0,1026259200000.0,1026345600000.0,1026432000000.0,1026691200000.0,1026777600000.0,1026864000000.0,1026950400000.0,1027036800000.0,1027296000000.0,1027382400000.0,1027468800000.0,1027555200000.0,1027641600000.0,1027900800000.0,1027987200000.0,1028073600000.0,1028160000000.0,1028246400000.0,1028505600000.0,1028592000000.0,1028678400000.0,1028764800000.0,1028851200000.0,1029110400000.0,1029196800000.0,1029283200000.0,1029369600000.0,1029456000000.0,1029715200000.0,1029801600000.0,1029888000000.0,1029974400000.0,1030060800000.0,1030320000000.0,1030406400000.0,1030492800000.0,1030579200000.0,1030665600000.0,1031011200000.0,1031097600000.0,1031184000000.0,1031270400000.0,1031529600000.0,1031616000000.0,1031702400000.0,1031788800000.0,1031875200000.0,1032134400000.0,1032220800000.0,1032307200000.0,1032393600000.0,1032480000000.0,1032739200000.0,1032825600000.0,1032912000000.0,1032998400000.0,1033084800000.0,1033344000000.0,1033430400000.0,1033516800000.0,1033603200000.0,1033689600000.0,1033948800000.0,1034035200000.0,1034121600000.0,1034208000000.0,1034294400000.0,1034553600000.0,1034640000000.0,1034726400000.0,1034812800000.0,1034899200000.0,1035158400000.0,1035244800000.0,1035331200000.0,1035417600000.0,1035504000000.0,1035763200000.0,1035849600000.0,1035936000000.0,1036022400000.0,1036108800000.0,1036368000000.0,1036454400000.0,1036540800000.0,1036627200000.0,1036713600000.0,1036972800000.0,1037059200000.0,1037145600000.0,1037232000000.0,1037318400000.0,1037577600000.0,1037664000000.0,1037750400000.0,1037836800000.0,1037923200000.0,1038182400000.0,1038268800000.0,1038355200000.0,1038528000000.0,1038787200000.0,1038873600000.0,1038960000000.0,1039046400000.0,1039132800000.0,1039392000000.0,1039478400000.0,1039564800000.0,1039651200000.0,1039737600000.0,1039996800000.0,1040083200000.0,1040169600000.0,1040256000000.0,1040342400000.0,1040601600000.0,1040688000000.0,1040860800000.0,1040947200000.0,1041206400000.0,1041292800000.0,1041465600000.0,1041552000000.0,1041811200000.0,1041897600000.0,1041984000000.0,1042070400000.0,1042156800000.0,1042416000000.0,1042502400000.0,1042588800000.0,1042675200000.0,1042761600000.0,1043107200000.0,1043193600000.0,1043280000000.0,1043366400000.0,1043625600000.0,1043712000000.0,1043798400000.0,1043884800000.0,1043971200000.0,1044230400000.0,1044316800000.0,1044403200000.0,1044489600000.0,1044576000000.0,1044835200000.0,1044921600000.0,1045008000000.0,1045094400000.0,1045180800000.0,1045526400000.0,1045612800000.0,1045699200000.0,1045785600000.0,1046044800000.0,1046131200000.0,1046217600000.0,1046304000000.0,1046390400000.0,1046649600000.0,1046736000000.0,1046822400000.0,1046908800000.0,1046995200000.0,1047254400000.0,1047340800000.0,1047427200000.0,1047513600000.0,1047600000000.0,1047859200000.0,1047945600000.0,1048032000000.0,1048118400000.0,1048204800000.0,1048464000000.0,1048550400000.0,1048636800000.0,1048723200000.0,1048809600000.0,1049068800000.0,1049155200000.0,1049241600000.0,1049328000000.0,1049414400000.0,1049673600000.0,1049760000000.0,1049846400000.0,1049932800000.0,1050019200000.0,1050278400000.0,1050364800000.0,1050451200000.0,1050537600000.0,1050883200000.0,1050969600000.0,1051056000000.0,1051142400000.0,1051228800000.0,1051488000000.0,1051574400000.0,1051660800000.0,1051747200000.0,1051833600000.0,1052092800000.0,1052179200000.0,1052265600000.0,1052352000000.0,1052438400000.0,1052697600000.0,1052784000000.0,1052870400000.0,1052956800000.0,1053043200000.0,1053302400000.0,1053388800000.0,1053475200000.0,1053561600000.0,1053648000000.0,1053993600000.0,1054080000000.0,1054166400000.0,1054252800000.0,1054512000000.0,1054598400000.0,1054684800000.0,1054771200000.0,1054857600000.0,1055116800000.0,1055203200000.0,1055289600000.0,1055376000000.0,1055462400000.0,1055721600000.0,1055808000000.0,1055894400000.0,1055980800000.0,1056067200000.0,1056326400000.0,1056412800000.0,1056499200000.0,1056585600000.0,1056672000000.0,1056931200000.0,1057017600000.0,1057104000000.0,1057190400000.0,1057536000000.0,1057622400000.0,1057708800000.0,1057795200000.0,1057881600000.0,1058140800000.0,1058227200000.0,1058313600000.0,1058400000000.0,1058486400000.0,1058745600000.0,1058832000000.0,1058918400000.0,1059004800000.0,1059091200000.0,1059350400000.0,1059436800000.0,1059523200000.0,1059609600000.0,1059696000000.0,1059955200000.0,1060041600000.0,1060128000000.0,1060214400000.0,1060300800000.0,1060560000000.0,1060646400000.0,1060732800000.0,1060819200000.0,1060905600000.0,1061164800000.0,1061251200000.0,1061337600000.0,1061424000000.0,1061510400000.0,1061769600000.0,1061856000000.0,1061942400000.0,1062028800000.0,1062115200000.0,1062460800000.0,1062547200000.0,1062633600000.0,1062720000000.0,1062979200000.0,1063065600000.0,1063152000000.0,1063238400000.0,1063324800000.0,1063584000000.0,1063670400000.0,1063756800000.0,1063843200000.0,1063929600000.0,1064188800000.0,1064275200000.0,1064361600000.0,1064448000000.0,1064534400000.0,1064793600000.0,1064880000000.0,1064966400000.0,1065052800000.0,1065139200000.0,1065398400000.0,1065484800000.0,1065571200000.0,1065657600000.0,1065744000000.0,1066003200000.0,1066089600000.0,1066176000000.0,1066262400000.0,1066348800000.0,1066608000000.0,1066694400000.0,1066780800000.0,1066867200000.0,1066953600000.0,1067212800000.0,1067299200000.0,1067385600000.0,1067472000000.0,1067558400000.0,1067817600000.0,1067904000000.0,1067990400000.0,1068076800000.0,1068163200000.0,1068422400000.0,1068508800000.0,1068595200000.0,1068681600000.0,1068768000000.0,1069027200000.0,1069113600000.0,1069200000000.0,1069286400000.0,1069372800000.0,1069632000000.0,1069718400000.0,1069804800000.0,1069977600000.0,1070236800000.0,1070323200000.0,1070409600000.0,1070496000000.0,1070582400000.0,1070841600000.0,1070928000000.0,1071014400000.0,1071100800000.0,1071187200000.0,1071446400000.0,1071532800000.0,1071619200000.0,1071705600000.0,1071792000000.0,1072051200000.0,1072137600000.0,1072224000000.0,1072396800000.0,1072656000000.0,1072742400000.0,1072828800000.0,1073001600000.0,1073260800000.0,1073347200000.0,1073433600000.0,1073520000000.0,1073606400000.0,1073865600000.0,1073952000000.0,1074038400000.0,1074124800000.0,1074211200000.0,1074556800000.0,1074643200000.0,1074729600000.0,1074816000000.0,1075075200000.0,1075161600000.0,1075248000000.0,1075334400000.0,1075420800000.0,1075680000000.0,1075766400000.0,1075852800000.0,1075939200000.0,1076025600000.0,1076284800000.0,1076371200000.0,1076457600000.0,1076544000000.0,1076630400000.0,1076976000000.0,1077062400000.0,1077148800000.0,1077235200000.0,1077494400000.0,1077580800000.0,1077667200000.0,1077753600000.0,1077840000000.0,1078099200000.0,1078185600000.0,1078272000000.0,1078358400000.0,1078444800000.0,1078704000000.0,1078790400000.0,1078876800000.0,1078963200000.0,1079049600000.0,1079308800000.0,1079395200000.0,1079481600000.0,1079568000000.0,1079654400000.0,1079913600000.0,1080000000000.0,1080086400000.0,1080172800000.0,1080259200000.0,1080518400000.0,1080604800000.0,1080691200000.0,1080777600000.0,1080864000000.0,1081123200000.0,1081209600000.0,1081296000000.0,1081382400000.0,1081728000000.0,1081814400000.0,1081900800000.0,1081987200000.0,1082073600000.0,1082332800000.0,1082419200000.0,1082505600000.0,1082592000000.0,1082678400000.0,1082937600000.0,1083024000000.0,1083110400000.0,1083196800000.0,1083283200000.0,1083542400000.0,1083628800000.0,1083715200000.0,1083801600000.0,1083888000000.0,1084147200000.0,1084233600000.0,1084320000000.0,1084406400000.0,1084492800000.0,1084752000000.0,1084838400000.0,1084924800000.0,1085011200000.0,1085097600000.0,1085356800000.0,1085443200000.0,1085529600000.0,1085616000000.0,1085702400000.0,1086048000000.0,1086134400000.0,1086220800000.0,1086307200000.0,1086566400000.0,1086652800000.0,1086739200000.0,1086825600000.0,1087171200000.0,1087257600000.0,1087344000000.0,1087430400000.0,1087516800000.0,1087776000000.0,1087862400000.0,1087948800000.0,1088035200000.0,1088121600000.0,1088380800000.0,1088467200000.0,1088553600000.0,1088640000000.0,1088726400000.0,1089072000000.0,1089158400000.0,1089244800000.0,1089331200000.0,1089590400000.0,1089676800000.0,1089763200000.0,1089849600000.0,1089936000000.0,1090195200000.0,1090281600000.0,1090368000000.0,1090454400000.0,1090540800000.0,1090800000000.0,1090886400000.0,1090972800000.0,1091059200000.0,1091145600000.0,1091404800000.0,1091491200000.0,1091577600000.0,1091664000000.0,1091750400000.0,1092009600000.0,1092096000000.0,1092182400000.0,1092268800000.0,1092355200000.0,1092614400000.0,1092700800000.0,1092787200000.0,1092873600000.0,1092960000000.0,1093219200000.0,1093305600000.0,1093392000000.0,1093478400000.0,1093564800000.0,1093824000000.0,1093910400000.0,1093996800000.0,1094083200000.0,1094169600000.0,1094515200000.0,1094601600000.0,1094688000000.0,1094774400000.0,1095033600000.0,1095120000000.0,1095206400000.0,1095292800000.0,1095379200000.0,1095638400000.0,1095724800000.0,1095811200000.0,1095897600000.0,1095984000000.0,1096243200000.0,1096329600000.0,1096416000000.0,1096502400000.0,1096588800000.0,1096848000000.0,1096934400000.0,1097020800000.0,1097107200000.0,1097193600000.0,1097452800000.0,1097539200000.0,1097625600000.0,1097712000000.0,1097798400000.0,1098057600000.0,1098144000000.0,1098230400000.0,1098316800000.0,1098403200000.0,1098662400000.0,1098748800000.0,1098835200000.0,1098921600000.0,1099008000000.0,1099267200000.0,1099353600000.0,1099440000000.0,1099526400000.0,1099612800000.0,1099872000000.0,1099958400000.0,1100044800000.0,1100131200000.0,1100217600000.0,1100476800000.0,1100563200000.0,1100649600000.0,1100736000000.0,1100822400000.0,1101081600000.0,1101168000000.0,1101254400000.0,1101427200000.0,1101686400000.0,1101772800000.0,1101859200000.0,1101945600000.0,1102032000000.0,1102291200000.0,1102377600000.0,1102464000000.0,1102550400000.0,1102636800000.0,1102896000000.0,1102982400000.0,1103068800000.0,1103155200000.0,1103241600000.0,1103500800000.0,1103587200000.0,1103673600000.0,1103760000000.0,1104105600000.0,1104192000000.0,1104278400000.0,1104364800000.0,1104451200000.0,1104710400000.0,1104796800000.0,1104883200000.0,1104969600000.0,1105056000000.0,1105315200000.0,1105401600000.0,1105488000000.0,1105574400000.0,1105660800000.0,1106006400000.0,1106092800000.0,1106179200000.0,1106265600000.0,1106524800000.0,1106611200000.0,1106697600000.0,1106784000000.0,1106870400000.0,1107129600000.0,1107216000000.0,1107302400000.0,1107388800000.0,1107475200000.0,1107734400000.0,1107820800000.0,1107907200000.0,1107993600000.0,1108080000000.0,1108339200000.0,1108425600000.0,1108512000000.0,1108598400000.0,1108684800000.0,1109030400000.0,1109116800000.0,1109203200000.0,1109289600000.0,1109548800000.0,1109635200000.0,1109721600000.0,1109808000000.0,1109894400000.0,1110153600000.0,1110240000000.0,1110326400000.0,1110412800000.0,1110499200000.0,1110758400000.0,1110844800000.0,1110931200000.0,1111017600000.0,1111104000000.0,1111363200000.0,1111449600000.0,1111536000000.0,1111622400000.0,1111968000000.0,1112054400000.0,1112140800000.0,1112227200000.0,1112313600000.0,1112572800000.0,1112659200000.0,1112745600000.0,1112832000000.0,1112918400000.0,1113177600000.0,1113264000000.0,1113350400000.0,1113436800000.0,1113523200000.0,1113782400000.0,1113868800000.0,1113955200000.0,1114041600000.0,1114128000000.0,1114387200000.0,1114473600000.0,1114560000000.0,1114646400000.0,1114732800000.0,1114992000000.0,1115078400000.0,1115164800000.0,1115251200000.0,1115337600000.0,1115596800000.0,1115683200000.0,1115769600000.0,1115856000000.0,1115942400000.0,1116201600000.0,1116288000000.0,1116374400000.0,1116460800000.0,1116547200000.0,1116806400000.0,1116892800000.0,1116979200000.0,1117065600000.0,1117152000000.0,1117497600000.0,1117584000000.0,1117670400000.0,1117756800000.0,1118016000000.0,1118102400000.0,1118188800000.0,1118275200000.0,1118361600000.0,1118620800000.0,1118707200000.0,1118793600000.0,1118880000000.0,1118966400000.0,1119225600000.0,1119312000000.0,1119398400000.0,1119484800000.0,1119571200000.0,1119830400000.0,1119916800000.0,1120003200000.0,1120089600000.0,1120176000000.0,1120521600000.0,1120608000000.0,1120694400000.0,1120780800000.0,1121040000000.0,1121126400000.0,1121212800000.0,1121299200000.0,1121385600000.0,1121644800000.0,1121731200000.0,1121817600000.0,1121904000000.0,1121990400000.0,1122249600000.0,1122336000000.0,1122422400000.0,1122508800000.0,1122595200000.0,1122854400000.0,1122940800000.0,1123027200000.0,1123113600000.0,1123200000000.0,1123459200000.0,1123545600000.0,1123632000000.0,1123718400000.0,1123804800000.0,1124064000000.0,1124150400000.0,1124236800000.0,1124323200000.0,1124409600000.0,1124668800000.0,1124755200000.0,1124841600000.0,1124928000000.0,1125014400000.0,1125273600000.0,1125360000000.0,1125446400000.0,1125532800000.0,1125619200000.0,1125964800000.0,1126051200000.0,1126137600000.0,1126224000000.0,1126483200000.0,1126569600000.0,1126656000000.0,1126742400000.0,1126828800000.0,1127088000000.0,1127174400000.0,1127260800000.0,1127347200000.0,1127433600000.0,1127692800000.0,1127779200000.0,1127865600000.0,1127952000000.0,1128038400000.0,1128297600000.0,1128384000000.0,1128470400000.0,1128556800000.0,1128643200000.0,1128902400000.0,1128988800000.0,1129075200000.0,1129161600000.0,1129248000000.0,1129507200000.0,1129593600000.0,1129680000000.0,1129766400000.0,1129852800000.0,1130112000000.0,1130198400000.0,1130284800000.0,1130371200000.0,1130457600000.0,1130716800000.0,1130803200000.0,1130889600000.0,1130976000000.0,1131062400000.0,1131321600000.0,1131408000000.0,1131494400000.0,1131580800000.0,1131667200000.0,1131926400000.0,1132012800000.0,1132099200000.0,1132185600000.0,1132272000000.0,1132531200000.0,1132617600000.0,1132704000000.0,1132876800000.0,1133136000000.0,1133222400000.0,1133308800000.0,1133395200000.0,1133481600000.0,1133740800000.0,1133827200000.0,1133913600000.0,1134000000000.0,1134086400000.0,1134345600000.0,1134432000000.0,1134518400000.0,1134604800000.0,1134691200000.0,1134950400000.0,1135036800000.0,1135123200000.0,1135209600000.0,1135296000000.0,1135641600000.0,1135728000000.0,1135814400000.0,1135900800000.0,1136246400000.0,1136332800000.0,1136419200000.0,1136505600000.0,1136764800000.0,1136851200000.0,1136937600000.0,1137024000000.0,1137110400000.0,1137456000000.0,1137542400000.0,1137628800000.0,1137715200000.0,1137974400000.0,1138060800000.0,1138147200000.0,1138233600000.0,1138320000000.0,1138579200000.0,1138665600000.0,1138752000000.0,1138838400000.0,1138924800000.0,1139184000000.0,1139270400000.0,1139356800000.0,1139443200000.0,1139529600000.0,1139788800000.0,1139875200000.0,1139961600000.0,1140048000000.0,1140134400000.0,1140480000000.0,1140566400000.0,1140652800000.0,1140739200000.0,1140998400000.0,1141084800000.0,1141171200000.0,1141257600000.0,1141344000000.0,1141603200000.0,1141689600000.0,1141776000000.0,1141862400000.0,1141948800000.0,1142208000000.0,1142294400000.0,1142380800000.0,1142467200000.0,1142553600000.0,1142812800000.0,1142899200000.0,1142985600000.0,1143072000000.0,1143158400000.0,1143417600000.0,1143504000000.0,1143590400000.0,1143676800000.0,1143763200000.0,1144022400000.0,1144108800000.0,1144195200000.0,1144281600000.0,1144368000000.0,1144627200000.0,1144713600000.0,1144800000000.0,1144886400000.0,1145232000000.0,1145318400000.0,1145404800000.0,1145491200000.0,1145577600000.0,1145836800000.0,1145923200000.0,1146009600000.0,1146096000000.0,1146182400000.0,1146441600000.0,1146528000000.0,1146614400000.0,1146700800000.0,1146787200000.0,1147046400000.0,1147132800000.0,1147219200000.0,1147305600000.0,1147392000000.0,1147651200000.0,1147737600000.0,1147824000000.0,1147910400000.0,1147996800000.0,1148256000000.0,1148342400000.0,1148428800000.0,1148515200000.0,1148601600000.0,1148947200000.0,1149033600000.0,1149120000000.0,1149206400000.0,1149465600000.0,1149552000000.0,1149638400000.0,1149724800000.0,1149811200000.0,1150070400000.0,1150156800000.0,1150243200000.0,1150329600000.0,1150416000000.0,1150675200000.0,1150761600000.0,1150848000000.0,1150934400000.0,1151020800000.0,1151280000000.0,1151366400000.0,1151452800000.0,1151539200000.0,1151625600000.0,1151884800000.0,1152057600000.0,1152144000000.0,1152230400000.0,1152489600000.0,1152576000000.0,1152662400000.0,1152748800000.0,1152835200000.0,1153094400000.0,1153180800000.0,1153267200000.0,1153353600000.0,1153440000000.0,1153699200000.0,1153785600000.0,1153872000000.0,1153958400000.0,1154044800000.0,1154304000000.0,1154390400000.0,1154476800000.0,1154563200000.0,1154649600000.0,1154908800000.0,1154995200000.0,1155081600000.0,1155168000000.0,1155254400000.0,1155513600000.0,1155600000000.0,1155686400000.0,1155772800000.0,1155859200000.0,1156118400000.0,1156204800000.0,1156291200000.0,1156377600000.0,1156464000000.0,1156723200000.0,1156809600000.0,1156896000000.0,1156982400000.0,1157068800000.0,1157414400000.0,1157500800000.0,1157587200000.0,1157673600000.0,1157932800000.0,1158019200000.0,1158105600000.0,1158192000000.0,1158278400000.0,1158537600000.0,1158624000000.0,1158710400000.0,1158796800000.0,1158883200000.0,1159142400000.0,1159228800000.0,1159315200000.0,1159401600000.0,1159488000000.0,1159747200000.0,1159833600000.0,1159920000000.0,1160006400000.0,1160092800000.0,1160352000000.0,1160438400000.0,1160524800000.0,1160611200000.0,1160697600000.0,1160956800000.0,1161043200000.0,1161129600000.0,1161216000000.0,1161302400000.0,1161561600000.0,1161648000000.0,1161734400000.0,1161820800000.0,1161907200000.0,1162166400000.0,1162252800000.0,1162339200000.0,1162425600000.0,1162512000000.0,1162771200000.0,1162857600000.0,1162944000000.0,1163030400000.0,1163116800000.0,1163376000000.0,1163462400000.0,1163548800000.0,1163635200000.0,1163721600000.0,1163980800000.0,1164067200000.0,1164153600000.0,1164326400000.0,1164585600000.0,1164672000000.0,1164758400000.0,1164844800000.0,1164931200000.0,1165190400000.0,1165276800000.0,1165363200000.0,1165449600000.0,1165536000000.0,1165795200000.0,1165881600000.0,1165968000000.0,1166054400000.0,1166140800000.0,1166400000000.0,1166486400000.0,1166572800000.0,1166659200000.0,1166745600000.0,1167091200000.0,1167177600000.0,1167264000000.0,1167350400000.0,1167782400000.0,1167868800000.0,1167955200000.0,1168214400000.0,1168300800000.0,1168387200000.0,1168473600000.0,1168560000000.0,1168905600000.0,1168992000000.0,1169078400000.0,1169164800000.0,1169424000000.0,1169510400000.0,1169596800000.0,1169683200000.0,1169769600000.0,1170028800000.0,1170115200000.0,1170201600000.0,1170288000000.0,1170374400000.0,1170633600000.0,1170720000000.0,1170806400000.0,1170892800000.0,1170979200000.0,1171238400000.0,1171324800000.0,1171411200000.0,1171497600000.0,1171584000000.0,1171929600000.0,1172016000000.0,1172102400000.0,1172188800000.0,1172448000000.0,1172534400000.0,1172620800000.0,1172707200000.0,1172793600000.0,1173052800000.0,1173139200000.0,1173225600000.0,1173312000000.0,1173398400000.0,1173657600000.0,1173744000000.0,1173830400000.0,1173916800000.0,1174003200000.0,1174262400000.0,1174348800000.0,1174435200000.0,1174521600000.0,1174608000000.0,1174867200000.0,1174953600000.0,1175040000000.0,1175126400000.0,1175212800000.0,1175472000000.0,1175558400000.0,1175644800000.0,1175731200000.0,1176076800000.0,1176163200000.0,1176249600000.0,1176336000000.0,1176422400000.0,1176681600000.0,1176768000000.0,1176854400000.0,1176940800000.0,1177027200000.0,1177286400000.0,1177372800000.0,1177459200000.0,1177545600000.0,1177632000000.0,1177891200000.0,1177977600000.0,1178064000000.0,1178150400000.0,1178236800000.0,1178496000000.0,1178582400000.0,1178668800000.0,1178755200000.0,1178841600000.0,1179100800000.0,1179187200000.0,1179273600000.0,1179360000000.0,1179446400000.0,1179705600000.0,1179792000000.0,1179878400000.0,1179964800000.0,1180051200000.0,1180396800000.0,1180483200000.0,1180569600000.0,1180656000000.0,1180915200000.0,1181001600000.0,1181088000000.0,1181174400000.0,1181260800000.0,1181520000000.0,1181606400000.0,1181692800000.0,1181779200000.0,1181865600000.0,1182124800000.0,1182211200000.0,1182297600000.0,1182384000000.0,1182470400000.0,1182729600000.0,1182816000000.0,1182902400000.0,1182988800000.0,1183075200000.0,1183334400000.0,1183420800000.0,1183593600000.0,1183680000000.0,1183939200000.0,1184025600000.0,1184112000000.0,1184198400000.0,1184284800000.0,1184544000000.0,1184630400000.0,1184716800000.0,1184803200000.0,1184889600000.0,1185148800000.0,1185235200000.0,1185321600000.0,1185408000000.0,1185494400000.0,1185753600000.0,1185840000000.0,1185926400000.0,1186012800000.0,1186099200000.0,1186358400000.0,1186444800000.0,1186531200000.0,1186617600000.0,1186704000000.0,1186963200000.0,1187049600000.0,1187136000000.0,1187222400000.0,1187308800000.0,1187568000000.0,1187654400000.0,1187740800000.0,1187827200000.0,1187913600000.0,1188172800000.0,1188259200000.0,1188345600000.0,1188432000000.0,1188518400000.0,1188864000000.0,1188950400000.0,1189036800000.0,1189123200000.0,1189382400000.0,1189468800000.0,1189555200000.0,1189641600000.0,1189728000000.0,1189987200000.0,1190073600000.0,1190160000000.0,1190246400000.0,1190332800000.0,1190592000000.0,1190678400000.0,1190764800000.0,1190851200000.0,1190937600000.0,1191196800000.0,1191283200000.0,1191369600000.0,1191456000000.0,1191542400000.0,1191801600000.0,1191888000000.0,1191974400000.0,1192060800000.0,1192147200000.0,1192406400000.0,1192492800000.0,1192579200000.0,1192665600000.0,1192752000000.0,1193011200000.0,1193097600000.0,1193184000000.0,1193270400000.0,1193356800000.0,1193616000000.0,1193702400000.0,1193788800000.0,1193875200000.0,1193961600000.0,1194220800000.0,1194307200000.0,1194393600000.0,1194480000000.0,1194566400000.0,1194825600000.0,1194912000000.0,1194998400000.0,1195084800000.0,1195171200000.0,1195430400000.0,1195516800000.0,1195603200000.0,1195776000000.0,1196035200000.0,1196121600000.0,1196208000000.0,1196294400000.0,1196380800000.0,1196640000000.0,1196726400000.0,1196812800000.0,1196899200000.0,1196985600000.0,1197244800000.0,1197331200000.0,1197417600000.0,1197504000000.0,1197590400000.0,1197849600000.0,1197936000000.0,1198022400000.0,1198108800000.0,1198195200000.0,1198454400000.0,1198627200000.0,1198713600000.0,1198800000000.0,1199059200000.0,1199232000000.0,1199318400000.0,1199404800000.0,1199664000000.0,1199750400000.0,1199836800000.0,1199923200000.0,1200009600000.0,1200268800000.0,1200355200000.0,1200441600000.0,1200528000000.0,1200614400000.0,1200960000000.0,1201046400000.0,1201132800000.0,1201219200000.0,1201478400000.0,1201564800000.0,1201651200000.0,1201737600000.0,1201824000000.0,1202083200000.0,1202169600000.0,1202256000000.0,1202342400000.0,1202428800000.0,1202688000000.0,1202774400000.0,1202860800000.0,1202947200000.0,1203033600000.0,1203379200000.0,1203465600000.0,1203552000000.0,1203638400000.0,1203897600000.0,1203984000000.0,1204070400000.0,1204156800000.0,1204243200000.0,1204502400000.0,1204588800000.0,1204675200000.0,1204761600000.0,1204848000000.0,1205107200000.0,1205193600000.0,1205280000000.0,1205366400000.0,1205452800000.0,1205712000000.0,1205798400000.0,1205884800000.0,1205971200000.0,1206316800000.0,1206403200000.0,1206489600000.0,1206576000000.0,1206662400000.0,1206921600000.0,1207008000000.0,1207094400000.0,1207180800000.0,1207267200000.0,1207526400000.0,1207612800000.0,1207699200000.0,1207785600000.0,1207872000000.0,1208131200000.0,1208217600000.0,1208304000000.0,1208390400000.0,1208476800000.0,1208736000000.0,1208822400000.0,1208908800000.0,1208995200000.0,1209081600000.0,1209340800000.0,1209427200000.0,1209513600000.0,1209600000000.0,1209686400000.0,1209945600000.0,1210032000000.0,1210118400000.0,1210204800000.0,1210291200000.0,1210550400000.0,1210636800000.0,1210723200000.0,1210809600000.0,1210896000000.0,1211155200000.0,1211241600000.0,1211328000000.0,1211414400000.0,1211500800000.0,1211846400000.0,1211932800000.0,1212019200000.0,1212105600000.0,1212364800000.0,1212451200000.0,1212537600000.0,1212624000000.0,1212710400000.0,1212969600000.0,1213056000000.0,1213142400000.0,1213228800000.0,1213315200000.0,1213574400000.0,1213660800000.0,1213747200000.0,1213833600000.0,1213920000000.0,1214179200000.0,1214265600000.0,1214352000000.0,1214438400000.0,1214524800000.0,1214784000000.0,1214870400000.0,1214956800000.0,1215043200000.0,1215388800000.0,1215475200000.0,1215561600000.0,1215648000000.0,1215734400000.0,1215993600000.0,1216080000000.0,1216166400000.0,1216252800000.0,1216339200000.0,1216598400000.0,1216684800000.0,1216771200000.0,1216857600000.0,1216944000000.0,1217203200000.0,1217289600000.0,1217376000000.0,1217462400000.0,1217548800000.0,1217808000000.0,1217894400000.0,1217980800000.0,1218067200000.0,1218153600000.0,1218412800000.0,1218499200000.0,1218585600000.0,1218672000000.0,1218758400000.0,1219017600000.0,1219104000000.0,1219190400000.0,1219276800000.0,1219363200000.0,1219622400000.0,1219708800000.0,1219795200000.0,1219881600000.0,1219968000000.0,1220313600000.0,1220400000000.0,1220486400000.0,1220572800000.0,1220832000000.0,1220918400000.0,1221004800000.0,1221091200000.0,1221177600000.0,1221436800000.0,1221523200000.0,1221609600000.0,1221696000000.0,1221782400000.0,1222041600000.0,1222128000000.0,1222214400000.0,1222300800000.0,1222387200000.0,1222646400000.0,1222732800000.0,1222819200000.0,1222905600000.0,1222992000000.0,1223251200000.0,1223337600000.0,1223424000000.0,1223510400000.0,1223596800000.0,1223856000000.0,1223942400000.0,1224028800000.0,1224115200000.0,1224201600000.0,1224460800000.0,1224547200000.0,1224633600000.0,1224720000000.0,1224806400000.0,1225065600000.0,1225152000000.0,1225238400000.0,1225324800000.0,1225411200000.0,1225670400000.0,1225756800000.0,1225843200000.0,1225929600000.0,1226016000000.0,1226275200000.0,1226361600000.0,1226448000000.0,1226534400000.0,1226620800000.0,1226880000000.0,1226966400000.0,1227052800000.0,1227139200000.0,1227225600000.0,1227484800000.0,1227571200000.0,1227657600000.0,1227830400000.0,1228089600000.0,1228176000000.0,1228262400000.0,1228348800000.0,1228435200000.0,1228694400000.0,1228780800000.0,1228867200000.0,1228953600000.0,1229040000000.0,1229299200000.0,1229385600000.0,1229472000000.0,1229558400000.0,1229644800000.0,1229904000000.0,1229990400000.0,1230076800000.0,1230249600000.0,1230508800000.0,1230595200000.0,1230681600000.0,1230854400000.0,1231113600000.0,1231200000000.0,1231286400000.0,1231372800000.0,1231459200000.0,1231718400000.0,1231804800000.0,1231891200000.0,1231977600000.0,1232064000000.0,1232409600000.0,1232496000000.0,1232582400000.0,1232668800000.0,1232928000000.0,1233014400000.0,1233100800000.0,1233187200000.0,1233273600000.0,1233532800000.0,1233619200000.0,1233705600000.0,1233792000000.0,1233878400000.0,1234137600000.0,1234224000000.0,1234310400000.0,1234396800000.0,1234483200000.0,1234828800000.0,1234915200000.0,1235001600000.0,1235088000000.0,1235347200000.0,1235433600000.0,1235520000000.0,1235606400000.0,1235692800000.0,1235952000000.0,1236038400000.0,1236124800000.0,1236211200000.0,1236297600000.0,1236556800000.0,1236643200000.0,1236729600000.0,1236816000000.0,1236902400000.0,1237161600000.0,1237248000000.0,1237334400000.0,1237420800000.0,1237507200000.0,1237766400000.0,1237852800000.0,1237939200000.0,1238025600000.0,1238112000000.0,1238371200000.0,1238457600000.0,1238544000000.0,1238630400000.0,1238716800000.0,1238976000000.0,1239062400000.0,1239148800000.0,1239235200000.0,1239580800000.0,1239667200000.0,1239753600000.0,1239840000000.0,1239926400000.0,1240185600000.0,1240272000000.0,1240358400000.0,1240444800000.0,1240531200000.0,1240790400000.0,1240876800000.0,1240963200000.0,1241049600000.0,1241136000000.0,1241395200000.0,1241481600000.0,1241568000000.0,1241654400000.0,1241740800000.0,1242000000000.0,1242086400000.0,1242172800000.0,1242259200000.0,1242345600000.0,1242604800000.0,1242691200000.0,1242777600000.0,1242864000000.0,1242950400000.0,1243296000000.0,1243382400000.0,1243468800000.0,1243555200000.0,1243814400000.0,1243900800000.0,1243987200000.0,1244073600000.0,1244160000000.0,1244419200000.0,1244505600000.0,1244592000000.0,1244678400000.0,1244764800000.0,1245024000000.0,1245110400000.0,1245196800000.0,1245283200000.0,1245369600000.0,1245628800000.0,1245715200000.0,1245801600000.0,1245888000000.0,1245974400000.0,1246233600000.0,1246320000000.0,1246406400000.0,1246492800000.0,1246838400000.0,1246924800000.0,1247011200000.0,1247097600000.0,1247184000000.0,1247443200000.0,1247529600000.0,1247616000000.0,1247702400000.0,1247788800000.0,1248048000000.0,1248134400000.0,1248220800000.0,1248307200000.0,1248393600000.0,1248652800000.0,1248739200000.0,1248825600000.0,1248912000000.0,1248998400000.0,1249257600000.0,1249344000000.0,1249430400000.0,1249516800000.0,1249603200000.0,1249862400000.0,1249948800000.0,1250035200000.0,1250121600000.0,1250208000000.0,1250467200000.0,1250553600000.0,1250640000000.0,1250726400000.0,1250812800000.0,1251072000000.0,1251158400000.0,1251244800000.0,1251331200000.0,1251417600000.0,1251676800000.0,1251763200000.0,1251849600000.0,1251936000000.0,1252022400000.0,1252368000000.0,1252454400000.0,1252540800000.0,1252627200000.0,1252886400000.0,1252972800000.0,1253059200000.0,1253145600000.0,1253232000000.0,1253491200000.0,1253577600000.0,1253664000000.0,1253750400000.0,1253836800000.0,1254096000000.0,1254182400000.0,1254268800000.0,1254355200000.0,1254441600000.0,1254700800000.0,1254787200000.0,1254873600000.0,1254960000000.0,1255046400000.0,1255305600000.0,1255392000000.0,1255478400000.0,1255564800000.0,1255651200000.0,1255910400000.0,1255996800000.0,1256083200000.0,1256169600000.0,1256256000000.0,1256515200000.0,1256601600000.0,1256688000000.0,1256774400000.0,1256860800000.0,1257120000000.0,1257206400000.0,1257292800000.0,1257379200000.0,1257465600000.0,1257724800000.0,1257811200000.0,1257897600000.0,1257984000000.0,1258070400000.0,1258329600000.0,1258416000000.0,1258502400000.0,1258588800000.0,1258675200000.0,1258934400000.0,1259020800000.0,1259107200000.0,1259280000000.0,1259539200000.0,1259625600000.0,1259712000000.0,1259798400000.0,1259884800000.0,1260144000000.0,1260230400000.0,1260316800000.0,1260403200000.0,1260489600000.0,1260748800000.0,1260835200000.0,1260921600000.0,1261008000000.0,1261094400000.0,1261353600000.0,1261440000000.0,1261526400000.0,1261612800000.0,1261958400000.0,1262044800000.0,1262131200000.0,1262217600000.0,1262563200000.0,1262649600000.0,1262736000000.0,1262822400000.0,1262908800000.0,1263168000000.0,1263254400000.0,1263340800000.0,1263427200000.0,1263513600000.0,1263859200000.0,1263945600000.0,1264032000000.0,1264118400000.0,1264377600000.0,1264464000000.0,1264550400000.0,1264636800000.0,1264723200000.0,1264982400000.0,1265068800000.0,1265155200000.0,1265241600000.0,1265328000000.0,1265587200000.0,1265673600000.0,1265760000000.0,1265846400000.0,1265932800000.0,1266278400000.0,1266364800000.0,1266451200000.0,1266537600000.0,1266796800000.0,1266883200000.0,1266969600000.0,1267056000000.0,1267142400000.0,1267401600000.0,1267488000000.0,1267574400000.0,1267660800000.0,1267747200000.0,1268006400000.0,1268092800000.0,1268179200000.0,1268265600000.0,1268352000000.0,1268611200000.0,1268697600000.0,1268784000000.0,1268870400000.0,1268956800000.0,1269216000000.0,1269302400000.0,1269388800000.0,1269475200000.0,1269561600000.0,1269820800000.0,1269907200000.0,1269993600000.0,1270080000000.0,1270425600000.0,1270512000000.0,1270598400000.0,1270684800000.0,1270771200000.0,1271030400000.0,1271116800000.0,1271203200000.0,1271289600000.0,1271376000000.0,1271635200000.0,1271721600000.0,1271808000000.0,1271894400000.0,1271980800000.0,1272240000000.0,1272326400000.0,1272412800000.0,1272499200000.0,1272585600000.0,1272844800000.0,1272931200000.0,1273017600000.0,1273104000000.0,1273190400000.0,1273449600000.0,1273536000000.0,1273622400000.0,1273708800000.0,1273795200000.0,1274054400000.0,1274140800000.0,1274227200000.0,1274313600000.0,1274400000000.0,1274659200000.0,1274745600000.0,1274832000000.0,1274918400000.0,1275004800000.0,1275350400000.0,1275436800000.0,1275523200000.0,1275609600000.0,1275868800000.0,1275955200000.0,1276041600000.0,1276128000000.0,1276214400000.0,1276473600000.0,1276560000000.0,1276646400000.0,1276732800000.0,1276819200000.0,1277078400000.0,1277164800000.0,1277251200000.0,1277337600000.0,1277424000000.0,1277683200000.0,1277769600000.0,1277856000000.0,1277942400000.0,1278028800000.0,1278374400000.0,1278460800000.0,1278547200000.0,1278633600000.0,1278892800000.0,1278979200000.0,1279065600000.0,1279152000000.0,1279238400000.0,1279497600000.0,1279584000000.0,1279670400000.0,1279756800000.0,1279843200000.0,1280102400000.0,1280188800000.0,1280275200000.0,1280361600000.0,1280448000000.0,1280707200000.0,1280793600000.0,1280880000000.0,1280966400000.0,1281052800000.0,1281312000000.0,1281398400000.0,1281484800000.0,1281571200000.0,1281657600000.0,1281916800000.0,1282003200000.0,1282089600000.0,1282176000000.0,1282262400000.0,1282521600000.0,1282608000000.0,1282694400000.0,1282780800000.0,1282867200000.0,1283126400000.0,1283212800000.0,1283299200000.0,1283385600000.0,1283472000000.0,1283817600000.0,1283904000000.0,1283990400000.0,1284076800000.0,1284336000000.0,1284422400000.0,1284508800000.0,1284595200000.0,1284681600000.0,1284940800000.0,1285027200000.0,1285113600000.0,1285200000000.0,1285286400000.0,1285545600000.0,1285632000000.0,1285718400000.0,1285804800000.0,1285891200000.0,1286150400000.0,1286236800000.0,1286323200000.0,1286409600000.0,1286496000000.0,1286755200000.0,1286841600000.0,1286928000000.0,1287014400000.0,1287100800000.0,1287360000000.0,1287446400000.0,1287532800000.0,1287619200000.0,1287705600000.0,1287964800000.0,1288051200000.0,1288137600000.0,1288224000000.0,1288310400000.0,1288569600000.0,1288656000000.0,1288742400000.0,1288828800000.0,1288915200000.0,1289174400000.0,1289260800000.0,1289347200000.0,1289433600000.0,1289520000000.0,1289779200000.0,1289865600000.0,1289952000000.0,1290038400000.0,1290124800000.0,1290384000000.0,1290470400000.0,1290556800000.0,1290729600000.0,1290988800000.0,1291075200000.0,1291161600000.0,1291248000000.0,1291334400000.0,1291593600000.0,1291680000000.0,1291766400000.0,1291852800000.0,1291939200000.0,1292198400000.0,1292284800000.0,1292371200000.0,1292457600000.0,1292544000000.0,1292803200000.0,1292889600000.0,1292976000000.0,1293062400000.0,1293408000000.0,1293494400000.0,1293580800000.0,1293667200000.0,1293753600000.0,1294012800000.0,1294099200000.0,1294185600000.0,1294272000000.0,1294358400000.0,1294617600000.0,1294704000000.0,1294790400000.0,1294876800000.0,1294963200000.0,1295308800000.0,1295395200000.0,1295481600000.0,1295568000000.0,1295827200000.0,1295913600000.0,1296000000000.0,1296086400000.0,1296172800000.0,1296432000000.0,1296518400000.0,1296604800000.0,1296691200000.0,1296777600000.0,1297036800000.0,1297123200000.0,1297209600000.0,1297296000000.0,1297382400000.0,1297641600000.0,1297728000000.0,1297814400000.0,1297900800000.0,1297987200000.0,1298332800000.0,1298419200000.0,1298505600000.0,1298592000000.0,1298851200000.0,1298937600000.0,1299024000000.0,1299110400000.0,1299196800000.0,1299456000000.0,1299542400000.0,1299628800000.0,1299715200000.0,1299801600000.0,1300060800000.0,1300147200000.0,1300233600000.0,1300320000000.0,1300406400000.0,1300665600000.0,1300752000000.0,1300838400000.0,1300924800000.0,1301011200000.0,1301270400000.0,1301356800000.0,1301443200000.0,1301529600000.0,1301616000000.0,1301875200000.0,1301961600000.0,1302048000000.0,1302134400000.0,1302220800000.0,1302480000000.0,1302566400000.0,1302652800000.0,1302739200000.0,1302825600000.0,1303084800000.0,1303171200000.0,1303257600000.0,1303344000000.0,1303689600000.0,1303776000000.0,1303862400000.0,1303948800000.0,1304035200000.0,1304294400000.0,1304380800000.0,1304467200000.0,1304553600000.0,1304640000000.0,1304899200000.0,1304985600000.0,1305072000000.0,1305158400000.0,1305244800000.0,1305504000000.0,1305590400000.0,1305676800000.0,1305763200000.0,1305849600000.0,1306108800000.0,1306195200000.0,1306281600000.0,1306368000000.0,1306454400000.0,1306800000000.0,1306886400000.0,1306972800000.0,1307059200000.0,1307318400000.0,1307404800000.0,1307491200000.0,1307577600000.0,1307664000000.0,1307923200000.0,1308009600000.0,1308096000000.0,1308182400000.0,1308268800000.0,1308528000000.0,1308614400000.0,1308700800000.0,1308787200000.0,1308873600000.0,1309132800000.0,1309219200000.0,1309305600000.0,1309392000000.0,1309478400000.0,1309824000000.0,1309910400000.0,1309996800000.0,1310083200000.0,1310342400000.0,1310428800000.0,1310515200000.0,1310601600000.0,1310688000000.0,1310947200000.0,1311033600000.0,1311120000000.0,1311206400000.0,1311292800000.0,1311552000000.0,1311638400000.0,1311724800000.0,1311811200000.0,1311897600000.0,1312156800000.0,1312243200000.0,1312329600000.0,1312416000000.0,1312502400000.0,1312761600000.0,1312848000000.0,1312934400000.0,1313020800000.0,1313107200000.0,1313366400000.0,1313452800000.0,1313539200000.0,1313625600000.0,1313712000000.0,1313971200000.0,1314057600000.0,1314144000000.0,1314230400000.0,1314316800000.0,1314576000000.0,1314662400000.0,1314748800000.0,1314835200000.0,1314921600000.0,1315267200000.0,1315353600000.0,1315440000000.0,1315526400000.0,1315785600000.0,1315872000000.0,1315958400000.0,1316044800000.0,1316131200000.0,1316390400000.0,1316476800000.0,1316563200000.0,1316649600000.0,1316736000000.0,1316995200000.0,1317081600000.0,1317168000000.0,1317254400000.0,1317340800000.0,1317600000000.0,1317686400000.0,1317772800000.0,1317859200000.0,1317945600000.0,1318204800000.0,1318291200000.0,1318377600000.0,1318464000000.0,1318550400000.0,1318809600000.0,1318896000000.0,1318982400000.0,1319068800000.0,1319155200000.0,1319414400000.0,1319500800000.0,1319587200000.0,1319673600000.0,1319760000000.0,1320019200000.0,1320105600000.0,1320192000000.0,1320278400000.0,1320364800000.0,1320624000000.0,1320710400000.0,1320796800000.0,1320883200000.0,1320969600000.0,1321228800000.0,1321315200000.0,1321401600000.0,1321488000000.0,1321574400000.0,1321833600000.0,1321920000000.0,1322006400000.0,1322179200000.0,1322438400000.0,1322524800000.0,1322611200000.0,1322697600000.0,1322784000000.0,1323043200000.0,1323129600000.0,1323216000000.0,1323302400000.0,1323388800000.0,1323648000000.0,1323734400000.0,1323820800000.0,1323907200000.0,1323993600000.0,1324252800000.0,1324339200000.0,1324425600000.0,1324512000000.0,1324598400000.0,1324944000000.0,1325030400000.0,1325116800000.0,1325203200000.0,1325548800000.0,1325635200000.0,1325721600000.0,1325808000000.0,1326067200000.0,1326153600000.0,1326240000000.0,1326326400000.0,1326412800000.0,1326758400000.0,1326844800000.0,1326931200000.0,1327017600000.0,1327276800000.0,1327363200000.0,1327449600000.0,1327536000000.0,1327622400000.0,1327881600000.0,1327968000000.0,1328054400000.0,1328140800000.0,1328227200000.0,1328486400000.0,1328572800000.0,1328659200000.0,1328745600000.0,1328832000000.0,1329091200000.0,1329177600000.0,1329264000000.0,1329350400000.0,1329436800000.0,1329782400000.0,1329868800000.0,1329955200000.0,1330041600000.0,1330300800000.0,1330387200000.0,1330473600000.0,1330560000000.0,1330646400000.0,1330905600000.0,1330992000000.0,1331078400000.0,1331164800000.0,1331251200000.0,1331510400000.0,1331596800000.0,1331683200000.0,1331769600000.0,1331856000000.0,1332115200000.0,1332201600000.0,1332288000000.0,1332374400000.0,1332460800000.0,1332720000000.0,1332806400000.0,1332892800000.0,1332979200000.0,1333065600000.0,1333324800000.0,1333411200000.0,1333497600000.0,1333584000000.0,1333929600000.0,1334016000000.0,1334102400000.0,1334188800000.0,1334275200000.0,1334534400000.0,1334620800000.0,1334707200000.0,1334793600000.0,1334880000000.0,1335139200000.0,1335225600000.0,1335312000000.0,1335398400000.0,1335484800000.0,1335744000000.0,1335830400000.0,1335916800000.0,1336003200000.0,1336089600000.0,1336348800000.0,1336435200000.0,1336521600000.0,1336608000000.0,1336694400000.0,1336953600000.0,1337040000000.0,1337126400000.0,1337212800000.0,1337299200000.0,1337558400000.0,1337644800000.0,1337731200000.0,1337817600000.0,1337904000000.0,1338249600000.0,1338336000000.0,1338422400000.0,1338508800000.0,1338768000000.0,1338854400000.0,1338940800000.0,1339027200000.0,1339113600000.0,1339372800000.0,1339459200000.0,1339545600000.0,1339632000000.0,1339718400000.0,1339977600000.0,1340064000000.0,1340150400000.0,1340236800000.0,1340323200000.0,1340582400000.0,1340668800000.0,1340755200000.0,1340841600000.0,1340928000000.0,1341187200000.0,1341273600000.0,1341446400000.0,1341532800000.0,1341792000000.0,1341878400000.0,1341964800000.0,1342051200000.0,1342137600000.0,1342396800000.0,1342483200000.0,1342569600000.0,1342656000000.0,1342742400000.0,1343001600000.0,1343088000000.0,1343174400000.0,1343260800000.0,1343347200000.0,1343606400000.0,1343692800000.0,1343779200000.0,1343865600000.0,1343952000000.0,1344211200000.0,1344297600000.0,1344384000000.0,1344470400000.0,1344556800000.0,1344816000000.0,1344902400000.0,1344988800000.0,1345075200000.0,1345161600000.0,1345420800000.0,1345507200000.0,1345593600000.0,1345680000000.0,1345766400000.0,1346025600000.0,1346112000000.0,1346198400000.0,1346284800000.0,1346371200000.0,1346716800000.0,1346803200000.0,1346889600000.0,1346976000000.0,1347235200000.0,1347321600000.0,1347408000000.0,1347494400000.0,1347580800000.0,1347840000000.0,1347926400000.0,1348012800000.0,1348099200000.0,1348185600000.0,1348444800000.0,1348531200000.0,1348617600000.0,1348704000000.0,1348790400000.0,1349049600000.0,1349136000000.0,1349222400000.0,1349308800000.0,1349395200000.0,1349654400000.0,1349740800000.0,1349827200000.0,1349913600000.0,1350000000000.0,1350259200000.0,1350345600000.0,1350432000000.0,1350518400000.0,1350604800000.0,1350864000000.0,1350950400000.0,1351036800000.0,1351123200000.0,1351209600000.0,1351641600000.0,1351728000000.0,1351814400000.0,1352073600000.0,1352160000000.0,1352246400000.0,1352332800000.0,1352419200000.0,1352678400000.0,1352764800000.0,1352851200000.0,1352937600000.0,1353024000000.0,1353283200000.0,1353369600000.0,1353456000000.0,1353628800000.0,1353888000000.0,1353974400000.0,1354060800000.0,1354147200000.0,1354233600000.0,1354492800000.0,1354579200000.0,1354665600000.0,1354752000000.0,1354838400000.0,1355097600000.0,1355184000000.0,1355270400000.0,1355356800000.0,1355443200000.0,1355702400000.0,1355788800000.0,1355875200000.0,1355961600000.0,1356048000000.0,1356307200000.0,1356480000000.0,1356566400000.0,1356652800000.0,1356912000000.0,1357084800000.0,1357171200000.0,1357257600000.0,1357516800000.0,1357603200000.0,1357689600000.0,1357776000000.0,1357862400000.0,1358121600000.0,1358208000000.0,1358294400000.0,1358380800000.0,1358467200000.0,1358812800000.0,1358899200000.0,1358985600000.0,1359072000000.0,1359331200000.0,1359417600000.0,1359504000000.0,1359590400000.0,1359676800000.0,1359936000000.0,1360022400000.0,1360108800000.0,1360195200000.0,1360281600000.0,1360540800000.0,1360627200000.0,1360713600000.0,1360800000000.0,1360886400000.0,1361232000000.0,1361318400000.0,1361404800000.0,1361491200000.0,1361750400000.0,1361836800000.0,1361923200000.0,1362009600000.0,1362096000000.0,1362355200000.0,1362441600000.0,1362528000000.0,1362614400000.0,1362700800000.0,1362960000000.0,1363046400000.0,1363132800000.0,1363219200000.0,1363305600000.0,1363564800000.0,1363651200000.0,1363737600000.0,1363824000000.0,1363910400000.0,1364169600000.0,1364256000000.0,1364342400000.0,1364428800000.0,1364774400000.0,1364860800000.0,1364947200000.0,1365033600000.0,1365120000000.0,1365379200000.0,1365465600000.0,1365552000000.0,1365638400000.0,1365724800000.0,1365984000000.0,1366070400000.0,1366156800000.0,1366243200000.0,1366329600000.0,1366588800000.0,1366675200000.0,1366761600000.0,1366848000000.0,1366934400000.0,1367193600000.0,1367280000000.0,1367366400000.0,1367452800000.0,1367539200000.0,1367798400000.0,1367884800000.0,1367971200000.0,1368057600000.0,1368144000000.0,1368403200000.0,1368489600000.0,1368576000000.0,1368662400000.0,1368748800000.0,1369008000000.0,1369094400000.0,1369180800000.0,1369267200000.0,1369353600000.0,1369699200000.0,1369785600000.0,1369872000000.0,1369958400000.0,1370217600000.0,1370304000000.0,1370390400000.0,1370476800000.0,1370563200000.0,1370822400000.0,1370908800000.0,1370995200000.0,1371081600000.0,1371168000000.0,1371427200000.0,1371513600000.0,1371600000000.0,1371686400000.0,1371772800000.0,1372032000000.0,1372118400000.0,1372204800000.0,1372291200000.0,1372377600000.0,1372636800000.0,1372723200000.0,1372809600000.0,1372982400000.0,1373241600000.0,1373328000000.0,1373414400000.0,1373500800000.0,1373587200000.0,1373846400000.0,1373932800000.0,1374019200000.0,1374105600000.0,1374192000000.0,1374451200000.0,1374537600000.0,1374624000000.0,1374710400000.0,1374796800000.0,1375056000000.0,1375142400000.0,1375228800000.0,1375315200000.0,1375401600000.0,1375660800000.0,1375747200000.0,1375833600000.0,1375920000000.0,1376006400000.0,1376265600000.0,1376352000000.0,1376438400000.0,1376524800000.0,1376611200000.0,1376870400000.0,1376956800000.0,1377043200000.0,1377129600000.0,1377216000000.0,1377475200000.0,1377561600000.0,1377648000000.0,1377734400000.0,1377820800000.0,1378166400000.0,1378252800000.0,1378339200000.0,1378425600000.0,1378684800000.0,1378771200000.0,1378857600000.0,1378944000000.0,1379030400000.0,1379289600000.0,1379376000000.0,1379462400000.0,1379548800000.0,1379635200000.0,1379894400000.0,1379980800000.0,1380067200000.0,1380153600000.0,1380240000000.0,1380499200000.0,1380585600000.0,1380672000000.0,1380758400000.0,1380844800000.0,1381104000000.0,1381190400000.0,1381276800000.0,1381363200000.0,1381449600000.0,1381708800000.0,1381795200000.0,1381881600000.0,1381968000000.0,1382054400000.0,1382313600000.0,1382400000000.0,1382486400000.0,1382572800000.0,1382659200000.0,1382918400000.0,1383004800000.0,1383091200000.0,1383177600000.0,1383264000000.0,1383523200000.0,1383609600000.0,1383696000000.0,1383782400000.0,1383868800000.0,1384128000000.0,1384214400000.0,1384300800000.0,1384387200000.0,1384473600000.0,1384732800000.0,1384819200000.0,1384905600000.0,1384992000000.0,1385078400000.0,1385337600000.0,1385424000000.0,1385510400000.0,1385683200000.0,1385942400000.0,1386028800000.0,1386115200000.0,1386201600000.0,1386288000000.0,1386547200000.0,1386633600000.0,1386720000000.0,1386806400000.0,1386892800000.0,1387152000000.0,1387238400000.0,1387324800000.0,1387411200000.0,1387497600000.0,1387756800000.0,1387843200000.0,1388016000000.0,1388102400000.0,1388361600000.0,1388448000000.0],\"y\":{\"__ndarray__\":\"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\",\"dtype\":\"float64\",\"shape\":[3521]}},\"selected\":{\"id\":\"1457\",\"type\":\"Selection\"},\"selection_policy\":{\"id\":\"1456\",\"type\":\"UnionRenderers\"}},\"id\":\"1406\",\"type\":\"ColumnDataSource\"},{\"attributes\":{},\"id\":\"1486\",\"type\":\"Selection\"},{\"attributes\":{},\"id\":\"1378\",\"type\":\"LinearScale\"},{\"attributes\":{},\"id\":\"1428\",\"type\":\"YearsTicker\"},{\"attributes\":{\"label\":{\"value\":\"CSCO\"},\"renderers\":[{\"id\":\"1462\",\"type\":\"GlyphRenderer\"}]},\"id\":\"1487\",\"type\":\"LegendItem\"},{\"attributes\":{\"formatter\":{\"id\":\"1415\",\"type\":\"DatetimeTickFormatter\"},\"plot\":{\"id\":\"1371\",\"subtype\":\"Figure\",\"type\":\"Plot\"},\"ticker\":{\"id\":\"1381\",\"type\":\"DatetimeTicker\"}},\"id\":\"1380\",\"type\":\"DatetimeAxis\"},{\"attributes\":{\"line_alpha\":0.8,\"line_color\":\"#1f77b4\",\"line_width\":2,\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"1407\",\"type\":\"Line\"},{\"attributes\":{\"click_policy\":\"hide\",\"items\":[{\"id\":\"1431\",\"type\":\"LegendItem\"},{\"id\":\"1458\",\"type\":\"LegendItem\"},{\"id\":\"1487\",\"type\":\"LegendItem\"},{\"id\":\"1518\",\"type\":\"LegendItem\"}],\"location\":\"top_left\",\"plot\":{\"id\":\"1371\",\"subtype\":\"Figure\",\"type\":\"Plot\"}},\"id\":\"1430\",\"type\":\"Legend\"},{\"attributes\":{\"callback\":null,\"data\":{\"x\":[946857600000.0,946944000000.0,947030400000.0,947116800000.0,947203200000.0,947462400000.0,947548800000.0,947635200000.0,947721600000.0,947808000000.0,948153600000.0,948240000000.0,948326400000.0,948412800000.0,948672000000.0,948758400000.0,948844800000.0,948931200000.0,949017600000.0,949276800000.0,949363200000.0,949449600000.0,949536000000.0,949622400000.0,949881600000.0,949968000000.0,950054400000.0,950140800000.0,950227200000.0,950486400000.0,950572800000.0,950659200000.0,950745600000.0,950832000000.0,951177600000.0,951264000000.0,951350400000.0,951436800000.0,951696000000.0,951782400000.0,951868800000.0,951955200000.0,952041600000.0,952300800000.0,952387200000.0,952473600000.0,952560000000.0,952646400000.0,952905600000.0,952992000000.0,953078400000.0,953164800000.0,953251200000.0,953510400000.0,953596800000.0,953683200000.0,953769600000.0,953856000000.0,954115200000.0,954201600000.0,954288000000.0,954374400000.0,954460800000.0,954720000000.0,954806400000.0,954892800000.0,954979200000.0,955065600000.0,955324800000.0,955411200000.0,955497600000.0,955584000000.0,955670400000.0,955929600000.0,956016000000.0,956102400000.0,956188800000.0,956534400000.0,956620800000.0,956707200000.0,956793600000.0,956880000000.0,957139200000.0,957225600000.0,957312000000.0,957398400000.0,957484800000.0,957744000000.0,957830400000.0,957916800000.0,958003200000.0,958089600000.0,958348800000.0,958435200000.0,958521600000.0,958608000000.0,958694400000.0,958953600000.0,959040000000.0,959126400000.0,959212800000.0,959299200000.0,959644800000.0,959731200000.0,959817600000.0,959904000000.0,960163200000.0,960249600000.0,960336000000.0,960422400000.0,960508800000.0,960768000000.0,960854400000.0,960940800000.0,961027200000.0,961113600000.0,961372800000.0,961459200000.0,961545600000.0,961632000000.0,961718400000.0,961977600000.0,962064000000.0,962150400000.0,962236800000.0,962323200000.0,962582400000.0,962755200000.0,962841600000.0,962928000000.0,963187200000.0,963273600000.0,963360000000.0,963446400000.0,963532800000.0,963792000000.0,963878400000.0,963964800000.0,964051200000.0,964137600000.0,964396800000.0,964483200000.0,964569600000.0,964656000000.0,964742400000.0,965001600000.0,965088000000.0,965174400000.0,965260800000.0,965347200000.0,965606400000.0,965692800000.0,965779200000.0,965865600000.0,965952000000.0,966211200000.0,966297600000.0,966384000000.0,966470400000.0,966556800000.0,966816000000.0,966902400000.0,966988800000.0,967075200000.0,967161600000.0,967420800000.0,967507200000.0,967593600000.0,967680000000.0,967766400000.0,968112000000.0,968198400000.0,968284800000.0,968371200000.0,968630400000.0,968716800000.0,968803200000.0,968889600000.0,968976000000.0,969235200000.0,969321600000.0,969408000000.0,969494400000.0,969580800000.0,969840000000.0,969926400000.0,970012800000.0,970099200000.0,970185600000.0,970444800000.0,970531200000.0,970617600000.0,970704000000.0,970790400000.0,971049600000.0,971136000000.0,971222400000.0,971308800000.0,971395200000.0,971654400000.0,971740800000.0,971827200000.0,971913600000.0,972000000000.0,972259200000.0,972345600000.0,972432000000.0,972518400000.0,972604800000.0,972864000000.0,972950400000.0,973036800000.0,973123200000.0,973209600000.0,973468800000.0,973555200000.0,973641600000.0,973728000000.0,973814400000.0,974073600000.0,974160000000.0,974246400000.0,974332800000.0,974419200000.0,974678400000.0,974764800000.0,974851200000.0,975024000000.0,975283200000.0,975369600000.0,975456000000.0,975542400000.0,975628800000.0,975888000000.0,975974400000.0,976060800000.0,976147200000.0,976233600000.0,976492800000.0,976579200000.0,976665600000.0,976752000000.0,976838400000.0,977097600000.0,977184000000.0,977270400000.0,977356800000.0,977443200000.0,977788800000.0,977875200000.0,977961600000.0,978048000000.0,978393600000.0,978480000000.0,978566400000.0,978652800000.0,978912000000.0,978998400000.0,979084800000.0,979171200000.0,979257600000.0,979603200000.0,979689600000.0,979776000000.0,979862400000.0,980121600000.0,980208000000.0,980294400000.0,980380800000.0,980467200000.0,980726400000.0,980812800000.0,980899200000.0,980985600000.0,981072000000.0,981331200000.0,981417600000.0,981504000000.0,981590400000.0,981676800000.0,981936000000.0,982022400000.0,982108800000.0,982195200000.0,982281600000.0,982627200000.0,982713600000.0,982800000000.0,982886400000.0,983145600000.0,983232000000.0,983318400000.0,983404800000.0,983491200000.0,983750400000.0,983836800000.0,983923200000.0,984009600000.0,984096000000.0,984355200000.0,984441600000.0,984528000000.0,984614400000.0,984700800000.0,984960000000.0,985046400000.0,985132800000.0,985219200000.0,985305600000.0,985564800000.0,985651200000.0,985737600000.0,985824000000.0,985910400000.0,986169600000.0,986256000000.0,986342400000.0,986428800000.0,986515200000.0,986774400000.0,986860800000.0,986947200000.0,987033600000.0,987379200000.0,987465600000.0,987552000000.0,987638400000.0,987724800000.0,987984000000.0,988070400000.0,988156800000.0,988243200000.0,988329600000.0,988588800000.0,988675200000.0,988761600000.0,988848000000.0,988934400000.0,989193600000.0,989280000000.0,989366400000.0,989452800000.0,989539200000.0,989798400000.0,989884800000.0,989971200000.0,990057600000.0,990144000000.0,990403200000.0,990489600000.0,990576000000.0,990662400000.0,990748800000.0,991094400000.0,991180800000.0,991267200000.0,991353600000.0,991612800000.0,991699200000.0,991785600000.0,991872000000.0,991958400000.0,992217600000.0,992304000000.0,992390400000.0,992476800000.0,992563200000.0,992822400000.0,992908800000.0,992995200000.0,993081600000.0,993168000000.0,993427200000.0,993513600000.0,993600000000.0,993686400000.0,993772800000.0,994032000000.0,994118400000.0,994291200000.0,994377600000.0,994636800000.0,994723200000.0,994809600000.0,994896000000.0,994982400000.0,995241600000.0,995328000000.0,995414400000.0,995500800000.0,995587200000.0,995846400000.0,995932800000.0,996019200000.0,996105600000.0,996192000000.0,996451200000.0,996537600000.0,996624000000.0,996710400000.0,996796800000.0,997056000000.0,997142400000.0,997228800000.0,997315200000.0,997401600000.0,997660800000.0,997747200000.0,997833600000.0,997920000000.0,998006400000.0,998265600000.0,998352000000.0,998438400000.0,998524800000.0,998611200000.0,998870400000.0,998956800000.0,999043200000.0,999129600000.0,999216000000.0,999561600000.0,999648000000.0,999734400000.0,999820800000.0,1000080000000.0,1000684800000.0,1000771200000.0,1000857600000.0,1000944000000.0,1001030400000.0,1001289600000.0,1001376000000.0,1001462400000.0,1001548800000.0,1001635200000.0,1001894400000.0,1001980800000.0,1002067200000.0,1002153600000.0,1002240000000.0,1002499200000.0,1002585600000.0,1002672000000.0,1002758400000.0,1002844800000.0,1003104000000.0,1003190400000.0,1003276800000.0,1003363200000.0,1003449600000.0,1003708800000.0,1003795200000.0,1003881600000.0,1003968000000.0,1004054400000.0,1004313600000.0,1004400000000.0,1004486400000.0,1004572800000.0,1004659200000.0,1004918400000.0,1005004800000.0,1005091200000.0,1005177600000.0,1005264000000.0,1005523200000.0,1005609600000.0,1005696000000.0,1005782400000.0,1005868800000.0,1006128000000.0,1006214400000.0,1006300800000.0,1006473600000.0,1006732800000.0,1006819200000.0,1006905600000.0,1006992000000.0,1007078400000.0,1007337600000.0,1007424000000.0,1007510400000.0,1007596800000.0,1007683200000.0,1007942400000.0,1008028800000.0,1008115200000.0,1008201600000.0,1008288000000.0,1008547200000.0,1008633600000.0,1008720000000.0,1008806400000.0,1008892800000.0,1009152000000.0,1009324800000.0,1009411200000.0,1009497600000.0,1009756800000.0,1009929600000.0,1010016000000.0,1010102400000.0,1010361600000.0,1010448000000.0,1010534400000.0,1010620800000.0,1010707200000.0,1010966400000.0,1011052800000.0,1011139200000.0,1011225600000.0,1011312000000.0,1011657600000.0,1011744000000.0,1011830400000.0,1011916800000.0,1012176000000.0,1012262400000.0,1012348800000.0,1012435200000.0,1012521600000.0,1012780800000.0,1012867200000.0,1012953600000.0,1013040000000.0,1013126400000.0,1013385600000.0,1013472000000.0,1013558400000.0,1013644800000.0,1013731200000.0,1014076800000.0,1014163200000.0,1014249600000.0,1014336000000.0,1014595200000.0,1014681600000.0,1014768000000.0,1014854400000.0,1014940800000.0,1015200000000.0,1015286400000.0,1015372800000.0,1015459200000.0,1015545600000.0,1015804800000.0,1015891200000.0,1015977600000.0,1016064000000.0,1016150400000.0,1016409600000.0,1016496000000.0,1016582400000.0,1016668800000.0,1016755200000.0,1017014400000.0,1017100800000.0,1017187200000.0,1017273600000.0,1017619200000.0,1017705600000.0,1017792000000.0,1017878400000.0,1017964800000.0,1018224000000.0,1018310400000.0,1018396800000.0,1018483200000.0,1018569600000.0,1018828800000.0,1018915200000.0,1019001600000.0,1019088000000.0,1019174400000.0,1019433600000.0,1019520000000.0,1019606400000.0,1019692800000.0,1019779200000.0,1020038400000.0,1020124800000.0,1020211200000.0,1020297600000.0,1020384000000.0,1020643200000.0,1020729600000.0,1020816000000.0,1020902400000.0,1020988800000.0,1021248000000.0,1021334400000.0,1021420800000.0,1021507200000.0,1021593600000.0,1021852800000.0,1021939200000.0,1022025600000.0,1022112000000.0,1022198400000.0,1022544000000.0,1022630400000.0,1022716800000.0,1022803200000.0,1023062400000.0,1023148800000.0,1023235200000.0,1023321600000.0,1023408000000.0,1023667200000.0,1023753600000.0,1023840000000.0,1023926400000.0,1024012800000.0,1024272000000.0,1024358400000.0,1024444800000.0,1024531200000.0,1024617600000.0,1024876800000.0,1024963200000.0,1025049600000.0,1025136000000.0,1025222400000.0,1025481600000.0,1025568000000.0,1025654400000.0,1025827200000.0,1026086400000.0,1026172800000.0,1026259200000.0,1026345600000.0,1026432000000.0,1026691200000.0,1026777600000.0,1026864000000.0,1026950400000.0,1027036800000.0,1027296000000.0,1027382400000.0,1027468800000.0,1027555200000.0,1027641600000.0,1027900800000.0,1027987200000.0,1028073600000.0,1028160000000.0,1028246400000.0,1028505600000.0,1028592000000.0,1028678400000.0,1028764800000.0,1028851200000.0,1029110400000.0,1029196800000.0,1029283200000.0,1029369600000.0,1029456000000.0,1029715200000.0,1029801600000.0,1029888000000.0,1029974400000.0,1030060800000.0,1030320000000.0,1030406400000.0,1030492800000.0,1030579200000.0,1030665600000.0,1031011200000.0,1031097600000.0,1031184000000.0,1031270400000.0,1031529600000.0,1031616000000.0,1031702400000.0,1031788800000.0,1031875200000.0,1032134400000.0,1032220800000.0,1032307200000.0,1032393600000.0,1032480000000.0,1032739200000.0,1032825600000.0,1032912000000.0,1032998400000.0,1033084800000.0,1033344000000.0,1033430400000.0,1033516800000.0,1033603200000.0,1033689600000.0,1033948800000.0,1034035200000.0,1034121600000.0,1034208000000.0,1034294400000.0,1034553600000.0,1034640000000.0,1034726400000.0,1034812800000.0,1034899200000.0,1035158400000.0,1035244800000.0,1035331200000.0,1035417600000.0,1035504000000.0,1035763200000.0,1035849600000.0,1035936000000.0,1036022400000.0,1036108800000.0,1036368000000.0,1036454400000.0,1036540800000.0,1036627200000.0,1036713600000.0,1036972800000.0,1037059200000.0,1037145600000.0,1037232000000.0,1037318400000.0,1037577600000.0,1037664000000.0,1037750400000.0,1037836800000.0,1037923200000.0,1038182400000.0,1038268800000.0,1038355200000.0,1038528000000.0,1038787200000.0,1038873600000.0,1038960000000.0,1039046400000.0,1039132800000.0,1039392000000.0,1039478400000.0,1039564800000.0,1039651200000.0,1039737600000.0,1039996800000.0,1040083200000.0,1040169600000.0,1040256000000.0,1040342400000.0,1040601600000.0,1040688000000.0,1040860800000.0,1040947200000.0,1041206400000.0,1041292800000.0,1041465600000.0,1041552000000.0,1041811200000.0,1041897600000.0,1041984000000.0,1042070400000.0,1042156800000.0,1042416000000.0,1042502400000.0,1042588800000.0,1042675200000.0,1042761600000.0,1043107200000.0,1043193600000.0,1043280000000.0,1043366400000.0,1043625600000.0,1043712000000.0,1043798400000.0,1043884800000.0,1043971200000.0,1044230400000.0,1044316800000.0,1044403200000.0,1044489600000.0,1044576000000.0,1044835200000.0,1044921600000.0,1045008000000.0,1045094400000.0,1045180800000.0,1045526400000.0,1045612800000.0,1045699200000.0,1045785600000.0,1046044800000.0,1046131200000.0,1046217600000.0,1046304000000.0,1046390400000.0,1046649600000.0,1046736000000.0,1046822400000.0,1046908800000.0,1046995200000.0,1047254400000.0,1047340800000.0,1047427200000.0,1047513600000.0,1047600000000.0,1047859200000.0,1047945600000.0,1048032000000.0,1048118400000.0,1048204800000.0,1048464000000.0,1048550400000.0,1048636800000.0,1048723200000.0,1048809600000.0,1049068800000.0,1049155200000.0,1049241600000.0,1049328000000.0,1049414400000.0,1049673600000.0,1049760000000.0,1049846400000.0,1049932800000.0,1050019200000.0,1050278400000.0,1050364800000.0,1050451200000.0,1050537600000.0,1050883200000.0,1050969600000.0,1051056000000.0,1051142400000.0,1051228800000.0,1051488000000.0,1051574400000.0,1051660800000.0,1051747200000.0,1051833600000.0,1052092800000.0,1052179200000.0,1052265600000.0,1052352000000.0,1052438400000.0,1052697600000.0,1052784000000.0,1052870400000.0,1052956800000.0,1053043200000.0,1053302400000.0,1053388800000.0,1053475200000.0,1053561600000.0,1053648000000.0,1053993600000.0,1054080000000.0,1054166400000.0,1054252800000.0,1054512000000.0,1054598400000.0,1054684800000.0,1054771200000.0,1054857600000.0,1055116800000.0,1055203200000.0,1055289600000.0,1055376000000.0,1055462400000.0,1055721600000.0,1055808000000.0,1055894400000.0,1055980800000.0,1056067200000.0,1056326400000.0,1056412800000.0,1056499200000.0,1056585600000.0,1056672000000.0,1056931200000.0,1057017600000.0,1057104000000.0,1057190400000.0,1057536000000.0,1057622400000.0,1057708800000.0,1057795200000.0,1057881600000.0,1058140800000.0,1058227200000.0,1058313600000.0,1058400000000.0,1058486400000.0,1058745600000.0,1058832000000.0,1058918400000.0,1059004800000.0,1059091200000.0,1059350400000.0,1059436800000.0,1059523200000.0,1059609600000.0,1059696000000.0,1059955200000.0,1060041600000.0,1060128000000.0,1060214400000.0,1060300800000.0,1060560000000.0,1060646400000.0,1060732800000.0,1060819200000.0,1060905600000.0,1061164800000.0,1061251200000.0,1061337600000.0,1061424000000.0,1061510400000.0,1061769600000.0,1061856000000.0,1061942400000.0,1062028800000.0,1062115200000.0,1062460800000.0,1062547200000.0,1062633600000.0,1062720000000.0,1062979200000.0,1063065600000.0,1063152000000.0,1063238400000.0,1063324800000.0,1063584000000.0,1063670400000.0,1063756800000.0,1063843200000.0,1063929600000.0,1064188800000.0,1064275200000.0,1064361600000.0,1064448000000.0,1064534400000.0,1064793600000.0,1064880000000.0,1064966400000.0,1065052800000.0,1065139200000.0,1065398400000.0,1065484800000.0,1065571200000.0,1065657600000.0,1065744000000.0,1066003200000.0,1066089600000.0,1066176000000.0,1066262400000.0,1066348800000.0,1066608000000.0,1066694400000.0,1066780800000.0,1066867200000.0,1066953600000.0,1067212800000.0,1067299200000.0,1067385600000.0,1067472000000.0,1067558400000.0,1067817600000.0,1067904000000.0,1067990400000.0,1068076800000.0,1068163200000.0,1068422400000.0,1068508800000.0,1068595200000.0,1068681600000.0,1068768000000.0,1069027200000.0,1069113600000.0,1069200000000.0,1069286400000.0,1069372800000.0,1069632000000.0,1069718400000.0,1069804800000.0,1069977600000.0,1070236800000.0,1070323200000.0,1070409600000.0,1070496000000.0,1070582400000.0,1070841600000.0,1070928000000.0,1071014400000.0,1071100800000.0,1071187200000.0,1071446400000.0,1071532800000.0,1071619200000.0,1071705600000.0,1071792000000.0,1072051200000.0,1072137600000.0,1072224000000.0,1072396800000.0,1072656000000.0,1072742400000.0,1072828800000.0,1073001600000.0,1073260800000.0,1073347200000.0,1073433600000.0,1073520000000.0,1073606400000.0,1073865600000.0,1073952000000.0,1074038400000.0,1074124800000.0,1074211200000.0,1074556800000.0,1074643200000.0,1074729600000.0,1074816000000.0,1075075200000.0,1075161600000.0,1075248000000.0,1075334400000.0,1075420800000.0,1075680000000.0,1075766400000.0,1075852800000.0,1075939200000.0,1076025600000.0,1076284800000.0,1076371200000.0,1076457600000.0,1076544000000.0,1076630400000.0,1076976000000.0,1077062400000.0,1077148800000.0,1077235200000.0,1077494400000.0,1077580800000.0,1077667200000.0,1077753600000.0,1077840000000.0,1078099200000.0,1078185600000.0,1078272000000.0,1078358400000.0,1078444800000.0,1078704000000.0,1078790400000.0,1078876800000.0,1078963200000.0,1079049600000.0,1079308800000.0,1079395200000.0,1079481600000.0,1079568000000.0,1079654400000.0,1079913600000.0,1080000000000.0,1080086400000.0,1080172800000.0,1080259200000.0,1080518400000.0,1080604800000.0,1080691200000.0,1080777600000.0,1080864000000.0,1081123200000.0,1081209600000.0,1081296000000.0,1081382400000.0,1081728000000.0,1081814400000.0,1081900800000.0,1081987200000.0,1082073600000.0,1082332800000.0,1082419200000.0,1082505600000.0,1082592000000.0,1082678400000.0,1082937600000.0,1083024000000.0,1083110400000.0,1083196800000.0,1083283200000.0,1083542400000.0,1083628800000.0,1083715200000.0,1083801600000.0,1083888000000.0,1084147200000.0,1084233600000.0,1084320000000.0,1084406400000.0,1084492800000.0,1084752000000.0,1084838400000.0,1084924800000.0,1085011200000.0,1085097600000.0,1085356800000.0,1085443200000.0,1085529600000.0,1085616000000.0,1085702400000.0,1086048000000.0,1086134400000.0,1086220800000.0,1086307200000.0,1086566400000.0,1086652800000.0,1086739200000.0,1086825600000.0,1087171200000.0,1087257600000.0,1087344000000.0,1087430400000.0,1087516800000.0,1087776000000.0,1087862400000.0,1087948800000.0,1088035200000.0,1088121600000.0,1088380800000.0,1088467200000.0,1088553600000.0,1088640000000.0,1088726400000.0,1089072000000.0,1089158400000.0,1089244800000.0,1089331200000.0,1089590400000.0,1089676800000.0,1089763200000.0,1089849600000.0,1089936000000.0,1090195200000.0,1090281600000.0,1090368000000.0,1090454400000.0,1090540800000.0,1090800000000.0,1090886400000.0,1090972800000.0,1091059200000.0,1091145600000.0,1091404800000.0,1091491200000.0,1091577600000.0,1091664000000.0,1091750400000.0,1092009600000.0,1092096000000.0,1092182400000.0,1092268800000.0,1092355200000.0,1092614400000.0,1092700800000.0,1092787200000.0,1092873600000.0,1092960000000.0,1093219200000.0,1093305600000.0,1093392000000.0,1093478400000.0,1093564800000.0,1093824000000.0,1093910400000.0,1093996800000.0,1094083200000.0,1094169600000.0,1094515200000.0,1094601600000.0,1094688000000.0,1094774400000.0,1095033600000.0,1095120000000.0,1095206400000.0,1095292800000.0,1095379200000.0,1095638400000.0,1095724800000.0,1095811200000.0,1095897600000.0,1095984000000.0,1096243200000.0,1096329600000.0,1096416000000.0,1096502400000.0,1096588800000.0,1096848000000.0,1096934400000.0,1097020800000.0,1097107200000.0,1097193600000.0,1097452800000.0,1097539200000.0,1097625600000.0,1097712000000.0,1097798400000.0,1098057600000.0,1098144000000.0,1098230400000.0,1098316800000.0,1098403200000.0,1098662400000.0,1098748800000.0,1098835200000.0,1098921600000.0,1099008000000.0,1099267200000.0,1099353600000.0,1099440000000.0,1099526400000.0,1099612800000.0,1099872000000.0,1099958400000.0,1100044800000.0,1100131200000.0,1100217600000.0,1100476800000.0,1100563200000.0,1100649600000.0,1100736000000.0,1100822400000.0,1101081600000.0,1101168000000.0,1101254400000.0,1101427200000.0,1101686400000.0,1101772800000.0,1101859200000.0,1101945600000.0,1102032000000.0,1102291200000.0,1102377600000.0,1102464000000.0,1102550400000.0,1102636800000.0,1102896000000.0,1102982400000.0,1103068800000.0,1103155200000.0,1103241600000.0,1103500800000.0,1103587200000.0,1103673600000.0,1103760000000.0,1104105600000.0,1104192000000.0,1104278400000.0,1104364800000.0,1104451200000.0,1104710400000.0,1104796800000.0,1104883200000.0,1104969600000.0,1105056000000.0,1105315200000.0,1105401600000.0,1105488000000.0,1105574400000.0,1105660800000.0,1106006400000.0,1106092800000.0,1106179200000.0,1106265600000.0,1106524800000.0,1106611200000.0,1106697600000.0,1106784000000.0,1106870400000.0,1107129600000.0,1107216000000.0,1107302400000.0,1107388800000.0,1107475200000.0,1107734400000.0,1107820800000.0,1107907200000.0,1107993600000.0,1108080000000.0,1108339200000.0,1108425600000.0,1108512000000.0,1108598400000.0,1108684800000.0,1109030400000.0,1109116800000.0,1109203200000.0,1109289600000.0,1109548800000.0,1109635200000.0,1109721600000.0,1109808000000.0,1109894400000.0,1110153600000.0,1110240000000.0,1110326400000.0,1110412800000.0,1110499200000.0,1110758400000.0,1110844800000.0,1110931200000.0,1111017600000.0,1111104000000.0,1111363200000.0,1111449600000.0,1111536000000.0,1111622400000.0,1111968000000.0,1112054400000.0,1112140800000.0,1112227200000.0,1112313600000.0,1112572800000.0,1112659200000.0,1112745600000.0,1112832000000.0,1112918400000.0,1113177600000.0,1113264000000.0,1113350400000.0,1113436800000.0,1113523200000.0,1113782400000.0,1113868800000.0,1113955200000.0,1114041600000.0,1114128000000.0,1114387200000.0,1114473600000.0,1114560000000.0,1114646400000.0,1114732800000.0,1114992000000.0,1115078400000.0,1115164800000.0,1115251200000.0,1115337600000.0,1115596800000.0,1115683200000.0,1115769600000.0,1115856000000.0,1115942400000.0,1116201600000.0,1116288000000.0,1116374400000.0,1116460800000.0,1116547200000.0,1116806400000.0,1116892800000.0,1116979200000.0,1117065600000.0,1117152000000.0,1117497600000.0,1117584000000.0,1117670400000.0,1117756800000.0,1118016000000.0,1118102400000.0,1118188800000.0,1118275200000.0,1118361600000.0,1118620800000.0,1118707200000.0,1118793600000.0,1118880000000.0,1118966400000.0,1119225600000.0,1119312000000.0,1119398400000.0,1119484800000.0,1119571200000.0,1119830400000.0,1119916800000.0,1120003200000.0,1120089600000.0,1120176000000.0,1120521600000.0,1120608000000.0,1120694400000.0,1120780800000.0,1121040000000.0,1121126400000.0,1121212800000.0,1121299200000.0,1121385600000.0,1121644800000.0,1121731200000.0,1121817600000.0,1121904000000.0,1121990400000.0,1122249600000.0,1122336000000.0,1122422400000.0,1122508800000.0,1122595200000.0,1122854400000.0,1122940800000.0,1123027200000.0,1123113600000.0,1123200000000.0,1123459200000.0,1123545600000.0,1123632000000.0,1123718400000.0,1123804800000.0,1124064000000.0,1124150400000.0,1124236800000.0,1124323200000.0,1124409600000.0,1124668800000.0,1124755200000.0,1124841600000.0,1124928000000.0,1125014400000.0,1125273600000.0,1125360000000.0,1125446400000.0,1125532800000.0,1125619200000.0,1125964800000.0,1126051200000.0,1126137600000.0,1126224000000.0,1126483200000.0,1126569600000.0,1126656000000.0,1126742400000.0,1126828800000.0,1127088000000.0,1127174400000.0,1127260800000.0,1127347200000.0,1127433600000.0,1127692800000.0,1127779200000.0,1127865600000.0,1127952000000.0,1128038400000.0,1128297600000.0,1128384000000.0,1128470400000.0,1128556800000.0,1128643200000.0,1128902400000.0,1128988800000.0,1129075200000.0,1129161600000.0,1129248000000.0,1129507200000.0,1129593600000.0,1129680000000.0,1129766400000.0,1129852800000.0,1130112000000.0,1130198400000.0,1130284800000.0,1130371200000.0,1130457600000.0,1130716800000.0,1130803200000.0,1130889600000.0,1130976000000.0,1131062400000.0,1131321600000.0,1131408000000.0,1131494400000.0,1131580800000.0,1131667200000.0,1131926400000.0,1132012800000.0,1132099200000.0,1132185600000.0,1132272000000.0,1132531200000.0,1132617600000.0,1132704000000.0,1132876800000.0,1133136000000.0,1133222400000.0,1133308800000.0,1133395200000.0,1133481600000.0,1133740800000.0,1133827200000.0,1133913600000.0,1134000000000.0,1134086400000.0,1134345600000.0,1134432000000.0,1134518400000.0,1134604800000.0,1134691200000.0,1134950400000.0,1135036800000.0,1135123200000.0,1135209600000.0,1135296000000.0,1135641600000.0,1135728000000.0,1135814400000.0,1135900800000.0,1136246400000.0,1136332800000.0,1136419200000.0,1136505600000.0,1136764800000.0,1136851200000.0,1136937600000.0,1137024000000.0,1137110400000.0,1137456000000.0,1137542400000.0,1137628800000.0,1137715200000.0,1137974400000.0,1138060800000.0,1138147200000.0,1138233600000.0,1138320000000.0,1138579200000.0,1138665600000.0,1138752000000.0,1138838400000.0,1138924800000.0,1139184000000.0,1139270400000.0,1139356800000.0,1139443200000.0,1139529600000.0,1139788800000.0,1139875200000.0,1139961600000.0,1140048000000.0,1140134400000.0,1140480000000.0,1140566400000.0,1140652800000.0,1140739200000.0,1140998400000.0,1141084800000.0,1141171200000.0,1141257600000.0,1141344000000.0,1141603200000.0,1141689600000.0,1141776000000.0,1141862400000.0,1141948800000.0,1142208000000.0,1142294400000.0,1142380800000.0,1142467200000.0,1142553600000.0,1142812800000.0,1142899200000.0,1142985600000.0,1143072000000.0,1143158400000.0,1143417600000.0,1143504000000.0,1143590400000.0,1143676800000.0,1143763200000.0,1144022400000.0,1144108800000.0,1144195200000.0,1144281600000.0,1144368000000.0,1144627200000.0,1144713600000.0,1144800000000.0,1144886400000.0,1145232000000.0,1145318400000.0,1145404800000.0,1145491200000.0,1145577600000.0,1145836800000.0,1145923200000.0,1146009600000.0,1146096000000.0,1146182400000.0,1146441600000.0,1146528000000.0,1146614400000.0,1146700800000.0,1146787200000.0,1147046400000.0,1147132800000.0,1147219200000.0,1147305600000.0,1147392000000.0,1147651200000.0,1147737600000.0,1147824000000.0,1147910400000.0,1147996800000.0,1148256000000.0,1148342400000.0,1148428800000.0,1148515200000.0,1148601600000.0,1148947200000.0,1149033600000.0,1149120000000.0,1149206400000.0,1149465600000.0,1149552000000.0,1149638400000.0,1149724800000.0,1149811200000.0,1150070400000.0,1150156800000.0,1150243200000.0,1150329600000.0,1150416000000.0,1150675200000.0,1150761600000.0,1150848000000.0,1150934400000.0,1151020800000.0,1151280000000.0,1151366400000.0,1151452800000.0,1151539200000.0,1151625600000.0,1151884800000.0,1152057600000.0,1152144000000.0,1152230400000.0,1152489600000.0,1152576000000.0,1152662400000.0,1152748800000.0,1152835200000.0,1153094400000.0,1153180800000.0,1153267200000.0,1153353600000.0,1153440000000.0,1153699200000.0,1153785600000.0,1153872000000.0,1153958400000.0,1154044800000.0,1154304000000.0,1154390400000.0,1154476800000.0,1154563200000.0,1154649600000.0,1154908800000.0,1154995200000.0,1155081600000.0,1155168000000.0,1155254400000.0,1155513600000.0,1155600000000.0,1155686400000.0,1155772800000.0,1155859200000.0,1156118400000.0,1156204800000.0,1156291200000.0,1156377600000.0,1156464000000.0,1156723200000.0,1156809600000.0,1156896000000.0,1156982400000.0,1157068800000.0,1157414400000.0,1157500800000.0,1157587200000.0,1157673600000.0,1157932800000.0,1158019200000.0,1158105600000.0,1158192000000.0,1158278400000.0,1158537600000.0,1158624000000.0,1158710400000.0,1158796800000.0,1158883200000.0,1159142400000.0,1159228800000.0,1159315200000.0,1159401600000.0,1159488000000.0,1159747200000.0,1159833600000.0,1159920000000.0,1160006400000.0,1160092800000.0,1160352000000.0,1160438400000.0,1160524800000.0,1160611200000.0,1160697600000.0,1160956800000.0,1161043200000.0,1161129600000.0,1161216000000.0,1161302400000.0,1161561600000.0,1161648000000.0,1161734400000.0,1161820800000.0,1161907200000.0,1162166400000.0,1162252800000.0,1162339200000.0,1162425600000.0,1162512000000.0,1162771200000.0,1162857600000.0,1162944000000.0,1163030400000.0,1163116800000.0,1163376000000.0,1163462400000.0,1163548800000.0,1163635200000.0,1163721600000.0,1163980800000.0,1164067200000.0,1164153600000.0,1164326400000.0,1164585600000.0,1164672000000.0,1164758400000.0,1164844800000.0,1164931200000.0,1165190400000.0,1165276800000.0,1165363200000.0,1165449600000.0,1165536000000.0,1165795200000.0,1165881600000.0,1165968000000.0,1166054400000.0,1166140800000.0,1166400000000.0,1166486400000.0,1166572800000.0,1166659200000.0,1166745600000.0,1167091200000.0,1167177600000.0,1167264000000.0,1167350400000.0,1167782400000.0,1167868800000.0,1167955200000.0,1168214400000.0,1168300800000.0,1168387200000.0,1168473600000.0,1168560000000.0,1168905600000.0,1168992000000.0,1169078400000.0,1169164800000.0,1169424000000.0,1169510400000.0,1169596800000.0,1169683200000.0,1169769600000.0,1170028800000.0,1170115200000.0,1170201600000.0,1170288000000.0,1170374400000.0,1170633600000.0,1170720000000.0,1170806400000.0,1170892800000.0,1170979200000.0,1171238400000.0,1171324800000.0,1171411200000.0,1171497600000.0,1171584000000.0,1171929600000.0,1172016000000.0,1172102400000.0,1172188800000.0,1172448000000.0,1172534400000.0,1172620800000.0,1172707200000.0,1172793600000.0,1173052800000.0,1173139200000.0,1173225600000.0,1173312000000.0,1173398400000.0,1173657600000.0,1173744000000.0,1173830400000.0,1173916800000.0,1174003200000.0,1174262400000.0,1174348800000.0,1174435200000.0,1174521600000.0,1174608000000.0,1174867200000.0,1174953600000.0,1175040000000.0,1175126400000.0,1175212800000.0,1175472000000.0,1175558400000.0,1175644800000.0,1175731200000.0,1176076800000.0,1176163200000.0,1176249600000.0,1176336000000.0,1176422400000.0,1176681600000.0,1176768000000.0,1176854400000.0,1176940800000.0,1177027200000.0,1177286400000.0,1177372800000.0,1177459200000.0,1177545600000.0,1177632000000.0,1177891200000.0,1177977600000.0,1178064000000.0,1178150400000.0,1178236800000.0,1178496000000.0,1178582400000.0,1178668800000.0,1178755200000.0,1178841600000.0,1179100800000.0,1179187200000.0,1179273600000.0,1179360000000.0,1179446400000.0,1179705600000.0,1179792000000.0,1179878400000.0,1179964800000.0,1180051200000.0,1180396800000.0,1180483200000.0,1180569600000.0,1180656000000.0,1180915200000.0,1181001600000.0,1181088000000.0,1181174400000.0,1181260800000.0,1181520000000.0,1181606400000.0,1181692800000.0,1181779200000.0,1181865600000.0,1182124800000.0,1182211200000.0,1182297600000.0,1182384000000.0,1182470400000.0,1182729600000.0,1182816000000.0,1182902400000.0,1182988800000.0,1183075200000.0,1183334400000.0,1183420800000.0,1183593600000.0,1183680000000.0,1183939200000.0,1184025600000.0,1184112000000.0,1184198400000.0,1184284800000.0,1184544000000.0,1184630400000.0,1184716800000.0,1184803200000.0,1184889600000.0,1185148800000.0,1185235200000.0,1185321600000.0,1185408000000.0,1185494400000.0,1185753600000.0,1185840000000.0,1185926400000.0,1186012800000.0,1186099200000.0,1186358400000.0,1186444800000.0,1186531200000.0,1186617600000.0,1186704000000.0,1186963200000.0,1187049600000.0,1187136000000.0,1187222400000.0,1187308800000.0,1187568000000.0,1187654400000.0,1187740800000.0,1187827200000.0,1187913600000.0,1188172800000.0,1188259200000.0,1188345600000.0,1188432000000.0,1188518400000.0,1188864000000.0,1188950400000.0,1189036800000.0,1189123200000.0,1189382400000.0,1189468800000.0,1189555200000.0,1189641600000.0,1189728000000.0,1189987200000.0,1190073600000.0,1190160000000.0,1190246400000.0,1190332800000.0,1190592000000.0,1190678400000.0,1190764800000.0,1190851200000.0,1190937600000.0,1191196800000.0,1191283200000.0,1191369600000.0,1191456000000.0,1191542400000.0,1191801600000.0,1191888000000.0,1191974400000.0,1192060800000.0,1192147200000.0,1192406400000.0,1192492800000.0,1192579200000.0,1192665600000.0,1192752000000.0,1193011200000.0,1193097600000.0,1193184000000.0,1193270400000.0,1193356800000.0,1193616000000.0,1193702400000.0,1193788800000.0,1193875200000.0,1193961600000.0,1194220800000.0,1194307200000.0,1194393600000.0,1194480000000.0,1194566400000.0,1194825600000.0,1194912000000.0,1194998400000.0,1195084800000.0,1195171200000.0,1195430400000.0,1195516800000.0,1195603200000.0,1195776000000.0,1196035200000.0,1196121600000.0,1196208000000.0,1196294400000.0,1196380800000.0,1196640000000.0,1196726400000.0,1196812800000.0,1196899200000.0,1196985600000.0,1197244800000.0,1197331200000.0,1197417600000.0,1197504000000.0,1197590400000.0,1197849600000.0,1197936000000.0,1198022400000.0,1198108800000.0,1198195200000.0,1198454400000.0,1198627200000.0,1198713600000.0,1198800000000.0,1199059200000.0,1199232000000.0,1199318400000.0,1199404800000.0,1199664000000.0,1199750400000.0,1199836800000.0,1199923200000.0,1200009600000.0,1200268800000.0,1200355200000.0,1200441600000.0,1200528000000.0,1200614400000.0,1200960000000.0,1201046400000.0,1201132800000.0,1201219200000.0,1201478400000.0,1201564800000.0,1201651200000.0,1201737600000.0,1201824000000.0,1202083200000.0,1202169600000.0,1202256000000.0,1202342400000.0,1202428800000.0,1202688000000.0,1202774400000.0,1202860800000.0,1202947200000.0,1203033600000.0,1203379200000.0,1203465600000.0,1203552000000.0,1203638400000.0,1203897600000.0,1203984000000.0,1204070400000.0,1204156800000.0,1204243200000.0,1204502400000.0,1204588800000.0,1204675200000.0,1204761600000.0,1204848000000.0,1205107200000.0,1205193600000.0,1205280000000.0,1205366400000.0,1205452800000.0,1205712000000.0,1205798400000.0,1205884800000.0,1205971200000.0,1206316800000.0,1206403200000.0,1206489600000.0,1206576000000.0,1206662400000.0,1206921600000.0,1207008000000.0,1207094400000.0,1207180800000.0,1207267200000.0,1207526400000.0,1207612800000.0,1207699200000.0,1207785600000.0,1207872000000.0,1208131200000.0,1208217600000.0,1208304000000.0,1208390400000.0,1208476800000.0,1208736000000.0,1208822400000.0,1208908800000.0,1208995200000.0,1209081600000.0,1209340800000.0,1209427200000.0,1209513600000.0,1209600000000.0,1209686400000.0,1209945600000.0,1210032000000.0,1210118400000.0,1210204800000.0,1210291200000.0,1210550400000.0,1210636800000.0,1210723200000.0,1210809600000.0,1210896000000.0,1211155200000.0,1211241600000.0,1211328000000.0,1211414400000.0,1211500800000.0,1211846400000.0,1211932800000.0,1212019200000.0,1212105600000.0,1212364800000.0,1212451200000.0,1212537600000.0,1212624000000.0,1212710400000.0,1212969600000.0,1213056000000.0,1213142400000.0,1213228800000.0,1213315200000.0,1213574400000.0,1213660800000.0,1213747200000.0,1213833600000.0,1213920000000.0,1214179200000.0,1214265600000.0,1214352000000.0,1214438400000.0,1214524800000.0,1214784000000.0,1214870400000.0,1214956800000.0,1215043200000.0,1215388800000.0,1215475200000.0,1215561600000.0,1215648000000.0,1215734400000.0,1215993600000.0,1216080000000.0,1216166400000.0,1216252800000.0,1216339200000.0,1216598400000.0,1216684800000.0,1216771200000.0,1216857600000.0,1216944000000.0,1217203200000.0,1217289600000.0,1217376000000.0,1217462400000.0,1217548800000.0,1217808000000.0,1217894400000.0,1217980800000.0,1218067200000.0,1218153600000.0,1218412800000.0,1218499200000.0,1218585600000.0,1218672000000.0,1218758400000.0,1219017600000.0,1219104000000.0,1219190400000.0,1219276800000.0,1219363200000.0,1219622400000.0,1219708800000.0,1219795200000.0,1219881600000.0,1219968000000.0,1220313600000.0,1220400000000.0,1220486400000.0,1220572800000.0,1220832000000.0,1220918400000.0,1221004800000.0,1221091200000.0,1221177600000.0,1221436800000.0,1221523200000.0,1221609600000.0,1221696000000.0,1221782400000.0,1222041600000.0,1222128000000.0,1222214400000.0,1222300800000.0,1222387200000.0,1222646400000.0,1222732800000.0,1222819200000.0,1222905600000.0,1222992000000.0,1223251200000.0,1223337600000.0,1223424000000.0,1223510400000.0,1223596800000.0,1223856000000.0,1223942400000.0,1224028800000.0,1224115200000.0,1224201600000.0,1224460800000.0,1224547200000.0,1224633600000.0,1224720000000.0,1224806400000.0,1225065600000.0,1225152000000.0,1225238400000.0,1225324800000.0,1225411200000.0,1225670400000.0,1225756800000.0,1225843200000.0,1225929600000.0,1226016000000.0,1226275200000.0,1226361600000.0,1226448000000.0,1226534400000.0,1226620800000.0,1226880000000.0,1226966400000.0,1227052800000.0,1227139200000.0,1227225600000.0,1227484800000.0,1227571200000.0,1227657600000.0,1227830400000.0,1228089600000.0,1228176000000.0,1228262400000.0,1228348800000.0,1228435200000.0,1228694400000.0,1228780800000.0,1228867200000.0,1228953600000.0,1229040000000.0,1229299200000.0,1229385600000.0,1229472000000.0,1229558400000.0,1229644800000.0,1229904000000.0,1229990400000.0,1230076800000.0,1230249600000.0,1230508800000.0,1230595200000.0,1230681600000.0,1230854400000.0,1231113600000.0,1231200000000.0,1231286400000.0,1231372800000.0,1231459200000.0,1231718400000.0,1231804800000.0,1231891200000.0,1231977600000.0,1232064000000.0,1232409600000.0,1232496000000.0,1232582400000.0,1232668800000.0,1232928000000.0,1233014400000.0,1233100800000.0,1233187200000.0,1233273600000.0,1233532800000.0,1233619200000.0,1233705600000.0,1233792000000.0,1233878400000.0,1234137600000.0,1234224000000.0,1234310400000.0,1234396800000.0,1234483200000.0,1234828800000.0,1234915200000.0,1235001600000.0,1235088000000.0,1235347200000.0,1235433600000.0,1235520000000.0,1235606400000.0,1235692800000.0,1235952000000.0,1236038400000.0,1236124800000.0,1236211200000.0,1236297600000.0,1236556800000.0,1236643200000.0,1236729600000.0,1236816000000.0,1236902400000.0,1237161600000.0,1237248000000.0,1237334400000.0,1237420800000.0,1237507200000.0,1237766400000.0,1237852800000.0,1237939200000.0,1238025600000.0,1238112000000.0,1238371200000.0,1238457600000.0,1238544000000.0,1238630400000.0,1238716800000.0,1238976000000.0,1239062400000.0,1239148800000.0,1239235200000.0,1239580800000.0,1239667200000.0,1239753600000.0,1239840000000.0,1239926400000.0,1240185600000.0,1240272000000.0,1240358400000.0,1240444800000.0,1240531200000.0,1240790400000.0,1240876800000.0,1240963200000.0,1241049600000.0,1241136000000.0,1241395200000.0,1241481600000.0,1241568000000.0,1241654400000.0,1241740800000.0,1242000000000.0,1242086400000.0,1242172800000.0,1242259200000.0,1242345600000.0,1242604800000.0,1242691200000.0,1242777600000.0,1242864000000.0,1242950400000.0,1243296000000.0,1243382400000.0,1243468800000.0,1243555200000.0,1243814400000.0,1243900800000.0,1243987200000.0,1244073600000.0,1244160000000.0,1244419200000.0,1244505600000.0,1244592000000.0,1244678400000.0,1244764800000.0,1245024000000.0,1245110400000.0,1245196800000.0,1245283200000.0,1245369600000.0,1245628800000.0,1245715200000.0,1245801600000.0,1245888000000.0,1245974400000.0,1246233600000.0,1246320000000.0,1246406400000.0,1246492800000.0,1246838400000.0,1246924800000.0,1247011200000.0,1247097600000.0,1247184000000.0,1247443200000.0,1247529600000.0,1247616000000.0,1247702400000.0,1247788800000.0,1248048000000.0,1248134400000.0,1248220800000.0,1248307200000.0,1248393600000.0,1248652800000.0,1248739200000.0,1248825600000.0,1248912000000.0,1248998400000.0,1249257600000.0,1249344000000.0,1249430400000.0,1249516800000.0,1249603200000.0,1249862400000.0,1249948800000.0,1250035200000.0,1250121600000.0,1250208000000.0,1250467200000.0,1250553600000.0,1250640000000.0,1250726400000.0,1250812800000.0,1251072000000.0,1251158400000.0,1251244800000.0,1251331200000.0,1251417600000.0,1251676800000.0,1251763200000.0,1251849600000.0,1251936000000.0,1252022400000.0,1252368000000.0,1252454400000.0,1252540800000.0,1252627200000.0,1252886400000.0,1252972800000.0,1253059200000.0,1253145600000.0,1253232000000.0,1253491200000.0,1253577600000.0,1253664000000.0,1253750400000.0,1253836800000.0,1254096000000.0,1254182400000.0,1254268800000.0,1254355200000.0,1254441600000.0,1254700800000.0,1254787200000.0,1254873600000.0,1254960000000.0,1255046400000.0,1255305600000.0,1255392000000.0,1255478400000.0,1255564800000.0,1255651200000.0,1255910400000.0,1255996800000.0,1256083200000.0,1256169600000.0,1256256000000.0,1256515200000.0,1256601600000.0,1256688000000.0,1256774400000.0,1256860800000.0,1257120000000.0,1257206400000.0,1257292800000.0,1257379200000.0,1257465600000.0,1257724800000.0,1257811200000.0,1257897600000.0,1257984000000.0,1258070400000.0,1258329600000.0,1258416000000.0,1258502400000.0,1258588800000.0,1258675200000.0,1258934400000.0,1259020800000.0,1259107200000.0,1259280000000.0,1259539200000.0,1259625600000.0,1259712000000.0,1259798400000.0,1259884800000.0,1260144000000.0,1260230400000.0,1260316800000.0,1260403200000.0,1260489600000.0,1260748800000.0,1260835200000.0,1260921600000.0,1261008000000.0,1261094400000.0,1261353600000.0,1261440000000.0,1261526400000.0,1261612800000.0,1261958400000.0,1262044800000.0,1262131200000.0,1262217600000.0,1262563200000.0,1262649600000.0,1262736000000.0,1262822400000.0,1262908800000.0,1263168000000.0,1263254400000.0,1263340800000.0,1263427200000.0,1263513600000.0,1263859200000.0,1263945600000.0,1264032000000.0,1264118400000.0,1264377600000.0,1264464000000.0,1264550400000.0,1264636800000.0,1264723200000.0,1264982400000.0,1265068800000.0,1265155200000.0,1265241600000.0,1265328000000.0,1265587200000.0,1265673600000.0,1265760000000.0,1265846400000.0,1265932800000.0,1266278400000.0,1266364800000.0,1266451200000.0,1266537600000.0,1266796800000.0,1266883200000.0,1266969600000.0,1267056000000.0,1267142400000.0,1267401600000.0,1267488000000.0,1267574400000.0,1267660800000.0,1267747200000.0,1268006400000.0,1268092800000.0,1268179200000.0,1268265600000.0,1268352000000.0,1268611200000.0,1268697600000.0,1268784000000.0,1268870400000.0,1268956800000.0,1269216000000.0,1269302400000.0,1269388800000.0,1269475200000.0,1269561600000.0,1269820800000.0,1269907200000.0,1269993600000.0,1270080000000.0,1270425600000.0,1270512000000.0,1270598400000.0,1270684800000.0,1270771200000.0,1271030400000.0,1271116800000.0,1271203200000.0,1271289600000.0,1271376000000.0,1271635200000.0,1271721600000.0,1271808000000.0,1271894400000.0,1271980800000.0,1272240000000.0,1272326400000.0,1272412800000.0,1272499200000.0,1272585600000.0,1272844800000.0,1272931200000.0,1273017600000.0,1273104000000.0,1273190400000.0,1273449600000.0,1273536000000.0,1273622400000.0,1273708800000.0,1273795200000.0,1274054400000.0,1274140800000.0,1274227200000.0,1274313600000.0,1274400000000.0,1274659200000.0,1274745600000.0,1274832000000.0,1274918400000.0,1275004800000.0,1275350400000.0,1275436800000.0,1275523200000.0,1275609600000.0,1275868800000.0,1275955200000.0,1276041600000.0,1276128000000.0,1276214400000.0,1276473600000.0,1276560000000.0,1276646400000.0,1276732800000.0,1276819200000.0,1277078400000.0,1277164800000.0,1277251200000.0,1277337600000.0,1277424000000.0,1277683200000.0,1277769600000.0,1277856000000.0,1277942400000.0,1278028800000.0,1278374400000.0,1278460800000.0,1278547200000.0,1278633600000.0,1278892800000.0,1278979200000.0,1279065600000.0,1279152000000.0,1279238400000.0,1279497600000.0,1279584000000.0,1279670400000.0,1279756800000.0,1279843200000.0,1280102400000.0,1280188800000.0,1280275200000.0,1280361600000.0,1280448000000.0,1280707200000.0,1280793600000.0,1280880000000.0,1280966400000.0,1281052800000.0,1281312000000.0,1281398400000.0,1281484800000.0,1281571200000.0,1281657600000.0,1281916800000.0,1282003200000.0,1282089600000.0,1282176000000.0,1282262400000.0,1282521600000.0,1282608000000.0,1282694400000.0,1282780800000.0,1282867200000.0,1283126400000.0,1283212800000.0,1283299200000.0,1283385600000.0,1283472000000.0,1283817600000.0,1283904000000.0,1283990400000.0,1284076800000.0,1284336000000.0,1284422400000.0,1284508800000.0,1284595200000.0,1284681600000.0,1284940800000.0,1285027200000.0,1285113600000.0,1285200000000.0,1285286400000.0,1285545600000.0,1285632000000.0,1285718400000.0,1285804800000.0,1285891200000.0,1286150400000.0,1286236800000.0,1286323200000.0,1286409600000.0,1286496000000.0,1286755200000.0,1286841600000.0,1286928000000.0,1287014400000.0,1287100800000.0,1287360000000.0,1287446400000.0,1287532800000.0,1287619200000.0,1287705600000.0,1287964800000.0,1288051200000.0,1288137600000.0,1288224000000.0,1288310400000.0,1288569600000.0,1288656000000.0,1288742400000.0,1288828800000.0,1288915200000.0,1289174400000.0,1289260800000.0,1289347200000.0,1289433600000.0,1289520000000.0,1289779200000.0,1289865600000.0,1289952000000.0,1290038400000.0,1290124800000.0,1290384000000.0,1290470400000.0,1290556800000.0,1290729600000.0,1290988800000.0,1291075200000.0,1291161600000.0,1291248000000.0,1291334400000.0,1291593600000.0,1291680000000.0,1291766400000.0,1291852800000.0,1291939200000.0,1292198400000.0,1292284800000.0,1292371200000.0,1292457600000.0,1292544000000.0,1292803200000.0,1292889600000.0,1292976000000.0,1293062400000.0,1293408000000.0,1293494400000.0,1293580800000.0,1293667200000.0,1293753600000.0,1294012800000.0,1294099200000.0,1294185600000.0,1294272000000.0,1294358400000.0,1294617600000.0,1294704000000.0,1294790400000.0,1294876800000.0,1294963200000.0,1295308800000.0,1295395200000.0,1295481600000.0,1295568000000.0,1295827200000.0,1295913600000.0,1296000000000.0,1296086400000.0,1296172800000.0,1296432000000.0,1296518400000.0,1296604800000.0,1296691200000.0,1296777600000.0,1297036800000.0,1297123200000.0,1297209600000.0,1297296000000.0,1297382400000.0,1297641600000.0,1297728000000.0,1297814400000.0,1297900800000.0,1297987200000.0,1298332800000.0,1298419200000.0,1298505600000.0,1298592000000.0,1298851200000.0,1298937600000.0,1299024000000.0,1299110400000.0,1299196800000.0,1299456000000.0,1299542400000.0,1299628800000.0,1299715200000.0,1299801600000.0,1300060800000.0,1300147200000.0,1300233600000.0,1300320000000.0,1300406400000.0,1300665600000.0,1300752000000.0,1300838400000.0,1300924800000.0,1301011200000.0,1301270400000.0,1301356800000.0,1301443200000.0,1301529600000.0,1301616000000.0,1301875200000.0,1301961600000.0,1302048000000.0,1302134400000.0,1302220800000.0,1302480000000.0,1302566400000.0,1302652800000.0,1302739200000.0,1302825600000.0,1303084800000.0,1303171200000.0,1303257600000.0,1303344000000.0,1303689600000.0,1303776000000.0,1303862400000.0,1303948800000.0,1304035200000.0,1304294400000.0,1304380800000.0,1304467200000.0,1304553600000.0,1304640000000.0,1304899200000.0,1304985600000.0,1305072000000.0,1305158400000.0,1305244800000.0,1305504000000.0,1305590400000.0,1305676800000.0,1305763200000.0,1305849600000.0,1306108800000.0,1306195200000.0,1306281600000.0,1306368000000.0,1306454400000.0,1306800000000.0,1306886400000.0,1306972800000.0,1307059200000.0,1307318400000.0,1307404800000.0,1307491200000.0,1307577600000.0,1307664000000.0,1307923200000.0,1308009600000.0,1308096000000.0,1308182400000.0,1308268800000.0,1308528000000.0,1308614400000.0,1308700800000.0,1308787200000.0,1308873600000.0,1309132800000.0,1309219200000.0,1309305600000.0,1309392000000.0,1309478400000.0,1309824000000.0,1309910400000.0,1309996800000.0,1310083200000.0,1310342400000.0,1310428800000.0,1310515200000.0,1310601600000.0,1310688000000.0,1310947200000.0,1311033600000.0,1311120000000.0,1311206400000.0,1311292800000.0,1311552000000.0,1311638400000.0,1311724800000.0,1311811200000.0,1311897600000.0,1312156800000.0,1312243200000.0,1312329600000.0,1312416000000.0,1312502400000.0,1312761600000.0,1312848000000.0,1312934400000.0,1313020800000.0,1313107200000.0,1313366400000.0,1313452800000.0,1313539200000.0,1313625600000.0,1313712000000.0,1313971200000.0,1314057600000.0,1314144000000.0,1314230400000.0,1314316800000.0,1314576000000.0,1314662400000.0,1314748800000.0,1314835200000.0,1314921600000.0,1315267200000.0,1315353600000.0,1315440000000.0,1315526400000.0,1315785600000.0,1315872000000.0,1315958400000.0,1316044800000.0,1316131200000.0,1316390400000.0,1316476800000.0,1316563200000.0,1316649600000.0,1316736000000.0,1316995200000.0,1317081600000.0,1317168000000.0,1317254400000.0,1317340800000.0,1317600000000.0,1317686400000.0,1317772800000.0,1317859200000.0,1317945600000.0,1318204800000.0,1318291200000.0,1318377600000.0,1318464000000.0,1318550400000.0,1318809600000.0,1318896000000.0,1318982400000.0,1319068800000.0,1319155200000.0,1319414400000.0,1319500800000.0,1319587200000.0,1319673600000.0,1319760000000.0,1320019200000.0,1320105600000.0,1320192000000.0,1320278400000.0,1320364800000.0,1320624000000.0,1320710400000.0,1320796800000.0,1320883200000.0,1320969600000.0,1321228800000.0,1321315200000.0,1321401600000.0,1321488000000.0,1321574400000.0,1321833600000.0,1321920000000.0,1322006400000.0,1322179200000.0,1322438400000.0,1322524800000.0,1322611200000.0,1322697600000.0,1322784000000.0,1323043200000.0,1323129600000.0,1323216000000.0,1323302400000.0,1323388800000.0,1323648000000.0,1323734400000.0,1323820800000.0,1323907200000.0,1323993600000.0,1324252800000.0,1324339200000.0,1324425600000.0,1324512000000.0,1324598400000.0,1324944000000.0,1325030400000.0,1325116800000.0,1325203200000.0,1325548800000.0,1325635200000.0,1325721600000.0,1325808000000.0,1326067200000.0,1326153600000.0,1326240000000.0,1326326400000.0,1326412800000.0,1326758400000.0,1326844800000.0,1326931200000.0,1327017600000.0,1327276800000.0,1327363200000.0,1327449600000.0,1327536000000.0,1327622400000.0,1327881600000.0,1327968000000.0,1328054400000.0,1328140800000.0,1328227200000.0,1328486400000.0,1328572800000.0,1328659200000.0,1328745600000.0,1328832000000.0,1329091200000.0,1329177600000.0,1329264000000.0,1329350400000.0,1329436800000.0,1329782400000.0,1329868800000.0,1329955200000.0,1330041600000.0,1330300800000.0,1330387200000.0,1330473600000.0,1330560000000.0,1330646400000.0,1330905600000.0,1330992000000.0,1331078400000.0,1331164800000.0,1331251200000.0,1331510400000.0,1331596800000.0,1331683200000.0,1331769600000.0,1331856000000.0,1332115200000.0,1332201600000.0,1332288000000.0,1332374400000.0,1332460800000.0,1332720000000.0,1332806400000.0,1332892800000.0,1332979200000.0,1333065600000.0,1333324800000.0,1333411200000.0,1333497600000.0,1333584000000.0,1333929600000.0,1334016000000.0,1334102400000.0,1334188800000.0,1334275200000.0,1334534400000.0,1334620800000.0,1334707200000.0,1334793600000.0,1334880000000.0,1335139200000.0,1335225600000.0,1335312000000.0,1335398400000.0,1335484800000.0,1335744000000.0,1335830400000.0,1335916800000.0,1336003200000.0,1336089600000.0,1336348800000.0,1336435200000.0,1336521600000.0,1336608000000.0,1336694400000.0,1336953600000.0,1337040000000.0,1337126400000.0,1337212800000.0,1337299200000.0,1337558400000.0,1337644800000.0,1337731200000.0,1337817600000.0,1337904000000.0,1338249600000.0,1338336000000.0,1338422400000.0,1338508800000.0,1338768000000.0,1338854400000.0,1338940800000.0,1339027200000.0,1339113600000.0,1339372800000.0,1339459200000.0,1339545600000.0,1339632000000.0,1339718400000.0,1339977600000.0,1340064000000.0,1340150400000.0,1340236800000.0,1340323200000.0,1340582400000.0,1340668800000.0,1340755200000.0,1340841600000.0,1340928000000.0,1341187200000.0,1341273600000.0,1341446400000.0,1341532800000.0,1341792000000.0,1341878400000.0,1341964800000.0,1342051200000.0,1342137600000.0,1342396800000.0,1342483200000.0,1342569600000.0,1342656000000.0,1342742400000.0,1343001600000.0,1343088000000.0,1343174400000.0,1343260800000.0,1343347200000.0,1343606400000.0,1343692800000.0,1343779200000.0,1343865600000.0,1343952000000.0,1344211200000.0,1344297600000.0,1344384000000.0,1344470400000.0,1344556800000.0,1344816000000.0,1344902400000.0,1344988800000.0,1345075200000.0,1345161600000.0,1345420800000.0,1345507200000.0,1345593600000.0,1345680000000.0,1345766400000.0,1346025600000.0,1346112000000.0,1346198400000.0,1346284800000.0,1346371200000.0,1346716800000.0,1346803200000.0,1346889600000.0,1346976000000.0,1347235200000.0,1347321600000.0,1347408000000.0,1347494400000.0,1347580800000.0,1347840000000.0,1347926400000.0,1348012800000.0,1348099200000.0,1348185600000.0,1348444800000.0,1348531200000.0,1348617600000.0,1348704000000.0,1348790400000.0,1349049600000.0,1349136000000.0,1349222400000.0,1349308800000.0,1349395200000.0,1349654400000.0,1349740800000.0,1349827200000.0,1349913600000.0,1350000000000.0,1350259200000.0,1350345600000.0,1350432000000.0,1350518400000.0,1350604800000.0,1350864000000.0,1350950400000.0,1351036800000.0,1351123200000.0,1351209600000.0,1351641600000.0,1351728000000.0,1351814400000.0,1352073600000.0,1352160000000.0,1352246400000.0,1352332800000.0,1352419200000.0,1352678400000.0,1352764800000.0,1352851200000.0,1352937600000.0,1353024000000.0,1353283200000.0,1353369600000.0,1353456000000.0,1353628800000.0,1353888000000.0,1353974400000.0,1354060800000.0,1354147200000.0,1354233600000.0,1354492800000.0,1354579200000.0,1354665600000.0,1354752000000.0,1354838400000.0,1355097600000.0,1355184000000.0,1355270400000.0,1355356800000.0,1355443200000.0,1355702400000.0,1355788800000.0,1355875200000.0,1355961600000.0,1356048000000.0,1356307200000.0,1356480000000.0,1356566400000.0,1356652800000.0,1356912000000.0,1357084800000.0,1357171200000.0,1357257600000.0,1357516800000.0,1357603200000.0,1357689600000.0,1357776000000.0,1357862400000.0,1358121600000.0,1358208000000.0,1358294400000.0,1358380800000.0,1358467200000.0,1358812800000.0,1358899200000.0,1358985600000.0,1359072000000.0,1359331200000.0,1359417600000.0,1359504000000.0,1359590400000.0,1359676800000.0,1359936000000.0,1360022400000.0,1360108800000.0,1360195200000.0,1360281600000.0,1360540800000.0,1360627200000.0,1360713600000.0,1360800000000.0,1360886400000.0,1361232000000.0,1361318400000.0,1361404800000.0,1361491200000.0,1361750400000.0,1361836800000.0,1361923200000.0,1362009600000.0,1362096000000.0,1362355200000.0,1362441600000.0,1362528000000.0,1362614400000.0,1362700800000.0,1362960000000.0,1363046400000.0,1363132800000.0,1363219200000.0,1363305600000.0,1363564800000.0,1363651200000.0,1363737600000.0,1363824000000.0,1363910400000.0,1364169600000.0,1364256000000.0,1364342400000.0,1364428800000.0,1364774400000.0,1364860800000.0,1364947200000.0,1365033600000.0,1365120000000.0,1365379200000.0,1365465600000.0,1365552000000.0,1365638400000.0,1365724800000.0,1365984000000.0,1366070400000.0,1366156800000.0,1366243200000.0,1366329600000.0,1366588800000.0,1366675200000.0,1366761600000.0,1366848000000.0,1366934400000.0,1367193600000.0,1367280000000.0,1367366400000.0,1367452800000.0,1367539200000.0,1367798400000.0,1367884800000.0,1367971200000.0,1368057600000.0,1368144000000.0,1368403200000.0,1368489600000.0,1368576000000.0,1368662400000.0,1368748800000.0,1369008000000.0,1369094400000.0,1369180800000.0,1369267200000.0,1369353600000.0,1369699200000.0,1369785600000.0,1369872000000.0,1369958400000.0,1370217600000.0,1370304000000.0,1370390400000.0,1370476800000.0,1370563200000.0,1370822400000.0,1370908800000.0,1370995200000.0,1371081600000.0,1371168000000.0,1371427200000.0,1371513600000.0,1371600000000.0,1371686400000.0,1371772800000.0,1372032000000.0,1372118400000.0,1372204800000.0,1372291200000.0,1372377600000.0,1372636800000.0,1372723200000.0,1372809600000.0,1372982400000.0,1373241600000.0,1373328000000.0,1373414400000.0,1373500800000.0,1373587200000.0,1373846400000.0,1373932800000.0,1374019200000.0,1374105600000.0,1374192000000.0,1374451200000.0,1374537600000.0,1374624000000.0,1374710400000.0,1374796800000.0,1375056000000.0,1375142400000.0,1375228800000.0,1375315200000.0,1375401600000.0,1375660800000.0,1375747200000.0,1375833600000.0,1375920000000.0,1376006400000.0,1376265600000.0,1376352000000.0,1376438400000.0,1376524800000.0,1376611200000.0,1376870400000.0,1376956800000.0,1377043200000.0,1377129600000.0,1377216000000.0,1377475200000.0,1377561600000.0,1377648000000.0,1377734400000.0,1377820800000.0,1378166400000.0,1378252800000.0,1378339200000.0,1378425600000.0,1378684800000.0,1378771200000.0,1378857600000.0,1378944000000.0,1379030400000.0,1379289600000.0,1379376000000.0,1379462400000.0,1379548800000.0,1379635200000.0,1379894400000.0,1379980800000.0,1380067200000.0,1380153600000.0,1380240000000.0,1380499200000.0,1380585600000.0,1380672000000.0,1380758400000.0,1380844800000.0,1381104000000.0,1381190400000.0,1381276800000.0,1381363200000.0,1381449600000.0,1381708800000.0,1381795200000.0,1381881600000.0,1381968000000.0,1382054400000.0,1382313600000.0,1382400000000.0,1382486400000.0,1382572800000.0,1382659200000.0,1382918400000.0,1383004800000.0,1383091200000.0,1383177600000.0,1383264000000.0,1383523200000.0,1383609600000.0,1383696000000.0,1383782400000.0,1383868800000.0,1384128000000.0,1384214400000.0,1384300800000.0,1384387200000.0,1384473600000.0,1384732800000.0,1384819200000.0,1384905600000.0,1384992000000.0,1385078400000.0,1385337600000.0,1385424000000.0,1385510400000.0,1385683200000.0,1385942400000.0,1386028800000.0,1386115200000.0,1386201600000.0,1386288000000.0,1386547200000.0,1386633600000.0,1386720000000.0,1386806400000.0,1386892800000.0,1387152000000.0,1387238400000.0,1387324800000.0,1387411200000.0,1387497600000.0,1387756800000.0,1387843200000.0,1388016000000.0,1388102400000.0,1388361600000.0,1388448000000.0],\"y\":{\"__ndarray__\":\"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\",\"dtype\":\"float64\",\"shape\":[3521]}},\"selected\":{\"id\":\"1576\",\"type\":\"Selection\"},\"selection_policy\":{\"id\":\"1575\",\"type\":\"UnionRenderers\"}},\"id\":\"1488\",\"type\":\"ColumnDataSource\"},{\"attributes\":{\"line_alpha\":0.1,\"line_color\":\"#1f77b4\",\"line_width\":2,\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"1408\",\"type\":\"Line\"},{\"attributes\":{\"plot\":{\"id\":\"1371\",\"subtype\":\"Figure\",\"type\":\"Plot\"},\"ticker\":{\"id\":\"1381\",\"type\":\"DatetimeTicker\"}},\"id\":\"1384\",\"type\":\"Grid\"},{\"attributes\":{\"line_alpha\":0.8,\"line_color\":\"#d62728\",\"line_width\":2,\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"1489\",\"type\":\"Line\"},{\"attributes\":{\"data_source\":{\"id\":\"1406\",\"type\":\"ColumnDataSource\"},\"glyph\":{\"id\":\"1407\",\"type\":\"Line\"},\"hover_glyph\":null,\"muted_glyph\":null,\"nonselection_glyph\":{\"id\":\"1408\",\"type\":\"Line\"},\"selection_glyph\":null,\"view\":{\"id\":\"1410\",\"type\":\"CDSView\"}},\"id\":\"1409\",\"type\":\"GlyphRenderer\"},{\"attributes\":{\"formatter\":{\"id\":\"1413\",\"type\":\"BasicTickFormatter\"},\"plot\":{\"id\":\"1371\",\"subtype\":\"Figure\",\"type\":\"Plot\"},\"ticker\":{\"id\":\"1386\",\"type\":\"BasicTicker\"}},\"id\":\"1385\",\"type\":\"LinearAxis\"},{\"attributes\":{\"callback\":null,\"data\":{\"x\":[946857600000.0,946944000000.0,947030400000.0,947116800000.0,947203200000.0,947462400000.0,947548800000.0,947635200000.0,947721600000.0,947808000000.0,948153600000.0,948240000000.0,948326400000.0,948412800000.0,948672000000.0,948758400000.0,948844800000.0,948931200000.0,949017600000.0,949276800000.0,949363200000.0,949449600000.0,949536000000.0,949622400000.0,949881600000.0,949968000000.0,950054400000.0,950140800000.0,950227200000.0,950486400000.0,950572800000.0,950659200000.0,950745600000.0,950832000000.0,951177600000.0,951264000000.0,951350400000.0,951436800000.0,951696000000.0,951782400000.0,951868800000.0,951955200000.0,952041600000.0,952300800000.0,952387200000.0,952473600000.0,952560000000.0,952646400000.0,952905600000.0,952992000000.0,953078400000.0,953164800000.0,953251200000.0,953510400000.0,953596800000.0,953683200000.0,953769600000.0,953856000000.0,954115200000.0,954201600000.0,954288000000.0,954374400000.0,954460800000.0,954720000000.0,954806400000.0,954892800000.0,954979200000.0,955065600000.0,955324800000.0,955411200000.0,955497600000.0,955584000000.0,955670400000.0,955929600000.0,956016000000.0,956102400000.0,956188800000.0,956534400000.0,956620800000.0,956707200000.0,956793600000.0,956880000000.0,957139200000.0,957225600000.0,957312000000.0,957398400000.0,957484800000.0,957744000000.0,957830400000.0,957916800000.0,958003200000.0,958089600000.0,958348800000.0,958435200000.0,958521600000.0,958608000000.0,958694400000.0,958953600000.0,959040000000.0,959126400000.0,959212800000.0,959299200000.0,959644800000.0,959731200000.0,959817600000.0,959904000000.0,960163200000.0,960249600000.0,960336000000.0,960422400000.0,960508800000.0,960768000000.0,960854400000.0,960940800000.0,961027200000.0,961113600000.0,961372800000.0,961459200000.0,961545600000.0,961632000000.0,961718400000.0,961977600000.0,962064000000.0,962150400000.0,962236800000.0,962323200000.0,962582400000.0,962755200000.0,962841600000.0,962928000000.0,963187200000.0,963273600000.0,963360000000.0,963446400000.0,963532800000.0,963792000000.0,963878400000.0,963964800000.0,964051200000.0,964137600000.0,964396800000.0,964483200000.0,964569600000.0,964656000000.0,964742400000.0,965001600000.0,965088000000.0,965174400000.0,965260800000.0,965347200000.0,965606400000.0,965692800000.0,965779200000.0,965865600000.0,965952000000.0,966211200000.0,966297600000.0,966384000000.0,966470400000.0,966556800000.0,966816000000.0,966902400000.0,966988800000.0,967075200000.0,967161600000.0,967420800000.0,967507200000.0,967593600000.0,967680000000.0,967766400000.0,968112000000.0,968198400000.0,968284800000.0,968371200000.0,968630400000.0,968716800000.0,968803200000.0,968889600000.0,968976000000.0,969235200000.0,969321600000.0,969408000000.0,969494400000.0,969580800000.0,969840000000.0,969926400000.0,970012800000.0,970099200000.0,970185600000.0,970444800000.0,970531200000.0,970617600000.0,970704000000.0,970790400000.0,971049600000.0,971136000000.0,971222400000.0,971308800000.0,971395200000.0,971654400000.0,971740800000.0,971827200000.0,971913600000.0,972000000000.0,972259200000.0,972345600000.0,972432000000.0,972518400000.0,972604800000.0,972864000000.0,972950400000.0,973036800000.0,973123200000.0,973209600000.0,973468800000.0,973555200000.0,973641600000.0,973728000000.0,973814400000.0,974073600000.0,974160000000.0,974246400000.0,974332800000.0,974419200000.0,974678400000.0,974764800000.0,974851200000.0,975024000000.0,975283200000.0,975369600000.0,975456000000.0,975542400000.0,975628800000.0,975888000000.0,975974400000.0,976060800000.0,976147200000.0,976233600000.0,976492800000.0,976579200000.0,976665600000.0,976752000000.0,976838400000.0,977097600000.0,977184000000.0,977270400000.0,977356800000.0,977443200000.0,977788800000.0,977875200000.0,977961600000.0,978048000000.0,978393600000.0,978480000000.0,978566400000.0,978652800000.0,978912000000.0,978998400000.0,979084800000.0,979171200000.0,979257600000.0,979603200000.0,979689600000.0,979776000000.0,979862400000.0,980121600000.0,980208000000.0,980294400000.0,980380800000.0,980467200000.0,980726400000.0,980812800000.0,980899200000.0,980985600000.0,981072000000.0,981331200000.0,981417600000.0,981504000000.0,981590400000.0,981676800000.0,981936000000.0,982022400000.0,982108800000.0,982195200000.0,982281600000.0,982627200000.0,982713600000.0,982800000000.0,982886400000.0,983145600000.0,983232000000.0,983318400000.0,983404800000.0,983491200000.0,983750400000.0,983836800000.0,983923200000.0,984009600000.0,984096000000.0,984355200000.0,984441600000.0,984528000000.0,984614400000.0,984700800000.0,984960000000.0,985046400000.0,985132800000.0,985219200000.0,985305600000.0,985564800000.0,985651200000.0,985737600000.0,985824000000.0,985910400000.0,986169600000.0,986256000000.0,986342400000.0,986428800000.0,986515200000.0,986774400000.0,986860800000.0,986947200000.0,987033600000.0,987379200000.0,987465600000.0,987552000000.0,987638400000.0,987724800000.0,987984000000.0,988070400000.0,988156800000.0,988243200000.0,988329600000.0,988588800000.0,988675200000.0,988761600000.0,988848000000.0,988934400000.0,989193600000.0,989280000000.0,989366400000.0,989452800000.0,989539200000.0,989798400000.0,989884800000.0,989971200000.0,990057600000.0,990144000000.0,990403200000.0,990489600000.0,990576000000.0,990662400000.0,990748800000.0,991094400000.0,991180800000.0,991267200000.0,991353600000.0,991612800000.0,991699200000.0,991785600000.0,991872000000.0,991958400000.0,992217600000.0,992304000000.0,992390400000.0,992476800000.0,992563200000.0,992822400000.0,992908800000.0,992995200000.0,993081600000.0,993168000000.0,993427200000.0,993513600000.0,993600000000.0,993686400000.0,993772800000.0,994032000000.0,994118400000.0,994291200000.0,994377600000.0,994636800000.0,994723200000.0,994809600000.0,994896000000.0,994982400000.0,995241600000.0,995328000000.0,995414400000.0,995500800000.0,995587200000.0,995846400000.0,995932800000.0,996019200000.0,996105600000.0,996192000000.0,996451200000.0,996537600000.0,996624000000.0,996710400000.0,996796800000.0,997056000000.0,997142400000.0,997228800000.0,997315200000.0,997401600000.0,997660800000.0,997747200000.0,997833600000.0,997920000000.0,998006400000.0,998265600000.0,998352000000.0,998438400000.0,998524800000.0,998611200000.0,998870400000.0,998956800000.0,999043200000.0,999129600000.0,999216000000.0,999561600000.0,999648000000.0,999734400000.0,999820800000.0,1000080000000.0,1000684800000.0,1000771200000.0,1000857600000.0,1000944000000.0,1001030400000.0,1001289600000.0,1001376000000.0,1001462400000.0,1001548800000.0,1001635200000.0,1001894400000.0,1001980800000.0,1002067200000.0,1002153600000.0,1002240000000.0,1002499200000.0,1002585600000.0,1002672000000.0,1002758400000.0,1002844800000.0,1003104000000.0,1003190400000.0,1003276800000.0,1003363200000.0,1003449600000.0,1003708800000.0,1003795200000.0,1003881600000.0,1003968000000.0,1004054400000.0,1004313600000.0,1004400000000.0,1004486400000.0,1004572800000.0,1004659200000.0,1004918400000.0,1005004800000.0,1005091200000.0,1005177600000.0,1005264000000.0,1005523200000.0,1005609600000.0,1005696000000.0,1005782400000.0,1005868800000.0,1006128000000.0,1006214400000.0,1006300800000.0,1006473600000.0,1006732800000.0,1006819200000.0,1006905600000.0,1006992000000.0,1007078400000.0,1007337600000.0,1007424000000.0,1007510400000.0,1007596800000.0,1007683200000.0,1007942400000.0,1008028800000.0,1008115200000.0,1008201600000.0,1008288000000.0,1008547200000.0,1008633600000.0,1008720000000.0,1008806400000.0,1008892800000.0,1009152000000.0,1009324800000.0,1009411200000.0,1009497600000.0,1009756800000.0,1009929600000.0,1010016000000.0,1010102400000.0,1010361600000.0,1010448000000.0,1010534400000.0,1010620800000.0,1010707200000.0,1010966400000.0,1011052800000.0,1011139200000.0,1011225600000.0,1011312000000.0,1011657600000.0,1011744000000.0,1011830400000.0,1011916800000.0,1012176000000.0,1012262400000.0,1012348800000.0,1012435200000.0,1012521600000.0,1012780800000.0,1012867200000.0,1012953600000.0,1013040000000.0,1013126400000.0,1013385600000.0,1013472000000.0,1013558400000.0,1013644800000.0,1013731200000.0,1014076800000.0,1014163200000.0,1014249600000.0,1014336000000.0,1014595200000.0,1014681600000.0,1014768000000.0,1014854400000.0,1014940800000.0,1015200000000.0,1015286400000.0,1015372800000.0,1015459200000.0,1015545600000.0,1015804800000.0,1015891200000.0,1015977600000.0,1016064000000.0,1016150400000.0,1016409600000.0,1016496000000.0,1016582400000.0,1016668800000.0,1016755200000.0,1017014400000.0,1017100800000.0,1017187200000.0,1017273600000.0,1017619200000.0,1017705600000.0,1017792000000.0,1017878400000.0,1017964800000.0,1018224000000.0,1018310400000.0,1018396800000.0,1018483200000.0,1018569600000.0,1018828800000.0,1018915200000.0,1019001600000.0,1019088000000.0,1019174400000.0,1019433600000.0,1019520000000.0,1019606400000.0,1019692800000.0,1019779200000.0,1020038400000.0,1020124800000.0,1020211200000.0,1020297600000.0,1020384000000.0,1020643200000.0,1020729600000.0,1020816000000.0,1020902400000.0,1020988800000.0,1021248000000.0,1021334400000.0,1021420800000.0,1021507200000.0,1021593600000.0,1021852800000.0,1021939200000.0,1022025600000.0,1022112000000.0,1022198400000.0,1022544000000.0,1022630400000.0,1022716800000.0,1022803200000.0,1023062400000.0,1023148800000.0,1023235200000.0,1023321600000.0,1023408000000.0,1023667200000.0,1023753600000.0,1023840000000.0,1023926400000.0,1024012800000.0,1024272000000.0,1024358400000.0,1024444800000.0,1024531200000.0,1024617600000.0,1024876800000.0,1024963200000.0,1025049600000.0,1025136000000.0,1025222400000.0,1025481600000.0,1025568000000.0,1025654400000.0,1025827200000.0,1026086400000.0,1026172800000.0,1026259200000.0,1026345600000.0,1026432000000.0,1026691200000.0,1026777600000.0,1026864000000.0,1026950400000.0,1027036800000.0,1027296000000.0,1027382400000.0,1027468800000.0,1027555200000.0,1027641600000.0,1027900800000.0,1027987200000.0,1028073600000.0,1028160000000.0,1028246400000.0,1028505600000.0,1028592000000.0,1028678400000.0,1028764800000.0,1028851200000.0,1029110400000.0,1029196800000.0,1029283200000.0,1029369600000.0,1029456000000.0,1029715200000.0,1029801600000.0,1029888000000.0,1029974400000.0,1030060800000.0,1030320000000.0,1030406400000.0,1030492800000.0,1030579200000.0,1030665600000.0,1031011200000.0,1031097600000.0,1031184000000.0,1031270400000.0,1031529600000.0,1031616000000.0,1031702400000.0,1031788800000.0,1031875200000.0,1032134400000.0,1032220800000.0,1032307200000.0,1032393600000.0,1032480000000.0,1032739200000.0,1032825600000.0,1032912000000.0,1032998400000.0,1033084800000.0,1033344000000.0,1033430400000.0,1033516800000.0,1033603200000.0,1033689600000.0,1033948800000.0,1034035200000.0,1034121600000.0,1034208000000.0,1034294400000.0,1034553600000.0,1034640000000.0,1034726400000.0,1034812800000.0,1034899200000.0,1035158400000.0,1035244800000.0,1035331200000.0,1035417600000.0,1035504000000.0,1035763200000.0,1035849600000.0,1035936000000.0,1036022400000.0,1036108800000.0,1036368000000.0,1036454400000.0,1036540800000.0,1036627200000.0,1036713600000.0,1036972800000.0,1037059200000.0,1037145600000.0,1037232000000.0,1037318400000.0,1037577600000.0,1037664000000.0,1037750400000.0,1037836800000.0,1037923200000.0,1038182400000.0,1038268800000.0,1038355200000.0,1038528000000.0,1038787200000.0,1038873600000.0,1038960000000.0,1039046400000.0,1039132800000.0,1039392000000.0,1039478400000.0,1039564800000.0,1039651200000.0,1039737600000.0,1039996800000.0,1040083200000.0,1040169600000.0,1040256000000.0,1040342400000.0,1040601600000.0,1040688000000.0,1040860800000.0,1040947200000.0,1041206400000.0,1041292800000.0,1041465600000.0,1041552000000.0,1041811200000.0,1041897600000.0,1041984000000.0,1042070400000.0,1042156800000.0,1042416000000.0,1042502400000.0,1042588800000.0,1042675200000.0,1042761600000.0,1043107200000.0,1043193600000.0,1043280000000.0,1043366400000.0,1043625600000.0,1043712000000.0,1043798400000.0,1043884800000.0,1043971200000.0,1044230400000.0,1044316800000.0,1044403200000.0,1044489600000.0,1044576000000.0,1044835200000.0,1044921600000.0,1045008000000.0,1045094400000.0,1045180800000.0,1045526400000.0,1045612800000.0,1045699200000.0,1045785600000.0,1046044800000.0,1046131200000.0,1046217600000.0,1046304000000.0,1046390400000.0,1046649600000.0,1046736000000.0,1046822400000.0,1046908800000.0,1046995200000.0,1047254400000.0,1047340800000.0,1047427200000.0,1047513600000.0,1047600000000.0,1047859200000.0,1047945600000.0,1048032000000.0,1048118400000.0,1048204800000.0,1048464000000.0,1048550400000.0,1048636800000.0,1048723200000.0,1048809600000.0,1049068800000.0,1049155200000.0,1049241600000.0,1049328000000.0,1049414400000.0,1049673600000.0,1049760000000.0,1049846400000.0,1049932800000.0,1050019200000.0,1050278400000.0,1050364800000.0,1050451200000.0,1050537600000.0,1050883200000.0,1050969600000.0,1051056000000.0,1051142400000.0,1051228800000.0,1051488000000.0,1051574400000.0,1051660800000.0,1051747200000.0,1051833600000.0,1052092800000.0,1052179200000.0,1052265600000.0,1052352000000.0,1052438400000.0,1052697600000.0,1052784000000.0,1052870400000.0,1052956800000.0,1053043200000.0,1053302400000.0,1053388800000.0,1053475200000.0,1053561600000.0,1053648000000.0,1053993600000.0,1054080000000.0,1054166400000.0,1054252800000.0,1054512000000.0,1054598400000.0,1054684800000.0,1054771200000.0,1054857600000.0,1055116800000.0,1055203200000.0,1055289600000.0,1055376000000.0,1055462400000.0,1055721600000.0,1055808000000.0,1055894400000.0,1055980800000.0,1056067200000.0,1056326400000.0,1056412800000.0,1056499200000.0,1056585600000.0,1056672000000.0,1056931200000.0,1057017600000.0,1057104000000.0,1057190400000.0,1057536000000.0,1057622400000.0,1057708800000.0,1057795200000.0,1057881600000.0,1058140800000.0,1058227200000.0,1058313600000.0,1058400000000.0,1058486400000.0,1058745600000.0,1058832000000.0,1058918400000.0,1059004800000.0,1059091200000.0,1059350400000.0,1059436800000.0,1059523200000.0,1059609600000.0,1059696000000.0,1059955200000.0,1060041600000.0,1060128000000.0,1060214400000.0,1060300800000.0,1060560000000.0,1060646400000.0,1060732800000.0,1060819200000.0,1060905600000.0,1061164800000.0,1061251200000.0,1061337600000.0,1061424000000.0,1061510400000.0,1061769600000.0,1061856000000.0,1061942400000.0,1062028800000.0,1062115200000.0,1062460800000.0,1062547200000.0,1062633600000.0,1062720000000.0,1062979200000.0,1063065600000.0,1063152000000.0,1063238400000.0,1063324800000.0,1063584000000.0,1063670400000.0,1063756800000.0,1063843200000.0,1063929600000.0,1064188800000.0,1064275200000.0,1064361600000.0,1064448000000.0,1064534400000.0,1064793600000.0,1064880000000.0,1064966400000.0,1065052800000.0,1065139200000.0,1065398400000.0,1065484800000.0,1065571200000.0,1065657600000.0,1065744000000.0,1066003200000.0,1066089600000.0,1066176000000.0,1066262400000.0,1066348800000.0,1066608000000.0,1066694400000.0,1066780800000.0,1066867200000.0,1066953600000.0,1067212800000.0,1067299200000.0,1067385600000.0,1067472000000.0,1067558400000.0,1067817600000.0,1067904000000.0,1067990400000.0,1068076800000.0,1068163200000.0,1068422400000.0,1068508800000.0,1068595200000.0,1068681600000.0,1068768000000.0,1069027200000.0,1069113600000.0,1069200000000.0,1069286400000.0,1069372800000.0,1069632000000.0,1069718400000.0,1069804800000.0,1069977600000.0,1070236800000.0,1070323200000.0,1070409600000.0,1070496000000.0,1070582400000.0,1070841600000.0,1070928000000.0,1071014400000.0,1071100800000.0,1071187200000.0,1071446400000.0,1071532800000.0,1071619200000.0,1071705600000.0,1071792000000.0,1072051200000.0,1072137600000.0,1072224000000.0,1072396800000.0,1072656000000.0,1072742400000.0,1072828800000.0,1073001600000.0,1073260800000.0,1073347200000.0,1073433600000.0,1073520000000.0,1073606400000.0,1073865600000.0,1073952000000.0,1074038400000.0,1074124800000.0,1074211200000.0,1074556800000.0,1074643200000.0,1074729600000.0,1074816000000.0,1075075200000.0,1075161600000.0,1075248000000.0,1075334400000.0,1075420800000.0,1075680000000.0,1075766400000.0,1075852800000.0,1075939200000.0,1076025600000.0,1076284800000.0,1076371200000.0,1076457600000.0,1076544000000.0,1076630400000.0,1076976000000.0,1077062400000.0,1077148800000.0,1077235200000.0,1077494400000.0,1077580800000.0,1077667200000.0,1077753600000.0,1077840000000.0,1078099200000.0,1078185600000.0,1078272000000.0,1078358400000.0,1078444800000.0,1078704000000.0,1078790400000.0,1078876800000.0,1078963200000.0,1079049600000.0,1079308800000.0,1079395200000.0,1079481600000.0,1079568000000.0,1079654400000.0,1079913600000.0,1080000000000.0,1080086400000.0,1080172800000.0,1080259200000.0,1080518400000.0,1080604800000.0,1080691200000.0,1080777600000.0,1080864000000.0,1081123200000.0,1081209600000.0,1081296000000.0,1081382400000.0,1081728000000.0,1081814400000.0,1081900800000.0,1081987200000.0,1082073600000.0,1082332800000.0,1082419200000.0,1082505600000.0,1082592000000.0,1082678400000.0,1082937600000.0,1083024000000.0,1083110400000.0,1083196800000.0,1083283200000.0,1083542400000.0,1083628800000.0,1083715200000.0,1083801600000.0,1083888000000.0,1084147200000.0,1084233600000.0,1084320000000.0,1084406400000.0,1084492800000.0,1084752000000.0,1084838400000.0,1084924800000.0,1085011200000.0,1085097600000.0,1085356800000.0,1085443200000.0,1085529600000.0,1085616000000.0,1085702400000.0,1086048000000.0,1086134400000.0,1086220800000.0,1086307200000.0,1086566400000.0,1086652800000.0,1086739200000.0,1086825600000.0,1087171200000.0,1087257600000.0,1087344000000.0,1087430400000.0,1087516800000.0,1087776000000.0,1087862400000.0,1087948800000.0,1088035200000.0,1088121600000.0,1088380800000.0,1088467200000.0,1088553600000.0,1088640000000.0,1088726400000.0,1089072000000.0,1089158400000.0,1089244800000.0,1089331200000.0,1089590400000.0,1089676800000.0,1089763200000.0,1089849600000.0,1089936000000.0,1090195200000.0,1090281600000.0,1090368000000.0,1090454400000.0,1090540800000.0,1090800000000.0,1090886400000.0,1090972800000.0,1091059200000.0,1091145600000.0,1091404800000.0,1091491200000.0,1091577600000.0,1091664000000.0,1091750400000.0,1092009600000.0,1092096000000.0,1092182400000.0,1092268800000.0,1092355200000.0,1092614400000.0,1092700800000.0,1092787200000.0,1092873600000.0,1092960000000.0,1093219200000.0,1093305600000.0,1093392000000.0,1093478400000.0,1093564800000.0,1093824000000.0,1093910400000.0,1093996800000.0,1094083200000.0,1094169600000.0,1094515200000.0,1094601600000.0,1094688000000.0,1094774400000.0,1095033600000.0,1095120000000.0,1095206400000.0,1095292800000.0,1095379200000.0,1095638400000.0,1095724800000.0,1095811200000.0,1095897600000.0,1095984000000.0,1096243200000.0,1096329600000.0,1096416000000.0,1096502400000.0,1096588800000.0,1096848000000.0,1096934400000.0,1097020800000.0,1097107200000.0,1097193600000.0,1097452800000.0,1097539200000.0,1097625600000.0,1097712000000.0,1097798400000.0,1098057600000.0,1098144000000.0,1098230400000.0,1098316800000.0,1098403200000.0,1098662400000.0,1098748800000.0,1098835200000.0,1098921600000.0,1099008000000.0,1099267200000.0,1099353600000.0,1099440000000.0,1099526400000.0,1099612800000.0,1099872000000.0,1099958400000.0,1100044800000.0,1100131200000.0,1100217600000.0,1100476800000.0,1100563200000.0,1100649600000.0,1100736000000.0,1100822400000.0,1101081600000.0,1101168000000.0,1101254400000.0,1101427200000.0,1101686400000.0,1101772800000.0,1101859200000.0,1101945600000.0,1102032000000.0,1102291200000.0,1102377600000.0,1102464000000.0,1102550400000.0,1102636800000.0,1102896000000.0,1102982400000.0,1103068800000.0,1103155200000.0,1103241600000.0,1103500800000.0,1103587200000.0,1103673600000.0,1103760000000.0,1104105600000.0,1104192000000.0,1104278400000.0,1104364800000.0,1104451200000.0,1104710400000.0,1104796800000.0,1104883200000.0,1104969600000.0,1105056000000.0,1105315200000.0,1105401600000.0,1105488000000.0,1105574400000.0,1105660800000.0,1106006400000.0,1106092800000.0,1106179200000.0,1106265600000.0,1106524800000.0,1106611200000.0,1106697600000.0,1106784000000.0,1106870400000.0,1107129600000.0,1107216000000.0,1107302400000.0,1107388800000.0,1107475200000.0,1107734400000.0,1107820800000.0,1107907200000.0,1107993600000.0,1108080000000.0,1108339200000.0,1108425600000.0,1108512000000.0,1108598400000.0,1108684800000.0,1109030400000.0,1109116800000.0,1109203200000.0,1109289600000.0,1109548800000.0,1109635200000.0,1109721600000.0,1109808000000.0,1109894400000.0,1110153600000.0,1110240000000.0,1110326400000.0,1110412800000.0,1110499200000.0,1110758400000.0,1110844800000.0,1110931200000.0,1111017600000.0,1111104000000.0,1111363200000.0,1111449600000.0,1111536000000.0,1111622400000.0,1111968000000.0,1112054400000.0,1112140800000.0,1112227200000.0,1112313600000.0,1112572800000.0,1112659200000.0,1112745600000.0,1112832000000.0,1112918400000.0,1113177600000.0,1113264000000.0,1113350400000.0,1113436800000.0,1113523200000.0,1113782400000.0,1113868800000.0,1113955200000.0,1114041600000.0,1114128000000.0,1114387200000.0,1114473600000.0,1114560000000.0,1114646400000.0,1114732800000.0,1114992000000.0,1115078400000.0,1115164800000.0,1115251200000.0,1115337600000.0,1115596800000.0,1115683200000.0,1115769600000.0,1115856000000.0,1115942400000.0,1116201600000.0,1116288000000.0,1116374400000.0,1116460800000.0,1116547200000.0,1116806400000.0,1116892800000.0,1116979200000.0,1117065600000.0,1117152000000.0,1117497600000.0,1117584000000.0,1117670400000.0,1117756800000.0,1118016000000.0,1118102400000.0,1118188800000.0,1118275200000.0,1118361600000.0,1118620800000.0,1118707200000.0,1118793600000.0,1118880000000.0,1118966400000.0,1119225600000.0,1119312000000.0,1119398400000.0,1119484800000.0,1119571200000.0,1119830400000.0,1119916800000.0,1120003200000.0,1120089600000.0,1120176000000.0,1120521600000.0,1120608000000.0,1120694400000.0,1120780800000.0,1121040000000.0,1121126400000.0,1121212800000.0,1121299200000.0,1121385600000.0,1121644800000.0,1121731200000.0,1121817600000.0,1121904000000.0,1121990400000.0,1122249600000.0,1122336000000.0,1122422400000.0,1122508800000.0,1122595200000.0,1122854400000.0,1122940800000.0,1123027200000.0,1123113600000.0,1123200000000.0,1123459200000.0,1123545600000.0,1123632000000.0,1123718400000.0,1123804800000.0,1124064000000.0,1124150400000.0,1124236800000.0,1124323200000.0,1124409600000.0,1124668800000.0,1124755200000.0,1124841600000.0,1124928000000.0,1125014400000.0,1125273600000.0,1125360000000.0,1125446400000.0,1125532800000.0,1125619200000.0,1125964800000.0,1126051200000.0,1126137600000.0,1126224000000.0,1126483200000.0,1126569600000.0,1126656000000.0,1126742400000.0,1126828800000.0,1127088000000.0,1127174400000.0,1127260800000.0,1127347200000.0,1127433600000.0,1127692800000.0,1127779200000.0,1127865600000.0,1127952000000.0,1128038400000.0,1128297600000.0,1128384000000.0,1128470400000.0,1128556800000.0,1128643200000.0,1128902400000.0,1128988800000.0,1129075200000.0,1129161600000.0,1129248000000.0,1129507200000.0,1129593600000.0,1129680000000.0,1129766400000.0,1129852800000.0,1130112000000.0,1130198400000.0,1130284800000.0,1130371200000.0,1130457600000.0,1130716800000.0,1130803200000.0,1130889600000.0,1130976000000.0,1131062400000.0,1131321600000.0,1131408000000.0,1131494400000.0,1131580800000.0,1131667200000.0,1131926400000.0,1132012800000.0,1132099200000.0,1132185600000.0,1132272000000.0,1132531200000.0,1132617600000.0,1132704000000.0,1132876800000.0,1133136000000.0,1133222400000.0,1133308800000.0,1133395200000.0,1133481600000.0,1133740800000.0,1133827200000.0,1133913600000.0,1134000000000.0,1134086400000.0,1134345600000.0,1134432000000.0,1134518400000.0,1134604800000.0,1134691200000.0,1134950400000.0,1135036800000.0,1135123200000.0,1135209600000.0,1135296000000.0,1135641600000.0,1135728000000.0,1135814400000.0,1135900800000.0,1136246400000.0,1136332800000.0,1136419200000.0,1136505600000.0,1136764800000.0,1136851200000.0,1136937600000.0,1137024000000.0,1137110400000.0,1137456000000.0,1137542400000.0,1137628800000.0,1137715200000.0,1137974400000.0,1138060800000.0,1138147200000.0,1138233600000.0,1138320000000.0,1138579200000.0,1138665600000.0,1138752000000.0,1138838400000.0,1138924800000.0,1139184000000.0,1139270400000.0,1139356800000.0,1139443200000.0,1139529600000.0,1139788800000.0,1139875200000.0,1139961600000.0,1140048000000.0,1140134400000.0,1140480000000.0,1140566400000.0,1140652800000.0,1140739200000.0,1140998400000.0,1141084800000.0,1141171200000.0,1141257600000.0,1141344000000.0,1141603200000.0,1141689600000.0,1141776000000.0,1141862400000.0,1141948800000.0,1142208000000.0,1142294400000.0,1142380800000.0,1142467200000.0,1142553600000.0,1142812800000.0,1142899200000.0,1142985600000.0,1143072000000.0,1143158400000.0,1143417600000.0,1143504000000.0,1143590400000.0,1143676800000.0,1143763200000.0,1144022400000.0,1144108800000.0,1144195200000.0,1144281600000.0,1144368000000.0,1144627200000.0,1144713600000.0,1144800000000.0,1144886400000.0,1145232000000.0,1145318400000.0,1145404800000.0,1145491200000.0,1145577600000.0,1145836800000.0,1145923200000.0,1146009600000.0,1146096000000.0,1146182400000.0,1146441600000.0,1146528000000.0,1146614400000.0,1146700800000.0,1146787200000.0,1147046400000.0,1147132800000.0,1147219200000.0,1147305600000.0,1147392000000.0,1147651200000.0,1147737600000.0,1147824000000.0,1147910400000.0,1147996800000.0,1148256000000.0,1148342400000.0,1148428800000.0,1148515200000.0,1148601600000.0,1148947200000.0,1149033600000.0,1149120000000.0,1149206400000.0,1149465600000.0,1149552000000.0,1149638400000.0,1149724800000.0,1149811200000.0,1150070400000.0,1150156800000.0,1150243200000.0,1150329600000.0,1150416000000.0,1150675200000.0,1150761600000.0,1150848000000.0,1150934400000.0,1151020800000.0,1151280000000.0,1151366400000.0,1151452800000.0,1151539200000.0,1151625600000.0,1151884800000.0,1152057600000.0,1152144000000.0,1152230400000.0,1152489600000.0,1152576000000.0,1152662400000.0,1152748800000.0,1152835200000.0,1153094400000.0,1153180800000.0,1153267200000.0,1153353600000.0,1153440000000.0,1153699200000.0,1153785600000.0,1153872000000.0,1153958400000.0,1154044800000.0,1154304000000.0,1154390400000.0,1154476800000.0,1154563200000.0,1154649600000.0,1154908800000.0,1154995200000.0,1155081600000.0,1155168000000.0,1155254400000.0,1155513600000.0,1155600000000.0,1155686400000.0,1155772800000.0,1155859200000.0,1156118400000.0,1156204800000.0,1156291200000.0,1156377600000.0,1156464000000.0,1156723200000.0,1156809600000.0,1156896000000.0,1156982400000.0,1157068800000.0,1157414400000.0,1157500800000.0,1157587200000.0,1157673600000.0,1157932800000.0,1158019200000.0,1158105600000.0,1158192000000.0,1158278400000.0,1158537600000.0,1158624000000.0,1158710400000.0,1158796800000.0,1158883200000.0,1159142400000.0,1159228800000.0,1159315200000.0,1159401600000.0,1159488000000.0,1159747200000.0,1159833600000.0,1159920000000.0,1160006400000.0,1160092800000.0,1160352000000.0,1160438400000.0,1160524800000.0,1160611200000.0,1160697600000.0,1160956800000.0,1161043200000.0,1161129600000.0,1161216000000.0,1161302400000.0,1161561600000.0,1161648000000.0,1161734400000.0,1161820800000.0,1161907200000.0,1162166400000.0,1162252800000.0,1162339200000.0,1162425600000.0,1162512000000.0,1162771200000.0,1162857600000.0,1162944000000.0,1163030400000.0,1163116800000.0,1163376000000.0,1163462400000.0,1163548800000.0,1163635200000.0,1163721600000.0,1163980800000.0,1164067200000.0,1164153600000.0,1164326400000.0,1164585600000.0,1164672000000.0,1164758400000.0,1164844800000.0,1164931200000.0,1165190400000.0,1165276800000.0,1165363200000.0,1165449600000.0,1165536000000.0,1165795200000.0,1165881600000.0,1165968000000.0,1166054400000.0,1166140800000.0,1166400000000.0,1166486400000.0,1166572800000.0,1166659200000.0,1166745600000.0,1167091200000.0,1167177600000.0,1167264000000.0,1167350400000.0,1167782400000.0,1167868800000.0,1167955200000.0,1168214400000.0,1168300800000.0,1168387200000.0,1168473600000.0,1168560000000.0,1168905600000.0,1168992000000.0,1169078400000.0,1169164800000.0,1169424000000.0,1169510400000.0,1169596800000.0,1169683200000.0,1169769600000.0,1170028800000.0,1170115200000.0,1170201600000.0,1170288000000.0,1170374400000.0,1170633600000.0,1170720000000.0,1170806400000.0,1170892800000.0,1170979200000.0,1171238400000.0,1171324800000.0,1171411200000.0,1171497600000.0,1171584000000.0,1171929600000.0,1172016000000.0,1172102400000.0,1172188800000.0,1172448000000.0,1172534400000.0,1172620800000.0,1172707200000.0,1172793600000.0,1173052800000.0,1173139200000.0,1173225600000.0,1173312000000.0,1173398400000.0,1173657600000.0,1173744000000.0,1173830400000.0,1173916800000.0,1174003200000.0,1174262400000.0,1174348800000.0,1174435200000.0,1174521600000.0,1174608000000.0,1174867200000.0,1174953600000.0,1175040000000.0,1175126400000.0,1175212800000.0,1175472000000.0,1175558400000.0,1175644800000.0,1175731200000.0,1176076800000.0,1176163200000.0,1176249600000.0,1176336000000.0,1176422400000.0,1176681600000.0,1176768000000.0,1176854400000.0,1176940800000.0,1177027200000.0,1177286400000.0,1177372800000.0,1177459200000.0,1177545600000.0,1177632000000.0,1177891200000.0,1177977600000.0,1178064000000.0,1178150400000.0,1178236800000.0,1178496000000.0,1178582400000.0,1178668800000.0,1178755200000.0,1178841600000.0,1179100800000.0,1179187200000.0,1179273600000.0,1179360000000.0,1179446400000.0,1179705600000.0,1179792000000.0,1179878400000.0,1179964800000.0,1180051200000.0,1180396800000.0,1180483200000.0,1180569600000.0,1180656000000.0,1180915200000.0,1181001600000.0,1181088000000.0,1181174400000.0,1181260800000.0,1181520000000.0,1181606400000.0,1181692800000.0,1181779200000.0,1181865600000.0,1182124800000.0,1182211200000.0,1182297600000.0,1182384000000.0,1182470400000.0,1182729600000.0,1182816000000.0,1182902400000.0,1182988800000.0,1183075200000.0,1183334400000.0,1183420800000.0,1183593600000.0,1183680000000.0,1183939200000.0,1184025600000.0,1184112000000.0,1184198400000.0,1184284800000.0,1184544000000.0,1184630400000.0,1184716800000.0,1184803200000.0,1184889600000.0,1185148800000.0,1185235200000.0,1185321600000.0,1185408000000.0,1185494400000.0,1185753600000.0,1185840000000.0,1185926400000.0,1186012800000.0,1186099200000.0,1186358400000.0,1186444800000.0,1186531200000.0,1186617600000.0,1186704000000.0,1186963200000.0,1187049600000.0,1187136000000.0,1187222400000.0,1187308800000.0,1187568000000.0,1187654400000.0,1187740800000.0,1187827200000.0,1187913600000.0,1188172800000.0,1188259200000.0,1188345600000.0,1188432000000.0,1188518400000.0,1188864000000.0,1188950400000.0,1189036800000.0,1189123200000.0,1189382400000.0,1189468800000.0,1189555200000.0,1189641600000.0,1189728000000.0,1189987200000.0,1190073600000.0,1190160000000.0,1190246400000.0,1190332800000.0,1190592000000.0,1190678400000.0,1190764800000.0,1190851200000.0,1190937600000.0,1191196800000.0,1191283200000.0,1191369600000.0,1191456000000.0,1191542400000.0,1191801600000.0,1191888000000.0,1191974400000.0,1192060800000.0,1192147200000.0,1192406400000.0,1192492800000.0,1192579200000.0,1192665600000.0,1192752000000.0,1193011200000.0,1193097600000.0,1193184000000.0,1193270400000.0,1193356800000.0,1193616000000.0,1193702400000.0,1193788800000.0,1193875200000.0,1193961600000.0,1194220800000.0,1194307200000.0,1194393600000.0,1194480000000.0,1194566400000.0,1194825600000.0,1194912000000.0,1194998400000.0,1195084800000.0,1195171200000.0,1195430400000.0,1195516800000.0,1195603200000.0,1195776000000.0,1196035200000.0,1196121600000.0,1196208000000.0,1196294400000.0,1196380800000.0,1196640000000.0,1196726400000.0,1196812800000.0,1196899200000.0,1196985600000.0,1197244800000.0,1197331200000.0,1197417600000.0,1197504000000.0,1197590400000.0,1197849600000.0,1197936000000.0,1198022400000.0,1198108800000.0,1198195200000.0,1198454400000.0,1198627200000.0,1198713600000.0,1198800000000.0,1199059200000.0,1199232000000.0,1199318400000.0,1199404800000.0,1199664000000.0,1199750400000.0,1199836800000.0,1199923200000.0,1200009600000.0,1200268800000.0,1200355200000.0,1200441600000.0,1200528000000.0,1200614400000.0,1200960000000.0,1201046400000.0,1201132800000.0,1201219200000.0,1201478400000.0,1201564800000.0,1201651200000.0,1201737600000.0,1201824000000.0,1202083200000.0,1202169600000.0,1202256000000.0,1202342400000.0,1202428800000.0,1202688000000.0,1202774400000.0,1202860800000.0,1202947200000.0,1203033600000.0,1203379200000.0,1203465600000.0,1203552000000.0,1203638400000.0,1203897600000.0,1203984000000.0,1204070400000.0,1204156800000.0,1204243200000.0,1204502400000.0,1204588800000.0,1204675200000.0,1204761600000.0,1204848000000.0,1205107200000.0,1205193600000.0,1205280000000.0,1205366400000.0,1205452800000.0,1205712000000.0,1205798400000.0,1205884800000.0,1205971200000.0,1206316800000.0,1206403200000.0,1206489600000.0,1206576000000.0,1206662400000.0,1206921600000.0,1207008000000.0,1207094400000.0,1207180800000.0,1207267200000.0,1207526400000.0,1207612800000.0,1207699200000.0,1207785600000.0,1207872000000.0,1208131200000.0,1208217600000.0,1208304000000.0,1208390400000.0,1208476800000.0,1208736000000.0,1208822400000.0,1208908800000.0,1208995200000.0,1209081600000.0,1209340800000.0,1209427200000.0,1209513600000.0,1209600000000.0,1209686400000.0,1209945600000.0,1210032000000.0,1210118400000.0,1210204800000.0,1210291200000.0,1210550400000.0,1210636800000.0,1210723200000.0,1210809600000.0,1210896000000.0,1211155200000.0,1211241600000.0,1211328000000.0,1211414400000.0,1211500800000.0,1211846400000.0,1211932800000.0,1212019200000.0,1212105600000.0,1212364800000.0,1212451200000.0,1212537600000.0,1212624000000.0,1212710400000.0,1212969600000.0,1213056000000.0,1213142400000.0,1213228800000.0,1213315200000.0,1213574400000.0,1213660800000.0,1213747200000.0,1213833600000.0,1213920000000.0,1214179200000.0,1214265600000.0,1214352000000.0,1214438400000.0,1214524800000.0,1214784000000.0,1214870400000.0,1214956800000.0,1215043200000.0,1215388800000.0,1215475200000.0,1215561600000.0,1215648000000.0,1215734400000.0,1215993600000.0,1216080000000.0,1216166400000.0,1216252800000.0,1216339200000.0,1216598400000.0,1216684800000.0,1216771200000.0,1216857600000.0,1216944000000.0,1217203200000.0,1217289600000.0,1217376000000.0,1217462400000.0,1217548800000.0,1217808000000.0,1217894400000.0,1217980800000.0,1218067200000.0,1218153600000.0,1218412800000.0,1218499200000.0,1218585600000.0,1218672000000.0,1218758400000.0,1219017600000.0,1219104000000.0,1219190400000.0,1219276800000.0,1219363200000.0,1219622400000.0,1219708800000.0,1219795200000.0,1219881600000.0,1219968000000.0,1220313600000.0,1220400000000.0,1220486400000.0,1220572800000.0,1220832000000.0,1220918400000.0,1221004800000.0,1221091200000.0,1221177600000.0,1221436800000.0,1221523200000.0,1221609600000.0,1221696000000.0,1221782400000.0,1222041600000.0,1222128000000.0,1222214400000.0,1222300800000.0,1222387200000.0,1222646400000.0,1222732800000.0,1222819200000.0,1222905600000.0,1222992000000.0,1223251200000.0,1223337600000.0,1223424000000.0,1223510400000.0,1223596800000.0,1223856000000.0,1223942400000.0,1224028800000.0,1224115200000.0,1224201600000.0,1224460800000.0,1224547200000.0,1224633600000.0,1224720000000.0,1224806400000.0,1225065600000.0,1225152000000.0,1225238400000.0,1225324800000.0,1225411200000.0,1225670400000.0,1225756800000.0,1225843200000.0,1225929600000.0,1226016000000.0,1226275200000.0,1226361600000.0,1226448000000.0,1226534400000.0,1226620800000.0,1226880000000.0,1226966400000.0,1227052800000.0,1227139200000.0,1227225600000.0,1227484800000.0,1227571200000.0,1227657600000.0,1227830400000.0,1228089600000.0,1228176000000.0,1228262400000.0,1228348800000.0,1228435200000.0,1228694400000.0,1228780800000.0,1228867200000.0,1228953600000.0,1229040000000.0,1229299200000.0,1229385600000.0,1229472000000.0,1229558400000.0,1229644800000.0,1229904000000.0,1229990400000.0,1230076800000.0,1230249600000.0,1230508800000.0,1230595200000.0,1230681600000.0,1230854400000.0,1231113600000.0,1231200000000.0,1231286400000.0,1231372800000.0,1231459200000.0,1231718400000.0,1231804800000.0,1231891200000.0,1231977600000.0,1232064000000.0,1232409600000.0,1232496000000.0,1232582400000.0,1232668800000.0,1232928000000.0,1233014400000.0,1233100800000.0,1233187200000.0,1233273600000.0,1233532800000.0,1233619200000.0,1233705600000.0,1233792000000.0,1233878400000.0,1234137600000.0,1234224000000.0,1234310400000.0,1234396800000.0,1234483200000.0,1234828800000.0,1234915200000.0,1235001600000.0,1235088000000.0,1235347200000.0,1235433600000.0,1235520000000.0,1235606400000.0,1235692800000.0,1235952000000.0,1236038400000.0,1236124800000.0,1236211200000.0,1236297600000.0,1236556800000.0,1236643200000.0,1236729600000.0,1236816000000.0,1236902400000.0,1237161600000.0,1237248000000.0,1237334400000.0,1237420800000.0,1237507200000.0,1237766400000.0,1237852800000.0,1237939200000.0,1238025600000.0,1238112000000.0,1238371200000.0,1238457600000.0,1238544000000.0,1238630400000.0,1238716800000.0,1238976000000.0,1239062400000.0,1239148800000.0,1239235200000.0,1239580800000.0,1239667200000.0,1239753600000.0,1239840000000.0,1239926400000.0,1240185600000.0,1240272000000.0,1240358400000.0,1240444800000.0,1240531200000.0,1240790400000.0,1240876800000.0,1240963200000.0,1241049600000.0,1241136000000.0,1241395200000.0,1241481600000.0,1241568000000.0,1241654400000.0,1241740800000.0,1242000000000.0,1242086400000.0,1242172800000.0,1242259200000.0,1242345600000.0,1242604800000.0,1242691200000.0,1242777600000.0,1242864000000.0,1242950400000.0,1243296000000.0,1243382400000.0,1243468800000.0,1243555200000.0,1243814400000.0,1243900800000.0,1243987200000.0,1244073600000.0,1244160000000.0,1244419200000.0,1244505600000.0,1244592000000.0,1244678400000.0,1244764800000.0,1245024000000.0,1245110400000.0,1245196800000.0,1245283200000.0,1245369600000.0,1245628800000.0,1245715200000.0,1245801600000.0,1245888000000.0,1245974400000.0,1246233600000.0,1246320000000.0,1246406400000.0,1246492800000.0,1246838400000.0,1246924800000.0,1247011200000.0,1247097600000.0,1247184000000.0,1247443200000.0,1247529600000.0,1247616000000.0,1247702400000.0,1247788800000.0,1248048000000.0,1248134400000.0,1248220800000.0,1248307200000.0,1248393600000.0,1248652800000.0,1248739200000.0,1248825600000.0,1248912000000.0,1248998400000.0,1249257600000.0,1249344000000.0,1249430400000.0,1249516800000.0,1249603200000.0,1249862400000.0,1249948800000.0,1250035200000.0,1250121600000.0,1250208000000.0,1250467200000.0,1250553600000.0,1250640000000.0,1250726400000.0,1250812800000.0,1251072000000.0,1251158400000.0,1251244800000.0,1251331200000.0,1251417600000.0,1251676800000.0,1251763200000.0,1251849600000.0,1251936000000.0,1252022400000.0,1252368000000.0,1252454400000.0,1252540800000.0,1252627200000.0,1252886400000.0,1252972800000.0,1253059200000.0,1253145600000.0,1253232000000.0,1253491200000.0,1253577600000.0,1253664000000.0,1253750400000.0,1253836800000.0,1254096000000.0,1254182400000.0,1254268800000.0,1254355200000.0,1254441600000.0,1254700800000.0,1254787200000.0,1254873600000.0,1254960000000.0,1255046400000.0,1255305600000.0,1255392000000.0,1255478400000.0,1255564800000.0,1255651200000.0,1255910400000.0,1255996800000.0,1256083200000.0,1256169600000.0,1256256000000.0,1256515200000.0,1256601600000.0,1256688000000.0,1256774400000.0,1256860800000.0,1257120000000.0,1257206400000.0,1257292800000.0,1257379200000.0,1257465600000.0,1257724800000.0,1257811200000.0,1257897600000.0,1257984000000.0,1258070400000.0,1258329600000.0,1258416000000.0,1258502400000.0,1258588800000.0,1258675200000.0,1258934400000.0,1259020800000.0,1259107200000.0,1259280000000.0,1259539200000.0,1259625600000.0,1259712000000.0,1259798400000.0,1259884800000.0,1260144000000.0,1260230400000.0,1260316800000.0,1260403200000.0,1260489600000.0,1260748800000.0,1260835200000.0,1260921600000.0,1261008000000.0,1261094400000.0,1261353600000.0,1261440000000.0,1261526400000.0,1261612800000.0,1261958400000.0,1262044800000.0,1262131200000.0,1262217600000.0,1262563200000.0,1262649600000.0,1262736000000.0,1262822400000.0,1262908800000.0,1263168000000.0,1263254400000.0,1263340800000.0,1263427200000.0,1263513600000.0,1263859200000.0,1263945600000.0,1264032000000.0,1264118400000.0,1264377600000.0,1264464000000.0,1264550400000.0,1264636800000.0,1264723200000.0,1264982400000.0,1265068800000.0,1265155200000.0,1265241600000.0,1265328000000.0,1265587200000.0,1265673600000.0,1265760000000.0,1265846400000.0,1265932800000.0,1266278400000.0,1266364800000.0,1266451200000.0,1266537600000.0,1266796800000.0,1266883200000.0,1266969600000.0,1267056000000.0,1267142400000.0,1267401600000.0,1267488000000.0,1267574400000.0,1267660800000.0,1267747200000.0,1268006400000.0,1268092800000.0,1268179200000.0,1268265600000.0,1268352000000.0,1268611200000.0,1268697600000.0,1268784000000.0,1268870400000.0,1268956800000.0,1269216000000.0,1269302400000.0,1269388800000.0,1269475200000.0,1269561600000.0,1269820800000.0,1269907200000.0,1269993600000.0,1270080000000.0,1270425600000.0,1270512000000.0,1270598400000.0,1270684800000.0,1270771200000.0,1271030400000.0,1271116800000.0,1271203200000.0,1271289600000.0,1271376000000.0,1271635200000.0,1271721600000.0,1271808000000.0,1271894400000.0,1271980800000.0,1272240000000.0,1272326400000.0,1272412800000.0,1272499200000.0,1272585600000.0,1272844800000.0,1272931200000.0,1273017600000.0,1273104000000.0,1273190400000.0,1273449600000.0,1273536000000.0,1273622400000.0,1273708800000.0,1273795200000.0,1274054400000.0,1274140800000.0,1274227200000.0,1274313600000.0,1274400000000.0,1274659200000.0,1274745600000.0,1274832000000.0,1274918400000.0,1275004800000.0,1275350400000.0,1275436800000.0,1275523200000.0,1275609600000.0,1275868800000.0,1275955200000.0,1276041600000.0,1276128000000.0,1276214400000.0,1276473600000.0,1276560000000.0,1276646400000.0,1276732800000.0,1276819200000.0,1277078400000.0,1277164800000.0,1277251200000.0,1277337600000.0,1277424000000.0,1277683200000.0,1277769600000.0,1277856000000.0,1277942400000.0,1278028800000.0,1278374400000.0,1278460800000.0,1278547200000.0,1278633600000.0,1278892800000.0,1278979200000.0,1279065600000.0,1279152000000.0,1279238400000.0,1279497600000.0,1279584000000.0,1279670400000.0,1279756800000.0,1279843200000.0,1280102400000.0,1280188800000.0,1280275200000.0,1280361600000.0,1280448000000.0,1280707200000.0,1280793600000.0,1280880000000.0,1280966400000.0,1281052800000.0,1281312000000.0,1281398400000.0,1281484800000.0,1281571200000.0,1281657600000.0,1281916800000.0,1282003200000.0,1282089600000.0,1282176000000.0,1282262400000.0,1282521600000.0,1282608000000.0,1282694400000.0,1282780800000.0,1282867200000.0,1283126400000.0,1283212800000.0,1283299200000.0,1283385600000.0,1283472000000.0,1283817600000.0,1283904000000.0,1283990400000.0,1284076800000.0,1284336000000.0,1284422400000.0,1284508800000.0,1284595200000.0,1284681600000.0,1284940800000.0,1285027200000.0,1285113600000.0,1285200000000.0,1285286400000.0,1285545600000.0,1285632000000.0,1285718400000.0,1285804800000.0,1285891200000.0,1286150400000.0,1286236800000.0,1286323200000.0,1286409600000.0,1286496000000.0,1286755200000.0,1286841600000.0,1286928000000.0,1287014400000.0,1287100800000.0,1287360000000.0,1287446400000.0,1287532800000.0,1287619200000.0,1287705600000.0,1287964800000.0,1288051200000.0,1288137600000.0,1288224000000.0,1288310400000.0,1288569600000.0,1288656000000.0,1288742400000.0,1288828800000.0,1288915200000.0,1289174400000.0,1289260800000.0,1289347200000.0,1289433600000.0,1289520000000.0,1289779200000.0,1289865600000.0,1289952000000.0,1290038400000.0,1290124800000.0,1290384000000.0,1290470400000.0,1290556800000.0,1290729600000.0,1290988800000.0,1291075200000.0,1291161600000.0,1291248000000.0,1291334400000.0,1291593600000.0,1291680000000.0,1291766400000.0,1291852800000.0,1291939200000.0,1292198400000.0,1292284800000.0,1292371200000.0,1292457600000.0,1292544000000.0,1292803200000.0,1292889600000.0,1292976000000.0,1293062400000.0,1293408000000.0,1293494400000.0,1293580800000.0,1293667200000.0,1293753600000.0,1294012800000.0,1294099200000.0,1294185600000.0,1294272000000.0,1294358400000.0,1294617600000.0,1294704000000.0,1294790400000.0,1294876800000.0,1294963200000.0,1295308800000.0,1295395200000.0,1295481600000.0,1295568000000.0,1295827200000.0,1295913600000.0,1296000000000.0,1296086400000.0,1296172800000.0,1296432000000.0,1296518400000.0,1296604800000.0,1296691200000.0,1296777600000.0,1297036800000.0,1297123200000.0,1297209600000.0,1297296000000.0,1297382400000.0,1297641600000.0,1297728000000.0,1297814400000.0,1297900800000.0,1297987200000.0,1298332800000.0,1298419200000.0,1298505600000.0,1298592000000.0,1298851200000.0,1298937600000.0,1299024000000.0,1299110400000.0,1299196800000.0,1299456000000.0,1299542400000.0,1299628800000.0,1299715200000.0,1299801600000.0,1300060800000.0,1300147200000.0,1300233600000.0,1300320000000.0,1300406400000.0,1300665600000.0,1300752000000.0,1300838400000.0,1300924800000.0,1301011200000.0,1301270400000.0,1301356800000.0,1301443200000.0,1301529600000.0,1301616000000.0,1301875200000.0,1301961600000.0,1302048000000.0,1302134400000.0,1302220800000.0,1302480000000.0,1302566400000.0,1302652800000.0,1302739200000.0,1302825600000.0,1303084800000.0,1303171200000.0,1303257600000.0,1303344000000.0,1303689600000.0,1303776000000.0,1303862400000.0,1303948800000.0,1304035200000.0,1304294400000.0,1304380800000.0,1304467200000.0,1304553600000.0,1304640000000.0,1304899200000.0,1304985600000.0,1305072000000.0,1305158400000.0,1305244800000.0,1305504000000.0,1305590400000.0,1305676800000.0,1305763200000.0,1305849600000.0,1306108800000.0,1306195200000.0,1306281600000.0,1306368000000.0,1306454400000.0,1306800000000.0,1306886400000.0,1306972800000.0,1307059200000.0,1307318400000.0,1307404800000.0,1307491200000.0,1307577600000.0,1307664000000.0,1307923200000.0,1308009600000.0,1308096000000.0,1308182400000.0,1308268800000.0,1308528000000.0,1308614400000.0,1308700800000.0,1308787200000.0,1308873600000.0,1309132800000.0,1309219200000.0,1309305600000.0,1309392000000.0,1309478400000.0,1309824000000.0,1309910400000.0,1309996800000.0,1310083200000.0,1310342400000.0,1310428800000.0,1310515200000.0,1310601600000.0,1310688000000.0,1310947200000.0,1311033600000.0,1311120000000.0,1311206400000.0,1311292800000.0,1311552000000.0,1311638400000.0,1311724800000.0,1311811200000.0,1311897600000.0,1312156800000.0,1312243200000.0,1312329600000.0,1312416000000.0,1312502400000.0,1312761600000.0,1312848000000.0,1312934400000.0,1313020800000.0,1313107200000.0,1313366400000.0,1313452800000.0,1313539200000.0,1313625600000.0,1313712000000.0,1313971200000.0,1314057600000.0,1314144000000.0,1314230400000.0,1314316800000.0,1314576000000.0,1314662400000.0,1314748800000.0,1314835200000.0,1314921600000.0,1315267200000.0,1315353600000.0,1315440000000.0,1315526400000.0,1315785600000.0,1315872000000.0,1315958400000.0,1316044800000.0,1316131200000.0,1316390400000.0,1316476800000.0,1316563200000.0,1316649600000.0,1316736000000.0,1316995200000.0,1317081600000.0,1317168000000.0,1317254400000.0,1317340800000.0,1317600000000.0,1317686400000.0,1317772800000.0,1317859200000.0,1317945600000.0,1318204800000.0,1318291200000.0,1318377600000.0,1318464000000.0,1318550400000.0,1318809600000.0,1318896000000.0,1318982400000.0,1319068800000.0,1319155200000.0,1319414400000.0,1319500800000.0,1319587200000.0,1319673600000.0,1319760000000.0,1320019200000.0,1320105600000.0,1320192000000.0,1320278400000.0,1320364800000.0,1320624000000.0,1320710400000.0,1320796800000.0,1320883200000.0,1320969600000.0,1321228800000.0,1321315200000.0,1321401600000.0,1321488000000.0,1321574400000.0,1321833600000.0,1321920000000.0,1322006400000.0,1322179200000.0,1322438400000.0,1322524800000.0,1322611200000.0,1322697600000.0,1322784000000.0,1323043200000.0,1323129600000.0,1323216000000.0,1323302400000.0,1323388800000.0,1323648000000.0,1323734400000.0,1323820800000.0,1323907200000.0,1323993600000.0,1324252800000.0,1324339200000.0,1324425600000.0,1324512000000.0,1324598400000.0,1324944000000.0,1325030400000.0,1325116800000.0,1325203200000.0,1325548800000.0,1325635200000.0,1325721600000.0,1325808000000.0,1326067200000.0,1326153600000.0,1326240000000.0,1326326400000.0,1326412800000.0,1326758400000.0,1326844800000.0,1326931200000.0,1327017600000.0,1327276800000.0,1327363200000.0,1327449600000.0,1327536000000.0,1327622400000.0,1327881600000.0,1327968000000.0,1328054400000.0,1328140800000.0,1328227200000.0,1328486400000.0,1328572800000.0,1328659200000.0,1328745600000.0,1328832000000.0,1329091200000.0,1329177600000.0,1329264000000.0,1329350400000.0,1329436800000.0,1329782400000.0,1329868800000.0,1329955200000.0,1330041600000.0,1330300800000.0,1330387200000.0,1330473600000.0,1330560000000.0,1330646400000.0,1330905600000.0,1330992000000.0,1331078400000.0,1331164800000.0,1331251200000.0,1331510400000.0,1331596800000.0,1331683200000.0,1331769600000.0,1331856000000.0,1332115200000.0,1332201600000.0,1332288000000.0,1332374400000.0,1332460800000.0,1332720000000.0,1332806400000.0,1332892800000.0,1332979200000.0,1333065600000.0,1333324800000.0,1333411200000.0,1333497600000.0,1333584000000.0,1333929600000.0,1334016000000.0,1334102400000.0,1334188800000.0,1334275200000.0,1334534400000.0,1334620800000.0,1334707200000.0,1334793600000.0,1334880000000.0,1335139200000.0,1335225600000.0,1335312000000.0,1335398400000.0,1335484800000.0,1335744000000.0,1335830400000.0,1335916800000.0,1336003200000.0,1336089600000.0,1336348800000.0,1336435200000.0,1336521600000.0,1336608000000.0,1336694400000.0,1336953600000.0,1337040000000.0,1337126400000.0,1337212800000.0,1337299200000.0,1337558400000.0,1337644800000.0,1337731200000.0,1337817600000.0,1337904000000.0,1338249600000.0,1338336000000.0,1338422400000.0,1338508800000.0,1338768000000.0,1338854400000.0,1338940800000.0,1339027200000.0,1339113600000.0,1339372800000.0,1339459200000.0,1339545600000.0,1339632000000.0,1339718400000.0,1339977600000.0,1340064000000.0,1340150400000.0,1340236800000.0,1340323200000.0,1340582400000.0,1340668800000.0,1340755200000.0,1340841600000.0,1340928000000.0,1341187200000.0,1341273600000.0,1341446400000.0,1341532800000.0,1341792000000.0,1341878400000.0,1341964800000.0,1342051200000.0,1342137600000.0,1342396800000.0,1342483200000.0,1342569600000.0,1342656000000.0,1342742400000.0,1343001600000.0,1343088000000.0,1343174400000.0,1343260800000.0,1343347200000.0,1343606400000.0,1343692800000.0,1343779200000.0,1343865600000.0,1343952000000.0,1344211200000.0,1344297600000.0,1344384000000.0,1344470400000.0,1344556800000.0,1344816000000.0,1344902400000.0,1344988800000.0,1345075200000.0,1345161600000.0,1345420800000.0,1345507200000.0,1345593600000.0,1345680000000.0,1345766400000.0,1346025600000.0,1346112000000.0,1346198400000.0,1346284800000.0,1346371200000.0,1346716800000.0,1346803200000.0,1346889600000.0,1346976000000.0,1347235200000.0,1347321600000.0,1347408000000.0,1347494400000.0,1347580800000.0,1347840000000.0,1347926400000.0,1348012800000.0,1348099200000.0,1348185600000.0,1348444800000.0,1348531200000.0,1348617600000.0,1348704000000.0,1348790400000.0,1349049600000.0,1349136000000.0,1349222400000.0,1349308800000.0,1349395200000.0,1349654400000.0,1349740800000.0,1349827200000.0,1349913600000.0,1350000000000.0,1350259200000.0,1350345600000.0,1350432000000.0,1350518400000.0,1350604800000.0,1350864000000.0,1350950400000.0,1351036800000.0,1351123200000.0,1351209600000.0,1351641600000.0,1351728000000.0,1351814400000.0,1352073600000.0,1352160000000.0,1352246400000.0,1352332800000.0,1352419200000.0,1352678400000.0,1352764800000.0,1352851200000.0,1352937600000.0,1353024000000.0,1353283200000.0,1353369600000.0,1353456000000.0,1353628800000.0,1353888000000.0,1353974400000.0,1354060800000.0,1354147200000.0,1354233600000.0,1354492800000.0,1354579200000.0,1354665600000.0,1354752000000.0,1354838400000.0,1355097600000.0,1355184000000.0,1355270400000.0,1355356800000.0,1355443200000.0,1355702400000.0,1355788800000.0,1355875200000.0,1355961600000.0,1356048000000.0,1356307200000.0,1356480000000.0,1356566400000.0,1356652800000.0,1356912000000.0,1357084800000.0,1357171200000.0,1357257600000.0,1357516800000.0,1357603200000.0,1357689600000.0,1357776000000.0,1357862400000.0,1358121600000.0,1358208000000.0,1358294400000.0,1358380800000.0,1358467200000.0,1358812800000.0,1358899200000.0,1358985600000.0,1359072000000.0,1359331200000.0,1359417600000.0,1359504000000.0,1359590400000.0,1359676800000.0,1359936000000.0,1360022400000.0,1360108800000.0,1360195200000.0,1360281600000.0,1360540800000.0,1360627200000.0,1360713600000.0,1360800000000.0,1360886400000.0,1361232000000.0,1361318400000.0,1361404800000.0,1361491200000.0,1361750400000.0,1361836800000.0,1361923200000.0,1362009600000.0,1362096000000.0,1362355200000.0,1362441600000.0,1362528000000.0,1362614400000.0,1362700800000.0,1362960000000.0,1363046400000.0,1363132800000.0,1363219200000.0,1363305600000.0,1363564800000.0,1363651200000.0,1363737600000.0,1363824000000.0,1363910400000.0,1364169600000.0,1364256000000.0,1364342400000.0,1364428800000.0,1364774400000.0,1364860800000.0,1364947200000.0,1365033600000.0,1365120000000.0,1365379200000.0,1365465600000.0,1365552000000.0,1365638400000.0,1365724800000.0,1365984000000.0,1366070400000.0,1366156800000.0,1366243200000.0,1366329600000.0,1366588800000.0,1366675200000.0,1366761600000.0,1366848000000.0,1366934400000.0,1367193600000.0,1367280000000.0,1367366400000.0,1367452800000.0,1367539200000.0,1367798400000.0,1367884800000.0,1367971200000.0,1368057600000.0,1368144000000.0,1368403200000.0,1368489600000.0,1368576000000.0,1368662400000.0,1368748800000.0,1369008000000.0,1369094400000.0,1369180800000.0,1369267200000.0,1369353600000.0,1369699200000.0,1369785600000.0,1369872000000.0,1369958400000.0,1370217600000.0,1370304000000.0,1370390400000.0,1370476800000.0,1370563200000.0,1370822400000.0,1370908800000.0,1370995200000.0,1371081600000.0,1371168000000.0,1371427200000.0,1371513600000.0,1371600000000.0,1371686400000.0,1371772800000.0,1372032000000.0,1372118400000.0,1372204800000.0,1372291200000.0,1372377600000.0,1372636800000.0,1372723200000.0,1372809600000.0,1372982400000.0,1373241600000.0,1373328000000.0,1373414400000.0,1373500800000.0,1373587200000.0,1373846400000.0,1373932800000.0,1374019200000.0,1374105600000.0,1374192000000.0,1374451200000.0,1374537600000.0,1374624000000.0,1374710400000.0,1374796800000.0,1375056000000.0,1375142400000.0,1375228800000.0,1375315200000.0,1375401600000.0,1375660800000.0,1375747200000.0,1375833600000.0,1375920000000.0,1376006400000.0,1376265600000.0,1376352000000.0,1376438400000.0,1376524800000.0,1376611200000.0,1376870400000.0,1376956800000.0,1377043200000.0,1377129600000.0,1377216000000.0,1377475200000.0,1377561600000.0,1377648000000.0,1377734400000.0,1377820800000.0,1378166400000.0,1378252800000.0,1378339200000.0,1378425600000.0,1378684800000.0,1378771200000.0,1378857600000.0,1378944000000.0,1379030400000.0,1379289600000.0,1379376000000.0,1379462400000.0,1379548800000.0,1379635200000.0,1379894400000.0,1379980800000.0,1380067200000.0,1380153600000.0,1380240000000.0,1380499200000.0,1380585600000.0,1380672000000.0,1380758400000.0,1380844800000.0,1381104000000.0,1381190400000.0,1381276800000.0,1381363200000.0,1381449600000.0,1381708800000.0,1381795200000.0,1381881600000.0,1381968000000.0,1382054400000.0,1382313600000.0,1382400000000.0,1382486400000.0,1382572800000.0,1382659200000.0,1382918400000.0,1383004800000.0,1383091200000.0,1383177600000.0,1383264000000.0,1383523200000.0,1383609600000.0,1383696000000.0,1383782400000.0,1383868800000.0,1384128000000.0,1384214400000.0,1384300800000.0,1384387200000.0,1384473600000.0,1384732800000.0,1384819200000.0,1384905600000.0,1384992000000.0,1385078400000.0,1385337600000.0,1385424000000.0,1385510400000.0,1385683200000.0,1385942400000.0,1386028800000.0,1386115200000.0,1386201600000.0,1386288000000.0,1386547200000.0,1386633600000.0,1386720000000.0,1386806400000.0,1386892800000.0,1387152000000.0,1387238400000.0,1387324800000.0,1387411200000.0,1387497600000.0,1387756800000.0,1387843200000.0,1388016000000.0,1388102400000.0,1388361600000.0,1388448000000.0],\"y\":{\"__ndarray__\":\"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\",\"dtype\":\"float64\",\"shape\":[3521]}},\"selected\":{\"id\":\"1486\",\"type\":\"Selection\"},\"selection_policy\":{\"id\":\"1485\",\"type\":\"UnionRenderers\"}},\"id\":\"1432\",\"type\":\"ColumnDataSource\"},{\"attributes\":{\"line_alpha\":0.1,\"line_color\":\"#1f77b4\",\"line_width\":2,\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"1490\",\"type\":\"Line\"},{\"attributes\":{\"source\":{\"id\":\"1406\",\"type\":\"ColumnDataSource\"}},\"id\":\"1410\",\"type\":\"CDSView\"},{\"attributes\":{},\"id\":\"1386\",\"type\":\"BasicTicker\"},{\"attributes\":{\"line_alpha\":0.8,\"line_color\":\"#ff7f0e\",\"line_width\":2,\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"1433\",\"type\":\"Line\"},{\"attributes\":{\"data_source\":{\"id\":\"1488\",\"type\":\"ColumnDataSource\"},\"glyph\":{\"id\":\"1489\",\"type\":\"Line\"},\"hover_glyph\":null,\"muted_glyph\":null,\"nonselection_glyph\":{\"id\":\"1490\",\"type\":\"Line\"},\"selection_glyph\":null,\"view\":{\"id\":\"1492\",\"type\":\"CDSView\"}},\"id\":\"1491\",\"type\":\"GlyphRenderer\"},{\"attributes\":{\"callback\":null},\"id\":\"1372\",\"type\":\"DataRange1d\"},{\"attributes\":{},\"id\":\"1413\",\"type\":\"BasicTickFormatter\"},{\"attributes\":{\"dimension\":1,\"plot\":{\"id\":\"1371\",\"subtype\":\"Figure\",\"type\":\"Plot\"},\"ticker\":{\"id\":\"1386\",\"type\":\"BasicTicker\"}},\"id\":\"1389\",\"type\":\"Grid\"},{\"attributes\":{\"line_alpha\":0.1,\"line_color\":\"#1f77b4\",\"line_width\":2,\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"1434\",\"type\":\"Line\"},{\"attributes\":{\"source\":{\"id\":\"1488\",\"type\":\"ColumnDataSource\"}},\"id\":\"1492\",\"type\":\"CDSView\"},{\"attributes\":{\"base\":60,\"mantissas\":[1,2,5,10,15,20,30],\"max_interval\":1800000.0,\"min_interval\":1000.0,\"num_minor_ticks\":0},\"id\":\"1418\",\"type\":\"AdaptiveTicker\"},{\"attributes\":{},\"id\":\"1415\",\"type\":\"DatetimeTickFormatter\"},{\"attributes\":{\"data_source\":{\"id\":\"1432\",\"type\":\"ColumnDataSource\"},\"glyph\":{\"id\":\"1433\",\"type\":\"Line\"},\"hover_glyph\":null,\"muted_glyph\":null,\"nonselection_glyph\":{\"id\":\"1434\",\"type\":\"Line\"},\"selection_glyph\":null,\"view\":{\"id\":\"1436\",\"type\":\"CDSView\"}},\"id\":\"1435\",\"type\":\"GlyphRenderer\"},{\"attributes\":{},\"id\":\"1516\",\"type\":\"UnionRenderers\"},{\"attributes\":{\"plot\":null,\"text\":\"Stock Data with interactive Legend\"},\"id\":\"1405\",\"type\":\"Title\"},{\"attributes\":{\"mantissas\":[1,2,5],\"max_interval\":500.0,\"num_minor_ticks\":0},\"id\":\"1417\",\"type\":\"AdaptiveTicker\"},{\"attributes\":{\"source\":{\"id\":\"1432\",\"type\":\"ColumnDataSource\"}},\"id\":\"1436\",\"type\":\"CDSView\"},{\"attributes\":{},\"id\":\"1517\",\"type\":\"Selection\"},{\"attributes\":{},\"id\":\"1456\",\"type\":\"UnionRenderers\"},{\"attributes\":{\"label\":{\"value\":\"MSFT\"},\"renderers\":[{\"id\":\"1491\",\"type\":\"GlyphRenderer\"}]},\"id\":\"1518\",\"type\":\"LegendItem\"},{\"attributes\":{},\"id\":\"1390\",\"type\":\"PanTool\"},{\"attributes\":{},\"id\":\"1457\",\"type\":\"Selection\"},{\"attributes\":{\"base\":24,\"mantissas\":[1,2,4,6,8,12],\"max_interval\":43200000.0,\"min_interval\":3600000.0,\"num_minor_ticks\":0},\"id\":\"1419\",\"type\":\"AdaptiveTicker\"}],\"root_ids\":[\"1371\"]},\"title\":\"Bokeh Application\",\"version\":\"1.0.2\"}};\n", " var render_items = [{\"docid\":\"f2eeb411-c4ce-44fd-a219-e7de729c064f\",\"roots\":{\"1371\":\"2df6ff84-ab90-43a9-8a3a-4ea9343c7140\"}}];\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": "1371" } }, "output_type": "display_data" } ], "source": [ "import pandas as pd\n", "from bokeh.palettes import Category10_4\n", "from bokeh.plotting import figure, output_file, show\n", "\n", "#import data\n", "stocks = pd.read_csv('data/stocks.csv', parse_dates = [0], infer_datetime_format = True)\n", "date = list(map(lambda x:x.to_pydatetime(), stocks.Date.tolist()))\n", "\n", "#create figure\n", "p = figure(plot_width=800, plot_height=250, x_axis_type=\"datetime\")\n", "p.title.text = 'Stock Data with interactive Legend'\n", "\n", "#recursively plot each stock\n", "for data, name, color in zip([stocks.AAPL, stocks.IBM, stocks.MSFT, stocks.CSCO], [\"AAPL\", \"IBM\", \"CSCO\", \"MSFT\"], Category10_4):\n", " p.line(date, data, line_width=2, color=color, alpha=0.8, legend=name)\n", "\n", "p.legend.location = \"top_left\"\n", "p.legend.click_policy=\"hide\"\n", "\n", "show(p)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Patches\n", "\n", "In Bokeh, extended geometrical shapes can be plotted by using the `patches()`glyph function. The patches glyph takes as input a list-of-lists collection of numericvalues specifying the vertices in x and y directions of each distinct patch toplot. \n", "\n", "In this exercise, we will plot the state borders of Arizona, Colorado, New Mexico and Utah. \n" ] }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [ { "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 = {\"6f08f5e2-1fbe-4025-a95f-f03872a0d916\":{\"roots\":{\"references\":[{\"attributes\":{\"below\":[{\"id\":\"1748\",\"type\":\"LinearAxis\"}],\"left\":[{\"id\":\"1753\",\"type\":\"LinearAxis\"}],\"renderers\":[{\"id\":\"1748\",\"type\":\"LinearAxis\"},{\"id\":\"1752\",\"type\":\"Grid\"},{\"id\":\"1753\",\"type\":\"LinearAxis\"},{\"id\":\"1757\",\"type\":\"Grid\"},{\"id\":\"1766\",\"type\":\"BoxAnnotation\"},{\"id\":\"1776\",\"type\":\"GlyphRenderer\"}],\"title\":{\"id\":\"1836\",\"type\":\"Title\"},\"toolbar\":{\"id\":\"1764\",\"type\":\"Toolbar\"},\"x_range\":{\"id\":\"1740\",\"type\":\"DataRange1d\"},\"x_scale\":{\"id\":\"1744\",\"type\":\"LinearScale\"},\"y_range\":{\"id\":\"1742\",\"type\":\"DataRange1d\"},\"y_scale\":{\"id\":\"1746\",\"type\":\"LinearScale\"}},\"id\":\"1739\",\"subtype\":\"Figure\",\"type\":\"Plot\"},{\"attributes\":{\"axis_label\":\"latitude (degrees)\",\"formatter\":{\"id\":\"1838\",\"type\":\"BasicTickFormatter\"},\"plot\":{\"id\":\"1739\",\"subtype\":\"Figure\",\"type\":\"Plot\"},\"ticker\":{\"id\":\"1754\",\"type\":\"BasicTicker\"}},\"id\":\"1753\",\"type\":\"LinearAxis\"},{\"attributes\":{\"plot\":null,\"text\":\"\"},\"id\":\"1836\",\"type\":\"Title\"},{\"attributes\":{},\"id\":\"1844\",\"type\":\"Selection\"},{\"attributes\":{},\"id\":\"1754\",\"type\":\"BasicTicker\"},{\"attributes\":{\"callback\":null,\"data\":{\"xs\":[[-114.63332,-114.63349,-114.63423,-114.60899,-114.63064,-114.57354,-114.58031,-114.61121,-114.6768,-114.66076,-114.65449,-114.68702,-114.69704,-114.70415,-114.67489,-114.70883,-114.74365,-114.73513,-114.6729,-114.51122,-114.32346,-114.22646,-114.1139,-114.04404,-114.04338,-114.04736,-114.05014,-114.0506,-114.0506,-114.05052,-113.94557,-113.86852,-113.62465,-113.4727,-113.32097,-113.17698,-113.02079,-112.99281,-112.96895,-112.75086,-112.48455,-112.32985,-111.99142,-111.58602,-111.39598,-111.2523,-111.03957,-110.73783,-110.54945,-110.272,-110.13851,-109.83491,-109.43568,-109.26993,-109.04538,-109.04522,-109.04522,-109.04531,-109.04544,-109.04547,-109.04579,-109.04575,-109.04601,-109.04578,-109.04606,-109.04621,-109.04636,-109.04662,-109.04644,-109.04598,-109.04603,-109.04633,-109.04692,-109.047,-109.04691,-109.0474,-109.04762,-109.04764,-109.04811,-109.04905,-109.04911,-109.05004,-109.0587,-109.25062,-109.30069,-109.33682,-109.38186,-109.45105,-109.5287,-109.62562,-109.79302,-109.97582,-110.20503,-110.49327,-110.56918,-110.65415,-110.77828,-110.87564,-110.93778,-110.94286,-110.97553,-111.12565,-111.24082,-111.29191,-111.32558,-111.3574,-111.38483,-111.44337,-111.47861,-111.49725,-111.53479,-111.56975,-111.62412,-111.66,-111.73365,-111.79498,-111.9182,-111.97172,-111.99115,-112.02937,-112.09379,-112.13972,-112.15906,-112.21295,-112.32605,-112.39932,-112.43603,-112.52208,-112.57141,-112.63294,-112.67695,-112.72356,-112.75567,-112.8055,-112.83423,-112.8711,-112.90863,-113.20884,-113.2279,-113.30314,-113.61086,-113.78489,-113.90756,-113.97121,-114.11135,-114.20719,-114.25559,-114.28755,-114.38472,-114.61337,-114.77804,-114.81394,-114.81518,-114.80524,-114.81037,-114.81335,-114.80551,-114.80529,-114.79282,-114.79206,-114.79555,-114.81362,-114.80894,-114.80404,-114.80093,-114.80804,-114.80891,-114.80192,-114.79518,-114.7819,-114.77309,-114.76427,-114.74805,-114.74638,-114.74505,-114.74456,-114.74203,-114.74,-114.73874,-114.73062,-114.72924,-114.72377,-114.71994,-114.71919,-114.69096,-114.63501,-114.58576,-114.46563,-114.48131,-114.62973,-114.68157,-114.72123,-114.61185,-114.5402,-114.49649,-114.52801,-114.51318,-114.49813,-114.4355,-114.35765,-114.26017,-114.14737,-114.29195,-114.38169,-114.44166,-114.48236,-114.56953,-114.63305],[-109.04984,-109.06017,-109.06015,-109.05655,-109.05305,-109.05158,-109.05119,-109.05077,-109.05132,-109.05077,-109.05087,-109.05088,-109.05093,-109.05088,-109.05051,-109.04899,-109.04907,-109.05008,-109.03134,-108.83854,-108.6996,-108.59802,-108.46524,-108.25764,-108.10567,-107.91411,-107.75063,-107.55479,-107.35937,-107.27483,-107.12561,-106.9166,-106.59389,-106.32621,-106.06118,-105.82273,-105.60473,-105.46928,-105.2756,-105.07514,-104.86787,-104.58704,-104.24506,-104.0535,-104.05325,-104.05153,-103.90732,-103.61529,-103.46471,-103.30624,-103.00202,-102.88728,-102.76668,-102.55879,-102.38345,-102.23951,-102.12861,-102.05156,-102.05154,-102.05152,-102.05145,-102.05143,-102.05144,-102.05144,-102.0515,-102.0515,-102.05152,-102.05131,-102.05145,-102.05176,-102.05176,-102.05174,-102.05174,-102.05139,-102.0506,-102.04955,-102.04907,-102.04875,-102.04802,-102.04541,-102.04514,-102.04524,-102.04494,-102.04501,-102.04479,-102.04452,-102.04447,-102.04431,-102.04456,-102.04402,-102.04286,-102.04166,-102.04179,-102.04178,-102.04192,-102.04196,-102.04199,-102.0421,-102.04209,-102.04538,-102.05418,-102.07425,-102.09059,-102.17511,-102.19751,-102.24848,-102.26493,-102.29933,-102.34378,-102.35537,-102.40232,-102.49444,-102.52468,-102.57091,-102.62547,-102.68337,-102.7059,-102.77324,-102.81507,-102.86545,-102.89315,-102.9279,-102.97961,-102.98698,-103.00214,-103.0022,-103.01356,-103.26061,-103.53892,-103.92627,-104.17265,-104.49245,-104.76311,-105.15658,-105.50752,-105.6576,-105.93761,-106.15386,-106.4654,-106.61906,-106.73137,-106.89142,-107.00562,-107.25094,-107.4121,-107.49519,-107.8669,-108.20233,-108.52833,-108.7496,-108.8978,-109.04518,-109.04522,-109.04531,-109.04519,-109.04583,-109.04582,-109.04191,-109.04159,-109.04304,-109.04232,-109.0498],[-103.55583,-104.00265,-104.64165,-105.14679,-105.90075,-106.55721,-106.63119,-106.62216,-106.63325,-106.61103,-106.54568,-106.52834,-106.52861,-106.53181,-106.55963,-106.56993,-106.60042,-106.61408,-106.62967,-106.67613,-106.68194,-106.7505,-106.75874,-106.77057,-106.82052,-106.87555,-106.89949,-106.93928,-106.96546,-106.98754,-106.99317,-106.99823,-106.99882,-107.00056,-107.12556,-107.2773,-107.29766,-107.3093,-107.32402,-107.35469,-107.37629,-107.39716,-107.42244,-107.47074,-107.50261,-107.53069,-107.5835,-107.62497,-107.6266,-107.62774,-107.62988,-107.63241,-107.63786,-107.64356,-107.65173,-107.66987,-107.70084,-107.70821,-107.75058,-107.7889,-107.84105,-107.86238,-107.8711,-107.88551,-107.90473,-107.964,-108.00059,-108.044,-108.05664,-108.07876,-108.08267,-108.1052,-108.15227,-108.17096,-108.1986,-108.20839,-108.20844,-108.20841,-108.2084,-108.20838,-108.20837,-108.2083,-108.20814,-108.20819,-108.20835,-108.20869,-108.20855,-108.20852,-108.20849,-108.20839,-108.20848,-108.20854,-108.20857,-108.36757,-108.38904,-108.44606,-108.47535,-108.53011,-108.61731,-108.65709,-108.70766,-108.71907,-108.72702,-108.73503,-108.73904,-108.7506,-108.75906,-108.82206,-108.86103,-108.88692,-109.00061,-109.05004,-109.05004,-109.04911,-109.04905,-109.04811,-109.04764,-109.04762,-109.0474,-109.04691,-109.047,-109.04692,-109.04633,-109.04603,-109.04598,-109.04644,-109.04662,-109.04636,-109.04621,-109.04606,-109.04578,-109.04601,-109.04575,-109.04579,-109.04547,-109.04544,-109.04531,-109.04522,-109.04522,-109.04518,-108.8978,-108.7496,-108.52833,-108.20233,-107.8669,-107.49519,-107.4121,-107.25094,-107.00562,-106.89142,-106.73137,-106.61906,-106.4654,-106.15386,-105.93761,-105.6576,-105.50752,-105.15658,-104.76311,-104.49245,-104.17265,-103.92627,-103.53892,-103.26061,-103.01356,-103.0022,-103.0022,-103.00232,-103.00232,-103.00228,-103.00227,-103.00224,-103.00223,-103.00218,-103.00206,-103.00213,-103.00215,-103.0021,-103.00214,-103.00218,-103.00237,-103.00218,-103.0023,-103.00226,-103.00223,-103.00226,-103.0023,-103.00233,-103.00233,-103.00228,-103.00228,-103.00245,-103.00243,-103.02394,-103.04133,-103.04249,-103.04239,-103.04283,-103.04312,-103.04338,-103.04362,-103.04374,-103.04376,-103.04993,-103.05727,-103.06464,-103.06478,-103.53275],[-114.04392,-114.04391,-114.04375,-114.04195,-114.04061,-114.04055,-114.0398,-114.04172,-114.0391,-113.80254,-113.64886,-113.49562,-113.36362,-113.20505,-113.10627,-112.96233,-112.83266,-112.78175,-112.68558,-112.58229,-112.45023,-112.26534,-112.1985,-112.10309,-111.98965,-111.9304,-111.88098,-111.82932,-111.73177,-111.51913,-111.4087,-111.26009,-111.14884,-111.04934,-111.04669,-111.04682,-111.04631,-111.04601,-111.0458,-111.04611,-111.04648,-111.04667,-111.04688,-111.04686,-110.94406,-110.86384,-110.70521,-110.55878,-110.43401,-110.34177,-110.25071,-110.14713,-110.0004,-109.90645,-109.75044,-109.67348,-109.63381,-109.51776,-109.43099,-109.30329,-109.05847,-109.05008,-109.04907,-109.04899,-109.05051,-109.05088,-109.05093,-109.05088,-109.05087,-109.05077,-109.05132,-109.05077,-109.05119,-109.05158,-109.05305,-109.05655,-109.06015,-109.06017,-109.04984,-109.0498,-109.04232,-109.04304,-109.04159,-109.04191,-109.04582,-109.04583,-109.04519,-109.04531,-109.04522,-109.04538,-109.26993,-109.43568,-109.83491,-110.13851,-110.272,-110.54945,-110.73783,-111.03957,-111.2523,-111.39598,-111.58602,-111.99142,-112.32985,-112.48455,-112.75086,-112.96895,-112.99281,-113.02079,-113.17698,-113.32097,-113.4727,-113.62465,-113.86852,-113.94557,-114.05052,-114.0506,-114.05187,-114.05264,-114.05198,-114.04939,-114.05013,-114.04997,-114.04992,-114.04916,-114.04833,-114.04885,-114.04841,-114.04779,-114.0473,-114.04757,-114.04727,-114.04658,-114.04644,-114.04619,-114.04558]],\"ys\":[[34.87057,35.00186,35.00332,35.07971,35.11791,35.14231,35.21811,35.37012,35.49125,35.5417,35.60517,35.66942,35.73579,35.81412,35.86436,35.9167,35.98542,36.05493,36.11546,36.15058,36.10119,36.01461,36.09833,36.21464,36.37619,36.60322,36.817,36.99997,37.0004,37.0004,36.99998,36.99998,36.99998,36.99998,36.99998,36.99998,37.00022,37.00017,37.00012,37.00048,37.00094,37.00105,37.00097,37.00166,37.00147,37.00102,37.00247,37.00325,37.00383,36.99828,36.99845,36.99831,36.9991,36.99926,36.99908,36.99908,36.99897,36.8531,36.70384,36.54513,36.41637,36.29154,36.18724,36.03128,35.93088,35.81044,35.65092,35.45859,35.30697,34.91388,34.71264,34.44558,34.08446,33.71335,33.3477,33.07165,32.70386,32.40743,32.1771,31.87069,31.63698,31.3325,31.33252,31.3338,31.33396,31.334,31.33394,31.33406,31.33393,31.33408,31.33399,31.33341,31.33363,31.33296,31.33299,31.33305,31.33363,31.33328,31.33281,31.33283,31.33257,31.34898,31.38586,31.40231,31.41305,31.42333,31.43196,31.45068,31.46195,31.4678,31.47995,31.49099,31.50825,31.51945,31.54305,31.56227,31.6012,31.61823,31.62425,31.63623,31.65645,31.67094,31.67701,31.69377,31.72891,31.75165,31.76301,31.78954,31.80473,31.82357,31.83702,31.8513,31.86132,31.87666,31.88514,31.89671,31.90787,31.99917,32.0054,32.02905,32.12566,32.17992,32.21797,32.2376,32.28088,32.31044,32.32538,32.33509,32.36468,32.43408,32.48373,32.49526,32.50602,32.50999,32.51839,32.52419,32.53277,32.54351,32.55396,32.56772,32.56625,32.56133,32.57093,32.58137,32.5955,32.60317,32.61295,32.6238,32.62325,32.6247,32.63705,32.65006,32.66489,32.66985,32.67414,32.6785,32.68221,32.68517,32.68732,32.6986,32.70545,32.71192,32.71829,32.71943,32.73946,32.73137,32.73487,32.87408,32.97206,33.03255,33.23376,33.39691,33.47131,33.58709,33.6969,33.84446,33.91285,33.96372,34.04257,34.12866,34.17212,34.31087,34.41527,34.47903,34.64288,34.71453,34.79181,34.86997],[38.215,38.40118,38.60929,38.81393,38.95788,39.11656,39.22605,39.36423,39.56752,39.79876,40.03782,40.18844,40.2929,40.41493,40.50615,40.68445,40.87296,41.00066,41.00051,41.00013,41.0001,40.99996,41.00008,41.00011,41.00139,41.00205,41.00197,41.00228,41.00305,41.00283,41.00305,41.00315,41.00213,40.99927,40.997,40.99701,40.99722,40.99766,40.99818,40.9983,40.99826,41.00153,41.00162,41.00139,41.00141,41.00153,41.00166,41.0017,41.00185,41.00191,41.00239,41.00231,41.00234,41.00243,41.00245,41.00235,41.00247,40.97899,40.9255,40.87501,40.82214,40.75901,40.71742,40.69984,40.65115,40.61334,40.55651,40.48846,40.31022,40.1605,40.01399,40.00308,40.00061,39.87098,39.67645,39.53889,39.40853,39.33572,39.24305,38.84279,38.66387,38.59586,38.52933,38.47219,38.41997,38.30634,38.26504,38.17556,38.05734,37.94303,37.80941,37.68749,37.49347,37.45597,37.3385,37.22191,37.10676,36.99352,36.99302,36.99306,36.99305,36.99311,36.99325,36.99357,36.99367,36.9942,36.99439,36.99425,36.99441,36.99457,36.99479,36.99494,36.99487,36.99513,36.99504,36.9952,36.99557,36.99885,36.99977,36.99959,36.99944,36.99908,36.99855,36.99852,37.0001,37.0001,37.00021,36.99956,36.99892,36.99669,36.99511,36.99367,36.9935,36.99527,36.99589,36.99578,36.99556,36.99469,36.99378,36.99303,36.99263,37.00014,37.00001,37.00001,37.0,37.00001,37.0,36.99924,36.99927,36.99887,36.99885,36.99908,36.99908,37.01706,37.09597,37.20443,37.35363,37.5667,37.7899,37.97469,38.10272,38.21472],[32.00032,32.00001,32.00041,32.0005,32.00198,32.00076,31.98981,31.93601,31.90997,31.84661,31.8054,31.78318,31.78328,31.78391,31.78394,31.78395,31.78399,31.784,31.78409,31.78395,31.78393,31.78371,31.78394,31.78404,31.78385,31.78384,31.78379,31.78378,31.78381,31.7837,31.78369,31.78367,31.78367,31.78355,31.78354,31.78377,31.78367,31.78366,31.78367,31.78365,31.78367,31.78365,31.7836,31.78365,31.78366,31.78365,31.78369,31.78365,31.78374,31.78374,31.78374,31.78374,31.7837,31.78371,31.78371,31.78368,31.78368,31.78368,31.78361,31.78363,31.78365,31.7836,31.78359,31.78359,31.7836,31.78363,31.78365,31.78361,31.78357,31.78351,31.7835,31.78353,31.78357,31.78358,31.78359,31.7836,31.74465,31.72969,31.72323,31.7194,31.71733,31.68878,31.62561,31.58935,31.5608,31.52581,31.50105,31.4998,31.47883,31.42917,31.37656,31.3561,31.3334,31.3334,31.33341,31.33347,31.33344,31.33336,31.33329,31.33323,31.33319,31.33307,31.33298,31.3329,31.33285,31.33273,31.33261,31.33226,31.33232,31.33231,31.33217,31.33224,31.3325,31.63698,31.87069,32.1771,32.40743,32.70386,33.07165,33.3477,33.71335,34.08446,34.44558,34.71264,34.91388,35.30697,35.45859,35.65092,35.81044,35.93088,36.03128,36.18724,36.29154,36.41637,36.54513,36.70384,36.8531,36.99897,36.99908,36.99908,36.99885,36.99887,36.99927,36.99924,37.0,37.00001,37.0,37.00001,37.00001,37.00014,36.99263,36.99303,36.99378,36.99469,36.99556,36.99578,36.99589,36.99527,36.9935,36.99367,36.99511,36.99669,36.99892,36.99956,37.00021,37.0001,37.00006,36.9686,36.95031,36.91582,36.91402,36.90243,36.89755,36.86996,36.81735,36.76898,36.74295,36.7193,36.7013,36.68525,36.67653,36.65329,36.6278,36.60265,36.5919,36.56927,36.56386,36.54875,36.52963,36.51475,36.50609,36.50046,36.5004,36.50042,35.76515,35.21202,35.1362,34.88888,34.67259,34.53564,34.40999,34.27181,34.03983,33.71754,33.35051,33.00011,32.59516,32.00034],[40.68928,40.68985,40.76026,41.05548,41.36,41.59062,41.89425,41.99372,41.99367,41.98895,41.99102,41.99331,41.99384,41.99645,41.99735,41.99841,41.99938,41.99973,42.00021,42.00054,42.00099,42.00111,42.00116,41.99763,41.99834,41.99861,41.99856,41.99875,41.99926,41.99951,42.00063,42.00132,42.00154,42.00159,42.00157,42.00034,41.83664,41.64119,41.52149,41.41513,41.36572,41.20441,41.10318,41.00917,40.9976,40.99725,40.99635,40.99635,40.99485,40.99533,40.99609,40.99634,40.99734,40.99766,40.99797,40.99841,40.9983,40.99871,40.99964,41.00064,41.00069,41.00066,40.87296,40.68445,40.50615,40.41493,40.2929,40.18844,40.03782,39.79876,39.56752,39.36423,39.22605,39.11656,38.95788,38.81393,38.60929,38.40118,38.215,38.21472,38.10272,37.97469,37.7899,37.5667,37.35363,37.20443,37.09597,37.01706,36.99908,36.99908,36.99926,36.9991,36.99831,36.99845,36.99828,37.00383,37.00325,37.00247,37.00102,37.00147,37.00166,37.00097,37.00105,37.00094,37.00048,37.00012,37.00017,37.00022,36.99998,36.99998,36.99998,36.99998,36.99998,36.99998,37.0004,37.0004,37.13439,37.47222,37.70735,37.77873,37.95499,38.20495,38.55049,38.75165,38.90545,39.08777,39.23851,39.36296,39.45715,39.61018,39.75817,39.99994,40.09896,40.30302,40.4958]]},\"selected\":{\"id\":\"1844\",\"type\":\"Selection\"},\"selection_policy\":{\"id\":\"1843\",\"type\":\"UnionRenderers\"}},\"id\":\"1773\",\"type\":\"ColumnDataSource\"},{\"attributes\":{\"callback\":null},\"id\":\"1742\",\"type\":\"DataRange1d\"},{\"attributes\":{\"dimension\":1,\"plot\":{\"id\":\"1739\",\"subtype\":\"Figure\",\"type\":\"Plot\"},\"ticker\":{\"id\":\"1754\",\"type\":\"BasicTicker\"}},\"id\":\"1757\",\"type\":\"Grid\"},{\"attributes\":{},\"id\":\"1744\",\"type\":\"LinearScale\"},{\"attributes\":{\"fill_alpha\":{\"value\":0.1},\"fill_color\":{\"value\":\"#1f77b4\"},\"line_alpha\":{\"value\":0.1},\"line_color\":{\"value\":\"#1f77b4\"},\"xs\":{\"field\":\"xs\"},\"ys\":{\"field\":\"ys\"}},\"id\":\"1775\",\"type\":\"Patches\"},{\"attributes\":{},\"id\":\"1758\",\"type\":\"PanTool\"},{\"attributes\":{},\"id\":\"1759\",\"type\":\"WheelZoomTool\"},{\"attributes\":{\"overlay\":{\"id\":\"1766\",\"type\":\"BoxAnnotation\"}},\"id\":\"1760\",\"type\":\"BoxZoomTool\"},{\"attributes\":{},\"id\":\"1762\",\"type\":\"ResetTool\"},{\"attributes\":{},\"id\":\"1761\",\"type\":\"SaveTool\"},{\"attributes\":{},\"id\":\"1763\",\"type\":\"HelpTool\"},{\"attributes\":{\"callback\":null},\"id\":\"1740\",\"type\":\"DataRange1d\"},{\"attributes\":{\"active_drag\":\"auto\",\"active_inspect\":\"auto\",\"active_multi\":null,\"active_scroll\":\"auto\",\"active_tap\":\"auto\",\"tools\":[{\"id\":\"1758\",\"type\":\"PanTool\"},{\"id\":\"1759\",\"type\":\"WheelZoomTool\"},{\"id\":\"1760\",\"type\":\"BoxZoomTool\"},{\"id\":\"1761\",\"type\":\"SaveTool\"},{\"id\":\"1762\",\"type\":\"ResetTool\"},{\"id\":\"1763\",\"type\":\"HelpTool\"}]},\"id\":\"1764\",\"type\":\"Toolbar\"},{\"attributes\":{\"fill_color\":{\"value\":\"#1f77b4\"},\"line_color\":{\"value\":\"white\"},\"xs\":{\"field\":\"xs\"},\"ys\":{\"field\":\"ys\"}},\"id\":\"1774\",\"type\":\"Patches\"},{\"attributes\":{\"data_source\":{\"id\":\"1773\",\"type\":\"ColumnDataSource\"},\"glyph\":{\"id\":\"1774\",\"type\":\"Patches\"},\"hover_glyph\":null,\"muted_glyph\":null,\"nonselection_glyph\":{\"id\":\"1775\",\"type\":\"Patches\"},\"selection_glyph\":null,\"view\":{\"id\":\"1777\",\"type\":\"CDSView\"}},\"id\":\"1776\",\"type\":\"GlyphRenderer\"},{\"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\":\"1766\",\"type\":\"BoxAnnotation\"},{\"attributes\":{\"source\":{\"id\":\"1773\",\"type\":\"ColumnDataSource\"}},\"id\":\"1777\",\"type\":\"CDSView\"},{\"attributes\":{},\"id\":\"1746\",\"type\":\"LinearScale\"},{\"attributes\":{\"axis_label\":\"longitude (degrees)\",\"formatter\":{\"id\":\"1840\",\"type\":\"BasicTickFormatter\"},\"plot\":{\"id\":\"1739\",\"subtype\":\"Figure\",\"type\":\"Plot\"},\"ticker\":{\"id\":\"1749\",\"type\":\"BasicTicker\"}},\"id\":\"1748\",\"type\":\"LinearAxis\"},{\"attributes\":{},\"id\":\"1838\",\"type\":\"BasicTickFormatter\"},{\"attributes\":{},\"id\":\"1749\",\"type\":\"BasicTicker\"},{\"attributes\":{},\"id\":\"1840\",\"type\":\"BasicTickFormatter\"},{\"attributes\":{\"plot\":{\"id\":\"1739\",\"subtype\":\"Figure\",\"type\":\"Plot\"},\"ticker\":{\"id\":\"1749\",\"type\":\"BasicTicker\"}},\"id\":\"1752\",\"type\":\"Grid\"},{\"attributes\":{},\"id\":\"1843\",\"type\":\"UnionRenderers\"}],\"root_ids\":[\"1739\"]},\"title\":\"Bokeh Application\",\"version\":\"1.0.2\"}};\n", " var render_items = [{\"docid\":\"6f08f5e2-1fbe-4025-a95f-f03872a0d916\",\"roots\":{\"1739\":\"336474ef-b23c-46ab-85b0-58243b35848c\"}}];\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": "1739" } }, "output_type": "display_data" } ], "source": [ "from bokeh.sampledata.us_states import data as states\n", "\n", "p = figure(x_axis_label='longitude (degrees)', y_axis_label='latitude (degrees)')\n", "\n", "# Create a list of longitudes for Arizona, Colorado, New Mexico, and Utah. \n", "x = [states['AZ']['lons'], states['CO']['lons'], states['NM']['lons'], states['UT']['lons']]\n", "\n", "# Create a list of Latitudes for the same states\n", "y = [states['AZ']['lats'], states['CO']['lats'], states['NM']['lats'], states['UT']['lats']]\n", "\n", "# Add patches to figure p with line_color=white for x and y\n", "p.patches(x, y, line_color = 'white')\n", "\n", "# Specify the name of the output file if external output is needed and show the result\n", "#output_file('four_corners.html')\n", "show(p)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Data formats\n", "\n", "- Examples of different types of input bokeh can import:\n", "\n", "### Python lists" ] }, { "cell_type": "code", "execution_count": 6, "metadata": {}, "outputs": [ { "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 = {\"d6d6bcb4-9381-4d29-b57f-b8c578d11b8d\":{\"roots\":{\"references\":[{\"attributes\":{\"below\":[{\"id\":\"1908\",\"type\":\"LinearAxis\"}],\"left\":[{\"id\":\"1913\",\"type\":\"LinearAxis\"}],\"renderers\":[{\"id\":\"1908\",\"type\":\"LinearAxis\"},{\"id\":\"1912\",\"type\":\"Grid\"},{\"id\":\"1913\",\"type\":\"LinearAxis\"},{\"id\":\"1917\",\"type\":\"Grid\"},{\"id\":\"1926\",\"type\":\"BoxAnnotation\"},{\"id\":\"1936\",\"type\":\"GlyphRenderer\"},{\"id\":\"1941\",\"type\":\"GlyphRenderer\"}],\"title\":{\"id\":\"2010\",\"type\":\"Title\"},\"toolbar\":{\"id\":\"1924\",\"type\":\"Toolbar\"},\"x_range\":{\"id\":\"1900\",\"type\":\"DataRange1d\"},\"x_scale\":{\"id\":\"1904\",\"type\":\"LinearScale\"},\"y_range\":{\"id\":\"1902\",\"type\":\"DataRange1d\"},\"y_scale\":{\"id\":\"1906\",\"type\":\"LinearScale\"}},\"id\":\"1899\",\"subtype\":\"Figure\",\"type\":\"Plot\"},{\"attributes\":{},\"id\":\"1918\",\"type\":\"PanTool\"},{\"attributes\":{\"source\":{\"id\":\"1938\",\"type\":\"ColumnDataSource\"}},\"id\":\"1942\",\"type\":\"CDSView\"},{\"attributes\":{\"fill_color\":{\"value\":\"white\"},\"line_color\":{\"value\":\"#1f77b4\"},\"size\":{\"units\":\"screen\",\"value\":10},\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"1939\",\"type\":\"Circle\"},{\"attributes\":{\"callback\":null,\"data\":{\"x\":[1,2,3,4,5],\"y\":[8,6,5,2,3]},\"selected\":{\"id\":\"2020\",\"type\":\"Selection\"},\"selection_policy\":{\"id\":\"2019\",\"type\":\"UnionRenderers\"}},\"id\":\"1938\",\"type\":\"ColumnDataSource\"},{\"attributes\":{\"line_alpha\":0.1,\"line_color\":\"#1f77b4\",\"line_width\":3,\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"1935\",\"type\":\"Line\"},{\"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\":\"1926\",\"type\":\"BoxAnnotation\"},{\"attributes\":{\"fill_alpha\":{\"value\":0.1},\"fill_color\":{\"value\":\"#1f77b4\"},\"line_alpha\":{\"value\":0.1},\"line_color\":{\"value\":\"#1f77b4\"},\"size\":{\"units\":\"screen\",\"value\":10},\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"1940\",\"type\":\"Circle\"},{\"attributes\":{\"overlay\":{\"id\":\"1926\",\"type\":\"BoxAnnotation\"}},\"id\":\"1920\",\"type\":\"BoxZoomTool\"},{\"attributes\":{},\"id\":\"1906\",\"type\":\"LinearScale\"},{\"attributes\":{},\"id\":\"1921\",\"type\":\"SaveTool\"},{\"attributes\":{},\"id\":\"1922\",\"type\":\"ResetTool\"},{\"attributes\":{},\"id\":\"1904\",\"type\":\"LinearScale\"},{\"attributes\":{\"line_color\":\"#1f77b4\",\"line_width\":3,\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"1934\",\"type\":\"Line\"},{\"attributes\":{},\"id\":\"2020\",\"type\":\"Selection\"},{\"attributes\":{\"formatter\":{\"id\":\"2014\",\"type\":\"BasicTickFormatter\"},\"plot\":{\"id\":\"1899\",\"subtype\":\"Figure\",\"type\":\"Plot\"},\"ticker\":{\"id\":\"1909\",\"type\":\"BasicTicker\"}},\"id\":\"1908\",\"type\":\"LinearAxis\"},{\"attributes\":{\"dimension\":1,\"plot\":{\"id\":\"1899\",\"subtype\":\"Figure\",\"type\":\"Plot\"},\"ticker\":{\"id\":\"1914\",\"type\":\"BasicTicker\"}},\"id\":\"1917\",\"type\":\"Grid\"},{\"attributes\":{},\"id\":\"1923\",\"type\":\"HelpTool\"},{\"attributes\":{},\"id\":\"1909\",\"type\":\"BasicTicker\"},{\"attributes\":{},\"id\":\"1919\",\"type\":\"WheelZoomTool\"},{\"attributes\":{\"active_drag\":\"auto\",\"active_inspect\":\"auto\",\"active_multi\":null,\"active_scroll\":\"auto\",\"active_tap\":\"auto\",\"tools\":[{\"id\":\"1918\",\"type\":\"PanTool\"},{\"id\":\"1919\",\"type\":\"WheelZoomTool\"},{\"id\":\"1920\",\"type\":\"BoxZoomTool\"},{\"id\":\"1921\",\"type\":\"SaveTool\"},{\"id\":\"1922\",\"type\":\"ResetTool\"},{\"id\":\"1923\",\"type\":\"HelpTool\"}]},\"id\":\"1924\",\"type\":\"Toolbar\"},{\"attributes\":{\"source\":{\"id\":\"1933\",\"type\":\"ColumnDataSource\"}},\"id\":\"1937\",\"type\":\"CDSView\"},{\"attributes\":{\"plot\":{\"id\":\"1899\",\"subtype\":\"Figure\",\"type\":\"Plot\"},\"ticker\":{\"id\":\"1909\",\"type\":\"BasicTicker\"}},\"id\":\"1912\",\"type\":\"Grid\"},{\"attributes\":{\"data_source\":{\"id\":\"1933\",\"type\":\"ColumnDataSource\"},\"glyph\":{\"id\":\"1934\",\"type\":\"Line\"},\"hover_glyph\":null,\"muted_glyph\":null,\"nonselection_glyph\":{\"id\":\"1935\",\"type\":\"Line\"},\"selection_glyph\":null,\"view\":{\"id\":\"1937\",\"type\":\"CDSView\"}},\"id\":\"1936\",\"type\":\"GlyphRenderer\"},{\"attributes\":{\"data_source\":{\"id\":\"1938\",\"type\":\"ColumnDataSource\"},\"glyph\":{\"id\":\"1939\",\"type\":\"Circle\"},\"hover_glyph\":null,\"muted_glyph\":null,\"nonselection_glyph\":{\"id\":\"1940\",\"type\":\"Circle\"},\"selection_glyph\":null,\"view\":{\"id\":\"1942\",\"type\":\"CDSView\"}},\"id\":\"1941\",\"type\":\"GlyphRenderer\"},{\"attributes\":{},\"id\":\"2019\",\"type\":\"UnionRenderers\"},{\"attributes\":{\"formatter\":{\"id\":\"2012\",\"type\":\"BasicTickFormatter\"},\"plot\":{\"id\":\"1899\",\"subtype\":\"Figure\",\"type\":\"Plot\"},\"ticker\":{\"id\":\"1914\",\"type\":\"BasicTicker\"}},\"id\":\"1913\",\"type\":\"LinearAxis\"},{\"attributes\":{},\"id\":\"1914\",\"type\":\"BasicTicker\"},{\"attributes\":{},\"id\":\"2018\",\"type\":\"Selection\"},{\"attributes\":{\"callback\":null},\"id\":\"1902\",\"type\":\"DataRange1d\"},{\"attributes\":{\"plot\":null,\"text\":\"\"},\"id\":\"2010\",\"type\":\"Title\"},{\"attributes\":{},\"id\":\"2017\",\"type\":\"UnionRenderers\"},{\"attributes\":{\"callback\":null},\"id\":\"1900\",\"type\":\"DataRange1d\"},{\"attributes\":{},\"id\":\"2014\",\"type\":\"BasicTickFormatter\"},{\"attributes\":{\"callback\":null,\"data\":{\"x\":[1,2,3,4,5],\"y\":[8,6,5,2,3]},\"selected\":{\"id\":\"2018\",\"type\":\"Selection\"},\"selection_policy\":{\"id\":\"2017\",\"type\":\"UnionRenderers\"}},\"id\":\"1933\",\"type\":\"ColumnDataSource\"},{\"attributes\":{},\"id\":\"2012\",\"type\":\"BasicTickFormatter\"}],\"root_ids\":[\"1899\"]},\"title\":\"Bokeh Application\",\"version\":\"1.0.2\"}};\n", " var render_items = [{\"docid\":\"d6d6bcb4-9381-4d29-b57f-b8c578d11b8d\",\"roots\":{\"1899\":\"de0e3101-493e-479c-a88d-f8a7fbaa4779\"}}];\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": "1899" } }, "output_type": "display_data" } ], "source": [ "from bokeh.io import output_file, show \n", "from bokeh.plotting import figure \n", "x = [1,2,3,4,5] \n", "y = [8,6,5,2,3] \n", "plot = figure() \n", "plot.line(x, y, line_width=3) \n", "plot.circle(x, y, fill_color='white', size=10) \n", "\n", "show(plot)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### NumPy Arrays" ] }, { "cell_type": "code", "execution_count": 7, "metadata": {}, "outputs": [ { "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 = {\"0ca4c0eb-07ad-4a8e-b405-6ec85a3a5916\":{\"roots\":{\"references\":[{\"attributes\":{\"below\":[{\"id\":\"2096\",\"type\":\"LinearAxis\"}],\"left\":[{\"id\":\"2101\",\"type\":\"LinearAxis\"}],\"renderers\":[{\"id\":\"2096\",\"type\":\"LinearAxis\"},{\"id\":\"2100\",\"type\":\"Grid\"},{\"id\":\"2101\",\"type\":\"LinearAxis\"},{\"id\":\"2105\",\"type\":\"Grid\"},{\"id\":\"2114\",\"type\":\"BoxAnnotation\"},{\"id\":\"2124\",\"type\":\"GlyphRenderer\"}],\"title\":{\"id\":\"2204\",\"type\":\"Title\"},\"toolbar\":{\"id\":\"2112\",\"type\":\"Toolbar\"},\"x_range\":{\"id\":\"2088\",\"type\":\"DataRange1d\"},\"x_scale\":{\"id\":\"2092\",\"type\":\"LinearScale\"},\"y_range\":{\"id\":\"2090\",\"type\":\"DataRange1d\"},\"y_scale\":{\"id\":\"2094\",\"type\":\"LinearScale\"}},\"id\":\"2087\",\"subtype\":\"Figure\",\"type\":\"Plot\"},{\"attributes\":{},\"id\":\"2211\",\"type\":\"UnionRenderers\"},{\"attributes\":{},\"id\":\"2206\",\"type\":\"BasicTickFormatter\"},{\"attributes\":{\"formatter\":{\"id\":\"2206\",\"type\":\"BasicTickFormatter\"},\"plot\":{\"id\":\"2087\",\"subtype\":\"Figure\",\"type\":\"Plot\"},\"ticker\":{\"id\":\"2102\",\"type\":\"BasicTicker\"}},\"id\":\"2101\",\"type\":\"LinearAxis\"},{\"attributes\":{},\"id\":\"2208\",\"type\":\"BasicTickFormatter\"},{\"attributes\":{\"callback\":null,\"data\":{\"x\":{\"__ndarray__\":\"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\",\"dtype\":\"float64\",\"shape\":[1000]},\"y\":{\"__ndarray__\":\"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\",\"dtype\":\"float64\",\"shape\":[1000]}},\"selected\":{\"id\":\"2212\",\"type\":\"Selection\"},\"selection_policy\":{\"id\":\"2211\",\"type\":\"UnionRenderers\"}},\"id\":\"2121\",\"type\":\"ColumnDataSource\"},{\"attributes\":{\"line_alpha\":0.1,\"line_color\":\"#1f77b4\",\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"2123\",\"type\":\"Line\"},{\"attributes\":{},\"id\":\"2212\",\"type\":\"Selection\"},{\"attributes\":{\"line_color\":\"#1f77b4\",\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"2122\",\"type\":\"Line\"},{\"attributes\":{\"dimension\":1,\"plot\":{\"id\":\"2087\",\"subtype\":\"Figure\",\"type\":\"Plot\"},\"ticker\":{\"id\":\"2102\",\"type\":\"BasicTicker\"}},\"id\":\"2105\",\"type\":\"Grid\"},{\"attributes\":{\"overlay\":{\"id\":\"2114\",\"type\":\"BoxAnnotation\"}},\"id\":\"2108\",\"type\":\"BoxZoomTool\"},{\"attributes\":{},\"id\":\"2106\",\"type\":\"PanTool\"},{\"attributes\":{},\"id\":\"2102\",\"type\":\"BasicTicker\"},{\"attributes\":{},\"id\":\"2107\",\"type\":\"WheelZoomTool\"},{\"attributes\":{\"plot\":null,\"text\":\"\"},\"id\":\"2204\",\"type\":\"Title\"},{\"attributes\":{\"callback\":null},\"id\":\"2090\",\"type\":\"DataRange1d\"},{\"attributes\":{\"source\":{\"id\":\"2121\",\"type\":\"ColumnDataSource\"}},\"id\":\"2125\",\"type\":\"CDSView\"},{\"attributes\":{},\"id\":\"2097\",\"type\":\"BasicTicker\"},{\"attributes\":{},\"id\":\"2111\",\"type\":\"HelpTool\"},{\"attributes\":{\"plot\":{\"id\":\"2087\",\"subtype\":\"Figure\",\"type\":\"Plot\"},\"ticker\":{\"id\":\"2097\",\"type\":\"BasicTicker\"}},\"id\":\"2100\",\"type\":\"Grid\"},{\"attributes\":{\"formatter\":{\"id\":\"2208\",\"type\":\"BasicTickFormatter\"},\"plot\":{\"id\":\"2087\",\"subtype\":\"Figure\",\"type\":\"Plot\"},\"ticker\":{\"id\":\"2097\",\"type\":\"BasicTicker\"}},\"id\":\"2096\",\"type\":\"LinearAxis\"},{\"attributes\":{\"active_drag\":\"auto\",\"active_inspect\":\"auto\",\"active_multi\":null,\"active_scroll\":\"auto\",\"active_tap\":\"auto\",\"tools\":[{\"id\":\"2106\",\"type\":\"PanTool\"},{\"id\":\"2107\",\"type\":\"WheelZoomTool\"},{\"id\":\"2108\",\"type\":\"BoxZoomTool\"},{\"id\":\"2109\",\"type\":\"SaveTool\"},{\"id\":\"2110\",\"type\":\"ResetTool\"},{\"id\":\"2111\",\"type\":\"HelpTool\"}]},\"id\":\"2112\",\"type\":\"Toolbar\"},{\"attributes\":{},\"id\":\"2110\",\"type\":\"ResetTool\"},{\"attributes\":{},\"id\":\"2094\",\"type\":\"LinearScale\"},{\"attributes\":{\"callback\":null},\"id\":\"2088\",\"type\":\"DataRange1d\"},{\"attributes\":{},\"id\":\"2092\",\"type\":\"LinearScale\"},{\"attributes\":{\"data_source\":{\"id\":\"2121\",\"type\":\"ColumnDataSource\"},\"glyph\":{\"id\":\"2122\",\"type\":\"Line\"},\"hover_glyph\":null,\"muted_glyph\":null,\"nonselection_glyph\":{\"id\":\"2123\",\"type\":\"Line\"},\"selection_glyph\":null,\"view\":{\"id\":\"2125\",\"type\":\"CDSView\"}},\"id\":\"2124\",\"type\":\"GlyphRenderer\"},{\"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\":\"2114\",\"type\":\"BoxAnnotation\"},{\"attributes\":{},\"id\":\"2109\",\"type\":\"SaveTool\"}],\"root_ids\":[\"2087\"]},\"title\":\"Bokeh Application\",\"version\":\"1.0.2\"}};\n", " var render_items = [{\"docid\":\"0ca4c0eb-07ad-4a8e-b405-6ec85a3a5916\",\"roots\":{\"2087\":\"0a241e04-7403-40a9-a21f-82908f09e2c0\"}}];\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": "2087" } }, "output_type": "display_data" } ], "source": [ "from bokeh.io import output_file, show \n", "from bokeh.plotting import figure \n", "import numpy as np \n", "x = np.linspace(0, 10, 1000) \n", "y = np.sin(x) + np.random.random(1000) * 0.2 \n", "plot = figure() \n", "plot.line(x, y) \n", "show(plot)\n" ] }, { "cell_type": "code", "execution_count": 8, "metadata": {}, "outputs": [ { "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 = {\"65b35995-c27b-4591-a9b8-40002d5efe76\":{\"roots\":{\"references\":[{\"attributes\":{\"below\":[{\"id\":\"2276\",\"type\":\"LinearAxis\"}],\"left\":[{\"id\":\"2281\",\"type\":\"LinearAxis\"}],\"renderers\":[{\"id\":\"2276\",\"type\":\"LinearAxis\"},{\"id\":\"2280\",\"type\":\"Grid\"},{\"id\":\"2281\",\"type\":\"LinearAxis\"},{\"id\":\"2285\",\"type\":\"Grid\"},{\"id\":\"2294\",\"type\":\"BoxAnnotation\"},{\"id\":\"2304\",\"type\":\"GlyphRenderer\"}],\"title\":{\"id\":\"2393\",\"type\":\"Title\"},\"toolbar\":{\"id\":\"2292\",\"type\":\"Toolbar\"},\"x_range\":{\"id\":\"2268\",\"type\":\"DataRange1d\"},\"x_scale\":{\"id\":\"2272\",\"type\":\"LinearScale\"},\"y_range\":{\"id\":\"2270\",\"type\":\"DataRange1d\"},\"y_scale\":{\"id\":\"2274\",\"type\":\"LinearScale\"}},\"id\":\"2267\",\"subtype\":\"Figure\",\"type\":\"Plot\"},{\"attributes\":{},\"id\":\"2395\",\"type\":\"BasicTickFormatter\"},{\"attributes\":{},\"id\":\"2287\",\"type\":\"WheelZoomTool\"},{\"attributes\":{},\"id\":\"2286\",\"type\":\"PanTool\"},{\"attributes\":{\"data_source\":{\"id\":\"2301\",\"type\":\"ColumnDataSource\"},\"glyph\":{\"id\":\"2302\",\"type\":\"Circle\"},\"hover_glyph\":null,\"muted_glyph\":null,\"nonselection_glyph\":{\"id\":\"2303\",\"type\":\"Circle\"},\"selection_glyph\":null,\"view\":{\"id\":\"2305\",\"type\":\"CDSView\"}},\"id\":\"2304\",\"type\":\"GlyphRenderer\"},{\"attributes\":{\"formatter\":{\"id\":\"2397\",\"type\":\"BasicTickFormatter\"},\"plot\":{\"id\":\"2267\",\"subtype\":\"Figure\",\"type\":\"Plot\"},\"ticker\":{\"id\":\"2277\",\"type\":\"BasicTicker\"}},\"id\":\"2276\",\"type\":\"LinearAxis\"},{\"attributes\":{\"fill_color\":{\"value\":\"#1f77b4\"},\"line_color\":{\"value\":\"#1f77b4\"},\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"2302\",\"type\":\"Circle\"},{\"attributes\":{\"fill_alpha\":{\"value\":0.1},\"fill_color\":{\"value\":\"#1f77b4\"},\"line_alpha\":{\"value\":0.1},\"line_color\":{\"value\":\"#1f77b4\"},\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"2303\",\"type\":\"Circle\"},{\"attributes\":{},\"id\":\"2282\",\"type\":\"BasicTicker\"},{\"attributes\":{},\"id\":\"2277\",\"type\":\"BasicTicker\"},{\"attributes\":{\"source\":{\"id\":\"2301\",\"type\":\"ColumnDataSource\"}},\"id\":\"2305\",\"type\":\"CDSView\"},{\"attributes\":{\"dimension\":1,\"plot\":{\"id\":\"2267\",\"subtype\":\"Figure\",\"type\":\"Plot\"},\"ticker\":{\"id\":\"2282\",\"type\":\"BasicTicker\"}},\"id\":\"2285\",\"type\":\"Grid\"},{\"attributes\":{\"plot\":{\"id\":\"2267\",\"subtype\":\"Figure\",\"type\":\"Plot\"},\"ticker\":{\"id\":\"2277\",\"type\":\"BasicTicker\"}},\"id\":\"2280\",\"type\":\"Grid\"},{\"attributes\":{\"plot\":null,\"text\":\"\"},\"id\":\"2393\",\"type\":\"Title\"},{\"attributes\":{},\"id\":\"2397\",\"type\":\"BasicTickFormatter\"},{\"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\":\"2294\",\"type\":\"BoxAnnotation\"},{\"attributes\":{\"callback\":null},\"id\":\"2270\",\"type\":\"DataRange1d\"},{\"attributes\":{\"callback\":null,\"data\":{\"x\":{\"__ndarray__\":\"AAAAAAAAAAAxb2dIzNupPzFvZ0jM27k/ZZNNNtlkwz8xb2dIzNvJP3+lQK1fKdA/ZZNNNtlk0z9LgVq/UqDWPzFvZ0jM29k/F1100UUX3T9/pUCtXyngP3Icx3Ecx+E/ZZNNNtlk4z9YCtT6lQLlP0uBWr9SoOY/Pvjggw8+6D8xb2dIzNvpPyTm7QyJees/F1100UUX7T8K1PqVArXuP3+lQK1fKfA/+OCDDz748D9yHMdxHMfxP+tXCtT6lfI/ZZNNNtlk8z/ezpCYtzP0P1gK1PqVAvU/0UUXXXTR9T9LgVq/UqD2P8S8nSExb/c/Pvjggw8++D+3MyTm7Qz5PzFvZ0jM2/k/q6qqqqqq+j8k5u0MiXn7P54hMW9nSPw/F1100UUX/T+RmLczJOb9PwrU+pUCtf4/hA8++OCD/z9/pUCtXykAQDtDYt7OkABA+OCDDz74AEC1fqVArV8BQHIcx3EcxwFALrrooosuAkDrVwrU+pUCQKj1KwVq/QJAZZNNNtlkA0AiMW9nSMwDQN7OkJi3MwRAm2yyySabBEBYCtT6lQIFQBWo9SsFagVA0UUXXXTRBUCO4ziO4zgGQEuBWr9SoAZACB988MEHB0DEvJ0hMW8HQIFav1Kg1gdAPvjggw8+CED7lQK1fqUIQLczJObtDAlAdNFFF110CUAxb2dIzNsJQO4MiXk7QwpAq6qqqqqqCkBnSMzbGRILQCTm7QyJeQtA4YMPPvjgC0CeITFvZ0gMQFq/UqDWrwxAF1100UUXDUDU+pUCtX4NQJGYtzMk5g1ATTbZZJNNDkAK1PqVArUOQMdxHMdxHA9AhA8++OCDD0BArV8pUOsPQH+lQK1fKRBAXXTRRRddEEA7Q2LezpAQQBoS83aGxBBA+OCDDz74EEDXrxSo9SsRQLV+pUCtXxFAk0022WSTEUByHMdxHMcRQFDrVwrU+hFALrrooosuEkANiXk7Q2ISQOtXCtT6lRJAyiabbLLJEkCo9SsFav0SQIbEvJ0hMRNAZZNNNtlkE0BDYt7OkJgTQCIxb2dIzBNAAAAAAAAAFEA=\",\"dtype\":\"float64\",\"shape\":[100]},\"y\":{\"__ndarray__\":\"AAAAAAAA8D+IOhPnjfXvP2y1GW4+1u8/HBEGBiai7z/0ZpixZlnvP5AIKu8v/O4/yNmrmb6K7j9cg+vAXAXuP3RuOXlhbO0/9xmPojDA7D8251qnOgHsP4HvGzP8L+s/j8z94P1M6j/idqni01jpP3ZzhZ8dVOg/pXqkTIU/5z8miaZ9vxvmP+7m1K6K6eQ/HRvGyK6p4z9L/dqd/FziP8UY6mFNBOE/gMXkOARB3z8LrmMrBmXcP1nJ/31+dtk/P1edLVd31j+BxXERhWnTP7+kCZQGT9A/3nwczMRTyj9osEhXTPjDP4viBJWUH7s/7bevprZ5rD/kJeEMaA11P1iQonMUOKe/wMctpFaBuL9e2la8UavCv7h8xfHHCcm/yDeLfeVXz7/q2GVLxsjSv1v6TmhW2dW/Q+6l4KLb2L8Zq47PtM3bv11nfeifrd6/rIhO3MG84L9cmTxwxhfiv9k8jyL7ZuO/b1n1G4Wp5L9liiXKkd7lvxooV2lXBee/xHL7hxUd6L+C4GCEFSXpv+aI7gOrHOq/jtapYzQD67+6CL0hG9jrv3SguT/Umuy/+5JWneBK7b99A29LzeftvwpVC9czce6/G5hDjLrm7r8Zqc+wFEjvvzrEHrYCle+/xNrVYlLN77/fkpnz3vDvv96JDjOR/++/qi0AiV/5778LSaQATt7vv9wr90Vuru+/bCgymt9p779C7mO/zhDvv4kUONt1o+6/3+cAURwi7r/8QxyTFo3tv6bm0evF5Oy/BTrPPZgp7L8FDmq8B1zrv5IW2ZuafOq/UUSWueKL6b8kKyQ9fYrov0aidDESeee/WpkzF1RY5r8gwj1w/yjlv4cjj0Ta6+O/6u75oLOh4r+m/vkPY0vhv5B8+hmQ09+/urT55JL73L+R8IzGqRDav5K3r168FNe/14Rkab0J1L83wRp5qfHQv3AkUVULncu/pYFip7xExb9nglKxFr29v6fIG9RJ3bC/D7lnLtOTj7/fYJ910fWhP1UiQABv4rU/DwVx2NVdwT/gTHmzHb/HP6i1P8XkEM4/2UprcIUn0j8=\",\"dtype\":\"float64\",\"shape\":[100]}},\"selected\":{\"id\":\"2401\",\"type\":\"Selection\"},\"selection_policy\":{\"id\":\"2400\",\"type\":\"UnionRenderers\"}},\"id\":\"2301\",\"type\":\"ColumnDataSource\"},{\"attributes\":{\"callback\":null},\"id\":\"2268\",\"type\":\"DataRange1d\"},{\"attributes\":{\"active_drag\":\"auto\",\"active_inspect\":\"auto\",\"active_multi\":null,\"active_scroll\":\"auto\",\"active_tap\":\"auto\",\"tools\":[{\"id\":\"2286\",\"type\":\"PanTool\"},{\"id\":\"2287\",\"type\":\"WheelZoomTool\"},{\"id\":\"2288\",\"type\":\"BoxZoomTool\"},{\"id\":\"2289\",\"type\":\"SaveTool\"},{\"id\":\"2290\",\"type\":\"ResetTool\"},{\"id\":\"2291\",\"type\":\"HelpTool\"}]},\"id\":\"2292\",\"type\":\"Toolbar\"},{\"attributes\":{},\"id\":\"2272\",\"type\":\"LinearScale\"},{\"attributes\":{},\"id\":\"2274\",\"type\":\"LinearScale\"},{\"attributes\":{},\"id\":\"2290\",\"type\":\"ResetTool\"},{\"attributes\":{},\"id\":\"2291\",\"type\":\"HelpTool\"},{\"attributes\":{},\"id\":\"2401\",\"type\":\"Selection\"},{\"attributes\":{\"formatter\":{\"id\":\"2395\",\"type\":\"BasicTickFormatter\"},\"plot\":{\"id\":\"2267\",\"subtype\":\"Figure\",\"type\":\"Plot\"},\"ticker\":{\"id\":\"2282\",\"type\":\"BasicTicker\"}},\"id\":\"2281\",\"type\":\"LinearAxis\"},{\"attributes\":{},\"id\":\"2400\",\"type\":\"UnionRenderers\"},{\"attributes\":{},\"id\":\"2289\",\"type\":\"SaveTool\"},{\"attributes\":{\"overlay\":{\"id\":\"2294\",\"type\":\"BoxAnnotation\"}},\"id\":\"2288\",\"type\":\"BoxZoomTool\"}],\"root_ids\":[\"2267\"]},\"title\":\"Bokeh Application\",\"version\":\"1.0.2\"}};\n", " var render_items = [{\"docid\":\"65b35995-c27b-4591-a9b8-40002d5efe76\",\"roots\":{\"2267\":\"f165cd2f-14cc-4d94-a0f2-876c70dabe09\"}}];\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": "2267" } }, "output_type": "display_data" } ], "source": [ "p = figure()\n", "\n", "# Create array using np.linspace: x\n", "x = np.linspace(0, 5, 100)\n", "\n", "# Create array using np.cos: y\n", "y = np.cos(x)\n", "\n", "# Add circles at x and y\n", "p.circle(x, y)\n", "\n", "# Show the result\n", "show(p)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Plotting data from Pandas DataFrames\n", "\n", "You can create Bokeh plots from Pandas DataFrames by passing column selections\n", "to the glyph functions. \n", "\n", "Bokeh can plot floating point numbers, integers, and datetime\n", "data types. In this example, we will read a CSV file containing information on 392\n", "automobiles manufactured in the US, Europe and Asia from 1970 to 1982. \n", "\n", "\n", "We will plot miles-per-gallon (`mpg`) vs horsepower (`hp`) by\n", "passing Pandas column selections into the `p.circle()` function. Additionally, each\n", "glyph will be colored according to values in the `color` column.\n" ] }, { "cell_type": "code", "execution_count": 9, "metadata": {}, "outputs": [ { "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 = {\"63100deb-94fd-44ef-90d9-c94afbac58c2\":{\"roots\":{\"references\":[{\"attributes\":{\"below\":[{\"id\":\"2465\",\"type\":\"LinearAxis\"}],\"left\":[{\"id\":\"2470\",\"type\":\"LinearAxis\"}],\"renderers\":[{\"id\":\"2465\",\"type\":\"LinearAxis\"},{\"id\":\"2469\",\"type\":\"Grid\"},{\"id\":\"2470\",\"type\":\"LinearAxis\"},{\"id\":\"2474\",\"type\":\"Grid\"},{\"id\":\"2483\",\"type\":\"BoxAnnotation\"},{\"id\":\"2493\",\"type\":\"GlyphRenderer\"}],\"title\":{\"id\":\"2591\",\"type\":\"Title\"},\"toolbar\":{\"id\":\"2481\",\"type\":\"Toolbar\"},\"x_range\":{\"id\":\"2457\",\"type\":\"DataRange1d\"},\"x_scale\":{\"id\":\"2461\",\"type\":\"LinearScale\"},\"y_range\":{\"id\":\"2459\",\"type\":\"DataRange1d\"},\"y_scale\":{\"id\":\"2463\",\"type\":\"LinearScale\"}},\"id\":\"2456\",\"subtype\":\"Figure\",\"type\":\"Plot\"},{\"attributes\":{\"source\":{\"id\":\"2490\",\"type\":\"ColumnDataSource\"}},\"id\":\"2494\",\"type\":\"CDSView\"},{\"attributes\":{\"axis_label\":\"HP\",\"formatter\":{\"id\":\"2595\",\"type\":\"BasicTickFormatter\"},\"plot\":{\"id\":\"2456\",\"subtype\":\"Figure\",\"type\":\"Plot\"},\"ticker\":{\"id\":\"2466\",\"type\":\"BasicTicker\"}},\"id\":\"2465\",\"type\":\"LinearAxis\"},{\"attributes\":{},\"id\":\"2466\",\"type\":\"BasicTicker\"},{\"attributes\":{\"plot\":null,\"text\":\"\"},\"id\":\"2591\",\"type\":\"Title\"},{\"attributes\":{\"plot\":{\"id\":\"2456\",\"subtype\":\"Figure\",\"type\":\"Plot\"},\"ticker\":{\"id\":\"2466\",\"type\":\"BasicTicker\"}},\"id\":\"2469\",\"type\":\"Grid\"},{\"attributes\":{},\"id\":\"2593\",\"type\":\"BasicTickFormatter\"},{\"attributes\":{\"axis_label\":\"MPG\",\"formatter\":{\"id\":\"2593\",\"type\":\"BasicTickFormatter\"},\"plot\":{\"id\":\"2456\",\"subtype\":\"Figure\",\"type\":\"Plot\"},\"ticker\":{\"id\":\"2471\",\"type\":\"BasicTicker\"}},\"id\":\"2470\",\"type\":\"LinearAxis\"},{\"attributes\":{},\"id\":\"2595\",\"type\":\"BasicTickFormatter\"},{\"attributes\":{},\"id\":\"2471\",\"type\":\"BasicTicker\"},{\"attributes\":{},\"id\":\"2598\",\"type\":\"UnionRenderers\"},{\"attributes\":{\"dimension\":1,\"plot\":{\"id\":\"2456\",\"subtype\":\"Figure\",\"type\":\"Plot\"},\"ticker\":{\"id\":\"2471\",\"type\":\"BasicTicker\"}},\"id\":\"2474\",\"type\":\"Grid\"},{\"attributes\":{},\"id\":\"2599\",\"type\":\"Selection\"},{\"attributes\":{\"fill_color\":{\"field\":\"fill_color\"},\"line_color\":{\"field\":\"line_color\"},\"size\":{\"units\":\"screen\",\"value\":10},\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"2491\",\"type\":\"Circle\"},{\"attributes\":{\"callback\":null,\"data\":{\"fill_color\":[\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"red\",\"red\",\"red\",\"red\",\"red\",\"red\",\"red\",\"red\",\"red\",\"red\",\"red\",\"red\",\"red\",\"red\",\"red\",\"red\",\"red\",\"red\",\"red\",\"red\",\"red\",\"red\",\"red\",\"red\",\"red\",\"red\",\"red\",\"red\",\"red\",\"red\",\"red\",\"red\",\"red\",\"red\",\"red\",\"red\",\"red\",\"red\",\"red\",\"red\",\"red\",\"red\",\"red\",\"red\",\"red\",\"red\",\"red\",\"red\",\"red\",\"red\",\"red\",\"red\",\"red\",\"red\",\"red\",\"red\",\"red\",\"red\",\"red\",\"red\",\"red\",\"red\",\"red\",\"red\",\"red\",\"red\",\"red\",\"red\",\"red\",\"red\",\"red\",\"red\",\"red\",\"red\",\"red\",\"red\",\"red\",\"red\",\"red\",\"green\",\"green\",\"green\",\"green\",\"green\",\"green\",\"green\",\"green\",\"green\",\"green\",\"green\",\"green\",\"green\",\"green\",\"green\",\"green\",\"green\",\"green\",\"green\",\"green\",\"green\",\"green\",\"green\",\"green\",\"green\",\"green\",\"green\",\"green\",\"green\",\"green\",\"green\",\"green\",\"green\",\"green\",\"green\",\"green\",\"green\",\"green\",\"green\",\"green\",\"green\",\"green\",\"green\",\"green\",\"green\",\"green\",\"green\",\"green\",\"green\",\"green\",\"green\",\"green\",\"green\",\"green\",\"green\",\"green\",\"green\",\"green\",\"green\",\"green\",\"green\",\"green\",\"green\",\"green\",\"green\",\"green\",\"green\",\"green\"],\"line_color\":[\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"red\",\"red\",\"red\",\"red\",\"red\",\"red\",\"red\",\"red\",\"red\",\"red\",\"red\",\"red\",\"red\",\"red\",\"red\",\"red\",\"red\",\"red\",\"red\",\"red\",\"red\",\"red\",\"red\",\"red\",\"red\",\"red\",\"red\",\"red\",\"red\",\"red\",\"red\",\"red\",\"red\",\"red\",\"red\",\"red\",\"red\",\"red\",\"red\",\"red\",\"red\",\"red\",\"red\",\"red\",\"red\",\"red\",\"red\",\"red\",\"red\",\"red\",\"red\",\"red\",\"red\",\"red\",\"red\",\"red\",\"red\",\"red\",\"red\",\"red\",\"red\",\"red\",\"red\",\"red\",\"red\",\"red\",\"red\",\"red\",\"red\",\"red\",\"red\",\"red\",\"red\",\"red\",\"red\",\"red\",\"red\",\"red\",\"red\",\"green\",\"green\",\"green\",\"green\",\"green\",\"green\",\"green\",\"green\",\"green\",\"green\",\"green\",\"green\",\"green\",\"green\",\"green\",\"green\",\"green\",\"green\",\"green\",\"green\",\"green\",\"green\",\"green\",\"green\",\"green\",\"green\",\"green\",\"green\",\"green\",\"green\",\"green\",\"green\",\"green\",\"green\",\"green\",\"green\",\"green\",\"green\",\"green\",\"green\",\"green\",\"green\",\"green\",\"green\",\"green\",\"green\",\"green\",\"green\",\"green\",\"green\",\"green\",\"green\",\"green\",\"green\",\"green\",\"green\",\"green\",\"green\",\"green\",\"green\",\"green\",\"green\",\"green\",\"green\",\"green\",\"green\",\"green\",\"green\"],\"x\":[88,193,98,130,140,88,84,148,150,130,82,95,110,140,170,78,110,150,83,85,140,139,70,52,84,138,180,65,150,70,100,180,129,90,75,100,85,112,88,100,75,100,70,145,110,210,80,145,150,198,92,90,115,95,115,84,150,215,175,60,175,110,150,95,110,105,89,66,78,105,150,72,170,110,152,145,139,150,80,105,90,110,175,80,150,150,100,105,90,105,105,88,100,190,92,165,180,72,105,90,155,90,84,125,142,105,137,150,88,145,63,140,88,85,85,86,79,120,220,170,100,90,225,85,65,90,90,110,100,190,63,90,100,110,150,100,150,88,225,70,208,105,90,110,72,97,88,129,85,86,150,175,150,110,130,158,95,215,145,150,105,175,160,135,100,198,180,215,100,225,155,170,85,80,149,84,72,85,140,100,150,75,107,110,97,145,115,70,230,63,105,95,165,165,160,190,95,180,120,80,68,95,140,110,150,153,130,170,86,90,145,86,79,165,83,64,92,72,140,150,96,150,80,130,100,150,85,81,84,153,100,167,88,200,125,92,110,90,150,90,105,88,90,110,88,60,100,75,65,110,96,95,75,132,60,67,97,95,67,65,120,67,95,68,67,70,58,69,65,75,97,75,88,68,108,97,75,65,97,70,92,53,67,65,75,60,93,88,68,74,70,65,90,53,65,61,100,68,67,95,92,97,52,52,96,75,70,67,75,67,72,95,97,94,90,97,116,88,88,62,88,122,65,68,78,76,52,58,90,86,75,83,69,75,76,67,71,91,102,110,88,75,103,60,90,83,67,71,46,74,48,48,113,80,71,87,112,87,95,70,115,120,110,115,49,88,48,77,88,74,67,81,70,95,71,133,112,98,78,76,62,78,54,125,90,76,78,46,70,69,67,71],\"y\":{\"__ndarray__\":\"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\",\"dtype\":\"float64\",\"shape\":[392]}},\"selected\":{\"id\":\"2599\",\"type\":\"Selection\"},\"selection_policy\":{\"id\":\"2598\",\"type\":\"UnionRenderers\"}},\"id\":\"2490\",\"type\":\"ColumnDataSource\"},{\"attributes\":{},\"id\":\"2475\",\"type\":\"PanTool\"},{\"attributes\":{},\"id\":\"2476\",\"type\":\"WheelZoomTool\"},{\"attributes\":{\"overlay\":{\"id\":\"2483\",\"type\":\"BoxAnnotation\"}},\"id\":\"2477\",\"type\":\"BoxZoomTool\"},{\"attributes\":{},\"id\":\"2478\",\"type\":\"SaveTool\"},{\"attributes\":{\"callback\":null},\"id\":\"2457\",\"type\":\"DataRange1d\"},{\"attributes\":{},\"id\":\"2479\",\"type\":\"ResetTool\"},{\"attributes\":{},\"id\":\"2461\",\"type\":\"LinearScale\"},{\"attributes\":{},\"id\":\"2480\",\"type\":\"HelpTool\"},{\"attributes\":{},\"id\":\"2463\",\"type\":\"LinearScale\"},{\"attributes\":{\"active_drag\":\"auto\",\"active_inspect\":\"auto\",\"active_multi\":null,\"active_scroll\":\"auto\",\"active_tap\":\"auto\",\"tools\":[{\"id\":\"2475\",\"type\":\"PanTool\"},{\"id\":\"2476\",\"type\":\"WheelZoomTool\"},{\"id\":\"2477\",\"type\":\"BoxZoomTool\"},{\"id\":\"2478\",\"type\":\"SaveTool\"},{\"id\":\"2479\",\"type\":\"ResetTool\"},{\"id\":\"2480\",\"type\":\"HelpTool\"}]},\"id\":\"2481\",\"type\":\"Toolbar\"},{\"attributes\":{\"fill_alpha\":{\"value\":0.1},\"fill_color\":{\"value\":\"#1f77b4\"},\"line_alpha\":{\"value\":0.1},\"line_color\":{\"value\":\"#1f77b4\"},\"size\":{\"units\":\"screen\",\"value\":10},\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"2492\",\"type\":\"Circle\"},{\"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\":\"2483\",\"type\":\"BoxAnnotation\"},{\"attributes\":{\"callback\":null},\"id\":\"2459\",\"type\":\"DataRange1d\"},{\"attributes\":{\"data_source\":{\"id\":\"2490\",\"type\":\"ColumnDataSource\"},\"glyph\":{\"id\":\"2491\",\"type\":\"Circle\"},\"hover_glyph\":null,\"muted_glyph\":null,\"nonselection_glyph\":{\"id\":\"2492\",\"type\":\"Circle\"},\"selection_glyph\":null,\"view\":{\"id\":\"2494\",\"type\":\"CDSView\"}},\"id\":\"2493\",\"type\":\"GlyphRenderer\"}],\"root_ids\":[\"2456\"]},\"title\":\"Bokeh Application\",\"version\":\"1.0.2\"}};\n", " var render_items = [{\"docid\":\"63100deb-94fd-44ef-90d9-c94afbac58c2\",\"roots\":{\"2456\":\"1d2f5701-dafc-4f75-abdb-26f3b6a4bbac\"}}];\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": "2456" } }, "output_type": "display_data" } ], "source": [ "# Import pandas as pd\n", "import pandas as pd\n", "\n", "\n", "# Read in the CSV file: df\n", "cars = pd.read_csv('data/auto.csv')\n", "colors = pd.DataFrame({'origin':['US', 'Asia', 'Europe'], 'color':['blue', 'red','green']})\n", "df = cars.merge(colors, on = 'origin')\n", "\n", "# Import figure from bokeh.plotting\n", "from bokeh.plotting import figure \n", "\n", "# Create the figure: p\n", "p = figure(x_axis_label='HP', y_axis_label='MPG')\n", "\n", "# Plot mpg vs hp by color\n", "p.circle(df['hp'], df['mpg'], color = df['color'], size = 10)\n", "\n", "# Show the result\n", "show(p)\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Column Data Source\n", "- Common fundamental data structure for Bokeh \n", "- Maps string column names to sequences of data \n", "- Often created automatically for you \n", "- Can be shared between glyphs to link selections \n", "- Extra columns can be used with hover tooltips\n", "\n", "The `ColumnDataSource` is a table-like data object that maps string column names to sequences (columns) of data. It is the central and most common data structure in Bokeh. It is important that:\n", "\n", "- All columns in a `ColumnDataSource` must have the same length.\n", "- `ColumnDataSource` objects can be shared between different plots.\n", "- `ColumnDataSource` objects are *not* interchangeable with Pandas DataFrames. However, you *can* create a `ColumnDataSource` object directly from a Pandas DataFrame by passing the DataFrame to the class initializer. \n", "\n", "\n", "### Column Data Source example" ] }, { "cell_type": "code", "execution_count": 10, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "{'x': [1, 2, 3, 4, 5], 'y': [8, 6, 5, 2, 3]}" ] }, "execution_count": 10, "metadata": {}, "output_type": "execute_result" } ], "source": [ "from bokeh.models import ColumnDataSource \n", "source = ColumnDataSource(data={ \n", " 'x': [1,2,3,4,5], \n", " 'y': [8,6,5,2,3]}) \n", "source.data \n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## ColumnDataSource with Olympic Medals \n", "\n", "We will read in a data set containing all Olympic medals awarded in the 100 meter sprint from 1896 to 2012. \n", "A `color` column has been added indicating the CSS colorname we wish to use in the plot for every data point.\n", "\n", "We will create a new `ColumnDataSource` object from the DataFrame `df`, and plot circle glyphs with `'Year'` on the x-axis and \n", "`'Time'` on the y-axis. We will also color each glyph by the `color` column.\n" ] }, { "cell_type": "code", "execution_count": 11, "metadata": {}, "outputs": [ { "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 = {\"2e1a6d3e-71af-40f0-91b2-adead3b5810c\":{\"roots\":{\"references\":[{\"attributes\":{\"below\":[{\"id\":\"2664\",\"type\":\"LinearAxis\"}],\"left\":[{\"id\":\"2669\",\"type\":\"LinearAxis\"}],\"renderers\":[{\"id\":\"2664\",\"type\":\"LinearAxis\"},{\"id\":\"2668\",\"type\":\"Grid\"},{\"id\":\"2669\",\"type\":\"LinearAxis\"},{\"id\":\"2673\",\"type\":\"Grid\"},{\"id\":\"2682\",\"type\":\"BoxAnnotation\"},{\"id\":\"2693\",\"type\":\"GlyphRenderer\"}],\"title\":{\"id\":\"2800\",\"type\":\"Title\"},\"toolbar\":{\"id\":\"2680\",\"type\":\"Toolbar\"},\"x_range\":{\"id\":\"2656\",\"type\":\"DataRange1d\"},\"x_scale\":{\"id\":\"2660\",\"type\":\"LinearScale\"},\"y_range\":{\"id\":\"2658\",\"type\":\"DataRange1d\"},\"y_scale\":{\"id\":\"2662\",\"type\":\"LinearScale\"}},\"id\":\"2655\",\"subtype\":\"Figure\",\"type\":\"Plot\"},{\"attributes\":{\"callback\":null},\"id\":\"2658\",\"type\":\"DataRange1d\"},{\"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\":\"2682\",\"type\":\"BoxAnnotation\"},{\"attributes\":{\"source\":{\"id\":\"2689\",\"type\":\"ColumnDataSource\"}},\"id\":\"2694\",\"type\":\"CDSView\"},{\"attributes\":{\"callback\":null,\"data\":{\"Country\":[\"JAM\",\"JAM\",\"USA\",\"JAM\",\"TRI\",\"USA\",\"USA\",\"POR\",\"USA\",\"USA\",\"TRI\",\"BAR\",\"CAN\",\"NAM\",\"TRI\",\"GBR\",\"NAM\",\"USA\",\"USA\",\"GBR\",\"USA\",\"USA\",\"USA\",\"CAN\",\"GBR\",\"CUB\",\"BUL\",\"TRI\",\"JAM\",\"URS\",\"URS\",\"USA\",\"JAM\",\"USA\",\"JAM\",\"USA\",\"USA\",\"CUB\",\"CAN\",\"EUA\",\"USA\",\"GBR\",\"USA\",\"USA\",\"AUS\",\"USA\",\"JAM\",\"GBR\",\"USA\",\"USA\",\"PAN\",\"USA\",\"USA\",\"NED\",\"USA\",\"USA\",\"GER\",\"CAN\",\"GBR\",\"GER\",\"GBR\",\"USA\",\"NZL\",\"USA\",\"USA\",\"GBR\",\"USA\",\"USA\",\"USA\",\"RSA\",\"USA\",\"CAN\",\"USA\",\"USA\",\"AUS\",\"USA\",\"USA\",\"USA\",\"USA\",\"USA\",\"AUS\",\"USA\",\"GER\",\"HUN\",\"USA\"],\"Medal\":[\"GOLD\",\"SILVER\",\"BRONZE\",\"GOLD\",\"SILVER\",\"BRONZE\",\"GOLD\",\"SILVER\",\"BRONZE\",\"GOLD\",\"SILVER\",\"BRONZE\",\"GOLD\",\"SILVER\",\"BRONZE\",\"GOLD\",\"SILVER\",\"BRONZE\",\"GOLD\",\"SILVER\",\"BRONZE\",\"GOLD\",\"SILVER\",\"BRONZE\",\"GOLD\",\"SILVER\",\"BRONZE\",\"GOLD\",\"SILVER\",\"BRONZE\",\"GOLD\",\"SILVER\",\"BRONZE\",\"GOLD\",\"SILVER\",\"BRONZE\",\"GOLD\",\"SILVER\",\"BRONZE\",\"GOLD\",\"SILVER\",\"BRONZE\",\"GOLD\",\"SILVER\",\"BRONZE\",\"GOLD\",\"SILVER\",\"BRONZE\",\"GOLD\",\"SILVER\",\"BRONZE\",\"GOLD\",\"SILVER\",\"BRONZE\",\"GOLD\",\"SILVER\",\"BRONZE\",\"GOLD\",\"SILVER\",\"BRONZE\",\"GOLD\",\"SILVER\",\"BRONZE\",\"GOLD\",\"SILVER\",\"BRONZE\",\"GOLD\",\"SILVER\",\"BRONZE\",\"GOLD\",\"SILVER\",\"BRONZE\",\"GOLD\",\"SILVER\",\"BRONZE\",\"GOLD\",\"SILVER\",\"BRONZE\",\"GOLD\",\"SILVER\",\"BRONZE\",\"GOLD\",\"SILVER\",\"BRONZE\",\"BRONZE\"],\"Name\":[\"Usain Bolt\",\"Yohan Blake\",\"Justin Gatlin\",\"Usain Bolt\",\"Richard Thompson\",\"Walter Dix\",\"Justin Gatlin\",\"Francis Obikwelu\",\"Maurice Greene\",\"Maurice Greene\",\"Ato Boldon\",\"Obadele Thompson\",\"Donovan Bailey\",\"Frankie Fredericks\",\"Ato Boldon\",\"Linford Christie\",\"Frankie Fredericks\",\"Dennis Mitchell\",\"Carl Lewis\",\"Linford Christie\",\"Calvin Smith\",\"Carl Lewis\",\"Sam Graddy\",\"Ben Johnson\",\"Allan Wells\",\"Silvio Leonard Tartabull\",\"Petar Petrov\",\"Hasely Crawford\",\"Donald Quarrie\",\"Valery Borzov\",\"Valery Borzov\",\"Robert Taylor\",\"Lennox Miller\",\"Jim Hines\",\"Lennox Miller\",\"Charles Greene\",\"Bob Hayes\",\"Enrique Figuerola Camue\",\"Harry Jerome\",\"Armin Hary\",\"David Sime\",\"Peter Radford\",\"Bobby Joe Morrow\",\"W. Thane Baker\",\"Hector Hogan\",\"Lindy Remigino\",\"Herbert McKenley\",\"E. McDonald Bailey\",\"W. Harrison Dillard\",\"H. Norwood \\\"Barney\\\" Ewell\",\"Lloyd LaBeach\",\"Jesse Owens\",\"Ralph Metcalfe\",\"Martinus Osendarp\",\"T. \\\"Eddie\\\" Tolan\",\"Ralph Metcalfe\",\"Arthur Jonath\",\"Percy Williams\",\"John \\\"Jack\\\" London\",\"Georg Lammers\",\"Harold Abrahams\",\"Jackson Scholz\",\"Arthur Porritt\",\"Charles Paddock\",\"Morris Kirksey\",\"Harry Edward\",\"Ralph Craig\",\"Alvah Meyer\",\"Donald Lippincott\",\"Reginald Walker\",\"James Rector\",\"Robert Kerr\",\"Charles \\\"Archie\\\" Hahn\",\"Fay Moulton\",\"Nigel Barker\",\"Charles \\\"Archie\\\" Hahn\",\"Nathaniel Cartmell\",\"Bill Hogenson\",\"Frank Jarvis\",\"J. Walter Tewksbury\",\"Stanley Rowley\",\"Thomas Burke\",\"Fritz Hofmann\",\"Alojz Sokol\",\"Francis Lane\"],\"Time\":{\"__ndarray__\":\"w/UoXI9CI0AAAAAAAIAjQBSuR+F6lCNA4XoUrkdhI0BI4XoUrscjQFK4HoXr0SNAMzMzMzOzI0C4HoXrUbgjQD0K16NwvSNAPQrXo3C9I0B7FK5H4fojQBSuR+F6FCRArkfhehSuI0BI4XoUrscjQM3MzMzMzCNA7FG4HoXrI0AK16NwPQokQBSuR+F6FCRA16NwPQrXI0BxPQrXo/AjQHsUrkfh+iNAexSuR+H6I0DhehSuR2EkQHE9CtejcCRAAAAAAACAJEAAAAAAAIAkQEjhehSuxyRAH4XrUbgeJEApXI/C9SgkQEjhehSuRyRASOF6FK5HJEB7FK5H4XokQClcj8L1qCRAZmZmZmbmI0AUrkfhehQkQKRwPQrXIyRAAAAAAAAAJEBmZmZmZmYkQGZmZmZmZiRAZmZmZmZmJEBmZmZmZmYkQJqZmZmZmSRAAAAAAAAAJUAAAAAAAAAlQDMzMzMzMyVAzczMzMzMJEDNzMzMzMwkQM3MzMzMzCRAmpmZmZmZJEDNzMzMzMwkQM3MzMzMzCRAmpmZmZmZJEDNzMzMzMwkQAAAAAAAACVAmpmZmZmZJECamZmZmZkkQM3MzMzMzCRAmpmZmZmZJUDNzMzMzMwlQM3MzMzMzCVAMzMzMzMzJUCamZmZmZklQM3MzMzMzCVAmpmZmZmZJUDNzMzMzMwlQM3MzMzMzCVAmpmZmZmZJUDNzMzMzMwlQM3MzMzMzCVAmpmZmZmZJUAAAAAAAAAmQAAAAAAAACZAZmZmZmZmJkCamZmZmZkmQJqZmZmZmSZAAAAAAAAAJkBmZmZmZmYmQGZmZmZmZiZAAAAAAAAAJkAzMzMzMzMmQGZmZmZmZiZAAAAAAAAAKEBmZmZmZmYoQDMzMzMzMylAMzMzMzMzKUA=\",\"dtype\":\"float64\",\"shape\":[85]},\"Year\":[2012,2012,2012,2008,2008,2008,2004,2004,2004,2000,2000,2000,1996,1996,1996,1992,1992,1992,1988,1988,1988,1984,1984,1984,1980,1980,1980,1976,1976,1976,1972,1972,1972,1968,1968,1968,1964,1964,1964,1960,1960,1960,1956,1956,1956,1952,1952,1952,1948,1948,1948,1936,1936,1936,1932,1932,1932,1928,1928,1928,1924,1924,1924,1920,1920,1920,1912,1912,1912,1908,1908,1908,1906,1906,1906,1904,1904,1904,1900,1900,1900,1896,1896,1896,1896],\"color\":[\"goldenrod\",\"silver\",\"saddlebrown\",\"goldenrod\",\"silver\",\"saddlebrown\",\"goldenrod\",\"silver\",\"saddlebrown\",\"goldenrod\",\"silver\",\"saddlebrown\",\"goldenrod\",\"silver\",\"saddlebrown\",\"goldenrod\",\"silver\",\"saddlebrown\",\"goldenrod\",\"silver\",\"saddlebrown\",\"goldenrod\",\"silver\",\"saddlebrown\",\"goldenrod\",\"silver\",\"saddlebrown\",\"goldenrod\",\"silver\",\"saddlebrown\",\"goldenrod\",\"silver\",\"saddlebrown\",\"goldenrod\",\"silver\",\"saddlebrown\",\"goldenrod\",\"silver\",\"saddlebrown\",\"goldenrod\",\"silver\",\"saddlebrown\",\"goldenrod\",\"silver\",\"saddlebrown\",\"goldenrod\",\"silver\",\"saddlebrown\",\"goldenrod\",\"silver\",\"saddlebrown\",\"goldenrod\",\"silver\",\"saddlebrown\",\"goldenrod\",\"silver\",\"saddlebrown\",\"goldenrod\",\"silver\",\"saddlebrown\",\"goldenrod\",\"silver\",\"saddlebrown\",\"goldenrod\",\"silver\",\"saddlebrown\",\"goldenrod\",\"silver\",\"saddlebrown\",\"goldenrod\",\"silver\",\"saddlebrown\",\"goldenrod\",\"silver\",\"saddlebrown\",\"goldenrod\",\"silver\",\"saddlebrown\",\"goldenrod\",\"silver\",\"saddlebrown\",\"goldenrod\",\"silver\",\"saddlebrown\",\"saddlebrown\"],\"index\":[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]},\"selected\":{\"id\":\"2808\",\"type\":\"Selection\"},\"selection_policy\":{\"id\":\"2807\",\"type\":\"UnionRenderers\"}},\"id\":\"2689\",\"type\":\"ColumnDataSource\"},{\"attributes\":{},\"id\":\"2660\",\"type\":\"LinearScale\"},{\"attributes\":{\"data_source\":{\"id\":\"2689\",\"type\":\"ColumnDataSource\"},\"glyph\":{\"id\":\"2691\",\"type\":\"Circle\"},\"hover_glyph\":null,\"muted_glyph\":null,\"nonselection_glyph\":{\"id\":\"2692\",\"type\":\"Circle\"},\"selection_glyph\":null,\"view\":{\"id\":\"2694\",\"type\":\"CDSView\"}},\"id\":\"2693\",\"type\":\"GlyphRenderer\"},{\"attributes\":{\"callback\":null},\"id\":\"2656\",\"type\":\"DataRange1d\"},{\"attributes\":{\"fill_alpha\":{\"value\":0.1},\"fill_color\":{\"value\":\"#1f77b4\"},\"line_alpha\":{\"value\":0.1},\"line_color\":{\"value\":\"#1f77b4\"},\"size\":{\"units\":\"screen\",\"value\":8},\"x\":{\"field\":\"Year\"},\"y\":{\"field\":\"Time\"}},\"id\":\"2692\",\"type\":\"Circle\"},{\"attributes\":{},\"id\":\"2662\",\"type\":\"LinearScale\"},{\"attributes\":{\"fill_color\":{\"field\":\"color\"},\"line_color\":{\"field\":\"color\"},\"size\":{\"units\":\"screen\",\"value\":8},\"x\":{\"field\":\"Year\"},\"y\":{\"field\":\"Time\"}},\"id\":\"2691\",\"type\":\"Circle\"},{\"attributes\":{\"axis_label\":\"Year\",\"formatter\":{\"id\":\"2804\",\"type\":\"BasicTickFormatter\"},\"plot\":{\"id\":\"2655\",\"subtype\":\"Figure\",\"type\":\"Plot\"},\"ticker\":{\"id\":\"2665\",\"type\":\"BasicTicker\"}},\"id\":\"2664\",\"type\":\"LinearAxis\"},{\"attributes\":{},\"id\":\"2802\",\"type\":\"BasicTickFormatter\"},{\"attributes\":{},\"id\":\"2665\",\"type\":\"BasicTicker\"},{\"attributes\":{\"plot\":{\"id\":\"2655\",\"subtype\":\"Figure\",\"type\":\"Plot\"},\"ticker\":{\"id\":\"2665\",\"type\":\"BasicTicker\"}},\"id\":\"2668\",\"type\":\"Grid\"},{\"attributes\":{},\"id\":\"2807\",\"type\":\"UnionRenderers\"},{\"attributes\":{\"axis_label\":\"Time\",\"formatter\":{\"id\":\"2802\",\"type\":\"BasicTickFormatter\"},\"plot\":{\"id\":\"2655\",\"subtype\":\"Figure\",\"type\":\"Plot\"},\"ticker\":{\"id\":\"2670\",\"type\":\"BasicTicker\"}},\"id\":\"2669\",\"type\":\"LinearAxis\"},{\"attributes\":{},\"id\":\"2808\",\"type\":\"Selection\"},{\"attributes\":{},\"id\":\"2670\",\"type\":\"BasicTicker\"},{\"attributes\":{\"dimension\":1,\"plot\":{\"id\":\"2655\",\"subtype\":\"Figure\",\"type\":\"Plot\"},\"ticker\":{\"id\":\"2670\",\"type\":\"BasicTicker\"}},\"id\":\"2673\",\"type\":\"Grid\"},{\"attributes\":{},\"id\":\"2804\",\"type\":\"BasicTickFormatter\"},{\"attributes\":{},\"id\":\"2674\",\"type\":\"PanTool\"},{\"attributes\":{},\"id\":\"2675\",\"type\":\"WheelZoomTool\"},{\"attributes\":{\"overlay\":{\"id\":\"2682\",\"type\":\"BoxAnnotation\"}},\"id\":\"2676\",\"type\":\"BoxZoomTool\"},{\"attributes\":{\"plot\":null,\"text\":\"\"},\"id\":\"2800\",\"type\":\"Title\"},{\"attributes\":{},\"id\":\"2677\",\"type\":\"SaveTool\"},{\"attributes\":{},\"id\":\"2678\",\"type\":\"ResetTool\"},{\"attributes\":{},\"id\":\"2679\",\"type\":\"HelpTool\"},{\"attributes\":{\"active_drag\":\"auto\",\"active_inspect\":\"auto\",\"active_multi\":null,\"active_scroll\":\"auto\",\"active_tap\":\"auto\",\"tools\":[{\"id\":\"2674\",\"type\":\"PanTool\"},{\"id\":\"2675\",\"type\":\"WheelZoomTool\"},{\"id\":\"2676\",\"type\":\"BoxZoomTool\"},{\"id\":\"2677\",\"type\":\"SaveTool\"},{\"id\":\"2678\",\"type\":\"ResetTool\"},{\"id\":\"2679\",\"type\":\"HelpTool\"}]},\"id\":\"2680\",\"type\":\"Toolbar\"}],\"root_ids\":[\"2655\"]},\"title\":\"Bokeh Application\",\"version\":\"1.0.2\"}};\n", " var render_items = [{\"docid\":\"2e1a6d3e-71af-40f0-91b2-adead3b5810c\",\"roots\":{\"2655\":\"5b2bd7e7-0a34-4f57-9db6-dad263ad3927\"}}];\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": "2655" } }, "output_type": "display_data" } ], "source": [ "# Read in the CSV file: df\n", "df = pd.read_csv('data/sprint.csv')\n", "\n", "# Create the figure: p\n", "p = figure(x_axis_label='Year', y_axis_label='Time')\n", "\n", "# Import the ColumnDataSource class from bokeh.plotting\n", "from bokeh.plotting import ColumnDataSource\n", "\n", "# Create a ColumnDataSource from df: source\n", "source = ColumnDataSource(df)\n", "\n", "# Add circle glyphs to the figure p\n", "p.circle('Year', 'Time', source = source, color = 'color', size = 8)\n", "\n", "# Show the result\n", "show(p)\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Customizing glyphs\n", "\n", "\n", "### Selection appearance\n", "\n", "- See Gapminder demo for changes applied to selection data\n", "- Hover tips\n", "- Colormapping" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Selection and non-selection glyphs of Olympic 100M Sprints\n", "\n", "In this demonstration, you're going to add the `box_select` tool to a figure\n", "and change the selected and non-selected circle glyph properties so\n", "that selected glyphs are red and non-selected glyphs are transparent blue.\n", "\n", "Feel free to experiment with the Box Select tool " ] }, { "cell_type": "code", "execution_count": 12, "metadata": {}, "outputs": [ { "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 = {\"4812c200-857a-4ecf-a70a-aab921134581\":{\"roots\":{\"references\":[{\"attributes\":{\"below\":[{\"id\":\"2872\",\"type\":\"LinearAxis\"}],\"left\":[{\"id\":\"2877\",\"type\":\"LinearAxis\"}],\"renderers\":[{\"id\":\"2872\",\"type\":\"LinearAxis\"},{\"id\":\"2876\",\"type\":\"Grid\"},{\"id\":\"2877\",\"type\":\"LinearAxis\"},{\"id\":\"2881\",\"type\":\"Grid\"},{\"id\":\"2883\",\"type\":\"BoxAnnotation\"},{\"id\":\"2891\",\"type\":\"GlyphRenderer\"}],\"title\":{\"id\":\"3007\",\"type\":\"Title\"},\"toolbar\":{\"id\":\"2885\",\"type\":\"Toolbar\"},\"x_range\":{\"id\":\"2864\",\"type\":\"DataRange1d\"},\"x_scale\":{\"id\":\"2868\",\"type\":\"LinearScale\"},\"y_range\":{\"id\":\"2866\",\"type\":\"DataRange1d\"},\"y_scale\":{\"id\":\"2870\",\"type\":\"LinearScale\"}},\"id\":\"2863\",\"subtype\":\"Figure\",\"type\":\"Plot\"},{\"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\":\"2883\",\"type\":\"BoxAnnotation\"},{\"attributes\":{\"callback\":null,\"data\":{\"Country\":[\"JAM\",\"JAM\",\"USA\",\"JAM\",\"TRI\",\"USA\",\"USA\",\"POR\",\"USA\",\"USA\",\"TRI\",\"BAR\",\"CAN\",\"NAM\",\"TRI\",\"GBR\",\"NAM\",\"USA\",\"USA\",\"GBR\",\"USA\",\"USA\",\"USA\",\"CAN\",\"GBR\",\"CUB\",\"BUL\",\"TRI\",\"JAM\",\"URS\",\"URS\",\"USA\",\"JAM\",\"USA\",\"JAM\",\"USA\",\"USA\",\"CUB\",\"CAN\",\"EUA\",\"USA\",\"GBR\",\"USA\",\"USA\",\"AUS\",\"USA\",\"JAM\",\"GBR\",\"USA\",\"USA\",\"PAN\",\"USA\",\"USA\",\"NED\",\"USA\",\"USA\",\"GER\",\"CAN\",\"GBR\",\"GER\",\"GBR\",\"USA\",\"NZL\",\"USA\",\"USA\",\"GBR\",\"USA\",\"USA\",\"USA\",\"RSA\",\"USA\",\"CAN\",\"USA\",\"USA\",\"AUS\",\"USA\",\"USA\",\"USA\",\"USA\",\"USA\",\"AUS\",\"USA\",\"GER\",\"HUN\",\"USA\"],\"Medal\":[\"GOLD\",\"SILVER\",\"BRONZE\",\"GOLD\",\"SILVER\",\"BRONZE\",\"GOLD\",\"SILVER\",\"BRONZE\",\"GOLD\",\"SILVER\",\"BRONZE\",\"GOLD\",\"SILVER\",\"BRONZE\",\"GOLD\",\"SILVER\",\"BRONZE\",\"GOLD\",\"SILVER\",\"BRONZE\",\"GOLD\",\"SILVER\",\"BRONZE\",\"GOLD\",\"SILVER\",\"BRONZE\",\"GOLD\",\"SILVER\",\"BRONZE\",\"GOLD\",\"SILVER\",\"BRONZE\",\"GOLD\",\"SILVER\",\"BRONZE\",\"GOLD\",\"SILVER\",\"BRONZE\",\"GOLD\",\"SILVER\",\"BRONZE\",\"GOLD\",\"SILVER\",\"BRONZE\",\"GOLD\",\"SILVER\",\"BRONZE\",\"GOLD\",\"SILVER\",\"BRONZE\",\"GOLD\",\"SILVER\",\"BRONZE\",\"GOLD\",\"SILVER\",\"BRONZE\",\"GOLD\",\"SILVER\",\"BRONZE\",\"GOLD\",\"SILVER\",\"BRONZE\",\"GOLD\",\"SILVER\",\"BRONZE\",\"GOLD\",\"SILVER\",\"BRONZE\",\"GOLD\",\"SILVER\",\"BRONZE\",\"GOLD\",\"SILVER\",\"BRONZE\",\"GOLD\",\"SILVER\",\"BRONZE\",\"GOLD\",\"SILVER\",\"BRONZE\",\"GOLD\",\"SILVER\",\"BRONZE\",\"BRONZE\"],\"Name\":[\"Usain Bolt\",\"Yohan Blake\",\"Justin Gatlin\",\"Usain Bolt\",\"Richard Thompson\",\"Walter Dix\",\"Justin Gatlin\",\"Francis Obikwelu\",\"Maurice Greene\",\"Maurice Greene\",\"Ato Boldon\",\"Obadele Thompson\",\"Donovan Bailey\",\"Frankie Fredericks\",\"Ato Boldon\",\"Linford Christie\",\"Frankie Fredericks\",\"Dennis Mitchell\",\"Carl Lewis\",\"Linford Christie\",\"Calvin Smith\",\"Carl Lewis\",\"Sam Graddy\",\"Ben Johnson\",\"Allan Wells\",\"Silvio Leonard Tartabull\",\"Petar Petrov\",\"Hasely Crawford\",\"Donald Quarrie\",\"Valery Borzov\",\"Valery Borzov\",\"Robert Taylor\",\"Lennox Miller\",\"Jim Hines\",\"Lennox Miller\",\"Charles Greene\",\"Bob Hayes\",\"Enrique Figuerola Camue\",\"Harry Jerome\",\"Armin Hary\",\"David Sime\",\"Peter Radford\",\"Bobby Joe Morrow\",\"W. Thane Baker\",\"Hector Hogan\",\"Lindy Remigino\",\"Herbert McKenley\",\"E. McDonald Bailey\",\"W. Harrison Dillard\",\"H. Norwood \\\"Barney\\\" Ewell\",\"Lloyd LaBeach\",\"Jesse Owens\",\"Ralph Metcalfe\",\"Martinus Osendarp\",\"T. \\\"Eddie\\\" Tolan\",\"Ralph Metcalfe\",\"Arthur Jonath\",\"Percy Williams\",\"John \\\"Jack\\\" London\",\"Georg Lammers\",\"Harold Abrahams\",\"Jackson Scholz\",\"Arthur Porritt\",\"Charles Paddock\",\"Morris Kirksey\",\"Harry Edward\",\"Ralph Craig\",\"Alvah Meyer\",\"Donald Lippincott\",\"Reginald Walker\",\"James Rector\",\"Robert Kerr\",\"Charles \\\"Archie\\\" Hahn\",\"Fay Moulton\",\"Nigel Barker\",\"Charles \\\"Archie\\\" Hahn\",\"Nathaniel Cartmell\",\"Bill Hogenson\",\"Frank Jarvis\",\"J. Walter Tewksbury\",\"Stanley Rowley\",\"Thomas Burke\",\"Fritz Hofmann\",\"Alojz Sokol\",\"Francis Lane\"],\"Time\":{\"__ndarray__\":\"w/UoXI9CI0AAAAAAAIAjQBSuR+F6lCNA4XoUrkdhI0BI4XoUrscjQFK4HoXr0SNAMzMzMzOzI0C4HoXrUbgjQD0K16NwvSNAPQrXo3C9I0B7FK5H4fojQBSuR+F6FCRArkfhehSuI0BI4XoUrscjQM3MzMzMzCNA7FG4HoXrI0AK16NwPQokQBSuR+F6FCRA16NwPQrXI0BxPQrXo/AjQHsUrkfh+iNAexSuR+H6I0DhehSuR2EkQHE9CtejcCRAAAAAAACAJEAAAAAAAIAkQEjhehSuxyRAH4XrUbgeJEApXI/C9SgkQEjhehSuRyRASOF6FK5HJEB7FK5H4XokQClcj8L1qCRAZmZmZmbmI0AUrkfhehQkQKRwPQrXIyRAAAAAAAAAJEBmZmZmZmYkQGZmZmZmZiRAZmZmZmZmJEBmZmZmZmYkQJqZmZmZmSRAAAAAAAAAJUAAAAAAAAAlQDMzMzMzMyVAzczMzMzMJEDNzMzMzMwkQM3MzMzMzCRAmpmZmZmZJEDNzMzMzMwkQM3MzMzMzCRAmpmZmZmZJEDNzMzMzMwkQAAAAAAAACVAmpmZmZmZJECamZmZmZkkQM3MzMzMzCRAmpmZmZmZJUDNzMzMzMwlQM3MzMzMzCVAMzMzMzMzJUCamZmZmZklQM3MzMzMzCVAmpmZmZmZJUDNzMzMzMwlQM3MzMzMzCVAmpmZmZmZJUDNzMzMzMwlQM3MzMzMzCVAmpmZmZmZJUAAAAAAAAAmQAAAAAAAACZAZmZmZmZmJkCamZmZmZkmQJqZmZmZmSZAAAAAAAAAJkBmZmZmZmYmQGZmZmZmZiZAAAAAAAAAJkAzMzMzMzMmQGZmZmZmZiZAAAAAAAAAKEBmZmZmZmYoQDMzMzMzMylAMzMzMzMzKUA=\",\"dtype\":\"float64\",\"shape\":[85]},\"Year\":[2012,2012,2012,2008,2008,2008,2004,2004,2004,2000,2000,2000,1996,1996,1996,1992,1992,1992,1988,1988,1988,1984,1984,1984,1980,1980,1980,1976,1976,1976,1972,1972,1972,1968,1968,1968,1964,1964,1964,1960,1960,1960,1956,1956,1956,1952,1952,1952,1948,1948,1948,1936,1936,1936,1932,1932,1932,1928,1928,1928,1924,1924,1924,1920,1920,1920,1912,1912,1912,1908,1908,1908,1906,1906,1906,1904,1904,1904,1900,1900,1900,1896,1896,1896,1896],\"color\":[\"goldenrod\",\"silver\",\"saddlebrown\",\"goldenrod\",\"silver\",\"saddlebrown\",\"goldenrod\",\"silver\",\"saddlebrown\",\"goldenrod\",\"silver\",\"saddlebrown\",\"goldenrod\",\"silver\",\"saddlebrown\",\"goldenrod\",\"silver\",\"saddlebrown\",\"goldenrod\",\"silver\",\"saddlebrown\",\"goldenrod\",\"silver\",\"saddlebrown\",\"goldenrod\",\"silver\",\"saddlebrown\",\"goldenrod\",\"silver\",\"saddlebrown\",\"goldenrod\",\"silver\",\"saddlebrown\",\"goldenrod\",\"silver\",\"saddlebrown\",\"goldenrod\",\"silver\",\"saddlebrown\",\"goldenrod\",\"silver\",\"saddlebrown\",\"goldenrod\",\"silver\",\"saddlebrown\",\"goldenrod\",\"silver\",\"saddlebrown\",\"goldenrod\",\"silver\",\"saddlebrown\",\"goldenrod\",\"silver\",\"saddlebrown\",\"goldenrod\",\"silver\",\"saddlebrown\",\"goldenrod\",\"silver\",\"saddlebrown\",\"goldenrod\",\"silver\",\"saddlebrown\",\"goldenrod\",\"silver\",\"saddlebrown\",\"goldenrod\",\"silver\",\"saddlebrown\",\"goldenrod\",\"silver\",\"saddlebrown\",\"goldenrod\",\"silver\",\"saddlebrown\",\"goldenrod\",\"silver\",\"saddlebrown\",\"goldenrod\",\"silver\",\"saddlebrown\",\"goldenrod\",\"silver\",\"saddlebrown\",\"saddlebrown\"],\"index\":[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]},\"selected\":{\"id\":\"2808\",\"type\":\"Selection\"},\"selection_policy\":{\"id\":\"2807\",\"type\":\"UnionRenderers\"}},\"id\":\"2689\",\"type\":\"ColumnDataSource\"},{\"attributes\":{\"active_drag\":\"auto\",\"active_inspect\":\"auto\",\"active_multi\":null,\"active_scroll\":\"auto\",\"active_tap\":\"auto\",\"tools\":[{\"id\":\"2882\",\"type\":\"BoxSelectTool\"}]},\"id\":\"2885\",\"type\":\"Toolbar\"},{\"attributes\":{\"fill_alpha\":{\"value\":0.1},\"fill_color\":{\"value\":\"#1f77b4\"},\"line_alpha\":{\"value\":0.1},\"line_color\":{\"value\":\"#1f77b4\"},\"x\":{\"field\":\"Year\"},\"y\":{\"field\":\"Time\"}},\"id\":\"2889\",\"type\":\"Circle\"},{\"attributes\":{\"fill_color\":{\"value\":\"red\"},\"line_color\":{\"value\":\"red\"},\"x\":{\"field\":\"Year\"},\"y\":{\"field\":\"Time\"}},\"id\":\"2890\",\"type\":\"Circle\"},{\"attributes\":{},\"id\":\"2868\",\"type\":\"LinearScale\"},{\"attributes\":{\"data_source\":{\"id\":\"2689\",\"type\":\"ColumnDataSource\"},\"glyph\":{\"id\":\"2888\",\"type\":\"Circle\"},\"hover_glyph\":null,\"muted_glyph\":null,\"nonselection_glyph\":{\"id\":\"2889\",\"type\":\"Circle\"},\"selection_glyph\":{\"id\":\"2890\",\"type\":\"Circle\"},\"view\":{\"id\":\"2892\",\"type\":\"CDSView\"}},\"id\":\"2891\",\"type\":\"GlyphRenderer\"},{\"attributes\":{\"source\":{\"id\":\"2689\",\"type\":\"ColumnDataSource\"}},\"id\":\"2892\",\"type\":\"CDSView\"},{\"attributes\":{\"plot\":null,\"text\":\"\"},\"id\":\"3007\",\"type\":\"Title\"},{\"attributes\":{},\"id\":\"2807\",\"type\":\"UnionRenderers\"},{\"attributes\":{},\"id\":\"2808\",\"type\":\"Selection\"},{\"attributes\":{},\"id\":\"3009\",\"type\":\"BasicTickFormatter\"},{\"attributes\":{},\"id\":\"3011\",\"type\":\"BasicTickFormatter\"},{\"attributes\":{\"fill_color\":{\"value\":\"#1f77b4\"},\"line_color\":{\"value\":\"#1f77b4\"},\"x\":{\"field\":\"Year\"},\"y\":{\"field\":\"Time\"}},\"id\":\"2888\",\"type\":\"Circle\"},{\"attributes\":{\"callback\":null},\"id\":\"2866\",\"type\":\"DataRange1d\"},{\"attributes\":{},\"id\":\"2873\",\"type\":\"BasicTicker\"},{\"attributes\":{},\"id\":\"2878\",\"type\":\"BasicTicker\"},{\"attributes\":{\"callback\":null},\"id\":\"2864\",\"type\":\"DataRange1d\"},{\"attributes\":{\"axis_label\":\"Year\",\"formatter\":{\"id\":\"3011\",\"type\":\"BasicTickFormatter\"},\"plot\":{\"id\":\"2863\",\"subtype\":\"Figure\",\"type\":\"Plot\"},\"ticker\":{\"id\":\"2873\",\"type\":\"BasicTicker\"}},\"id\":\"2872\",\"type\":\"LinearAxis\"},{\"attributes\":{\"dimension\":1,\"plot\":{\"id\":\"2863\",\"subtype\":\"Figure\",\"type\":\"Plot\"},\"ticker\":{\"id\":\"2878\",\"type\":\"BasicTicker\"}},\"id\":\"2881\",\"type\":\"Grid\"},{\"attributes\":{\"callback\":null,\"overlay\":{\"id\":\"2883\",\"type\":\"BoxAnnotation\"}},\"id\":\"2882\",\"type\":\"BoxSelectTool\"},{\"attributes\":{},\"id\":\"2870\",\"type\":\"LinearScale\"},{\"attributes\":{\"plot\":{\"id\":\"2863\",\"subtype\":\"Figure\",\"type\":\"Plot\"},\"ticker\":{\"id\":\"2873\",\"type\":\"BasicTicker\"}},\"id\":\"2876\",\"type\":\"Grid\"},{\"attributes\":{\"axis_label\":\"Time\",\"formatter\":{\"id\":\"3009\",\"type\":\"BasicTickFormatter\"},\"plot\":{\"id\":\"2863\",\"subtype\":\"Figure\",\"type\":\"Plot\"},\"ticker\":{\"id\":\"2878\",\"type\":\"BasicTicker\"}},\"id\":\"2877\",\"type\":\"LinearAxis\"}],\"root_ids\":[\"2863\"]},\"title\":\"Bokeh Application\",\"version\":\"1.0.2\"}};\n", " var render_items = [{\"docid\":\"4812c200-857a-4ecf-a70a-aab921134581\",\"roots\":{\"2863\":\"484aa109-8205-4d7f-b371-9b871645c1d3\"}}];\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": "2863" } }, "output_type": "display_data" } ], "source": [ "# Create a figure with the \"box_select\" tool: p\n", "p = figure(x_axis_label = 'Year', y_axis_label = 'Time', tools = 'box_select')\n", "\n", "# Add circle glyphs to the figure p with the selected and non-selected properties\n", "p.circle('Year', 'Time', source = source, selection_color = 'red', nonselection_alpha = 0.1)\n", "\n", "# Show the result\n", "show(p)\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Hover glyphs\n", "\n", "In this demonstration, we'll plot blood glucose levels recorded every 5 minutes.\n", "\n", "`x` will be date and time while blood glucose levels in mg/dL will be the vertical dimension. \n", "\n", "Here, instead of selecting, simply hovering near datapoints will cause the points to change to red. " ] }, { "cell_type": "code", "execution_count": 13, "metadata": {}, "outputs": [ { "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 = {\"46f3f6e6-3958-4ca2-b37e-fcb63ed39220\":{\"roots\":{\"references\":[{\"attributes\":{\"below\":[{\"id\":\"3081\",\"type\":\"DatetimeAxis\"}],\"left\":[{\"id\":\"3086\",\"type\":\"LinearAxis\"}],\"renderers\":[{\"id\":\"3081\",\"type\":\"DatetimeAxis\"},{\"id\":\"3085\",\"type\":\"Grid\"},{\"id\":\"3086\",\"type\":\"LinearAxis\"},{\"id\":\"3090\",\"type\":\"Grid\"},{\"id\":\"3099\",\"type\":\"BoxAnnotation\"},{\"id\":\"3109\",\"type\":\"GlyphRenderer\"},{\"id\":\"3115\",\"type\":\"GlyphRenderer\"}],\"title\":{\"id\":\"3070\",\"type\":\"Title\"},\"toolbar\":{\"id\":\"3097\",\"type\":\"Toolbar\"},\"x_range\":{\"id\":\"3073\",\"type\":\"DataRange1d\"},\"x_scale\":{\"id\":\"3077\",\"type\":\"LinearScale\"},\"y_range\":{\"id\":\"3075\",\"type\":\"DataRange1d\"},\"y_scale\":{\"id\":\"3079\",\"type\":\"LinearScale\"}},\"id\":\"3071\",\"subtype\":\"Figure\",\"type\":\"Plot\"},{\"attributes\":{\"callback\":null,\"data\":{\"x\":[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,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287],\"y\":[150,152,149,147,148,150,152,152,152,151,151,150,149,147,146,143,140,138,136,137,138,140,138,135,132,130,129,129,129,130,130,129,128,128,128,129,129,128,127,126,125,125,125,125,124,124,121,120,120,123,124,123,122,120,115,113,114,114,115,116,115,112,111,111,109,108,107,107,110,113,114,115,115,115,114,113,113,116,119,120,121,121,122,123,124,125,126,126,126,126,126,127,127,125,122,118,115,111,112,115,117,120,124,127,131,137,143,148,153,159,166,172,178,184,191,199,206,212,217,223,229,232,233,235,237,240,241,243,246,247,246,243,240,234,229,225,221,217,216,215,215,215,212,208,203,199,196,194,190,185,180,177,163,158,152,149,153,163,174,182,188,192,195,197,201,204,205,203,199,195,189,184,176,169,162,150,138,128,119,110,100,90,80,73,68,64,63,63,66,68,70,71,72,74,80,94,116,141,164,183,198,210,220,228,233,237,241,247,252,256,260,259,258,256,251,245,238,234,227,221,215,208,207,207,203,201,201,199,179,176,171,163,152,137,119,98,77,61,50,45,47,59,71,86,99,109,116,117,115,111,107,102,96,91,90,94,97,97,95,92,87,84,84,83,84,86,86,86,84,82,82,81,81,82,84,87,89,91,92,94,93,93,94,96,100,101,99,97]},\"selected\":{\"id\":\"3263\",\"type\":\"Selection\"},\"selection_policy\":{\"id\":\"3262\",\"type\":\"UnionRenderers\"}},\"id\":\"3111\",\"type\":\"ColumnDataSource\"},{\"attributes\":{\"plot\":null,\"text\":\"Blood Glucose\"},\"id\":\"3070\",\"type\":\"Title\"},{\"attributes\":{\"days\":[1,15]},\"id\":\"3253\",\"type\":\"DaysTicker\"},{\"attributes\":{},\"id\":\"3091\",\"type\":\"PanTool\"},{\"attributes\":{\"fill_alpha\":{\"value\":0.1},\"fill_color\":{\"value\":\"#1f77b4\"},\"line_alpha\":{\"value\":0.1},\"line_color\":{\"value\":\"#1f77b4\"},\"size\":{\"units\":\"screen\",\"value\":10},\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"3113\",\"type\":\"Circle\"},{\"attributes\":{\"fill_alpha\":{\"value\":0.1},\"fill_color\":{\"value\":\"grey\"},\"line_alpha\":{\"value\":0.1},\"line_color\":{\"value\":null},\"size\":{\"units\":\"screen\",\"value\":10},\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"3112\",\"type\":\"Circle\"},{\"attributes\":{\"months\":[0,1,2,3,4,5,6,7,8,9,10,11]},\"id\":\"3254\",\"type\":\"MonthsTicker\"},{\"attributes\":{},\"id\":\"3092\",\"type\":\"WheelZoomTool\"},{\"attributes\":{\"source\":{\"id\":\"3106\",\"type\":\"ColumnDataSource\"}},\"id\":\"3110\",\"type\":\"CDSView\"},{\"attributes\":{\"months\":[0,2,4,6,8,10]},\"id\":\"3255\",\"type\":\"MonthsTicker\"},{\"attributes\":{\"overlay\":{\"id\":\"3099\",\"type\":\"BoxAnnotation\"}},\"id\":\"3093\",\"type\":\"BoxZoomTool\"},{\"attributes\":{\"months\":[0,4,8]},\"id\":\"3256\",\"type\":\"MonthsTicker\"},{\"attributes\":{},\"id\":\"3094\",\"type\":\"SaveTool\"},{\"attributes\":{\"callback\":null},\"id\":\"3073\",\"type\":\"DataRange1d\"},{\"attributes\":{\"months\":[0,6]},\"id\":\"3257\",\"type\":\"MonthsTicker\"},{\"attributes\":{},\"id\":\"3095\",\"type\":\"ResetTool\"},{\"attributes\":{\"line_alpha\":0.1,\"line_color\":\"#1f77b4\",\"line_dash\":[6],\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"3108\",\"type\":\"Line\"},{\"attributes\":{},\"id\":\"3258\",\"type\":\"YearsTicker\"},{\"attributes\":{},\"id\":\"3096\",\"type\":\"HelpTool\"},{\"attributes\":{},\"id\":\"3260\",\"type\":\"UnionRenderers\"},{\"attributes\":{\"active_drag\":\"auto\",\"active_inspect\":\"auto\",\"active_multi\":null,\"active_scroll\":\"auto\",\"active_tap\":\"auto\",\"tools\":[{\"id\":\"3091\",\"type\":\"PanTool\"},{\"id\":\"3092\",\"type\":\"WheelZoomTool\"},{\"id\":\"3093\",\"type\":\"BoxZoomTool\"},{\"id\":\"3094\",\"type\":\"SaveTool\"},{\"id\":\"3095\",\"type\":\"ResetTool\"},{\"id\":\"3096\",\"type\":\"HelpTool\"},{\"id\":\"3117\",\"type\":\"HoverTool\"}]},\"id\":\"3097\",\"type\":\"Toolbar\"},{\"attributes\":{\"source\":{\"id\":\"3111\",\"type\":\"ColumnDataSource\"}},\"id\":\"3116\",\"type\":\"CDSView\"},{\"attributes\":{},\"id\":\"3261\",\"type\":\"Selection\"},{\"attributes\":{\"callback\":null},\"id\":\"3075\",\"type\":\"DataRange1d\"},{\"attributes\":{},\"id\":\"3243\",\"type\":\"BasicTickFormatter\"},{\"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\":\"3099\",\"type\":\"BoxAnnotation\"},{\"attributes\":{},\"id\":\"3077\",\"type\":\"LinearScale\"},{\"attributes\":{},\"id\":\"3262\",\"type\":\"UnionRenderers\"},{\"attributes\":{},\"id\":\"3245\",\"type\":\"DatetimeTickFormatter\"},{\"attributes\":{},\"id\":\"3079\",\"type\":\"LinearScale\"},{\"attributes\":{\"data_source\":{\"id\":\"3106\",\"type\":\"ColumnDataSource\"},\"glyph\":{\"id\":\"3107\",\"type\":\"Line\"},\"hover_glyph\":null,\"muted_glyph\":null,\"nonselection_glyph\":{\"id\":\"3108\",\"type\":\"Line\"},\"selection_glyph\":null,\"view\":{\"id\":\"3110\",\"type\":\"CDSView\"}},\"id\":\"3109\",\"type\":\"GlyphRenderer\"},{\"attributes\":{},\"id\":\"3263\",\"type\":\"Selection\"},{\"attributes\":{\"callback\":null,\"data\":{\"x\":[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,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287],\"y\":[150,152,149,147,148,150,152,152,152,151,151,150,149,147,146,143,140,138,136,137,138,140,138,135,132,130,129,129,129,130,130,129,128,128,128,129,129,128,127,126,125,125,125,125,124,124,121,120,120,123,124,123,122,120,115,113,114,114,115,116,115,112,111,111,109,108,107,107,110,113,114,115,115,115,114,113,113,116,119,120,121,121,122,123,124,125,126,126,126,126,126,127,127,125,122,118,115,111,112,115,117,120,124,127,131,137,143,148,153,159,166,172,178,184,191,199,206,212,217,223,229,232,233,235,237,240,241,243,246,247,246,243,240,234,229,225,221,217,216,215,215,215,212,208,203,199,196,194,190,185,180,177,163,158,152,149,153,163,174,182,188,192,195,197,201,204,205,203,199,195,189,184,176,169,162,150,138,128,119,110,100,90,80,73,68,64,63,63,66,68,70,71,72,74,80,94,116,141,164,183,198,210,220,228,233,237,241,247,252,256,260,259,258,256,251,245,238,234,227,221,215,208,207,207,203,201,201,199,179,176,171,163,152,137,119,98,77,61,50,45,47,59,71,86,99,109,116,117,115,111,107,102,96,91,90,94,97,97,95,92,87,84,84,83,84,86,86,86,84,82,82,81,81,82,84,87,89,91,92,94,93,93,94,96,100,101,99,97]},\"selected\":{\"id\":\"3261\",\"type\":\"Selection\"},\"selection_policy\":{\"id\":\"3260\",\"type\":\"UnionRenderers\"}},\"id\":\"3106\",\"type\":\"ColumnDataSource\"},{\"attributes\":{\"axis_label\":\"Time of Day\",\"formatter\":{\"id\":\"3245\",\"type\":\"DatetimeTickFormatter\"},\"plot\":{\"id\":\"3071\",\"subtype\":\"Figure\",\"type\":\"Plot\"},\"ticker\":{\"id\":\"3082\",\"type\":\"DatetimeTicker\"}},\"id\":\"3081\",\"type\":\"DatetimeAxis\"},{\"attributes\":{\"num_minor_ticks\":5,\"tickers\":[{\"id\":\"3247\",\"type\":\"AdaptiveTicker\"},{\"id\":\"3248\",\"type\":\"AdaptiveTicker\"},{\"id\":\"3249\",\"type\":\"AdaptiveTicker\"},{\"id\":\"3250\",\"type\":\"DaysTicker\"},{\"id\":\"3251\",\"type\":\"DaysTicker\"},{\"id\":\"3252\",\"type\":\"DaysTicker\"},{\"id\":\"3253\",\"type\":\"DaysTicker\"},{\"id\":\"3254\",\"type\":\"MonthsTicker\"},{\"id\":\"3255\",\"type\":\"MonthsTicker\"},{\"id\":\"3256\",\"type\":\"MonthsTicker\"},{\"id\":\"3257\",\"type\":\"MonthsTicker\"},{\"id\":\"3258\",\"type\":\"YearsTicker\"}]},\"id\":\"3082\",\"type\":\"DatetimeTicker\"},{\"attributes\":{\"mantissas\":[1,2,5],\"max_interval\":500.0,\"num_minor_ticks\":0},\"id\":\"3247\",\"type\":\"AdaptiveTicker\"},{\"attributes\":{\"plot\":{\"id\":\"3071\",\"subtype\":\"Figure\",\"type\":\"Plot\"},\"ticker\":{\"id\":\"3082\",\"type\":\"DatetimeTicker\"}},\"id\":\"3085\",\"type\":\"Grid\"},{\"attributes\":{\"base\":60,\"mantissas\":[1,2,5,10,15,20,30],\"max_interval\":1800000.0,\"min_interval\":1000.0,\"num_minor_ticks\":0},\"id\":\"3248\",\"type\":\"AdaptiveTicker\"},{\"attributes\":{\"axis_label\":\"Blood Glucose (mg/dL)\",\"formatter\":{\"id\":\"3243\",\"type\":\"BasicTickFormatter\"},\"plot\":{\"id\":\"3071\",\"subtype\":\"Figure\",\"type\":\"Plot\"},\"ticker\":{\"id\":\"3087\",\"type\":\"BasicTicker\"}},\"id\":\"3086\",\"type\":\"LinearAxis\"},{\"attributes\":{\"base\":24,\"mantissas\":[1,2,4,6,8,12],\"max_interval\":43200000.0,\"min_interval\":3600000.0,\"num_minor_ticks\":0},\"id\":\"3249\",\"type\":\"AdaptiveTicker\"},{\"attributes\":{},\"id\":\"3087\",\"type\":\"BasicTicker\"},{\"attributes\":{\"line_dash\":[6],\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"3107\",\"type\":\"Line\"},{\"attributes\":{\"days\":[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]},\"id\":\"3250\",\"type\":\"DaysTicker\"},{\"attributes\":{\"dimension\":1,\"plot\":{\"id\":\"3071\",\"subtype\":\"Figure\",\"type\":\"Plot\"},\"ticker\":{\"id\":\"3087\",\"type\":\"BasicTicker\"}},\"id\":\"3090\",\"type\":\"Grid\"},{\"attributes\":{\"callback\":null,\"mode\":\"vline\",\"tooltips\":null},\"id\":\"3117\",\"type\":\"HoverTool\"},{\"attributes\":{\"days\":[1,4,7,10,13,16,19,22,25,28]},\"id\":\"3251\",\"type\":\"DaysTicker\"},{\"attributes\":{\"data_source\":{\"id\":\"3111\",\"type\":\"ColumnDataSource\"},\"glyph\":{\"id\":\"3112\",\"type\":\"Circle\"},\"hover_glyph\":{\"id\":\"3114\",\"type\":\"Circle\"},\"muted_glyph\":null,\"nonselection_glyph\":{\"id\":\"3113\",\"type\":\"Circle\"},\"selection_glyph\":null,\"view\":{\"id\":\"3116\",\"type\":\"CDSView\"}},\"id\":\"3115\",\"type\":\"GlyphRenderer\"},{\"attributes\":{\"days\":[1,8,15,22]},\"id\":\"3252\",\"type\":\"DaysTicker\"},{\"attributes\":{\"fill_alpha\":{\"value\":0.5},\"fill_color\":{\"value\":\"firebrick\"},\"line_alpha\":{\"value\":0.5},\"line_color\":{\"value\":\"white\"},\"size\":{\"units\":\"screen\",\"value\":10},\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"3114\",\"type\":\"Circle\"}],\"root_ids\":[\"3071\"]},\"title\":\"Bokeh Application\",\"version\":\"1.0.2\"}};\n", " var render_items = [{\"docid\":\"46f3f6e6-3958-4ca2-b37e-fcb63ed39220\",\"roots\":{\"3071\":\"3a928701-65f5-4588-8d8c-4b1948281b2d\"}}];\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": "3071" } }, "output_type": "display_data" } ], "source": [ "#Data import\n", "df = pd.read_csv('data/glucose.csv')\n", "df.head()\n", "x = df.index.values\n", "y = df.glucose.values\n", "\n", "# import the HoverTool\n", "from bokeh.models import HoverTool\n", "\n", "p=figure(x_axis_type='datetime', x_axis_label = 'Time of Day', y_axis_label = 'Blood Glucose (mg/dL)', title = 'Blood Glucose')\n", "\n", "p.line(x, y, line_color = 'black', line_dash = 'dashed')\n", "\n", "# Add circle glyphs to figure p\n", "p.circle(x, y, size=10,\n", " fill_color='grey', alpha=0.1, line_color=None,\n", " hover_fill_color='firebrick', hover_alpha=0.5,\n", " hover_line_color='white')\n", "\n", "# Create a HoverTool: hover\n", "hover = HoverTool(tooltips = None, mode = 'vline') #any point in a vertical line with the cursor\n", "\n", "# Add the hover tool to the figure p\n", "p.add_tools(hover)\n", "\n", "# Show the result\n", "\n", "show(p)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# Colormapping\n", "\n", "For our colormapping demo, we'll use the automobile dataset to plot miles-per-gallon vs weight and color each circle\n", "glyph by the region where the automobile was manufactured. \n", "\n" ] }, { "cell_type": "code", "execution_count": 14, "metadata": {}, "outputs": [ { "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 = {\"ce9c5406-19c7-416d-afec-e3ee285a6515\":{\"roots\":{\"references\":[{\"attributes\":{\"below\":[{\"id\":\"3408\",\"type\":\"DatetimeAxis\"}],\"left\":[{\"id\":\"3413\",\"type\":\"LinearAxis\"}],\"renderers\":[{\"id\":\"3408\",\"type\":\"DatetimeAxis\"},{\"id\":\"3412\",\"type\":\"Grid\"},{\"id\":\"3413\",\"type\":\"LinearAxis\"},{\"id\":\"3417\",\"type\":\"Grid\"},{\"id\":\"3448\",\"type\":\"Legend\"},{\"id\":\"3429\",\"type\":\"GlyphRenderer\"}],\"title\":{\"id\":\"3397\",\"type\":\"Title\"},\"toolbar\":{\"id\":\"3420\",\"type\":\"Toolbar\"},\"x_range\":{\"id\":\"3400\",\"type\":\"DataRange1d\"},\"x_scale\":{\"id\":\"3404\",\"type\":\"LinearScale\"},\"y_range\":{\"id\":\"3402\",\"type\":\"DataRange1d\"},\"y_scale\":{\"id\":\"3406\",\"type\":\"LinearScale\"}},\"id\":\"3398\",\"subtype\":\"Figure\",\"type\":\"Plot\"},{\"attributes\":{\"base\":24,\"mantissas\":[1,2,4,6,8,12],\"max_interval\":43200000.0,\"min_interval\":3600000.0,\"num_minor_ticks\":0},\"id\":\"3438\",\"type\":\"AdaptiveTicker\"},{\"attributes\":{\"num_minor_ticks\":5,\"tickers\":[{\"id\":\"3436\",\"type\":\"AdaptiveTicker\"},{\"id\":\"3437\",\"type\":\"AdaptiveTicker\"},{\"id\":\"3438\",\"type\":\"AdaptiveTicker\"},{\"id\":\"3439\",\"type\":\"DaysTicker\"},{\"id\":\"3440\",\"type\":\"DaysTicker\"},{\"id\":\"3441\",\"type\":\"DaysTicker\"},{\"id\":\"3442\",\"type\":\"DaysTicker\"},{\"id\":\"3443\",\"type\":\"MonthsTicker\"},{\"id\":\"3444\",\"type\":\"MonthsTicker\"},{\"id\":\"3445\",\"type\":\"MonthsTicker\"},{\"id\":\"3446\",\"type\":\"MonthsTicker\"},{\"id\":\"3447\",\"type\":\"YearsTicker\"}]},\"id\":\"3409\",\"type\":\"DatetimeTicker\"},{\"attributes\":{\"days\":[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]},\"id\":\"3439\",\"type\":\"DaysTicker\"},{\"attributes\":{\"plot\":{\"id\":\"3398\",\"subtype\":\"Figure\",\"type\":\"Plot\"},\"ticker\":{\"id\":\"3409\",\"type\":\"DatetimeTicker\"}},\"id\":\"3412\",\"type\":\"Grid\"},{\"attributes\":{},\"id\":\"3406\",\"type\":\"LinearScale\"},{\"attributes\":{\"days\":[1,4,7,10,13,16,19,22,25,28]},\"id\":\"3440\",\"type\":\"DaysTicker\"},{\"attributes\":{\"axis_label\":\"miles-per-gallon\",\"formatter\":{\"id\":\"3432\",\"type\":\"BasicTickFormatter\"},\"plot\":{\"id\":\"3398\",\"subtype\":\"Figure\",\"type\":\"Plot\"},\"ticker\":{\"id\":\"3414\",\"type\":\"BasicTicker\"}},\"id\":\"3413\",\"type\":\"LinearAxis\"},{\"attributes\":{\"days\":[1,8,15,22]},\"id\":\"3441\",\"type\":\"DaysTicker\"},{\"attributes\":{},\"id\":\"3414\",\"type\":\"BasicTicker\"},{\"attributes\":{\"days\":[1,15]},\"id\":\"3442\",\"type\":\"DaysTicker\"},{\"attributes\":{\"factors\":[\"Europe\",\"Asia\",\"US\"],\"palette\":[\"red\",\"green\",\"blue\"]},\"id\":\"3425\",\"type\":\"CategoricalColorMapper\"},{\"attributes\":{\"dimension\":1,\"plot\":{\"id\":\"3398\",\"subtype\":\"Figure\",\"type\":\"Plot\"},\"ticker\":{\"id\":\"3414\",\"type\":\"BasicTicker\"}},\"id\":\"3417\",\"type\":\"Grid\"},{\"attributes\":{\"axis_label\":\"weight (lbs)\",\"formatter\":{\"id\":\"3434\",\"type\":\"DatetimeTickFormatter\"},\"plot\":{\"id\":\"3398\",\"subtype\":\"Figure\",\"type\":\"Plot\"},\"ticker\":{\"id\":\"3409\",\"type\":\"DatetimeTicker\"}},\"id\":\"3408\",\"type\":\"DatetimeAxis\"},{\"attributes\":{\"callback\":null,\"data\":{\"accel\":{\"__ndarray__\":\"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\",\"dtype\":\"float64\",\"shape\":[392]},\"color\":[\"blue\",\"blue\",\"red\",\"blue\",\"green\",\"red\",\"red\",\"green\",\"blue\",\"blue\",\"green\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"green\",\"blue\",\"red\",\"red\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"green\",\"red\",\"red\",\"blue\",\"red\",\"red\",\"blue\",\"blue\",\"blue\",\"green\",\"green\",\"blue\",\"blue\",\"blue\",\"blue\",\"red\",\"blue\",\"blue\",\"blue\",\"blue\",\"red\",\"red\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"red\",\"blue\",\"green\",\"blue\",\"blue\",\"blue\",\"blue\",\"red\",\"red\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"green\",\"blue\",\"blue\",\"red\",\"blue\",\"blue\",\"blue\",\"blue\",\"green\",\"green\",\"green\",\"green\",\"blue\",\"blue\",\"green\",\"blue\",\"blue\",\"red\",\"blue\",\"blue\",\"blue\",\"blue\",\"red\",\"red\",\"blue\",\"red\",\"blue\",\"blue\",\"blue\",\"green\",\"green\",\"blue\",\"blue\",\"green\",\"green\",\"blue\",\"blue\",\"red\",\"green\",\"green\",\"blue\",\"blue\",\"blue\",\"green\",\"blue\",\"red\",\"blue\",\"blue\",\"blue\",\"green\",\"red\",\"blue\",\"green\",\"blue\",\"green\",\"green\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"green\",\"blue\",\"blue\",\"red\",\"blue\",\"green\",\"blue\",\"blue\",\"green\",\"blue\",\"blue\",\"blue\",\"blue\",\"red\",\"green\",\"blue\",\"blue\",\"green\",\"blue\",\"blue\",\"green\",\"red\",\"blue\",\"blue\",\"blue\",\"red\",\"red\",\"blue\",\"red\",\"blue\",\"blue\",\"green\",\"green\",\"green\",\"blue\",\"red\",\"blue\",\"red\",\"blue\",\"red\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"green\",\"blue\",\"blue\",\"blue\",\"green\",\"blue\",\"green\",\"blue\",\"blue\",\"green\",\"blue\",\"red\",\"green\",\"blue\",\"green\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"red\",\"blue\",\"blue\",\"green\",\"blue\",\"red\",\"red\",\"red\",\"blue\",\"blue\",\"blue\",\"blue\",\"red\",\"red\",\"red\",\"blue\",\"blue\",\"red\",\"red\",\"red\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"red\",\"blue\",\"blue\",\"blue\",\"red\",\"blue\",\"blue\",\"blue\",\"blue\",\"green\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"red\",\"green\",\"green\",\"red\",\"blue\",\"red\",\"blue\",\"blue\",\"blue\",\"red\",\"red\",\"blue\",\"blue\",\"red\",\"blue\",\"red\",\"blue\",\"red\",\"blue\",\"green\",\"red\",\"blue\",\"blue\",\"blue\",\"green\",\"blue\",\"blue\",\"green\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"green\",\"blue\",\"red\",\"blue\",\"red\",\"green\",\"blue\",\"blue\",\"red\",\"red\",\"blue\",\"blue\",\"red\",\"green\",\"green\",\"blue\",\"blue\",\"red\",\"blue\",\"blue\",\"blue\",\"blue\",\"red\",\"blue\",\"green\",\"red\",\"red\",\"green\",\"blue\",\"blue\",\"green\",\"blue\",\"green\",\"blue\",\"blue\",\"green\",\"blue\",\"blue\",\"green\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"green\",\"blue\",\"blue\",\"red\",\"blue\",\"red\",\"blue\",\"blue\",\"blue\",\"red\",\"blue\",\"red\",\"green\",\"blue\",\"blue\",\"blue\",\"blue\",\"red\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"green\",\"green\",\"red\",\"green\",\"red\",\"blue\",\"red\",\"blue\",\"blue\",\"green\",\"green\",\"blue\",\"green\",\"blue\",\"red\",\"blue\",\"blue\",\"red\",\"red\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"green\",\"green\",\"blue\",\"blue\",\"blue\",\"green\",\"blue\",\"red\",\"red\",\"red\",\"red\",\"blue\",\"blue\",\"red\",\"blue\",\"blue\"],\"cyl\":[6,8,4,6,4,4,4,4,8,8,4,4,4,8,8,8,4,4,4,3,6,6,8,8,4,4,4,4,6,4,6,8,4,6,4,4,8,8,4,4,4,4,8,8,4,4,4,8,4,6,8,8,4,4,4,4,6,6,6,4,4,6,6,4,6,4,8,8,8,4,8,4,8,8,6,4,6,6,6,4,6,4,4,6,4,4,8,8,4,8,4,8,6,4,4,8,4,6,6,4,4,4,4,4,4,4,6,8,4,5,4,8,4,8,4,8,4,8,8,8,4,4,8,5,4,4,4,6,4,6,8,4,4,8,8,4,6,4,6,4,4,6,6,4,6,4,4,8,4,4,8,8,4,4,6,6,4,4,4,8,4,4,4,4,4,4,8,6,8,4,6,4,8,8,4,8,4,4,8,4,6,4,6,4,4,4,6,6,4,4,8,4,8,6,8,8,6,4,4,4,6,4,6,4,4,4,6,8,4,6,4,4,4,6,6,4,4,4,8,6,8,4,8,4,4,8,6,4,6,6,6,6,4,6,8,4,4,8,4,4,5,4,8,4,8,6,8,4,4,8,6,4,8,3,8,4,8,4,4,6,8,8,4,8,6,4,8,8,8,6,8,8,8,4,6,4,4,4,4,8,4,3,4,4,4,4,4,4,8,6,4,8,4,6,6,4,6,6,4,4,4,8,6,4,4,4,8,4,4,4,6,4,6,8,8,8,6,8,4,8,4,4,4,4,6,8,8,4,8,4,4,8,8,8,4,4,4,8,4,4,8,4,4,4,4,8,8,4,8,4,8,6,6,4,4,4,3,8,6,4,6,4,4,4,4,8,6,6,8,4,4,4,8,8,4,6,4,4,6,8,6,4,6,4,4,6,4,6,4,4,6,4],\"displ\":{\"__ndarray__\":\"AAAAAABAb0AAAAAAAABzQAAAAAAAwFZAAAAAAABAb0AAAAAAAEBYQAAAAAAAwF1AAAAAAAAAW0AAAAAAAEBeQAAAAAAA4HJAAAAAAADgckAAAAAAAEBYQAAAAAAA4GJAAAAAAADgYEAAAAAAAPB1QAAAAAAAAHlAAAAAAAAwc0AAAAAAAMBTQAAAAAAAwF1AAAAAAADAUUAAAAAAAABUQAAAAAAAIGxAAAAAAADgbEAAAAAAAOByQAAAAAAA8HdAAAAAAACAYUAAAAAAAIBYQAAAAAAAAGJAAAAAAABAXEAAAAAAAOBsQAAAAAAAAF5AAAAAAAAAZUAAAAAAAABzQAAAAAAAgGFAAAAAAAAgbEAAAAAAAMBaQAAAAAAAAF1AAAAAAADgckAAAAAAAOByQAAAAAAAgFhAAAAAAABAVUAAAAAAAEBUQAAAAAAA4GBAAAAAAADwdUAAAAAAAAB5QAAAAAAAgFhAAAAAAADAU0AAAAAAAMBdQAAAAAAA4HNAAAAAAACAWEAAAAAAAEBvQAAAAAAA8HdAAAAAAADgckAAAAAAAEBcQAAAAAAA4GJAAAAAAACAWEAAAAAAAEBaQAAAAAAAAG1AAAAAAAAAaUAAAAAAAABtQAAAAAAAwFZAAAAAAADAUUAAAAAAAEBvQAAAAAAAQG9AAAAAAACAYUAAAAAAACBsQAAAAAAAwFZAAAAAAADgdUAAAAAAAEBwQAAAAAAA4HNAAAAAAACAWEAAAAAAAOBzQAAAAAAAAFhAAAAAAADgc0AAAAAAANB6QAAAAAAAQGJAAAAAAACAYUAAAAAAAABtQAAAAAAAoGVAAAAAAADAaEAAAAAAAABdQAAAAAAAIGJAAAAAAADAU0AAAAAAAKBhQAAAAAAA4GxAAAAAAADgYEAAAAAAAIBcQAAAAAAA4HVAAAAAAACAe0AAAAAAAMBWQAAAAAAAAHlAAAAAAACAWEAAAAAAAOB1QAAAAAAAoGZAAAAAAABAXEAAAAAAAMBWQAAAAAAAAHlAAAAAAADAVkAAAAAAAABpQAAAAAAAIHBAAAAAAACAY0AAAAAAAEBgQAAAAAAAQF5AAAAAAACAYUAAAAAAAIBYQAAAAAAAAF5AAAAAAACAVkAAAAAAAEBvQAAAAAAA4HVAAAAAAABAVUAAAAAAAGBgQAAAAAAAQFhAAAAAAAAAc0AAAAAAAIBhQAAAAAAAAHlAAAAAAADAWkAAAAAAAEBwQAAAAAAAwFNAAAAAAADwdUAAAAAAAOB1QAAAAAAA4HJAAAAAAABAWUAAAAAAAABSQAAAAAAA4HNAAAAAAABAXkAAAAAAAMBbQAAAAAAAQFZAAAAAAABAWEAAAAAAACBsQAAAAAAAgGFAAAAAAAAgbEAAAAAAAAB5QAAAAAAAYFhAAAAAAABAWkAAAAAAAOBzQAAAAAAAgHZAAAAAAACAVUAAAAAAAABtQAAAAAAAgFZAAAAAAABAb0AAAAAAAIBhQAAAAAAAgFZAAAAAAADgbEAAAAAAAOBsQAAAAAAAgGFAAAAAAAAAbUAAAAAAAEBYQAAAAAAAQF5AAAAAAAAAeUAAAAAAAIBjQAAAAAAAoGFAAAAAAADgdUAAAAAAAOB1QAAAAAAAQFZAAAAAAAAAXkAAAAAAAEBvQAAAAAAAIGxAAAAAAADgYkAAAAAAAABbQAAAAAAAQFhAAAAAAADgdUAAAAAAAMBWQAAAAAAA4GJAAAAAAADgYEAAAAAAAABeQAAAAAAAQF5AAAAAAACAW0AAAAAAAOB1QAAAAAAAgGNAAAAAAADwdUAAAAAAAMBdQAAAAAAAQG9AAAAAAABAWEAAAAAAAOByQAAAAAAA4HNAAAAAAAAAXEAAAAAAAOB1QAAAAAAAgFhAAAAAAAAAWkAAAAAAABBzQAAAAAAAAFxAAAAAAABgcEAAAAAAAMBTQAAAAAAAAGlAAAAAAABAXkAAAAAAAIBeQAAAAAAAgFhAAAAAAAAAZUAAAAAAACBwQAAAAAAAgFVAAAAAAABAXkAAAAAAAGB8QAAAAAAAQF5AAAAAAADgdUAAAAAAACBsQAAAAAAAQHBAAAAAAABwfEAAAAAAAABpQAAAAAAAgFhAAAAAAAAAXkAAAAAAAOBiQAAAAAAAAG1AAAAAAAAAUUAAAAAAAKBlQAAAAAAAAFtAAAAAAADAXUAAAAAAAMBWQAAAAAAAAG1AAAAAAABgeEAAAAAAAEBaQAAAAAAAAG1AAAAAAADAVkAAAAAAAIBVQAAAAAAAwFpAAAAAAAAgbEAAAAAAACBwQAAAAAAAQFZAAAAAAAAAW0AAAAAAAEBYQAAAAAAA4HNAAAAAAABAb0AAAAAAAOBzQAAAAAAAAFxAAAAAAABwfEAAAAAAAIBYQAAAAAAAQFpAAAAAAADQekAAAAAAAEBvQAAAAAAAAF5AAAAAAAAgbEAAAAAAAEBvQAAAAAAAQG9AAAAAAADgaEAAAAAAAIBeQAAAAAAAAGlAAAAAAADgckAAAAAAAABcQAAAAAAAgF5AAAAAAAAAeUAAAAAAAEBVQAAAAAAAgFZAAAAAAADgZkAAAAAAAEBVQAAAAAAAAHlAAAAAAADAYEAAAAAAAOBzQAAAAAAAIGxAAAAAAAAwc0AAAAAAAMBWQAAAAAAAQFVAAAAAAADwdUAAAAAAAMBoQAAAAAAAwFRAAAAAAACAe0AAAAAAAIBRQAAAAAAAEHNAAAAAAADAVkAAAAAAAOBzQAAAAAAAAF5AAAAAAABAWEAAAAAAACBsQAAAAAAAgHZAAAAAAADgdUAAAAAAAEBaQAAAAAAA4HNAAAAAAAAAbUAAAAAAAEBiQAAAAAAA0HpAAAAAAADgdUAAAAAAAIB2QAAAAAAAQG9AAAAAAABwfEAAAAAAAOB1QAAAAAAAgHZAAAAAAAAAXUAAAAAAAABpQAAAAAAAwGBAAAAAAACAXkAAAAAAAEBYQAAAAAAAgFZAAAAAAADwdUAAAAAAAOBiQAAAAAAAgFFAAAAAAACAU0AAAAAAAIBhQAAAAAAAgF5AAAAAAAAAU0AAAAAAAMBcQAAAAAAAQFhAAAAAAADgc0AAAAAAAEBvQAAAAAAAwGBAAAAAAAAAc0AAAAAAAIBWQAAAAAAAYGNAAAAAAADgbEAAAAAAAMBaQAAAAAAAYGVAAAAAAABgZEAAAAAAAEBVQAAAAAAAQFhAAAAAAABAXkAAAAAAABBzQAAAAAAAoGVAAAAAAABAXkAAAAAAAEBaQAAAAAAAQFhAAAAAAAAAeUAAAAAAAEBaQAAAAAAAgFhAAAAAAACAY0AAAAAAAMBoQAAAAAAAQFZAAAAAAADgbEAAAAAAAOB1QAAAAAAAQHVAAAAAAAAAeUAAAAAAACBwQAAAAAAA4HVAAAAAAABAWEAAAAAAAABzQAAAAAAAgFhAAAAAAABAWEAAAAAAAIBYQAAAAAAAQFhAAAAAAAAgbEAAAAAAAOByQAAAAAAAYHBAAAAAAADAWkAAAAAAAABzQAAAAAAAwGBAAAAAAABAWEAAAAAAAPB1QAAAAAAAEHNAAAAAAAAAeUAAAAAAAIBeQAAAAAAAwF1AAAAAAADgYkAAAAAAAOB1QAAAAAAAgGFAAAAAAAAAXkAAAAAAAOB1QAAAAAAAgFhAAAAAAACAVUAAAAAAAIBhQAAAAAAAgGFAAAAAAADgc0AAAAAAAOBzQAAAAAAAgF5AAAAAAAAAc0AAAAAAAEBeQAAAAAAA4HJAAAAAAAAgbEAAAAAAAGBkQAAAAAAAAF1AAAAAAAAAW0AAAAAAAABWQAAAAAAAgFFAAAAAAADgc0AAAAAAAEBiQAAAAAAA4GJAAAAAAAAAaUAAAAAAAEBYQAAAAAAAQFhAAAAAAADgYEAAAAAAAIBWQAAAAAAA8HVAAAAAAAAAZUAAAAAAAABtQAAAAAAAAHlAAAAAAABAWEAAAAAAAEBYQAAAAAAAgGFAAAAAAAAwc0AAAAAAALBwQAAAAAAAgGNAAAAAAAAgcEAAAAAAAMBWQAAAAAAAwFNAAAAAAAAAbUAAAAAAAOBzQAAAAAAA4GhAAAAAAACAVkAAAAAAAOBsQAAAAAAAQFZAAAAAAAAAXkAAAAAAAIBjQAAAAAAAQFVAAAAAAABAb0AAAAAAAOBiQAAAAAAAgFhAAAAAAABAb0AAAAAAAIBhQA==\",\"dtype\":\"float64\",\"shape\":[392]},\"hp\":[88,193,60,98,78,100,75,76,130,140,52,88,84,148,150,130,58,82,65,110,95,110,140,170,78,90,96,95,110,75,132,150,83,85,86,75,140,139,70,52,60,84,138,180,65,67,97,150,70,100,180,129,95,90,83,75,100,85,112,67,65,88,100,75,100,70,145,110,210,80,145,69,150,198,120,92,90,115,95,75,76,67,71,115,84,91,150,215,67,175,60,175,110,95,68,150,67,95,110,105,102,110,89,66,88,75,78,105,70,103,60,150,72,170,90,110,58,152,145,139,83,69,150,67,80,71,46,105,90,110,175,80,74,150,150,65,100,48,105,90,48,105,105,88,100,75,113,190,92,80,165,180,71,97,72,105,90,75,88,155,68,90,84,87,112,87,125,108,142,97,105,75,137,150,88,145,63,95,140,88,85,70,85,115,86,79,120,120,65,110,220,115,170,100,90,225,85,65,97,90,90,49,110,70,92,53,100,190,63,90,67,65,75,100,110,60,93,88,150,100,150,88,225,68,70,208,105,74,90,110,72,97,88,88,129,85,86,150,70,48,77,65,175,90,150,110,130,53,65,158,95,61,215,100,145,68,150,88,67,105,175,160,74,135,100,67,198,180,215,100,225,155,170,81,85,95,80,92,70,149,84,97,52,72,85,52,95,71,140,100,96,150,75,107,110,75,97,133,70,67,112,145,115,98,70,78,230,63,76,105,95,62,165,165,160,190,95,180,78,120,80,75,68,67,95,140,110,72,150,95,54,153,130,170,86,97,90,145,86,79,165,83,64,92,72,140,150,96,150,80,130,100,125,90,94,76,90,150,97,85,81,78,46,84,70,153,116,100,167,88,88,88,200,125,92,110,69,67,90,150,90,71,105,62,88,122,65,88,90,68,110,88],\"index\":[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,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391],\"mpg\":{\"__ndarray__\":\"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\",\"dtype\":\"float64\",\"shape\":[392]},\"name\":[\"ford mustang\",\"hi 1200d\",\"honda civic cvcc\",\"ford granada\",\"audi 4000\",\"datsun 200sx\",\"toyota corolla\",\"volkswagen 411 (sw)\",\"mercury cougar brougham\",\"ford torino\",\"vw pickup\",\"pontiac sunbird coupe\",\"dodge rampage\",\"ford ltd\",\"chevrolet monte carlo\",\"chevrolet chevelle concours (sw)\",\"renault 5 gtl\",\"chevy s-10\",\"toyota corolla 1200\",\"mazda rx-4\",\"plymouth valiant custom\",\"buick century\",\"ford gran torino\",\"dodge challenger se\",\"pontiac astro\",\"fiat 124 sport coupe\",\"toyota celica gt\",\"toyota corona mark ii\",\"buick skyhawk\",\"mazda 626\",\"datsun 280-zx\",\"amc matador (sw)\",\"ford pinto\",\"chrysler lebaron salon\",\"fiat 131\",\"opel manta\",\"ford gran torino (sw)\",\"ford futura\",\"mercury lynx l\",\"chevrolet chevette\",\"honda civic 1300\",\"dodge charger 2.2\",\"mercury grand marquis\",\"pontiac grand prix lj\",\"ford escort 2h\",\"datsun b210\",\"datsun 510\",\"dodge coronet custom (sw)\",\"chevrolet chevette\",\"chevrolet nova\",\"dodge monaco (sw)\",\"ford ltd landau\",\"toyota corona\",\"buick skylark limited\",\"audi fox\",\"dodge omni\",\"amc gremlin\",\"mercury zephyr\",\"ford granada l\",\"honda civic\",\"toyota corolla 1200\",\"ford torino 500\",\"chevrolet chevelle malibu classic\",\"chevrolet vega\",\"plymouth valiant\",\"plymouth cricket\",\"chevy c10\",\"oldsmobile cutlass salon brougham\",\"dodge d200\",\"dodge colt (sw)\",\"dodge monaco brougham\",\"renault 12 (sw)\",\"plymouth fury gran sedan\",\"mercury marquis brougham\",\"datsun 810 maxima\",\"capri ii\",\"amc hornet\",\"oldsmobile omega brougham\",\"plymouth duster\",\"fiat 124 tc\",\"volvo diesel\",\"fiat x1.9\",\"peugeot 504\",\"pontiac lemans v6\",\"dodge aries se\",\"audi 100ls\",\"buick century luxus (sw)\",\"plymouth fury iii\",\"datsun 310 gx\",\"pontiac safari (sw)\",\"chevrolet woody\",\"buick century 350\",\"buick century limited\",\"toyota corona hardtop\",\"mazda glc 4\",\"chevrolet caprice classic\",\"honda civic 1500 gl\",\"chevrolet malibu\",\"amc hornet sportabout (sw)\",\"plymouth sapporo\",\"volvo 245\",\"saab 99le\",\"ford mustang ii 2+2\",\"ford fiesta\",\"peugeot 504\",\"fiat 128\",\"ford granada ghia\",\"oldsmobile cutlass ls\",\"datsun b-210\",\"audi 5000\",\"volkswagen model 111\",\"amc ambassador sst\",\"chevrolet vega\",\"ford country squire (sw)\",\"audi 100 ls\",\"oldsmobile cutlass supreme\",\"toyota starlet\",\"ford gran torino\",\"chevrolet malibu\",\"mercury monarch ghia\",\"renault 12tl\",\"datsun 1200\",\"dodge coronet custom\",\"audi 5000s (diesel)\",\"buick opel isuzu deluxe\",\"vw rabbit custom\",\"volkswagen 1131 deluxe sedan\",\"plymouth satellite custom\",\"chevrolet vega\",\"dodge aspen\",\"pontiac catalina brougham\",\"dodge colt hardtop\",\"volkswagen jetta\",\"plymouth fury iii\",\"chrysler lebaron town @ country (sw)\",\"datsun 310\",\"amc matador\",\"vw rabbit c (diesel)\",\"chevrolet nova\",\"chevrolet vega 2300\",\"vw dasher (diesel)\",\"buick century special\",\"pontiac phoenix lj\",\"ford fairmont\",\"amc hornet\",\"toyota corolla\",\"bmw 2002\",\"chrysler newport royal\",\"dodge aries wagon (sw)\",\"peugeot 505s turbo diesel\",\"chevrolet impala\",\"cadillac seville\",\"volkswagen scirocco\",\"honda civic\",\"ford maverick\",\"plymouth satellite sebring\",\"pontiac phoenix\",\"toyota corolla\",\"datsun pl510\",\"buick lesabre custom\",\"mazda glc custom\",\"chevrolet citation\",\"plymouth reliant\",\"peugeot 504 (sw)\",\"volvo 144ea\",\"peugeot 504\",\"cadillac eldorado\",\"toyota mark ii\",\"ford country squire (sw)\",\"datsun 200-sx\",\"chevrolet nova\",\"toyota corolla\",\"ford gran torino\",\"dodge dart custom\",\"chevrolet cavalier wagon\",\"chevrolet bel air\",\"chevrolet chevette\",\"saab 99e\",\"chevrolet chevelle malibu classic\",\"chevrolet cavalier 2-door\",\"oldsmobile cutlass ciera (diesel)\",\"peugeot 304\",\"mercury zephyr 6\",\"saab 99le\",\"ford pinto runabout\",\"dodge colt\",\"mercedes-benz 280s\",\"amc concord d/l\",\"mazda glc\",\"bmw 320i\",\"chevrolet impala\",\"saab 99gle\",\"chevrolet monte carlo landau\",\"plymouth volare\",\"oldsmobile cutlass salon brougham\",\"buick electra 225 custom\",\"ford fairmont (auto)\",\"ford escort 4w\",\"toyouta corona mark ii (sw)\",\"amc concord\",\"amc pacer\",\"fiat 128\",\"chevrolet citation\",\"toyota corolla\",\"datsun 510 hatchback\",\"honda civic cvcc\",\"amc gremlin\",\"amc ambassador dpl\",\"plymouth horizon 4\",\"amc concord\",\"honda civic (auto)\",\"maxda glc deluxe\",\"honda prelude\",\"dodge aspen se\",\"amc matador\",\"toyota corolla tercel\",\"subaru\",\"toyota corolla 1600 (sw)\",\"plymouth grand fury\",\"chevrolet chevelle malibu\",\"plymouth volare premier v8\",\"chevrolet cavalier\",\"buick estate wagon (sw)\",\"honda accord cvcc\",\"plymouth horizon tc3\",\"mercury marquis\",\"chevroelt chevelle malibu\",\"mazda 626\",\"dodge aspen\",\"pontiac ventura sj\",\"mercury monarch\",\"amc hornet\",\"triumph tr7 coupe\",\"ford granada gl\",\"ford mustang ii\",\"pontiac j2000 se hatchback\",\"ford pinto (sw)\",\"chevrolet impala\",\"datsun f-10 hatchback\",\"volkswagen rabbit custom diesel\",\"mercedes benz 300d\",\"datsun 210\",\"pontiac catalina\",\"toyota corona liftback\",\"dodge coronet brougham\",\"dodge aspen 6\",\"chevrolet chevelle malibu\",\"honda civic\",\"datsun 210\",\"ford ltd\",\"plymouth duster\",\"datsun 710\",\"chrysler new yorker brougham\",\"mazda rx-7 gs\",\"chevrolet monte carlo landau\",\"mazda glc custom l\",\"plymouth satellite\",\"peugeot 504\",\"subaru\",\"plymouth valiant\",\"amc ambassador brougham\",\"oldsmobile delta 88 royale\",\"volkswagen rabbit l\",\"dodge st. regis\",\"amc gremlin\",\"mercedes-benz 240d\",\"ford galaxie 500\",\"oldsmobile omega\",\"ford f250\",\"chevrolet nova custom\",\"pontiac catalina\",\"buick estate wagon (sw)\",\"plymouth custom suburb\",\"opel 1900\",\"ford maverick\",\"toyota celica gt liftback\",\"ford pinto\",\"datsun 510 (sw)\",\"volkswagen rabbit\",\"ford thunderbird\",\"buick skylark\",\"mazda rx2 coupe\",\"mazda glc deluxe\",\"chevrolet vega (sw)\",\"ford pinto\",\"toyota corona\",\"audi 100ls\",\"volkswagen rabbit\",\"dodge magnum xe\",\"pontiac firebird\",\"toyota corona\",\"amc matador (sw)\",\"dodge colt\",\"mercury capri v6\",\"buick century\",\"honda accord\",\"ford pinto\",\"peugeot 604sl\",\"datsun b210 gx\",\"subaru dl\",\"volvo 145e (sw)\",\"chevrolet caprice classic\",\"chevrolet citation\",\"volvo 244dl\",\"plymouth horizon\",\"volkswagen dasher\",\"pontiac grand prix\",\"plymouth horizon miser\",\"vw rabbit\",\"dodge colt\",\"plymouth duster\",\"vokswagen rabbit\",\"buick regal sport coupe (turbo)\",\"buick skylark 320\",\"plymouth 'cuda 340\",\"chrysler cordoba\",\"amc pacer d/l\",\"oldsmobile vista cruiser\",\"volkswagen rabbit custom\",\"amc matador\",\"dodge colt hatchback custom\",\"toyota corolla liftback\",\"chevrolet chevette\",\"subaru dl\",\"plymouth fury\",\"ford gran torino (sw)\",\"chevrolet monza 2+2\",\"honda accord\",\"amc rebel sst\",\"toyota corona\",\"volkswagen type 3\",\"ford galaxie 500\",\"chevrolet caprice classic\",\"pontiac catalina\",\"mercury capri 2000\",\"datsun 710\",\"pontiac phoenix\",\"chevrolet monte carlo s\",\"ford mustang gl\",\"ford ranger\",\"chevrolet impala\",\"dodge colt m/m\",\"plymouth champ\",\"ford fairmont futura\",\"ford pinto\",\"dodge diplomat\",\"plymouth fury iii\",\"plymouth arrow gs\",\"amc matador\",\"amc spirit dl\",\"ford f108\",\"plymouth volare custom\",\"volvo 264gl\",\"opel 1900\",\"datsun 610\",\"fiat 124b\",\"maxda rx3\",\"plymouth satellite custom (sw)\",\"datsun 810\",\"oldsmobile starfire sx\",\"ford maverick\",\"opel manta\",\"volkswagen super beetle\",\"plymouth reliant\",\"vw rabbit\",\"ford galaxie 500\",\"toyota cressida\",\"amc hornet\",\"ford country\",\"toyota carina\",\"datsun pl510\",\"ford fairmont 4\",\"chevy c20\",\"chevrolet malibu classic (sw)\",\"chrysler lebaron medallion\",\"amc matador\",\"fiat strada custom\",\"volkswagen dasher\",\"amc concord dl 6\",\"dodge d100\",\"amc gremlin\",\"volkswagen dasher\",\"buick skylark\",\"toyota tercel\",\"nissan stanza xe\",\"toyota mark ii\",\"datsun 210 mpg\",\"ford maverick\",\"chevrolet camaro\",\"honda accord lx\",\"chevrolet concours\",\"ford fairmont (man)\"],\"origin\":[\"US\",\"US\",\"Asia\",\"US\",\"Europe\",\"Asia\",\"Asia\",\"Europe\",\"US\",\"US\",\"Europe\",\"US\",\"US\",\"US\",\"US\",\"US\",\"Europe\",\"US\",\"Asia\",\"Asia\",\"US\",\"US\",\"US\",\"US\",\"US\",\"Europe\",\"Asia\",\"Asia\",\"US\",\"Asia\",\"Asia\",\"US\",\"US\",\"US\",\"Europe\",\"Europe\",\"US\",\"US\",\"US\",\"US\",\"Asia\",\"US\",\"US\",\"US\",\"US\",\"Asia\",\"Asia\",\"US\",\"US\",\"US\",\"US\",\"US\",\"Asia\",\"US\",\"Europe\",\"US\",\"US\",\"US\",\"US\",\"Asia\",\"Asia\",\"US\",\"US\",\"US\",\"US\",\"US\",\"US\",\"US\",\"US\",\"US\",\"US\",\"Europe\",\"US\",\"US\",\"Asia\",\"US\",\"US\",\"US\",\"US\",\"Europe\",\"Europe\",\"Europe\",\"Europe\",\"US\",\"US\",\"Europe\",\"US\",\"US\",\"Asia\",\"US\",\"US\",\"US\",\"US\",\"Asia\",\"Asia\",\"US\",\"Asia\",\"US\",\"US\",\"US\",\"Europe\",\"Europe\",\"US\",\"US\",\"Europe\",\"Europe\",\"US\",\"US\",\"Asia\",\"Europe\",\"Europe\",\"US\",\"US\",\"US\",\"Europe\",\"US\",\"Asia\",\"US\",\"US\",\"US\",\"Europe\",\"Asia\",\"US\",\"Europe\",\"US\",\"Europe\",\"Europe\",\"US\",\"US\",\"US\",\"US\",\"US\",\"Europe\",\"US\",\"US\",\"Asia\",\"US\",\"Europe\",\"US\",\"US\",\"Europe\",\"US\",\"US\",\"US\",\"US\",\"Asia\",\"Europe\",\"US\",\"US\",\"Europe\",\"US\",\"US\",\"Europe\",\"Asia\",\"US\",\"US\",\"US\",\"Asia\",\"Asia\",\"US\",\"Asia\",\"US\",\"US\",\"Europe\",\"Europe\",\"Europe\",\"US\",\"Asia\",\"US\",\"Asia\",\"US\",\"Asia\",\"US\",\"US\",\"US\",\"US\",\"US\",\"Europe\",\"US\",\"US\",\"US\",\"Europe\",\"US\",\"Europe\",\"US\",\"US\",\"Europe\",\"US\",\"Asia\",\"Europe\",\"US\",\"Europe\",\"US\",\"US\",\"US\",\"US\",\"US\",\"US\",\"Asia\",\"US\",\"US\",\"Europe\",\"US\",\"Asia\",\"Asia\",\"Asia\",\"US\",\"US\",\"US\",\"US\",\"Asia\",\"Asia\",\"Asia\",\"US\",\"US\",\"Asia\",\"Asia\",\"Asia\",\"US\",\"US\",\"US\",\"US\",\"US\",\"Asia\",\"US\",\"US\",\"US\",\"Asia\",\"US\",\"US\",\"US\",\"US\",\"Europe\",\"US\",\"US\",\"US\",\"US\",\"US\",\"Asia\",\"Europe\",\"Europe\",\"Asia\",\"US\",\"Asia\",\"US\",\"US\",\"US\",\"Asia\",\"Asia\",\"US\",\"US\",\"Asia\",\"US\",\"Asia\",\"US\",\"Asia\",\"US\",\"Europe\",\"Asia\",\"US\",\"US\",\"US\",\"Europe\",\"US\",\"US\",\"Europe\",\"US\",\"US\",\"US\",\"US\",\"US\",\"US\",\"US\",\"Europe\",\"US\",\"Asia\",\"US\",\"Asia\",\"Europe\",\"US\",\"US\",\"Asia\",\"Asia\",\"US\",\"US\",\"Asia\",\"Europe\",\"Europe\",\"US\",\"US\",\"Asia\",\"US\",\"US\",\"US\",\"US\",\"Asia\",\"US\",\"Europe\",\"Asia\",\"Asia\",\"Europe\",\"US\",\"US\",\"Europe\",\"US\",\"Europe\",\"US\",\"US\",\"Europe\",\"US\",\"US\",\"Europe\",\"US\",\"US\",\"US\",\"US\",\"US\",\"US\",\"Europe\",\"US\",\"US\",\"Asia\",\"US\",\"Asia\",\"US\",\"US\",\"US\",\"Asia\",\"US\",\"Asia\",\"Europe\",\"US\",\"US\",\"US\",\"US\",\"Asia\",\"US\",\"US\",\"US\",\"US\",\"US\",\"US\",\"US\",\"US\",\"US\",\"US\",\"US\",\"US\",\"US\",\"US\",\"US\",\"US\",\"Europe\",\"Europe\",\"Asia\",\"Europe\",\"Asia\",\"US\",\"Asia\",\"US\",\"US\",\"Europe\",\"Europe\",\"US\",\"Europe\",\"US\",\"Asia\",\"US\",\"US\",\"Asia\",\"Asia\",\"US\",\"US\",\"US\",\"US\",\"US\",\"Europe\",\"Europe\",\"US\",\"US\",\"US\",\"Europe\",\"US\",\"Asia\",\"Asia\",\"Asia\",\"Asia\",\"US\",\"US\",\"Asia\",\"US\",\"US\"],\"size\":{\"__ndarray__\":\"AAAAAAAALkAAAAAAAAA0QAAAAAAAACRAAAAAAAAALkAAAAAAAAAkQAAAAAAAACRAAAAAAAAAJEAAAAAAAAAkQAAAAAAAADRAAAAAAAAANEAAAAAAAAAkQAAAAAAAACRAAAAAAAAAJEAAAAAAAAA0QAAAAAAAADRAAAAAAAAANEAAAAAAAAAkQAAAAAAAACRAAAAAAAAAJEAAAAAAAAAeQAAAAAAAAC5AAAAAAAAALkAAAAAAAAA0QAAAAAAAADRAAAAAAAAAJEAAAAAAAAAkQAAAAAAAACRAAAAAAAAAJEAAAAAAAAAuQAAAAAAAACRAAAAAAAAALkAAAAAAAAA0QAAAAAAAACRAAAAAAAAALkAAAAAAAAAkQAAAAAAAACRAAAAAAAAANEAAAAAAAAA0QAAAAAAAACRAAAAAAAAAJEAAAAAAAAAkQAAAAAAAACRAAAAAAAAANEAAAAAAAAA0QAAAAAAAACRAAAAAAAAAJEAAAAAAAAAkQAAAAAAAADRAAAAAAAAAJEAAAAAAAAAuQAAAAAAAADRAAAAAAAAANEAAAAAAAAAkQAAAAAAAACRAAAAAAAAAJEAAAAAAAAAkQAAAAAAAAC5AAAAAAAAALkAAAAAAAAAuQAAAAAAAACRAAAAAAAAAJEAAAAAAAAAuQAAAAAAAAC5AAAAAAAAAJEAAAAAAAAAuQAAAAAAAACRAAAAAAAAANEAAAAAAAAA0QAAAAAAAADRAAAAAAAAAJEAAAAAAAAA0QAAAAAAAACRAAAAAAAAANEAAAAAAAAA0QAAAAAAAAC5AAAAAAAAAJEAAAAAAAAAuQAAAAAAAAC5AAAAAAAAALkAAAAAAAAAkQAAAAAAAAC5AAAAAAAAAJEAAAAAAAAAkQAAAAAAAAC5AAAAAAAAAJEAAAAAAAAAkQAAAAAAAADRAAAAAAAAANEAAAAAAAAAkQAAAAAAAADRAAAAAAAAAJEAAAAAAAAA0QAAAAAAAAC5AAAAAAAAAJEAAAAAAAAAkQAAAAAAAADRAAAAAAAAAJEAAAAAAAAAuQAAAAAAAAC5AAAAAAAAAJEAAAAAAAAAkQAAAAAAAACRAAAAAAAAAJEAAAAAAAAAkQAAAAAAAACRAAAAAAAAAJEAAAAAAAAAuQAAAAAAAADRAAAAAAAAAJEAAAAAAAAApQAAAAAAAACRAAAAAAAAANEAAAAAAAAAkQAAAAAAAADRAAAAAAAAAJEAAAAAAAAA0QAAAAAAAACRAAAAAAAAANEAAAAAAAAA0QAAAAAAAADRAAAAAAAAAJEAAAAAAAAAkQAAAAAAAADRAAAAAAAAAKUAAAAAAAAAkQAAAAAAAACRAAAAAAAAAJEAAAAAAAAAuQAAAAAAAACRAAAAAAAAALkAAAAAAAAA0QAAAAAAAACRAAAAAAAAAJEAAAAAAAAA0QAAAAAAAADRAAAAAAAAAJEAAAAAAAAAuQAAAAAAAACRAAAAAAAAALkAAAAAAAAAkQAAAAAAAACRAAAAAAAAALkAAAAAAAAAuQAAAAAAAACRAAAAAAAAALkAAAAAAAAAkQAAAAAAAACRAAAAAAAAANEAAAAAAAAAkQAAAAAAAACRAAAAAAAAANEAAAAAAAAA0QAAAAAAAACRAAAAAAAAAJEAAAAAAAAAuQAAAAAAAAC5AAAAAAAAAJEAAAAAAAAAkQAAAAAAAACRAAAAAAAAANEAAAAAAAAAkQAAAAAAAACRAAAAAAAAAJEAAAAAAAAAkQAAAAAAAACRAAAAAAAAAJEAAAAAAAAA0QAAAAAAAAC5AAAAAAAAANEAAAAAAAAAkQAAAAAAAAC5AAAAAAAAAJEAAAAAAAAA0QAAAAAAAADRAAAAAAAAAJEAAAAAAAAA0QAAAAAAAACRAAAAAAAAAJEAAAAAAAAA0QAAAAAAAACRAAAAAAAAALkAAAAAAAAAkQAAAAAAAAC5AAAAAAAAAJEAAAAAAAAAkQAAAAAAAACRAAAAAAAAALkAAAAAAAAAuQAAAAAAAACRAAAAAAAAAJEAAAAAAAAA0QAAAAAAAACRAAAAAAAAANEAAAAAAAAAuQAAAAAAAADRAAAAAAAAANEAAAAAAAAAuQAAAAAAAACRAAAAAAAAAJEAAAAAAAAAkQAAAAAAAAC5AAAAAAAAAJEAAAAAAAAAuQAAAAAAAACRAAAAAAAAAJEAAAAAAAAAkQAAAAAAAAC5AAAAAAAAANEAAAAAAAAAkQAAAAAAAAC5AAAAAAAAAJEAAAAAAAAAkQAAAAAAAACRAAAAAAAAALkAAAAAAAAAuQAAAAAAAACRAAAAAAAAAJEAAAAAAAAAkQAAAAAAAADRAAAAAAAAALkAAAAAAAAA0QAAAAAAAACRAAAAAAAAANEAAAAAAAAAkQAAAAAAAACRAAAAAAAAANEAAAAAAAAAuQAAAAAAAACRAAAAAAAAALkAAAAAAAAAuQAAAAAAAAC5AAAAAAAAALkAAAAAAAAAkQAAAAAAAAC5AAAAAAAAANEAAAAAAAAAkQAAAAAAAACRAAAAAAAAANEAAAAAAAAAkQAAAAAAAACRAAAAAAAAAKUAAAAAAAAAkQAAAAAAAADRAAAAAAAAAJEAAAAAAAAA0QAAAAAAAAC5AAAAAAAAANEAAAAAAAAAkQAAAAAAAACRAAAAAAAAANEAAAAAAAAAuQAAAAAAAACRAAAAAAAAANEAAAAAAAAAeQAAAAAAAADRAAAAAAAAAJEAAAAAAAAA0QAAAAAAAACRAAAAAAAAAJEAAAAAAAAAuQAAAAAAAADRAAAAAAAAANEAAAAAAAAAkQAAAAAAAADRAAAAAAAAALkAAAAAAAAAkQAAAAAAAADRAAAAAAAAANEAAAAAAAAA0QAAAAAAAAC5AAAAAAAAANEAAAAAAAAA0QAAAAAAAADRAAAAAAAAAJEAAAAAAAAAuQAAAAAAAACRAAAAAAAAAJEAAAAAAAAAkQAAAAAAAACRAAAAAAAAANEAAAAAAAAAkQAAAAAAAAB5AAAAAAAAAJEAAAAAAAAAkQAAAAAAAACRAAAAAAAAAJEAAAAAAAAAkQAAAAAAAACRAAAAAAAAANEAAAAAAAAAuQAAAAAAAACRAAAAAAAAANEAAAAAAAAAkQAAAAAAAAC5AAAAAAAAALkAAAAAAAAAkQAAAAAAAAC5AAAAAAAAALkAAAAAAAAAkQAAAAAAAACRAAAAAAAAAJEAAAAAAAAA0QAAAAAAAAC5AAAAAAAAAJEAAAAAAAAAkQAAAAAAAACRAAAAAAAAANEAAAAAAAAAkQAAAAAAAACRAAAAAAAAAJEAAAAAAAAAuQAAAAAAAACRAAAAAAAAALkAAAAAAAAA0QAAAAAAAADRAAAAAAAAANEAAAAAAAAAuQAAAAAAAADRAAAAAAAAAJEAAAAAAAAA0QAAAAAAAACRAAAAAAAAAJEAAAAAAAAAkQAAAAAAAACRAAAAAAAAALkAAAAAAAAA0QAAAAAAAADRAAAAAAAAAJEAAAAAAAAA0QAAAAAAAACRAAAAAAAAAJEAAAAAAAAA0QAAAAAAAADRAAAAAAAAANEAAAAAAAAAkQAAAAAAAACRAAAAAAAAAJEAAAAAAAAA0QAAAAAAAACRAAAAAAAAAJEAAAAAAAAA0QAAAAAAAACRAAAAAAAAAJEAAAAAAAAAkQAAAAAAAACRAAAAAAAAANEAAAAAAAAA0QAAAAAAAACRAAAAAAAAANEAAAAAAAAAkQAAAAAAAADRAAAAAAAAALkAAAAAAAAAuQAAAAAAAACRAAAAAAAAAJEAAAAAAAAAkQAAAAAAAAB5AAAAAAAAANEAAAAAAAAAuQAAAAAAAACRAAAAAAAAALkAAAAAAAAAkQAAAAAAAACRAAAAAAAAAJEAAAAAAAAAkQAAAAAAAADRAAAAAAAAALkAAAAAAAAAuQAAAAAAAADRAAAAAAAAAJEAAAAAAAAAkQAAAAAAAACRAAAAAAAAANEAAAAAAAAA0QAAAAAAAACRAAAAAAAAALkAAAAAAAAAkQAAAAAAAACRAAAAAAAAALkAAAAAAAAA0QAAAAAAAAC5AAAAAAAAAJEAAAAAAAAAuQAAAAAAAACRAAAAAAAAAJEAAAAAAAAAuQAAAAAAAACRAAAAAAAAALkAAAAAAAAAkQAAAAAAAACRAAAAAAAAALkAAAAAAAAAkQA==\",\"dtype\":\"float64\",\"shape\":[392]},\"weight\":[3139,4732,1800,3525,2188,2615,2265,2511,4295,3449,2130,2740,2295,4657,3761,4098,1825,2720,1836,2720,3264,3907,4141,3563,2592,2265,2665,2372,3039,2542,2910,3892,2639,3465,2464,2158,4638,3205,2125,2035,1760,2370,3955,4220,2380,1950,2300,4457,2120,3336,4955,3725,2228,2670,2219,2230,2914,3070,2835,1965,1773,3302,3781,2542,3233,1955,4055,3365,4382,2164,4140,2189,4237,4952,2930,2572,3085,2700,2904,2246,3160,2000,3190,3245,2525,2582,4699,4312,1995,5140,2164,4100,2945,2278,1985,4464,1850,3155,2962,2745,3150,2660,2755,1800,2957,2108,3574,3725,1990,2830,1834,3672,2401,4746,2430,4060,1755,4215,3988,3570,2202,1613,3777,2950,2155,1925,1835,3439,2408,3620,4464,2126,2190,4096,3940,2019,3288,2085,3459,2264,2335,3380,3535,2870,2945,2155,2234,4422,2620,3230,4274,4380,1990,2489,3158,3613,2556,2350,2130,4502,1970,2678,2490,2979,2868,2672,3900,2930,4054,2405,3353,2171,4042,3399,2640,4440,2051,2375,4215,2395,3015,2074,2990,2671,2226,2255,3820,3410,2110,2600,4354,2795,4165,3430,3420,4951,2965,2045,2506,3003,3211,1867,2725,2245,2434,1795,2789,3850,2215,3210,1965,1975,2210,3651,3730,1968,2391,2100,4498,3329,3940,2605,3086,2045,2150,4633,3897,2635,3381,3645,3432,2774,2500,3060,3169,2575,2395,4997,1945,1985,3530,2110,4385,2711,4190,3360,3504,1795,2020,4363,3102,2003,4735,2420,3425,2025,3436,3270,2065,3121,3821,4456,1980,3830,2634,3250,4341,3664,4615,3278,4425,4360,4654,2220,2587,2515,2451,2288,1937,4335,2635,2330,1985,2408,2310,1649,2694,1825,4080,3282,2702,4257,2125,2472,3415,2205,2984,3410,2070,1985,2933,3880,2595,2945,2200,2190,4278,2125,2144,2800,2833,1845,3445,3693,3609,4325,3193,4499,1940,3962,1915,2265,2155,2145,3785,4294,3221,2290,3433,2560,2254,4129,3840,4668,2220,2545,2735,4082,2790,2625,4209,2075,1875,2865,2565,3735,4135,2300,3672,2670,3870,3630,3140,2123,2379,2065,2124,4077,2815,2855,3012,2300,1950,2385,1937,4154,2900,2901,4906,2279,2130,2890,4376,3605,2585,3632,2130,1963,3265,3755,2648,2223,3425,2050,2160,2807,1975,3021,2950,2135,3520,2720],\"yr\":[71,70,78,77,80,81,80,72,77,70,82,77,82,75,70,72,77,82,74,77,75,75,74,70,75,73,82,70,75,80,80,72,75,81,76,73,74,78,82,76,81,82,79,77,81,74,78,74,80,74,71,79,71,79,74,78,75,78,82,82,71,71,74,74,76,71,76,78,70,72,77,72,73,73,81,76,76,79,73,74,81,74,79,79,82,73,74,70,82,71,76,73,82,72,81,73,80,78,71,78,76,73,77,78,75,74,76,81,76,78,71,72,73,71,70,77,81,76,73,78,76,71,73,80,77,79,70,71,72,78,71,72,81,71,79,80,71,80,75,71,80,78,78,80,73,76,70,72,81,81,72,76,78,74,75,74,79,81,70,72,82,80,81,72,73,70,79,76,79,78,76,75,73,73,82,75,77,70,76,82,82,71,79,75,72,76,76,78,80,77,70,78,77,78,79,73,78,81,72,80,75,73,81,82,80,75,73,70,81,78,82,79,81,76,75,80,74,72,75,71,76,82,70,77,79,72,75,81,80,76,75,70,80,81,75,82,72,73,77,78,79,80,72,80,76,79,70,76,79,73,74,74,73,80,78,82,70,76,81,73,73,72,82,79,71,80,70,73,70,73,70,79,73,76,70,78,74,72,75,77,81,72,78,71,73,74,75,76,78,71,75,74,74,73,81,82,75,78,78,77,72,77,79,75,79,77,73,82,80,80,70,80,78,70,70,77,76,73,77,76,79,77,78,80,75,72,75,80,70,78,72,72,79,75,71,75,82,73,82,82,71,77,81,82,76,78,72,77,73,79,76,77,78,71,73,71,73,72,77,78,76,74,73,81,76,71,81,74,73,73,71,79,70,79,82,74,79,74,79,76,70,75,77,81,82,73,81,73,82,78,77,78]},\"selected\":{\"id\":\"3613\",\"type\":\"Selection\"},\"selection_policy\":{\"id\":\"3612\",\"type\":\"UnionRenderers\"}},\"id\":\"3424\",\"type\":\"ColumnDataSource\"},{\"attributes\":{\"months\":[0,1,2,3,4,5,6,7,8,9,10,11]},\"id\":\"3443\",\"type\":\"MonthsTicker\"},{\"attributes\":{},\"id\":\"3432\",\"type\":\"BasicTickFormatter\"},{\"attributes\":{\"active_drag\":\"auto\",\"active_inspect\":\"auto\",\"active_multi\":null,\"active_scroll\":\"auto\",\"active_tap\":\"auto\",\"tools\":[{\"id\":\"3396\",\"type\":\"HoverTool\"},{\"id\":\"3418\",\"type\":\"PanTool\"},{\"id\":\"3419\",\"type\":\"WheelZoomTool\"}]},\"id\":\"3420\",\"type\":\"Toolbar\"},{\"attributes\":{\"months\":[0,2,4,6,8,10]},\"id\":\"3444\",\"type\":\"MonthsTicker\"},{\"attributes\":{},\"id\":\"3418\",\"type\":\"PanTool\"},{\"attributes\":{},\"id\":\"3612\",\"type\":\"UnionRenderers\"},{\"attributes\":{\"months\":[0,4,8]},\"id\":\"3445\",\"type\":\"MonthsTicker\"},{\"attributes\":{},\"id\":\"3419\",\"type\":\"WheelZoomTool\"},{\"attributes\":{\"months\":[0,6]},\"id\":\"3446\",\"type\":\"MonthsTicker\"},{\"attributes\":{\"callback\":null,\"tooltips\":[[\"Name\",\"@name\"],[\"Year\",\"@yr\"],[\"Cylinder\",\"@cyl\"]]},\"id\":\"3396\",\"type\":\"HoverTool\"},{\"attributes\":{},\"id\":\"3447\",\"type\":\"YearsTicker\"},{\"attributes\":{},\"id\":\"3613\",\"type\":\"Selection\"},{\"attributes\":{\"items\":[{\"id\":\"3449\",\"type\":\"LegendItem\"}],\"plot\":{\"id\":\"3398\",\"subtype\":\"Figure\",\"type\":\"Plot\"}},\"id\":\"3448\",\"type\":\"Legend\"},{\"attributes\":{\"source\":{\"id\":\"3424\",\"type\":\"ColumnDataSource\"}},\"id\":\"3430\",\"type\":\"CDSView\"},{\"attributes\":{\"callback\":null},\"id\":\"3402\",\"type\":\"DataRange1d\"},{\"attributes\":{\"base\":60,\"mantissas\":[1,2,5,10,15,20,30],\"max_interval\":1800000.0,\"min_interval\":1000.0,\"num_minor_ticks\":0},\"id\":\"3437\",\"type\":\"AdaptiveTicker\"},{\"attributes\":{},\"id\":\"3404\",\"type\":\"LinearScale\"},{\"attributes\":{\"label\":{\"field\":\"origin\"},\"renderers\":[{\"id\":\"3429\",\"type\":\"GlyphRenderer\"}]},\"id\":\"3449\",\"type\":\"LegendItem\"},{\"attributes\":{\"data_source\":{\"id\":\"3424\",\"type\":\"ColumnDataSource\"},\"glyph\":{\"id\":\"3427\",\"type\":\"Circle\"},\"hover_glyph\":null,\"muted_glyph\":null,\"nonselection_glyph\":{\"id\":\"3428\",\"type\":\"Circle\"},\"selection_glyph\":null,\"view\":{\"id\":\"3430\",\"type\":\"CDSView\"}},\"id\":\"3429\",\"type\":\"GlyphRenderer\"},{\"attributes\":{\"fill_alpha\":{\"value\":0.1},\"fill_color\":{\"value\":\"#1f77b4\"},\"line_alpha\":{\"value\":0.1},\"line_color\":{\"value\":\"#1f77b4\"},\"x\":{\"field\":\"weight\"},\"y\":{\"field\":\"mpg\"}},\"id\":\"3428\",\"type\":\"Circle\"},{\"attributes\":{\"callback\":null},\"id\":\"3400\",\"type\":\"DataRange1d\"},{\"attributes\":{\"fill_color\":{\"field\":\"origin\",\"transform\":{\"id\":\"3425\",\"type\":\"CategoricalColorMapper\"}},\"line_color\":{\"field\":\"origin\",\"transform\":{\"id\":\"3425\",\"type\":\"CategoricalColorMapper\"}},\"x\":{\"field\":\"weight\"},\"y\":{\"field\":\"mpg\"}},\"id\":\"3427\",\"type\":\"Circle\"},{\"attributes\":{\"plot\":null,\"text\":\"Efficiency\"},\"id\":\"3397\",\"type\":\"Title\"},{\"attributes\":{},\"id\":\"3434\",\"type\":\"DatetimeTickFormatter\"},{\"attributes\":{\"mantissas\":[1,2,5],\"max_interval\":500.0,\"num_minor_ticks\":0},\"id\":\"3436\",\"type\":\"AdaptiveTicker\"}],\"root_ids\":[\"3398\"]},\"title\":\"Bokeh Application\",\"version\":\"1.0.2\"}};\n", " var render_items = [{\"docid\":\"ce9c5406-19c7-416d-afec-e3ee285a6515\",\"roots\":{\"3398\":\"7835cceb-bfd9-4b12-9689-65c3564e5fb2\"}}];\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": "3398" } }, "output_type": "display_data" } ], "source": [ "df = pd.read_csv('data/auto-mpg-color.csv')\n", "\n", "\n", "#Import CategoricalColorMapper from bokeh.models\n", "from bokeh.models import CategoricalColorMapper\n", "from bokeh.models import HoverTool \n", "\n", "hover = HoverTool(tooltips=[ \n", " ('Name', '@name'), \n", " ('Year', '@yr'), \n", " ('Cylinder', '@cyl'), \n", " ]) \n", "p = figure(tools=[hover, 'pan', 'wheel_zoom'], \n", " x_axis_type='datetime', \n", " x_axis_label = 'weight (lbs)', \n", " y_axis_label = 'miles-per-gallon', \n", " title = 'Efficiency')\n", "\n", "\n", "# Convert df to a ColumnDataSource: source\n", "source = ColumnDataSource(df)\n", "\n", "# Make a CategoricalColorMapper object: color_mapper\n", "color_mapper = CategoricalColorMapper(factors=['Europe', 'Asia', 'US'],\n", " palette=['red', 'green', 'blue'])\n", "\n", "# Add a circle glyph to the figure p\n", "p.circle(x = 'weight',\n", " y = 'mpg', \n", " source=source,\n", " color=dict(field = 'origin',\n", " transform = color_mapper),\n", " legend='origin')\n", "\n", "# Show the result\n", "\n", "show(p)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Layouts, Interactions, and Annotations\n", "Here we'll demonstrate how to combine mutiple Bokeh plots into different kinds of layouts on a page, how to easily link different plots together in various ways, and how to add annotations such as legends and hover tooltips." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Introduction to layouts\n", "\n", "\n", "### Arranging multiple plots\n", "- Plots and interactive controls can be arranged visually on a page in many ways: \n", " - rows, columns \n", " - grid arrangements \n", " - tabbed layouts\n", " - all these collections of bokeh figures combine into a layout" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Creating rows of plots\n", "\n", "Here we'll demonstrate rows of plots with the Literacy and Birth Rate data set to plot fertility vs female literacy and population vs female literacy.\n", "\n", "By using the `row()` method, you'll create a single layout of the two figures.\n", "\n" ] }, { "cell_type": "code", "execution_count": 15, "metadata": {}, "outputs": [ { "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 = {\"c54fccf8-9e15-4bec-b6e4-63c750db5f70\":{\"roots\":{\"references\":[{\"attributes\":{\"children\":[{\"id\":\"3729\",\"subtype\":\"Figure\",\"type\":\"Plot\"},{\"id\":\"3768\",\"subtype\":\"Figure\",\"type\":\"Plot\"}]},\"id\":\"3807\",\"type\":\"Row\"},{\"attributes\":{\"plot\":{\"id\":\"3768\",\"subtype\":\"Figure\",\"type\":\"Plot\"},\"ticker\":{\"id\":\"3778\",\"type\":\"BasicTicker\"}},\"id\":\"3781\",\"type\":\"Grid\"},{\"attributes\":{\"data_source\":{\"id\":\"3728\",\"type\":\"ColumnDataSource\"},\"glyph\":{\"id\":\"3764\",\"type\":\"Circle\"},\"hover_glyph\":null,\"muted_glyph\":null,\"nonselection_glyph\":{\"id\":\"3765\",\"type\":\"Circle\"},\"selection_glyph\":null,\"view\":{\"id\":\"3767\",\"type\":\"CDSView\"}},\"id\":\"3766\",\"type\":\"GlyphRenderer\"},{\"attributes\":{},\"id\":\"3982\",\"type\":\"BasicTickFormatter\"},{\"attributes\":{},\"id\":\"3748\",\"type\":\"PanTool\"},{\"attributes\":{},\"id\":\"3985\",\"type\":\"UnionRenderers\"},{\"attributes\":{},\"id\":\"3783\",\"type\":\"BasicTicker\"},{\"attributes\":{},\"id\":\"3749\",\"type\":\"WheelZoomTool\"},{\"attributes\":{},\"id\":\"3986\",\"type\":\"Selection\"},{\"attributes\":{\"dimension\":1,\"plot\":{\"id\":\"3768\",\"subtype\":\"Figure\",\"type\":\"Plot\"},\"ticker\":{\"id\":\"3783\",\"type\":\"BasicTicker\"}},\"id\":\"3786\",\"type\":\"Grid\"},{\"attributes\":{\"overlay\":{\"id\":\"3756\",\"type\":\"BoxAnnotation\"}},\"id\":\"3750\",\"type\":\"BoxZoomTool\"},{\"attributes\":{},\"id\":\"3751\",\"type\":\"SaveTool\"},{\"attributes\":{\"source\":{\"id\":\"3728\",\"type\":\"ColumnDataSource\"}},\"id\":\"3806\",\"type\":\"CDSView\"},{\"attributes\":{},\"id\":\"3752\",\"type\":\"ResetTool\"},{\"attributes\":{},\"id\":\"3734\",\"type\":\"LinearScale\"},{\"attributes\":{\"callback\":null},\"id\":\"3732\",\"type\":\"DataRange1d\"},{\"attributes\":{},\"id\":\"3753\",\"type\":\"HelpTool\"},{\"attributes\":{},\"id\":\"3787\",\"type\":\"PanTool\"},{\"attributes\":{\"active_drag\":\"auto\",\"active_inspect\":\"auto\",\"active_multi\":null,\"active_scroll\":\"auto\",\"active_tap\":\"auto\",\"tools\":[{\"id\":\"3748\",\"type\":\"PanTool\"},{\"id\":\"3749\",\"type\":\"WheelZoomTool\"},{\"id\":\"3750\",\"type\":\"BoxZoomTool\"},{\"id\":\"3751\",\"type\":\"SaveTool\"},{\"id\":\"3752\",\"type\":\"ResetTool\"},{\"id\":\"3753\",\"type\":\"HelpTool\"}]},\"id\":\"3754\",\"type\":\"Toolbar\"},{\"attributes\":{\"callback\":null},\"id\":\"3730\",\"type\":\"DataRange1d\"},{\"attributes\":{\"axis_label\":\"female_literacy (% population)\",\"formatter\":{\"id\":\"3980\",\"type\":\"BasicTickFormatter\"},\"plot\":{\"id\":\"3768\",\"subtype\":\"Figure\",\"type\":\"Plot\"},\"ticker\":{\"id\":\"3783\",\"type\":\"BasicTicker\"}},\"id\":\"3782\",\"type\":\"LinearAxis\"},{\"attributes\":{},\"id\":\"3788\",\"type\":\"WheelZoomTool\"},{\"attributes\":{\"plot\":null,\"text\":\"\"},\"id\":\"3972\",\"type\":\"Title\"},{\"attributes\":{\"overlay\":{\"id\":\"3795\",\"type\":\"BoxAnnotation\"}},\"id\":\"3789\",\"type\":\"BoxZoomTool\"},{\"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\":\"3756\",\"type\":\"BoxAnnotation\"},{\"attributes\":{},\"id\":\"3736\",\"type\":\"LinearScale\"},{\"attributes\":{},\"id\":\"3790\",\"type\":\"SaveTool\"},{\"attributes\":{\"fill_color\":{\"value\":\"#1f77b4\"},\"line_color\":{\"value\":\"#1f77b4\"},\"x\":{\"field\":\"population\"},\"y\":{\"field\":\"female_literacy\"}},\"id\":\"3803\",\"type\":\"Circle\"},{\"attributes\":{\"source\":{\"id\":\"3728\",\"type\":\"ColumnDataSource\"}},\"id\":\"3767\",\"type\":\"CDSView\"},{\"attributes\":{\"axis_label\":\"fertility (children per woman)\",\"formatter\":{\"id\":\"3978\",\"type\":\"BasicTickFormatter\"},\"plot\":{\"id\":\"3729\",\"subtype\":\"Figure\",\"type\":\"Plot\"},\"ticker\":{\"id\":\"3739\",\"type\":\"BasicTicker\"}},\"id\":\"3738\",\"type\":\"LinearAxis\"},{\"attributes\":{},\"id\":\"3791\",\"type\":\"ResetTool\"},{\"attributes\":{\"data_source\":{\"id\":\"3728\",\"type\":\"ColumnDataSource\"},\"glyph\":{\"id\":\"3803\",\"type\":\"Circle\"},\"hover_glyph\":null,\"muted_glyph\":null,\"nonselection_glyph\":{\"id\":\"3804\",\"type\":\"Circle\"},\"selection_glyph\":null,\"view\":{\"id\":\"3806\",\"type\":\"CDSView\"}},\"id\":\"3805\",\"type\":\"GlyphRenderer\"},{\"attributes\":{},\"id\":\"3739\",\"type\":\"BasicTicker\"},{\"attributes\":{},\"id\":\"3792\",\"type\":\"HelpTool\"},{\"attributes\":{\"plot\":{\"id\":\"3729\",\"subtype\":\"Figure\",\"type\":\"Plot\"},\"ticker\":{\"id\":\"3739\",\"type\":\"BasicTicker\"}},\"id\":\"3742\",\"type\":\"Grid\"},{\"attributes\":{\"active_drag\":\"auto\",\"active_inspect\":\"auto\",\"active_multi\":null,\"active_scroll\":\"auto\",\"active_tap\":\"auto\",\"tools\":[{\"id\":\"3787\",\"type\":\"PanTool\"},{\"id\":\"3788\",\"type\":\"WheelZoomTool\"},{\"id\":\"3789\",\"type\":\"BoxZoomTool\"},{\"id\":\"3790\",\"type\":\"SaveTool\"},{\"id\":\"3791\",\"type\":\"ResetTool\"},{\"id\":\"3792\",\"type\":\"HelpTool\"}]},\"id\":\"3793\",\"type\":\"Toolbar\"},{\"attributes\":{\"callback\":null},\"id\":\"3769\",\"type\":\"DataRange1d\"},{\"attributes\":{\"fill_alpha\":{\"value\":0.1},\"fill_color\":{\"value\":\"#1f77b4\"},\"line_alpha\":{\"value\":0.1},\"line_color\":{\"value\":\"#1f77b4\"},\"x\":{\"field\":\"population\"},\"y\":{\"field\":\"female_literacy\"}},\"id\":\"3804\",\"type\":\"Circle\"},{\"attributes\":{\"axis_label\":\"female_literacy (% population)\",\"formatter\":{\"id\":\"3976\",\"type\":\"BasicTickFormatter\"},\"plot\":{\"id\":\"3729\",\"subtype\":\"Figure\",\"type\":\"Plot\"},\"ticker\":{\"id\":\"3744\",\"type\":\"BasicTicker\"}},\"id\":\"3743\",\"type\":\"LinearAxis\"},{\"attributes\":{\"callback\":null},\"id\":\"3771\",\"type\":\"DataRange1d\"},{\"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\":\"3795\",\"type\":\"BoxAnnotation\"},{\"attributes\":{},\"id\":\"3744\",\"type\":\"BasicTicker\"},{\"attributes\":{},\"id\":\"3773\",\"type\":\"LinearScale\"},{\"attributes\":{\"plot\":null,\"text\":\"\"},\"id\":\"3974\",\"type\":\"Title\"},{\"attributes\":{\"dimension\":1,\"plot\":{\"id\":\"3729\",\"subtype\":\"Figure\",\"type\":\"Plot\"},\"ticker\":{\"id\":\"3744\",\"type\":\"BasicTicker\"}},\"id\":\"3747\",\"type\":\"Grid\"},{\"attributes\":{},\"id\":\"3775\",\"type\":\"LinearScale\"},{\"attributes\":{},\"id\":\"3976\",\"type\":\"BasicTickFormatter\"},{\"attributes\":{\"below\":[{\"id\":\"3738\",\"type\":\"LinearAxis\"}],\"left\":[{\"id\":\"3743\",\"type\":\"LinearAxis\"}],\"plot_width\":400,\"renderers\":[{\"id\":\"3738\",\"type\":\"LinearAxis\"},{\"id\":\"3742\",\"type\":\"Grid\"},{\"id\":\"3743\",\"type\":\"LinearAxis\"},{\"id\":\"3747\",\"type\":\"Grid\"},{\"id\":\"3756\",\"type\":\"BoxAnnotation\"},{\"id\":\"3766\",\"type\":\"GlyphRenderer\"}],\"title\":{\"id\":\"3972\",\"type\":\"Title\"},\"toolbar\":{\"id\":\"3754\",\"type\":\"Toolbar\"},\"x_range\":{\"id\":\"3730\",\"type\":\"DataRange1d\"},\"x_scale\":{\"id\":\"3734\",\"type\":\"LinearScale\"},\"y_range\":{\"id\":\"3732\",\"type\":\"DataRange1d\"},\"y_scale\":{\"id\":\"3736\",\"type\":\"LinearScale\"}},\"id\":\"3729\",\"subtype\":\"Figure\",\"type\":\"Plot\"},{\"attributes\":{\"callback\":null,\"data\":{\"Continent\":[\"ASI\",\"ASI\",\"NAM\",\"ASI\",\"LAT\",\"ASI\",\"ASI\",\"AF\",\"EUR\",\"ASI\",\"LAT\",\"ASI\",\"ASI\",\"EUR\",\"AF\",\"AF\",\"ASI\",\"ASI\",\"ASI\",\"AF\",\"EUR\",\"EUR\",\"EUR\",\"ASI\",\"AF\",\"ASI\",\"EUR\",\"EUR\",\"LAT\",\"AF\",\"AF\",\"LAT\",\"AF\",\"EUR\",\"AF\",\"NAM\",\"AF\",\"AF\",\"ASI\",\"ASI\",\"LAT\",\"ASI\",\"LAT\",\"ASI\",\"ASI\",\"ASI\",\"ASI\",\"AF\",\"ASI\",\"AF\",\"EUR\",\"AF\",\"ASI\",\"ASI\",\"AF\",\"AF\",\"AF\",\"LAT\",\"EUR\",\"ASI\",\"AF\",\"AF\",\"AF\",\"ASI\",\"LAT\",\"LAT\",\"AF\",\"AF\",\"AF\",\"AF\",\"EUR\",\"LAT\",\"AF\",\"EUR\",\"EUR\",\"EUR\",\"AF\",\"EUR\",\"LAT\",\"AF\",\"AF\",\"LAT\",\"EUR\",\"EUR\",\"ASI\",\"AF\",\"AF\",\"EUR\",\"EUR\",\"EUR\",\"LAT\",\"ASI\",\"ASI\",\"OCE\",\"AF\",\"AF\",\"LAT\",\"ASI\",\"LAT\",\"ASI\",\"LAT\",\"AF\",\"EUR\",\"EUR\",\"ASI\",\"ASI\",\"AF\",\"ASI\",\"EUR\",\"LAT\",\"ASI\",\"EUR\",\"EUR\",\"AF\",\"ASI\",\"OCE\",\"ASI\",\"AF\",\"EUR\",\"EUR\",\"LAT\",\"EUR\",\"LAT\",\"AF\",\"EUR\",\"ASI\",\"ASI\",\"ASI\",\"LAT\",\"ASI\",\"EUR\",\"AF\",\"AF\",\"EUR\",\"EUR\",\"AF\",\"AF\",\"AF\",\"AF\",\"EUR\",\"LAT\",\"ASI\",\"AF\",\"AF\",\"EUR\",\"ASI\",\"ASI\",\"AF\",\"AF\",\"ASI\",\"LAT\",\"AF\",\"EUR\",\"ASI\",\"LAT\",\"EUR\",\"ASI\",\"OCE\",\"OCE\",\"AF\",\"LAT\",\"ASI\"],\"Country \":[\"Chine\",\"Inde\",\"USA\",\"Indon\\u00e9sie\",\"Br\\u00e9sil\",\"Pakistan\",\"Bangladesh\",\"Nig\\u00e9ria\",\"F\\u00e9d\\u00e9ration de Russie\",\"Japan\",\"Mexique\",\"Philippines\",\"Viet Nam\",\"Germany\",\"Egypte\",\"Ethiopie\",\"Turquie\",\"Iran, R\\u00e9publique islamique d'\",\"Tha\\u00eflande\",\"R\\u00e9p. D\\u00e9mocratique du Congo\",\"France\",\"UK\",\"Italie\",\"Myanmar\",\"Afrique du Sud\",\"South Korea\",\"Ukraine\",\"Espagne\",\"Colombie\",\"R\\u00e9publique-Unie de Tanzanie\",\"Soudan\",\"Argentine\",\"Kenya\",\"Pologne\",\"Alg\\u00e9rie\",\"Canada\",\"Ouganda\",\"Maroc\",\"Iraq\",\"Afghanistan\",\"P\\u00e9rou\",\"N\\u00e9pal\",\"Venezuela\",\"Ouzb\\u00e9kistan\",\"Malaisie\",\"Arabie saoudite\",\"R\\u00e9p. populaire d\\u00e9mocratique de Cor\\u00e9e\",\"Ghana\",\"Y\\u00e9men\",\"Mozambique\",\"Roumanie\",\"C\\u00f4te d'Ivoire\",\"R\\u00e9publique arabe syrienne\",\"Sri Lanka\",\"Madagascar\",\"Cameroun\",\"Angola\",\"Chili\",\"Netherlands\",\"Kazakhstan\",\"Burkina Faso\",\"Malawi\",\"Niger\",\"Cambodge\",\"Guatemala\",\"Equateur\",\"Mali\",\"Zambie\",\"Zimbabwe\",\"S\\u00e9n\\u00e9gal\",\"Gr\\u00e8ce\",\"Cuba\",\"Tchad\",\"Belgium\",\"Portugal\",\"Czech rep\",\"Tunisie\",\"Hongrie\",\"R\\u00e9publique dominicaine\",\"Guin\\u00e9e\",\"Rwanda\",\"Bolivie\",\"B\\u00e9larus\",\"Sweden\",\"Azerba\\u00efdjan\",\"B\\u00e9nin\",\"Burundi\",\"Switzerland\",\"Bulgarie\",\"Serbie\",\"Honduras\",\"Israel\",\"Tadjikistan\",\"Papouasie-Nouvelle-Guin\\u00e9e\",\"Togo\",\"Jamahiriya arabe libyenne\",\"Paraguay\",\"R\\u00e9p. d\\u00e9mocratique populaire lao\",\"El Salvador\",\"Jordanie\",\"Nicaragua\",\"Sierra Leone\",\"Denmark\",\"Finland\",\"Kirghizistan\",\"Turkm\\u00e9nistan\",\"Erythr\\u00e9e\",\"Singapour\",\"Norway\",\"Costa Rica\",\"Emirats arabes unis\",\"Croatie\",\"Ireland\",\"R\\u00e9publique centrafricaine\",\"G\\u00e9orgie\",\"New Zealand\",\"Liban\",\"Lib\\u00e9ria\",\"Bosnie-Herz\\u00e9govine\",\"R\\u00e9publique de Moldova\",\"Panama\",\"Lituanie\",\"Uruguay\",\"Mauritanie\",\"Albanie\",\"Arm\\u00e9nie\",\"Oman\",\"Kowe\\u00eft\",\"Jama\\u00efque\",\"Mongolie\",\"Lettonie\",\"Namibie\",\"Lesotho\",\"L'ex-R\\u00e9p. yougoslave de Mac\\u00e9doine\",\"Slov\\u00e9nie\",\"Botswana\",\"Gambie\",\"Guin\\u00e9e-Bissau\",\"Gabon\",\"Estonie\",\"Trinit\\u00e9-et-Tobago\",\"Qatar\",\"Maurice\",\"Swaziland\",\"Chypre\",\"Bahre\\u00efn\",\"Bhoutan\",\"Guin\\u00e9e \\u00e9quatoriale\",\"Comores\",\"Macao, Chine\",\"Suriname\",\"Cap-Vert\",\"Malte\",\"Brun\\u00e9i Darussalam\",\"Bahamas\",\"Iceland\",\"Maldives\",\"Vanuatu\",\"Samoa\",\"Sao Tom\\u00e9-et-Principe\",\"Aruba\",\"Tonga\"],\"female_literacy\":{\"__ndarray__\":\"AAAAAACgVkBmZmZmZmZJQAAAAAAAwFhAMzMzMzMzVkDNzMzMzIxWQAAAAAAAAERAZmZmZmbmSEBmZmZmZmZIQJqZmZmZ2VhAAAAAAADAWEAAAAAAAOBWQJqZmZmZeVdAzczMzMyMVkAAAAAAAMBYQGZmZmZm5kxAzczMzMzMNkAzMzMzM1NUQM3MzMzMTFNAAAAAAADgVkDNzMzMzAxMQAAAAAAAwFhAAAAAAADAWEAAAAAAAKBYQM3MzMzMTFZAZmZmZmYGVkBmZmZmZiZYQGZmZmZm5lhAmpmZmZk5WECamZmZmVlXQDMzMzMzk1BAzczMzMzMTUDNzMzMzGxYQDMzMzMzs1RAMzMzMzPTWEAzMzMzM/NPQAAAAAAAwFhAMzMzMzOzUEDNzMzMzAxGQM3MzMzMTFFAMzMzMzMzKUBmZmZmZiZVQDMzMzMzs0ZAmpmZmZm5V0CamZmZmblYQDMzMzMzc1ZAzczMzMwMVEAAAAAAAABZQGZmZmZmpk1AZmZmZmZmRUDNzMzMzAxEQJqZmZmZOVhAZmZmZmYmRkDNzMzMzExTQGZmZmZmRlZAMzMzMzNTUEAzMzMzM/NQQAAAAAAAgExAzczMzMysWEAAAAAAAMBYQAAAAAAA4FhAmpmZmZmZNUAzMzMzM3NQQDMzMzMzMy5AmpmZmZm5UUDNzMzMzCxRQM3MzMzMbFRAMzMzMzMzMkAAAAAAAIBOQDMzMzMzM1ZAAAAAAACAQECamZmZmflXQDMzMzMz81hAZmZmZmbmNUAAAAAAAMBYQJqZmZmZOVdAAAAAAADAWEAAAAAAAMBRQJqZmZmZuVhAMzMzMzMTVkBmZmZmZmY6QGZmZmZmhlBAAAAAAACAVUDNzMzMzOxYQAAAAAAAwFhAzczMzMzMWECamZmZmRk8QDMzMzMz801AAAAAAADAWECamZmZmXlYQM3MzMzMDFhAAAAAAADgVECamZmZmflXQAAAAAAA4FhAzczMzMzMS0CamZmZmdlKQDMzMzMzU1RAAAAAAABgV0CamZmZmZlPQJqZmZmZWVRAmpmZmZk5VkCamZmZmXlTQGZmZmZm5jxAAAAAAADAWEAAAAAAAABZQGZmZmZmxlhAMzMzMzPTWEAAAAAAAEBLQGZmZmZm5lZAAAAAAAAAWUDNzMzMzAxYQAAAAAAA4FZAAAAAAACAWEAAAAAAAMBYQM3MzMzMjERAzczMzMzsWEAAAAAAAMBYQAAAAAAAgFVAAAAAAACASkCamZmZmflXQDMzMzMzc1hAMzMzMzMzV0DNzMzMzOxYQAAAAAAAoFhAAAAAAADASEDNzMzMzKxYQJqZmZmZ2VhAmpmZmZk5VEBmZmZmZkZXQDMzMzMzs1ZAMzMzMzNzWEAzMzMzM/NYQM3MzMzM7FVAZmZmZmbGV0CamZmZmdlXQM3MzMzM7FhAAAAAAADgVEBmZmZmZiZBQAAAAAAAQEJAzczMzMzMVEAzMzMzM/NYQM3MzMzMjFhAmpmZmZmZVkAzMzMzMzNVQGZmZmZmZlVAzczMzMwsWECamZmZmVlWQJqZmZmZWUNAZmZmZmZGVkAzMzMzM/NQQM3MzMzMrFZAmpmZmZkZVkAzMzMzM9NTQAAAAAAAYFdAMzMzMzNTV0AAAAAAACBYQAAAAAAAwFhAmpmZmZmZWEAAAAAAAOBTQAAAAAAAoFhAMzMzMzPTVEAAAAAAAIBYQGZmZmZmxlhA\",\"dtype\":\"float64\",\"shape\":[162]},\"fertility\":{\"__ndarray__\":\"6Pup8dJN/D/b+X5qvHQFQARWDi2ynQBAdJMYBFYOAUAIrBxaZDv9P2Dl0CLb+Q5A6Pup8dJNAkD91HjpJrEUQH0/NV66SfY//tR46SYx9D9zaJHtfD8BQGmR7Xw/NQhA3SQGgZVDAEDJdr6fGi/1P7tJDAIrhwZA8tJNYhDYFEDNzMzMzMwAQOXQItv5fvw/8/3UeOkm/T9uEoPAyqEXQH9qvHSTGP4/bhKDwMqh/T89CtejcD32P3Noke18PwJACtejcD0KBEAv3SQGgZXzPy2yne+nxvU/sXJoke189z8IrBxaZDsDQBSuR+F6FBZACKwcWmQ7EEBjEFg5tMgBQFYOLbKdbxNAE4PAyqFF9D8j2/l+arwCQN0kBoGVQ/k/arx0kxgEGUB56SYxCKwCQOSlm8QgsA9AhetRuB4FGkA9CtejcD0EQC/dJAaBlQZAlkOLbOf7A0CWQ4ts5/sBQKrx0k1iEARAUrgehetRCEBEi2zn+6n9P+F6FK5H4RBAZmZmZmZmFECR7Xw/Nd4TQDMzMzMzM/U/dJMYBFYOEkD8qfHSTWIJQBFYObTIdgJAexSuR+F6EkBEi2zn+ykSQEA1XrpJjBZAN4lBYOXQ/j/AyqFFtvP7PycxCKwcWgJAd76fGi9dF0BSuB6F69EVQC2yne+nRhxArBxaZDvfBkDfT42XbhIQQLTIdr6fGgRAH4XrUbieFUCmm8QgsPIWQIGVQ4ts5wpAj8L1KFyPE0ApXI/C9Sj2PxSuR+F6FPg/bef7qfFSGEAlBoGVQ4v8P0A1XrpJDPY/MzMzMzMz9z/b+X5qvHT9P+xRuB6F6/U/TDeJQWDlBEA3iUFg5VAVQFK4HoXrURVALIcW2c73CkDl0CLb+X70P1YOLbKd7/0/001iEFg5AUBPjZduEoMVQM3MzMzMzBFAXI/C9Shc9z9g5dAi2/n2P5duEoPAyvk/hetRuB6FCUBqvHSTGAQGQM3MzMzMzApACtejcD0KEEBEi2zn+6kQQIlBYOXQIgVAN4lBYOXQB0BSuB6F61ELQFyPwvUoXAJA8/3UeOkmCEARWDm0yHYFQClcj8L1qBRAL90kBoGV/T/GSzeJQWD9P7+fGi/dJARAcT0K16NwA0DqJjEIrBwSQGiR7Xw/NfQ/KVyPwvUo/j9KDAIrhxb/P/yp8dJNYv4/30+Nl24S9z9zaJHtfD//P30/NV66yRJAHFpkO99P+T8zMzMzMzMAQNv5fmq8dP0/JQaBlUMLFEAxCKwcWmTzP9R46SYxCPg/VOOlm8QgBECsHFpkO9/1P4PAyqFFtgBAWmQ730+NEUBEi2zn+6n9PyyHFtnO9/s/bef7qfHSB0Cd76fGSzcBQEw3iUFg5QJAAyuHFtnO/z83iUFg5dD2P1K4HoXrUQpA6SYxCKwcCkBg5dAi2/n2P30/NV66SfY/+n5qvHSTBkDGSzeJQeATQIlBYOXQohZA7FG4HoXrCUBKDAIrhxb7PyYxCKwcWvo/4XoUrkfhAkB46SYxCKz8P5qZmZmZmQtAqMZLN4lB+D93vp8aL90BQBsv3SQGgQRAbhKDwMohFUAUrkfhehQPQLbz/dR46e4/lkOLbOf7AkDo+6nx0k0FQGq8dJMYBPQ/0SLb+X5qAEAshxbZzvcKQFg5tMh2vgBAAAAAAAAAAECq8dJNYhAPQDeJQWDl0A5AWDm0yHa+DUCDwMqhRbb7PwaBlUOLbA9A\",\"dtype\":\"float64\",\"shape\":[162]},\"index\":[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,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161],\"population\":{\"__ndarray__\":\"AAAAZii900GQFOkAn/zQQQAAAGCWH7JBAAAAdAUaq0EAAABkgeKmQe+OPP5RzaNBAAAAANESo0EAAAC8oQaiQQAAAGD466BBAAAAAG9ynkH67buGHVuZQQAAAFRuipVBAAAAdOONlEEAAABEmpOTQQAAABAGcJNBAAAAaFs+k0EAAABQXp+RQToXwIbdJ5FBAAAAPPAQkEEAAADY06OOQQAAAMA5so1BAAAAcNVIjUEAAACYu4eMQQAAAFgsoodBAAAAwDw3h0EAAADAeC2HQQAAAMDADoZBAAAAIAC5hUEAAAAApHaFQQAAAJgGQoRBAAAAWFS3g0EAAAAghwSDQQAAAAAYfIJBAAAA+AUugkEAAACQ+WOAQQAAAICqxH9BAAAAELowfkEAAAAANyR+QRITrwTXSX1BsGr1rzqte0EAAADANYB7QQAAAGCTeXtBAAAAgBGkekEAAABAYgx6QQAAABBMw3lB9wa/XgOBd0EAAAAQILd2QQAAAPDoRHZBAAAA0BbbdUEAAABQfFh1QQAAAGBZhHRBAAAAYCyjc0EolOqduqBzQSDBaMXyOHNBAAAA0ME5ckEAAAAQQDRyQQAAAMCTL3FBAAAAAIcGcEEAAAAgE15vQQAAACC65W1BAAAAgGsObUEAAADAHFFsQQAAAMDXC2xBAAAAAFvGa0EAAAAArhpqQQAAAAC6tmlBAAAAAPk7aEEAAABgNxJoQQAAAOBjxWdBAAAAoH1KZ0EAAADA3G5lQQAAAOAPX2VBAAAAYPDQZEEAAAAgumxkQQAAAKC5QmRBAAAAAALiY0EAAAAA37JjQQAAAIB1JWNBAAAA4Lj7YkEAAADgS8FiQQAAAMBuimJBAAAAIHR9YkEAAABA+nZiQQAAAKDGlWFBAAAAgFSOYEEAAADAiIVgQQAAAIADzV5BAAAAwG4sXUEAAADAuBRdQQAAAEDzCVxBAAAAQEHrW0EAAAAAgOFbQQAAAMDcE1pBAAAAgK0WWUEAAABAO6NYQQAAAECpAlhBAAAAwKfLV0EAAABA56tXQQAAAIAlZldBXanGt56HVkEAAABAf55VQQAAAECLNVVBAAAAQN30VEEAAADA3URUQQAAAAAzIlRBAAAAgGg9U0EAAABAZ8tSQQAAAAD6dVJBAAAAAHUwUkEAAACANT1RQQAAAMDRG1FBAAAAABTqUEEAAADA8uFQQQAAAMCPjVBBAAAAwBBuUEEAAAAA2UhQQQAAAADv/k9BAAAAAPzwTEEAAAAAVslMQQAAAIBsuEtBAAAAgFPuSUEAAACA0Z5JQQAAAADSb0lBAAAAgGGHSEEAAACAPftHQQAAAIDveUdBAAAAgChARUGBGHRrNNBEQQAAAABwgERBAAAAAKAmREEAAAAA90lBQQAAAADfP0BBAAAAAJVFP0EAAAAA/iU/QQAAAADE1z5BAAAAAGJQPUEAAAAAKFU5QQAAAAAWCjhBAAAAAN8YNkEAAAAAA3U0QQAAAACMWDRBAAAAAF6LM0EAAAAAdlwzQQAAAADa0TFBAAAAAMRRKkEAAAAAQqsnQQAAAACK9SRBAAAAAPodJEGoYCyg5qMjQQAAAADEDiBBAAAAANBwH0EAAAAAwG8eQQAAAAC4JBlBAAAAAGDxF0EAAAAAEJwUQQAAAACYXxNBAAAAAAyeEkEAAAAAUIwMQQAAAACo1QVBAAAAAHCNA0EAAAAA8L75QAAAAADgSPlA\",\"dtype\":\"float64\",\"shape\":[162]}},\"selected\":{\"id\":\"3986\",\"type\":\"Selection\"},\"selection_policy\":{\"id\":\"3985\",\"type\":\"UnionRenderers\"}},\"id\":\"3728\",\"type\":\"ColumnDataSource\"},{\"attributes\":{},\"id\":\"3978\",\"type\":\"BasicTickFormatter\"},{\"attributes\":{\"fill_alpha\":{\"value\":0.1},\"fill_color\":{\"value\":\"#1f77b4\"},\"line_alpha\":{\"value\":0.1},\"line_color\":{\"value\":\"#1f77b4\"},\"x\":{\"field\":\"fertility\"},\"y\":{\"field\":\"female_literacy\"}},\"id\":\"3765\",\"type\":\"Circle\"},{\"attributes\":{\"axis_label\":\"population\",\"formatter\":{\"id\":\"3982\",\"type\":\"BasicTickFormatter\"},\"plot\":{\"id\":\"3768\",\"subtype\":\"Figure\",\"type\":\"Plot\"},\"ticker\":{\"id\":\"3778\",\"type\":\"BasicTicker\"}},\"id\":\"3777\",\"type\":\"LinearAxis\"},{\"attributes\":{\"below\":[{\"id\":\"3777\",\"type\":\"LinearAxis\"}],\"left\":[{\"id\":\"3782\",\"type\":\"LinearAxis\"}],\"plot_width\":400,\"renderers\":[{\"id\":\"3777\",\"type\":\"LinearAxis\"},{\"id\":\"3781\",\"type\":\"Grid\"},{\"id\":\"3782\",\"type\":\"LinearAxis\"},{\"id\":\"3786\",\"type\":\"Grid\"},{\"id\":\"3795\",\"type\":\"BoxAnnotation\"},{\"id\":\"3805\",\"type\":\"GlyphRenderer\"}],\"title\":{\"id\":\"3974\",\"type\":\"Title\"},\"toolbar\":{\"id\":\"3793\",\"type\":\"Toolbar\"},\"x_range\":{\"id\":\"3769\",\"type\":\"DataRange1d\"},\"x_scale\":{\"id\":\"3773\",\"type\":\"LinearScale\"},\"y_range\":{\"id\":\"3771\",\"type\":\"DataRange1d\"},\"y_scale\":{\"id\":\"3775\",\"type\":\"LinearScale\"}},\"id\":\"3768\",\"subtype\":\"Figure\",\"type\":\"Plot\"},{\"attributes\":{\"fill_color\":{\"value\":\"#1f77b4\"},\"line_color\":{\"value\":\"#1f77b4\"},\"x\":{\"field\":\"fertility\"},\"y\":{\"field\":\"female_literacy\"}},\"id\":\"3764\",\"type\":\"Circle\"},{\"attributes\":{},\"id\":\"3778\",\"type\":\"BasicTicker\"},{\"attributes\":{},\"id\":\"3980\",\"type\":\"BasicTickFormatter\"}],\"root_ids\":[\"3807\"]},\"title\":\"Bokeh Application\",\"version\":\"1.0.2\"}};\n", " var render_items = [{\"docid\":\"c54fccf8-9e15-4bec-b6e4-63c750db5f70\",\"roots\":{\"3807\":\"1d397fbc-889f-4d79-91c6-97976f3abc4d\"}}];\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": "3807" } }, "output_type": "display_data" } ], "source": [ "df = pd.read_csv('data/literacy_birth_rate.csv', nrows = 162)\n", "df.columns = ['Country ', 'Continent', 'female_literacy', 'fertility', 'population']\n", "\n", "source = ColumnDataSource(df)\n", "\n", "# Import row from bokeh.layouts\n", "from bokeh.layouts import row\n", "\n", "# Create the first figure: p1\n", "p1 = figure(x_axis_label='fertility (children per woman)', y_axis_label='female_literacy (% population)', plot_width = 400)\n", "\n", "# Add a circle glyph to p1\n", "p1.circle('fertility', 'female_literacy', source=source)\n", "\n", "# Create the second figure: p2\n", "p2 = figure(x_axis_label='population', y_axis_label='female_literacy (% population)', plot_width = 400)\n", "\n", "# Add a circle glyph to p2\n", "p2.circle('population', 'female_literacy', source = source)\n", "\n", "# Put p1 and p2 into a horizontal row: layout\n", "layout = row(p1, p2)\n", "\n", "\n", "# Show the result\n", "\n", "show(layout)\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Creating columns of plots\n", "\n", "Here we'll demo how to use the `column()` function to create a single column layout of the same two plots as above." ] }, { "cell_type": "code", "execution_count": 16, "metadata": {}, "outputs": [ { "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 = {\"33108513-6531-4a56-9e8b-e583e521a39b\":{\"roots\":{\"references\":[{\"attributes\":{\"children\":[{\"id\":\"4086\",\"subtype\":\"Figure\",\"type\":\"Plot\"},{\"id\":\"4125\",\"subtype\":\"Figure\",\"type\":\"Plot\"}]},\"id\":\"4164\",\"type\":\"Column\"},{\"attributes\":{\"callback\":null},\"id\":\"4128\",\"type\":\"DataRange1d\"},{\"attributes\":{},\"id\":\"4093\",\"type\":\"LinearScale\"},{\"attributes\":{},\"id\":\"4147\",\"type\":\"SaveTool\"},{\"attributes\":{\"active_drag\":\"auto\",\"active_inspect\":\"auto\",\"active_multi\":null,\"active_scroll\":\"auto\",\"active_tap\":\"auto\",\"tools\":[{\"id\":\"4105\",\"type\":\"PanTool\"},{\"id\":\"4106\",\"type\":\"WheelZoomTool\"},{\"id\":\"4107\",\"type\":\"BoxZoomTool\"},{\"id\":\"4108\",\"type\":\"SaveTool\"},{\"id\":\"4109\",\"type\":\"ResetTool\"},{\"id\":\"4110\",\"type\":\"HelpTool\"}]},\"id\":\"4111\",\"type\":\"Toolbar\"},{\"attributes\":{},\"id\":\"4148\",\"type\":\"ResetTool\"},{\"attributes\":{},\"id\":\"3985\",\"type\":\"UnionRenderers\"},{\"attributes\":{},\"id\":\"4110\",\"type\":\"HelpTool\"},{\"attributes\":{},\"id\":\"4149\",\"type\":\"HelpTool\"},{\"attributes\":{},\"id\":\"3986\",\"type\":\"Selection\"},{\"attributes\":{\"callback\":null},\"id\":\"4087\",\"type\":\"DataRange1d\"},{\"attributes\":{\"active_drag\":\"auto\",\"active_inspect\":\"auto\",\"active_multi\":null,\"active_scroll\":\"auto\",\"active_tap\":\"auto\",\"tools\":[{\"id\":\"4144\",\"type\":\"PanTool\"},{\"id\":\"4145\",\"type\":\"WheelZoomTool\"},{\"id\":\"4146\",\"type\":\"BoxZoomTool\"},{\"id\":\"4147\",\"type\":\"SaveTool\"},{\"id\":\"4148\",\"type\":\"ResetTool\"},{\"id\":\"4149\",\"type\":\"HelpTool\"}]},\"id\":\"4150\",\"type\":\"Toolbar\"},{\"attributes\":{\"overlay\":{\"id\":\"4113\",\"type\":\"BoxAnnotation\"}},\"id\":\"4107\",\"type\":\"BoxZoomTool\"},{\"attributes\":{\"data_source\":{\"id\":\"3728\",\"type\":\"ColumnDataSource\"},\"glyph\":{\"id\":\"4160\",\"type\":\"Circle\"},\"hover_glyph\":null,\"muted_glyph\":null,\"nonselection_glyph\":{\"id\":\"4161\",\"type\":\"Circle\"},\"selection_glyph\":null,\"view\":{\"id\":\"4163\",\"type\":\"CDSView\"}},\"id\":\"4162\",\"type\":\"GlyphRenderer\"},{\"attributes\":{},\"id\":\"4130\",\"type\":\"LinearScale\"},{\"attributes\":{\"callback\":null},\"id\":\"4126\",\"type\":\"DataRange1d\"},{\"attributes\":{\"callback\":null},\"id\":\"4089\",\"type\":\"DataRange1d\"},{\"attributes\":{\"axis_label\":\"female_literacy (% population)\",\"formatter\":{\"id\":\"4349\",\"type\":\"BasicTickFormatter\"},\"plot\":{\"id\":\"4086\",\"subtype\":\"Figure\",\"type\":\"Plot\"},\"ticker\":{\"id\":\"4101\",\"type\":\"BasicTicker\"}},\"id\":\"4100\",\"type\":\"LinearAxis\"},{\"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\":\"4152\",\"type\":\"BoxAnnotation\"},{\"attributes\":{},\"id\":\"4091\",\"type\":\"LinearScale\"},{\"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\":\"4113\",\"type\":\"BoxAnnotation\"},{\"attributes\":{\"below\":[{\"id\":\"4095\",\"type\":\"LinearAxis\"}],\"left\":[{\"id\":\"4100\",\"type\":\"LinearAxis\"}],\"plot_height\":400,\"renderers\":[{\"id\":\"4095\",\"type\":\"LinearAxis\"},{\"id\":\"4099\",\"type\":\"Grid\"},{\"id\":\"4100\",\"type\":\"LinearAxis\"},{\"id\":\"4104\",\"type\":\"Grid\"},{\"id\":\"4113\",\"type\":\"BoxAnnotation\"},{\"id\":\"4123\",\"type\":\"GlyphRenderer\"}],\"title\":{\"id\":\"4345\",\"type\":\"Title\"},\"toolbar\":{\"id\":\"4111\",\"type\":\"Toolbar\"},\"x_range\":{\"id\":\"4087\",\"type\":\"DataRange1d\"},\"x_scale\":{\"id\":\"4091\",\"type\":\"LinearScale\"},\"y_range\":{\"id\":\"4089\",\"type\":\"DataRange1d\"},\"y_scale\":{\"id\":\"4093\",\"type\":\"LinearScale\"}},\"id\":\"4086\",\"subtype\":\"Figure\",\"type\":\"Plot\"},{\"attributes\":{\"dimension\":1,\"plot\":{\"id\":\"4086\",\"subtype\":\"Figure\",\"type\":\"Plot\"},\"ticker\":{\"id\":\"4101\",\"type\":\"BasicTicker\"}},\"id\":\"4104\",\"type\":\"Grid\"},{\"attributes\":{\"source\":{\"id\":\"3728\",\"type\":\"ColumnDataSource\"}},\"id\":\"4124\",\"type\":\"CDSView\"},{\"attributes\":{\"source\":{\"id\":\"3728\",\"type\":\"ColumnDataSource\"}},\"id\":\"4163\",\"type\":\"CDSView\"},{\"attributes\":{},\"id\":\"4101\",\"type\":\"BasicTicker\"},{\"attributes\":{},\"id\":\"4353\",\"type\":\"BasicTickFormatter\"},{\"attributes\":{\"overlay\":{\"id\":\"4152\",\"type\":\"BoxAnnotation\"}},\"id\":\"4146\",\"type\":\"BoxZoomTool\"},{\"attributes\":{\"fill_alpha\":{\"value\":0.1},\"fill_color\":{\"value\":\"#1f77b4\"},\"line_alpha\":{\"value\":0.1},\"line_color\":{\"value\":\"#1f77b4\"},\"x\":{\"field\":\"fertility\"},\"y\":{\"field\":\"female_literacy\"}},\"id\":\"4122\",\"type\":\"Circle\"},{\"attributes\":{},\"id\":\"4355\",\"type\":\"BasicTickFormatter\"},{\"attributes\":{},\"id\":\"4145\",\"type\":\"WheelZoomTool\"},{\"attributes\":{\"dimension\":1,\"plot\":{\"id\":\"4125\",\"subtype\":\"Figure\",\"type\":\"Plot\"},\"ticker\":{\"id\":\"4140\",\"type\":\"BasicTicker\"}},\"id\":\"4143\",\"type\":\"Grid\"},{\"attributes\":{},\"id\":\"4349\",\"type\":\"BasicTickFormatter\"},{\"attributes\":{\"plot\":null,\"text\":\"\"},\"id\":\"4345\",\"type\":\"Title\"},{\"attributes\":{},\"id\":\"4132\",\"type\":\"LinearScale\"},{\"attributes\":{},\"id\":\"4135\",\"type\":\"BasicTicker\"},{\"attributes\":{\"below\":[{\"id\":\"4134\",\"type\":\"LinearAxis\"}],\"left\":[{\"id\":\"4139\",\"type\":\"LinearAxis\"}],\"plot_height\":400,\"renderers\":[{\"id\":\"4134\",\"type\":\"LinearAxis\"},{\"id\":\"4138\",\"type\":\"Grid\"},{\"id\":\"4139\",\"type\":\"LinearAxis\"},{\"id\":\"4143\",\"type\":\"Grid\"},{\"id\":\"4152\",\"type\":\"BoxAnnotation\"},{\"id\":\"4162\",\"type\":\"GlyphRenderer\"}],\"title\":{\"id\":\"4347\",\"type\":\"Title\"},\"toolbar\":{\"id\":\"4150\",\"type\":\"Toolbar\"},\"x_range\":{\"id\":\"4126\",\"type\":\"DataRange1d\"},\"x_scale\":{\"id\":\"4130\",\"type\":\"LinearScale\"},\"y_range\":{\"id\":\"4128\",\"type\":\"DataRange1d\"},\"y_scale\":{\"id\":\"4132\",\"type\":\"LinearScale\"}},\"id\":\"4125\",\"subtype\":\"Figure\",\"type\":\"Plot\"},{\"attributes\":{\"fill_color\":{\"value\":\"#1f77b4\"},\"line_color\":{\"value\":\"#1f77b4\"},\"x\":{\"field\":\"fertility\"},\"y\":{\"field\":\"female_literacy\"}},\"id\":\"4121\",\"type\":\"Circle\"},{\"attributes\":{\"axis_label\":\"fertility (children per woman)\",\"formatter\":{\"id\":\"4351\",\"type\":\"BasicTickFormatter\"},\"plot\":{\"id\":\"4086\",\"subtype\":\"Figure\",\"type\":\"Plot\"},\"ticker\":{\"id\":\"4096\",\"type\":\"BasicTicker\"}},\"id\":\"4095\",\"type\":\"LinearAxis\"},{\"attributes\":{\"axis_label\":\"population\",\"formatter\":{\"id\":\"4355\",\"type\":\"BasicTickFormatter\"},\"plot\":{\"id\":\"4125\",\"subtype\":\"Figure\",\"type\":\"Plot\"},\"ticker\":{\"id\":\"4135\",\"type\":\"BasicTicker\"}},\"id\":\"4134\",\"type\":\"LinearAxis\"},{\"attributes\":{\"fill_alpha\":{\"value\":0.1},\"fill_color\":{\"value\":\"#1f77b4\"},\"line_alpha\":{\"value\":0.1},\"line_color\":{\"value\":\"#1f77b4\"},\"x\":{\"field\":\"population\"},\"y\":{\"field\":\"female_literacy\"}},\"id\":\"4161\",\"type\":\"Circle\"},{\"attributes\":{},\"id\":\"4351\",\"type\":\"BasicTickFormatter\"},{\"attributes\":{\"plot\":{\"id\":\"4086\",\"subtype\":\"Figure\",\"type\":\"Plot\"},\"ticker\":{\"id\":\"4096\",\"type\":\"BasicTicker\"}},\"id\":\"4099\",\"type\":\"Grid\"},{\"attributes\":{\"plot\":{\"id\":\"4125\",\"subtype\":\"Figure\",\"type\":\"Plot\"},\"ticker\":{\"id\":\"4135\",\"type\":\"BasicTicker\"}},\"id\":\"4138\",\"type\":\"Grid\"},{\"attributes\":{},\"id\":\"4108\",\"type\":\"SaveTool\"},{\"attributes\":{},\"id\":\"4106\",\"type\":\"WheelZoomTool\"},{\"attributes\":{},\"id\":\"4096\",\"type\":\"BasicTicker\"},{\"attributes\":{\"axis_label\":\"female_literacy (% population)\",\"formatter\":{\"id\":\"4353\",\"type\":\"BasicTickFormatter\"},\"plot\":{\"id\":\"4125\",\"subtype\":\"Figure\",\"type\":\"Plot\"},\"ticker\":{\"id\":\"4140\",\"type\":\"BasicTicker\"}},\"id\":\"4139\",\"type\":\"LinearAxis\"},{\"attributes\":{\"callback\":null,\"data\":{\"Continent\":[\"ASI\",\"ASI\",\"NAM\",\"ASI\",\"LAT\",\"ASI\",\"ASI\",\"AF\",\"EUR\",\"ASI\",\"LAT\",\"ASI\",\"ASI\",\"EUR\",\"AF\",\"AF\",\"ASI\",\"ASI\",\"ASI\",\"AF\",\"EUR\",\"EUR\",\"EUR\",\"ASI\",\"AF\",\"ASI\",\"EUR\",\"EUR\",\"LAT\",\"AF\",\"AF\",\"LAT\",\"AF\",\"EUR\",\"AF\",\"NAM\",\"AF\",\"AF\",\"ASI\",\"ASI\",\"LAT\",\"ASI\",\"LAT\",\"ASI\",\"ASI\",\"ASI\",\"ASI\",\"AF\",\"ASI\",\"AF\",\"EUR\",\"AF\",\"ASI\",\"ASI\",\"AF\",\"AF\",\"AF\",\"LAT\",\"EUR\",\"ASI\",\"AF\",\"AF\",\"AF\",\"ASI\",\"LAT\",\"LAT\",\"AF\",\"AF\",\"AF\",\"AF\",\"EUR\",\"LAT\",\"AF\",\"EUR\",\"EUR\",\"EUR\",\"AF\",\"EUR\",\"LAT\",\"AF\",\"AF\",\"LAT\",\"EUR\",\"EUR\",\"ASI\",\"AF\",\"AF\",\"EUR\",\"EUR\",\"EUR\",\"LAT\",\"ASI\",\"ASI\",\"OCE\",\"AF\",\"AF\",\"LAT\",\"ASI\",\"LAT\",\"ASI\",\"LAT\",\"AF\",\"EUR\",\"EUR\",\"ASI\",\"ASI\",\"AF\",\"ASI\",\"EUR\",\"LAT\",\"ASI\",\"EUR\",\"EUR\",\"AF\",\"ASI\",\"OCE\",\"ASI\",\"AF\",\"EUR\",\"EUR\",\"LAT\",\"EUR\",\"LAT\",\"AF\",\"EUR\",\"ASI\",\"ASI\",\"ASI\",\"LAT\",\"ASI\",\"EUR\",\"AF\",\"AF\",\"EUR\",\"EUR\",\"AF\",\"AF\",\"AF\",\"AF\",\"EUR\",\"LAT\",\"ASI\",\"AF\",\"AF\",\"EUR\",\"ASI\",\"ASI\",\"AF\",\"AF\",\"ASI\",\"LAT\",\"AF\",\"EUR\",\"ASI\",\"LAT\",\"EUR\",\"ASI\",\"OCE\",\"OCE\",\"AF\",\"LAT\",\"ASI\"],\"Country \":[\"Chine\",\"Inde\",\"USA\",\"Indon\\u00e9sie\",\"Br\\u00e9sil\",\"Pakistan\",\"Bangladesh\",\"Nig\\u00e9ria\",\"F\\u00e9d\\u00e9ration de Russie\",\"Japan\",\"Mexique\",\"Philippines\",\"Viet Nam\",\"Germany\",\"Egypte\",\"Ethiopie\",\"Turquie\",\"Iran, R\\u00e9publique islamique d'\",\"Tha\\u00eflande\",\"R\\u00e9p. D\\u00e9mocratique du Congo\",\"France\",\"UK\",\"Italie\",\"Myanmar\",\"Afrique du Sud\",\"South Korea\",\"Ukraine\",\"Espagne\",\"Colombie\",\"R\\u00e9publique-Unie de Tanzanie\",\"Soudan\",\"Argentine\",\"Kenya\",\"Pologne\",\"Alg\\u00e9rie\",\"Canada\",\"Ouganda\",\"Maroc\",\"Iraq\",\"Afghanistan\",\"P\\u00e9rou\",\"N\\u00e9pal\",\"Venezuela\",\"Ouzb\\u00e9kistan\",\"Malaisie\",\"Arabie saoudite\",\"R\\u00e9p. populaire d\\u00e9mocratique de Cor\\u00e9e\",\"Ghana\",\"Y\\u00e9men\",\"Mozambique\",\"Roumanie\",\"C\\u00f4te d'Ivoire\",\"R\\u00e9publique arabe syrienne\",\"Sri Lanka\",\"Madagascar\",\"Cameroun\",\"Angola\",\"Chili\",\"Netherlands\",\"Kazakhstan\",\"Burkina Faso\",\"Malawi\",\"Niger\",\"Cambodge\",\"Guatemala\",\"Equateur\",\"Mali\",\"Zambie\",\"Zimbabwe\",\"S\\u00e9n\\u00e9gal\",\"Gr\\u00e8ce\",\"Cuba\",\"Tchad\",\"Belgium\",\"Portugal\",\"Czech rep\",\"Tunisie\",\"Hongrie\",\"R\\u00e9publique dominicaine\",\"Guin\\u00e9e\",\"Rwanda\",\"Bolivie\",\"B\\u00e9larus\",\"Sweden\",\"Azerba\\u00efdjan\",\"B\\u00e9nin\",\"Burundi\",\"Switzerland\",\"Bulgarie\",\"Serbie\",\"Honduras\",\"Israel\",\"Tadjikistan\",\"Papouasie-Nouvelle-Guin\\u00e9e\",\"Togo\",\"Jamahiriya arabe libyenne\",\"Paraguay\",\"R\\u00e9p. d\\u00e9mocratique populaire lao\",\"El Salvador\",\"Jordanie\",\"Nicaragua\",\"Sierra Leone\",\"Denmark\",\"Finland\",\"Kirghizistan\",\"Turkm\\u00e9nistan\",\"Erythr\\u00e9e\",\"Singapour\",\"Norway\",\"Costa Rica\",\"Emirats arabes unis\",\"Croatie\",\"Ireland\",\"R\\u00e9publique centrafricaine\",\"G\\u00e9orgie\",\"New Zealand\",\"Liban\",\"Lib\\u00e9ria\",\"Bosnie-Herz\\u00e9govine\",\"R\\u00e9publique de Moldova\",\"Panama\",\"Lituanie\",\"Uruguay\",\"Mauritanie\",\"Albanie\",\"Arm\\u00e9nie\",\"Oman\",\"Kowe\\u00eft\",\"Jama\\u00efque\",\"Mongolie\",\"Lettonie\",\"Namibie\",\"Lesotho\",\"L'ex-R\\u00e9p. yougoslave de Mac\\u00e9doine\",\"Slov\\u00e9nie\",\"Botswana\",\"Gambie\",\"Guin\\u00e9e-Bissau\",\"Gabon\",\"Estonie\",\"Trinit\\u00e9-et-Tobago\",\"Qatar\",\"Maurice\",\"Swaziland\",\"Chypre\",\"Bahre\\u00efn\",\"Bhoutan\",\"Guin\\u00e9e \\u00e9quatoriale\",\"Comores\",\"Macao, Chine\",\"Suriname\",\"Cap-Vert\",\"Malte\",\"Brun\\u00e9i Darussalam\",\"Bahamas\",\"Iceland\",\"Maldives\",\"Vanuatu\",\"Samoa\",\"Sao Tom\\u00e9-et-Principe\",\"Aruba\",\"Tonga\"],\"female_literacy\":{\"__ndarray__\":\"AAAAAACgVkBmZmZmZmZJQAAAAAAAwFhAMzMzMzMzVkDNzMzMzIxWQAAAAAAAAERAZmZmZmbmSEBmZmZmZmZIQJqZmZmZ2VhAAAAAAADAWEAAAAAAAOBWQJqZmZmZeVdAzczMzMyMVkAAAAAAAMBYQGZmZmZm5kxAzczMzMzMNkAzMzMzM1NUQM3MzMzMTFNAAAAAAADgVkDNzMzMzAxMQAAAAAAAwFhAAAAAAADAWEAAAAAAAKBYQM3MzMzMTFZAZmZmZmYGVkBmZmZmZiZYQGZmZmZm5lhAmpmZmZk5WECamZmZmVlXQDMzMzMzk1BAzczMzMzMTUDNzMzMzGxYQDMzMzMzs1RAMzMzMzPTWEAzMzMzM/NPQAAAAAAAwFhAMzMzMzOzUEDNzMzMzAxGQM3MzMzMTFFAMzMzMzMzKUBmZmZmZiZVQDMzMzMzs0ZAmpmZmZm5V0CamZmZmblYQDMzMzMzc1ZAzczMzMwMVEAAAAAAAABZQGZmZmZmpk1AZmZmZmZmRUDNzMzMzAxEQJqZmZmZOVhAZmZmZmYmRkDNzMzMzExTQGZmZmZmRlZAMzMzMzNTUEAzMzMzM/NQQAAAAAAAgExAzczMzMysWEAAAAAAAMBYQAAAAAAA4FhAmpmZmZmZNUAzMzMzM3NQQDMzMzMzMy5AmpmZmZm5UUDNzMzMzCxRQM3MzMzMbFRAMzMzMzMzMkAAAAAAAIBOQDMzMzMzM1ZAAAAAAACAQECamZmZmflXQDMzMzMz81hAZmZmZmbmNUAAAAAAAMBYQJqZmZmZOVdAAAAAAADAWEAAAAAAAMBRQJqZmZmZuVhAMzMzMzMTVkBmZmZmZmY6QGZmZmZmhlBAAAAAAACAVUDNzMzMzOxYQAAAAAAAwFhAzczMzMzMWECamZmZmRk8QDMzMzMz801AAAAAAADAWECamZmZmXlYQM3MzMzMDFhAAAAAAADgVECamZmZmflXQAAAAAAA4FhAzczMzMzMS0CamZmZmdlKQDMzMzMzU1RAAAAAAABgV0CamZmZmZlPQJqZmZmZWVRAmpmZmZk5VkCamZmZmXlTQGZmZmZm5jxAAAAAAADAWEAAAAAAAABZQGZmZmZmxlhAMzMzMzPTWEAAAAAAAEBLQGZmZmZm5lZAAAAAAAAAWUDNzMzMzAxYQAAAAAAA4FZAAAAAAACAWEAAAAAAAMBYQM3MzMzMjERAzczMzMzsWEAAAAAAAMBYQAAAAAAAgFVAAAAAAACASkCamZmZmflXQDMzMzMzc1hAMzMzMzMzV0DNzMzMzOxYQAAAAAAAoFhAAAAAAADASEDNzMzMzKxYQJqZmZmZ2VhAmpmZmZk5VEBmZmZmZkZXQDMzMzMzs1ZAMzMzMzNzWEAzMzMzM/NYQM3MzMzM7FVAZmZmZmbGV0CamZmZmdlXQM3MzMzM7FhAAAAAAADgVEBmZmZmZiZBQAAAAAAAQEJAzczMzMzMVEAzMzMzM/NYQM3MzMzMjFhAmpmZmZmZVkAzMzMzMzNVQGZmZmZmZlVAzczMzMwsWECamZmZmVlWQJqZmZmZWUNAZmZmZmZGVkAzMzMzM/NQQM3MzMzMrFZAmpmZmZkZVkAzMzMzM9NTQAAAAAAAYFdAMzMzMzNTV0AAAAAAACBYQAAAAAAAwFhAmpmZmZmZWEAAAAAAAOBTQAAAAAAAoFhAMzMzMzPTVEAAAAAAAIBYQGZmZmZmxlhA\",\"dtype\":\"float64\",\"shape\":[162]},\"fertility\":{\"__ndarray__\":\"6Pup8dJN/D/b+X5qvHQFQARWDi2ynQBAdJMYBFYOAUAIrBxaZDv9P2Dl0CLb+Q5A6Pup8dJNAkD91HjpJrEUQH0/NV66SfY//tR46SYx9D9zaJHtfD8BQGmR7Xw/NQhA3SQGgZVDAEDJdr6fGi/1P7tJDAIrhwZA8tJNYhDYFEDNzMzMzMwAQOXQItv5fvw/8/3UeOkm/T9uEoPAyqEXQH9qvHSTGP4/bhKDwMqh/T89CtejcD32P3Noke18PwJACtejcD0KBEAv3SQGgZXzPy2yne+nxvU/sXJoke189z8IrBxaZDsDQBSuR+F6FBZACKwcWmQ7EEBjEFg5tMgBQFYOLbKdbxNAE4PAyqFF9D8j2/l+arwCQN0kBoGVQ/k/arx0kxgEGUB56SYxCKwCQOSlm8QgsA9AhetRuB4FGkA9CtejcD0EQC/dJAaBlQZAlkOLbOf7A0CWQ4ts5/sBQKrx0k1iEARAUrgehetRCEBEi2zn+6n9P+F6FK5H4RBAZmZmZmZmFECR7Xw/Nd4TQDMzMzMzM/U/dJMYBFYOEkD8qfHSTWIJQBFYObTIdgJAexSuR+F6EkBEi2zn+ykSQEA1XrpJjBZAN4lBYOXQ/j/AyqFFtvP7PycxCKwcWgJAd76fGi9dF0BSuB6F69EVQC2yne+nRhxArBxaZDvfBkDfT42XbhIQQLTIdr6fGgRAH4XrUbieFUCmm8QgsPIWQIGVQ4ts5wpAj8L1KFyPE0ApXI/C9Sj2PxSuR+F6FPg/bef7qfFSGEAlBoGVQ4v8P0A1XrpJDPY/MzMzMzMz9z/b+X5qvHT9P+xRuB6F6/U/TDeJQWDlBEA3iUFg5VAVQFK4HoXrURVALIcW2c73CkDl0CLb+X70P1YOLbKd7/0/001iEFg5AUBPjZduEoMVQM3MzMzMzBFAXI/C9Shc9z9g5dAi2/n2P5duEoPAyvk/hetRuB6FCUBqvHSTGAQGQM3MzMzMzApACtejcD0KEEBEi2zn+6kQQIlBYOXQIgVAN4lBYOXQB0BSuB6F61ELQFyPwvUoXAJA8/3UeOkmCEARWDm0yHYFQClcj8L1qBRAL90kBoGV/T/GSzeJQWD9P7+fGi/dJARAcT0K16NwA0DqJjEIrBwSQGiR7Xw/NfQ/KVyPwvUo/j9KDAIrhxb/P/yp8dJNYv4/30+Nl24S9z9zaJHtfD//P30/NV66yRJAHFpkO99P+T8zMzMzMzMAQNv5fmq8dP0/JQaBlUMLFEAxCKwcWmTzP9R46SYxCPg/VOOlm8QgBECsHFpkO9/1P4PAyqFFtgBAWmQ730+NEUBEi2zn+6n9PyyHFtnO9/s/bef7qfHSB0Cd76fGSzcBQEw3iUFg5QJAAyuHFtnO/z83iUFg5dD2P1K4HoXrUQpA6SYxCKwcCkBg5dAi2/n2P30/NV66SfY/+n5qvHSTBkDGSzeJQeATQIlBYOXQohZA7FG4HoXrCUBKDAIrhxb7PyYxCKwcWvo/4XoUrkfhAkB46SYxCKz8P5qZmZmZmQtAqMZLN4lB+D93vp8aL90BQBsv3SQGgQRAbhKDwMohFUAUrkfhehQPQLbz/dR46e4/lkOLbOf7AkDo+6nx0k0FQGq8dJMYBPQ/0SLb+X5qAEAshxbZzvcKQFg5tMh2vgBAAAAAAAAAAECq8dJNYhAPQDeJQWDl0A5AWDm0yHa+DUCDwMqhRbb7PwaBlUOLbA9A\",\"dtype\":\"float64\",\"shape\":[162]},\"index\":[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,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161],\"population\":{\"__ndarray__\":\"AAAAZii900GQFOkAn/zQQQAAAGCWH7JBAAAAdAUaq0EAAABkgeKmQe+OPP5RzaNBAAAAANESo0EAAAC8oQaiQQAAAGD466BBAAAAAG9ynkH67buGHVuZQQAAAFRuipVBAAAAdOONlEEAAABEmpOTQQAAABAGcJNBAAAAaFs+k0EAAABQXp+RQToXwIbdJ5FBAAAAPPAQkEEAAADY06OOQQAAAMA5so1BAAAAcNVIjUEAAACYu4eMQQAAAFgsoodBAAAAwDw3h0EAAADAeC2HQQAAAMDADoZBAAAAIAC5hUEAAAAApHaFQQAAAJgGQoRBAAAAWFS3g0EAAAAghwSDQQAAAAAYfIJBAAAA+AUugkEAAACQ+WOAQQAAAICqxH9BAAAAELowfkEAAAAANyR+QRITrwTXSX1BsGr1rzqte0EAAADANYB7QQAAAGCTeXtBAAAAgBGkekEAAABAYgx6QQAAABBMw3lB9wa/XgOBd0EAAAAQILd2QQAAAPDoRHZBAAAA0BbbdUEAAABQfFh1QQAAAGBZhHRBAAAAYCyjc0EolOqduqBzQSDBaMXyOHNBAAAA0ME5ckEAAAAQQDRyQQAAAMCTL3FBAAAAAIcGcEEAAAAgE15vQQAAACC65W1BAAAAgGsObUEAAADAHFFsQQAAAMDXC2xBAAAAAFvGa0EAAAAArhpqQQAAAAC6tmlBAAAAAPk7aEEAAABgNxJoQQAAAOBjxWdBAAAAoH1KZ0EAAADA3G5lQQAAAOAPX2VBAAAAYPDQZEEAAAAgumxkQQAAAKC5QmRBAAAAAALiY0EAAAAA37JjQQAAAIB1JWNBAAAA4Lj7YkEAAADgS8FiQQAAAMBuimJBAAAAIHR9YkEAAABA+nZiQQAAAKDGlWFBAAAAgFSOYEEAAADAiIVgQQAAAIADzV5BAAAAwG4sXUEAAADAuBRdQQAAAEDzCVxBAAAAQEHrW0EAAAAAgOFbQQAAAMDcE1pBAAAAgK0WWUEAAABAO6NYQQAAAECpAlhBAAAAwKfLV0EAAABA56tXQQAAAIAlZldBXanGt56HVkEAAABAf55VQQAAAECLNVVBAAAAQN30VEEAAADA3URUQQAAAAAzIlRBAAAAgGg9U0EAAABAZ8tSQQAAAAD6dVJBAAAAAHUwUkEAAACANT1RQQAAAMDRG1FBAAAAABTqUEEAAADA8uFQQQAAAMCPjVBBAAAAwBBuUEEAAAAA2UhQQQAAAADv/k9BAAAAAPzwTEEAAAAAVslMQQAAAIBsuEtBAAAAgFPuSUEAAACA0Z5JQQAAAADSb0lBAAAAgGGHSEEAAACAPftHQQAAAIDveUdBAAAAgChARUGBGHRrNNBEQQAAAABwgERBAAAAAKAmREEAAAAA90lBQQAAAADfP0BBAAAAAJVFP0EAAAAA/iU/QQAAAADE1z5BAAAAAGJQPUEAAAAAKFU5QQAAAAAWCjhBAAAAAN8YNkEAAAAAA3U0QQAAAACMWDRBAAAAAF6LM0EAAAAAdlwzQQAAAADa0TFBAAAAAMRRKkEAAAAAQqsnQQAAAACK9SRBAAAAAPodJEGoYCyg5qMjQQAAAADEDiBBAAAAANBwH0EAAAAAwG8eQQAAAAC4JBlBAAAAAGDxF0EAAAAAEJwUQQAAAACYXxNBAAAAAAyeEkEAAAAAUIwMQQAAAACo1QVBAAAAAHCNA0EAAAAA8L75QAAAAADgSPlA\",\"dtype\":\"float64\",\"shape\":[162]}},\"selected\":{\"id\":\"3986\",\"type\":\"Selection\"},\"selection_policy\":{\"id\":\"3985\",\"type\":\"UnionRenderers\"}},\"id\":\"3728\",\"type\":\"ColumnDataSource\"},{\"attributes\":{\"plot\":null,\"text\":\"\"},\"id\":\"4347\",\"type\":\"Title\"},{\"attributes\":{},\"id\":\"4109\",\"type\":\"ResetTool\"},{\"attributes\":{},\"id\":\"4140\",\"type\":\"BasicTicker\"},{\"attributes\":{},\"id\":\"4144\",\"type\":\"PanTool\"},{\"attributes\":{},\"id\":\"4105\",\"type\":\"PanTool\"},{\"attributes\":{\"data_source\":{\"id\":\"3728\",\"type\":\"ColumnDataSource\"},\"glyph\":{\"id\":\"4121\",\"type\":\"Circle\"},\"hover_glyph\":null,\"muted_glyph\":null,\"nonselection_glyph\":{\"id\":\"4122\",\"type\":\"Circle\"},\"selection_glyph\":null,\"view\":{\"id\":\"4124\",\"type\":\"CDSView\"}},\"id\":\"4123\",\"type\":\"GlyphRenderer\"},{\"attributes\":{\"fill_color\":{\"value\":\"#1f77b4\"},\"line_color\":{\"value\":\"#1f77b4\"},\"x\":{\"field\":\"population\"},\"y\":{\"field\":\"female_literacy\"}},\"id\":\"4160\",\"type\":\"Circle\"}],\"root_ids\":[\"4164\"]},\"title\":\"Bokeh Application\",\"version\":\"1.0.2\"}};\n", " var render_items = [{\"docid\":\"33108513-6531-4a56-9e8b-e583e521a39b\",\"roots\":{\"4164\":\"ef2c591b-f8bf-4c50-b65d-fe5e1478ec21\"}}];\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": "4164" } }, "output_type": "display_data" } ], "source": [ "# Import column from the bokeh.layouts module\n", "from bokeh.layouts import column\n", "\n", "# Create a blank figure: p1\n", "p1 = figure(x_axis_label='fertility (children per woman)', y_axis_label='female_literacy (% population)', plot_height = 400)\n", "\n", "# Add circle scatter to the figure p1\n", "p1.circle('fertility', 'female_literacy', source=source)\n", "\n", "# Create a new blank figure: p2\n", "p2 = figure(x_axis_label='population', y_axis_label='female_literacy (% population)', plot_height = 400)\n", "\n", "# Add circle scatter to the figure p2\n", "p2.circle('population', 'female_literacy', source=source)\n", "\n", "# Put plots p1 and p2 in a column: layout\n", "layout = column(p1, p2)\n", "\n", "# Show the result\n", "\n", "show(layout)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Nesting rows and columns of plots\n", "\n", "We can combine row and column layouts to create nested layouts of plots. \n", "\n", "We can add in the `sizing_mode` argument to scale the widths to fill the whole figure.\n" ] }, { "cell_type": "code", "execution_count": 17, "metadata": {}, "outputs": [ { "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 = {\"17c24f2d-96f9-4a5f-9c53-9e525b899633\":{\"roots\":{\"references\":[{\"attributes\":{\"children\":[{\"id\":\"4511\",\"subtype\":\"Figure\",\"type\":\"Plot\"},{\"id\":\"4567\",\"type\":\"Column\"}],\"sizing_mode\":\"scale_width\"},\"id\":\"4568\",\"type\":\"Row\"},{\"attributes\":{\"plot\":null,\"text\":\"\"},\"id\":\"4554\",\"type\":\"Title\"},{\"attributes\":{},\"id\":\"4556\",\"type\":\"BasicTickFormatter\"},{\"attributes\":{},\"id\":\"4558\",\"type\":\"BasicTickFormatter\"},{\"attributes\":{\"items\":[{\"id\":\"4561\",\"type\":\"LegendItem\"}],\"plot\":{\"id\":\"4486\",\"subtype\":\"Figure\",\"type\":\"Plot\"}},\"id\":\"4560\",\"type\":\"Legend\"},{\"attributes\":{\"label\":{\"field\":\"origin\"},\"renderers\":[{\"id\":\"4552\",\"type\":\"GlyphRenderer\"}]},\"id\":\"4561\",\"type\":\"LegendItem\"},{\"attributes\":{\"data_source\":{\"id\":\"4562\",\"type\":\"ColumnDataSource\"},\"glyph\":{\"id\":\"4563\",\"type\":\"Line\"},\"hover_glyph\":null,\"muted_glyph\":null,\"nonselection_glyph\":{\"id\":\"4564\",\"type\":\"Line\"},\"selection_glyph\":null,\"view\":{\"id\":\"4566\",\"type\":\"CDSView\"}},\"id\":\"4565\",\"type\":\"GlyphRenderer\"},{\"attributes\":{\"source\":{\"id\":\"4562\",\"type\":\"ColumnDataSource\"}},\"id\":\"4566\",\"type\":\"CDSView\"},{\"attributes\":{\"children\":[{\"id\":\"4461\",\"subtype\":\"Figure\",\"type\":\"Plot\"},{\"id\":\"4486\",\"subtype\":\"Figure\",\"type\":\"Plot\"}],\"sizing_mode\":\"scale_width\"},\"id\":\"4567\",\"type\":\"Column\"},{\"attributes\":{},\"id\":\"4767\",\"type\":\"BasicTickFormatter\"},{\"attributes\":{},\"id\":\"4769\",\"type\":\"BasicTickFormatter\"},{\"attributes\":{},\"id\":\"4775\",\"type\":\"UnionRenderers\"},{\"attributes\":{},\"id\":\"4776\",\"type\":\"Selection\"},{\"attributes\":{},\"id\":\"4785\",\"type\":\"UnionRenderers\"},{\"attributes\":{},\"id\":\"4786\",\"type\":\"Selection\"},{\"attributes\":{},\"id\":\"4496\",\"type\":\"BasicTicker\"},{\"attributes\":{\"plot\":{\"id\":\"4486\",\"subtype\":\"Figure\",\"type\":\"Plot\"},\"ticker\":{\"id\":\"4496\",\"type\":\"BasicTicker\"}},\"id\":\"4499\",\"type\":\"Grid\"},{\"attributes\":{\"below\":[{\"id\":\"4470\",\"type\":\"LinearAxis\"}],\"left\":[{\"id\":\"4475\",\"type\":\"LinearAxis\"}],\"renderers\":[{\"id\":\"4470\",\"type\":\"LinearAxis\"},{\"id\":\"4474\",\"type\":\"Grid\"},{\"id\":\"4475\",\"type\":\"LinearAxis\"},{\"id\":\"4479\",\"type\":\"Grid\"},{\"id\":\"4547\",\"type\":\"Legend\"},{\"id\":\"4539\",\"type\":\"GlyphRenderer\"}],\"sizing_mode\":\"scale_width\",\"title\":{\"id\":\"4541\",\"type\":\"Title\"},\"toolbar\":{\"id\":\"4482\",\"type\":\"Toolbar\"},\"x_range\":{\"id\":\"4462\",\"type\":\"DataRange1d\"},\"x_scale\":{\"id\":\"4466\",\"type\":\"LinearScale\"},\"y_range\":{\"id\":\"4464\",\"type\":\"DataRange1d\"},\"y_scale\":{\"id\":\"4468\",\"type\":\"LinearScale\"}},\"id\":\"4461\",\"subtype\":\"Figure\",\"type\":\"Plot\"},{\"attributes\":{\"axis_label\":\"weight\",\"formatter\":{\"id\":\"4556\",\"type\":\"BasicTickFormatter\"},\"plot\":{\"id\":\"4486\",\"subtype\":\"Figure\",\"type\":\"Plot\"},\"ticker\":{\"id\":\"4501\",\"type\":\"BasicTicker\"}},\"id\":\"4500\",\"type\":\"LinearAxis\"},{\"attributes\":{\"below\":[{\"id\":\"4495\",\"type\":\"LinearAxis\"}],\"left\":[{\"id\":\"4500\",\"type\":\"LinearAxis\"}],\"renderers\":[{\"id\":\"4495\",\"type\":\"LinearAxis\"},{\"id\":\"4499\",\"type\":\"Grid\"},{\"id\":\"4500\",\"type\":\"LinearAxis\"},{\"id\":\"4504\",\"type\":\"Grid\"},{\"id\":\"4560\",\"type\":\"Legend\"},{\"id\":\"4552\",\"type\":\"GlyphRenderer\"}],\"sizing_mode\":\"scale_width\",\"title\":{\"id\":\"4554\",\"type\":\"Title\"},\"toolbar\":{\"id\":\"4507\",\"type\":\"Toolbar\"},\"x_range\":{\"id\":\"4487\",\"type\":\"DataRange1d\"},\"x_scale\":{\"id\":\"4491\",\"type\":\"LinearScale\"},\"y_range\":{\"id\":\"4489\",\"type\":\"DataRange1d\"},\"y_scale\":{\"id\":\"4493\",\"type\":\"LinearScale\"}},\"id\":\"4486\",\"subtype\":\"Figure\",\"type\":\"Plot\"},{\"attributes\":{},\"id\":\"4501\",\"type\":\"BasicTicker\"},{\"attributes\":{\"dimension\":1,\"plot\":{\"id\":\"4486\",\"subtype\":\"Figure\",\"type\":\"Plot\"},\"ticker\":{\"id\":\"4501\",\"type\":\"BasicTicker\"}},\"id\":\"4504\",\"type\":\"Grid\"},{\"attributes\":{\"active_drag\":\"auto\",\"active_inspect\":\"auto\",\"active_multi\":null,\"active_scroll\":\"auto\",\"active_tap\":\"auto\",\"tools\":[{\"id\":\"4460\",\"type\":\"HoverTool\"},{\"id\":\"4505\",\"type\":\"PanTool\"},{\"id\":\"4506\",\"type\":\"WheelZoomTool\"}]},\"id\":\"4507\",\"type\":\"Toolbar\"},{\"attributes\":{},\"id\":\"4505\",\"type\":\"PanTool\"},{\"attributes\":{},\"id\":\"4506\",\"type\":\"WheelZoomTool\"},{\"attributes\":{\"callback\":null},\"id\":\"4512\",\"type\":\"DataRange1d\"},{\"attributes\":{\"callback\":null},\"id\":\"4514\",\"type\":\"DataRange1d\"},{\"attributes\":{},\"id\":\"4516\",\"type\":\"LinearScale\"},{\"attributes\":{\"callback\":null,\"tooltips\":[[\"Name\",\"@name\"],[\"Year\",\"@yr\"],[\"Cylinder\",\"@cyl\"]]},\"id\":\"4460\",\"type\":\"HoverTool\"},{\"attributes\":{},\"id\":\"4518\",\"type\":\"LinearScale\"},{\"attributes\":{\"axis_label\":\"yr\",\"formatter\":{\"id\":\"4769\",\"type\":\"BasicTickFormatter\"},\"plot\":{\"id\":\"4511\",\"subtype\":\"Figure\",\"type\":\"Plot\"},\"ticker\":{\"id\":\"4521\",\"type\":\"BasicTicker\"}},\"id\":\"4520\",\"type\":\"LinearAxis\"},{\"attributes\":{},\"id\":\"4468\",\"type\":\"LinearScale\"},{\"attributes\":{\"axis_label\":\"miles-per-gallon\",\"formatter\":{\"id\":\"4545\",\"type\":\"BasicTickFormatter\"},\"plot\":{\"id\":\"4461\",\"subtype\":\"Figure\",\"type\":\"Plot\"},\"ticker\":{\"id\":\"4471\",\"type\":\"BasicTicker\"}},\"id\":\"4470\",\"type\":\"LinearAxis\"},{\"attributes\":{},\"id\":\"4521\",\"type\":\"BasicTicker\"},{\"attributes\":{\"active_drag\":\"auto\",\"active_inspect\":\"auto\",\"active_multi\":null,\"active_scroll\":\"auto\",\"active_tap\":\"auto\",\"tools\":[{\"id\":\"4460\",\"type\":\"HoverTool\"},{\"id\":\"4480\",\"type\":\"PanTool\"},{\"id\":\"4481\",\"type\":\"WheelZoomTool\"}]},\"id\":\"4482\",\"type\":\"Toolbar\"},{\"attributes\":{\"plot\":null,\"text\":\"\"},\"id\":\"4765\",\"type\":\"Title\"},{\"attributes\":{\"plot\":{\"id\":\"4511\",\"subtype\":\"Figure\",\"type\":\"Plot\"},\"ticker\":{\"id\":\"4521\",\"type\":\"BasicTicker\"}},\"id\":\"4524\",\"type\":\"Grid\"},{\"attributes\":{},\"id\":\"4480\",\"type\":\"PanTool\"},{\"attributes\":{\"axis_label\":\"avg-miles-per-gallon\",\"formatter\":{\"id\":\"4767\",\"type\":\"BasicTickFormatter\"},\"plot\":{\"id\":\"4511\",\"subtype\":\"Figure\",\"type\":\"Plot\"},\"ticker\":{\"id\":\"4526\",\"type\":\"BasicTicker\"}},\"id\":\"4525\",\"type\":\"LinearAxis\"},{\"attributes\":{},\"id\":\"4526\",\"type\":\"BasicTicker\"},{\"attributes\":{\"dimension\":1,\"plot\":{\"id\":\"4511\",\"subtype\":\"Figure\",\"type\":\"Plot\"},\"ticker\":{\"id\":\"4526\",\"type\":\"BasicTicker\"}},\"id\":\"4529\",\"type\":\"Grid\"},{\"attributes\":{},\"id\":\"4466\",\"type\":\"LinearScale\"},{\"attributes\":{\"active_drag\":\"auto\",\"active_inspect\":\"auto\",\"active_multi\":null,\"active_scroll\":\"auto\",\"active_tap\":\"auto\",\"tools\":[{\"id\":\"4460\",\"type\":\"HoverTool\"},{\"id\":\"4530\",\"type\":\"PanTool\"},{\"id\":\"4531\",\"type\":\"WheelZoomTool\"}]},\"id\":\"4532\",\"type\":\"Toolbar\"},{\"attributes\":{\"callback\":null},\"id\":\"4464\",\"type\":\"DataRange1d\"},{\"attributes\":{},\"id\":\"4530\",\"type\":\"PanTool\"},{\"attributes\":{\"callback\":null},\"id\":\"4462\",\"type\":\"DataRange1d\"},{\"attributes\":{},\"id\":\"4531\",\"type\":\"WheelZoomTool\"},{\"attributes\":{\"line_color\":\"#1f77b4\",\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"4563\",\"type\":\"Line\"},{\"attributes\":{\"fill_color\":{\"field\":\"origin\",\"transform\":{\"id\":\"3425\",\"type\":\"CategoricalColorMapper\"}},\"line_color\":{\"field\":\"origin\",\"transform\":{\"id\":\"3425\",\"type\":\"CategoricalColorMapper\"}},\"x\":{\"field\":\"mpg\"},\"y\":{\"field\":\"hp\"}},\"id\":\"4537\",\"type\":\"Circle\"},{\"attributes\":{\"factors\":[\"Europe\",\"Asia\",\"US\"],\"palette\":[\"red\",\"green\",\"blue\"]},\"id\":\"3425\",\"type\":\"CategoricalColorMapper\"},{\"attributes\":{},\"id\":\"4471\",\"type\":\"BasicTicker\"},{\"attributes\":{\"fill_alpha\":{\"value\":0.1},\"fill_color\":{\"value\":\"#1f77b4\"},\"line_alpha\":{\"value\":0.1},\"line_color\":{\"value\":\"#1f77b4\"},\"x\":{\"field\":\"mpg\"},\"y\":{\"field\":\"hp\"}},\"id\":\"4538\",\"type\":\"Circle\"},{\"attributes\":{\"plot\":{\"id\":\"4461\",\"subtype\":\"Figure\",\"type\":\"Plot\"},\"ticker\":{\"id\":\"4471\",\"type\":\"BasicTicker\"}},\"id\":\"4474\",\"type\":\"Grid\"},{\"attributes\":{\"data_source\":{\"id\":\"4459\",\"type\":\"ColumnDataSource\"},\"glyph\":{\"id\":\"4537\",\"type\":\"Circle\"},\"hover_glyph\":null,\"muted_glyph\":null,\"nonselection_glyph\":{\"id\":\"4538\",\"type\":\"Circle\"},\"selection_glyph\":null,\"view\":{\"id\":\"4540\",\"type\":\"CDSView\"}},\"id\":\"4539\",\"type\":\"GlyphRenderer\"},{\"attributes\":{\"axis_label\":\"hp\",\"formatter\":{\"id\":\"4543\",\"type\":\"BasicTickFormatter\"},\"plot\":{\"id\":\"4461\",\"subtype\":\"Figure\",\"type\":\"Plot\"},\"ticker\":{\"id\":\"4476\",\"type\":\"BasicTicker\"}},\"id\":\"4475\",\"type\":\"LinearAxis\"},{\"attributes\":{\"source\":{\"id\":\"4459\",\"type\":\"ColumnDataSource\"}},\"id\":\"4540\",\"type\":\"CDSView\"},{\"attributes\":{\"plot\":null,\"text\":\"\"},\"id\":\"4541\",\"type\":\"Title\"},{\"attributes\":{},\"id\":\"4476\",\"type\":\"BasicTicker\"},{\"attributes\":{\"callback\":null,\"data\":{\"accel\":{\"__ndarray__\":\"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\",\"dtype\":\"float64\",\"shape\":[392]},\"color\":[\"blue\",\"blue\",\"red\",\"blue\",\"green\",\"red\",\"red\",\"green\",\"blue\",\"blue\",\"green\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"green\",\"blue\",\"red\",\"red\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"green\",\"red\",\"red\",\"blue\",\"red\",\"red\",\"blue\",\"blue\",\"blue\",\"green\",\"green\",\"blue\",\"blue\",\"blue\",\"blue\",\"red\",\"blue\",\"blue\",\"blue\",\"blue\",\"red\",\"red\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"red\",\"blue\",\"green\",\"blue\",\"blue\",\"blue\",\"blue\",\"red\",\"red\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"green\",\"blue\",\"blue\",\"red\",\"blue\",\"blue\",\"blue\",\"blue\",\"green\",\"green\",\"green\",\"green\",\"blue\",\"blue\",\"green\",\"blue\",\"blue\",\"red\",\"blue\",\"blue\",\"blue\",\"blue\",\"red\",\"red\",\"blue\",\"red\",\"blue\",\"blue\",\"blue\",\"green\",\"green\",\"blue\",\"blue\",\"green\",\"green\",\"blue\",\"blue\",\"red\",\"green\",\"green\",\"blue\",\"blue\",\"blue\",\"green\",\"blue\",\"red\",\"blue\",\"blue\",\"blue\",\"green\",\"red\",\"blue\",\"green\",\"blue\",\"green\",\"green\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"green\",\"blue\",\"blue\",\"red\",\"blue\",\"green\",\"blue\",\"blue\",\"green\",\"blue\",\"blue\",\"blue\",\"blue\",\"red\",\"green\",\"blue\",\"blue\",\"green\",\"blue\",\"blue\",\"green\",\"red\",\"blue\",\"blue\",\"blue\",\"red\",\"red\",\"blue\",\"red\",\"blue\",\"blue\",\"green\",\"green\",\"green\",\"blue\",\"red\",\"blue\",\"red\",\"blue\",\"red\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"green\",\"blue\",\"blue\",\"blue\",\"green\",\"blue\",\"green\",\"blue\",\"blue\",\"green\",\"blue\",\"red\",\"green\",\"blue\",\"green\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"red\",\"blue\",\"blue\",\"green\",\"blue\",\"red\",\"red\",\"red\",\"blue\",\"blue\",\"blue\",\"blue\",\"red\",\"red\",\"red\",\"blue\",\"blue\",\"red\",\"red\",\"red\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"red\",\"blue\",\"blue\",\"blue\",\"red\",\"blue\",\"blue\",\"blue\",\"blue\",\"green\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"red\",\"green\",\"green\",\"red\",\"blue\",\"red\",\"blue\",\"blue\",\"blue\",\"red\",\"red\",\"blue\",\"blue\",\"red\",\"blue\",\"red\",\"blue\",\"red\",\"blue\",\"green\",\"red\",\"blue\",\"blue\",\"blue\",\"green\",\"blue\",\"blue\",\"green\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"green\",\"blue\",\"red\",\"blue\",\"red\",\"green\",\"blue\",\"blue\",\"red\",\"red\",\"blue\",\"blue\",\"red\",\"green\",\"green\",\"blue\",\"blue\",\"red\",\"blue\",\"blue\",\"blue\",\"blue\",\"red\",\"blue\",\"green\",\"red\",\"red\",\"green\",\"blue\",\"blue\",\"green\",\"blue\",\"green\",\"blue\",\"blue\",\"green\",\"blue\",\"blue\",\"green\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"green\",\"blue\",\"blue\",\"red\",\"blue\",\"red\",\"blue\",\"blue\",\"blue\",\"red\",\"blue\",\"red\",\"green\",\"blue\",\"blue\",\"blue\",\"blue\",\"red\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"green\",\"green\",\"red\",\"green\",\"red\",\"blue\",\"red\",\"blue\",\"blue\",\"green\",\"green\",\"blue\",\"green\",\"blue\",\"red\",\"blue\",\"blue\",\"red\",\"red\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"green\",\"green\",\"blue\",\"blue\",\"blue\",\"green\",\"blue\",\"red\",\"red\",\"red\",\"red\",\"blue\",\"blue\",\"red\",\"blue\",\"blue\"],\"cyl\":[6,8,4,6,4,4,4,4,8,8,4,4,4,8,8,8,4,4,4,3,6,6,8,8,4,4,4,4,6,4,6,8,4,6,4,4,8,8,4,4,4,4,8,8,4,4,4,8,4,6,8,8,4,4,4,4,6,6,6,4,4,6,6,4,6,4,8,8,8,4,8,4,8,8,6,4,6,6,6,4,6,4,4,6,4,4,8,8,4,8,4,8,6,4,4,8,4,6,6,4,4,4,4,4,4,4,6,8,4,5,4,8,4,8,4,8,4,8,8,8,4,4,8,5,4,4,4,6,4,6,8,4,4,8,8,4,6,4,6,4,4,6,6,4,6,4,4,8,4,4,8,8,4,4,6,6,4,4,4,8,4,4,4,4,4,4,8,6,8,4,6,4,8,8,4,8,4,4,8,4,6,4,6,4,4,4,6,6,4,4,8,4,8,6,8,8,6,4,4,4,6,4,6,4,4,4,6,8,4,6,4,4,4,6,6,4,4,4,8,6,8,4,8,4,4,8,6,4,6,6,6,6,4,6,8,4,4,8,4,4,5,4,8,4,8,6,8,4,4,8,6,4,8,3,8,4,8,4,4,6,8,8,4,8,6,4,8,8,8,6,8,8,8,4,6,4,4,4,4,8,4,3,4,4,4,4,4,4,8,6,4,8,4,6,6,4,6,6,4,4,4,8,6,4,4,4,8,4,4,4,6,4,6,8,8,8,6,8,4,8,4,4,4,4,6,8,8,4,8,4,4,8,8,8,4,4,4,8,4,4,8,4,4,4,4,8,8,4,8,4,8,6,6,4,4,4,3,8,6,4,6,4,4,4,4,8,6,6,8,4,4,4,8,8,4,6,4,4,6,8,6,4,6,4,4,6,4,6,4,4,6,4],\"displ\":{\"__ndarray__\":\"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\",\"dtype\":\"float64\",\"shape\":[392]},\"hp\":[88,193,60,98,78,100,75,76,130,140,52,88,84,148,150,130,58,82,65,110,95,110,140,170,78,90,96,95,110,75,132,150,83,85,86,75,140,139,70,52,60,84,138,180,65,67,97,150,70,100,180,129,95,90,83,75,100,85,112,67,65,88,100,75,100,70,145,110,210,80,145,69,150,198,120,92,90,115,95,75,76,67,71,115,84,91,150,215,67,175,60,175,110,95,68,150,67,95,110,105,102,110,89,66,88,75,78,105,70,103,60,150,72,170,90,110,58,152,145,139,83,69,150,67,80,71,46,105,90,110,175,80,74,150,150,65,100,48,105,90,48,105,105,88,100,75,113,190,92,80,165,180,71,97,72,105,90,75,88,155,68,90,84,87,112,87,125,108,142,97,105,75,137,150,88,145,63,95,140,88,85,70,85,115,86,79,120,120,65,110,220,115,170,100,90,225,85,65,97,90,90,49,110,70,92,53,100,190,63,90,67,65,75,100,110,60,93,88,150,100,150,88,225,68,70,208,105,74,90,110,72,97,88,88,129,85,86,150,70,48,77,65,175,90,150,110,130,53,65,158,95,61,215,100,145,68,150,88,67,105,175,160,74,135,100,67,198,180,215,100,225,155,170,81,85,95,80,92,70,149,84,97,52,72,85,52,95,71,140,100,96,150,75,107,110,75,97,133,70,67,112,145,115,98,70,78,230,63,76,105,95,62,165,165,160,190,95,180,78,120,80,75,68,67,95,140,110,72,150,95,54,153,130,170,86,97,90,145,86,79,165,83,64,92,72,140,150,96,150,80,130,100,125,90,94,76,90,150,97,85,81,78,46,84,70,153,116,100,167,88,88,88,200,125,92,110,69,67,90,150,90,71,105,62,88,122,65,88,90,68,110,88],\"index\":[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,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391],\"mpg\":{\"__ndarray__\":\"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\",\"dtype\":\"float64\",\"shape\":[392]},\"name\":[\"ford mustang\",\"hi 1200d\",\"honda civic cvcc\",\"ford granada\",\"audi 4000\",\"datsun 200sx\",\"toyota corolla\",\"volkswagen 411 (sw)\",\"mercury cougar brougham\",\"ford torino\",\"vw pickup\",\"pontiac sunbird coupe\",\"dodge rampage\",\"ford ltd\",\"chevrolet monte carlo\",\"chevrolet chevelle concours (sw)\",\"renault 5 gtl\",\"chevy s-10\",\"toyota corolla 1200\",\"mazda rx-4\",\"plymouth valiant custom\",\"buick century\",\"ford gran torino\",\"dodge challenger se\",\"pontiac astro\",\"fiat 124 sport coupe\",\"toyota celica gt\",\"toyota corona mark ii\",\"buick skyhawk\",\"mazda 626\",\"datsun 280-zx\",\"amc matador (sw)\",\"ford pinto\",\"chrysler lebaron salon\",\"fiat 131\",\"opel manta\",\"ford gran torino (sw)\",\"ford futura\",\"mercury lynx l\",\"chevrolet chevette\",\"honda civic 1300\",\"dodge charger 2.2\",\"mercury grand marquis\",\"pontiac grand prix lj\",\"ford escort 2h\",\"datsun b210\",\"datsun 510\",\"dodge coronet custom (sw)\",\"chevrolet chevette\",\"chevrolet nova\",\"dodge monaco (sw)\",\"ford ltd landau\",\"toyota corona\",\"buick skylark limited\",\"audi fox\",\"dodge omni\",\"amc gremlin\",\"mercury zephyr\",\"ford granada l\",\"honda civic\",\"toyota corolla 1200\",\"ford torino 500\",\"chevrolet chevelle malibu classic\",\"chevrolet vega\",\"plymouth valiant\",\"plymouth cricket\",\"chevy c10\",\"oldsmobile cutlass salon brougham\",\"dodge d200\",\"dodge colt (sw)\",\"dodge monaco brougham\",\"renault 12 (sw)\",\"plymouth fury gran sedan\",\"mercury marquis brougham\",\"datsun 810 maxima\",\"capri ii\",\"amc hornet\",\"oldsmobile omega brougham\",\"plymouth duster\",\"fiat 124 tc\",\"volvo diesel\",\"fiat x1.9\",\"peugeot 504\",\"pontiac lemans v6\",\"dodge aries se\",\"audi 100ls\",\"buick century luxus (sw)\",\"plymouth fury iii\",\"datsun 310 gx\",\"pontiac safari (sw)\",\"chevrolet woody\",\"buick century 350\",\"buick century limited\",\"toyota corona hardtop\",\"mazda glc 4\",\"chevrolet caprice classic\",\"honda civic 1500 gl\",\"chevrolet malibu\",\"amc hornet sportabout (sw)\",\"plymouth sapporo\",\"volvo 245\",\"saab 99le\",\"ford mustang ii 2+2\",\"ford fiesta\",\"peugeot 504\",\"fiat 128\",\"ford granada ghia\",\"oldsmobile cutlass ls\",\"datsun b-210\",\"audi 5000\",\"volkswagen model 111\",\"amc ambassador sst\",\"chevrolet vega\",\"ford country squire (sw)\",\"audi 100 ls\",\"oldsmobile cutlass supreme\",\"toyota starlet\",\"ford gran torino\",\"chevrolet malibu\",\"mercury monarch ghia\",\"renault 12tl\",\"datsun 1200\",\"dodge coronet custom\",\"audi 5000s (diesel)\",\"buick opel isuzu deluxe\",\"vw rabbit custom\",\"volkswagen 1131 deluxe sedan\",\"plymouth satellite custom\",\"chevrolet vega\",\"dodge aspen\",\"pontiac catalina brougham\",\"dodge colt hardtop\",\"volkswagen jetta\",\"plymouth fury iii\",\"chrysler lebaron town @ country (sw)\",\"datsun 310\",\"amc matador\",\"vw rabbit c (diesel)\",\"chevrolet nova\",\"chevrolet vega 2300\",\"vw dasher (diesel)\",\"buick century special\",\"pontiac phoenix lj\",\"ford fairmont\",\"amc hornet\",\"toyota corolla\",\"bmw 2002\",\"chrysler newport royal\",\"dodge aries wagon (sw)\",\"peugeot 505s turbo diesel\",\"chevrolet impala\",\"cadillac seville\",\"volkswagen scirocco\",\"honda civic\",\"ford maverick\",\"plymouth satellite sebring\",\"pontiac phoenix\",\"toyota corolla\",\"datsun pl510\",\"buick lesabre custom\",\"mazda glc custom\",\"chevrolet citation\",\"plymouth reliant\",\"peugeot 504 (sw)\",\"volvo 144ea\",\"peugeot 504\",\"cadillac eldorado\",\"toyota mark ii\",\"ford country squire (sw)\",\"datsun 200-sx\",\"chevrolet nova\",\"toyota corolla\",\"ford gran torino\",\"dodge dart custom\",\"chevrolet cavalier wagon\",\"chevrolet bel air\",\"chevrolet chevette\",\"saab 99e\",\"chevrolet chevelle malibu classic\",\"chevrolet cavalier 2-door\",\"oldsmobile cutlass ciera (diesel)\",\"peugeot 304\",\"mercury zephyr 6\",\"saab 99le\",\"ford pinto runabout\",\"dodge colt\",\"mercedes-benz 280s\",\"amc concord d/l\",\"mazda glc\",\"bmw 320i\",\"chevrolet impala\",\"saab 99gle\",\"chevrolet monte carlo landau\",\"plymouth volare\",\"oldsmobile cutlass salon brougham\",\"buick electra 225 custom\",\"ford fairmont (auto)\",\"ford escort 4w\",\"toyouta corona mark ii (sw)\",\"amc concord\",\"amc pacer\",\"fiat 128\",\"chevrolet citation\",\"toyota corolla\",\"datsun 510 hatchback\",\"honda civic cvcc\",\"amc gremlin\",\"amc ambassador dpl\",\"plymouth horizon 4\",\"amc concord\",\"honda civic (auto)\",\"maxda glc deluxe\",\"honda prelude\",\"dodge aspen se\",\"amc matador\",\"toyota corolla tercel\",\"subaru\",\"toyota corolla 1600 (sw)\",\"plymouth grand fury\",\"chevrolet chevelle malibu\",\"plymouth volare premier v8\",\"chevrolet cavalier\",\"buick estate wagon (sw)\",\"honda accord cvcc\",\"plymouth horizon tc3\",\"mercury marquis\",\"chevroelt chevelle malibu\",\"mazda 626\",\"dodge aspen\",\"pontiac ventura sj\",\"mercury monarch\",\"amc hornet\",\"triumph tr7 coupe\",\"ford granada gl\",\"ford mustang ii\",\"pontiac j2000 se hatchback\",\"ford pinto (sw)\",\"chevrolet impala\",\"datsun f-10 hatchback\",\"volkswagen rabbit custom diesel\",\"mercedes benz 300d\",\"datsun 210\",\"pontiac catalina\",\"toyota corona liftback\",\"dodge coronet brougham\",\"dodge aspen 6\",\"chevrolet chevelle malibu\",\"honda civic\",\"datsun 210\",\"ford ltd\",\"plymouth duster\",\"datsun 710\",\"chrysler new yorker brougham\",\"mazda rx-7 gs\",\"chevrolet monte carlo landau\",\"mazda glc custom l\",\"plymouth satellite\",\"peugeot 504\",\"subaru\",\"plymouth valiant\",\"amc ambassador brougham\",\"oldsmobile delta 88 royale\",\"volkswagen rabbit l\",\"dodge st. regis\",\"amc gremlin\",\"mercedes-benz 240d\",\"ford galaxie 500\",\"oldsmobile omega\",\"ford f250\",\"chevrolet nova custom\",\"pontiac catalina\",\"buick estate wagon (sw)\",\"plymouth custom suburb\",\"opel 1900\",\"ford maverick\",\"toyota celica gt liftback\",\"ford pinto\",\"datsun 510 (sw)\",\"volkswagen rabbit\",\"ford thunderbird\",\"buick skylark\",\"mazda rx2 coupe\",\"mazda glc deluxe\",\"chevrolet vega (sw)\",\"ford pinto\",\"toyota corona\",\"audi 100ls\",\"volkswagen rabbit\",\"dodge magnum xe\",\"pontiac firebird\",\"toyota corona\",\"amc matador (sw)\",\"dodge colt\",\"mercury capri v6\",\"buick century\",\"honda accord\",\"ford pinto\",\"peugeot 604sl\",\"datsun b210 gx\",\"subaru dl\",\"volvo 145e (sw)\",\"chevrolet caprice classic\",\"chevrolet citation\",\"volvo 244dl\",\"plymouth horizon\",\"volkswagen dasher\",\"pontiac grand prix\",\"plymouth horizon miser\",\"vw rabbit\",\"dodge colt\",\"plymouth duster\",\"vokswagen rabbit\",\"buick regal sport coupe (turbo)\",\"buick skylark 320\",\"plymouth 'cuda 340\",\"chrysler cordoba\",\"amc pacer d/l\",\"oldsmobile vista cruiser\",\"volkswagen rabbit custom\",\"amc matador\",\"dodge colt hatchback custom\",\"toyota corolla liftback\",\"chevrolet chevette\",\"subaru dl\",\"plymouth fury\",\"ford gran torino (sw)\",\"chevrolet monza 2+2\",\"honda accord\",\"amc rebel sst\",\"toyota corona\",\"volkswagen type 3\",\"ford galaxie 500\",\"chevrolet caprice classic\",\"pontiac catalina\",\"mercury capri 2000\",\"datsun 710\",\"pontiac phoenix\",\"chevrolet monte carlo s\",\"ford mustang gl\",\"ford ranger\",\"chevrolet impala\",\"dodge colt m/m\",\"plymouth champ\",\"ford fairmont futura\",\"ford pinto\",\"dodge diplomat\",\"plymouth fury iii\",\"plymouth arrow gs\",\"amc matador\",\"amc spirit dl\",\"ford f108\",\"plymouth volare custom\",\"volvo 264gl\",\"opel 1900\",\"datsun 610\",\"fiat 124b\",\"maxda rx3\",\"plymouth satellite custom (sw)\",\"datsun 810\",\"oldsmobile starfire sx\",\"ford maverick\",\"opel manta\",\"volkswagen super beetle\",\"plymouth reliant\",\"vw rabbit\",\"ford galaxie 500\",\"toyota cressida\",\"amc hornet\",\"ford country\",\"toyota carina\",\"datsun pl510\",\"ford fairmont 4\",\"chevy c20\",\"chevrolet malibu classic (sw)\",\"chrysler lebaron medallion\",\"amc matador\",\"fiat strada custom\",\"volkswagen dasher\",\"amc concord dl 6\",\"dodge d100\",\"amc gremlin\",\"volkswagen dasher\",\"buick skylark\",\"toyota tercel\",\"nissan stanza xe\",\"toyota mark ii\",\"datsun 210 mpg\",\"ford maverick\",\"chevrolet camaro\",\"honda accord lx\",\"chevrolet concours\",\"ford fairmont (man)\"],\"origin\":[\"US\",\"US\",\"Asia\",\"US\",\"Europe\",\"Asia\",\"Asia\",\"Europe\",\"US\",\"US\",\"Europe\",\"US\",\"US\",\"US\",\"US\",\"US\",\"Europe\",\"US\",\"Asia\",\"Asia\",\"US\",\"US\",\"US\",\"US\",\"US\",\"Europe\",\"Asia\",\"Asia\",\"US\",\"Asia\",\"Asia\",\"US\",\"US\",\"US\",\"Europe\",\"Europe\",\"US\",\"US\",\"US\",\"US\",\"Asia\",\"US\",\"US\",\"US\",\"US\",\"Asia\",\"Asia\",\"US\",\"US\",\"US\",\"US\",\"US\",\"Asia\",\"US\",\"Europe\",\"US\",\"US\",\"US\",\"US\",\"Asia\",\"Asia\",\"US\",\"US\",\"US\",\"US\",\"US\",\"US\",\"US\",\"US\",\"US\",\"US\",\"Europe\",\"US\",\"US\",\"Asia\",\"US\",\"US\",\"US\",\"US\",\"Europe\",\"Europe\",\"Europe\",\"Europe\",\"US\",\"US\",\"Europe\",\"US\",\"US\",\"Asia\",\"US\",\"US\",\"US\",\"US\",\"Asia\",\"Asia\",\"US\",\"Asia\",\"US\",\"US\",\"US\",\"Europe\",\"Europe\",\"US\",\"US\",\"Europe\",\"Europe\",\"US\",\"US\",\"Asia\",\"Europe\",\"Europe\",\"US\",\"US\",\"US\",\"Europe\",\"US\",\"Asia\",\"US\",\"US\",\"US\",\"Europe\",\"Asia\",\"US\",\"Europe\",\"US\",\"Europe\",\"Europe\",\"US\",\"US\",\"US\",\"US\",\"US\",\"Europe\",\"US\",\"US\",\"Asia\",\"US\",\"Europe\",\"US\",\"US\",\"Europe\",\"US\",\"US\",\"US\",\"US\",\"Asia\",\"Europe\",\"US\",\"US\",\"Europe\",\"US\",\"US\",\"Europe\",\"Asia\",\"US\",\"US\",\"US\",\"Asia\",\"Asia\",\"US\",\"Asia\",\"US\",\"US\",\"Europe\",\"Europe\",\"Europe\",\"US\",\"Asia\",\"US\",\"Asia\",\"US\",\"Asia\",\"US\",\"US\",\"US\",\"US\",\"US\",\"Europe\",\"US\",\"US\",\"US\",\"Europe\",\"US\",\"Europe\",\"US\",\"US\",\"Europe\",\"US\",\"Asia\",\"Europe\",\"US\",\"Europe\",\"US\",\"US\",\"US\",\"US\",\"US\",\"US\",\"Asia\",\"US\",\"US\",\"Europe\",\"US\",\"Asia\",\"Asia\",\"Asia\",\"US\",\"US\",\"US\",\"US\",\"Asia\",\"Asia\",\"Asia\",\"US\",\"US\",\"Asia\",\"Asia\",\"Asia\",\"US\",\"US\",\"US\",\"US\",\"US\",\"Asia\",\"US\",\"US\",\"US\",\"Asia\",\"US\",\"US\",\"US\",\"US\",\"Europe\",\"US\",\"US\",\"US\",\"US\",\"US\",\"Asia\",\"Europe\",\"Europe\",\"Asia\",\"US\",\"Asia\",\"US\",\"US\",\"US\",\"Asia\",\"Asia\",\"US\",\"US\",\"Asia\",\"US\",\"Asia\",\"US\",\"Asia\",\"US\",\"Europe\",\"Asia\",\"US\",\"US\",\"US\",\"Europe\",\"US\",\"US\",\"Europe\",\"US\",\"US\",\"US\",\"US\",\"US\",\"US\",\"US\",\"Europe\",\"US\",\"Asia\",\"US\",\"Asia\",\"Europe\",\"US\",\"US\",\"Asia\",\"Asia\",\"US\",\"US\",\"Asia\",\"Europe\",\"Europe\",\"US\",\"US\",\"Asia\",\"US\",\"US\",\"US\",\"US\",\"Asia\",\"US\",\"Europe\",\"Asia\",\"Asia\",\"Europe\",\"US\",\"US\",\"Europe\",\"US\",\"Europe\",\"US\",\"US\",\"Europe\",\"US\",\"US\",\"Europe\",\"US\",\"US\",\"US\",\"US\",\"US\",\"US\",\"Europe\",\"US\",\"US\",\"Asia\",\"US\",\"Asia\",\"US\",\"US\",\"US\",\"Asia\",\"US\",\"Asia\",\"Europe\",\"US\",\"US\",\"US\",\"US\",\"Asia\",\"US\",\"US\",\"US\",\"US\",\"US\",\"US\",\"US\",\"US\",\"US\",\"US\",\"US\",\"US\",\"US\",\"US\",\"US\",\"US\",\"Europe\",\"Europe\",\"Asia\",\"Europe\",\"Asia\",\"US\",\"Asia\",\"US\",\"US\",\"Europe\",\"Europe\",\"US\",\"Europe\",\"US\",\"Asia\",\"US\",\"US\",\"Asia\",\"Asia\",\"US\",\"US\",\"US\",\"US\",\"US\",\"Europe\",\"Europe\",\"US\",\"US\",\"US\",\"Europe\",\"US\",\"Asia\",\"Asia\",\"Asia\",\"Asia\",\"US\",\"US\",\"Asia\",\"US\",\"US\"],\"size\":{\"__ndarray__\":\"AAAAAAAALkAAAAAAAAA0QAAAAAAAACRAAAAAAAAALkAAAAAAAAAkQAAAAAAAACRAAAAAAAAAJEAAAAAAAAAkQAAAAAAAADRAAAAAAAAANEAAAAAAAAAkQAAAAAAAACRAAAAAAAAAJEAAAAAAAAA0QAAAAAAAADRAAAAAAAAANEAAAAAAAAAkQAAAAAAAACRAAAAAAAAAJEAAAAAAAAAeQAAAAAAAAC5AAAAAAAAALkAAAAAAAAA0QAAAAAAAADRAAAAAAAAAJEAAAAAAAAAkQAAAAAAAACRAAAAAAAAAJEAAAAAAAAAuQAAAAAAAACRAAAAAAAAALkAAAAAAAAA0QAAAAAAAACRAAAAAAAAALkAAAAAAAAAkQAAAAAAAACRAAAAAAAAANEAAAAAAAAA0QAAAAAAAACRAAAAAAAAAJEAAAAAAAAAkQAAAAAAAACRAAAAAAAAANEAAAAAAAAA0QAAAAAAAACRAAAAAAAAAJEAAAAAAAAAkQAAAAAAAADRAAAAAAAAAJEAAAAAAAAAuQAAAAAAAADRAAAAAAAAANEAAAAAAAAAkQAAAAAAAACRAAAAAAAAAJEAAAAAAAAAkQAAAAAAAAC5AAAAAAAAALkAAAAAAAAAuQAAAAAAAACRAAAAAAAAAJEAAAAAAAAAuQAAAAAAAAC5AAAAAAAAAJEAAAAAAAAAuQAAAAAAAACRAAAAAAAAANEAAAAAAAAA0QAAAAAAAADRAAAAAAAAAJEAAAAAAAAA0QAAAAAAAACRAAAAAAAAANEAAAAAAAAA0QAAAAAAAAC5AAAAAAAAAJEAAAAAAAAAuQAAAAAAAAC5AAAAAAAAALkAAAAAAAAAkQAAAAAAAAC5AAAAAAAAAJEAAAAAAAAAkQAAAAAAAAC5AAAAAAAAAJEAAAAAAAAAkQAAAAAAAADRAAAAAAAAANEAAAAAAAAAkQAAAAAAAADRAAAAAAAAAJEAAAAAAAAA0QAAAAAAAAC5AAAAAAAAAJEAAAAAAAAAkQAAAAAAAADRAAAAAAAAAJEAAAAAAAAAuQAAAAAAAAC5AAAAAAAAAJEAAAAAAAAAkQAAAAAAAACRAAAAAAAAAJEAAAAAAAAAkQAAAAAAAACRAAAAAAAAAJEAAAAAAAAAuQAAAAAAAADRAAAAAAAAAJEAAAAAAAAApQAAAAAAAACRAAAAAAAAANEAAAAAAAAAkQAAAAAAAADRAAAAAAAAAJEAAAAAAAAA0QAAAAAAAACRAAAAAAAAANEAAAAAAAAA0QAAAAAAAADRAAAAAAAAAJEAAAAAAAAAkQAAAAAAAADRAAAAAAAAAKUAAAAAAAAAkQAAAAAAAACRAAAAAAAAAJEAAAAAAAAAuQAAAAAAAACRAAAAAAAAALkAAAAAAAAA0QAAAAAAAACRAAAAAAAAAJEAAAAAAAAA0QAAAAAAAADRAAAAAAAAAJEAAAAAAAAAuQAAAAAAAACRAAAAAAAAALkAAAAAAAAAkQAAAAAAAACRAAAAAAAAALkAAAAAAAAAuQAAAAAAAACRAAAAAAAAALkAAAAAAAAAkQAAAAAAAACRAAAAAAAAANEAAAAAAAAAkQAAAAAAAACRAAAAAAAAANEAAAAAAAAA0QAAAAAAAACRAAAAAAAAAJEAAAAAAAAAuQAAAAAAAAC5AAAAAAAAAJEAAAAAAAAAkQAAAAAAAACRAAAAAAAAANEAAAAAAAAAkQAAAAAAAACRAAAAAAAAAJEAAAAAAAAAkQAAAAAAAACRAAAAAAAAAJEAAAAAAAAA0QAAAAAAAAC5AAAAAAAAANEAAAAAAAAAkQAAAAAAAAC5AAAAAAAAAJEAAAAAAAAA0QAAAAAAAADRAAAAAAAAAJEAAAAAAAAA0QAAAAAAAACRAAAAAAAAAJEAAAAAAAAA0QAAAAAAAACRAAAAAAAAALkAAAAAAAAAkQAAAAAAAAC5AAAAAAAAAJEAAAAAAAAAkQAAAAAAAACRAAAAAAAAALkAAAAAAAAAuQAAAAAAAACRAAAAAAAAAJEAAAAAAAAA0QAAAAAAAACRAAAAAAAAANEAAAAAAAAAuQAAAAAAAADRAAAAAAAAANEAAAAAAAAAuQAAAAAAAACRAAAAAAAAAJEAAAAAAAAAkQAAAAAAAAC5AAAAAAAAAJEAAAAAAAAAuQAAAAAAAACRAAAAAAAAAJEAAAAAAAAAkQAAAAAAAAC5AAAAAAAAANEAAAAAAAAAkQAAAAAAAAC5AAAAAAAAAJEAAAAAAAAAkQAAAAAAAACRAAAAAAAAALkAAAAAAAAAuQAAAAAAAACRAAAAAAAAAJEAAAAAAAAAkQAAAAAAAADRAAAAAAAAALkAAAAAAAAA0QAAAAAAAACRAAAAAAAAANEAAAAAAAAAkQAAAAAAAACRAAAAAAAAANEAAAAAAAAAuQAAAAAAAACRAAAAAAAAALkAAAAAAAAAuQAAAAAAAAC5AAAAAAAAALkAAAAAAAAAkQAAAAAAAAC5AAAAAAAAANEAAAAAAAAAkQAAAAAAAACRAAAAAAAAANEAAAAAAAAAkQAAAAAAAACRAAAAAAAAAKUAAAAAAAAAkQAAAAAAAADRAAAAAAAAAJEAAAAAAAAA0QAAAAAAAAC5AAAAAAAAANEAAAAAAAAAkQAAAAAAAACRAAAAAAAAANEAAAAAAAAAuQAAAAAAAACRAAAAAAAAANEAAAAAAAAAeQAAAAAAAADRAAAAAAAAAJEAAAAAAAAA0QAAAAAAAACRAAAAAAAAAJEAAAAAAAAAuQAAAAAAAADRAAAAAAAAANEAAAAAAAAAkQAAAAAAAADRAAAAAAAAALkAAAAAAAAAkQAAAAAAAADRAAAAAAAAANEAAAAAAAAA0QAAAAAAAAC5AAAAAAAAANEAAAAAAAAA0QAAAAAAAADRAAAAAAAAAJEAAAAAAAAAuQAAAAAAAACRAAAAAAAAAJEAAAAAAAAAkQAAAAAAAACRAAAAAAAAANEAAAAAAAAAkQAAAAAAAAB5AAAAAAAAAJEAAAAAAAAAkQAAAAAAAACRAAAAAAAAAJEAAAAAAAAAkQAAAAAAAACRAAAAAAAAANEAAAAAAAAAuQAAAAAAAACRAAAAAAAAANEAAAAAAAAAkQAAAAAAAAC5AAAAAAAAALkAAAAAAAAAkQAAAAAAAAC5AAAAAAAAALkAAAAAAAAAkQAAAAAAAACRAAAAAAAAAJEAAAAAAAAA0QAAAAAAAAC5AAAAAAAAAJEAAAAAAAAAkQAAAAAAAACRAAAAAAAAANEAAAAAAAAAkQAAAAAAAACRAAAAAAAAAJEAAAAAAAAAuQAAAAAAAACRAAAAAAAAALkAAAAAAAAA0QAAAAAAAADRAAAAAAAAANEAAAAAAAAAuQAAAAAAAADRAAAAAAAAAJEAAAAAAAAA0QAAAAAAAACRAAAAAAAAAJEAAAAAAAAAkQAAAAAAAACRAAAAAAAAALkAAAAAAAAA0QAAAAAAAADRAAAAAAAAAJEAAAAAAAAA0QAAAAAAAACRAAAAAAAAAJEAAAAAAAAA0QAAAAAAAADRAAAAAAAAANEAAAAAAAAAkQAAAAAAAACRAAAAAAAAAJEAAAAAAAAA0QAAAAAAAACRAAAAAAAAAJEAAAAAAAAA0QAAAAAAAACRAAAAAAAAAJEAAAAAAAAAkQAAAAAAAACRAAAAAAAAANEAAAAAAAAA0QAAAAAAAACRAAAAAAAAANEAAAAAAAAAkQAAAAAAAADRAAAAAAAAALkAAAAAAAAAuQAAAAAAAACRAAAAAAAAAJEAAAAAAAAAkQAAAAAAAAB5AAAAAAAAANEAAAAAAAAAuQAAAAAAAACRAAAAAAAAALkAAAAAAAAAkQAAAAAAAACRAAAAAAAAAJEAAAAAAAAAkQAAAAAAAADRAAAAAAAAALkAAAAAAAAAuQAAAAAAAADRAAAAAAAAAJEAAAAAAAAAkQAAAAAAAACRAAAAAAAAANEAAAAAAAAA0QAAAAAAAACRAAAAAAAAALkAAAAAAAAAkQAAAAAAAACRAAAAAAAAALkAAAAAAAAA0QAAAAAAAAC5AAAAAAAAAJEAAAAAAAAAuQAAAAAAAACRAAAAAAAAAJEAAAAAAAAAuQAAAAAAAACRAAAAAAAAALkAAAAAAAAAkQAAAAAAAACRAAAAAAAAALkAAAAAAAAAkQA==\",\"dtype\":\"float64\",\"shape\":[392]},\"weight\":[3139,4732,1800,3525,2188,2615,2265,2511,4295,3449,2130,2740,2295,4657,3761,4098,1825,2720,1836,2720,3264,3907,4141,3563,2592,2265,2665,2372,3039,2542,2910,3892,2639,3465,2464,2158,4638,3205,2125,2035,1760,2370,3955,4220,2380,1950,2300,4457,2120,3336,4955,3725,2228,2670,2219,2230,2914,3070,2835,1965,1773,3302,3781,2542,3233,1955,4055,3365,4382,2164,4140,2189,4237,4952,2930,2572,3085,2700,2904,2246,3160,2000,3190,3245,2525,2582,4699,4312,1995,5140,2164,4100,2945,2278,1985,4464,1850,3155,2962,2745,3150,2660,2755,1800,2957,2108,3574,3725,1990,2830,1834,3672,2401,4746,2430,4060,1755,4215,3988,3570,2202,1613,3777,2950,2155,1925,1835,3439,2408,3620,4464,2126,2190,4096,3940,2019,3288,2085,3459,2264,2335,3380,3535,2870,2945,2155,2234,4422,2620,3230,4274,4380,1990,2489,3158,3613,2556,2350,2130,4502,1970,2678,2490,2979,2868,2672,3900,2930,4054,2405,3353,2171,4042,3399,2640,4440,2051,2375,4215,2395,3015,2074,2990,2671,2226,2255,3820,3410,2110,2600,4354,2795,4165,3430,3420,4951,2965,2045,2506,3003,3211,1867,2725,2245,2434,1795,2789,3850,2215,3210,1965,1975,2210,3651,3730,1968,2391,2100,4498,3329,3940,2605,3086,2045,2150,4633,3897,2635,3381,3645,3432,2774,2500,3060,3169,2575,2395,4997,1945,1985,3530,2110,4385,2711,4190,3360,3504,1795,2020,4363,3102,2003,4735,2420,3425,2025,3436,3270,2065,3121,3821,4456,1980,3830,2634,3250,4341,3664,4615,3278,4425,4360,4654,2220,2587,2515,2451,2288,1937,4335,2635,2330,1985,2408,2310,1649,2694,1825,4080,3282,2702,4257,2125,2472,3415,2205,2984,3410,2070,1985,2933,3880,2595,2945,2200,2190,4278,2125,2144,2800,2833,1845,3445,3693,3609,4325,3193,4499,1940,3962,1915,2265,2155,2145,3785,4294,3221,2290,3433,2560,2254,4129,3840,4668,2220,2545,2735,4082,2790,2625,4209,2075,1875,2865,2565,3735,4135,2300,3672,2670,3870,3630,3140,2123,2379,2065,2124,4077,2815,2855,3012,2300,1950,2385,1937,4154,2900,2901,4906,2279,2130,2890,4376,3605,2585,3632,2130,1963,3265,3755,2648,2223,3425,2050,2160,2807,1975,3021,2950,2135,3520,2720],\"yr\":[71,70,78,77,80,81,80,72,77,70,82,77,82,75,70,72,77,82,74,77,75,75,74,70,75,73,82,70,75,80,80,72,75,81,76,73,74,78,82,76,81,82,79,77,81,74,78,74,80,74,71,79,71,79,74,78,75,78,82,82,71,71,74,74,76,71,76,78,70,72,77,72,73,73,81,76,76,79,73,74,81,74,79,79,82,73,74,70,82,71,76,73,82,72,81,73,80,78,71,78,76,73,77,78,75,74,76,81,76,78,71,72,73,71,70,77,81,76,73,78,76,71,73,80,77,79,70,71,72,78,71,72,81,71,79,80,71,80,75,71,80,78,78,80,73,76,70,72,81,81,72,76,78,74,75,74,79,81,70,72,82,80,81,72,73,70,79,76,79,78,76,75,73,73,82,75,77,70,76,82,82,71,79,75,72,76,76,78,80,77,70,78,77,78,79,73,78,81,72,80,75,73,81,82,80,75,73,70,81,78,82,79,81,76,75,80,74,72,75,71,76,82,70,77,79,72,75,81,80,76,75,70,80,81,75,82,72,73,77,78,79,80,72,80,76,79,70,76,79,73,74,74,73,80,78,82,70,76,81,73,73,72,82,79,71,80,70,73,70,73,70,79,73,76,70,78,74,72,75,77,81,72,78,71,73,74,75,76,78,71,75,74,74,73,81,82,75,78,78,77,72,77,79,75,79,77,73,82,80,80,70,80,78,70,70,77,76,73,77,76,79,77,78,80,75,72,75,80,70,78,72,72,79,75,71,75,82,73,82,82,71,77,81,82,76,78,72,77,73,79,76,77,78,71,73,71,73,72,77,78,76,74,73,81,76,71,81,74,73,73,71,79,70,79,82,74,79,74,79,76,70,75,77,81,82,73,81,73,82,78,77,78]},\"selected\":{\"id\":\"4786\",\"type\":\"Selection\"},\"selection_policy\":{\"id\":\"4785\",\"type\":\"UnionRenderers\"}},\"id\":\"4459\",\"type\":\"ColumnDataSource\"},{\"attributes\":{\"dimension\":1,\"plot\":{\"id\":\"4461\",\"subtype\":\"Figure\",\"type\":\"Plot\"},\"ticker\":{\"id\":\"4476\",\"type\":\"BasicTicker\"}},\"id\":\"4479\",\"type\":\"Grid\"},{\"attributes\":{},\"id\":\"4543\",\"type\":\"BasicTickFormatter\"},{\"attributes\":{\"below\":[{\"id\":\"4520\",\"type\":\"LinearAxis\"}],\"left\":[{\"id\":\"4525\",\"type\":\"LinearAxis\"}],\"renderers\":[{\"id\":\"4520\",\"type\":\"LinearAxis\"},{\"id\":\"4524\",\"type\":\"Grid\"},{\"id\":\"4525\",\"type\":\"LinearAxis\"},{\"id\":\"4529\",\"type\":\"Grid\"},{\"id\":\"4565\",\"type\":\"GlyphRenderer\"}],\"sizing_mode\":\"scale_width\",\"title\":{\"id\":\"4765\",\"type\":\"Title\"},\"toolbar\":{\"id\":\"4532\",\"type\":\"Toolbar\"},\"x_range\":{\"id\":\"4512\",\"type\":\"DataRange1d\"},\"x_scale\":{\"id\":\"4516\",\"type\":\"LinearScale\"},\"y_range\":{\"id\":\"4514\",\"type\":\"DataRange1d\"},\"y_scale\":{\"id\":\"4518\",\"type\":\"LinearScale\"}},\"id\":\"4511\",\"subtype\":\"Figure\",\"type\":\"Plot\"},{\"attributes\":{},\"id\":\"4545\",\"type\":\"BasicTickFormatter\"},{\"attributes\":{\"items\":[{\"id\":\"4548\",\"type\":\"LegendItem\"}],\"plot\":{\"id\":\"4461\",\"subtype\":\"Figure\",\"type\":\"Plot\"}},\"id\":\"4547\",\"type\":\"Legend\"},{\"attributes\":{},\"id\":\"4481\",\"type\":\"WheelZoomTool\"},{\"attributes\":{\"callback\":null},\"id\":\"4487\",\"type\":\"DataRange1d\"},{\"attributes\":{\"label\":{\"field\":\"origin\"},\"renderers\":[{\"id\":\"4539\",\"type\":\"GlyphRenderer\"}]},\"id\":\"4548\",\"type\":\"LegendItem\"},{\"attributes\":{\"callback\":null,\"data\":{\"x\":[70,71,72,73,74,75,76,77,78,79,80,81,82],\"y\":{\"__ndarray__\":\"1AjLPY2wMUDHcRzHcRw1QG7btm3btjJAmpmZmZkZMUBP7MRO7MQ2QERERERERDRA09LS0tKSNUAAAAAAAGA3QPukT/qkDzhAWn2poNUXOUBtilHD3+ZAQPmKr/iKLz5AAAAAAAAAQEA=\",\"dtype\":\"float64\",\"shape\":[13]}},\"selected\":{\"id\":\"4776\",\"type\":\"Selection\"},\"selection_policy\":{\"id\":\"4775\",\"type\":\"UnionRenderers\"}},\"id\":\"4562\",\"type\":\"ColumnDataSource\"},{\"attributes\":{\"line_alpha\":0.1,\"line_color\":\"#1f77b4\",\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"4564\",\"type\":\"Line\"},{\"attributes\":{\"callback\":null},\"id\":\"4489\",\"type\":\"DataRange1d\"},{\"attributes\":{\"fill_color\":{\"field\":\"origin\",\"transform\":{\"id\":\"3425\",\"type\":\"CategoricalColorMapper\"}},\"line_color\":{\"field\":\"origin\",\"transform\":{\"id\":\"3425\",\"type\":\"CategoricalColorMapper\"}},\"x\":{\"field\":\"mpg\"},\"y\":{\"field\":\"weight\"}},\"id\":\"4550\",\"type\":\"Circle\"},{\"attributes\":{},\"id\":\"4491\",\"type\":\"LinearScale\"},{\"attributes\":{\"fill_alpha\":{\"value\":0.1},\"fill_color\":{\"value\":\"#1f77b4\"},\"line_alpha\":{\"value\":0.1},\"line_color\":{\"value\":\"#1f77b4\"},\"x\":{\"field\":\"mpg\"},\"y\":{\"field\":\"weight\"}},\"id\":\"4551\",\"type\":\"Circle\"},{\"attributes\":{},\"id\":\"4493\",\"type\":\"LinearScale\"},{\"attributes\":{\"data_source\":{\"id\":\"4459\",\"type\":\"ColumnDataSource\"},\"glyph\":{\"id\":\"4550\",\"type\":\"Circle\"},\"hover_glyph\":null,\"muted_glyph\":null,\"nonselection_glyph\":{\"id\":\"4551\",\"type\":\"Circle\"},\"selection_glyph\":null,\"view\":{\"id\":\"4553\",\"type\":\"CDSView\"}},\"id\":\"4552\",\"type\":\"GlyphRenderer\"},{\"attributes\":{\"axis_label\":\"miles-per-gallon\",\"formatter\":{\"id\":\"4558\",\"type\":\"BasicTickFormatter\"},\"plot\":{\"id\":\"4486\",\"subtype\":\"Figure\",\"type\":\"Plot\"},\"ticker\":{\"id\":\"4496\",\"type\":\"BasicTicker\"}},\"id\":\"4495\",\"type\":\"LinearAxis\"},{\"attributes\":{\"source\":{\"id\":\"4459\",\"type\":\"ColumnDataSource\"}},\"id\":\"4553\",\"type\":\"CDSView\"}],\"root_ids\":[\"4568\"]},\"title\":\"Bokeh Application\",\"version\":\"1.0.2\"}};\n", " var render_items = [{\"docid\":\"17c24f2d-96f9-4a5f-9c53-9e525b899633\",\"roots\":{\"4568\":\"0de60418-5733-46d6-8f76-5d643330f878\"}}];\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": "4568" } }, "output_type": "display_data" } ], "source": [ "#import data\n", "df = pd.read_csv('data/auto-mpg-color.csv')\n", "avg_mpg_df = df.groupby('yr').mean()\n", "avg_mpg_df['mpg']\n", "\n", "#Import CategoricalColorMapper from bokeh.models\n", "from bokeh.models import CategoricalColorMapper\n", "from bokeh.models import HoverTool \n", "source = ColumnDataSource(df)\n", "hover = HoverTool(tooltips=[ \n", " ('Name', '@name'), \n", " ('Year', '@yr'), \n", " ('Cylinder', '@cyl'), \n", " ]) \n", "mpg_hp = figure(tools=[hover, 'pan', 'wheel_zoom'], x_axis_label = 'miles-per-gallon', y_axis_label = 'hp')\n", "mpg_weight = figure(tools=[hover, 'pan', 'wheel_zoom'], x_axis_label = 'miles-per-gallon', y_axis_label = 'weight')\n", "avg_mpg = figure(tools=[hover, 'pan', 'wheel_zoom'], x_axis_label = 'yr', y_axis_label = 'avg-miles-per-gallon')\n", "\n", "mpg_hp.circle('mpg', 'hp', source=source,\n", " color=dict(field = 'origin', transform = color_mapper),\n", " legend='origin')\n", "mpg_weight.circle('mpg', 'weight', source=source,\n", " color=dict(field = 'origin', transform = color_mapper),\n", " legend='origin')\n", "avg_mpg.line(avg_mpg_df.index,avg_mpg_df['mpg'])\n", "\n", "\n", "# Import column and row from bokeh.layouts\n", "from bokeh.layouts import column, row\n", "\n", "# Make a column layout that will be used as the second row: row2\n", "row2 = column([mpg_hp, mpg_weight], sizing_mode='scale_width')\n", "\n", "# Make a row layout that includes the above column layout: layout\n", "layout = row([avg_mpg, row2], sizing_mode='scale_width')\n", "\n", "# Show the result\n", "show(layout)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Advanced layouts\n", "\n", "\n", "### Gridplots\n", "\n", "- Give a “list of rows” for layout \n", "- can use None as a placeholder \n", "- Accepts toolbar_location" ] }, { "cell_type": "code", "execution_count": 18, "metadata": {}, "outputs": [ { "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 = {\"a717132a-40f2-4acf-9576-3c0a28a26658\":{\"roots\":{\"references\":[{\"attributes\":{\"children\":[{\"id\":\"4931\",\"type\":\"Row\"},{\"id\":\"4950\",\"type\":\"Row\"}]},\"id\":\"4951\",\"type\":\"Column\"},{\"attributes\":{\"plot\":null,\"text\":\"\"},\"id\":\"4554\",\"type\":\"Title\"},{\"attributes\":{},\"id\":\"4556\",\"type\":\"BasicTickFormatter\"},{\"attributes\":{},\"id\":\"4558\",\"type\":\"BasicTickFormatter\"},{\"attributes\":{\"items\":[{\"id\":\"4561\",\"type\":\"LegendItem\"}],\"plot\":{\"id\":\"4486\",\"subtype\":\"Figure\",\"type\":\"Plot\"}},\"id\":\"4560\",\"type\":\"Legend\"},{\"attributes\":{\"label\":{\"field\":\"origin\"},\"renderers\":[{\"id\":\"4552\",\"type\":\"GlyphRenderer\"}]},\"id\":\"4561\",\"type\":\"LegendItem\"},{\"attributes\":{\"data_source\":{\"id\":\"4562\",\"type\":\"ColumnDataSource\"},\"glyph\":{\"id\":\"4563\",\"type\":\"Line\"},\"hover_glyph\":null,\"muted_glyph\":null,\"nonselection_glyph\":{\"id\":\"4564\",\"type\":\"Line\"},\"selection_glyph\":null,\"view\":{\"id\":\"4566\",\"type\":\"CDSView\"}},\"id\":\"4565\",\"type\":\"GlyphRenderer\"},{\"attributes\":{\"source\":{\"id\":\"4562\",\"type\":\"ColumnDataSource\"}},\"id\":\"4566\",\"type\":\"CDSView\"},{\"attributes\":{},\"id\":\"4767\",\"type\":\"BasicTickFormatter\"},{\"attributes\":{\"children\":[{\"id\":\"4486\",\"subtype\":\"Figure\",\"type\":\"Plot\"},{\"id\":\"4461\",\"subtype\":\"Figure\",\"type\":\"Plot\"}]},\"id\":\"4950\",\"type\":\"Row\"},{\"attributes\":{},\"id\":\"4769\",\"type\":\"BasicTickFormatter\"},{\"attributes\":{},\"id\":\"4775\",\"type\":\"UnionRenderers\"},{\"attributes\":{},\"id\":\"4776\",\"type\":\"Selection\"},{\"attributes\":{},\"id\":\"4785\",\"type\":\"UnionRenderers\"},{\"attributes\":{},\"id\":\"4786\",\"type\":\"Selection\"},{\"attributes\":{\"children\":[{\"id\":\"4511\",\"subtype\":\"Figure\",\"type\":\"Plot\"},{\"id\":\"4930\",\"type\":\"Spacer\"}]},\"id\":\"4931\",\"type\":\"Row\"},{\"attributes\":{\"height\":600,\"width\":600},\"id\":\"4930\",\"type\":\"Spacer\"},{\"attributes\":{},\"id\":\"4496\",\"type\":\"BasicTicker\"},{\"attributes\":{\"plot\":{\"id\":\"4486\",\"subtype\":\"Figure\",\"type\":\"Plot\"},\"ticker\":{\"id\":\"4496\",\"type\":\"BasicTicker\"}},\"id\":\"4499\",\"type\":\"Grid\"},{\"attributes\":{\"below\":[{\"id\":\"4470\",\"type\":\"LinearAxis\"}],\"left\":[{\"id\":\"4475\",\"type\":\"LinearAxis\"}],\"renderers\":[{\"id\":\"4470\",\"type\":\"LinearAxis\"},{\"id\":\"4474\",\"type\":\"Grid\"},{\"id\":\"4475\",\"type\":\"LinearAxis\"},{\"id\":\"4479\",\"type\":\"Grid\"},{\"id\":\"4547\",\"type\":\"Legend\"},{\"id\":\"4539\",\"type\":\"GlyphRenderer\"}],\"sizing_mode\":\"fixed\",\"title\":{\"id\":\"4541\",\"type\":\"Title\"},\"toolbar\":{\"id\":\"4482\",\"type\":\"Toolbar\"},\"toolbar_location\":null,\"x_range\":{\"id\":\"4462\",\"type\":\"DataRange1d\"},\"x_scale\":{\"id\":\"4466\",\"type\":\"LinearScale\"},\"y_range\":{\"id\":\"4464\",\"type\":\"DataRange1d\"},\"y_scale\":{\"id\":\"4468\",\"type\":\"LinearScale\"}},\"id\":\"4461\",\"subtype\":\"Figure\",\"type\":\"Plot\"},{\"attributes\":{\"axis_label\":\"weight\",\"formatter\":{\"id\":\"4556\",\"type\":\"BasicTickFormatter\"},\"plot\":{\"id\":\"4486\",\"subtype\":\"Figure\",\"type\":\"Plot\"},\"ticker\":{\"id\":\"4501\",\"type\":\"BasicTicker\"}},\"id\":\"4500\",\"type\":\"LinearAxis\"},{\"attributes\":{\"below\":[{\"id\":\"4495\",\"type\":\"LinearAxis\"}],\"left\":[{\"id\":\"4500\",\"type\":\"LinearAxis\"}],\"renderers\":[{\"id\":\"4495\",\"type\":\"LinearAxis\"},{\"id\":\"4499\",\"type\":\"Grid\"},{\"id\":\"4500\",\"type\":\"LinearAxis\"},{\"id\":\"4504\",\"type\":\"Grid\"},{\"id\":\"4560\",\"type\":\"Legend\"},{\"id\":\"4552\",\"type\":\"GlyphRenderer\"}],\"sizing_mode\":\"fixed\",\"title\":{\"id\":\"4554\",\"type\":\"Title\"},\"toolbar\":{\"id\":\"4507\",\"type\":\"Toolbar\"},\"toolbar_location\":null,\"x_range\":{\"id\":\"4487\",\"type\":\"DataRange1d\"},\"x_scale\":{\"id\":\"4491\",\"type\":\"LinearScale\"},\"y_range\":{\"id\":\"4489\",\"type\":\"DataRange1d\"},\"y_scale\":{\"id\":\"4493\",\"type\":\"LinearScale\"}},\"id\":\"4486\",\"subtype\":\"Figure\",\"type\":\"Plot\"},{\"attributes\":{},\"id\":\"4501\",\"type\":\"BasicTicker\"},{\"attributes\":{\"dimension\":1,\"plot\":{\"id\":\"4486\",\"subtype\":\"Figure\",\"type\":\"Plot\"},\"ticker\":{\"id\":\"4501\",\"type\":\"BasicTicker\"}},\"id\":\"4504\",\"type\":\"Grid\"},{\"attributes\":{\"active_drag\":\"auto\",\"active_inspect\":\"auto\",\"active_multi\":null,\"active_scroll\":\"auto\",\"active_tap\":\"auto\",\"tools\":[{\"id\":\"4460\",\"type\":\"HoverTool\"},{\"id\":\"4505\",\"type\":\"PanTool\"},{\"id\":\"4506\",\"type\":\"WheelZoomTool\"}]},\"id\":\"4507\",\"type\":\"Toolbar\"},{\"attributes\":{},\"id\":\"4505\",\"type\":\"PanTool\"},{\"attributes\":{},\"id\":\"4506\",\"type\":\"WheelZoomTool\"},{\"attributes\":{\"callback\":null},\"id\":\"4512\",\"type\":\"DataRange1d\"},{\"attributes\":{\"callback\":null},\"id\":\"4514\",\"type\":\"DataRange1d\"},{\"attributes\":{},\"id\":\"4516\",\"type\":\"LinearScale\"},{\"attributes\":{\"callback\":null,\"tooltips\":[[\"Name\",\"@name\"],[\"Year\",\"@yr\"],[\"Cylinder\",\"@cyl\"]]},\"id\":\"4460\",\"type\":\"HoverTool\"},{\"attributes\":{},\"id\":\"4518\",\"type\":\"LinearScale\"},{\"attributes\":{\"axis_label\":\"yr\",\"formatter\":{\"id\":\"4769\",\"type\":\"BasicTickFormatter\"},\"plot\":{\"id\":\"4511\",\"subtype\":\"Figure\",\"type\":\"Plot\"},\"ticker\":{\"id\":\"4521\",\"type\":\"BasicTicker\"}},\"id\":\"4520\",\"type\":\"LinearAxis\"},{\"attributes\":{},\"id\":\"4468\",\"type\":\"LinearScale\"},{\"attributes\":{\"axis_label\":\"miles-per-gallon\",\"formatter\":{\"id\":\"4545\",\"type\":\"BasicTickFormatter\"},\"plot\":{\"id\":\"4461\",\"subtype\":\"Figure\",\"type\":\"Plot\"},\"ticker\":{\"id\":\"4471\",\"type\":\"BasicTicker\"}},\"id\":\"4470\",\"type\":\"LinearAxis\"},{\"attributes\":{\"active_drag\":\"auto\",\"active_inspect\":\"auto\",\"active_multi\":null,\"active_scroll\":\"auto\",\"active_tap\":\"auto\",\"tools\":[{\"id\":\"4460\",\"type\":\"HoverTool\"},{\"id\":\"4480\",\"type\":\"PanTool\"},{\"id\":\"4481\",\"type\":\"WheelZoomTool\"}]},\"id\":\"4482\",\"type\":\"Toolbar\"},{\"attributes\":{},\"id\":\"4521\",\"type\":\"BasicTicker\"},{\"attributes\":{\"plot\":null,\"text\":\"\"},\"id\":\"4765\",\"type\":\"Title\"},{\"attributes\":{\"plot\":{\"id\":\"4511\",\"subtype\":\"Figure\",\"type\":\"Plot\"},\"ticker\":{\"id\":\"4521\",\"type\":\"BasicTicker\"}},\"id\":\"4524\",\"type\":\"Grid\"},{\"attributes\":{},\"id\":\"4480\",\"type\":\"PanTool\"},{\"attributes\":{\"axis_label\":\"avg-miles-per-gallon\",\"formatter\":{\"id\":\"4767\",\"type\":\"BasicTickFormatter\"},\"plot\":{\"id\":\"4511\",\"subtype\":\"Figure\",\"type\":\"Plot\"},\"ticker\":{\"id\":\"4526\",\"type\":\"BasicTicker\"}},\"id\":\"4525\",\"type\":\"LinearAxis\"},{\"attributes\":{},\"id\":\"4526\",\"type\":\"BasicTicker\"},{\"attributes\":{\"dimension\":1,\"plot\":{\"id\":\"4511\",\"subtype\":\"Figure\",\"type\":\"Plot\"},\"ticker\":{\"id\":\"4526\",\"type\":\"BasicTicker\"}},\"id\":\"4529\",\"type\":\"Grid\"},{\"attributes\":{},\"id\":\"4466\",\"type\":\"LinearScale\"},{\"attributes\":{\"active_drag\":\"auto\",\"active_inspect\":\"auto\",\"active_multi\":null,\"active_scroll\":\"auto\",\"active_tap\":\"auto\",\"tools\":[{\"id\":\"4460\",\"type\":\"HoverTool\"},{\"id\":\"4530\",\"type\":\"PanTool\"},{\"id\":\"4531\",\"type\":\"WheelZoomTool\"}]},\"id\":\"4532\",\"type\":\"Toolbar\"},{\"attributes\":{\"callback\":null},\"id\":\"4464\",\"type\":\"DataRange1d\"},{\"attributes\":{},\"id\":\"4530\",\"type\":\"PanTool\"},{\"attributes\":{\"callback\":null},\"id\":\"4462\",\"type\":\"DataRange1d\"},{\"attributes\":{},\"id\":\"4531\",\"type\":\"WheelZoomTool\"},{\"attributes\":{\"line_color\":\"#1f77b4\",\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"4563\",\"type\":\"Line\"},{\"attributes\":{\"fill_color\":{\"field\":\"origin\",\"transform\":{\"id\":\"3425\",\"type\":\"CategoricalColorMapper\"}},\"line_color\":{\"field\":\"origin\",\"transform\":{\"id\":\"3425\",\"type\":\"CategoricalColorMapper\"}},\"x\":{\"field\":\"mpg\"},\"y\":{\"field\":\"hp\"}},\"id\":\"4537\",\"type\":\"Circle\"},{\"attributes\":{\"factors\":[\"Europe\",\"Asia\",\"US\"],\"palette\":[\"red\",\"green\",\"blue\"]},\"id\":\"3425\",\"type\":\"CategoricalColorMapper\"},{\"attributes\":{},\"id\":\"4471\",\"type\":\"BasicTicker\"},{\"attributes\":{\"fill_alpha\":{\"value\":0.1},\"fill_color\":{\"value\":\"#1f77b4\"},\"line_alpha\":{\"value\":0.1},\"line_color\":{\"value\":\"#1f77b4\"},\"x\":{\"field\":\"mpg\"},\"y\":{\"field\":\"hp\"}},\"id\":\"4538\",\"type\":\"Circle\"},{\"attributes\":{\"plot\":{\"id\":\"4461\",\"subtype\":\"Figure\",\"type\":\"Plot\"},\"ticker\":{\"id\":\"4471\",\"type\":\"BasicTicker\"}},\"id\":\"4474\",\"type\":\"Grid\"},{\"attributes\":{\"data_source\":{\"id\":\"4459\",\"type\":\"ColumnDataSource\"},\"glyph\":{\"id\":\"4537\",\"type\":\"Circle\"},\"hover_glyph\":null,\"muted_glyph\":null,\"nonselection_glyph\":{\"id\":\"4538\",\"type\":\"Circle\"},\"selection_glyph\":null,\"view\":{\"id\":\"4540\",\"type\":\"CDSView\"}},\"id\":\"4539\",\"type\":\"GlyphRenderer\"},{\"attributes\":{\"axis_label\":\"hp\",\"formatter\":{\"id\":\"4543\",\"type\":\"BasicTickFormatter\"},\"plot\":{\"id\":\"4461\",\"subtype\":\"Figure\",\"type\":\"Plot\"},\"ticker\":{\"id\":\"4476\",\"type\":\"BasicTicker\"}},\"id\":\"4475\",\"type\":\"LinearAxis\"},{\"attributes\":{\"source\":{\"id\":\"4459\",\"type\":\"ColumnDataSource\"}},\"id\":\"4540\",\"type\":\"CDSView\"},{\"attributes\":{\"plot\":null,\"text\":\"\"},\"id\":\"4541\",\"type\":\"Title\"},{\"attributes\":{},\"id\":\"4476\",\"type\":\"BasicTicker\"},{\"attributes\":{\"callback\":null,\"data\":{\"accel\":{\"__ndarray__\":\"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\",\"dtype\":\"float64\",\"shape\":[392]},\"color\":[\"blue\",\"blue\",\"red\",\"blue\",\"green\",\"red\",\"red\",\"green\",\"blue\",\"blue\",\"green\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"green\",\"blue\",\"red\",\"red\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"green\",\"red\",\"red\",\"blue\",\"red\",\"red\",\"blue\",\"blue\",\"blue\",\"green\",\"green\",\"blue\",\"blue\",\"blue\",\"blue\",\"red\",\"blue\",\"blue\",\"blue\",\"blue\",\"red\",\"red\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"red\",\"blue\",\"green\",\"blue\",\"blue\",\"blue\",\"blue\",\"red\",\"red\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"green\",\"blue\",\"blue\",\"red\",\"blue\",\"blue\",\"blue\",\"blue\",\"green\",\"green\",\"green\",\"green\",\"blue\",\"blue\",\"green\",\"blue\",\"blue\",\"red\",\"blue\",\"blue\",\"blue\",\"blue\",\"red\",\"red\",\"blue\",\"red\",\"blue\",\"blue\",\"blue\",\"green\",\"green\",\"blue\",\"blue\",\"green\",\"green\",\"blue\",\"blue\",\"red\",\"green\",\"green\",\"blue\",\"blue\",\"blue\",\"green\",\"blue\",\"red\",\"blue\",\"blue\",\"blue\",\"green\",\"red\",\"blue\",\"green\",\"blue\",\"green\",\"green\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"green\",\"blue\",\"blue\",\"red\",\"blue\",\"green\",\"blue\",\"blue\",\"green\",\"blue\",\"blue\",\"blue\",\"blue\",\"red\",\"green\",\"blue\",\"blue\",\"green\",\"blue\",\"blue\",\"green\",\"red\",\"blue\",\"blue\",\"blue\",\"red\",\"red\",\"blue\",\"red\",\"blue\",\"blue\",\"green\",\"green\",\"green\",\"blue\",\"red\",\"blue\",\"red\",\"blue\",\"red\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"green\",\"blue\",\"blue\",\"blue\",\"green\",\"blue\",\"green\",\"blue\",\"blue\",\"green\",\"blue\",\"red\",\"green\",\"blue\",\"green\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"red\",\"blue\",\"blue\",\"green\",\"blue\",\"red\",\"red\",\"red\",\"blue\",\"blue\",\"blue\",\"blue\",\"red\",\"red\",\"red\",\"blue\",\"blue\",\"red\",\"red\",\"red\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"red\",\"blue\",\"blue\",\"blue\",\"red\",\"blue\",\"blue\",\"blue\",\"blue\",\"green\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"red\",\"green\",\"green\",\"red\",\"blue\",\"red\",\"blue\",\"blue\",\"blue\",\"red\",\"red\",\"blue\",\"blue\",\"red\",\"blue\",\"red\",\"blue\",\"red\",\"blue\",\"green\",\"red\",\"blue\",\"blue\",\"blue\",\"green\",\"blue\",\"blue\",\"green\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"green\",\"blue\",\"red\",\"blue\",\"red\",\"green\",\"blue\",\"blue\",\"red\",\"red\",\"blue\",\"blue\",\"red\",\"green\",\"green\",\"blue\",\"blue\",\"red\",\"blue\",\"blue\",\"blue\",\"blue\",\"red\",\"blue\",\"green\",\"red\",\"red\",\"green\",\"blue\",\"blue\",\"green\",\"blue\",\"green\",\"blue\",\"blue\",\"green\",\"blue\",\"blue\",\"green\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"green\",\"blue\",\"blue\",\"red\",\"blue\",\"red\",\"blue\",\"blue\",\"blue\",\"red\",\"blue\",\"red\",\"green\",\"blue\",\"blue\",\"blue\",\"blue\",\"red\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"green\",\"green\",\"red\",\"green\",\"red\",\"blue\",\"red\",\"blue\",\"blue\",\"green\",\"green\",\"blue\",\"green\",\"blue\",\"red\",\"blue\",\"blue\",\"red\",\"red\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"green\",\"green\",\"blue\",\"blue\",\"blue\",\"green\",\"blue\",\"red\",\"red\",\"red\",\"red\",\"blue\",\"blue\",\"red\",\"blue\",\"blue\"],\"cyl\":[6,8,4,6,4,4,4,4,8,8,4,4,4,8,8,8,4,4,4,3,6,6,8,8,4,4,4,4,6,4,6,8,4,6,4,4,8,8,4,4,4,4,8,8,4,4,4,8,4,6,8,8,4,4,4,4,6,6,6,4,4,6,6,4,6,4,8,8,8,4,8,4,8,8,6,4,6,6,6,4,6,4,4,6,4,4,8,8,4,8,4,8,6,4,4,8,4,6,6,4,4,4,4,4,4,4,6,8,4,5,4,8,4,8,4,8,4,8,8,8,4,4,8,5,4,4,4,6,4,6,8,4,4,8,8,4,6,4,6,4,4,6,6,4,6,4,4,8,4,4,8,8,4,4,6,6,4,4,4,8,4,4,4,4,4,4,8,6,8,4,6,4,8,8,4,8,4,4,8,4,6,4,6,4,4,4,6,6,4,4,8,4,8,6,8,8,6,4,4,4,6,4,6,4,4,4,6,8,4,6,4,4,4,6,6,4,4,4,8,6,8,4,8,4,4,8,6,4,6,6,6,6,4,6,8,4,4,8,4,4,5,4,8,4,8,6,8,4,4,8,6,4,8,3,8,4,8,4,4,6,8,8,4,8,6,4,8,8,8,6,8,8,8,4,6,4,4,4,4,8,4,3,4,4,4,4,4,4,8,6,4,8,4,6,6,4,6,6,4,4,4,8,6,4,4,4,8,4,4,4,6,4,6,8,8,8,6,8,4,8,4,4,4,4,6,8,8,4,8,4,4,8,8,8,4,4,4,8,4,4,8,4,4,4,4,8,8,4,8,4,8,6,6,4,4,4,3,8,6,4,6,4,4,4,4,8,6,6,8,4,4,4,8,8,4,6,4,4,6,8,6,4,6,4,4,6,4,6,4,4,6,4],\"displ\":{\"__ndarray__\":\"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\",\"dtype\":\"float64\",\"shape\":[392]},\"hp\":[88,193,60,98,78,100,75,76,130,140,52,88,84,148,150,130,58,82,65,110,95,110,140,170,78,90,96,95,110,75,132,150,83,85,86,75,140,139,70,52,60,84,138,180,65,67,97,150,70,100,180,129,95,90,83,75,100,85,112,67,65,88,100,75,100,70,145,110,210,80,145,69,150,198,120,92,90,115,95,75,76,67,71,115,84,91,150,215,67,175,60,175,110,95,68,150,67,95,110,105,102,110,89,66,88,75,78,105,70,103,60,150,72,170,90,110,58,152,145,139,83,69,150,67,80,71,46,105,90,110,175,80,74,150,150,65,100,48,105,90,48,105,105,88,100,75,113,190,92,80,165,180,71,97,72,105,90,75,88,155,68,90,84,87,112,87,125,108,142,97,105,75,137,150,88,145,63,95,140,88,85,70,85,115,86,79,120,120,65,110,220,115,170,100,90,225,85,65,97,90,90,49,110,70,92,53,100,190,63,90,67,65,75,100,110,60,93,88,150,100,150,88,225,68,70,208,105,74,90,110,72,97,88,88,129,85,86,150,70,48,77,65,175,90,150,110,130,53,65,158,95,61,215,100,145,68,150,88,67,105,175,160,74,135,100,67,198,180,215,100,225,155,170,81,85,95,80,92,70,149,84,97,52,72,85,52,95,71,140,100,96,150,75,107,110,75,97,133,70,67,112,145,115,98,70,78,230,63,76,105,95,62,165,165,160,190,95,180,78,120,80,75,68,67,95,140,110,72,150,95,54,153,130,170,86,97,90,145,86,79,165,83,64,92,72,140,150,96,150,80,130,100,125,90,94,76,90,150,97,85,81,78,46,84,70,153,116,100,167,88,88,88,200,125,92,110,69,67,90,150,90,71,105,62,88,122,65,88,90,68,110,88],\"index\":[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,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391],\"mpg\":{\"__ndarray__\":\"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\",\"dtype\":\"float64\",\"shape\":[392]},\"name\":[\"ford mustang\",\"hi 1200d\",\"honda civic cvcc\",\"ford granada\",\"audi 4000\",\"datsun 200sx\",\"toyota corolla\",\"volkswagen 411 (sw)\",\"mercury cougar brougham\",\"ford torino\",\"vw pickup\",\"pontiac sunbird coupe\",\"dodge rampage\",\"ford ltd\",\"chevrolet monte carlo\",\"chevrolet chevelle concours (sw)\",\"renault 5 gtl\",\"chevy s-10\",\"toyota corolla 1200\",\"mazda rx-4\",\"plymouth valiant custom\",\"buick century\",\"ford gran torino\",\"dodge challenger se\",\"pontiac astro\",\"fiat 124 sport coupe\",\"toyota celica gt\",\"toyota corona mark ii\",\"buick skyhawk\",\"mazda 626\",\"datsun 280-zx\",\"amc matador (sw)\",\"ford pinto\",\"chrysler lebaron salon\",\"fiat 131\",\"opel manta\",\"ford gran torino (sw)\",\"ford futura\",\"mercury lynx l\",\"chevrolet chevette\",\"honda civic 1300\",\"dodge charger 2.2\",\"mercury grand marquis\",\"pontiac grand prix lj\",\"ford escort 2h\",\"datsun b210\",\"datsun 510\",\"dodge coronet custom (sw)\",\"chevrolet chevette\",\"chevrolet nova\",\"dodge monaco (sw)\",\"ford ltd landau\",\"toyota corona\",\"buick skylark limited\",\"audi fox\",\"dodge omni\",\"amc gremlin\",\"mercury zephyr\",\"ford granada l\",\"honda civic\",\"toyota corolla 1200\",\"ford torino 500\",\"chevrolet chevelle malibu classic\",\"chevrolet vega\",\"plymouth valiant\",\"plymouth cricket\",\"chevy c10\",\"oldsmobile cutlass salon brougham\",\"dodge d200\",\"dodge colt (sw)\",\"dodge monaco brougham\",\"renault 12 (sw)\",\"plymouth fury gran sedan\",\"mercury marquis brougham\",\"datsun 810 maxima\",\"capri ii\",\"amc hornet\",\"oldsmobile omega brougham\",\"plymouth duster\",\"fiat 124 tc\",\"volvo diesel\",\"fiat x1.9\",\"peugeot 504\",\"pontiac lemans v6\",\"dodge aries se\",\"audi 100ls\",\"buick century luxus (sw)\",\"plymouth fury iii\",\"datsun 310 gx\",\"pontiac safari (sw)\",\"chevrolet woody\",\"buick century 350\",\"buick century limited\",\"toyota corona hardtop\",\"mazda glc 4\",\"chevrolet caprice classic\",\"honda civic 1500 gl\",\"chevrolet malibu\",\"amc hornet sportabout (sw)\",\"plymouth sapporo\",\"volvo 245\",\"saab 99le\",\"ford mustang ii 2+2\",\"ford fiesta\",\"peugeot 504\",\"fiat 128\",\"ford granada ghia\",\"oldsmobile cutlass ls\",\"datsun b-210\",\"audi 5000\",\"volkswagen model 111\",\"amc ambassador sst\",\"chevrolet vega\",\"ford country squire (sw)\",\"audi 100 ls\",\"oldsmobile cutlass supreme\",\"toyota starlet\",\"ford gran torino\",\"chevrolet malibu\",\"mercury monarch ghia\",\"renault 12tl\",\"datsun 1200\",\"dodge coronet custom\",\"audi 5000s (diesel)\",\"buick opel isuzu deluxe\",\"vw rabbit custom\",\"volkswagen 1131 deluxe sedan\",\"plymouth satellite custom\",\"chevrolet vega\",\"dodge aspen\",\"pontiac catalina brougham\",\"dodge colt hardtop\",\"volkswagen jetta\",\"plymouth fury iii\",\"chrysler lebaron town @ country (sw)\",\"datsun 310\",\"amc matador\",\"vw rabbit c (diesel)\",\"chevrolet nova\",\"chevrolet vega 2300\",\"vw dasher (diesel)\",\"buick century special\",\"pontiac phoenix lj\",\"ford fairmont\",\"amc hornet\",\"toyota corolla\",\"bmw 2002\",\"chrysler newport royal\",\"dodge aries wagon (sw)\",\"peugeot 505s turbo diesel\",\"chevrolet impala\",\"cadillac seville\",\"volkswagen scirocco\",\"honda civic\",\"ford maverick\",\"plymouth satellite sebring\",\"pontiac phoenix\",\"toyota corolla\",\"datsun pl510\",\"buick lesabre custom\",\"mazda glc custom\",\"chevrolet citation\",\"plymouth reliant\",\"peugeot 504 (sw)\",\"volvo 144ea\",\"peugeot 504\",\"cadillac eldorado\",\"toyota mark ii\",\"ford country squire (sw)\",\"datsun 200-sx\",\"chevrolet nova\",\"toyota corolla\",\"ford gran torino\",\"dodge dart custom\",\"chevrolet cavalier wagon\",\"chevrolet bel air\",\"chevrolet chevette\",\"saab 99e\",\"chevrolet chevelle malibu classic\",\"chevrolet cavalier 2-door\",\"oldsmobile cutlass ciera (diesel)\",\"peugeot 304\",\"mercury zephyr 6\",\"saab 99le\",\"ford pinto runabout\",\"dodge colt\",\"mercedes-benz 280s\",\"amc concord d/l\",\"mazda glc\",\"bmw 320i\",\"chevrolet impala\",\"saab 99gle\",\"chevrolet monte carlo landau\",\"plymouth volare\",\"oldsmobile cutlass salon brougham\",\"buick electra 225 custom\",\"ford fairmont (auto)\",\"ford escort 4w\",\"toyouta corona mark ii (sw)\",\"amc concord\",\"amc pacer\",\"fiat 128\",\"chevrolet citation\",\"toyota corolla\",\"datsun 510 hatchback\",\"honda civic cvcc\",\"amc gremlin\",\"amc ambassador dpl\",\"plymouth horizon 4\",\"amc concord\",\"honda civic (auto)\",\"maxda glc deluxe\",\"honda prelude\",\"dodge aspen se\",\"amc matador\",\"toyota corolla tercel\",\"subaru\",\"toyota corolla 1600 (sw)\",\"plymouth grand fury\",\"chevrolet chevelle malibu\",\"plymouth volare premier v8\",\"chevrolet cavalier\",\"buick estate wagon (sw)\",\"honda accord cvcc\",\"plymouth horizon tc3\",\"mercury marquis\",\"chevroelt chevelle malibu\",\"mazda 626\",\"dodge aspen\",\"pontiac ventura sj\",\"mercury monarch\",\"amc hornet\",\"triumph tr7 coupe\",\"ford granada gl\",\"ford mustang ii\",\"pontiac j2000 se hatchback\",\"ford pinto (sw)\",\"chevrolet impala\",\"datsun f-10 hatchback\",\"volkswagen rabbit custom diesel\",\"mercedes benz 300d\",\"datsun 210\",\"pontiac catalina\",\"toyota corona liftback\",\"dodge coronet brougham\",\"dodge aspen 6\",\"chevrolet chevelle malibu\",\"honda civic\",\"datsun 210\",\"ford ltd\",\"plymouth duster\",\"datsun 710\",\"chrysler new yorker brougham\",\"mazda rx-7 gs\",\"chevrolet monte carlo landau\",\"mazda glc custom l\",\"plymouth satellite\",\"peugeot 504\",\"subaru\",\"plymouth valiant\",\"amc ambassador brougham\",\"oldsmobile delta 88 royale\",\"volkswagen rabbit l\",\"dodge st. regis\",\"amc gremlin\",\"mercedes-benz 240d\",\"ford galaxie 500\",\"oldsmobile omega\",\"ford f250\",\"chevrolet nova custom\",\"pontiac catalina\",\"buick estate wagon (sw)\",\"plymouth custom suburb\",\"opel 1900\",\"ford maverick\",\"toyota celica gt liftback\",\"ford pinto\",\"datsun 510 (sw)\",\"volkswagen rabbit\",\"ford thunderbird\",\"buick skylark\",\"mazda rx2 coupe\",\"mazda glc deluxe\",\"chevrolet vega (sw)\",\"ford pinto\",\"toyota corona\",\"audi 100ls\",\"volkswagen rabbit\",\"dodge magnum xe\",\"pontiac firebird\",\"toyota corona\",\"amc matador (sw)\",\"dodge colt\",\"mercury capri v6\",\"buick century\",\"honda accord\",\"ford pinto\",\"peugeot 604sl\",\"datsun b210 gx\",\"subaru dl\",\"volvo 145e (sw)\",\"chevrolet caprice classic\",\"chevrolet citation\",\"volvo 244dl\",\"plymouth horizon\",\"volkswagen dasher\",\"pontiac grand prix\",\"plymouth horizon miser\",\"vw rabbit\",\"dodge colt\",\"plymouth duster\",\"vokswagen rabbit\",\"buick regal sport coupe (turbo)\",\"buick skylark 320\",\"plymouth 'cuda 340\",\"chrysler cordoba\",\"amc pacer d/l\",\"oldsmobile vista cruiser\",\"volkswagen rabbit custom\",\"amc matador\",\"dodge colt hatchback custom\",\"toyota corolla liftback\",\"chevrolet chevette\",\"subaru dl\",\"plymouth fury\",\"ford gran torino (sw)\",\"chevrolet monza 2+2\",\"honda accord\",\"amc rebel sst\",\"toyota corona\",\"volkswagen type 3\",\"ford galaxie 500\",\"chevrolet caprice classic\",\"pontiac catalina\",\"mercury capri 2000\",\"datsun 710\",\"pontiac phoenix\",\"chevrolet monte carlo s\",\"ford mustang gl\",\"ford ranger\",\"chevrolet impala\",\"dodge colt m/m\",\"plymouth champ\",\"ford fairmont futura\",\"ford pinto\",\"dodge diplomat\",\"plymouth fury iii\",\"plymouth arrow gs\",\"amc matador\",\"amc spirit dl\",\"ford f108\",\"plymouth volare custom\",\"volvo 264gl\",\"opel 1900\",\"datsun 610\",\"fiat 124b\",\"maxda rx3\",\"plymouth satellite custom (sw)\",\"datsun 810\",\"oldsmobile starfire sx\",\"ford maverick\",\"opel manta\",\"volkswagen super beetle\",\"plymouth reliant\",\"vw rabbit\",\"ford galaxie 500\",\"toyota cressida\",\"amc hornet\",\"ford country\",\"toyota carina\",\"datsun pl510\",\"ford fairmont 4\",\"chevy c20\",\"chevrolet malibu classic (sw)\",\"chrysler lebaron medallion\",\"amc matador\",\"fiat strada custom\",\"volkswagen dasher\",\"amc concord dl 6\",\"dodge d100\",\"amc gremlin\",\"volkswagen dasher\",\"buick skylark\",\"toyota tercel\",\"nissan stanza xe\",\"toyota mark ii\",\"datsun 210 mpg\",\"ford maverick\",\"chevrolet camaro\",\"honda accord lx\",\"chevrolet concours\",\"ford fairmont (man)\"],\"origin\":[\"US\",\"US\",\"Asia\",\"US\",\"Europe\",\"Asia\",\"Asia\",\"Europe\",\"US\",\"US\",\"Europe\",\"US\",\"US\",\"US\",\"US\",\"US\",\"Europe\",\"US\",\"Asia\",\"Asia\",\"US\",\"US\",\"US\",\"US\",\"US\",\"Europe\",\"Asia\",\"Asia\",\"US\",\"Asia\",\"Asia\",\"US\",\"US\",\"US\",\"Europe\",\"Europe\",\"US\",\"US\",\"US\",\"US\",\"Asia\",\"US\",\"US\",\"US\",\"US\",\"Asia\",\"Asia\",\"US\",\"US\",\"US\",\"US\",\"US\",\"Asia\",\"US\",\"Europe\",\"US\",\"US\",\"US\",\"US\",\"Asia\",\"Asia\",\"US\",\"US\",\"US\",\"US\",\"US\",\"US\",\"US\",\"US\",\"US\",\"US\",\"Europe\",\"US\",\"US\",\"Asia\",\"US\",\"US\",\"US\",\"US\",\"Europe\",\"Europe\",\"Europe\",\"Europe\",\"US\",\"US\",\"Europe\",\"US\",\"US\",\"Asia\",\"US\",\"US\",\"US\",\"US\",\"Asia\",\"Asia\",\"US\",\"Asia\",\"US\",\"US\",\"US\",\"Europe\",\"Europe\",\"US\",\"US\",\"Europe\",\"Europe\",\"US\",\"US\",\"Asia\",\"Europe\",\"Europe\",\"US\",\"US\",\"US\",\"Europe\",\"US\",\"Asia\",\"US\",\"US\",\"US\",\"Europe\",\"Asia\",\"US\",\"Europe\",\"US\",\"Europe\",\"Europe\",\"US\",\"US\",\"US\",\"US\",\"US\",\"Europe\",\"US\",\"US\",\"Asia\",\"US\",\"Europe\",\"US\",\"US\",\"Europe\",\"US\",\"US\",\"US\",\"US\",\"Asia\",\"Europe\",\"US\",\"US\",\"Europe\",\"US\",\"US\",\"Europe\",\"Asia\",\"US\",\"US\",\"US\",\"Asia\",\"Asia\",\"US\",\"Asia\",\"US\",\"US\",\"Europe\",\"Europe\",\"Europe\",\"US\",\"Asia\",\"US\",\"Asia\",\"US\",\"Asia\",\"US\",\"US\",\"US\",\"US\",\"US\",\"Europe\",\"US\",\"US\",\"US\",\"Europe\",\"US\",\"Europe\",\"US\",\"US\",\"Europe\",\"US\",\"Asia\",\"Europe\",\"US\",\"Europe\",\"US\",\"US\",\"US\",\"US\",\"US\",\"US\",\"Asia\",\"US\",\"US\",\"Europe\",\"US\",\"Asia\",\"Asia\",\"Asia\",\"US\",\"US\",\"US\",\"US\",\"Asia\",\"Asia\",\"Asia\",\"US\",\"US\",\"Asia\",\"Asia\",\"Asia\",\"US\",\"US\",\"US\",\"US\",\"US\",\"Asia\",\"US\",\"US\",\"US\",\"Asia\",\"US\",\"US\",\"US\",\"US\",\"Europe\",\"US\",\"US\",\"US\",\"US\",\"US\",\"Asia\",\"Europe\",\"Europe\",\"Asia\",\"US\",\"Asia\",\"US\",\"US\",\"US\",\"Asia\",\"Asia\",\"US\",\"US\",\"Asia\",\"US\",\"Asia\",\"US\",\"Asia\",\"US\",\"Europe\",\"Asia\",\"US\",\"US\",\"US\",\"Europe\",\"US\",\"US\",\"Europe\",\"US\",\"US\",\"US\",\"US\",\"US\",\"US\",\"US\",\"Europe\",\"US\",\"Asia\",\"US\",\"Asia\",\"Europe\",\"US\",\"US\",\"Asia\",\"Asia\",\"US\",\"US\",\"Asia\",\"Europe\",\"Europe\",\"US\",\"US\",\"Asia\",\"US\",\"US\",\"US\",\"US\",\"Asia\",\"US\",\"Europe\",\"Asia\",\"Asia\",\"Europe\",\"US\",\"US\",\"Europe\",\"US\",\"Europe\",\"US\",\"US\",\"Europe\",\"US\",\"US\",\"Europe\",\"US\",\"US\",\"US\",\"US\",\"US\",\"US\",\"Europe\",\"US\",\"US\",\"Asia\",\"US\",\"Asia\",\"US\",\"US\",\"US\",\"Asia\",\"US\",\"Asia\",\"Europe\",\"US\",\"US\",\"US\",\"US\",\"Asia\",\"US\",\"US\",\"US\",\"US\",\"US\",\"US\",\"US\",\"US\",\"US\",\"US\",\"US\",\"US\",\"US\",\"US\",\"US\",\"US\",\"Europe\",\"Europe\",\"Asia\",\"Europe\",\"Asia\",\"US\",\"Asia\",\"US\",\"US\",\"Europe\",\"Europe\",\"US\",\"Europe\",\"US\",\"Asia\",\"US\",\"US\",\"Asia\",\"Asia\",\"US\",\"US\",\"US\",\"US\",\"US\",\"Europe\",\"Europe\",\"US\",\"US\",\"US\",\"Europe\",\"US\",\"Asia\",\"Asia\",\"Asia\",\"Asia\",\"US\",\"US\",\"Asia\",\"US\",\"US\"],\"size\":{\"__ndarray__\":\"AAAAAAAALkAAAAAAAAA0QAAAAAAAACRAAAAAAAAALkAAAAAAAAAkQAAAAAAAACRAAAAAAAAAJEAAAAAAAAAkQAAAAAAAADRAAAAAAAAANEAAAAAAAAAkQAAAAAAAACRAAAAAAAAAJEAAAAAAAAA0QAAAAAAAADRAAAAAAAAANEAAAAAAAAAkQAAAAAAAACRAAAAAAAAAJEAAAAAAAAAeQAAAAAAAAC5AAAAAAAAALkAAAAAAAAA0QAAAAAAAADRAAAAAAAAAJEAAAAAAAAAkQAAAAAAAACRAAAAAAAAAJEAAAAAAAAAuQAAAAAAAACRAAAAAAAAALkAAAAAAAAA0QAAAAAAAACRAAAAAAAAALkAAAAAAAAAkQAAAAAAAACRAAAAAAAAANEAAAAAAAAA0QAAAAAAAACRAAAAAAAAAJEAAAAAAAAAkQAAAAAAAACRAAAAAAAAANEAAAAAAAAA0QAAAAAAAACRAAAAAAAAAJEAAAAAAAAAkQAAAAAAAADRAAAAAAAAAJEAAAAAAAAAuQAAAAAAAADRAAAAAAAAANEAAAAAAAAAkQAAAAAAAACRAAAAAAAAAJEAAAAAAAAAkQAAAAAAAAC5AAAAAAAAALkAAAAAAAAAuQAAAAAAAACRAAAAAAAAAJEAAAAAAAAAuQAAAAAAAAC5AAAAAAAAAJEAAAAAAAAAuQAAAAAAAACRAAAAAAAAANEAAAAAAAAA0QAAAAAAAADRAAAAAAAAAJEAAAAAAAAA0QAAAAAAAACRAAAAAAAAANEAAAAAAAAA0QAAAAAAAAC5AAAAAAAAAJEAAAAAAAAAuQAAAAAAAAC5AAAAAAAAALkAAAAAAAAAkQAAAAAAAAC5AAAAAAAAAJEAAAAAAAAAkQAAAAAAAAC5AAAAAAAAAJEAAAAAAAAAkQAAAAAAAADRAAAAAAAAANEAAAAAAAAAkQAAAAAAAADRAAAAAAAAAJEAAAAAAAAA0QAAAAAAAAC5AAAAAAAAAJEAAAAAAAAAkQAAAAAAAADRAAAAAAAAAJEAAAAAAAAAuQAAAAAAAAC5AAAAAAAAAJEAAAAAAAAAkQAAAAAAAACRAAAAAAAAAJEAAAAAAAAAkQAAAAAAAACRAAAAAAAAAJEAAAAAAAAAuQAAAAAAAADRAAAAAAAAAJEAAAAAAAAApQAAAAAAAACRAAAAAAAAANEAAAAAAAAAkQAAAAAAAADRAAAAAAAAAJEAAAAAAAAA0QAAAAAAAACRAAAAAAAAANEAAAAAAAAA0QAAAAAAAADRAAAAAAAAAJEAAAAAAAAAkQAAAAAAAADRAAAAAAAAAKUAAAAAAAAAkQAAAAAAAACRAAAAAAAAAJEAAAAAAAAAuQAAAAAAAACRAAAAAAAAALkAAAAAAAAA0QAAAAAAAACRAAAAAAAAAJEAAAAAAAAA0QAAAAAAAADRAAAAAAAAAJEAAAAAAAAAuQAAAAAAAACRAAAAAAAAALkAAAAAAAAAkQAAAAAAAACRAAAAAAAAALkAAAAAAAAAuQAAAAAAAACRAAAAAAAAALkAAAAAAAAAkQAAAAAAAACRAAAAAAAAANEAAAAAAAAAkQAAAAAAAACRAAAAAAAAANEAAAAAAAAA0QAAAAAAAACRAAAAAAAAAJEAAAAAAAAAuQAAAAAAAAC5AAAAAAAAAJEAAAAAAAAAkQAAAAAAAACRAAAAAAAAANEAAAAAAAAAkQAAAAAAAACRAAAAAAAAAJEAAAAAAAAAkQAAAAAAAACRAAAAAAAAAJEAAAAAAAAA0QAAAAAAAAC5AAAAAAAAANEAAAAAAAAAkQAAAAAAAAC5AAAAAAAAAJEAAAAAAAAA0QAAAAAAAADRAAAAAAAAAJEAAAAAAAAA0QAAAAAAAACRAAAAAAAAAJEAAAAAAAAA0QAAAAAAAACRAAAAAAAAALkAAAAAAAAAkQAAAAAAAAC5AAAAAAAAAJEAAAAAAAAAkQAAAAAAAACRAAAAAAAAALkAAAAAAAAAuQAAAAAAAACRAAAAAAAAAJEAAAAAAAAA0QAAAAAAAACRAAAAAAAAANEAAAAAAAAAuQAAAAAAAADRAAAAAAAAANEAAAAAAAAAuQAAAAAAAACRAAAAAAAAAJEAAAAAAAAAkQAAAAAAAAC5AAAAAAAAAJEAAAAAAAAAuQAAAAAAAACRAAAAAAAAAJEAAAAAAAAAkQAAAAAAAAC5AAAAAAAAANEAAAAAAAAAkQAAAAAAAAC5AAAAAAAAAJEAAAAAAAAAkQAAAAAAAACRAAAAAAAAALkAAAAAAAAAuQAAAAAAAACRAAAAAAAAAJEAAAAAAAAAkQAAAAAAAADRAAAAAAAAALkAAAAAAAAA0QAAAAAAAACRAAAAAAAAANEAAAAAAAAAkQAAAAAAAACRAAAAAAAAANEAAAAAAAAAuQAAAAAAAACRAAAAAAAAALkAAAAAAAAAuQAAAAAAAAC5AAAAAAAAALkAAAAAAAAAkQAAAAAAAAC5AAAAAAAAANEAAAAAAAAAkQAAAAAAAACRAAAAAAAAANEAAAAAAAAAkQAAAAAAAACRAAAAAAAAAKUAAAAAAAAAkQAAAAAAAADRAAAAAAAAAJEAAAAAAAAA0QAAAAAAAAC5AAAAAAAAANEAAAAAAAAAkQAAAAAAAACRAAAAAAAAANEAAAAAAAAAuQAAAAAAAACRAAAAAAAAANEAAAAAAAAAeQAAAAAAAADRAAAAAAAAAJEAAAAAAAAA0QAAAAAAAACRAAAAAAAAAJEAAAAAAAAAuQAAAAAAAADRAAAAAAAAANEAAAAAAAAAkQAAAAAAAADRAAAAAAAAALkAAAAAAAAAkQAAAAAAAADRAAAAAAAAANEAAAAAAAAA0QAAAAAAAAC5AAAAAAAAANEAAAAAAAAA0QAAAAAAAADRAAAAAAAAAJEAAAAAAAAAuQAAAAAAAACRAAAAAAAAAJEAAAAAAAAAkQAAAAAAAACRAAAAAAAAANEAAAAAAAAAkQAAAAAAAAB5AAAAAAAAAJEAAAAAAAAAkQAAAAAAAACRAAAAAAAAAJEAAAAAAAAAkQAAAAAAAACRAAAAAAAAANEAAAAAAAAAuQAAAAAAAACRAAAAAAAAANEAAAAAAAAAkQAAAAAAAAC5AAAAAAAAALkAAAAAAAAAkQAAAAAAAAC5AAAAAAAAALkAAAAAAAAAkQAAAAAAAACRAAAAAAAAAJEAAAAAAAAA0QAAAAAAAAC5AAAAAAAAAJEAAAAAAAAAkQAAAAAAAACRAAAAAAAAANEAAAAAAAAAkQAAAAAAAACRAAAAAAAAAJEAAAAAAAAAuQAAAAAAAACRAAAAAAAAALkAAAAAAAAA0QAAAAAAAADRAAAAAAAAANEAAAAAAAAAuQAAAAAAAADRAAAAAAAAAJEAAAAAAAAA0QAAAAAAAACRAAAAAAAAAJEAAAAAAAAAkQAAAAAAAACRAAAAAAAAALkAAAAAAAAA0QAAAAAAAADRAAAAAAAAAJEAAAAAAAAA0QAAAAAAAACRAAAAAAAAAJEAAAAAAAAA0QAAAAAAAADRAAAAAAAAANEAAAAAAAAAkQAAAAAAAACRAAAAAAAAAJEAAAAAAAAA0QAAAAAAAACRAAAAAAAAAJEAAAAAAAAA0QAAAAAAAACRAAAAAAAAAJEAAAAAAAAAkQAAAAAAAACRAAAAAAAAANEAAAAAAAAA0QAAAAAAAACRAAAAAAAAANEAAAAAAAAAkQAAAAAAAADRAAAAAAAAALkAAAAAAAAAuQAAAAAAAACRAAAAAAAAAJEAAAAAAAAAkQAAAAAAAAB5AAAAAAAAANEAAAAAAAAAuQAAAAAAAACRAAAAAAAAALkAAAAAAAAAkQAAAAAAAACRAAAAAAAAAJEAAAAAAAAAkQAAAAAAAADRAAAAAAAAALkAAAAAAAAAuQAAAAAAAADRAAAAAAAAAJEAAAAAAAAAkQAAAAAAAACRAAAAAAAAANEAAAAAAAAA0QAAAAAAAACRAAAAAAAAALkAAAAAAAAAkQAAAAAAAACRAAAAAAAAALkAAAAAAAAA0QAAAAAAAAC5AAAAAAAAAJEAAAAAAAAAuQAAAAAAAACRAAAAAAAAAJEAAAAAAAAAuQAAAAAAAACRAAAAAAAAALkAAAAAAAAAkQAAAAAAAACRAAAAAAAAALkAAAAAAAAAkQA==\",\"dtype\":\"float64\",\"shape\":[392]},\"weight\":[3139,4732,1800,3525,2188,2615,2265,2511,4295,3449,2130,2740,2295,4657,3761,4098,1825,2720,1836,2720,3264,3907,4141,3563,2592,2265,2665,2372,3039,2542,2910,3892,2639,3465,2464,2158,4638,3205,2125,2035,1760,2370,3955,4220,2380,1950,2300,4457,2120,3336,4955,3725,2228,2670,2219,2230,2914,3070,2835,1965,1773,3302,3781,2542,3233,1955,4055,3365,4382,2164,4140,2189,4237,4952,2930,2572,3085,2700,2904,2246,3160,2000,3190,3245,2525,2582,4699,4312,1995,5140,2164,4100,2945,2278,1985,4464,1850,3155,2962,2745,3150,2660,2755,1800,2957,2108,3574,3725,1990,2830,1834,3672,2401,4746,2430,4060,1755,4215,3988,3570,2202,1613,3777,2950,2155,1925,1835,3439,2408,3620,4464,2126,2190,4096,3940,2019,3288,2085,3459,2264,2335,3380,3535,2870,2945,2155,2234,4422,2620,3230,4274,4380,1990,2489,3158,3613,2556,2350,2130,4502,1970,2678,2490,2979,2868,2672,3900,2930,4054,2405,3353,2171,4042,3399,2640,4440,2051,2375,4215,2395,3015,2074,2990,2671,2226,2255,3820,3410,2110,2600,4354,2795,4165,3430,3420,4951,2965,2045,2506,3003,3211,1867,2725,2245,2434,1795,2789,3850,2215,3210,1965,1975,2210,3651,3730,1968,2391,2100,4498,3329,3940,2605,3086,2045,2150,4633,3897,2635,3381,3645,3432,2774,2500,3060,3169,2575,2395,4997,1945,1985,3530,2110,4385,2711,4190,3360,3504,1795,2020,4363,3102,2003,4735,2420,3425,2025,3436,3270,2065,3121,3821,4456,1980,3830,2634,3250,4341,3664,4615,3278,4425,4360,4654,2220,2587,2515,2451,2288,1937,4335,2635,2330,1985,2408,2310,1649,2694,1825,4080,3282,2702,4257,2125,2472,3415,2205,2984,3410,2070,1985,2933,3880,2595,2945,2200,2190,4278,2125,2144,2800,2833,1845,3445,3693,3609,4325,3193,4499,1940,3962,1915,2265,2155,2145,3785,4294,3221,2290,3433,2560,2254,4129,3840,4668,2220,2545,2735,4082,2790,2625,4209,2075,1875,2865,2565,3735,4135,2300,3672,2670,3870,3630,3140,2123,2379,2065,2124,4077,2815,2855,3012,2300,1950,2385,1937,4154,2900,2901,4906,2279,2130,2890,4376,3605,2585,3632,2130,1963,3265,3755,2648,2223,3425,2050,2160,2807,1975,3021,2950,2135,3520,2720],\"yr\":[71,70,78,77,80,81,80,72,77,70,82,77,82,75,70,72,77,82,74,77,75,75,74,70,75,73,82,70,75,80,80,72,75,81,76,73,74,78,82,76,81,82,79,77,81,74,78,74,80,74,71,79,71,79,74,78,75,78,82,82,71,71,74,74,76,71,76,78,70,72,77,72,73,73,81,76,76,79,73,74,81,74,79,79,82,73,74,70,82,71,76,73,82,72,81,73,80,78,71,78,76,73,77,78,75,74,76,81,76,78,71,72,73,71,70,77,81,76,73,78,76,71,73,80,77,79,70,71,72,78,71,72,81,71,79,80,71,80,75,71,80,78,78,80,73,76,70,72,81,81,72,76,78,74,75,74,79,81,70,72,82,80,81,72,73,70,79,76,79,78,76,75,73,73,82,75,77,70,76,82,82,71,79,75,72,76,76,78,80,77,70,78,77,78,79,73,78,81,72,80,75,73,81,82,80,75,73,70,81,78,82,79,81,76,75,80,74,72,75,71,76,82,70,77,79,72,75,81,80,76,75,70,80,81,75,82,72,73,77,78,79,80,72,80,76,79,70,76,79,73,74,74,73,80,78,82,70,76,81,73,73,72,82,79,71,80,70,73,70,73,70,79,73,76,70,78,74,72,75,77,81,72,78,71,73,74,75,76,78,71,75,74,74,73,81,82,75,78,78,77,72,77,79,75,79,77,73,82,80,80,70,80,78,70,70,77,76,73,77,76,79,77,78,80,75,72,75,80,70,78,72,72,79,75,71,75,82,73,82,82,71,77,81,82,76,78,72,77,73,79,76,77,78,71,73,71,73,72,77,78,76,74,73,81,76,71,81,74,73,73,71,79,70,79,82,74,79,74,79,76,70,75,77,81,82,73,81,73,82,78,77,78]},\"selected\":{\"id\":\"4786\",\"type\":\"Selection\"},\"selection_policy\":{\"id\":\"4785\",\"type\":\"UnionRenderers\"}},\"id\":\"4459\",\"type\":\"ColumnDataSource\"},{\"attributes\":{\"dimension\":1,\"plot\":{\"id\":\"4461\",\"subtype\":\"Figure\",\"type\":\"Plot\"},\"ticker\":{\"id\":\"4476\",\"type\":\"BasicTicker\"}},\"id\":\"4479\",\"type\":\"Grid\"},{\"attributes\":{},\"id\":\"4543\",\"type\":\"BasicTickFormatter\"},{\"attributes\":{\"below\":[{\"id\":\"4520\",\"type\":\"LinearAxis\"}],\"left\":[{\"id\":\"4525\",\"type\":\"LinearAxis\"}],\"renderers\":[{\"id\":\"4520\",\"type\":\"LinearAxis\"},{\"id\":\"4524\",\"type\":\"Grid\"},{\"id\":\"4525\",\"type\":\"LinearAxis\"},{\"id\":\"4529\",\"type\":\"Grid\"},{\"id\":\"4565\",\"type\":\"GlyphRenderer\"}],\"sizing_mode\":\"fixed\",\"title\":{\"id\":\"4765\",\"type\":\"Title\"},\"toolbar\":{\"id\":\"4532\",\"type\":\"Toolbar\"},\"toolbar_location\":null,\"x_range\":{\"id\":\"4512\",\"type\":\"DataRange1d\"},\"x_scale\":{\"id\":\"4516\",\"type\":\"LinearScale\"},\"y_range\":{\"id\":\"4514\",\"type\":\"DataRange1d\"},\"y_scale\":{\"id\":\"4518\",\"type\":\"LinearScale\"}},\"id\":\"4511\",\"subtype\":\"Figure\",\"type\":\"Plot\"},{\"attributes\":{},\"id\":\"4545\",\"type\":\"BasicTickFormatter\"},{\"attributes\":{\"items\":[{\"id\":\"4548\",\"type\":\"LegendItem\"}],\"plot\":{\"id\":\"4461\",\"subtype\":\"Figure\",\"type\":\"Plot\"}},\"id\":\"4547\",\"type\":\"Legend\"},{\"attributes\":{},\"id\":\"4481\",\"type\":\"WheelZoomTool\"},{\"attributes\":{\"callback\":null},\"id\":\"4487\",\"type\":\"DataRange1d\"},{\"attributes\":{\"label\":{\"field\":\"origin\"},\"renderers\":[{\"id\":\"4539\",\"type\":\"GlyphRenderer\"}]},\"id\":\"4548\",\"type\":\"LegendItem\"},{\"attributes\":{\"callback\":null,\"data\":{\"x\":[70,71,72,73,74,75,76,77,78,79,80,81,82],\"y\":{\"__ndarray__\":\"1AjLPY2wMUDHcRzHcRw1QG7btm3btjJAmpmZmZkZMUBP7MRO7MQ2QERERERERDRA09LS0tKSNUAAAAAAAGA3QPukT/qkDzhAWn2poNUXOUBtilHD3+ZAQPmKr/iKLz5AAAAAAAAAQEA=\",\"dtype\":\"float64\",\"shape\":[13]}},\"selected\":{\"id\":\"4776\",\"type\":\"Selection\"},\"selection_policy\":{\"id\":\"4775\",\"type\":\"UnionRenderers\"}},\"id\":\"4562\",\"type\":\"ColumnDataSource\"},{\"attributes\":{\"callback\":null},\"id\":\"4489\",\"type\":\"DataRange1d\"},{\"attributes\":{\"line_alpha\":0.1,\"line_color\":\"#1f77b4\",\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"4564\",\"type\":\"Line\"},{\"attributes\":{\"fill_color\":{\"field\":\"origin\",\"transform\":{\"id\":\"3425\",\"type\":\"CategoricalColorMapper\"}},\"line_color\":{\"field\":\"origin\",\"transform\":{\"id\":\"3425\",\"type\":\"CategoricalColorMapper\"}},\"x\":{\"field\":\"mpg\"},\"y\":{\"field\":\"weight\"}},\"id\":\"4550\",\"type\":\"Circle\"},{\"attributes\":{},\"id\":\"4491\",\"type\":\"LinearScale\"},{\"attributes\":{\"fill_alpha\":{\"value\":0.1},\"fill_color\":{\"value\":\"#1f77b4\"},\"line_alpha\":{\"value\":0.1},\"line_color\":{\"value\":\"#1f77b4\"},\"x\":{\"field\":\"mpg\"},\"y\":{\"field\":\"weight\"}},\"id\":\"4551\",\"type\":\"Circle\"},{\"attributes\":{},\"id\":\"4493\",\"type\":\"LinearScale\"},{\"attributes\":{\"data_source\":{\"id\":\"4459\",\"type\":\"ColumnDataSource\"},\"glyph\":{\"id\":\"4550\",\"type\":\"Circle\"},\"hover_glyph\":null,\"muted_glyph\":null,\"nonselection_glyph\":{\"id\":\"4551\",\"type\":\"Circle\"},\"selection_glyph\":null,\"view\":{\"id\":\"4553\",\"type\":\"CDSView\"}},\"id\":\"4552\",\"type\":\"GlyphRenderer\"},{\"attributes\":{\"axis_label\":\"miles-per-gallon\",\"formatter\":{\"id\":\"4558\",\"type\":\"BasicTickFormatter\"},\"plot\":{\"id\":\"4486\",\"subtype\":\"Figure\",\"type\":\"Plot\"},\"ticker\":{\"id\":\"4496\",\"type\":\"BasicTicker\"}},\"id\":\"4495\",\"type\":\"LinearAxis\"},{\"attributes\":{\"source\":{\"id\":\"4459\",\"type\":\"ColumnDataSource\"}},\"id\":\"4553\",\"type\":\"CDSView\"}],\"root_ids\":[\"4951\"]},\"title\":\"Bokeh Application\",\"version\":\"1.0.2\"}};\n", " var render_items = [{\"docid\":\"a717132a-40f2-4acf-9576-3c0a28a26658\",\"roots\":{\"4951\":\"b02b5f6a-8d6b-4491-8c2e-28ad809214f9\"}}];\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": "4951" } }, "output_type": "display_data" } ], "source": [ "\n", "from bokeh.layouts import gridplot \n", "\n", "layout = gridplot([[avg_mpg, None], [mpg_weight, mpg_hp]], \n", " toolbar_location=None) \n", "\n", "show(layout)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Creating gridded layouts\n", "\n", "Regular grids of Bokeh plots can be generated with `gridplot`. \n", "\n", "In this example, you're going to display four plots of fertility vs female literacy for four regions:\n", "Latin America, Africa, Asia and Europe. \n", "\n", "Your job is to create a list-of-lists for the four Bokeh plots that have been provided to you as `p1`, `p2`, `p3` and `p4`.\n", "The list-of-lists defines the row and column placement of each plot.\n", "\n", "---\n", "\n", "- Import `gridplot` from the `bokeh.layouts` module.\n", "\n", "- Create a list called `row1` containing plots `p1` and `p2`.\n", "\n", "- Create a list called `row2` containing plots `p3` and `p4`.\n", "\n", "- Create a gridplot using `row1` and `row2`. You will have to pass in `row1` and `row2` in the form of a list." ] }, { "cell_type": "code", "execution_count": 19, "metadata": {}, "outputs": [ { "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 = {\"80a3fd2a-bf7d-4105-9019-c8a1a372de8d\":{\"roots\":{\"references\":[{\"attributes\":{\"children\":[{\"id\":\"5531\",\"type\":\"ToolbarBox\"},{\"id\":\"5529\",\"type\":\"Column\"}]},\"id\":\"5532\",\"type\":\"Column\"},{\"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\":\"5439\",\"type\":\"BoxAnnotation\"},{\"attributes\":{\"filters\":[{\"id\":\"5329\",\"type\":\"BooleanFilter\"}],\"source\":{\"id\":\"5326\",\"type\":\"ColumnDataSource\"}},\"id\":\"5330\",\"type\":\"CDSView\"},{\"attributes\":{\"active_drag\":\"auto\",\"active_inspect\":\"auto\",\"active_multi\":null,\"active_scroll\":\"auto\",\"active_tap\":\"auto\",\"tools\":[{\"id\":\"5434\",\"type\":\"BoxSelectTool\"},{\"id\":\"5435\",\"type\":\"HoverTool\"},{\"id\":\"5436\",\"type\":\"ResetTool\"},{\"id\":\"5437\",\"type\":\"PanTool\"},{\"id\":\"5438\",\"type\":\"WheelZoomTool\"}]},\"id\":\"5441\",\"type\":\"Toolbar\"},{\"attributes\":{\"fill_color\":{\"value\":\"red\"},\"line_color\":{\"value\":\"red\"},\"size\":{\"units\":\"screen\",\"value\":10},\"x\":{\"field\":\"fertility\"},\"y\":{\"field\":\"female literacy\"}},\"id\":\"5450\",\"type\":\"Circle\"},{\"attributes\":{\"filters\":[{\"id\":\"5331\",\"type\":\"BooleanFilter\"}],\"source\":{\"id\":\"5326\",\"type\":\"ColumnDataSource\"}},\"id\":\"5332\",\"type\":\"CDSView\"},{\"attributes\":{\"data_source\":{\"id\":\"5326\",\"type\":\"ColumnDataSource\"},\"glyph\":{\"id\":\"5448\",\"type\":\"Circle\"},\"hover_glyph\":{\"id\":\"5450\",\"type\":\"Circle\"},\"muted_glyph\":null,\"nonselection_glyph\":{\"id\":\"5449\",\"type\":\"Circle\"},\"selection_glyph\":null,\"view\":{\"id\":\"5332\",\"type\":\"CDSView\"}},\"id\":\"5451\",\"type\":\"GlyphRenderer\"},{\"attributes\":{\"fill_color\":{\"value\":\"red\"},\"line_color\":{\"value\":\"red\"},\"size\":{\"units\":\"screen\",\"value\":10},\"x\":{\"field\":\"fertility\"},\"y\":{\"field\":\"female literacy\"}},\"id\":\"5489\",\"type\":\"Circle\"},{\"attributes\":{\"booleans\":[false,false,false,false,false,false,false,false,true,false,false,false,false,true,false,false,false,false,false,false,true,true,true,false,false,false,true,true,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,true,false,false,true,true,true,false,true,false,false,false,false,true,true,false,false,false,true,true,true,false,false,false,false,false,false,false,false,false,false,false,false,true,true,false,false,false,false,true,false,false,true,true,false,false,false,false,false,true,true,false,true,false,false,true,false,false,false,false,false,true,false,false,true,true,false,false,false,false,true,false,false,false,false,true,false,false,false,false,false,false,false,true,false,false,true,false,false,false,false,false,false]},\"id\":\"5333\",\"type\":\"BooleanFilter\"},{\"attributes\":{\"filters\":[{\"id\":\"5333\",\"type\":\"BooleanFilter\"}],\"source\":{\"id\":\"5326\",\"type\":\"ColumnDataSource\"}},\"id\":\"5334\",\"type\":\"CDSView\"},{\"attributes\":{\"plot\":null,\"text\":\"Europe\"},\"id\":\"5452\",\"type\":\"Title\"},{\"attributes\":{\"below\":[{\"id\":\"5346\",\"type\":\"LinearAxis\"}],\"left\":[{\"id\":\"5351\",\"type\":\"LinearAxis\"}],\"plot_height\":300,\"plot_width\":300,\"renderers\":[{\"id\":\"5346\",\"type\":\"LinearAxis\"},{\"id\":\"5350\",\"type\":\"Grid\"},{\"id\":\"5351\",\"type\":\"LinearAxis\"},{\"id\":\"5355\",\"type\":\"Grid\"},{\"id\":\"5361\",\"type\":\"BoxAnnotation\"},{\"id\":\"5373\",\"type\":\"GlyphRenderer\"}],\"title\":{\"id\":\"5335\",\"type\":\"Title\"},\"toolbar\":{\"id\":\"5363\",\"type\":\"Toolbar\"},\"toolbar_location\":null,\"x_range\":{\"id\":\"5338\",\"type\":\"DataRange1d\"},\"x_scale\":{\"id\":\"5342\",\"type\":\"LinearScale\"},\"y_range\":{\"id\":\"5340\",\"type\":\"DataRange1d\"},\"y_scale\":{\"id\":\"5344\",\"type\":\"LinearScale\"}},\"id\":\"5336\",\"subtype\":\"Figure\",\"type\":\"Plot\"},{\"attributes\":{\"plot\":null,\"text\":\"Latin\"},\"id\":\"5335\",\"type\":\"Title\"},{\"attributes\":{\"callback\":null},\"id\":\"5455\",\"type\":\"DataRange1d\"},{\"attributes\":{\"callback\":null},\"id\":\"5457\",\"type\":\"DataRange1d\"},{\"attributes\":{\"callback\":null},\"id\":\"5338\",\"type\":\"DataRange1d\"},{\"attributes\":{},\"id\":\"5459\",\"type\":\"LinearScale\"},{\"attributes\":{\"callback\":null},\"id\":\"5340\",\"type\":\"DataRange1d\"},{\"attributes\":{},\"id\":\"5461\",\"type\":\"LinearScale\"},{\"attributes\":{},\"id\":\"5342\",\"type\":\"LinearScale\"},{\"attributes\":{\"axis_label\":\"fertility (children per woman)\",\"formatter\":{\"id\":\"5522\",\"type\":\"BasicTickFormatter\"},\"plot\":{\"id\":\"5453\",\"subtype\":\"Figure\",\"type\":\"Plot\"},\"ticker\":{\"id\":\"5464\",\"type\":\"BasicTicker\"}},\"id\":\"5463\",\"type\":\"LinearAxis\"},{\"attributes\":{},\"id\":\"5344\",\"type\":\"LinearScale\"},{\"attributes\":{},\"id\":\"5464\",\"type\":\"BasicTicker\"},{\"attributes\":{\"axis_label\":\"fertility (children per woman)\",\"formatter\":{\"id\":\"5494\",\"type\":\"BasicTickFormatter\"},\"plot\":{\"id\":\"5336\",\"subtype\":\"Figure\",\"type\":\"Plot\"},\"ticker\":{\"id\":\"5347\",\"type\":\"BasicTicker\"}},\"id\":\"5346\",\"type\":\"LinearAxis\"},{\"attributes\":{\"plot\":{\"id\":\"5453\",\"subtype\":\"Figure\",\"type\":\"Plot\"},\"ticker\":{\"id\":\"5464\",\"type\":\"BasicTicker\"}},\"id\":\"5467\",\"type\":\"Grid\"},{\"attributes\":{\"plot\":{\"id\":\"5336\",\"subtype\":\"Figure\",\"type\":\"Plot\"},\"ticker\":{\"id\":\"5347\",\"type\":\"BasicTicker\"}},\"id\":\"5350\",\"type\":\"Grid\"},{\"attributes\":{\"axis_label\":\"female literacy (% population)\",\"formatter\":{\"id\":\"5520\",\"type\":\"BasicTickFormatter\"},\"plot\":{\"id\":\"5453\",\"subtype\":\"Figure\",\"type\":\"Plot\"},\"ticker\":{\"id\":\"5469\",\"type\":\"BasicTicker\"}},\"id\":\"5468\",\"type\":\"LinearAxis\"},{\"attributes\":{\"axis_label\":\"female literacy (% population)\",\"formatter\":{\"id\":\"5492\",\"type\":\"BasicTickFormatter\"},\"plot\":{\"id\":\"5336\",\"subtype\":\"Figure\",\"type\":\"Plot\"},\"ticker\":{\"id\":\"5352\",\"type\":\"BasicTicker\"}},\"id\":\"5351\",\"type\":\"LinearAxis\"},{\"attributes\":{},\"id\":\"5469\",\"type\":\"BasicTicker\"},{\"attributes\":{},\"id\":\"5352\",\"type\":\"BasicTicker\"},{\"attributes\":{\"dimension\":1,\"plot\":{\"id\":\"5453\",\"subtype\":\"Figure\",\"type\":\"Plot\"},\"ticker\":{\"id\":\"5469\",\"type\":\"BasicTicker\"}},\"id\":\"5472\",\"type\":\"Grid\"},{\"attributes\":{\"dimension\":1,\"plot\":{\"id\":\"5336\",\"subtype\":\"Figure\",\"type\":\"Plot\"},\"ticker\":{\"id\":\"5352\",\"type\":\"BasicTicker\"}},\"id\":\"5355\",\"type\":\"Grid\"},{\"attributes\":{\"data_source\":{\"id\":\"5326\",\"type\":\"ColumnDataSource\"},\"glyph\":{\"id\":\"5487\",\"type\":\"Circle\"},\"hover_glyph\":{\"id\":\"5489\",\"type\":\"Circle\"},\"muted_glyph\":null,\"nonselection_glyph\":{\"id\":\"5488\",\"type\":\"Circle\"},\"selection_glyph\":null,\"view\":{\"id\":\"5334\",\"type\":\"CDSView\"}},\"id\":\"5490\",\"type\":\"GlyphRenderer\"},{\"attributes\":{\"fill_color\":{\"value\":\"#1f77b4\"},\"line_color\":{\"value\":\"#1f77b4\"},\"size\":{\"units\":\"screen\",\"value\":10},\"x\":{\"field\":\"fertility\"},\"y\":{\"field\":\"female literacy\"}},\"id\":\"5370\",\"type\":\"Circle\"},{\"attributes\":{\"active_drag\":\"auto\",\"active_inspect\":\"auto\",\"active_multi\":null,\"active_scroll\":\"auto\",\"active_tap\":\"auto\",\"tools\":[{\"id\":\"5473\",\"type\":\"BoxSelectTool\"},{\"id\":\"5474\",\"type\":\"HoverTool\"},{\"id\":\"5475\",\"type\":\"ResetTool\"},{\"id\":\"5476\",\"type\":\"PanTool\"},{\"id\":\"5477\",\"type\":\"WheelZoomTool\"}]},\"id\":\"5480\",\"type\":\"Toolbar\"},{\"attributes\":{\"children\":[{\"id\":\"5509\",\"type\":\"Row\"},{\"id\":\"5528\",\"type\":\"Row\"}]},\"id\":\"5529\",\"type\":\"Column\"},{\"attributes\":{\"below\":[{\"id\":\"5385\",\"type\":\"LinearAxis\"}],\"left\":[{\"id\":\"5390\",\"type\":\"LinearAxis\"}],\"plot_height\":300,\"plot_width\":300,\"renderers\":[{\"id\":\"5385\",\"type\":\"LinearAxis\"},{\"id\":\"5389\",\"type\":\"Grid\"},{\"id\":\"5390\",\"type\":\"LinearAxis\"},{\"id\":\"5394\",\"type\":\"Grid\"},{\"id\":\"5400\",\"type\":\"BoxAnnotation\"},{\"id\":\"5412\",\"type\":\"GlyphRenderer\"}],\"title\":{\"id\":\"5374\",\"type\":\"Title\"},\"toolbar\":{\"id\":\"5402\",\"type\":\"Toolbar\"},\"toolbar_location\":null,\"x_range\":{\"id\":\"5377\",\"type\":\"DataRange1d\"},\"x_scale\":{\"id\":\"5381\",\"type\":\"LinearScale\"},\"y_range\":{\"id\":\"5379\",\"type\":\"DataRange1d\"},\"y_scale\":{\"id\":\"5383\",\"type\":\"LinearScale\"}},\"id\":\"5375\",\"subtype\":\"Figure\",\"type\":\"Plot\"},{\"attributes\":{\"callback\":null,\"overlay\":{\"id\":\"5478\",\"type\":\"BoxAnnotation\"}},\"id\":\"5473\",\"type\":\"BoxSelectTool\"},{\"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\":\"5361\",\"type\":\"BoxAnnotation\"},{\"attributes\":{\"callback\":null,\"overlay\":{\"id\":\"5361\",\"type\":\"BoxAnnotation\"}},\"id\":\"5356\",\"type\":\"BoxSelectTool\"},{\"attributes\":{\"callback\":null},\"id\":\"5474\",\"type\":\"HoverTool\"},{\"attributes\":{\"callback\":null},\"id\":\"5357\",\"type\":\"HoverTool\"},{\"attributes\":{},\"id\":\"5475\",\"type\":\"ResetTool\"},{\"attributes\":{},\"id\":\"5358\",\"type\":\"ResetTool\"},{\"attributes\":{},\"id\":\"5476\",\"type\":\"PanTool\"},{\"attributes\":{},\"id\":\"5359\",\"type\":\"PanTool\"},{\"attributes\":{\"children\":[{\"id\":\"5336\",\"subtype\":\"Figure\",\"type\":\"Plot\"},{\"id\":\"5375\",\"subtype\":\"Figure\",\"type\":\"Plot\"}]},\"id\":\"5509\",\"type\":\"Row\"},{\"attributes\":{},\"id\":\"5360\",\"type\":\"WheelZoomTool\"},{\"attributes\":{},\"id\":\"5492\",\"type\":\"BasicTickFormatter\"},{\"attributes\":{},\"id\":\"5494\",\"type\":\"BasicTickFormatter\"},{\"attributes\":{\"fill_alpha\":{\"value\":0.1},\"fill_color\":{\"value\":\"#1f77b4\"},\"line_alpha\":{\"value\":0.1},\"line_color\":{\"value\":\"#1f77b4\"},\"size\":{\"units\":\"screen\",\"value\":10},\"x\":{\"field\":\"fertility\"},\"y\":{\"field\":\"female literacy\"}},\"id\":\"5371\",\"type\":\"Circle\"},{\"attributes\":{},\"id\":\"5497\",\"type\":\"UnionRenderers\"},{\"attributes\":{\"active_drag\":\"auto\",\"active_inspect\":\"auto\",\"active_multi\":null,\"active_scroll\":\"auto\",\"active_tap\":\"auto\",\"tools\":[{\"id\":\"5356\",\"type\":\"BoxSelectTool\"},{\"id\":\"5357\",\"type\":\"HoverTool\"},{\"id\":\"5358\",\"type\":\"ResetTool\"},{\"id\":\"5359\",\"type\":\"PanTool\"},{\"id\":\"5360\",\"type\":\"WheelZoomTool\"}]},\"id\":\"5363\",\"type\":\"Toolbar\"},{\"attributes\":{\"fill_color\":{\"value\":\"red\"},\"line_color\":{\"value\":\"red\"},\"size\":{\"units\":\"screen\",\"value\":10},\"x\":{\"field\":\"fertility\"},\"y\":{\"field\":\"female literacy\"}},\"id\":\"5372\",\"type\":\"Circle\"},{\"attributes\":{},\"id\":\"5498\",\"type\":\"Selection\"},{\"attributes\":{},\"id\":\"5501\",\"type\":\"BasicTickFormatter\"},{\"attributes\":{\"data_source\":{\"id\":\"5326\",\"type\":\"ColumnDataSource\"},\"glyph\":{\"id\":\"5370\",\"type\":\"Circle\"},\"hover_glyph\":{\"id\":\"5372\",\"type\":\"Circle\"},\"muted_glyph\":null,\"nonselection_glyph\":{\"id\":\"5371\",\"type\":\"Circle\"},\"selection_glyph\":null,\"view\":{\"id\":\"5328\",\"type\":\"CDSView\"}},\"id\":\"5373\",\"type\":\"GlyphRenderer\"},{\"attributes\":{},\"id\":\"5503\",\"type\":\"BasicTickFormatter\"},{\"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\":\"5478\",\"type\":\"BoxAnnotation\"},{\"attributes\":{\"below\":[{\"id\":\"5424\",\"type\":\"LinearAxis\"}],\"left\":[{\"id\":\"5429\",\"type\":\"LinearAxis\"}],\"plot_height\":300,\"plot_width\":300,\"renderers\":[{\"id\":\"5424\",\"type\":\"LinearAxis\"},{\"id\":\"5428\",\"type\":\"Grid\"},{\"id\":\"5429\",\"type\":\"LinearAxis\"},{\"id\":\"5433\",\"type\":\"Grid\"},{\"id\":\"5439\",\"type\":\"BoxAnnotation\"},{\"id\":\"5451\",\"type\":\"GlyphRenderer\"}],\"title\":{\"id\":\"5413\",\"type\":\"Title\"},\"toolbar\":{\"id\":\"5441\",\"type\":\"Toolbar\"},\"toolbar_location\":null,\"x_range\":{\"id\":\"5416\",\"type\":\"DataRange1d\"},\"x_scale\":{\"id\":\"5420\",\"type\":\"LinearScale\"},\"y_range\":{\"id\":\"5418\",\"type\":\"DataRange1d\"},\"y_scale\":{\"id\":\"5422\",\"type\":\"LinearScale\"}},\"id\":\"5414\",\"subtype\":\"Figure\",\"type\":\"Plot\"},{\"attributes\":{\"plot\":null,\"text\":\"Africa\"},\"id\":\"5374\",\"type\":\"Title\"},{\"attributes\":{\"callback\":null,\"data\":{\"Continent\":[\"ASI\",\"ASI\",\"NAM\",\"ASI\",\"LAT\",\"ASI\",\"ASI\",\"AF\",\"EUR\",\"ASI\",\"LAT\",\"ASI\",\"ASI\",\"EUR\",\"AF\",\"AF\",\"ASI\",\"ASI\",\"ASI\",\"AF\",\"EUR\",\"EUR\",\"EUR\",\"ASI\",\"AF\",\"ASI\",\"EUR\",\"EUR\",\"LAT\",\"AF\",\"AF\",\"LAT\",\"AF\",\"EUR\",\"AF\",\"NAM\",\"AF\",\"AF\",\"ASI\",\"ASI\",\"LAT\",\"ASI\",\"LAT\",\"ASI\",\"ASI\",\"ASI\",\"ASI\",\"AF\",\"ASI\",\"AF\",\"EUR\",\"AF\",\"ASI\",\"ASI\",\"AF\",\"AF\",\"AF\",\"LAT\",\"EUR\",\"ASI\",\"AF\",\"AF\",\"AF\",\"ASI\",\"LAT\",\"LAT\",\"AF\",\"AF\",\"AF\",\"AF\",\"EUR\",\"LAT\",\"AF\",\"EUR\",\"EUR\",\"EUR\",\"AF\",\"EUR\",\"LAT\",\"AF\",\"AF\",\"LAT\",\"EUR\",\"EUR\",\"ASI\",\"AF\",\"AF\",\"EUR\",\"EUR\",\"EUR\",\"LAT\",\"ASI\",\"ASI\",\"OCE\",\"AF\",\"AF\",\"LAT\",\"ASI\",\"LAT\",\"ASI\",\"LAT\",\"AF\",\"EUR\",\"EUR\",\"ASI\",\"ASI\",\"AF\",\"ASI\",\"EUR\",\"LAT\",\"ASI\",\"EUR\",\"EUR\",\"AF\",\"ASI\",\"OCE\",\"ASI\",\"AF\",\"EUR\",\"EUR\",\"LAT\",\"EUR\",\"LAT\",\"AF\",\"EUR\",\"ASI\",\"ASI\",\"ASI\",\"LAT\",\"ASI\",\"EUR\",\"AF\",\"AF\",\"EUR\",\"EUR\",\"AF\",\"AF\",\"AF\",\"AF\",\"EUR\",\"LAT\",\"ASI\",\"AF\",\"AF\",\"EUR\",\"ASI\",\"ASI\",\"AF\",\"AF\",\"ASI\",\"LAT\",\"AF\",\"EUR\",\"ASI\",\"LAT\",\"EUR\",\"ASI\",\"OCE\",\"OCE\",\"AF\",\"LAT\",\"ASI\"],\"Country \":[\"Chine\",\"Inde\",\"USA\",\"Indon\\u00e9sie\",\"Br\\u00e9sil\",\"Pakistan\",\"Bangladesh\",\"Nig\\u00e9ria\",\"F\\u00e9d\\u00e9ration de Russie\",\"Japan\",\"Mexique\",\"Philippines\",\"Viet Nam\",\"Germany\",\"Egypte\",\"Ethiopie\",\"Turquie\",\"Iran, R\\u00e9publique islamique d'\",\"Tha\\u00eflande\",\"R\\u00e9p. D\\u00e9mocratique du Congo\",\"France\",\"UK\",\"Italie\",\"Myanmar\",\"Afrique du Sud\",\"South Korea\",\"Ukraine\",\"Espagne\",\"Colombie\",\"R\\u00e9publique-Unie de Tanzanie\",\"Soudan\",\"Argentine\",\"Kenya\",\"Pologne\",\"Alg\\u00e9rie\",\"Canada\",\"Ouganda\",\"Maroc\",\"Iraq\",\"Afghanistan\",\"P\\u00e9rou\",\"N\\u00e9pal\",\"Venezuela\",\"Ouzb\\u00e9kistan\",\"Malaisie\",\"Arabie saoudite\",\"R\\u00e9p. populaire d\\u00e9mocratique de Cor\\u00e9e\",\"Ghana\",\"Y\\u00e9men\",\"Mozambique\",\"Roumanie\",\"C\\u00f4te d'Ivoire\",\"R\\u00e9publique arabe syrienne\",\"Sri Lanka\",\"Madagascar\",\"Cameroun\",\"Angola\",\"Chili\",\"Netherlands\",\"Kazakhstan\",\"Burkina Faso\",\"Malawi\",\"Niger\",\"Cambodge\",\"Guatemala\",\"Equateur\",\"Mali\",\"Zambie\",\"Zimbabwe\",\"S\\u00e9n\\u00e9gal\",\"Gr\\u00e8ce\",\"Cuba\",\"Tchad\",\"Belgium\",\"Portugal\",\"Czech rep\",\"Tunisie\",\"Hongrie\",\"R\\u00e9publique dominicaine\",\"Guin\\u00e9e\",\"Rwanda\",\"Bolivie\",\"B\\u00e9larus\",\"Sweden\",\"Azerba\\u00efdjan\",\"B\\u00e9nin\",\"Burundi\",\"Switzerland\",\"Bulgarie\",\"Serbie\",\"Honduras\",\"Israel\",\"Tadjikistan\",\"Papouasie-Nouvelle-Guin\\u00e9e\",\"Togo\",\"Jamahiriya arabe libyenne\",\"Paraguay\",\"R\\u00e9p. d\\u00e9mocratique populaire lao\",\"El Salvador\",\"Jordanie\",\"Nicaragua\",\"Sierra Leone\",\"Denmark\",\"Finland\",\"Kirghizistan\",\"Turkm\\u00e9nistan\",\"Erythr\\u00e9e\",\"Singapour\",\"Norway\",\"Costa Rica\",\"Emirats arabes unis\",\"Croatie\",\"Ireland\",\"R\\u00e9publique centrafricaine\",\"G\\u00e9orgie\",\"New Zealand\",\"Liban\",\"Lib\\u00e9ria\",\"Bosnie-Herz\\u00e9govine\",\"R\\u00e9publique de Moldova\",\"Panama\",\"Lituanie\",\"Uruguay\",\"Mauritanie\",\"Albanie\",\"Arm\\u00e9nie\",\"Oman\",\"Kowe\\u00eft\",\"Jama\\u00efque\",\"Mongolie\",\"Lettonie\",\"Namibie\",\"Lesotho\",\"L'ex-R\\u00e9p. yougoslave de Mac\\u00e9doine\",\"Slov\\u00e9nie\",\"Botswana\",\"Gambie\",\"Guin\\u00e9e-Bissau\",\"Gabon\",\"Estonie\",\"Trinit\\u00e9-et-Tobago\",\"Qatar\",\"Maurice\",\"Swaziland\",\"Chypre\",\"Bahre\\u00efn\",\"Bhoutan\",\"Guin\\u00e9e \\u00e9quatoriale\",\"Comores\",\"Macao, Chine\",\"Suriname\",\"Cap-Vert\",\"Malte\",\"Brun\\u00e9i Darussalam\",\"Bahamas\",\"Iceland\",\"Maldives\",\"Vanuatu\",\"Samoa\",\"Sao Tom\\u00e9-et-Principe\",\"Aruba\",\"Tonga\"],\"female literacy\":{\"__ndarray__\":\"AAAAAACgVkBmZmZmZmZJQAAAAAAAwFhAMzMzMzMzVkDNzMzMzIxWQAAAAAAAAERAZmZmZmbmSEBmZmZmZmZIQJqZmZmZ2VhAAAAAAADAWEAAAAAAAOBWQJqZmZmZeVdAzczMzMyMVkAAAAAAAMBYQGZmZmZm5kxAzczMzMzMNkAzMzMzM1NUQM3MzMzMTFNAAAAAAADgVkDNzMzMzAxMQAAAAAAAwFhAAAAAAADAWEAAAAAAAKBYQM3MzMzMTFZAZmZmZmYGVkBmZmZmZiZYQGZmZmZm5lhAmpmZmZk5WECamZmZmVlXQDMzMzMzk1BAzczMzMzMTUDNzMzMzGxYQDMzMzMzs1RAMzMzMzPTWEAzMzMzM/NPQAAAAAAAwFhAMzMzMzOzUEDNzMzMzAxGQM3MzMzMTFFAMzMzMzMzKUBmZmZmZiZVQDMzMzMzs0ZAmpmZmZm5V0CamZmZmblYQDMzMzMzc1ZAzczMzMwMVEAAAAAAAABZQGZmZmZmpk1AZmZmZmZmRUDNzMzMzAxEQJqZmZmZOVhAZmZmZmYmRkDNzMzMzExTQGZmZmZmRlZAMzMzMzNTUEAzMzMzM/NQQAAAAAAAgExAzczMzMysWEAAAAAAAMBYQAAAAAAA4FhAmpmZmZmZNUAzMzMzM3NQQDMzMzMzMy5AmpmZmZm5UUDNzMzMzCxRQM3MzMzMbFRAMzMzMzMzMkAAAAAAAIBOQDMzMzMzM1ZAAAAAAACAQECamZmZmflXQDMzMzMz81hAZmZmZmbmNUAAAAAAAMBYQJqZmZmZOVdAAAAAAADAWEAAAAAAAMBRQJqZmZmZuVhAMzMzMzMTVkBmZmZmZmY6QGZmZmZmhlBAAAAAAACAVUDNzMzMzOxYQAAAAAAAwFhAzczMzMzMWECamZmZmRk8QDMzMzMz801AAAAAAADAWECamZmZmXlYQM3MzMzMDFhAAAAAAADgVECamZmZmflXQAAAAAAA4FhAzczMzMzMS0CamZmZmdlKQDMzMzMzU1RAAAAAAABgV0CamZmZmZlPQJqZmZmZWVRAmpmZmZk5VkCamZmZmXlTQGZmZmZm5jxAAAAAAADAWEAAAAAAAABZQGZmZmZmxlhAMzMzMzPTWEAAAAAAAEBLQGZmZmZm5lZAAAAAAAAAWUDNzMzMzAxYQAAAAAAA4FZAAAAAAACAWEAAAAAAAMBYQM3MzMzMjERAzczMzMzsWEAAAAAAAMBYQAAAAAAAgFVAAAAAAACASkCamZmZmflXQDMzMzMzc1hAMzMzMzMzV0DNzMzMzOxYQAAAAAAAoFhAAAAAAADASEDNzMzMzKxYQJqZmZmZ2VhAmpmZmZk5VEBmZmZmZkZXQDMzMzMzs1ZAMzMzMzNzWEAzMzMzM/NYQM3MzMzM7FVAZmZmZmbGV0CamZmZmdlXQM3MzMzM7FhAAAAAAADgVEBmZmZmZiZBQAAAAAAAQEJAzczMzMzMVEAzMzMzM/NYQM3MzMzMjFhAmpmZmZmZVkAzMzMzMzNVQGZmZmZmZlVAzczMzMwsWECamZmZmVlWQJqZmZmZWUNAZmZmZmZGVkAzMzMzM/NQQM3MzMzMrFZAmpmZmZkZVkAzMzMzM9NTQAAAAAAAYFdAMzMzMzNTV0AAAAAAACBYQAAAAAAAwFhAmpmZmZmZWEAAAAAAAOBTQAAAAAAAoFhAMzMzMzPTVEAAAAAAAIBYQGZmZmZmxlhA\",\"dtype\":\"float64\",\"shape\":[162]},\"fertility\":{\"__ndarray__\":\"6Pup8dJN/D/b+X5qvHQFQARWDi2ynQBAdJMYBFYOAUAIrBxaZDv9P2Dl0CLb+Q5A6Pup8dJNAkD91HjpJrEUQH0/NV66SfY//tR46SYx9D9zaJHtfD8BQGmR7Xw/NQhA3SQGgZVDAEDJdr6fGi/1P7tJDAIrhwZA8tJNYhDYFEDNzMzMzMwAQOXQItv5fvw/8/3UeOkm/T9uEoPAyqEXQH9qvHSTGP4/bhKDwMqh/T89CtejcD32P3Noke18PwJACtejcD0KBEAv3SQGgZXzPy2yne+nxvU/sXJoke189z8IrBxaZDsDQBSuR+F6FBZACKwcWmQ7EEBjEFg5tMgBQFYOLbKdbxNAE4PAyqFF9D8j2/l+arwCQN0kBoGVQ/k/arx0kxgEGUB56SYxCKwCQOSlm8QgsA9AhetRuB4FGkA9CtejcD0EQC/dJAaBlQZAlkOLbOf7A0CWQ4ts5/sBQKrx0k1iEARAUrgehetRCEBEi2zn+6n9P+F6FK5H4RBAZmZmZmZmFECR7Xw/Nd4TQDMzMzMzM/U/dJMYBFYOEkD8qfHSTWIJQBFYObTIdgJAexSuR+F6EkBEi2zn+ykSQEA1XrpJjBZAN4lBYOXQ/j/AyqFFtvP7PycxCKwcWgJAd76fGi9dF0BSuB6F69EVQC2yne+nRhxArBxaZDvfBkDfT42XbhIQQLTIdr6fGgRAH4XrUbieFUCmm8QgsPIWQIGVQ4ts5wpAj8L1KFyPE0ApXI/C9Sj2PxSuR+F6FPg/bef7qfFSGEAlBoGVQ4v8P0A1XrpJDPY/MzMzMzMz9z/b+X5qvHT9P+xRuB6F6/U/TDeJQWDlBEA3iUFg5VAVQFK4HoXrURVALIcW2c73CkDl0CLb+X70P1YOLbKd7/0/001iEFg5AUBPjZduEoMVQM3MzMzMzBFAXI/C9Shc9z9g5dAi2/n2P5duEoPAyvk/hetRuB6FCUBqvHSTGAQGQM3MzMzMzApACtejcD0KEEBEi2zn+6kQQIlBYOXQIgVAN4lBYOXQB0BSuB6F61ELQFyPwvUoXAJA8/3UeOkmCEARWDm0yHYFQClcj8L1qBRAL90kBoGV/T/GSzeJQWD9P7+fGi/dJARAcT0K16NwA0DqJjEIrBwSQGiR7Xw/NfQ/KVyPwvUo/j9KDAIrhxb/P/yp8dJNYv4/30+Nl24S9z9zaJHtfD//P30/NV66yRJAHFpkO99P+T8zMzMzMzMAQNv5fmq8dP0/JQaBlUMLFEAxCKwcWmTzP9R46SYxCPg/VOOlm8QgBECsHFpkO9/1P4PAyqFFtgBAWmQ730+NEUBEi2zn+6n9PyyHFtnO9/s/bef7qfHSB0Cd76fGSzcBQEw3iUFg5QJAAyuHFtnO/z83iUFg5dD2P1K4HoXrUQpA6SYxCKwcCkBg5dAi2/n2P30/NV66SfY/+n5qvHSTBkDGSzeJQeATQIlBYOXQohZA7FG4HoXrCUBKDAIrhxb7PyYxCKwcWvo/4XoUrkfhAkB46SYxCKz8P5qZmZmZmQtAqMZLN4lB+D93vp8aL90BQBsv3SQGgQRAbhKDwMohFUAUrkfhehQPQLbz/dR46e4/lkOLbOf7AkDo+6nx0k0FQGq8dJMYBPQ/0SLb+X5qAEAshxbZzvcKQFg5tMh2vgBAAAAAAAAAAECq8dJNYhAPQDeJQWDl0A5AWDm0yHa+DUCDwMqhRbb7PwaBlUOLbA9A\",\"dtype\":\"float64\",\"shape\":[162]},\"index\":[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,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161],\"population\":{\"__ndarray__\":\"AAAAZii900GQFOkAn/zQQQAAAGCWH7JBAAAAdAUaq0EAAABkgeKmQe+OPP5RzaNBAAAAANESo0EAAAC8oQaiQQAAAGD466BBAAAAAG9ynkH67buGHVuZQQAAAFRuipVBAAAAdOONlEEAAABEmpOTQQAAABAGcJNBAAAAaFs+k0EAAABQXp+RQToXwIbdJ5FBAAAAPPAQkEEAAADY06OOQQAAAMA5so1BAAAAcNVIjUEAAACYu4eMQQAAAFgsoodBAAAAwDw3h0EAAADAeC2HQQAAAMDADoZBAAAAIAC5hUEAAAAApHaFQQAAAJgGQoRBAAAAWFS3g0EAAAAghwSDQQAAAAAYfIJBAAAA+AUugkEAAACQ+WOAQQAAAICqxH9BAAAAELowfkEAAAAANyR+QRITrwTXSX1BsGr1rzqte0EAAADANYB7QQAAAGCTeXtBAAAAgBGkekEAAABAYgx6QQAAABBMw3lB9wa/XgOBd0EAAAAQILd2QQAAAPDoRHZBAAAA0BbbdUEAAABQfFh1QQAAAGBZhHRBAAAAYCyjc0EolOqduqBzQSDBaMXyOHNBAAAA0ME5ckEAAAAQQDRyQQAAAMCTL3FBAAAAAIcGcEEAAAAgE15vQQAAACC65W1BAAAAgGsObUEAAADAHFFsQQAAAMDXC2xBAAAAAFvGa0EAAAAArhpqQQAAAAC6tmlBAAAAAPk7aEEAAABgNxJoQQAAAOBjxWdBAAAAoH1KZ0EAAADA3G5lQQAAAOAPX2VBAAAAYPDQZEEAAAAgumxkQQAAAKC5QmRBAAAAAALiY0EAAAAA37JjQQAAAIB1JWNBAAAA4Lj7YkEAAADgS8FiQQAAAMBuimJBAAAAIHR9YkEAAABA+nZiQQAAAKDGlWFBAAAAgFSOYEEAAADAiIVgQQAAAIADzV5BAAAAwG4sXUEAAADAuBRdQQAAAEDzCVxBAAAAQEHrW0EAAAAAgOFbQQAAAMDcE1pBAAAAgK0WWUEAAABAO6NYQQAAAECpAlhBAAAAwKfLV0EAAABA56tXQQAAAIAlZldBXanGt56HVkEAAABAf55VQQAAAECLNVVBAAAAQN30VEEAAADA3URUQQAAAAAzIlRBAAAAgGg9U0EAAABAZ8tSQQAAAAD6dVJBAAAAAHUwUkEAAACANT1RQQAAAMDRG1FBAAAAABTqUEEAAADA8uFQQQAAAMCPjVBBAAAAwBBuUEEAAAAA2UhQQQAAAADv/k9BAAAAAPzwTEEAAAAAVslMQQAAAIBsuEtBAAAAgFPuSUEAAACA0Z5JQQAAAADSb0lBAAAAgGGHSEEAAACAPftHQQAAAIDveUdBAAAAgChARUGBGHRrNNBEQQAAAABwgERBAAAAAKAmREEAAAAA90lBQQAAAADfP0BBAAAAAJVFP0EAAAAA/iU/QQAAAADE1z5BAAAAAGJQPUEAAAAAKFU5QQAAAAAWCjhBAAAAAN8YNkEAAAAAA3U0QQAAAACMWDRBAAAAAF6LM0EAAAAAdlwzQQAAAADa0TFBAAAAAMRRKkEAAAAAQqsnQQAAAACK9SRBAAAAAPodJEGoYCyg5qMjQQAAAADEDiBBAAAAANBwH0EAAAAAwG8eQQAAAAC4JBlBAAAAAGDxF0EAAAAAEJwUQQAAAACYXxNBAAAAAAyeEkEAAAAAUIwMQQAAAACo1QVBAAAAAHCNA0EAAAAA8L75QAAAAADgSPlA\",\"dtype\":\"float64\",\"shape\":[162]}},\"selected\":{\"id\":\"5498\",\"type\":\"Selection\"},\"selection_policy\":{\"id\":\"5497\",\"type\":\"UnionRenderers\"}},\"id\":\"5326\",\"type\":\"ColumnDataSource\"},{\"attributes\":{},\"id\":\"5511\",\"type\":\"BasicTickFormatter\"},{\"attributes\":{\"callback\":null},\"id\":\"5377\",\"type\":\"DataRange1d\"},{\"attributes\":{\"axis_label\":\"female literacy (% population)\",\"formatter\":{\"id\":\"5511\",\"type\":\"BasicTickFormatter\"},\"plot\":{\"id\":\"5414\",\"subtype\":\"Figure\",\"type\":\"Plot\"},\"ticker\":{\"id\":\"5430\",\"type\":\"BasicTicker\"}},\"id\":\"5429\",\"type\":\"LinearAxis\"},{\"attributes\":{},\"id\":\"5513\",\"type\":\"BasicTickFormatter\"},{\"attributes\":{\"callback\":null},\"id\":\"5379\",\"type\":\"DataRange1d\"},{\"attributes\":{},\"id\":\"5520\",\"type\":\"BasicTickFormatter\"},{\"attributes\":{\"booleans\":[false,false,false,false,false,false,false,true,false,false,false,false,false,false,true,true,false,false,false,true,false,false,false,false,true,false,false,false,false,true,true,false,true,false,true,false,true,true,false,false,false,false,false,false,false,false,false,true,false,true,false,true,false,false,true,true,true,false,false,false,true,true,true,false,false,false,true,true,true,true,false,false,true,false,false,false,true,false,false,true,true,false,false,false,false,true,true,false,false,false,false,false,false,false,true,true,false,false,false,false,false,true,false,false,false,false,true,false,false,false,false,false,false,true,false,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,true,true,false,false,true,true,true,true,false,false,false,true,true,false,false,false,true,true,false,false,true,false,false,false,false,false,false,false,true,false,false]},\"id\":\"5329\",\"type\":\"BooleanFilter\"},{\"attributes\":{\"tools\":[{\"id\":\"5356\",\"type\":\"BoxSelectTool\"},{\"id\":\"5357\",\"type\":\"HoverTool\"},{\"id\":\"5358\",\"type\":\"ResetTool\"},{\"id\":\"5359\",\"type\":\"PanTool\"},{\"id\":\"5360\",\"type\":\"WheelZoomTool\"},{\"id\":\"5395\",\"type\":\"BoxSelectTool\"},{\"id\":\"5396\",\"type\":\"HoverTool\"},{\"id\":\"5397\",\"type\":\"ResetTool\"},{\"id\":\"5398\",\"type\":\"PanTool\"},{\"id\":\"5399\",\"type\":\"WheelZoomTool\"},{\"id\":\"5434\",\"type\":\"BoxSelectTool\"},{\"id\":\"5435\",\"type\":\"HoverTool\"},{\"id\":\"5436\",\"type\":\"ResetTool\"},{\"id\":\"5437\",\"type\":\"PanTool\"},{\"id\":\"5438\",\"type\":\"WheelZoomTool\"},{\"id\":\"5473\",\"type\":\"BoxSelectTool\"},{\"id\":\"5474\",\"type\":\"HoverTool\"},{\"id\":\"5475\",\"type\":\"ResetTool\"},{\"id\":\"5476\",\"type\":\"PanTool\"},{\"id\":\"5477\",\"type\":\"WheelZoomTool\"}]},\"id\":\"5530\",\"type\":\"ProxyToolbar\"},{\"attributes\":{},\"id\":\"5381\",\"type\":\"LinearScale\"},{\"attributes\":{},\"id\":\"5347\",\"type\":\"BasicTicker\"},{\"attributes\":{\"toolbar\":{\"id\":\"5530\",\"type\":\"ProxyToolbar\"},\"toolbar_location\":\"above\"},\"id\":\"5531\",\"type\":\"ToolbarBox\"},{\"attributes\":{},\"id\":\"5383\",\"type\":\"LinearScale\"},{\"attributes\":{\"booleans\":[true,true,false,true,false,true,true,false,false,true,false,true,true,false,false,false,true,true,true,false,false,false,false,true,false,true,false,false,false,false,false,false,false,false,false,false,false,false,true,true,false,true,false,true,true,true,true,false,true,false,false,false,true,true,false,false,false,false,false,true,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,true,true,false,false,false,false,true,false,true,false,false,false,false,true,true,false,true,false,false,true,false,false,false,true,false,true,false,false,false,false,false,false,false,false,true,true,true,false,true,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,true,true,false,false,true,false,false,false,true,false,false,true,false,false,false,false,true]},\"id\":\"5331\",\"type\":\"BooleanFilter\"},{\"attributes\":{\"axis_label\":\"fertility (children per woman)\",\"formatter\":{\"id\":\"5503\",\"type\":\"BasicTickFormatter\"},\"plot\":{\"id\":\"5375\",\"subtype\":\"Figure\",\"type\":\"Plot\"},\"ticker\":{\"id\":\"5386\",\"type\":\"BasicTicker\"}},\"id\":\"5385\",\"type\":\"LinearAxis\"},{\"attributes\":{\"filters\":[{\"id\":\"5327\",\"type\":\"BooleanFilter\"}],\"source\":{\"id\":\"5326\",\"type\":\"ColumnDataSource\"}},\"id\":\"5328\",\"type\":\"CDSView\"},{\"attributes\":{},\"id\":\"5386\",\"type\":\"BasicTicker\"},{\"attributes\":{\"plot\":{\"id\":\"5375\",\"subtype\":\"Figure\",\"type\":\"Plot\"},\"ticker\":{\"id\":\"5386\",\"type\":\"BasicTicker\"}},\"id\":\"5389\",\"type\":\"Grid\"},{\"attributes\":{\"booleans\":[false,false,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,true,false,false,false,false,false,false,false,false,true,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,true,true,false,false,false,false,false,true,false,false,false,false,false,false,true,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,true,false,true,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,true,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,true,false,false,false,true,false,false,false,false,false,true,false]},\"id\":\"5327\",\"type\":\"BooleanFilter\"},{\"attributes\":{\"axis_label\":\"female literacy (% population)\",\"formatter\":{\"id\":\"5501\",\"type\":\"BasicTickFormatter\"},\"plot\":{\"id\":\"5375\",\"subtype\":\"Figure\",\"type\":\"Plot\"},\"ticker\":{\"id\":\"5391\",\"type\":\"BasicTicker\"}},\"id\":\"5390\",\"type\":\"LinearAxis\"},{\"attributes\":{\"fill_color\":{\"value\":\"#1f77b4\"},\"line_color\":{\"value\":\"#1f77b4\"},\"size\":{\"units\":\"screen\",\"value\":10},\"x\":{\"field\":\"fertility\"},\"y\":{\"field\":\"female literacy\"}},\"id\":\"5487\",\"type\":\"Circle\"},{\"attributes\":{},\"id\":\"5391\",\"type\":\"BasicTicker\"},{\"attributes\":{\"dimension\":1,\"plot\":{\"id\":\"5375\",\"subtype\":\"Figure\",\"type\":\"Plot\"},\"ticker\":{\"id\":\"5391\",\"type\":\"BasicTicker\"}},\"id\":\"5394\",\"type\":\"Grid\"},{\"attributes\":{\"fill_color\":{\"value\":\"#1f77b4\"},\"line_color\":{\"value\":\"#1f77b4\"},\"size\":{\"units\":\"screen\",\"value\":10},\"x\":{\"field\":\"fertility\"},\"y\":{\"field\":\"female literacy\"}},\"id\":\"5409\",\"type\":\"Circle\"},{\"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\":\"5400\",\"type\":\"BoxAnnotation\"},{\"attributes\":{\"callback\":null,\"overlay\":{\"id\":\"5400\",\"type\":\"BoxAnnotation\"}},\"id\":\"5395\",\"type\":\"BoxSelectTool\"},{\"attributes\":{\"callback\":null},\"id\":\"5396\",\"type\":\"HoverTool\"},{\"attributes\":{},\"id\":\"5397\",\"type\":\"ResetTool\"},{\"attributes\":{\"fill_alpha\":{\"value\":0.1},\"fill_color\":{\"value\":\"#1f77b4\"},\"line_alpha\":{\"value\":0.1},\"line_color\":{\"value\":\"#1f77b4\"},\"size\":{\"units\":\"screen\",\"value\":10},\"x\":{\"field\":\"fertility\"},\"y\":{\"field\":\"female literacy\"}},\"id\":\"5488\",\"type\":\"Circle\"},{\"attributes\":{},\"id\":\"5398\",\"type\":\"PanTool\"},{\"attributes\":{},\"id\":\"5399\",\"type\":\"WheelZoomTool\"},{\"attributes\":{},\"id\":\"5522\",\"type\":\"BasicTickFormatter\"},{\"attributes\":{\"fill_alpha\":{\"value\":0.1},\"fill_color\":{\"value\":\"#1f77b4\"},\"line_alpha\":{\"value\":0.1},\"line_color\":{\"value\":\"#1f77b4\"},\"size\":{\"units\":\"screen\",\"value\":10},\"x\":{\"field\":\"fertility\"},\"y\":{\"field\":\"female literacy\"}},\"id\":\"5410\",\"type\":\"Circle\"},{\"attributes\":{\"active_drag\":\"auto\",\"active_inspect\":\"auto\",\"active_multi\":null,\"active_scroll\":\"auto\",\"active_tap\":\"auto\",\"tools\":[{\"id\":\"5395\",\"type\":\"BoxSelectTool\"},{\"id\":\"5396\",\"type\":\"HoverTool\"},{\"id\":\"5397\",\"type\":\"ResetTool\"},{\"id\":\"5398\",\"type\":\"PanTool\"},{\"id\":\"5399\",\"type\":\"WheelZoomTool\"}]},\"id\":\"5402\",\"type\":\"Toolbar\"},{\"attributes\":{\"fill_color\":{\"value\":\"red\"},\"line_color\":{\"value\":\"red\"},\"size\":{\"units\":\"screen\",\"value\":10},\"x\":{\"field\":\"fertility\"},\"y\":{\"field\":\"female literacy\"}},\"id\":\"5411\",\"type\":\"Circle\"},{\"attributes\":{\"children\":[{\"id\":\"5414\",\"subtype\":\"Figure\",\"type\":\"Plot\"},{\"id\":\"5453\",\"subtype\":\"Figure\",\"type\":\"Plot\"}]},\"id\":\"5528\",\"type\":\"Row\"},{\"attributes\":{\"data_source\":{\"id\":\"5326\",\"type\":\"ColumnDataSource\"},\"glyph\":{\"id\":\"5409\",\"type\":\"Circle\"},\"hover_glyph\":{\"id\":\"5411\",\"type\":\"Circle\"},\"muted_glyph\":null,\"nonselection_glyph\":{\"id\":\"5410\",\"type\":\"Circle\"},\"selection_glyph\":null,\"view\":{\"id\":\"5330\",\"type\":\"CDSView\"}},\"id\":\"5412\",\"type\":\"GlyphRenderer\"},{\"attributes\":{},\"id\":\"5477\",\"type\":\"WheelZoomTool\"},{\"attributes\":{\"plot\":null,\"text\":\"Asia\"},\"id\":\"5413\",\"type\":\"Title\"},{\"attributes\":{\"callback\":null},\"id\":\"5416\",\"type\":\"DataRange1d\"},{\"attributes\":{\"callback\":null},\"id\":\"5418\",\"type\":\"DataRange1d\"},{\"attributes\":{},\"id\":\"5420\",\"type\":\"LinearScale\"},{\"attributes\":{},\"id\":\"5422\",\"type\":\"LinearScale\"},{\"attributes\":{\"axis_label\":\"fertility (children per woman)\",\"formatter\":{\"id\":\"5513\",\"type\":\"BasicTickFormatter\"},\"plot\":{\"id\":\"5414\",\"subtype\":\"Figure\",\"type\":\"Plot\"},\"ticker\":{\"id\":\"5425\",\"type\":\"BasicTicker\"}},\"id\":\"5424\",\"type\":\"LinearAxis\"},{\"attributes\":{},\"id\":\"5425\",\"type\":\"BasicTicker\"},{\"attributes\":{\"plot\":{\"id\":\"5414\",\"subtype\":\"Figure\",\"type\":\"Plot\"},\"ticker\":{\"id\":\"5425\",\"type\":\"BasicTicker\"}},\"id\":\"5428\",\"type\":\"Grid\"},{\"attributes\":{},\"id\":\"5430\",\"type\":\"BasicTicker\"},{\"attributes\":{\"dimension\":1,\"plot\":{\"id\":\"5414\",\"subtype\":\"Figure\",\"type\":\"Plot\"},\"ticker\":{\"id\":\"5430\",\"type\":\"BasicTicker\"}},\"id\":\"5433\",\"type\":\"Grid\"},{\"attributes\":{\"fill_color\":{\"value\":\"#1f77b4\"},\"line_color\":{\"value\":\"#1f77b4\"},\"size\":{\"units\":\"screen\",\"value\":10},\"x\":{\"field\":\"fertility\"},\"y\":{\"field\":\"female literacy\"}},\"id\":\"5448\",\"type\":\"Circle\"},{\"attributes\":{\"below\":[{\"id\":\"5463\",\"type\":\"LinearAxis\"}],\"left\":[{\"id\":\"5468\",\"type\":\"LinearAxis\"}],\"plot_height\":300,\"plot_width\":300,\"renderers\":[{\"id\":\"5463\",\"type\":\"LinearAxis\"},{\"id\":\"5467\",\"type\":\"Grid\"},{\"id\":\"5468\",\"type\":\"LinearAxis\"},{\"id\":\"5472\",\"type\":\"Grid\"},{\"id\":\"5478\",\"type\":\"BoxAnnotation\"},{\"id\":\"5490\",\"type\":\"GlyphRenderer\"}],\"title\":{\"id\":\"5452\",\"type\":\"Title\"},\"toolbar\":{\"id\":\"5480\",\"type\":\"Toolbar\"},\"toolbar_location\":null,\"x_range\":{\"id\":\"5455\",\"type\":\"DataRange1d\"},\"x_scale\":{\"id\":\"5459\",\"type\":\"LinearScale\"},\"y_range\":{\"id\":\"5457\",\"type\":\"DataRange1d\"},\"y_scale\":{\"id\":\"5461\",\"type\":\"LinearScale\"}},\"id\":\"5453\",\"subtype\":\"Figure\",\"type\":\"Plot\"},{\"attributes\":{\"fill_alpha\":{\"value\":0.1},\"fill_color\":{\"value\":\"#1f77b4\"},\"line_alpha\":{\"value\":0.1},\"line_color\":{\"value\":\"#1f77b4\"},\"size\":{\"units\":\"screen\",\"value\":10},\"x\":{\"field\":\"fertility\"},\"y\":{\"field\":\"female literacy\"}},\"id\":\"5449\",\"type\":\"Circle\"},{\"attributes\":{\"callback\":null,\"overlay\":{\"id\":\"5439\",\"type\":\"BoxAnnotation\"}},\"id\":\"5434\",\"type\":\"BoxSelectTool\"},{\"attributes\":{\"callback\":null},\"id\":\"5435\",\"type\":\"HoverTool\"},{\"attributes\":{},\"id\":\"5436\",\"type\":\"ResetTool\"},{\"attributes\":{},\"id\":\"5437\",\"type\":\"PanTool\"},{\"attributes\":{},\"id\":\"5438\",\"type\":\"WheelZoomTool\"}],\"root_ids\":[\"5532\"]},\"title\":\"Bokeh Application\",\"version\":\"1.0.2\"}};\n", " var render_items = [{\"docid\":\"80a3fd2a-bf7d-4105-9019-c8a1a372de8d\",\"roots\":{\"5532\":\"6678deb0-ee19-4919-baca-f655a784f9ea\"}}];\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": "5532" } }, "output_type": "display_data" } ], "source": [ "#import data\n", "\n", "from bokeh.models import ColumnDataSource, CDSView, BooleanFilter\n", "from bokeh.plotting import figure \n", "\n", "df = pd.read_csv('data/literacy_birth_rate.csv', nrows = 162)\n", "source = ColumnDataSource(df)\n", "\n", "#create four filters\n", "latin_view = CDSView(source=source, filters=[BooleanFilter(df.Continent == 'LAT')])\n", "africa_view = CDSView(source=source, filters=[BooleanFilter(df.Continent == 'AF')])\n", "asia_view = CDSView(source=source, filters=[BooleanFilter(df.Continent == 'ASI')])\n", "europe_view = CDSView(source=source, filters=[BooleanFilter(df.Continent == 'EUR')])\n", "\n", "#desired tools\n", "tools = [\"box_select\", \"hover\", \"reset\", 'pan','wheel_zoom']\n", "\n", "#create the four figures\n", "p1 = figure(x_axis_label = 'fertility (children per woman)', y_axis_label = 'female literacy (% population)', tools=tools, title = 'Latin', plot_width=300, plot_height=300)\n", "p1.circle(x='fertility', y='female literacy', size=10, hover_color=\"red\", source=source, view=latin_view)\n", "\n", "p2 = figure(x_axis_label = 'fertility (children per woman)', y_axis_label = 'female literacy (% population)', tools=tools, title = 'Africa', plot_width=300, plot_height=300)\n", "p2.circle(x='fertility', y='female literacy', size=10, hover_color=\"red\", source=source, view=africa_view)\n", "\n", "p3 = figure(x_axis_label = 'fertility (children per woman)', y_axis_label = 'female literacy (% population)', tools=tools, title = 'Asia', plot_width=300, plot_height=300)\n", "p3.circle(x='fertility', y='female literacy', size=10, hover_color=\"red\", source=source, view=asia_view)\n", "\n", "p4 = figure(x_axis_label = 'fertility (children per woman)', y_axis_label = 'female literacy (% population)', tools=tools, title = 'Europe', plot_width=300, plot_height=300)\n", "p4.circle(x='fertility', y='female literacy', size=10, hover_color=\"red\", source=source, view=europe_view)\n", "\n", "\n", "# Import gridplot from bokeh.layouts\n", "from bokeh.layouts import gridplot\n", "\n", "# Create a list containing plots p1 and p2: row1\n", "row1 = [p1, p2]\n", "\n", "# Create a list containing plots p3 and p4: row2\n", "row2 = [p3, p4]\n", "\n", "# Create a gridplot using row1 and row2: layout\n", "layout = gridplot([row1, row2])\n", "\n", "# Show the result\n", "show(layout)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Great work! In the next exercise, you will use these panels to build and display a tabbed layout.\n", "\n", "## Starting and displaying tabbed layouts\n", "\n", "Tabbed layouts can be created in Bokeh by placing plots or layouts in Panels. In essence, they are collections of Panel objects. \n", "\n", "In this demo, we'll take the four fertility vs female literacy plots from the last demo and make a `Panel()` for each. \n", "Then we'll create a tabbed layout to change the region in the fertility vs female literacy plots. \n", "\n", "Feel free to explore the tabs and \"Pan\", \"Box Zoom\" and \"Wheel Zoom\" tools are\n", "also all available as before.\n" ] }, { "cell_type": "code", "execution_count": 20, "metadata": {}, "outputs": [ { "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 = {\"7d56be59-ae3b-48b1-95b1-d91c3863563f\":{\"roots\":{\"references\":[{\"attributes\":{\"callback\":null,\"tabs\":[{\"id\":\"5961\",\"type\":\"Panel\"},{\"id\":\"5962\",\"type\":\"Panel\"},{\"id\":\"5963\",\"type\":\"Panel\"},{\"id\":\"5964\",\"type\":\"Panel\"}]},\"id\":\"5965\",\"type\":\"Tabs\"},{\"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\":\"5439\",\"type\":\"BoxAnnotation\"},{\"attributes\":{\"filters\":[{\"id\":\"5329\",\"type\":\"BooleanFilter\"}],\"source\":{\"id\":\"5326\",\"type\":\"ColumnDataSource\"}},\"id\":\"5330\",\"type\":\"CDSView\"},{\"attributes\":{\"active_drag\":\"auto\",\"active_inspect\":\"auto\",\"active_multi\":null,\"active_scroll\":\"auto\",\"active_tap\":\"auto\",\"tools\":[{\"id\":\"5434\",\"type\":\"BoxSelectTool\"},{\"id\":\"5435\",\"type\":\"HoverTool\"},{\"id\":\"5436\",\"type\":\"ResetTool\"},{\"id\":\"5437\",\"type\":\"PanTool\"},{\"id\":\"5438\",\"type\":\"WheelZoomTool\"}]},\"id\":\"5441\",\"type\":\"Toolbar\"},{\"attributes\":{\"fill_color\":{\"value\":\"red\"},\"line_color\":{\"value\":\"red\"},\"size\":{\"units\":\"screen\",\"value\":10},\"x\":{\"field\":\"fertility\"},\"y\":{\"field\":\"female literacy\"}},\"id\":\"5450\",\"type\":\"Circle\"},{\"attributes\":{\"filters\":[{\"id\":\"5331\",\"type\":\"BooleanFilter\"}],\"source\":{\"id\":\"5326\",\"type\":\"ColumnDataSource\"}},\"id\":\"5332\",\"type\":\"CDSView\"},{\"attributes\":{\"data_source\":{\"id\":\"5326\",\"type\":\"ColumnDataSource\"},\"glyph\":{\"id\":\"5448\",\"type\":\"Circle\"},\"hover_glyph\":{\"id\":\"5450\",\"type\":\"Circle\"},\"muted_glyph\":null,\"nonselection_glyph\":{\"id\":\"5449\",\"type\":\"Circle\"},\"selection_glyph\":null,\"view\":{\"id\":\"5332\",\"type\":\"CDSView\"}},\"id\":\"5451\",\"type\":\"GlyphRenderer\"},{\"attributes\":{\"fill_color\":{\"value\":\"red\"},\"line_color\":{\"value\":\"red\"},\"size\":{\"units\":\"screen\",\"value\":10},\"x\":{\"field\":\"fertility\"},\"y\":{\"field\":\"female literacy\"}},\"id\":\"5489\",\"type\":\"Circle\"},{\"attributes\":{\"booleans\":[false,false,false,false,false,false,false,false,true,false,false,false,false,true,false,false,false,false,false,false,true,true,true,false,false,false,true,true,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,true,false,false,true,true,true,false,true,false,false,false,false,true,true,false,false,false,true,true,true,false,false,false,false,false,false,false,false,false,false,false,false,true,true,false,false,false,false,true,false,false,true,true,false,false,false,false,false,true,true,false,true,false,false,true,false,false,false,false,false,true,false,false,true,true,false,false,false,false,true,false,false,false,false,true,false,false,false,false,false,false,false,true,false,false,true,false,false,false,false,false,false]},\"id\":\"5333\",\"type\":\"BooleanFilter\"},{\"attributes\":{\"filters\":[{\"id\":\"5333\",\"type\":\"BooleanFilter\"}],\"source\":{\"id\":\"5326\",\"type\":\"ColumnDataSource\"}},\"id\":\"5334\",\"type\":\"CDSView\"},{\"attributes\":{\"plot\":null,\"text\":\"Europe\"},\"id\":\"5452\",\"type\":\"Title\"},{\"attributes\":{\"below\":[{\"id\":\"5346\",\"type\":\"LinearAxis\"}],\"left\":[{\"id\":\"5351\",\"type\":\"LinearAxis\"}],\"plot_height\":300,\"plot_width\":300,\"renderers\":[{\"id\":\"5346\",\"type\":\"LinearAxis\"},{\"id\":\"5350\",\"type\":\"Grid\"},{\"id\":\"5351\",\"type\":\"LinearAxis\"},{\"id\":\"5355\",\"type\":\"Grid\"},{\"id\":\"5361\",\"type\":\"BoxAnnotation\"},{\"id\":\"5373\",\"type\":\"GlyphRenderer\"}],\"title\":{\"id\":\"5335\",\"type\":\"Title\"},\"toolbar\":{\"id\":\"5363\",\"type\":\"Toolbar\"},\"toolbar_location\":null,\"x_range\":{\"id\":\"5338\",\"type\":\"DataRange1d\"},\"x_scale\":{\"id\":\"5342\",\"type\":\"LinearScale\"},\"y_range\":{\"id\":\"5340\",\"type\":\"DataRange1d\"},\"y_scale\":{\"id\":\"5344\",\"type\":\"LinearScale\"}},\"id\":\"5336\",\"subtype\":\"Figure\",\"type\":\"Plot\"},{\"attributes\":{\"plot\":null,\"text\":\"Latin\"},\"id\":\"5335\",\"type\":\"Title\"},{\"attributes\":{\"callback\":null},\"id\":\"5455\",\"type\":\"DataRange1d\"},{\"attributes\":{\"callback\":null},\"id\":\"5457\",\"type\":\"DataRange1d\"},{\"attributes\":{\"callback\":null},\"id\":\"5338\",\"type\":\"DataRange1d\"},{\"attributes\":{},\"id\":\"5459\",\"type\":\"LinearScale\"},{\"attributes\":{\"callback\":null},\"id\":\"5340\",\"type\":\"DataRange1d\"},{\"attributes\":{},\"id\":\"5461\",\"type\":\"LinearScale\"},{\"attributes\":{},\"id\":\"5342\",\"type\":\"LinearScale\"},{\"attributes\":{\"axis_label\":\"fertility (children per woman)\",\"formatter\":{\"id\":\"5522\",\"type\":\"BasicTickFormatter\"},\"plot\":{\"id\":\"5453\",\"subtype\":\"Figure\",\"type\":\"Plot\"},\"ticker\":{\"id\":\"5464\",\"type\":\"BasicTicker\"}},\"id\":\"5463\",\"type\":\"LinearAxis\"},{\"attributes\":{},\"id\":\"5344\",\"type\":\"LinearScale\"},{\"attributes\":{},\"id\":\"5464\",\"type\":\"BasicTicker\"},{\"attributes\":{\"axis_label\":\"fertility (children per woman)\",\"formatter\":{\"id\":\"5494\",\"type\":\"BasicTickFormatter\"},\"plot\":{\"id\":\"5336\",\"subtype\":\"Figure\",\"type\":\"Plot\"},\"ticker\":{\"id\":\"5347\",\"type\":\"BasicTicker\"}},\"id\":\"5346\",\"type\":\"LinearAxis\"},{\"attributes\":{\"plot\":{\"id\":\"5453\",\"subtype\":\"Figure\",\"type\":\"Plot\"},\"ticker\":{\"id\":\"5464\",\"type\":\"BasicTicker\"}},\"id\":\"5467\",\"type\":\"Grid\"},{\"attributes\":{\"plot\":{\"id\":\"5336\",\"subtype\":\"Figure\",\"type\":\"Plot\"},\"ticker\":{\"id\":\"5347\",\"type\":\"BasicTicker\"}},\"id\":\"5350\",\"type\":\"Grid\"},{\"attributes\":{\"axis_label\":\"female literacy (% population)\",\"formatter\":{\"id\":\"5520\",\"type\":\"BasicTickFormatter\"},\"plot\":{\"id\":\"5453\",\"subtype\":\"Figure\",\"type\":\"Plot\"},\"ticker\":{\"id\":\"5469\",\"type\":\"BasicTicker\"}},\"id\":\"5468\",\"type\":\"LinearAxis\"},{\"attributes\":{\"axis_label\":\"female literacy (% population)\",\"formatter\":{\"id\":\"5492\",\"type\":\"BasicTickFormatter\"},\"plot\":{\"id\":\"5336\",\"subtype\":\"Figure\",\"type\":\"Plot\"},\"ticker\":{\"id\":\"5352\",\"type\":\"BasicTicker\"}},\"id\":\"5351\",\"type\":\"LinearAxis\"},{\"attributes\":{},\"id\":\"5469\",\"type\":\"BasicTicker\"},{\"attributes\":{},\"id\":\"5352\",\"type\":\"BasicTicker\"},{\"attributes\":{\"dimension\":1,\"plot\":{\"id\":\"5453\",\"subtype\":\"Figure\",\"type\":\"Plot\"},\"ticker\":{\"id\":\"5469\",\"type\":\"BasicTicker\"}},\"id\":\"5472\",\"type\":\"Grid\"},{\"attributes\":{\"dimension\":1,\"plot\":{\"id\":\"5336\",\"subtype\":\"Figure\",\"type\":\"Plot\"},\"ticker\":{\"id\":\"5352\",\"type\":\"BasicTicker\"}},\"id\":\"5355\",\"type\":\"Grid\"},{\"attributes\":{\"fill_color\":{\"value\":\"#1f77b4\"},\"line_color\":{\"value\":\"#1f77b4\"},\"size\":{\"units\":\"screen\",\"value\":10},\"x\":{\"field\":\"fertility\"},\"y\":{\"field\":\"female literacy\"}},\"id\":\"5370\",\"type\":\"Circle\"},{\"attributes\":{\"data_source\":{\"id\":\"5326\",\"type\":\"ColumnDataSource\"},\"glyph\":{\"id\":\"5487\",\"type\":\"Circle\"},\"hover_glyph\":{\"id\":\"5489\",\"type\":\"Circle\"},\"muted_glyph\":null,\"nonselection_glyph\":{\"id\":\"5488\",\"type\":\"Circle\"},\"selection_glyph\":null,\"view\":{\"id\":\"5334\",\"type\":\"CDSView\"}},\"id\":\"5490\",\"type\":\"GlyphRenderer\"},{\"attributes\":{\"active_drag\":\"auto\",\"active_inspect\":\"auto\",\"active_multi\":null,\"active_scroll\":\"auto\",\"active_tap\":\"auto\",\"tools\":[{\"id\":\"5473\",\"type\":\"BoxSelectTool\"},{\"id\":\"5474\",\"type\":\"HoverTool\"},{\"id\":\"5475\",\"type\":\"ResetTool\"},{\"id\":\"5476\",\"type\":\"PanTool\"},{\"id\":\"5477\",\"type\":\"WheelZoomTool\"}]},\"id\":\"5480\",\"type\":\"Toolbar\"},{\"attributes\":{\"below\":[{\"id\":\"5385\",\"type\":\"LinearAxis\"}],\"left\":[{\"id\":\"5390\",\"type\":\"LinearAxis\"}],\"plot_height\":300,\"plot_width\":300,\"renderers\":[{\"id\":\"5385\",\"type\":\"LinearAxis\"},{\"id\":\"5389\",\"type\":\"Grid\"},{\"id\":\"5390\",\"type\":\"LinearAxis\"},{\"id\":\"5394\",\"type\":\"Grid\"},{\"id\":\"5400\",\"type\":\"BoxAnnotation\"},{\"id\":\"5412\",\"type\":\"GlyphRenderer\"}],\"title\":{\"id\":\"5374\",\"type\":\"Title\"},\"toolbar\":{\"id\":\"5402\",\"type\":\"Toolbar\"},\"toolbar_location\":null,\"x_range\":{\"id\":\"5377\",\"type\":\"DataRange1d\"},\"x_scale\":{\"id\":\"5381\",\"type\":\"LinearScale\"},\"y_range\":{\"id\":\"5379\",\"type\":\"DataRange1d\"},\"y_scale\":{\"id\":\"5383\",\"type\":\"LinearScale\"}},\"id\":\"5375\",\"subtype\":\"Figure\",\"type\":\"Plot\"},{\"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\":\"5361\",\"type\":\"BoxAnnotation\"},{\"attributes\":{\"callback\":null,\"overlay\":{\"id\":\"5478\",\"type\":\"BoxAnnotation\"}},\"id\":\"5473\",\"type\":\"BoxSelectTool\"},{\"attributes\":{\"callback\":null,\"overlay\":{\"id\":\"5361\",\"type\":\"BoxAnnotation\"}},\"id\":\"5356\",\"type\":\"BoxSelectTool\"},{\"attributes\":{\"callback\":null},\"id\":\"5474\",\"type\":\"HoverTool\"},{\"attributes\":{\"callback\":null},\"id\":\"5357\",\"type\":\"HoverTool\"},{\"attributes\":{},\"id\":\"5475\",\"type\":\"ResetTool\"},{\"attributes\":{},\"id\":\"5358\",\"type\":\"ResetTool\"},{\"attributes\":{},\"id\":\"5476\",\"type\":\"PanTool\"},{\"attributes\":{},\"id\":\"5359\",\"type\":\"PanTool\"},{\"attributes\":{},\"id\":\"5492\",\"type\":\"BasicTickFormatter\"},{\"attributes\":{},\"id\":\"5360\",\"type\":\"WheelZoomTool\"},{\"attributes\":{},\"id\":\"5494\",\"type\":\"BasicTickFormatter\"},{\"attributes\":{\"fill_alpha\":{\"value\":0.1},\"fill_color\":{\"value\":\"#1f77b4\"},\"line_alpha\":{\"value\":0.1},\"line_color\":{\"value\":\"#1f77b4\"},\"size\":{\"units\":\"screen\",\"value\":10},\"x\":{\"field\":\"fertility\"},\"y\":{\"field\":\"female literacy\"}},\"id\":\"5371\",\"type\":\"Circle\"},{\"attributes\":{},\"id\":\"5497\",\"type\":\"UnionRenderers\"},{\"attributes\":{\"active_drag\":\"auto\",\"active_inspect\":\"auto\",\"active_multi\":null,\"active_scroll\":\"auto\",\"active_tap\":\"auto\",\"tools\":[{\"id\":\"5356\",\"type\":\"BoxSelectTool\"},{\"id\":\"5357\",\"type\":\"HoverTool\"},{\"id\":\"5358\",\"type\":\"ResetTool\"},{\"id\":\"5359\",\"type\":\"PanTool\"},{\"id\":\"5360\",\"type\":\"WheelZoomTool\"}]},\"id\":\"5363\",\"type\":\"Toolbar\"},{\"attributes\":{\"fill_color\":{\"value\":\"red\"},\"line_color\":{\"value\":\"red\"},\"size\":{\"units\":\"screen\",\"value\":10},\"x\":{\"field\":\"fertility\"},\"y\":{\"field\":\"female literacy\"}},\"id\":\"5372\",\"type\":\"Circle\"},{\"attributes\":{},\"id\":\"5498\",\"type\":\"Selection\"},{\"attributes\":{},\"id\":\"5501\",\"type\":\"BasicTickFormatter\"},{\"attributes\":{\"data_source\":{\"id\":\"5326\",\"type\":\"ColumnDataSource\"},\"glyph\":{\"id\":\"5370\",\"type\":\"Circle\"},\"hover_glyph\":{\"id\":\"5372\",\"type\":\"Circle\"},\"muted_glyph\":null,\"nonselection_glyph\":{\"id\":\"5371\",\"type\":\"Circle\"},\"selection_glyph\":null,\"view\":{\"id\":\"5328\",\"type\":\"CDSView\"}},\"id\":\"5373\",\"type\":\"GlyphRenderer\"},{\"attributes\":{},\"id\":\"5503\",\"type\":\"BasicTickFormatter\"},{\"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\":\"5478\",\"type\":\"BoxAnnotation\"},{\"attributes\":{\"below\":[{\"id\":\"5424\",\"type\":\"LinearAxis\"}],\"left\":[{\"id\":\"5429\",\"type\":\"LinearAxis\"}],\"plot_height\":300,\"plot_width\":300,\"renderers\":[{\"id\":\"5424\",\"type\":\"LinearAxis\"},{\"id\":\"5428\",\"type\":\"Grid\"},{\"id\":\"5429\",\"type\":\"LinearAxis\"},{\"id\":\"5433\",\"type\":\"Grid\"},{\"id\":\"5439\",\"type\":\"BoxAnnotation\"},{\"id\":\"5451\",\"type\":\"GlyphRenderer\"}],\"title\":{\"id\":\"5413\",\"type\":\"Title\"},\"toolbar\":{\"id\":\"5441\",\"type\":\"Toolbar\"},\"toolbar_location\":null,\"x_range\":{\"id\":\"5416\",\"type\":\"DataRange1d\"},\"x_scale\":{\"id\":\"5420\",\"type\":\"LinearScale\"},\"y_range\":{\"id\":\"5418\",\"type\":\"DataRange1d\"},\"y_scale\":{\"id\":\"5422\",\"type\":\"LinearScale\"}},\"id\":\"5414\",\"subtype\":\"Figure\",\"type\":\"Plot\"},{\"attributes\":{\"plot\":null,\"text\":\"Africa\"},\"id\":\"5374\",\"type\":\"Title\"},{\"attributes\":{\"callback\":null,\"data\":{\"Continent\":[\"ASI\",\"ASI\",\"NAM\",\"ASI\",\"LAT\",\"ASI\",\"ASI\",\"AF\",\"EUR\",\"ASI\",\"LAT\",\"ASI\",\"ASI\",\"EUR\",\"AF\",\"AF\",\"ASI\",\"ASI\",\"ASI\",\"AF\",\"EUR\",\"EUR\",\"EUR\",\"ASI\",\"AF\",\"ASI\",\"EUR\",\"EUR\",\"LAT\",\"AF\",\"AF\",\"LAT\",\"AF\",\"EUR\",\"AF\",\"NAM\",\"AF\",\"AF\",\"ASI\",\"ASI\",\"LAT\",\"ASI\",\"LAT\",\"ASI\",\"ASI\",\"ASI\",\"ASI\",\"AF\",\"ASI\",\"AF\",\"EUR\",\"AF\",\"ASI\",\"ASI\",\"AF\",\"AF\",\"AF\",\"LAT\",\"EUR\",\"ASI\",\"AF\",\"AF\",\"AF\",\"ASI\",\"LAT\",\"LAT\",\"AF\",\"AF\",\"AF\",\"AF\",\"EUR\",\"LAT\",\"AF\",\"EUR\",\"EUR\",\"EUR\",\"AF\",\"EUR\",\"LAT\",\"AF\",\"AF\",\"LAT\",\"EUR\",\"EUR\",\"ASI\",\"AF\",\"AF\",\"EUR\",\"EUR\",\"EUR\",\"LAT\",\"ASI\",\"ASI\",\"OCE\",\"AF\",\"AF\",\"LAT\",\"ASI\",\"LAT\",\"ASI\",\"LAT\",\"AF\",\"EUR\",\"EUR\",\"ASI\",\"ASI\",\"AF\",\"ASI\",\"EUR\",\"LAT\",\"ASI\",\"EUR\",\"EUR\",\"AF\",\"ASI\",\"OCE\",\"ASI\",\"AF\",\"EUR\",\"EUR\",\"LAT\",\"EUR\",\"LAT\",\"AF\",\"EUR\",\"ASI\",\"ASI\",\"ASI\",\"LAT\",\"ASI\",\"EUR\",\"AF\",\"AF\",\"EUR\",\"EUR\",\"AF\",\"AF\",\"AF\",\"AF\",\"EUR\",\"LAT\",\"ASI\",\"AF\",\"AF\",\"EUR\",\"ASI\",\"ASI\",\"AF\",\"AF\",\"ASI\",\"LAT\",\"AF\",\"EUR\",\"ASI\",\"LAT\",\"EUR\",\"ASI\",\"OCE\",\"OCE\",\"AF\",\"LAT\",\"ASI\"],\"Country \":[\"Chine\",\"Inde\",\"USA\",\"Indon\\u00e9sie\",\"Br\\u00e9sil\",\"Pakistan\",\"Bangladesh\",\"Nig\\u00e9ria\",\"F\\u00e9d\\u00e9ration de Russie\",\"Japan\",\"Mexique\",\"Philippines\",\"Viet Nam\",\"Germany\",\"Egypte\",\"Ethiopie\",\"Turquie\",\"Iran, R\\u00e9publique islamique d'\",\"Tha\\u00eflande\",\"R\\u00e9p. D\\u00e9mocratique du Congo\",\"France\",\"UK\",\"Italie\",\"Myanmar\",\"Afrique du Sud\",\"South Korea\",\"Ukraine\",\"Espagne\",\"Colombie\",\"R\\u00e9publique-Unie de Tanzanie\",\"Soudan\",\"Argentine\",\"Kenya\",\"Pologne\",\"Alg\\u00e9rie\",\"Canada\",\"Ouganda\",\"Maroc\",\"Iraq\",\"Afghanistan\",\"P\\u00e9rou\",\"N\\u00e9pal\",\"Venezuela\",\"Ouzb\\u00e9kistan\",\"Malaisie\",\"Arabie saoudite\",\"R\\u00e9p. populaire d\\u00e9mocratique de Cor\\u00e9e\",\"Ghana\",\"Y\\u00e9men\",\"Mozambique\",\"Roumanie\",\"C\\u00f4te d'Ivoire\",\"R\\u00e9publique arabe syrienne\",\"Sri Lanka\",\"Madagascar\",\"Cameroun\",\"Angola\",\"Chili\",\"Netherlands\",\"Kazakhstan\",\"Burkina Faso\",\"Malawi\",\"Niger\",\"Cambodge\",\"Guatemala\",\"Equateur\",\"Mali\",\"Zambie\",\"Zimbabwe\",\"S\\u00e9n\\u00e9gal\",\"Gr\\u00e8ce\",\"Cuba\",\"Tchad\",\"Belgium\",\"Portugal\",\"Czech rep\",\"Tunisie\",\"Hongrie\",\"R\\u00e9publique dominicaine\",\"Guin\\u00e9e\",\"Rwanda\",\"Bolivie\",\"B\\u00e9larus\",\"Sweden\",\"Azerba\\u00efdjan\",\"B\\u00e9nin\",\"Burundi\",\"Switzerland\",\"Bulgarie\",\"Serbie\",\"Honduras\",\"Israel\",\"Tadjikistan\",\"Papouasie-Nouvelle-Guin\\u00e9e\",\"Togo\",\"Jamahiriya arabe libyenne\",\"Paraguay\",\"R\\u00e9p. d\\u00e9mocratique populaire lao\",\"El Salvador\",\"Jordanie\",\"Nicaragua\",\"Sierra Leone\",\"Denmark\",\"Finland\",\"Kirghizistan\",\"Turkm\\u00e9nistan\",\"Erythr\\u00e9e\",\"Singapour\",\"Norway\",\"Costa Rica\",\"Emirats arabes unis\",\"Croatie\",\"Ireland\",\"R\\u00e9publique centrafricaine\",\"G\\u00e9orgie\",\"New Zealand\",\"Liban\",\"Lib\\u00e9ria\",\"Bosnie-Herz\\u00e9govine\",\"R\\u00e9publique de Moldova\",\"Panama\",\"Lituanie\",\"Uruguay\",\"Mauritanie\",\"Albanie\",\"Arm\\u00e9nie\",\"Oman\",\"Kowe\\u00eft\",\"Jama\\u00efque\",\"Mongolie\",\"Lettonie\",\"Namibie\",\"Lesotho\",\"L'ex-R\\u00e9p. yougoslave de Mac\\u00e9doine\",\"Slov\\u00e9nie\",\"Botswana\",\"Gambie\",\"Guin\\u00e9e-Bissau\",\"Gabon\",\"Estonie\",\"Trinit\\u00e9-et-Tobago\",\"Qatar\",\"Maurice\",\"Swaziland\",\"Chypre\",\"Bahre\\u00efn\",\"Bhoutan\",\"Guin\\u00e9e \\u00e9quatoriale\",\"Comores\",\"Macao, Chine\",\"Suriname\",\"Cap-Vert\",\"Malte\",\"Brun\\u00e9i Darussalam\",\"Bahamas\",\"Iceland\",\"Maldives\",\"Vanuatu\",\"Samoa\",\"Sao Tom\\u00e9-et-Principe\",\"Aruba\",\"Tonga\"],\"female literacy\":{\"__ndarray__\":\"AAAAAACgVkBmZmZmZmZJQAAAAAAAwFhAMzMzMzMzVkDNzMzMzIxWQAAAAAAAAERAZmZmZmbmSEBmZmZmZmZIQJqZmZmZ2VhAAAAAAADAWEAAAAAAAOBWQJqZmZmZeVdAzczMzMyMVkAAAAAAAMBYQGZmZmZm5kxAzczMzMzMNkAzMzMzM1NUQM3MzMzMTFNAAAAAAADgVkDNzMzMzAxMQAAAAAAAwFhAAAAAAADAWEAAAAAAAKBYQM3MzMzMTFZAZmZmZmYGVkBmZmZmZiZYQGZmZmZm5lhAmpmZmZk5WECamZmZmVlXQDMzMzMzk1BAzczMzMzMTUDNzMzMzGxYQDMzMzMzs1RAMzMzMzPTWEAzMzMzM/NPQAAAAAAAwFhAMzMzMzOzUEDNzMzMzAxGQM3MzMzMTFFAMzMzMzMzKUBmZmZmZiZVQDMzMzMzs0ZAmpmZmZm5V0CamZmZmblYQDMzMzMzc1ZAzczMzMwMVEAAAAAAAABZQGZmZmZmpk1AZmZmZmZmRUDNzMzMzAxEQJqZmZmZOVhAZmZmZmYmRkDNzMzMzExTQGZmZmZmRlZAMzMzMzNTUEAzMzMzM/NQQAAAAAAAgExAzczMzMysWEAAAAAAAMBYQAAAAAAA4FhAmpmZmZmZNUAzMzMzM3NQQDMzMzMzMy5AmpmZmZm5UUDNzMzMzCxRQM3MzMzMbFRAMzMzMzMzMkAAAAAAAIBOQDMzMzMzM1ZAAAAAAACAQECamZmZmflXQDMzMzMz81hAZmZmZmbmNUAAAAAAAMBYQJqZmZmZOVdAAAAAAADAWEAAAAAAAMBRQJqZmZmZuVhAMzMzMzMTVkBmZmZmZmY6QGZmZmZmhlBAAAAAAACAVUDNzMzMzOxYQAAAAAAAwFhAzczMzMzMWECamZmZmRk8QDMzMzMz801AAAAAAADAWECamZmZmXlYQM3MzMzMDFhAAAAAAADgVECamZmZmflXQAAAAAAA4FhAzczMzMzMS0CamZmZmdlKQDMzMzMzU1RAAAAAAABgV0CamZmZmZlPQJqZmZmZWVRAmpmZmZk5VkCamZmZmXlTQGZmZmZm5jxAAAAAAADAWEAAAAAAAABZQGZmZmZmxlhAMzMzMzPTWEAAAAAAAEBLQGZmZmZm5lZAAAAAAAAAWUDNzMzMzAxYQAAAAAAA4FZAAAAAAACAWEAAAAAAAMBYQM3MzMzMjERAzczMzMzsWEAAAAAAAMBYQAAAAAAAgFVAAAAAAACASkCamZmZmflXQDMzMzMzc1hAMzMzMzMzV0DNzMzMzOxYQAAAAAAAoFhAAAAAAADASEDNzMzMzKxYQJqZmZmZ2VhAmpmZmZk5VEBmZmZmZkZXQDMzMzMzs1ZAMzMzMzNzWEAzMzMzM/NYQM3MzMzM7FVAZmZmZmbGV0CamZmZmdlXQM3MzMzM7FhAAAAAAADgVEBmZmZmZiZBQAAAAAAAQEJAzczMzMzMVEAzMzMzM/NYQM3MzMzMjFhAmpmZmZmZVkAzMzMzMzNVQGZmZmZmZlVAzczMzMwsWECamZmZmVlWQJqZmZmZWUNAZmZmZmZGVkAzMzMzM/NQQM3MzMzMrFZAmpmZmZkZVkAzMzMzM9NTQAAAAAAAYFdAMzMzMzNTV0AAAAAAACBYQAAAAAAAwFhAmpmZmZmZWEAAAAAAAOBTQAAAAAAAoFhAMzMzMzPTVEAAAAAAAIBYQGZmZmZmxlhA\",\"dtype\":\"float64\",\"shape\":[162]},\"fertility\":{\"__ndarray__\":\"6Pup8dJN/D/b+X5qvHQFQARWDi2ynQBAdJMYBFYOAUAIrBxaZDv9P2Dl0CLb+Q5A6Pup8dJNAkD91HjpJrEUQH0/NV66SfY//tR46SYx9D9zaJHtfD8BQGmR7Xw/NQhA3SQGgZVDAEDJdr6fGi/1P7tJDAIrhwZA8tJNYhDYFEDNzMzMzMwAQOXQItv5fvw/8/3UeOkm/T9uEoPAyqEXQH9qvHSTGP4/bhKDwMqh/T89CtejcD32P3Noke18PwJACtejcD0KBEAv3SQGgZXzPy2yne+nxvU/sXJoke189z8IrBxaZDsDQBSuR+F6FBZACKwcWmQ7EEBjEFg5tMgBQFYOLbKdbxNAE4PAyqFF9D8j2/l+arwCQN0kBoGVQ/k/arx0kxgEGUB56SYxCKwCQOSlm8QgsA9AhetRuB4FGkA9CtejcD0EQC/dJAaBlQZAlkOLbOf7A0CWQ4ts5/sBQKrx0k1iEARAUrgehetRCEBEi2zn+6n9P+F6FK5H4RBAZmZmZmZmFECR7Xw/Nd4TQDMzMzMzM/U/dJMYBFYOEkD8qfHSTWIJQBFYObTIdgJAexSuR+F6EkBEi2zn+ykSQEA1XrpJjBZAN4lBYOXQ/j/AyqFFtvP7PycxCKwcWgJAd76fGi9dF0BSuB6F69EVQC2yne+nRhxArBxaZDvfBkDfT42XbhIQQLTIdr6fGgRAH4XrUbieFUCmm8QgsPIWQIGVQ4ts5wpAj8L1KFyPE0ApXI/C9Sj2PxSuR+F6FPg/bef7qfFSGEAlBoGVQ4v8P0A1XrpJDPY/MzMzMzMz9z/b+X5qvHT9P+xRuB6F6/U/TDeJQWDlBEA3iUFg5VAVQFK4HoXrURVALIcW2c73CkDl0CLb+X70P1YOLbKd7/0/001iEFg5AUBPjZduEoMVQM3MzMzMzBFAXI/C9Shc9z9g5dAi2/n2P5duEoPAyvk/hetRuB6FCUBqvHSTGAQGQM3MzMzMzApACtejcD0KEEBEi2zn+6kQQIlBYOXQIgVAN4lBYOXQB0BSuB6F61ELQFyPwvUoXAJA8/3UeOkmCEARWDm0yHYFQClcj8L1qBRAL90kBoGV/T/GSzeJQWD9P7+fGi/dJARAcT0K16NwA0DqJjEIrBwSQGiR7Xw/NfQ/KVyPwvUo/j9KDAIrhxb/P/yp8dJNYv4/30+Nl24S9z9zaJHtfD//P30/NV66yRJAHFpkO99P+T8zMzMzMzMAQNv5fmq8dP0/JQaBlUMLFEAxCKwcWmTzP9R46SYxCPg/VOOlm8QgBECsHFpkO9/1P4PAyqFFtgBAWmQ730+NEUBEi2zn+6n9PyyHFtnO9/s/bef7qfHSB0Cd76fGSzcBQEw3iUFg5QJAAyuHFtnO/z83iUFg5dD2P1K4HoXrUQpA6SYxCKwcCkBg5dAi2/n2P30/NV66SfY/+n5qvHSTBkDGSzeJQeATQIlBYOXQohZA7FG4HoXrCUBKDAIrhxb7PyYxCKwcWvo/4XoUrkfhAkB46SYxCKz8P5qZmZmZmQtAqMZLN4lB+D93vp8aL90BQBsv3SQGgQRAbhKDwMohFUAUrkfhehQPQLbz/dR46e4/lkOLbOf7AkDo+6nx0k0FQGq8dJMYBPQ/0SLb+X5qAEAshxbZzvcKQFg5tMh2vgBAAAAAAAAAAECq8dJNYhAPQDeJQWDl0A5AWDm0yHa+DUCDwMqhRbb7PwaBlUOLbA9A\",\"dtype\":\"float64\",\"shape\":[162]},\"index\":[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,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161],\"population\":{\"__ndarray__\":\"AAAAZii900GQFOkAn/zQQQAAAGCWH7JBAAAAdAUaq0EAAABkgeKmQe+OPP5RzaNBAAAAANESo0EAAAC8oQaiQQAAAGD466BBAAAAAG9ynkH67buGHVuZQQAAAFRuipVBAAAAdOONlEEAAABEmpOTQQAAABAGcJNBAAAAaFs+k0EAAABQXp+RQToXwIbdJ5FBAAAAPPAQkEEAAADY06OOQQAAAMA5so1BAAAAcNVIjUEAAACYu4eMQQAAAFgsoodBAAAAwDw3h0EAAADAeC2HQQAAAMDADoZBAAAAIAC5hUEAAAAApHaFQQAAAJgGQoRBAAAAWFS3g0EAAAAghwSDQQAAAAAYfIJBAAAA+AUugkEAAACQ+WOAQQAAAICqxH9BAAAAELowfkEAAAAANyR+QRITrwTXSX1BsGr1rzqte0EAAADANYB7QQAAAGCTeXtBAAAAgBGkekEAAABAYgx6QQAAABBMw3lB9wa/XgOBd0EAAAAQILd2QQAAAPDoRHZBAAAA0BbbdUEAAABQfFh1QQAAAGBZhHRBAAAAYCyjc0EolOqduqBzQSDBaMXyOHNBAAAA0ME5ckEAAAAQQDRyQQAAAMCTL3FBAAAAAIcGcEEAAAAgE15vQQAAACC65W1BAAAAgGsObUEAAADAHFFsQQAAAMDXC2xBAAAAAFvGa0EAAAAArhpqQQAAAAC6tmlBAAAAAPk7aEEAAABgNxJoQQAAAOBjxWdBAAAAoH1KZ0EAAADA3G5lQQAAAOAPX2VBAAAAYPDQZEEAAAAgumxkQQAAAKC5QmRBAAAAAALiY0EAAAAA37JjQQAAAIB1JWNBAAAA4Lj7YkEAAADgS8FiQQAAAMBuimJBAAAAIHR9YkEAAABA+nZiQQAAAKDGlWFBAAAAgFSOYEEAAADAiIVgQQAAAIADzV5BAAAAwG4sXUEAAADAuBRdQQAAAEDzCVxBAAAAQEHrW0EAAAAAgOFbQQAAAMDcE1pBAAAAgK0WWUEAAABAO6NYQQAAAECpAlhBAAAAwKfLV0EAAABA56tXQQAAAIAlZldBXanGt56HVkEAAABAf55VQQAAAECLNVVBAAAAQN30VEEAAADA3URUQQAAAAAzIlRBAAAAgGg9U0EAAABAZ8tSQQAAAAD6dVJBAAAAAHUwUkEAAACANT1RQQAAAMDRG1FBAAAAABTqUEEAAADA8uFQQQAAAMCPjVBBAAAAwBBuUEEAAAAA2UhQQQAAAADv/k9BAAAAAPzwTEEAAAAAVslMQQAAAIBsuEtBAAAAgFPuSUEAAACA0Z5JQQAAAADSb0lBAAAAgGGHSEEAAACAPftHQQAAAIDveUdBAAAAgChARUGBGHRrNNBEQQAAAABwgERBAAAAAKAmREEAAAAA90lBQQAAAADfP0BBAAAAAJVFP0EAAAAA/iU/QQAAAADE1z5BAAAAAGJQPUEAAAAAKFU5QQAAAAAWCjhBAAAAAN8YNkEAAAAAA3U0QQAAAACMWDRBAAAAAF6LM0EAAAAAdlwzQQAAAADa0TFBAAAAAMRRKkEAAAAAQqsnQQAAAACK9SRBAAAAAPodJEGoYCyg5qMjQQAAAADEDiBBAAAAANBwH0EAAAAAwG8eQQAAAAC4JBlBAAAAAGDxF0EAAAAAEJwUQQAAAACYXxNBAAAAAAyeEkEAAAAAUIwMQQAAAACo1QVBAAAAAHCNA0EAAAAA8L75QAAAAADgSPlA\",\"dtype\":\"float64\",\"shape\":[162]}},\"selected\":{\"id\":\"5498\",\"type\":\"Selection\"},\"selection_policy\":{\"id\":\"5497\",\"type\":\"UnionRenderers\"}},\"id\":\"5326\",\"type\":\"ColumnDataSource\"},{\"attributes\":{},\"id\":\"5511\",\"type\":\"BasicTickFormatter\"},{\"attributes\":{\"callback\":null},\"id\":\"5377\",\"type\":\"DataRange1d\"},{\"attributes\":{\"axis_label\":\"female literacy (% population)\",\"formatter\":{\"id\":\"5511\",\"type\":\"BasicTickFormatter\"},\"plot\":{\"id\":\"5414\",\"subtype\":\"Figure\",\"type\":\"Plot\"},\"ticker\":{\"id\":\"5430\",\"type\":\"BasicTicker\"}},\"id\":\"5429\",\"type\":\"LinearAxis\"},{\"attributes\":{},\"id\":\"5513\",\"type\":\"BasicTickFormatter\"},{\"attributes\":{\"callback\":null},\"id\":\"5379\",\"type\":\"DataRange1d\"},{\"attributes\":{},\"id\":\"5520\",\"type\":\"BasicTickFormatter\"},{\"attributes\":{\"booleans\":[false,false,false,false,false,false,false,true,false,false,false,false,false,false,true,true,false,false,false,true,false,false,false,false,true,false,false,false,false,true,true,false,true,false,true,false,true,true,false,false,false,false,false,false,false,false,false,true,false,true,false,true,false,false,true,true,true,false,false,false,true,true,true,false,false,false,true,true,true,true,false,false,true,false,false,false,true,false,false,true,true,false,false,false,false,true,true,false,false,false,false,false,false,false,true,true,false,false,false,false,false,true,false,false,false,false,true,false,false,false,false,false,false,true,false,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,true,true,false,false,true,true,true,true,false,false,false,true,true,false,false,false,true,true,false,false,true,false,false,false,false,false,false,false,true,false,false]},\"id\":\"5329\",\"type\":\"BooleanFilter\"},{\"attributes\":{},\"id\":\"5381\",\"type\":\"LinearScale\"},{\"attributes\":{},\"id\":\"5347\",\"type\":\"BasicTicker\"},{\"attributes\":{},\"id\":\"5383\",\"type\":\"LinearScale\"},{\"attributes\":{\"booleans\":[true,true,false,true,false,true,true,false,false,true,false,true,true,false,false,false,true,true,true,false,false,false,false,true,false,true,false,false,false,false,false,false,false,false,false,false,false,false,true,true,false,true,false,true,true,true,true,false,true,false,false,false,true,true,false,false,false,false,false,true,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,true,true,false,false,false,false,true,false,true,false,false,false,false,true,true,false,true,false,false,true,false,false,false,true,false,true,false,false,false,false,false,false,false,false,true,true,true,false,true,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,true,true,false,false,true,false,false,false,true,false,false,true,false,false,false,false,true]},\"id\":\"5331\",\"type\":\"BooleanFilter\"},{\"attributes\":{\"filters\":[{\"id\":\"5327\",\"type\":\"BooleanFilter\"}],\"source\":{\"id\":\"5326\",\"type\":\"ColumnDataSource\"}},\"id\":\"5328\",\"type\":\"CDSView\"},{\"attributes\":{\"axis_label\":\"fertility (children per woman)\",\"formatter\":{\"id\":\"5503\",\"type\":\"BasicTickFormatter\"},\"plot\":{\"id\":\"5375\",\"subtype\":\"Figure\",\"type\":\"Plot\"},\"ticker\":{\"id\":\"5386\",\"type\":\"BasicTicker\"}},\"id\":\"5385\",\"type\":\"LinearAxis\"},{\"attributes\":{},\"id\":\"5386\",\"type\":\"BasicTicker\"},{\"attributes\":{\"plot\":{\"id\":\"5375\",\"subtype\":\"Figure\",\"type\":\"Plot\"},\"ticker\":{\"id\":\"5386\",\"type\":\"BasicTicker\"}},\"id\":\"5389\",\"type\":\"Grid\"},{\"attributes\":{\"booleans\":[false,false,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,true,false,false,false,false,false,false,false,false,true,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,true,true,false,false,false,false,false,true,false,false,false,false,false,false,true,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,true,false,true,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,true,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,true,false,false,false,true,false,false,false,false,false,true,false]},\"id\":\"5327\",\"type\":\"BooleanFilter\"},{\"attributes\":{\"axis_label\":\"female literacy (% population)\",\"formatter\":{\"id\":\"5501\",\"type\":\"BasicTickFormatter\"},\"plot\":{\"id\":\"5375\",\"subtype\":\"Figure\",\"type\":\"Plot\"},\"ticker\":{\"id\":\"5391\",\"type\":\"BasicTicker\"}},\"id\":\"5390\",\"type\":\"LinearAxis\"},{\"attributes\":{\"fill_color\":{\"value\":\"#1f77b4\"},\"line_color\":{\"value\":\"#1f77b4\"},\"size\":{\"units\":\"screen\",\"value\":10},\"x\":{\"field\":\"fertility\"},\"y\":{\"field\":\"female literacy\"}},\"id\":\"5487\",\"type\":\"Circle\"},{\"attributes\":{},\"id\":\"5391\",\"type\":\"BasicTicker\"},{\"attributes\":{},\"id\":\"5438\",\"type\":\"WheelZoomTool\"},{\"attributes\":{\"dimension\":1,\"plot\":{\"id\":\"5375\",\"subtype\":\"Figure\",\"type\":\"Plot\"},\"ticker\":{\"id\":\"5391\",\"type\":\"BasicTicker\"}},\"id\":\"5394\",\"type\":\"Grid\"},{\"attributes\":{\"fill_color\":{\"value\":\"#1f77b4\"},\"line_color\":{\"value\":\"#1f77b4\"},\"size\":{\"units\":\"screen\",\"value\":10},\"x\":{\"field\":\"fertility\"},\"y\":{\"field\":\"female literacy\"}},\"id\":\"5409\",\"type\":\"Circle\"},{\"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\":\"5400\",\"type\":\"BoxAnnotation\"},{\"attributes\":{\"callback\":null,\"overlay\":{\"id\":\"5400\",\"type\":\"BoxAnnotation\"}},\"id\":\"5395\",\"type\":\"BoxSelectTool\"},{\"attributes\":{\"callback\":null},\"id\":\"5396\",\"type\":\"HoverTool\"},{\"attributes\":{},\"id\":\"5397\",\"type\":\"ResetTool\"},{\"attributes\":{\"fill_alpha\":{\"value\":0.1},\"fill_color\":{\"value\":\"#1f77b4\"},\"line_alpha\":{\"value\":0.1},\"line_color\":{\"value\":\"#1f77b4\"},\"size\":{\"units\":\"screen\",\"value\":10},\"x\":{\"field\":\"fertility\"},\"y\":{\"field\":\"female literacy\"}},\"id\":\"5488\",\"type\":\"Circle\"},{\"attributes\":{},\"id\":\"5398\",\"type\":\"PanTool\"},{\"attributes\":{},\"id\":\"5399\",\"type\":\"WheelZoomTool\"},{\"attributes\":{},\"id\":\"5522\",\"type\":\"BasicTickFormatter\"},{\"attributes\":{\"fill_alpha\":{\"value\":0.1},\"fill_color\":{\"value\":\"#1f77b4\"},\"line_alpha\":{\"value\":0.1},\"line_color\":{\"value\":\"#1f77b4\"},\"size\":{\"units\":\"screen\",\"value\":10},\"x\":{\"field\":\"fertility\"},\"y\":{\"field\":\"female literacy\"}},\"id\":\"5410\",\"type\":\"Circle\"},{\"attributes\":{\"active_drag\":\"auto\",\"active_inspect\":\"auto\",\"active_multi\":null,\"active_scroll\":\"auto\",\"active_tap\":\"auto\",\"tools\":[{\"id\":\"5395\",\"type\":\"BoxSelectTool\"},{\"id\":\"5396\",\"type\":\"HoverTool\"},{\"id\":\"5397\",\"type\":\"ResetTool\"},{\"id\":\"5398\",\"type\":\"PanTool\"},{\"id\":\"5399\",\"type\":\"WheelZoomTool\"}]},\"id\":\"5402\",\"type\":\"Toolbar\"},{\"attributes\":{\"fill_color\":{\"value\":\"red\"},\"line_color\":{\"value\":\"red\"},\"size\":{\"units\":\"screen\",\"value\":10},\"x\":{\"field\":\"fertility\"},\"y\":{\"field\":\"female literacy\"}},\"id\":\"5411\",\"type\":\"Circle\"},{\"attributes\":{\"data_source\":{\"id\":\"5326\",\"type\":\"ColumnDataSource\"},\"glyph\":{\"id\":\"5409\",\"type\":\"Circle\"},\"hover_glyph\":{\"id\":\"5411\",\"type\":\"Circle\"},\"muted_glyph\":null,\"nonselection_glyph\":{\"id\":\"5410\",\"type\":\"Circle\"},\"selection_glyph\":null,\"view\":{\"id\":\"5330\",\"type\":\"CDSView\"}},\"id\":\"5412\",\"type\":\"GlyphRenderer\"},{\"attributes\":{},\"id\":\"5477\",\"type\":\"WheelZoomTool\"},{\"attributes\":{\"plot\":null,\"text\":\"Asia\"},\"id\":\"5413\",\"type\":\"Title\"},{\"attributes\":{\"callback\":null},\"id\":\"5416\",\"type\":\"DataRange1d\"},{\"attributes\":{\"callback\":null},\"id\":\"5418\",\"type\":\"DataRange1d\"},{\"attributes\":{},\"id\":\"5420\",\"type\":\"LinearScale\"},{\"attributes\":{},\"id\":\"5422\",\"type\":\"LinearScale\"},{\"attributes\":{\"axis_label\":\"fertility (children per woman)\",\"formatter\":{\"id\":\"5513\",\"type\":\"BasicTickFormatter\"},\"plot\":{\"id\":\"5414\",\"subtype\":\"Figure\",\"type\":\"Plot\"},\"ticker\":{\"id\":\"5425\",\"type\":\"BasicTicker\"}},\"id\":\"5424\",\"type\":\"LinearAxis\"},{\"attributes\":{},\"id\":\"5425\",\"type\":\"BasicTicker\"},{\"attributes\":{\"plot\":{\"id\":\"5414\",\"subtype\":\"Figure\",\"type\":\"Plot\"},\"ticker\":{\"id\":\"5425\",\"type\":\"BasicTicker\"}},\"id\":\"5428\",\"type\":\"Grid\"},{\"attributes\":{},\"id\":\"5430\",\"type\":\"BasicTicker\"},{\"attributes\":{\"dimension\":1,\"plot\":{\"id\":\"5414\",\"subtype\":\"Figure\",\"type\":\"Plot\"},\"ticker\":{\"id\":\"5430\",\"type\":\"BasicTicker\"}},\"id\":\"5433\",\"type\":\"Grid\"},{\"attributes\":{\"child\":{\"id\":\"5414\",\"subtype\":\"Figure\",\"type\":\"Plot\"},\"title\":\"Asia\"},\"id\":\"5963\",\"type\":\"Panel\"},{\"attributes\":{\"fill_color\":{\"value\":\"#1f77b4\"},\"line_color\":{\"value\":\"#1f77b4\"},\"size\":{\"units\":\"screen\",\"value\":10},\"x\":{\"field\":\"fertility\"},\"y\":{\"field\":\"female literacy\"}},\"id\":\"5448\",\"type\":\"Circle\"},{\"attributes\":{\"below\":[{\"id\":\"5463\",\"type\":\"LinearAxis\"}],\"left\":[{\"id\":\"5468\",\"type\":\"LinearAxis\"}],\"plot_height\":300,\"plot_width\":300,\"renderers\":[{\"id\":\"5463\",\"type\":\"LinearAxis\"},{\"id\":\"5467\",\"type\":\"Grid\"},{\"id\":\"5468\",\"type\":\"LinearAxis\"},{\"id\":\"5472\",\"type\":\"Grid\"},{\"id\":\"5478\",\"type\":\"BoxAnnotation\"},{\"id\":\"5490\",\"type\":\"GlyphRenderer\"}],\"title\":{\"id\":\"5452\",\"type\":\"Title\"},\"toolbar\":{\"id\":\"5480\",\"type\":\"Toolbar\"},\"toolbar_location\":null,\"x_range\":{\"id\":\"5455\",\"type\":\"DataRange1d\"},\"x_scale\":{\"id\":\"5459\",\"type\":\"LinearScale\"},\"y_range\":{\"id\":\"5457\",\"type\":\"DataRange1d\"},\"y_scale\":{\"id\":\"5461\",\"type\":\"LinearScale\"}},\"id\":\"5453\",\"subtype\":\"Figure\",\"type\":\"Plot\"},{\"attributes\":{\"child\":{\"id\":\"5453\",\"subtype\":\"Figure\",\"type\":\"Plot\"},\"title\":\"Europe\"},\"id\":\"5964\",\"type\":\"Panel\"},{\"attributes\":{\"fill_alpha\":{\"value\":0.1},\"fill_color\":{\"value\":\"#1f77b4\"},\"line_alpha\":{\"value\":0.1},\"line_color\":{\"value\":\"#1f77b4\"},\"size\":{\"units\":\"screen\",\"value\":10},\"x\":{\"field\":\"fertility\"},\"y\":{\"field\":\"female literacy\"}},\"id\":\"5449\",\"type\":\"Circle\"},{\"attributes\":{\"callback\":null,\"overlay\":{\"id\":\"5439\",\"type\":\"BoxAnnotation\"}},\"id\":\"5434\",\"type\":\"BoxSelectTool\"},{\"attributes\":{\"callback\":null},\"id\":\"5435\",\"type\":\"HoverTool\"},{\"attributes\":{},\"id\":\"5436\",\"type\":\"ResetTool\"},{\"attributes\":{},\"id\":\"5437\",\"type\":\"PanTool\"},{\"attributes\":{\"child\":{\"id\":\"5375\",\"subtype\":\"Figure\",\"type\":\"Plot\"},\"title\":\"Africa\"},\"id\":\"5962\",\"type\":\"Panel\"},{\"attributes\":{\"child\":{\"id\":\"5336\",\"subtype\":\"Figure\",\"type\":\"Plot\"},\"title\":\"Latin America\"},\"id\":\"5961\",\"type\":\"Panel\"}],\"root_ids\":[\"5965\"]},\"title\":\"Bokeh Application\",\"version\":\"1.0.2\"}};\n", " var render_items = [{\"docid\":\"7d56be59-ae3b-48b1-95b1-d91c3863563f\",\"roots\":{\"5965\":\"1469a00f-c52a-4f5c-a3e9-e13894b99333\"}}];\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": "5965" } }, "output_type": "display_data" } ], "source": [ "# Import Panel from bokeh.models.widgets\n", "from bokeh.models.widgets import Panel\n", "\n", "# Create tab1 from plot p1: tab1\n", "tab1 = Panel(child=p1, title='Latin America')\n", "\n", "# Create tab2 from plot p2: tab2\n", "tab2 = Panel(child=p2, title='Africa')\n", "\n", "# Create tab3 from plot p3: tab3\n", "tab3 = Panel(child=p3, title='Asia')\n", "\n", "# Create tab4 from plot p4: tab4\n", "tab4 = Panel(child=p4, title='Europe')\n", "\n", "\n", "# Import Tabs from bokeh.models.widgets\n", "from bokeh.models.widgets import Tabs\n", "\n", "# Create a Tabs layout: layout\n", "tab_layout = Tabs(tabs=[tab1, tab2, tab3, tab4])\n", "\n", "# Specify the name of the output_file and show the result\n", "#output_file('tabs.html')\n", "show(tab_layout)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Linking Plots Together\n", "\n", "- Bokeh allows us to link plots together in multiple ways:\n", " - Linked Axes\n", " - Linked selections\n", "\n", "## Linked axes\n", "\n", "Linking axes between plots is achieved by sharing `range` objects.\n", "\n", "Here, we'll link four plots of female literacy vs fertility so that when one plot is zoomed or dragged, one or more of the other plots will respond. \n" ] }, { "cell_type": "code", "execution_count": 21, "metadata": {}, "outputs": [ { "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 = {\"168a6abb-435f-4418-93fd-5b560e3a8b03\":{\"roots\":{\"references\":[{\"attributes\":{\"children\":[{\"id\":\"5531\",\"type\":\"ToolbarBox\"},{\"id\":\"5529\",\"type\":\"Column\"}]},\"id\":\"5532\",\"type\":\"Column\"},{\"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\":\"5439\",\"type\":\"BoxAnnotation\"},{\"attributes\":{\"filters\":[{\"id\":\"5329\",\"type\":\"BooleanFilter\"}],\"source\":{\"id\":\"5326\",\"type\":\"ColumnDataSource\"}},\"id\":\"5330\",\"type\":\"CDSView\"},{\"attributes\":{\"active_drag\":\"auto\",\"active_inspect\":\"auto\",\"active_multi\":null,\"active_scroll\":\"auto\",\"active_tap\":\"auto\",\"tools\":[{\"id\":\"5434\",\"type\":\"BoxSelectTool\"},{\"id\":\"5435\",\"type\":\"HoverTool\"},{\"id\":\"5436\",\"type\":\"ResetTool\"},{\"id\":\"5437\",\"type\":\"PanTool\"},{\"id\":\"5438\",\"type\":\"WheelZoomTool\"}]},\"id\":\"5441\",\"type\":\"Toolbar\"},{\"attributes\":{\"fill_color\":{\"value\":\"red\"},\"line_color\":{\"value\":\"red\"},\"size\":{\"units\":\"screen\",\"value\":10},\"x\":{\"field\":\"fertility\"},\"y\":{\"field\":\"female literacy\"}},\"id\":\"5450\",\"type\":\"Circle\"},{\"attributes\":{\"filters\":[{\"id\":\"5331\",\"type\":\"BooleanFilter\"}],\"source\":{\"id\":\"5326\",\"type\":\"ColumnDataSource\"}},\"id\":\"5332\",\"type\":\"CDSView\"},{\"attributes\":{\"data_source\":{\"id\":\"5326\",\"type\":\"ColumnDataSource\"},\"glyph\":{\"id\":\"5448\",\"type\":\"Circle\"},\"hover_glyph\":{\"id\":\"5450\",\"type\":\"Circle\"},\"muted_glyph\":null,\"nonselection_glyph\":{\"id\":\"5449\",\"type\":\"Circle\"},\"selection_glyph\":null,\"view\":{\"id\":\"5332\",\"type\":\"CDSView\"}},\"id\":\"5451\",\"type\":\"GlyphRenderer\"},{\"attributes\":{\"fill_color\":{\"value\":\"red\"},\"line_color\":{\"value\":\"red\"},\"size\":{\"units\":\"screen\",\"value\":10},\"x\":{\"field\":\"fertility\"},\"y\":{\"field\":\"female literacy\"}},\"id\":\"5489\",\"type\":\"Circle\"},{\"attributes\":{\"booleans\":[false,false,false,false,false,false,false,false,true,false,false,false,false,true,false,false,false,false,false,false,true,true,true,false,false,false,true,true,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,true,false,false,true,true,true,false,true,false,false,false,false,true,true,false,false,false,true,true,true,false,false,false,false,false,false,false,false,false,false,false,false,true,true,false,false,false,false,true,false,false,true,true,false,false,false,false,false,true,true,false,true,false,false,true,false,false,false,false,false,true,false,false,true,true,false,false,false,false,true,false,false,false,false,true,false,false,false,false,false,false,false,true,false,false,true,false,false,false,false,false,false]},\"id\":\"5333\",\"type\":\"BooleanFilter\"},{\"attributes\":{\"filters\":[{\"id\":\"5333\",\"type\":\"BooleanFilter\"}],\"source\":{\"id\":\"5326\",\"type\":\"ColumnDataSource\"}},\"id\":\"5334\",\"type\":\"CDSView\"},{\"attributes\":{\"plot\":null,\"text\":\"Europe\"},\"id\":\"5452\",\"type\":\"Title\"},{\"attributes\":{\"below\":[{\"id\":\"5346\",\"type\":\"LinearAxis\"}],\"left\":[{\"id\":\"5351\",\"type\":\"LinearAxis\"}],\"plot_height\":300,\"plot_width\":300,\"renderers\":[{\"id\":\"5346\",\"type\":\"LinearAxis\"},{\"id\":\"5350\",\"type\":\"Grid\"},{\"id\":\"5351\",\"type\":\"LinearAxis\"},{\"id\":\"5355\",\"type\":\"Grid\"},{\"id\":\"5361\",\"type\":\"BoxAnnotation\"},{\"id\":\"5373\",\"type\":\"GlyphRenderer\"}],\"title\":{\"id\":\"5335\",\"type\":\"Title\"},\"toolbar\":{\"id\":\"5363\",\"type\":\"Toolbar\"},\"toolbar_location\":null,\"x_range\":{\"id\":\"5338\",\"type\":\"DataRange1d\"},\"x_scale\":{\"id\":\"5342\",\"type\":\"LinearScale\"},\"y_range\":{\"id\":\"5340\",\"type\":\"DataRange1d\"},\"y_scale\":{\"id\":\"5344\",\"type\":\"LinearScale\"}},\"id\":\"5336\",\"subtype\":\"Figure\",\"type\":\"Plot\"},{\"attributes\":{\"plot\":null,\"text\":\"Latin\"},\"id\":\"5335\",\"type\":\"Title\"},{\"attributes\":{\"callback\":null},\"id\":\"5455\",\"type\":\"DataRange1d\"},{\"attributes\":{\"callback\":null},\"id\":\"5338\",\"type\":\"DataRange1d\"},{\"attributes\":{},\"id\":\"5459\",\"type\":\"LinearScale\"},{\"attributes\":{\"callback\":null},\"id\":\"5340\",\"type\":\"DataRange1d\"},{\"attributes\":{},\"id\":\"5461\",\"type\":\"LinearScale\"},{\"attributes\":{},\"id\":\"5342\",\"type\":\"LinearScale\"},{\"attributes\":{\"axis_label\":\"fertility (children per woman)\",\"formatter\":{\"id\":\"5522\",\"type\":\"BasicTickFormatter\"},\"plot\":{\"id\":\"5453\",\"subtype\":\"Figure\",\"type\":\"Plot\"},\"ticker\":{\"id\":\"5464\",\"type\":\"BasicTicker\"}},\"id\":\"5463\",\"type\":\"LinearAxis\"},{\"attributes\":{},\"id\":\"5344\",\"type\":\"LinearScale\"},{\"attributes\":{},\"id\":\"5464\",\"type\":\"BasicTicker\"},{\"attributes\":{\"axis_label\":\"fertility (children per woman)\",\"formatter\":{\"id\":\"5494\",\"type\":\"BasicTickFormatter\"},\"plot\":{\"id\":\"5336\",\"subtype\":\"Figure\",\"type\":\"Plot\"},\"ticker\":{\"id\":\"5347\",\"type\":\"BasicTicker\"}},\"id\":\"5346\",\"type\":\"LinearAxis\"},{\"attributes\":{\"plot\":{\"id\":\"5453\",\"subtype\":\"Figure\",\"type\":\"Plot\"},\"ticker\":{\"id\":\"5464\",\"type\":\"BasicTicker\"}},\"id\":\"5467\",\"type\":\"Grid\"},{\"attributes\":{\"plot\":{\"id\":\"5336\",\"subtype\":\"Figure\",\"type\":\"Plot\"},\"ticker\":{\"id\":\"5347\",\"type\":\"BasicTicker\"}},\"id\":\"5350\",\"type\":\"Grid\"},{\"attributes\":{\"axis_label\":\"female literacy (% population)\",\"formatter\":{\"id\":\"5520\",\"type\":\"BasicTickFormatter\"},\"plot\":{\"id\":\"5453\",\"subtype\":\"Figure\",\"type\":\"Plot\"},\"ticker\":{\"id\":\"5469\",\"type\":\"BasicTicker\"}},\"id\":\"5468\",\"type\":\"LinearAxis\"},{\"attributes\":{\"axis_label\":\"female literacy (% population)\",\"formatter\":{\"id\":\"5492\",\"type\":\"BasicTickFormatter\"},\"plot\":{\"id\":\"5336\",\"subtype\":\"Figure\",\"type\":\"Plot\"},\"ticker\":{\"id\":\"5352\",\"type\":\"BasicTicker\"}},\"id\":\"5351\",\"type\":\"LinearAxis\"},{\"attributes\":{},\"id\":\"5469\",\"type\":\"BasicTicker\"},{\"attributes\":{},\"id\":\"5352\",\"type\":\"BasicTicker\"},{\"attributes\":{\"dimension\":1,\"plot\":{\"id\":\"5453\",\"subtype\":\"Figure\",\"type\":\"Plot\"},\"ticker\":{\"id\":\"5469\",\"type\":\"BasicTicker\"}},\"id\":\"5472\",\"type\":\"Grid\"},{\"attributes\":{\"dimension\":1,\"plot\":{\"id\":\"5336\",\"subtype\":\"Figure\",\"type\":\"Plot\"},\"ticker\":{\"id\":\"5352\",\"type\":\"BasicTicker\"}},\"id\":\"5355\",\"type\":\"Grid\"},{\"attributes\":{\"data_source\":{\"id\":\"5326\",\"type\":\"ColumnDataSource\"},\"glyph\":{\"id\":\"5487\",\"type\":\"Circle\"},\"hover_glyph\":{\"id\":\"5489\",\"type\":\"Circle\"},\"muted_glyph\":null,\"nonselection_glyph\":{\"id\":\"5488\",\"type\":\"Circle\"},\"selection_glyph\":null,\"view\":{\"id\":\"5334\",\"type\":\"CDSView\"}},\"id\":\"5490\",\"type\":\"GlyphRenderer\"},{\"attributes\":{\"fill_color\":{\"value\":\"#1f77b4\"},\"line_color\":{\"value\":\"#1f77b4\"},\"size\":{\"units\":\"screen\",\"value\":10},\"x\":{\"field\":\"fertility\"},\"y\":{\"field\":\"female literacy\"}},\"id\":\"5370\",\"type\":\"Circle\"},{\"attributes\":{\"active_drag\":\"auto\",\"active_inspect\":\"auto\",\"active_multi\":null,\"active_scroll\":\"auto\",\"active_tap\":\"auto\",\"tools\":[{\"id\":\"5473\",\"type\":\"BoxSelectTool\"},{\"id\":\"5474\",\"type\":\"HoverTool\"},{\"id\":\"5475\",\"type\":\"ResetTool\"},{\"id\":\"5476\",\"type\":\"PanTool\"},{\"id\":\"5477\",\"type\":\"WheelZoomTool\"}]},\"id\":\"5480\",\"type\":\"Toolbar\"},{\"attributes\":{\"children\":[{\"id\":\"5509\",\"type\":\"Row\"},{\"id\":\"5528\",\"type\":\"Row\"}]},\"id\":\"5529\",\"type\":\"Column\"},{\"attributes\":{\"below\":[{\"id\":\"5385\",\"type\":\"LinearAxis\"}],\"left\":[{\"id\":\"5390\",\"type\":\"LinearAxis\"}],\"plot_height\":300,\"plot_width\":300,\"renderers\":[{\"id\":\"5385\",\"type\":\"LinearAxis\"},{\"id\":\"5389\",\"type\":\"Grid\"},{\"id\":\"5390\",\"type\":\"LinearAxis\"},{\"id\":\"5394\",\"type\":\"Grid\"},{\"id\":\"5400\",\"type\":\"BoxAnnotation\"},{\"id\":\"5412\",\"type\":\"GlyphRenderer\"}],\"title\":{\"id\":\"5374\",\"type\":\"Title\"},\"toolbar\":{\"id\":\"5402\",\"type\":\"Toolbar\"},\"toolbar_location\":null,\"x_range\":{\"id\":\"5338\",\"type\":\"DataRange1d\"},\"x_scale\":{\"id\":\"5381\",\"type\":\"LinearScale\"},\"y_range\":{\"id\":\"5340\",\"type\":\"DataRange1d\"},\"y_scale\":{\"id\":\"5383\",\"type\":\"LinearScale\"}},\"id\":\"5375\",\"subtype\":\"Figure\",\"type\":\"Plot\"},{\"attributes\":{\"callback\":null,\"overlay\":{\"id\":\"5478\",\"type\":\"BoxAnnotation\"}},\"id\":\"5473\",\"type\":\"BoxSelectTool\"},{\"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\":\"5361\",\"type\":\"BoxAnnotation\"},{\"attributes\":{\"callback\":null,\"overlay\":{\"id\":\"5361\",\"type\":\"BoxAnnotation\"}},\"id\":\"5356\",\"type\":\"BoxSelectTool\"},{\"attributes\":{\"callback\":null},\"id\":\"5474\",\"type\":\"HoverTool\"},{\"attributes\":{\"callback\":null},\"id\":\"5357\",\"type\":\"HoverTool\"},{\"attributes\":{},\"id\":\"5475\",\"type\":\"ResetTool\"},{\"attributes\":{},\"id\":\"5358\",\"type\":\"ResetTool\"},{\"attributes\":{},\"id\":\"5476\",\"type\":\"PanTool\"},{\"attributes\":{},\"id\":\"5359\",\"type\":\"PanTool\"},{\"attributes\":{\"children\":[{\"id\":\"5336\",\"subtype\":\"Figure\",\"type\":\"Plot\"},{\"id\":\"5375\",\"subtype\":\"Figure\",\"type\":\"Plot\"}]},\"id\":\"5509\",\"type\":\"Row\"},{\"attributes\":{},\"id\":\"5360\",\"type\":\"WheelZoomTool\"},{\"attributes\":{},\"id\":\"5492\",\"type\":\"BasicTickFormatter\"},{\"attributes\":{},\"id\":\"5494\",\"type\":\"BasicTickFormatter\"},{\"attributes\":{\"fill_alpha\":{\"value\":0.1},\"fill_color\":{\"value\":\"#1f77b4\"},\"line_alpha\":{\"value\":0.1},\"line_color\":{\"value\":\"#1f77b4\"},\"size\":{\"units\":\"screen\",\"value\":10},\"x\":{\"field\":\"fertility\"},\"y\":{\"field\":\"female literacy\"}},\"id\":\"5371\",\"type\":\"Circle\"},{\"attributes\":{},\"id\":\"5497\",\"type\":\"UnionRenderers\"},{\"attributes\":{\"active_drag\":\"auto\",\"active_inspect\":\"auto\",\"active_multi\":null,\"active_scroll\":\"auto\",\"active_tap\":\"auto\",\"tools\":[{\"id\":\"5356\",\"type\":\"BoxSelectTool\"},{\"id\":\"5357\",\"type\":\"HoverTool\"},{\"id\":\"5358\",\"type\":\"ResetTool\"},{\"id\":\"5359\",\"type\":\"PanTool\"},{\"id\":\"5360\",\"type\":\"WheelZoomTool\"}]},\"id\":\"5363\",\"type\":\"Toolbar\"},{\"attributes\":{\"fill_color\":{\"value\":\"red\"},\"line_color\":{\"value\":\"red\"},\"size\":{\"units\":\"screen\",\"value\":10},\"x\":{\"field\":\"fertility\"},\"y\":{\"field\":\"female literacy\"}},\"id\":\"5372\",\"type\":\"Circle\"},{\"attributes\":{},\"id\":\"5498\",\"type\":\"Selection\"},{\"attributes\":{},\"id\":\"5501\",\"type\":\"BasicTickFormatter\"},{\"attributes\":{\"data_source\":{\"id\":\"5326\",\"type\":\"ColumnDataSource\"},\"glyph\":{\"id\":\"5370\",\"type\":\"Circle\"},\"hover_glyph\":{\"id\":\"5372\",\"type\":\"Circle\"},\"muted_glyph\":null,\"nonselection_glyph\":{\"id\":\"5371\",\"type\":\"Circle\"},\"selection_glyph\":null,\"view\":{\"id\":\"5328\",\"type\":\"CDSView\"}},\"id\":\"5373\",\"type\":\"GlyphRenderer\"},{\"attributes\":{},\"id\":\"5503\",\"type\":\"BasicTickFormatter\"},{\"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\":\"5478\",\"type\":\"BoxAnnotation\"},{\"attributes\":{\"below\":[{\"id\":\"5424\",\"type\":\"LinearAxis\"}],\"left\":[{\"id\":\"5429\",\"type\":\"LinearAxis\"}],\"plot_height\":300,\"plot_width\":300,\"renderers\":[{\"id\":\"5424\",\"type\":\"LinearAxis\"},{\"id\":\"5428\",\"type\":\"Grid\"},{\"id\":\"5429\",\"type\":\"LinearAxis\"},{\"id\":\"5433\",\"type\":\"Grid\"},{\"id\":\"5439\",\"type\":\"BoxAnnotation\"},{\"id\":\"5451\",\"type\":\"GlyphRenderer\"}],\"title\":{\"id\":\"5413\",\"type\":\"Title\"},\"toolbar\":{\"id\":\"5441\",\"type\":\"Toolbar\"},\"toolbar_location\":null,\"x_range\":{\"id\":\"5338\",\"type\":\"DataRange1d\"},\"x_scale\":{\"id\":\"5420\",\"type\":\"LinearScale\"},\"y_range\":{\"id\":\"5418\",\"type\":\"DataRange1d\"},\"y_scale\":{\"id\":\"5422\",\"type\":\"LinearScale\"}},\"id\":\"5414\",\"subtype\":\"Figure\",\"type\":\"Plot\"},{\"attributes\":{\"plot\":null,\"text\":\"Africa\"},\"id\":\"5374\",\"type\":\"Title\"},{\"attributes\":{\"callback\":null,\"data\":{\"Continent\":[\"ASI\",\"ASI\",\"NAM\",\"ASI\",\"LAT\",\"ASI\",\"ASI\",\"AF\",\"EUR\",\"ASI\",\"LAT\",\"ASI\",\"ASI\",\"EUR\",\"AF\",\"AF\",\"ASI\",\"ASI\",\"ASI\",\"AF\",\"EUR\",\"EUR\",\"EUR\",\"ASI\",\"AF\",\"ASI\",\"EUR\",\"EUR\",\"LAT\",\"AF\",\"AF\",\"LAT\",\"AF\",\"EUR\",\"AF\",\"NAM\",\"AF\",\"AF\",\"ASI\",\"ASI\",\"LAT\",\"ASI\",\"LAT\",\"ASI\",\"ASI\",\"ASI\",\"ASI\",\"AF\",\"ASI\",\"AF\",\"EUR\",\"AF\",\"ASI\",\"ASI\",\"AF\",\"AF\",\"AF\",\"LAT\",\"EUR\",\"ASI\",\"AF\",\"AF\",\"AF\",\"ASI\",\"LAT\",\"LAT\",\"AF\",\"AF\",\"AF\",\"AF\",\"EUR\",\"LAT\",\"AF\",\"EUR\",\"EUR\",\"EUR\",\"AF\",\"EUR\",\"LAT\",\"AF\",\"AF\",\"LAT\",\"EUR\",\"EUR\",\"ASI\",\"AF\",\"AF\",\"EUR\",\"EUR\",\"EUR\",\"LAT\",\"ASI\",\"ASI\",\"OCE\",\"AF\",\"AF\",\"LAT\",\"ASI\",\"LAT\",\"ASI\",\"LAT\",\"AF\",\"EUR\",\"EUR\",\"ASI\",\"ASI\",\"AF\",\"ASI\",\"EUR\",\"LAT\",\"ASI\",\"EUR\",\"EUR\",\"AF\",\"ASI\",\"OCE\",\"ASI\",\"AF\",\"EUR\",\"EUR\",\"LAT\",\"EUR\",\"LAT\",\"AF\",\"EUR\",\"ASI\",\"ASI\",\"ASI\",\"LAT\",\"ASI\",\"EUR\",\"AF\",\"AF\",\"EUR\",\"EUR\",\"AF\",\"AF\",\"AF\",\"AF\",\"EUR\",\"LAT\",\"ASI\",\"AF\",\"AF\",\"EUR\",\"ASI\",\"ASI\",\"AF\",\"AF\",\"ASI\",\"LAT\",\"AF\",\"EUR\",\"ASI\",\"LAT\",\"EUR\",\"ASI\",\"OCE\",\"OCE\",\"AF\",\"LAT\",\"ASI\"],\"Country \":[\"Chine\",\"Inde\",\"USA\",\"Indon\\u00e9sie\",\"Br\\u00e9sil\",\"Pakistan\",\"Bangladesh\",\"Nig\\u00e9ria\",\"F\\u00e9d\\u00e9ration de Russie\",\"Japan\",\"Mexique\",\"Philippines\",\"Viet Nam\",\"Germany\",\"Egypte\",\"Ethiopie\",\"Turquie\",\"Iran, R\\u00e9publique islamique d'\",\"Tha\\u00eflande\",\"R\\u00e9p. D\\u00e9mocratique du Congo\",\"France\",\"UK\",\"Italie\",\"Myanmar\",\"Afrique du Sud\",\"South Korea\",\"Ukraine\",\"Espagne\",\"Colombie\",\"R\\u00e9publique-Unie de Tanzanie\",\"Soudan\",\"Argentine\",\"Kenya\",\"Pologne\",\"Alg\\u00e9rie\",\"Canada\",\"Ouganda\",\"Maroc\",\"Iraq\",\"Afghanistan\",\"P\\u00e9rou\",\"N\\u00e9pal\",\"Venezuela\",\"Ouzb\\u00e9kistan\",\"Malaisie\",\"Arabie saoudite\",\"R\\u00e9p. populaire d\\u00e9mocratique de Cor\\u00e9e\",\"Ghana\",\"Y\\u00e9men\",\"Mozambique\",\"Roumanie\",\"C\\u00f4te d'Ivoire\",\"R\\u00e9publique arabe syrienne\",\"Sri Lanka\",\"Madagascar\",\"Cameroun\",\"Angola\",\"Chili\",\"Netherlands\",\"Kazakhstan\",\"Burkina Faso\",\"Malawi\",\"Niger\",\"Cambodge\",\"Guatemala\",\"Equateur\",\"Mali\",\"Zambie\",\"Zimbabwe\",\"S\\u00e9n\\u00e9gal\",\"Gr\\u00e8ce\",\"Cuba\",\"Tchad\",\"Belgium\",\"Portugal\",\"Czech rep\",\"Tunisie\",\"Hongrie\",\"R\\u00e9publique dominicaine\",\"Guin\\u00e9e\",\"Rwanda\",\"Bolivie\",\"B\\u00e9larus\",\"Sweden\",\"Azerba\\u00efdjan\",\"B\\u00e9nin\",\"Burundi\",\"Switzerland\",\"Bulgarie\",\"Serbie\",\"Honduras\",\"Israel\",\"Tadjikistan\",\"Papouasie-Nouvelle-Guin\\u00e9e\",\"Togo\",\"Jamahiriya arabe libyenne\",\"Paraguay\",\"R\\u00e9p. d\\u00e9mocratique populaire lao\",\"El Salvador\",\"Jordanie\",\"Nicaragua\",\"Sierra Leone\",\"Denmark\",\"Finland\",\"Kirghizistan\",\"Turkm\\u00e9nistan\",\"Erythr\\u00e9e\",\"Singapour\",\"Norway\",\"Costa Rica\",\"Emirats arabes unis\",\"Croatie\",\"Ireland\",\"R\\u00e9publique centrafricaine\",\"G\\u00e9orgie\",\"New Zealand\",\"Liban\",\"Lib\\u00e9ria\",\"Bosnie-Herz\\u00e9govine\",\"R\\u00e9publique de Moldova\",\"Panama\",\"Lituanie\",\"Uruguay\",\"Mauritanie\",\"Albanie\",\"Arm\\u00e9nie\",\"Oman\",\"Kowe\\u00eft\",\"Jama\\u00efque\",\"Mongolie\",\"Lettonie\",\"Namibie\",\"Lesotho\",\"L'ex-R\\u00e9p. yougoslave de Mac\\u00e9doine\",\"Slov\\u00e9nie\",\"Botswana\",\"Gambie\",\"Guin\\u00e9e-Bissau\",\"Gabon\",\"Estonie\",\"Trinit\\u00e9-et-Tobago\",\"Qatar\",\"Maurice\",\"Swaziland\",\"Chypre\",\"Bahre\\u00efn\",\"Bhoutan\",\"Guin\\u00e9e \\u00e9quatoriale\",\"Comores\",\"Macao, Chine\",\"Suriname\",\"Cap-Vert\",\"Malte\",\"Brun\\u00e9i Darussalam\",\"Bahamas\",\"Iceland\",\"Maldives\",\"Vanuatu\",\"Samoa\",\"Sao Tom\\u00e9-et-Principe\",\"Aruba\",\"Tonga\"],\"female literacy\":{\"__ndarray__\":\"AAAAAACgVkBmZmZmZmZJQAAAAAAAwFhAMzMzMzMzVkDNzMzMzIxWQAAAAAAAAERAZmZmZmbmSEBmZmZmZmZIQJqZmZmZ2VhAAAAAAADAWEAAAAAAAOBWQJqZmZmZeVdAzczMzMyMVkAAAAAAAMBYQGZmZmZm5kxAzczMzMzMNkAzMzMzM1NUQM3MzMzMTFNAAAAAAADgVkDNzMzMzAxMQAAAAAAAwFhAAAAAAADAWEAAAAAAAKBYQM3MzMzMTFZAZmZmZmYGVkBmZmZmZiZYQGZmZmZm5lhAmpmZmZk5WECamZmZmVlXQDMzMzMzk1BAzczMzMzMTUDNzMzMzGxYQDMzMzMzs1RAMzMzMzPTWEAzMzMzM/NPQAAAAAAAwFhAMzMzMzOzUEDNzMzMzAxGQM3MzMzMTFFAMzMzMzMzKUBmZmZmZiZVQDMzMzMzs0ZAmpmZmZm5V0CamZmZmblYQDMzMzMzc1ZAzczMzMwMVEAAAAAAAABZQGZmZmZmpk1AZmZmZmZmRUDNzMzMzAxEQJqZmZmZOVhAZmZmZmYmRkDNzMzMzExTQGZmZmZmRlZAMzMzMzNTUEAzMzMzM/NQQAAAAAAAgExAzczMzMysWEAAAAAAAMBYQAAAAAAA4FhAmpmZmZmZNUAzMzMzM3NQQDMzMzMzMy5AmpmZmZm5UUDNzMzMzCxRQM3MzMzMbFRAMzMzMzMzMkAAAAAAAIBOQDMzMzMzM1ZAAAAAAACAQECamZmZmflXQDMzMzMz81hAZmZmZmbmNUAAAAAAAMBYQJqZmZmZOVdAAAAAAADAWEAAAAAAAMBRQJqZmZmZuVhAMzMzMzMTVkBmZmZmZmY6QGZmZmZmhlBAAAAAAACAVUDNzMzMzOxYQAAAAAAAwFhAzczMzMzMWECamZmZmRk8QDMzMzMz801AAAAAAADAWECamZmZmXlYQM3MzMzMDFhAAAAAAADgVECamZmZmflXQAAAAAAA4FhAzczMzMzMS0CamZmZmdlKQDMzMzMzU1RAAAAAAABgV0CamZmZmZlPQJqZmZmZWVRAmpmZmZk5VkCamZmZmXlTQGZmZmZm5jxAAAAAAADAWEAAAAAAAABZQGZmZmZmxlhAMzMzMzPTWEAAAAAAAEBLQGZmZmZm5lZAAAAAAAAAWUDNzMzMzAxYQAAAAAAA4FZAAAAAAACAWEAAAAAAAMBYQM3MzMzMjERAzczMzMzsWEAAAAAAAMBYQAAAAAAAgFVAAAAAAACASkCamZmZmflXQDMzMzMzc1hAMzMzMzMzV0DNzMzMzOxYQAAAAAAAoFhAAAAAAADASEDNzMzMzKxYQJqZmZmZ2VhAmpmZmZk5VEBmZmZmZkZXQDMzMzMzs1ZAMzMzMzNzWEAzMzMzM/NYQM3MzMzM7FVAZmZmZmbGV0CamZmZmdlXQM3MzMzM7FhAAAAAAADgVEBmZmZmZiZBQAAAAAAAQEJAzczMzMzMVEAzMzMzM/NYQM3MzMzMjFhAmpmZmZmZVkAzMzMzMzNVQGZmZmZmZlVAzczMzMwsWECamZmZmVlWQJqZmZmZWUNAZmZmZmZGVkAzMzMzM/NQQM3MzMzMrFZAmpmZmZkZVkAzMzMzM9NTQAAAAAAAYFdAMzMzMzNTV0AAAAAAACBYQAAAAAAAwFhAmpmZmZmZWEAAAAAAAOBTQAAAAAAAoFhAMzMzMzPTVEAAAAAAAIBYQGZmZmZmxlhA\",\"dtype\":\"float64\",\"shape\":[162]},\"fertility\":{\"__ndarray__\":\"6Pup8dJN/D/b+X5qvHQFQARWDi2ynQBAdJMYBFYOAUAIrBxaZDv9P2Dl0CLb+Q5A6Pup8dJNAkD91HjpJrEUQH0/NV66SfY//tR46SYx9D9zaJHtfD8BQGmR7Xw/NQhA3SQGgZVDAEDJdr6fGi/1P7tJDAIrhwZA8tJNYhDYFEDNzMzMzMwAQOXQItv5fvw/8/3UeOkm/T9uEoPAyqEXQH9qvHSTGP4/bhKDwMqh/T89CtejcD32P3Noke18PwJACtejcD0KBEAv3SQGgZXzPy2yne+nxvU/sXJoke189z8IrBxaZDsDQBSuR+F6FBZACKwcWmQ7EEBjEFg5tMgBQFYOLbKdbxNAE4PAyqFF9D8j2/l+arwCQN0kBoGVQ/k/arx0kxgEGUB56SYxCKwCQOSlm8QgsA9AhetRuB4FGkA9CtejcD0EQC/dJAaBlQZAlkOLbOf7A0CWQ4ts5/sBQKrx0k1iEARAUrgehetRCEBEi2zn+6n9P+F6FK5H4RBAZmZmZmZmFECR7Xw/Nd4TQDMzMzMzM/U/dJMYBFYOEkD8qfHSTWIJQBFYObTIdgJAexSuR+F6EkBEi2zn+ykSQEA1XrpJjBZAN4lBYOXQ/j/AyqFFtvP7PycxCKwcWgJAd76fGi9dF0BSuB6F69EVQC2yne+nRhxArBxaZDvfBkDfT42XbhIQQLTIdr6fGgRAH4XrUbieFUCmm8QgsPIWQIGVQ4ts5wpAj8L1KFyPE0ApXI/C9Sj2PxSuR+F6FPg/bef7qfFSGEAlBoGVQ4v8P0A1XrpJDPY/MzMzMzMz9z/b+X5qvHT9P+xRuB6F6/U/TDeJQWDlBEA3iUFg5VAVQFK4HoXrURVALIcW2c73CkDl0CLb+X70P1YOLbKd7/0/001iEFg5AUBPjZduEoMVQM3MzMzMzBFAXI/C9Shc9z9g5dAi2/n2P5duEoPAyvk/hetRuB6FCUBqvHSTGAQGQM3MzMzMzApACtejcD0KEEBEi2zn+6kQQIlBYOXQIgVAN4lBYOXQB0BSuB6F61ELQFyPwvUoXAJA8/3UeOkmCEARWDm0yHYFQClcj8L1qBRAL90kBoGV/T/GSzeJQWD9P7+fGi/dJARAcT0K16NwA0DqJjEIrBwSQGiR7Xw/NfQ/KVyPwvUo/j9KDAIrhxb/P/yp8dJNYv4/30+Nl24S9z9zaJHtfD//P30/NV66yRJAHFpkO99P+T8zMzMzMzMAQNv5fmq8dP0/JQaBlUMLFEAxCKwcWmTzP9R46SYxCPg/VOOlm8QgBECsHFpkO9/1P4PAyqFFtgBAWmQ730+NEUBEi2zn+6n9PyyHFtnO9/s/bef7qfHSB0Cd76fGSzcBQEw3iUFg5QJAAyuHFtnO/z83iUFg5dD2P1K4HoXrUQpA6SYxCKwcCkBg5dAi2/n2P30/NV66SfY/+n5qvHSTBkDGSzeJQeATQIlBYOXQohZA7FG4HoXrCUBKDAIrhxb7PyYxCKwcWvo/4XoUrkfhAkB46SYxCKz8P5qZmZmZmQtAqMZLN4lB+D93vp8aL90BQBsv3SQGgQRAbhKDwMohFUAUrkfhehQPQLbz/dR46e4/lkOLbOf7AkDo+6nx0k0FQGq8dJMYBPQ/0SLb+X5qAEAshxbZzvcKQFg5tMh2vgBAAAAAAAAAAECq8dJNYhAPQDeJQWDl0A5AWDm0yHa+DUCDwMqhRbb7PwaBlUOLbA9A\",\"dtype\":\"float64\",\"shape\":[162]},\"index\":[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,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161],\"population\":{\"__ndarray__\":\"AAAAZii900GQFOkAn/zQQQAAAGCWH7JBAAAAdAUaq0EAAABkgeKmQe+OPP5RzaNBAAAAANESo0EAAAC8oQaiQQAAAGD466BBAAAAAG9ynkH67buGHVuZQQAAAFRuipVBAAAAdOONlEEAAABEmpOTQQAAABAGcJNBAAAAaFs+k0EAAABQXp+RQToXwIbdJ5FBAAAAPPAQkEEAAADY06OOQQAAAMA5so1BAAAAcNVIjUEAAACYu4eMQQAAAFgsoodBAAAAwDw3h0EAAADAeC2HQQAAAMDADoZBAAAAIAC5hUEAAAAApHaFQQAAAJgGQoRBAAAAWFS3g0EAAAAghwSDQQAAAAAYfIJBAAAA+AUugkEAAACQ+WOAQQAAAICqxH9BAAAAELowfkEAAAAANyR+QRITrwTXSX1BsGr1rzqte0EAAADANYB7QQAAAGCTeXtBAAAAgBGkekEAAABAYgx6QQAAABBMw3lB9wa/XgOBd0EAAAAQILd2QQAAAPDoRHZBAAAA0BbbdUEAAABQfFh1QQAAAGBZhHRBAAAAYCyjc0EolOqduqBzQSDBaMXyOHNBAAAA0ME5ckEAAAAQQDRyQQAAAMCTL3FBAAAAAIcGcEEAAAAgE15vQQAAACC65W1BAAAAgGsObUEAAADAHFFsQQAAAMDXC2xBAAAAAFvGa0EAAAAArhpqQQAAAAC6tmlBAAAAAPk7aEEAAABgNxJoQQAAAOBjxWdBAAAAoH1KZ0EAAADA3G5lQQAAAOAPX2VBAAAAYPDQZEEAAAAgumxkQQAAAKC5QmRBAAAAAALiY0EAAAAA37JjQQAAAIB1JWNBAAAA4Lj7YkEAAADgS8FiQQAAAMBuimJBAAAAIHR9YkEAAABA+nZiQQAAAKDGlWFBAAAAgFSOYEEAAADAiIVgQQAAAIADzV5BAAAAwG4sXUEAAADAuBRdQQAAAEDzCVxBAAAAQEHrW0EAAAAAgOFbQQAAAMDcE1pBAAAAgK0WWUEAAABAO6NYQQAAAECpAlhBAAAAwKfLV0EAAABA56tXQQAAAIAlZldBXanGt56HVkEAAABAf55VQQAAAECLNVVBAAAAQN30VEEAAADA3URUQQAAAAAzIlRBAAAAgGg9U0EAAABAZ8tSQQAAAAD6dVJBAAAAAHUwUkEAAACANT1RQQAAAMDRG1FBAAAAABTqUEEAAADA8uFQQQAAAMCPjVBBAAAAwBBuUEEAAAAA2UhQQQAAAADv/k9BAAAAAPzwTEEAAAAAVslMQQAAAIBsuEtBAAAAgFPuSUEAAACA0Z5JQQAAAADSb0lBAAAAgGGHSEEAAACAPftHQQAAAIDveUdBAAAAgChARUGBGHRrNNBEQQAAAABwgERBAAAAAKAmREEAAAAA90lBQQAAAADfP0BBAAAAAJVFP0EAAAAA/iU/QQAAAADE1z5BAAAAAGJQPUEAAAAAKFU5QQAAAAAWCjhBAAAAAN8YNkEAAAAAA3U0QQAAAACMWDRBAAAAAF6LM0EAAAAAdlwzQQAAAADa0TFBAAAAAMRRKkEAAAAAQqsnQQAAAACK9SRBAAAAAPodJEGoYCyg5qMjQQAAAADEDiBBAAAAANBwH0EAAAAAwG8eQQAAAAC4JBlBAAAAAGDxF0EAAAAAEJwUQQAAAACYXxNBAAAAAAyeEkEAAAAAUIwMQQAAAACo1QVBAAAAAHCNA0EAAAAA8L75QAAAAADgSPlA\",\"dtype\":\"float64\",\"shape\":[162]}},\"selected\":{\"id\":\"5498\",\"type\":\"Selection\"},\"selection_policy\":{\"id\":\"5497\",\"type\":\"UnionRenderers\"}},\"id\":\"5326\",\"type\":\"ColumnDataSource\"},{\"attributes\":{},\"id\":\"5511\",\"type\":\"BasicTickFormatter\"},{\"attributes\":{\"axis_label\":\"female literacy (% population)\",\"formatter\":{\"id\":\"5511\",\"type\":\"BasicTickFormatter\"},\"plot\":{\"id\":\"5414\",\"subtype\":\"Figure\",\"type\":\"Plot\"},\"ticker\":{\"id\":\"5430\",\"type\":\"BasicTicker\"}},\"id\":\"5429\",\"type\":\"LinearAxis\"},{\"attributes\":{},\"id\":\"5513\",\"type\":\"BasicTickFormatter\"},{\"attributes\":{},\"id\":\"5520\",\"type\":\"BasicTickFormatter\"},{\"attributes\":{\"booleans\":[false,false,false,false,false,false,false,true,false,false,false,false,false,false,true,true,false,false,false,true,false,false,false,false,true,false,false,false,false,true,true,false,true,false,true,false,true,true,false,false,false,false,false,false,false,false,false,true,false,true,false,true,false,false,true,true,true,false,false,false,true,true,true,false,false,false,true,true,true,true,false,false,true,false,false,false,true,false,false,true,true,false,false,false,false,true,true,false,false,false,false,false,false,false,true,true,false,false,false,false,false,true,false,false,false,false,true,false,false,false,false,false,false,true,false,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,true,true,false,false,true,true,true,true,false,false,false,true,true,false,false,false,true,true,false,false,true,false,false,false,false,false,false,false,true,false,false]},\"id\":\"5329\",\"type\":\"BooleanFilter\"},{\"attributes\":{\"tools\":[{\"id\":\"5356\",\"type\":\"BoxSelectTool\"},{\"id\":\"5357\",\"type\":\"HoverTool\"},{\"id\":\"5358\",\"type\":\"ResetTool\"},{\"id\":\"5359\",\"type\":\"PanTool\"},{\"id\":\"5360\",\"type\":\"WheelZoomTool\"},{\"id\":\"5395\",\"type\":\"BoxSelectTool\"},{\"id\":\"5396\",\"type\":\"HoverTool\"},{\"id\":\"5397\",\"type\":\"ResetTool\"},{\"id\":\"5398\",\"type\":\"PanTool\"},{\"id\":\"5399\",\"type\":\"WheelZoomTool\"},{\"id\":\"5434\",\"type\":\"BoxSelectTool\"},{\"id\":\"5435\",\"type\":\"HoverTool\"},{\"id\":\"5436\",\"type\":\"ResetTool\"},{\"id\":\"5437\",\"type\":\"PanTool\"},{\"id\":\"5438\",\"type\":\"WheelZoomTool\"},{\"id\":\"5473\",\"type\":\"BoxSelectTool\"},{\"id\":\"5474\",\"type\":\"HoverTool\"},{\"id\":\"5475\",\"type\":\"ResetTool\"},{\"id\":\"5476\",\"type\":\"PanTool\"},{\"id\":\"5477\",\"type\":\"WheelZoomTool\"}]},\"id\":\"5530\",\"type\":\"ProxyToolbar\"},{\"attributes\":{},\"id\":\"5381\",\"type\":\"LinearScale\"},{\"attributes\":{},\"id\":\"5347\",\"type\":\"BasicTicker\"},{\"attributes\":{\"toolbar\":{\"id\":\"5530\",\"type\":\"ProxyToolbar\"},\"toolbar_location\":\"above\"},\"id\":\"5531\",\"type\":\"ToolbarBox\"},{\"attributes\":{},\"id\":\"5383\",\"type\":\"LinearScale\"},{\"attributes\":{\"booleans\":[true,true,false,true,false,true,true,false,false,true,false,true,true,false,false,false,true,true,true,false,false,false,false,true,false,true,false,false,false,false,false,false,false,false,false,false,false,false,true,true,false,true,false,true,true,true,true,false,true,false,false,false,true,true,false,false,false,false,false,true,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,true,true,false,false,false,false,true,false,true,false,false,false,false,true,true,false,true,false,false,true,false,false,false,true,false,true,false,false,false,false,false,false,false,false,true,true,true,false,true,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,true,true,false,false,true,false,false,false,true,false,false,true,false,false,false,false,true]},\"id\":\"5331\",\"type\":\"BooleanFilter\"},{\"attributes\":{\"axis_label\":\"fertility (children per woman)\",\"formatter\":{\"id\":\"5503\",\"type\":\"BasicTickFormatter\"},\"plot\":{\"id\":\"5375\",\"subtype\":\"Figure\",\"type\":\"Plot\"},\"ticker\":{\"id\":\"5386\",\"type\":\"BasicTicker\"}},\"id\":\"5385\",\"type\":\"LinearAxis\"},{\"attributes\":{\"filters\":[{\"id\":\"5327\",\"type\":\"BooleanFilter\"}],\"source\":{\"id\":\"5326\",\"type\":\"ColumnDataSource\"}},\"id\":\"5328\",\"type\":\"CDSView\"},{\"attributes\":{},\"id\":\"5386\",\"type\":\"BasicTicker\"},{\"attributes\":{\"plot\":{\"id\":\"5375\",\"subtype\":\"Figure\",\"type\":\"Plot\"},\"ticker\":{\"id\":\"5386\",\"type\":\"BasicTicker\"}},\"id\":\"5389\",\"type\":\"Grid\"},{\"attributes\":{\"booleans\":[false,false,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,true,false,false,false,false,false,false,false,false,true,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,true,true,false,false,false,false,false,true,false,false,false,false,false,false,true,false,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,true,false,true,false,true,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,true,false,true,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,true,false,false,false,true,false,false,false,false,false,true,false]},\"id\":\"5327\",\"type\":\"BooleanFilter\"},{\"attributes\":{\"axis_label\":\"female literacy (% population)\",\"formatter\":{\"id\":\"5501\",\"type\":\"BasicTickFormatter\"},\"plot\":{\"id\":\"5375\",\"subtype\":\"Figure\",\"type\":\"Plot\"},\"ticker\":{\"id\":\"5391\",\"type\":\"BasicTicker\"}},\"id\":\"5390\",\"type\":\"LinearAxis\"},{\"attributes\":{\"fill_color\":{\"value\":\"#1f77b4\"},\"line_color\":{\"value\":\"#1f77b4\"},\"size\":{\"units\":\"screen\",\"value\":10},\"x\":{\"field\":\"fertility\"},\"y\":{\"field\":\"female literacy\"}},\"id\":\"5487\",\"type\":\"Circle\"},{\"attributes\":{},\"id\":\"5391\",\"type\":\"BasicTicker\"},{\"attributes\":{\"dimension\":1,\"plot\":{\"id\":\"5375\",\"subtype\":\"Figure\",\"type\":\"Plot\"},\"ticker\":{\"id\":\"5391\",\"type\":\"BasicTicker\"}},\"id\":\"5394\",\"type\":\"Grid\"},{\"attributes\":{\"fill_color\":{\"value\":\"#1f77b4\"},\"line_color\":{\"value\":\"#1f77b4\"},\"size\":{\"units\":\"screen\",\"value\":10},\"x\":{\"field\":\"fertility\"},\"y\":{\"field\":\"female literacy\"}},\"id\":\"5409\",\"type\":\"Circle\"},{\"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\":\"5400\",\"type\":\"BoxAnnotation\"},{\"attributes\":{\"callback\":null,\"overlay\":{\"id\":\"5400\",\"type\":\"BoxAnnotation\"}},\"id\":\"5395\",\"type\":\"BoxSelectTool\"},{\"attributes\":{\"callback\":null},\"id\":\"5396\",\"type\":\"HoverTool\"},{\"attributes\":{},\"id\":\"5397\",\"type\":\"ResetTool\"},{\"attributes\":{\"fill_alpha\":{\"value\":0.1},\"fill_color\":{\"value\":\"#1f77b4\"},\"line_alpha\":{\"value\":0.1},\"line_color\":{\"value\":\"#1f77b4\"},\"size\":{\"units\":\"screen\",\"value\":10},\"x\":{\"field\":\"fertility\"},\"y\":{\"field\":\"female literacy\"}},\"id\":\"5488\",\"type\":\"Circle\"},{\"attributes\":{},\"id\":\"5398\",\"type\":\"PanTool\"},{\"attributes\":{},\"id\":\"5399\",\"type\":\"WheelZoomTool\"},{\"attributes\":{},\"id\":\"5522\",\"type\":\"BasicTickFormatter\"},{\"attributes\":{\"fill_alpha\":{\"value\":0.1},\"fill_color\":{\"value\":\"#1f77b4\"},\"line_alpha\":{\"value\":0.1},\"line_color\":{\"value\":\"#1f77b4\"},\"size\":{\"units\":\"screen\",\"value\":10},\"x\":{\"field\":\"fertility\"},\"y\":{\"field\":\"female literacy\"}},\"id\":\"5410\",\"type\":\"Circle\"},{\"attributes\":{\"active_drag\":\"auto\",\"active_inspect\":\"auto\",\"active_multi\":null,\"active_scroll\":\"auto\",\"active_tap\":\"auto\",\"tools\":[{\"id\":\"5395\",\"type\":\"BoxSelectTool\"},{\"id\":\"5396\",\"type\":\"HoverTool\"},{\"id\":\"5397\",\"type\":\"ResetTool\"},{\"id\":\"5398\",\"type\":\"PanTool\"},{\"id\":\"5399\",\"type\":\"WheelZoomTool\"}]},\"id\":\"5402\",\"type\":\"Toolbar\"},{\"attributes\":{\"fill_color\":{\"value\":\"red\"},\"line_color\":{\"value\":\"red\"},\"size\":{\"units\":\"screen\",\"value\":10},\"x\":{\"field\":\"fertility\"},\"y\":{\"field\":\"female literacy\"}},\"id\":\"5411\",\"type\":\"Circle\"},{\"attributes\":{\"children\":[{\"id\":\"5414\",\"subtype\":\"Figure\",\"type\":\"Plot\"},{\"id\":\"5453\",\"subtype\":\"Figure\",\"type\":\"Plot\"}]},\"id\":\"5528\",\"type\":\"Row\"},{\"attributes\":{\"data_source\":{\"id\":\"5326\",\"type\":\"ColumnDataSource\"},\"glyph\":{\"id\":\"5409\",\"type\":\"Circle\"},\"hover_glyph\":{\"id\":\"5411\",\"type\":\"Circle\"},\"muted_glyph\":null,\"nonselection_glyph\":{\"id\":\"5410\",\"type\":\"Circle\"},\"selection_glyph\":null,\"view\":{\"id\":\"5330\",\"type\":\"CDSView\"}},\"id\":\"5412\",\"type\":\"GlyphRenderer\"},{\"attributes\":{},\"id\":\"5477\",\"type\":\"WheelZoomTool\"},{\"attributes\":{\"plot\":null,\"text\":\"Asia\"},\"id\":\"5413\",\"type\":\"Title\"},{\"attributes\":{\"callback\":null},\"id\":\"5418\",\"type\":\"DataRange1d\"},{\"attributes\":{},\"id\":\"5420\",\"type\":\"LinearScale\"},{\"attributes\":{},\"id\":\"5422\",\"type\":\"LinearScale\"},{\"attributes\":{\"axis_label\":\"fertility (children per woman)\",\"formatter\":{\"id\":\"5513\",\"type\":\"BasicTickFormatter\"},\"plot\":{\"id\":\"5414\",\"subtype\":\"Figure\",\"type\":\"Plot\"},\"ticker\":{\"id\":\"5425\",\"type\":\"BasicTicker\"}},\"id\":\"5424\",\"type\":\"LinearAxis\"},{\"attributes\":{},\"id\":\"5425\",\"type\":\"BasicTicker\"},{\"attributes\":{\"plot\":{\"id\":\"5414\",\"subtype\":\"Figure\",\"type\":\"Plot\"},\"ticker\":{\"id\":\"5425\",\"type\":\"BasicTicker\"}},\"id\":\"5428\",\"type\":\"Grid\"},{\"attributes\":{},\"id\":\"5430\",\"type\":\"BasicTicker\"},{\"attributes\":{\"dimension\":1,\"plot\":{\"id\":\"5414\",\"subtype\":\"Figure\",\"type\":\"Plot\"},\"ticker\":{\"id\":\"5430\",\"type\":\"BasicTicker\"}},\"id\":\"5433\",\"type\":\"Grid\"},{\"attributes\":{\"fill_color\":{\"value\":\"#1f77b4\"},\"line_color\":{\"value\":\"#1f77b4\"},\"size\":{\"units\":\"screen\",\"value\":10},\"x\":{\"field\":\"fertility\"},\"y\":{\"field\":\"female literacy\"}},\"id\":\"5448\",\"type\":\"Circle\"},{\"attributes\":{\"below\":[{\"id\":\"5463\",\"type\":\"LinearAxis\"}],\"left\":[{\"id\":\"5468\",\"type\":\"LinearAxis\"}],\"plot_height\":300,\"plot_width\":300,\"renderers\":[{\"id\":\"5463\",\"type\":\"LinearAxis\"},{\"id\":\"5467\",\"type\":\"Grid\"},{\"id\":\"5468\",\"type\":\"LinearAxis\"},{\"id\":\"5472\",\"type\":\"Grid\"},{\"id\":\"5478\",\"type\":\"BoxAnnotation\"},{\"id\":\"5490\",\"type\":\"GlyphRenderer\"}],\"title\":{\"id\":\"5452\",\"type\":\"Title\"},\"toolbar\":{\"id\":\"5480\",\"type\":\"Toolbar\"},\"toolbar_location\":null,\"x_range\":{\"id\":\"5455\",\"type\":\"DataRange1d\"},\"x_scale\":{\"id\":\"5459\",\"type\":\"LinearScale\"},\"y_range\":{\"id\":\"5340\",\"type\":\"DataRange1d\"},\"y_scale\":{\"id\":\"5461\",\"type\":\"LinearScale\"}},\"id\":\"5453\",\"subtype\":\"Figure\",\"type\":\"Plot\"},{\"attributes\":{\"fill_alpha\":{\"value\":0.1},\"fill_color\":{\"value\":\"#1f77b4\"},\"line_alpha\":{\"value\":0.1},\"line_color\":{\"value\":\"#1f77b4\"},\"size\":{\"units\":\"screen\",\"value\":10},\"x\":{\"field\":\"fertility\"},\"y\":{\"field\":\"female literacy\"}},\"id\":\"5449\",\"type\":\"Circle\"},{\"attributes\":{\"callback\":null,\"overlay\":{\"id\":\"5439\",\"type\":\"BoxAnnotation\"}},\"id\":\"5434\",\"type\":\"BoxSelectTool\"},{\"attributes\":{\"callback\":null},\"id\":\"5435\",\"type\":\"HoverTool\"},{\"attributes\":{},\"id\":\"5436\",\"type\":\"ResetTool\"},{\"attributes\":{},\"id\":\"5437\",\"type\":\"PanTool\"},{\"attributes\":{},\"id\":\"5438\",\"type\":\"WheelZoomTool\"}],\"root_ids\":[\"5532\"]},\"title\":\"Bokeh Application\",\"version\":\"1.0.2\"}};\n", " var render_items = [{\"docid\":\"168a6abb-435f-4418-93fd-5b560e3a8b03\",\"roots\":{\"5532\":\"9fcdddc9-45c6-4d68-9b31-6121b33083ae\"}}];\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": "5532" } }, "output_type": "display_data" } ], "source": [ "# Link the x_range of p2 to p1: p2.x_range\n", "p2.x_range = p1.x_range\n", "\n", "# Link the y_range of p2 to p1: p2.y_range\n", "p2.y_range = p1.y_range\n", "\n", "# Link the x_range of p3 to p1: p3.x_range\n", "p3.x_range = p1.x_range\n", "\n", "# Link the y_range of p4 to p1: p4.y_range\n", "p4.y_range = p1.y_range\n", "\n", "# Specify the name of the output_file and show the result\n", "#output_file('linked_range.html')\n", "show(layout)\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Linked brushing\n", "\n", "By sharing the same `ColumnDataSource` object between multiple plots,\n", "selection tools like BoxSelect and LassoSelect will highlight points\n", "in both plots that share a row in the ColumnDataSource. \n", "\n", "To demonstrate, we'll plot female literacy vs fertility and population vs fertility in two plots using the same ColumnDataSource.\n", "\n", "Use the lasso or box select tool to see how selecting data in one plot also selects the same data in another." ] }, { "cell_type": "code", "execution_count": 22, "metadata": {}, "outputs": [ { "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 = {\"a9235b1d-ea59-4d6f-9260-edea3114b6a0\":{\"roots\":{\"references\":[{\"attributes\":{\"children\":[{\"id\":\"7751\",\"subtype\":\"Figure\",\"type\":\"Plot\"},{\"id\":\"7784\",\"subtype\":\"Figure\",\"type\":\"Plot\"}]},\"id\":\"7817\",\"type\":\"Row\"},{\"attributes\":{\"below\":[{\"id\":\"7760\",\"type\":\"LinearAxis\"}],\"left\":[{\"id\":\"7765\",\"type\":\"LinearAxis\"}],\"plot_height\":400,\"plot_width\":400,\"renderers\":[{\"id\":\"7760\",\"type\":\"LinearAxis\"},{\"id\":\"7764\",\"type\":\"Grid\"},{\"id\":\"7765\",\"type\":\"LinearAxis\"},{\"id\":\"7769\",\"type\":\"Grid\"},{\"id\":\"7772\",\"type\":\"BoxAnnotation\"},{\"id\":\"7775\",\"type\":\"PolyAnnotation\"},{\"id\":\"7782\",\"type\":\"GlyphRenderer\"}],\"title\":{\"id\":\"8110\",\"type\":\"Title\"},\"toolbar\":{\"id\":\"7774\",\"type\":\"Toolbar\"},\"x_range\":{\"id\":\"7752\",\"type\":\"DataRange1d\"},\"x_scale\":{\"id\":\"7756\",\"type\":\"LinearScale\"},\"y_range\":{\"id\":\"7754\",\"type\":\"DataRange1d\"},\"y_scale\":{\"id\":\"7758\",\"type\":\"LinearScale\"}},\"id\":\"7751\",\"subtype\":\"Figure\",\"type\":\"Plot\"},{\"attributes\":{\"axis_label\":\"population (millions)\",\"formatter\":{\"id\":\"8118\",\"type\":\"BasicTickFormatter\"},\"plot\":{\"id\":\"7784\",\"subtype\":\"Figure\",\"type\":\"Plot\"},\"ticker\":{\"id\":\"7799\",\"type\":\"BasicTicker\"}},\"id\":\"7798\",\"type\":\"LinearAxis\"},{\"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},\"plot\":null,\"xs_units\":\"screen\",\"ys_units\":\"screen\"},\"id\":\"7775\",\"type\":\"PolyAnnotation\"},{\"attributes\":{},\"id\":\"8120\",\"type\":\"BasicTickFormatter\"},{\"attributes\":{\"below\":[{\"id\":\"7793\",\"type\":\"LinearAxis\"}],\"left\":[{\"id\":\"7798\",\"type\":\"LinearAxis\"}],\"plot_height\":400,\"plot_width\":400,\"renderers\":[{\"id\":\"7793\",\"type\":\"LinearAxis\"},{\"id\":\"7797\",\"type\":\"Grid\"},{\"id\":\"7798\",\"type\":\"LinearAxis\"},{\"id\":\"7802\",\"type\":\"Grid\"},{\"id\":\"7805\",\"type\":\"BoxAnnotation\"},{\"id\":\"7808\",\"type\":\"PolyAnnotation\"},{\"id\":\"7815\",\"type\":\"GlyphRenderer\"}],\"title\":{\"id\":\"8112\",\"type\":\"Title\"},\"toolbar\":{\"id\":\"7807\",\"type\":\"Toolbar\"},\"x_range\":{\"id\":\"7785\",\"type\":\"DataRange1d\"},\"x_scale\":{\"id\":\"7789\",\"type\":\"LinearScale\"},\"y_range\":{\"id\":\"7787\",\"type\":\"DataRange1d\"},\"y_scale\":{\"id\":\"7791\",\"type\":\"LinearScale\"}},\"id\":\"7784\",\"subtype\":\"Figure\",\"type\":\"Plot\"},{\"attributes\":{\"active_drag\":\"auto\",\"active_inspect\":\"auto\",\"active_multi\":null,\"active_scroll\":\"auto\",\"active_tap\":\"auto\",\"tools\":[{\"id\":\"7770\",\"type\":\"BoxSelectTool\"},{\"id\":\"7771\",\"type\":\"LassoSelectTool\"}]},\"id\":\"7774\",\"type\":\"Toolbar\"},{\"attributes\":{\"callback\":null},\"id\":\"7787\",\"type\":\"DataRange1d\"},{\"attributes\":{\"callback\":null},\"id\":\"7752\",\"type\":\"DataRange1d\"},{\"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\":\"7805\",\"type\":\"BoxAnnotation\"},{\"attributes\":{\"dimension\":1,\"plot\":{\"id\":\"7784\",\"subtype\":\"Figure\",\"type\":\"Plot\"},\"ticker\":{\"id\":\"7799\",\"type\":\"BasicTicker\"}},\"id\":\"7802\",\"type\":\"Grid\"},{\"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\":\"7772\",\"type\":\"BoxAnnotation\"},{\"attributes\":{\"plot\":null,\"text\":\"\"},\"id\":\"8112\",\"type\":\"Title\"},{\"attributes\":{},\"id\":\"8124\",\"type\":\"UnionRenderers\"},{\"attributes\":{\"axis_label\":\"fertility (children per woman)\",\"formatter\":{\"id\":\"8116\",\"type\":\"BasicTickFormatter\"},\"plot\":{\"id\":\"7751\",\"subtype\":\"Figure\",\"type\":\"Plot\"},\"ticker\":{\"id\":\"7761\",\"type\":\"BasicTicker\"}},\"id\":\"7760\",\"type\":\"LinearAxis\"},{\"attributes\":{\"plot\":{\"id\":\"7784\",\"subtype\":\"Figure\",\"type\":\"Plot\"},\"ticker\":{\"id\":\"7794\",\"type\":\"BasicTicker\"}},\"id\":\"7797\",\"type\":\"Grid\"},{\"attributes\":{},\"id\":\"7761\",\"type\":\"BasicTicker\"},{\"attributes\":{\"callback\":null,\"data\":{\"Continent\":[\"ASI\",\"ASI\",\"NAM\",\"ASI\",\"LAT\",\"ASI\",\"ASI\",\"AF\",\"EUR\",\"ASI\",\"LAT\",\"ASI\",\"ASI\",\"EUR\",\"AF\",\"AF\",\"ASI\",\"ASI\",\"ASI\",\"AF\",\"EUR\",\"EUR\",\"EUR\",\"ASI\",\"AF\",\"ASI\",\"EUR\",\"EUR\",\"LAT\",\"AF\",\"AF\",\"LAT\",\"AF\",\"EUR\",\"AF\",\"NAM\",\"AF\",\"AF\",\"ASI\",\"ASI\",\"LAT\",\"ASI\",\"LAT\",\"ASI\",\"ASI\",\"ASI\",\"ASI\",\"AF\",\"ASI\",\"AF\",\"EUR\",\"AF\",\"ASI\",\"ASI\",\"AF\",\"AF\",\"AF\",\"LAT\",\"EUR\",\"ASI\",\"AF\",\"AF\",\"AF\",\"ASI\",\"LAT\",\"LAT\",\"AF\",\"AF\",\"AF\",\"AF\",\"EUR\",\"LAT\",\"AF\",\"EUR\",\"EUR\",\"EUR\",\"AF\",\"EUR\",\"LAT\",\"AF\",\"AF\",\"LAT\",\"EUR\",\"EUR\",\"ASI\",\"AF\",\"AF\",\"EUR\",\"EUR\",\"EUR\",\"LAT\",\"ASI\",\"ASI\",\"OCE\",\"AF\",\"AF\",\"LAT\",\"ASI\",\"LAT\",\"ASI\",\"LAT\",\"AF\",\"EUR\",\"EUR\",\"ASI\",\"ASI\",\"AF\",\"ASI\",\"EUR\",\"LAT\",\"ASI\",\"EUR\",\"EUR\",\"AF\",\"ASI\",\"OCE\",\"ASI\",\"AF\",\"EUR\",\"EUR\",\"LAT\",\"EUR\",\"LAT\",\"AF\",\"EUR\",\"ASI\",\"ASI\",\"ASI\",\"LAT\",\"ASI\",\"EUR\",\"AF\",\"AF\",\"EUR\",\"EUR\",\"AF\",\"AF\",\"AF\",\"AF\",\"EUR\",\"LAT\",\"ASI\",\"AF\",\"AF\",\"EUR\",\"ASI\",\"ASI\",\"AF\",\"AF\",\"ASI\",\"LAT\",\"AF\",\"EUR\",\"ASI\",\"LAT\",\"EUR\",\"ASI\",\"OCE\",\"OCE\",\"AF\",\"LAT\",\"ASI\"],\"Country \":[\"Chine\",\"Inde\",\"USA\",\"Indon\\u00e9sie\",\"Br\\u00e9sil\",\"Pakistan\",\"Bangladesh\",\"Nig\\u00e9ria\",\"F\\u00e9d\\u00e9ration de Russie\",\"Japan\",\"Mexique\",\"Philippines\",\"Viet Nam\",\"Germany\",\"Egypte\",\"Ethiopie\",\"Turquie\",\"Iran, R\\u00e9publique islamique d'\",\"Tha\\u00eflande\",\"R\\u00e9p. D\\u00e9mocratique du Congo\",\"France\",\"UK\",\"Italie\",\"Myanmar\",\"Afrique du Sud\",\"South Korea\",\"Ukraine\",\"Espagne\",\"Colombie\",\"R\\u00e9publique-Unie de Tanzanie\",\"Soudan\",\"Argentine\",\"Kenya\",\"Pologne\",\"Alg\\u00e9rie\",\"Canada\",\"Ouganda\",\"Maroc\",\"Iraq\",\"Afghanistan\",\"P\\u00e9rou\",\"N\\u00e9pal\",\"Venezuela\",\"Ouzb\\u00e9kistan\",\"Malaisie\",\"Arabie saoudite\",\"R\\u00e9p. populaire d\\u00e9mocratique de Cor\\u00e9e\",\"Ghana\",\"Y\\u00e9men\",\"Mozambique\",\"Roumanie\",\"C\\u00f4te d'Ivoire\",\"R\\u00e9publique arabe syrienne\",\"Sri Lanka\",\"Madagascar\",\"Cameroun\",\"Angola\",\"Chili\",\"Netherlands\",\"Kazakhstan\",\"Burkina Faso\",\"Malawi\",\"Niger\",\"Cambodge\",\"Guatemala\",\"Equateur\",\"Mali\",\"Zambie\",\"Zimbabwe\",\"S\\u00e9n\\u00e9gal\",\"Gr\\u00e8ce\",\"Cuba\",\"Tchad\",\"Belgium\",\"Portugal\",\"Czech rep\",\"Tunisie\",\"Hongrie\",\"R\\u00e9publique dominicaine\",\"Guin\\u00e9e\",\"Rwanda\",\"Bolivie\",\"B\\u00e9larus\",\"Sweden\",\"Azerba\\u00efdjan\",\"B\\u00e9nin\",\"Burundi\",\"Switzerland\",\"Bulgarie\",\"Serbie\",\"Honduras\",\"Israel\",\"Tadjikistan\",\"Papouasie-Nouvelle-Guin\\u00e9e\",\"Togo\",\"Jamahiriya arabe libyenne\",\"Paraguay\",\"R\\u00e9p. d\\u00e9mocratique populaire lao\",\"El Salvador\",\"Jordanie\",\"Nicaragua\",\"Sierra Leone\",\"Denmark\",\"Finland\",\"Kirghizistan\",\"Turkm\\u00e9nistan\",\"Erythr\\u00e9e\",\"Singapour\",\"Norway\",\"Costa Rica\",\"Emirats arabes unis\",\"Croatie\",\"Ireland\",\"R\\u00e9publique centrafricaine\",\"G\\u00e9orgie\",\"New Zealand\",\"Liban\",\"Lib\\u00e9ria\",\"Bosnie-Herz\\u00e9govine\",\"R\\u00e9publique de Moldova\",\"Panama\",\"Lituanie\",\"Uruguay\",\"Mauritanie\",\"Albanie\",\"Arm\\u00e9nie\",\"Oman\",\"Kowe\\u00eft\",\"Jama\\u00efque\",\"Mongolie\",\"Lettonie\",\"Namibie\",\"Lesotho\",\"L'ex-R\\u00e9p. yougoslave de Mac\\u00e9doine\",\"Slov\\u00e9nie\",\"Botswana\",\"Gambie\",\"Guin\\u00e9e-Bissau\",\"Gabon\",\"Estonie\",\"Trinit\\u00e9-et-Tobago\",\"Qatar\",\"Maurice\",\"Swaziland\",\"Chypre\",\"Bahre\\u00efn\",\"Bhoutan\",\"Guin\\u00e9e \\u00e9quatoriale\",\"Comores\",\"Macao, Chine\",\"Suriname\",\"Cap-Vert\",\"Malte\",\"Brun\\u00e9i Darussalam\",\"Bahamas\",\"Iceland\",\"Maldives\",\"Vanuatu\",\"Samoa\",\"Sao Tom\\u00e9-et-Principe\",\"Aruba\",\"Tonga\"],\"female literacy\":{\"__ndarray__\":\"AAAAAACgVkBmZmZmZmZJQAAAAAAAwFhAMzMzMzMzVkDNzMzMzIxWQAAAAAAAAERAZmZmZmbmSEBmZmZmZmZIQJqZmZmZ2VhAAAAAAADAWEAAAAAAAOBWQJqZmZmZeVdAzczMzMyMVkAAAAAAAMBYQGZmZmZm5kxAzczMzMzMNkAzMzMzM1NUQM3MzMzMTFNAAAAAAADgVkDNzMzMzAxMQAAAAAAAwFhAAAAAAADAWEAAAAAAAKBYQM3MzMzMTFZAZmZmZmYGVkBmZmZmZiZYQGZmZmZm5lhAmpmZmZk5WECamZmZmVlXQDMzMzMzk1BAzczMzMzMTUDNzMzMzGxYQDMzMzMzs1RAMzMzMzPTWEAzMzMzM/NPQAAAAAAAwFhAMzMzMzOzUEDNzMzMzAxGQM3MzMzMTFFAMzMzMzMzKUBmZmZmZiZVQDMzMzMzs0ZAmpmZmZm5V0CamZmZmblYQDMzMzMzc1ZAzczMzMwMVEAAAAAAAABZQGZmZmZmpk1AZmZmZmZmRUDNzMzMzAxEQJqZmZmZOVhAZmZmZmYmRkDNzMzMzExTQGZmZmZmRlZAMzMzMzNTUEAzMzMzM/NQQAAAAAAAgExAzczMzMysWEAAAAAAAMBYQAAAAAAA4FhAmpmZmZmZNUAzMzMzM3NQQDMzMzMzMy5AmpmZmZm5UUDNzMzMzCxRQM3MzMzMbFRAMzMzMzMzMkAAAAAAAIBOQDMzMzMzM1ZAAAAAAACAQECamZmZmflXQDMzMzMz81hAZmZmZmbmNUAAAAAAAMBYQJqZmZmZOVdAAAAAAADAWEAAAAAAAMBRQJqZmZmZuVhAMzMzMzMTVkBmZmZmZmY6QGZmZmZmhlBAAAAAAACAVUDNzMzMzOxYQAAAAAAAwFhAzczMzMzMWECamZmZmRk8QDMzMzMz801AAAAAAADAWECamZmZmXlYQM3MzMzMDFhAAAAAAADgVECamZmZmflXQAAAAAAA4FhAzczMzMzMS0CamZmZmdlKQDMzMzMzU1RAAAAAAABgV0CamZmZmZlPQJqZmZmZWVRAmpmZmZk5VkCamZmZmXlTQGZmZmZm5jxAAAAAAADAWEAAAAAAAABZQGZmZmZmxlhAMzMzMzPTWEAAAAAAAEBLQGZmZmZm5lZAAAAAAAAAWUDNzMzMzAxYQAAAAAAA4FZAAAAAAACAWEAAAAAAAMBYQM3MzMzMjERAzczMzMzsWEAAAAAAAMBYQAAAAAAAgFVAAAAAAACASkCamZmZmflXQDMzMzMzc1hAMzMzMzMzV0DNzMzMzOxYQAAAAAAAoFhAAAAAAADASEDNzMzMzKxYQJqZmZmZ2VhAmpmZmZk5VEBmZmZmZkZXQDMzMzMzs1ZAMzMzMzNzWEAzMzMzM/NYQM3MzMzM7FVAZmZmZmbGV0CamZmZmdlXQM3MzMzM7FhAAAAAAADgVEBmZmZmZiZBQAAAAAAAQEJAzczMzMzMVEAzMzMzM/NYQM3MzMzMjFhAmpmZmZmZVkAzMzMzMzNVQGZmZmZmZlVAzczMzMwsWECamZmZmVlWQJqZmZmZWUNAZmZmZmZGVkAzMzMzM/NQQM3MzMzMrFZAmpmZmZkZVkAzMzMzM9NTQAAAAAAAYFdAMzMzMzNTV0AAAAAAACBYQAAAAAAAwFhAmpmZmZmZWEAAAAAAAOBTQAAAAAAAoFhAMzMzMzPTVEAAAAAAAIBYQGZmZmZmxlhA\",\"dtype\":\"float64\",\"shape\":[162]},\"fertility\":{\"__ndarray__\":\"6Pup8dJN/D/b+X5qvHQFQARWDi2ynQBAdJMYBFYOAUAIrBxaZDv9P2Dl0CLb+Q5A6Pup8dJNAkD91HjpJrEUQH0/NV66SfY//tR46SYx9D9zaJHtfD8BQGmR7Xw/NQhA3SQGgZVDAEDJdr6fGi/1P7tJDAIrhwZA8tJNYhDYFEDNzMzMzMwAQOXQItv5fvw/8/3UeOkm/T9uEoPAyqEXQH9qvHSTGP4/bhKDwMqh/T89CtejcD32P3Noke18PwJACtejcD0KBEAv3SQGgZXzPy2yne+nxvU/sXJoke189z8IrBxaZDsDQBSuR+F6FBZACKwcWmQ7EEBjEFg5tMgBQFYOLbKdbxNAE4PAyqFF9D8j2/l+arwCQN0kBoGVQ/k/arx0kxgEGUB56SYxCKwCQOSlm8QgsA9AhetRuB4FGkA9CtejcD0EQC/dJAaBlQZAlkOLbOf7A0CWQ4ts5/sBQKrx0k1iEARAUrgehetRCEBEi2zn+6n9P+F6FK5H4RBAZmZmZmZmFECR7Xw/Nd4TQDMzMzMzM/U/dJMYBFYOEkD8qfHSTWIJQBFYObTIdgJAexSuR+F6EkBEi2zn+ykSQEA1XrpJjBZAN4lBYOXQ/j/AyqFFtvP7PycxCKwcWgJAd76fGi9dF0BSuB6F69EVQC2yne+nRhxArBxaZDvfBkDfT42XbhIQQLTIdr6fGgRAH4XrUbieFUCmm8QgsPIWQIGVQ4ts5wpAj8L1KFyPE0ApXI/C9Sj2PxSuR+F6FPg/bef7qfFSGEAlBoGVQ4v8P0A1XrpJDPY/MzMzMzMz9z/b+X5qvHT9P+xRuB6F6/U/TDeJQWDlBEA3iUFg5VAVQFK4HoXrURVALIcW2c73CkDl0CLb+X70P1YOLbKd7/0/001iEFg5AUBPjZduEoMVQM3MzMzMzBFAXI/C9Shc9z9g5dAi2/n2P5duEoPAyvk/hetRuB6FCUBqvHSTGAQGQM3MzMzMzApACtejcD0KEEBEi2zn+6kQQIlBYOXQIgVAN4lBYOXQB0BSuB6F61ELQFyPwvUoXAJA8/3UeOkmCEARWDm0yHYFQClcj8L1qBRAL90kBoGV/T/GSzeJQWD9P7+fGi/dJARAcT0K16NwA0DqJjEIrBwSQGiR7Xw/NfQ/KVyPwvUo/j9KDAIrhxb/P/yp8dJNYv4/30+Nl24S9z9zaJHtfD//P30/NV66yRJAHFpkO99P+T8zMzMzMzMAQNv5fmq8dP0/JQaBlUMLFEAxCKwcWmTzP9R46SYxCPg/VOOlm8QgBECsHFpkO9/1P4PAyqFFtgBAWmQ730+NEUBEi2zn+6n9PyyHFtnO9/s/bef7qfHSB0Cd76fGSzcBQEw3iUFg5QJAAyuHFtnO/z83iUFg5dD2P1K4HoXrUQpA6SYxCKwcCkBg5dAi2/n2P30/NV66SfY/+n5qvHSTBkDGSzeJQeATQIlBYOXQohZA7FG4HoXrCUBKDAIrhxb7PyYxCKwcWvo/4XoUrkfhAkB46SYxCKz8P5qZmZmZmQtAqMZLN4lB+D93vp8aL90BQBsv3SQGgQRAbhKDwMohFUAUrkfhehQPQLbz/dR46e4/lkOLbOf7AkDo+6nx0k0FQGq8dJMYBPQ/0SLb+X5qAEAshxbZzvcKQFg5tMh2vgBAAAAAAAAAAECq8dJNYhAPQDeJQWDl0A5AWDm0yHa+DUCDwMqhRbb7PwaBlUOLbA9A\",\"dtype\":\"float64\",\"shape\":[162]},\"index\":[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,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161],\"population\":{\"__ndarray__\":\"AAAAZii900GQFOkAn/zQQQAAAGCWH7JBAAAAdAUaq0EAAABkgeKmQe+OPP5RzaNBAAAAANESo0EAAAC8oQaiQQAAAGD466BBAAAAAG9ynkH67buGHVuZQQAAAFRuipVBAAAAdOONlEEAAABEmpOTQQAAABAGcJNBAAAAaFs+k0EAAABQXp+RQToXwIbdJ5FBAAAAPPAQkEEAAADY06OOQQAAAMA5so1BAAAAcNVIjUEAAACYu4eMQQAAAFgsoodBAAAAwDw3h0EAAADAeC2HQQAAAMDADoZBAAAAIAC5hUEAAAAApHaFQQAAAJgGQoRBAAAAWFS3g0EAAAAghwSDQQAAAAAYfIJBAAAA+AUugkEAAACQ+WOAQQAAAICqxH9BAAAAELowfkEAAAAANyR+QRITrwTXSX1BsGr1rzqte0EAAADANYB7QQAAAGCTeXtBAAAAgBGkekEAAABAYgx6QQAAABBMw3lB9wa/XgOBd0EAAAAQILd2QQAAAPDoRHZBAAAA0BbbdUEAAABQfFh1QQAAAGBZhHRBAAAAYCyjc0EolOqduqBzQSDBaMXyOHNBAAAA0ME5ckEAAAAQQDRyQQAAAMCTL3FBAAAAAIcGcEEAAAAgE15vQQAAACC65W1BAAAAgGsObUEAAADAHFFsQQAAAMDXC2xBAAAAAFvGa0EAAAAArhpqQQAAAAC6tmlBAAAAAPk7aEEAAABgNxJoQQAAAOBjxWdBAAAAoH1KZ0EAAADA3G5lQQAAAOAPX2VBAAAAYPDQZEEAAAAgumxkQQAAAKC5QmRBAAAAAALiY0EAAAAA37JjQQAAAIB1JWNBAAAA4Lj7YkEAAADgS8FiQQAAAMBuimJBAAAAIHR9YkEAAABA+nZiQQAAAKDGlWFBAAAAgFSOYEEAAADAiIVgQQAAAIADzV5BAAAAwG4sXUEAAADAuBRdQQAAAEDzCVxBAAAAQEHrW0EAAAAAgOFbQQAAAMDcE1pBAAAAgK0WWUEAAABAO6NYQQAAAECpAlhBAAAAwKfLV0EAAABA56tXQQAAAIAlZldBXanGt56HVkEAAABAf55VQQAAAECLNVVBAAAAQN30VEEAAADA3URUQQAAAAAzIlRBAAAAgGg9U0EAAABAZ8tSQQAAAAD6dVJBAAAAAHUwUkEAAACANT1RQQAAAMDRG1FBAAAAABTqUEEAAADA8uFQQQAAAMCPjVBBAAAAwBBuUEEAAAAA2UhQQQAAAADv/k9BAAAAAPzwTEEAAAAAVslMQQAAAIBsuEtBAAAAgFPuSUEAAACA0Z5JQQAAAADSb0lBAAAAgGGHSEEAAACAPftHQQAAAIDveUdBAAAAgChARUGBGHRrNNBEQQAAAABwgERBAAAAAKAmREEAAAAA90lBQQAAAADfP0BBAAAAAJVFP0EAAAAA/iU/QQAAAADE1z5BAAAAAGJQPUEAAAAAKFU5QQAAAAAWCjhBAAAAAN8YNkEAAAAAA3U0QQAAAACMWDRBAAAAAF6LM0EAAAAAdlwzQQAAAADa0TFBAAAAAMRRKkEAAAAAQqsnQQAAAACK9SRBAAAAAPodJEGoYCyg5qMjQQAAAADEDiBBAAAAANBwH0EAAAAAwG8eQQAAAAC4JBlBAAAAAGDxF0EAAAAAEJwUQQAAAACYXxNBAAAAAAyeEkEAAAAAUIwMQQAAAACo1QVBAAAAAHCNA0EAAAAA8L75QAAAAADgSPlA\",\"dtype\":\"float64\",\"shape\":[162]}},\"selected\":{\"id\":\"8125\",\"type\":\"Selection\"},\"selection_policy\":{\"id\":\"8124\",\"type\":\"UnionRenderers\"}},\"id\":\"7750\",\"type\":\"ColumnDataSource\"},{\"attributes\":{\"source\":{\"id\":\"7750\",\"type\":\"ColumnDataSource\"}},\"id\":\"7816\",\"type\":\"CDSView\"},{\"attributes\":{\"callback\":null,\"overlay\":{\"id\":\"7775\",\"type\":\"PolyAnnotation\"}},\"id\":\"7771\",\"type\":\"LassoSelectTool\"},{\"attributes\":{},\"id\":\"7756\",\"type\":\"LinearScale\"},{\"attributes\":{\"fill_alpha\":{\"value\":0.1},\"fill_color\":{\"value\":\"#1f77b4\"},\"line_alpha\":{\"value\":0.1},\"line_color\":{\"value\":\"#1f77b4\"},\"x\":{\"field\":\"fertility\"},\"y\":{\"field\":\"population\"}},\"id\":\"7814\",\"type\":\"Circle\"},{\"attributes\":{\"callback\":null,\"overlay\":{\"id\":\"7805\",\"type\":\"BoxAnnotation\"}},\"id\":\"7803\",\"type\":\"BoxSelectTool\"},{\"attributes\":{\"dimension\":1,\"plot\":{\"id\":\"7751\",\"subtype\":\"Figure\",\"type\":\"Plot\"},\"ticker\":{\"id\":\"7766\",\"type\":\"BasicTicker\"}},\"id\":\"7769\",\"type\":\"Grid\"},{\"attributes\":{\"callback\":null},\"id\":\"7754\",\"type\":\"DataRange1d\"},{\"attributes\":{\"fill_color\":{\"value\":\"#1f77b4\"},\"line_color\":{\"value\":\"#1f77b4\"},\"x\":{\"field\":\"fertility\"},\"y\":{\"field\":\"population\"}},\"id\":\"7813\",\"type\":\"Circle\"},{\"attributes\":{},\"id\":\"8114\",\"type\":\"BasicTickFormatter\"},{\"attributes\":{\"active_drag\":\"auto\",\"active_inspect\":\"auto\",\"active_multi\":null,\"active_scroll\":\"auto\",\"active_tap\":\"auto\",\"tools\":[{\"id\":\"7803\",\"type\":\"BoxSelectTool\"},{\"id\":\"7804\",\"type\":\"LassoSelectTool\"}]},\"id\":\"7807\",\"type\":\"Toolbar\"},{\"attributes\":{\"axis_label\":\"female literacy (% population)\",\"formatter\":{\"id\":\"8114\",\"type\":\"BasicTickFormatter\"},\"plot\":{\"id\":\"7751\",\"subtype\":\"Figure\",\"type\":\"Plot\"},\"ticker\":{\"id\":\"7766\",\"type\":\"BasicTicker\"}},\"id\":\"7765\",\"type\":\"LinearAxis\"},{\"attributes\":{},\"id\":\"7789\",\"type\":\"LinearScale\"},{\"attributes\":{},\"id\":\"8116\",\"type\":\"BasicTickFormatter\"},{\"attributes\":{\"fill_alpha\":{\"value\":0.1},\"fill_color\":{\"value\":\"#1f77b4\"},\"line_alpha\":{\"value\":0.1},\"line_color\":{\"value\":\"#1f77b4\"},\"x\":{\"field\":\"fertility\"},\"y\":{\"field\":\"female literacy\"}},\"id\":\"7781\",\"type\":\"Circle\"},{\"attributes\":{},\"id\":\"7758\",\"type\":\"LinearScale\"},{\"attributes\":{\"plot\":{\"id\":\"7751\",\"subtype\":\"Figure\",\"type\":\"Plot\"},\"ticker\":{\"id\":\"7761\",\"type\":\"BasicTicker\"}},\"id\":\"7764\",\"type\":\"Grid\"},{\"attributes\":{\"data_source\":{\"id\":\"7750\",\"type\":\"ColumnDataSource\"},\"glyph\":{\"id\":\"7813\",\"type\":\"Circle\"},\"hover_glyph\":null,\"muted_glyph\":null,\"nonselection_glyph\":{\"id\":\"7814\",\"type\":\"Circle\"},\"selection_glyph\":null,\"view\":{\"id\":\"7816\",\"type\":\"CDSView\"}},\"id\":\"7815\",\"type\":\"GlyphRenderer\"},{\"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},\"plot\":null,\"xs_units\":\"screen\",\"ys_units\":\"screen\"},\"id\":\"7808\",\"type\":\"PolyAnnotation\"},{\"attributes\":{\"callback\":null,\"overlay\":{\"id\":\"7772\",\"type\":\"BoxAnnotation\"}},\"id\":\"7770\",\"type\":\"BoxSelectTool\"},{\"attributes\":{},\"id\":\"7794\",\"type\":\"BasicTicker\"},{\"attributes\":{},\"id\":\"8125\",\"type\":\"Selection\"},{\"attributes\":{},\"id\":\"7766\",\"type\":\"BasicTicker\"},{\"attributes\":{\"callback\":null},\"id\":\"7785\",\"type\":\"DataRange1d\"},{\"attributes\":{\"source\":{\"id\":\"7750\",\"type\":\"ColumnDataSource\"}},\"id\":\"7783\",\"type\":\"CDSView\"},{\"attributes\":{\"data_source\":{\"id\":\"7750\",\"type\":\"ColumnDataSource\"},\"glyph\":{\"id\":\"7780\",\"type\":\"Circle\"},\"hover_glyph\":null,\"muted_glyph\":null,\"nonselection_glyph\":{\"id\":\"7781\",\"type\":\"Circle\"},\"selection_glyph\":null,\"view\":{\"id\":\"7783\",\"type\":\"CDSView\"}},\"id\":\"7782\",\"type\":\"GlyphRenderer\"},{\"attributes\":{\"plot\":null,\"text\":\"\"},\"id\":\"8110\",\"type\":\"Title\"},{\"attributes\":{\"axis_label\":\"fertility (children per woman)\",\"formatter\":{\"id\":\"8120\",\"type\":\"BasicTickFormatter\"},\"plot\":{\"id\":\"7784\",\"subtype\":\"Figure\",\"type\":\"Plot\"},\"ticker\":{\"id\":\"7794\",\"type\":\"BasicTicker\"}},\"id\":\"7793\",\"type\":\"LinearAxis\"},{\"attributes\":{\"fill_color\":{\"value\":\"#1f77b4\"},\"line_color\":{\"value\":\"#1f77b4\"},\"x\":{\"field\":\"fertility\"},\"y\":{\"field\":\"female literacy\"}},\"id\":\"7780\",\"type\":\"Circle\"},{\"attributes\":{\"callback\":null,\"overlay\":{\"id\":\"7808\",\"type\":\"PolyAnnotation\"}},\"id\":\"7804\",\"type\":\"LassoSelectTool\"},{\"attributes\":{},\"id\":\"8118\",\"type\":\"BasicTickFormatter\"},{\"attributes\":{},\"id\":\"7799\",\"type\":\"BasicTicker\"},{\"attributes\":{},\"id\":\"7791\",\"type\":\"LinearScale\"}],\"root_ids\":[\"7817\"]},\"title\":\"Bokeh Application\",\"version\":\"1.0.2\"}};\n", " var render_items = [{\"docid\":\"a9235b1d-ea59-4d6f-9260-edea3114b6a0\",\"roots\":{\"7817\":\"d14e4c8c-4f82-4531-8bb5-9ac12cd843ed\"}}];\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": "7817" } }, "output_type": "display_data" } ], "source": [ "from bokeh.layouts import row\n", "\n", "# Create ColumnDataSource: source\n", "source = ColumnDataSource(df)\n", "\n", "# Create the first figure: p1\n", "p1_linked = figure(x_axis_label='fertility (children per woman)', y_axis_label='female literacy (% population)',\n", " tools=['box_select', 'lasso_select'], plot_width = 400, plot_height = 400)\n", "\n", "# Add a circle glyph to p1\n", "p1_linked.circle('fertility', 'female literacy', source = source)\n", "\n", "# Create the second figure: p2\n", "p2_linked = figure(x_axis_label='fertility (children per woman)', y_axis_label='population (millions)',\n", " tools=['box_select', 'lasso_select'], plot_width = 400, plot_height = 400)\n", "\n", "# Add a circle glyph to p2\n", "p2_linked.circle('fertility', 'population', source = source)\n", "\n", "# Create row layout of figures p1 and p2: layout\n", "layout_linked = row(p1_linked, p2_linked)\n", "\n", "# Show the result\n", "show(layout_linked)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Annotations and Guides\n", "\n", "\n", "### What are they?\n", "- Help relate scale information to the viewer \n", " - Axes, Grids (default on most plots) \n", "- Explain the visual encodings that are used \n", " - Legends \n", "- Drill down into details not visible in the plot \n", " - Hover Tooltips" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Creating legends\n", "\n", "Legends can be added to any glyph by using the `legend` keyword argument.\n" ] }, { "cell_type": "code", "execution_count": 23, "metadata": {}, "outputs": [ { "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 = {\"dd0d71d6-9442-4e41-8011-f76eb8f0ed80\":{\"roots\":{\"references\":[{\"attributes\":{\"below\":[{\"id\":\"8247\",\"type\":\"LinearAxis\"}],\"left\":[{\"id\":\"8252\",\"type\":\"LinearAxis\"}],\"renderers\":[{\"id\":\"8247\",\"type\":\"LinearAxis\"},{\"id\":\"8251\",\"type\":\"Grid\"},{\"id\":\"8252\",\"type\":\"LinearAxis\"},{\"id\":\"8256\",\"type\":\"Grid\"},{\"id\":\"8263\",\"type\":\"BoxAnnotation\"},{\"id\":\"8286\",\"type\":\"Legend\"},{\"id\":\"8277\",\"type\":\"GlyphRenderer\"},{\"id\":\"8291\",\"type\":\"GlyphRenderer\"}],\"title\":{\"id\":\"8279\",\"type\":\"Title\"},\"toolbar\":{\"id\":\"8265\",\"type\":\"Toolbar\"},\"x_range\":{\"id\":\"8239\",\"type\":\"DataRange1d\"},\"x_scale\":{\"id\":\"8243\",\"type\":\"LinearScale\"},\"y_range\":{\"id\":\"8241\",\"type\":\"DataRange1d\"},\"y_scale\":{\"id\":\"8245\",\"type\":\"LinearScale\"}},\"id\":\"8238\",\"subtype\":\"Figure\",\"type\":\"Plot\"},{\"attributes\":{},\"id\":\"8258\",\"type\":\"WheelZoomTool\"},{\"attributes\":{\"source\":{\"id\":\"8273\",\"type\":\"ColumnDataSource\"}},\"id\":\"8292\",\"type\":\"CDSView\"},{\"attributes\":{},\"id\":\"8259\",\"type\":\"PanTool\"},{\"attributes\":{},\"id\":\"8248\",\"type\":\"BasicTicker\"},{\"attributes\":{},\"id\":\"8300\",\"type\":\"UnionRenderers\"},{\"attributes\":{\"callback\":null},\"id\":\"8239\",\"type\":\"DataRange1d\"},{\"attributes\":{},\"id\":\"8260\",\"type\":\"SaveTool\"},{\"attributes\":{},\"id\":\"8301\",\"type\":\"Selection\"},{\"attributes\":{},\"id\":\"8261\",\"type\":\"ResetTool\"},{\"attributes\":{\"label\":{\"value\":\"Africa\"},\"renderers\":[{\"id\":\"8291\",\"type\":\"GlyphRenderer\"}]},\"id\":\"8302\",\"type\":\"LegendItem\"},{\"attributes\":{\"plot\":{\"id\":\"8238\",\"subtype\":\"Figure\",\"type\":\"Plot\"},\"ticker\":{\"id\":\"8248\",\"type\":\"BasicTicker\"}},\"id\":\"8251\",\"type\":\"Grid\"},{\"attributes\":{},\"id\":\"8262\",\"type\":\"HelpTool\"},{\"attributes\":{},\"id\":\"8622\",\"type\":\"UnionRenderers\"},{\"attributes\":{},\"id\":\"8245\",\"type\":\"LinearScale\"},{\"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\":\"8263\",\"type\":\"BoxAnnotation\"},{\"attributes\":{},\"id\":\"8243\",\"type\":\"LinearScale\"},{\"attributes\":{\"active_drag\":\"auto\",\"active_inspect\":\"auto\",\"active_multi\":null,\"active_scroll\":\"auto\",\"active_tap\":\"auto\",\"tools\":[{\"id\":\"8257\",\"type\":\"BoxZoomTool\"},{\"id\":\"8258\",\"type\":\"WheelZoomTool\"},{\"id\":\"8259\",\"type\":\"PanTool\"},{\"id\":\"8260\",\"type\":\"SaveTool\"},{\"id\":\"8261\",\"type\":\"ResetTool\"},{\"id\":\"8262\",\"type\":\"HelpTool\"}]},\"id\":\"8265\",\"type\":\"Toolbar\"},{\"attributes\":{\"overlay\":{\"id\":\"8263\",\"type\":\"BoxAnnotation\"}},\"id\":\"8257\",\"type\":\"BoxZoomTool\"},{\"attributes\":{\"data_source\":{\"id\":\"8272\",\"type\":\"ColumnDataSource\"},\"glyph\":{\"id\":\"8275\",\"type\":\"Circle\"},\"hover_glyph\":null,\"muted_glyph\":null,\"nonselection_glyph\":{\"id\":\"8276\",\"type\":\"Circle\"},\"selection_glyph\":null,\"view\":{\"id\":\"8278\",\"type\":\"CDSView\"}},\"id\":\"8277\",\"type\":\"GlyphRenderer\"},{\"attributes\":{\"fill_color\":{\"value\":\"red\"},\"line_color\":{\"value\":\"red\"},\"size\":{\"units\":\"screen\",\"value\":10},\"x\":{\"field\":\"fertility\"},\"y\":{\"field\":\"female literacy\"}},\"id\":\"8275\",\"type\":\"Circle\"},{\"attributes\":{\"plot\":null,\"text\":\"\"},\"id\":\"8279\",\"type\":\"Title\"},{\"attributes\":{\"source\":{\"id\":\"8272\",\"type\":\"ColumnDataSource\"}},\"id\":\"8278\",\"type\":\"CDSView\"},{\"attributes\":{\"fill_alpha\":{\"value\":0.1},\"fill_color\":{\"value\":\"#1f77b4\"},\"line_alpha\":{\"value\":0.1},\"line_color\":{\"value\":\"#1f77b4\"},\"size\":{\"units\":\"screen\",\"value\":10},\"x\":{\"field\":\"fertility\"},\"y\":{\"field\":\"female literacy\"}},\"id\":\"8276\",\"type\":\"Circle\"},{\"attributes\":{},\"id\":\"8281\",\"type\":\"BasicTickFormatter\"},{\"attributes\":{\"callback\":null},\"id\":\"8241\",\"type\":\"DataRange1d\"},{\"attributes\":{},\"id\":\"8283\",\"type\":\"BasicTickFormatter\"},{\"attributes\":{\"callback\":null,\"data\":{\"Continent\":[\"AF\",\"AF\",\"AF\",\"AF\",\"AF\",\"AF\",\"AF\",\"AF\",\"AF\",\"AF\",\"AF\",\"AF\",\"AF\",\"AF\",\"AF\",\"AF\",\"AF\",\"AF\",\"AF\",\"AF\",\"AF\",\"AF\",\"AF\",\"AF\",\"AF\",\"AF\",\"AF\",\"AF\",\"AF\",\"AF\",\"AF\",\"AF\",\"AF\",\"AF\",\"AF\",\"AF\",\"AF\",\"AF\",\"AF\",\"AF\",\"AF\",\"AF\",\"AF\",\"AF\",\"AF\",\"AF\",\"AF\",\"AF\",\"AF\"],\"Country \":[\"Nig\\u00e9ria\",\"Egypte\",\"Ethiopie\",\"R\\u00e9p. D\\u00e9mocratique du Congo\",\"Afrique du Sud\",\"R\\u00e9publique-Unie de Tanzanie\",\"Soudan\",\"Kenya\",\"Alg\\u00e9rie\",\"Ouganda\",\"Maroc\",\"Ghana\",\"Mozambique\",\"C\\u00f4te d'Ivoire\",\"Madagascar\",\"Cameroun\",\"Angola\",\"Burkina Faso\",\"Malawi\",\"Niger\",\"Mali\",\"Zambie\",\"Zimbabwe\",\"S\\u00e9n\\u00e9gal\",\"Tchad\",\"Tunisie\",\"Guin\\u00e9e\",\"Rwanda\",\"B\\u00e9nin\",\"Burundi\",\"Togo\",\"Jamahiriya arabe libyenne\",\"Sierra Leone\",\"Erythr\\u00e9e\",\"R\\u00e9publique centrafricaine\",\"Lib\\u00e9ria\",\"Mauritanie\",\"Namibie\",\"Lesotho\",\"Botswana\",\"Gambie\",\"Guin\\u00e9e-Bissau\",\"Gabon\",\"Maurice\",\"Swaziland\",\"Guin\\u00e9e \\u00e9quatoriale\",\"Comores\",\"Cap-Vert\",\"Sao Tom\\u00e9-et-Principe\"],\"female literacy\":{\"__ndarray__\":\"ZmZmZmZmSEBmZmZmZuZMQM3MzMzMzDZAzczMzMwMTEBmZmZmZgZWQDMzMzMzk1BAzczMzMzMTUAzMzMzM7NUQDMzMzMz809AMzMzMzOzUEDNzMzMzAxGQGZmZmZmpk1AzczMzMwMREBmZmZmZiZGQDMzMzMzU1BAMzMzMzPzUEAAAAAAAIBMQJqZmZmZmTVAMzMzMzNzUEAzMzMzMzMuQDMzMzMzMzJAAAAAAACATkAzMzMzMzNWQAAAAAAAgEBAZmZmZmbmNUAAAAAAAMBRQGZmZmZmZjpAZmZmZmaGUECamZmZmRk8QDMzMzMz801AmpmZmZnZSkAzMzMzM1NUQGZmZmZm5jxAAAAAAABAS0DNzMzMzIxEQAAAAAAAgEpAAAAAAADASEDNzMzMzOxVQGZmZmZmxldAAAAAAADgVEBmZmZmZiZBQAAAAAAAQEJAzczMzMzMVEAzMzMzMzNVQGZmZmZmZlVAZmZmZmZGVkAzMzMzM/NQQDMzMzMz01NAMzMzMzPTVEA=\",\"dtype\":\"float64\",\"shape\":[49]},\"fertility\":{\"__ndarray__\":\"/dR46SaxFEC7SQwCK4cGQPLSTWIQ2BRAbhKDwMqhF0AK16NwPQoEQBSuR+F6FBZACKwcWmQ7EEBWDi2ynW8TQCPb+X5qvAJAarx0kxgEGUB56SYxCKwCQOF6FK5H4RBAke18PzXeE0B0kxgEVg4SQHsUrkfhehJARIts5/spEkBANV66SYwWQHe+nxovXRdAUrgehevRFUAtsp3vp0YcQB+F61G4nhVAppvEILDyFkCBlUOLbOcKQI/C9ShcjxNAbef7qfFSGEDb+X5qvHT9PzeJQWDlUBVAUrgehetRFUBPjZduEoMVQM3MzMzMzBFARIts5/upEECJQWDl0CIFQClcj8L1qBRA6iYxCKwcEkB9PzVeuskSQCUGgZVDCxRAWmQ730+NEUBSuB6F61EKQOkmMQisHApA+n5qvHSTBkDGSzeJQeATQIlBYOXQohZA7FG4HoXrCUB46SYxCKz8P5qZmZmZmQtAbhKDwMohFUAUrkfhehQPQOj7qfHSTQVAWDm0yHa+DUA=\",\"dtype\":\"float64\",\"shape\":[49]},\"index\":[7,14,15,19,24,29,30,32,34,36,37,47,49,51,54,55,56,60,61,62,66,67,68,69,72,76,79,80,85,86,94,95,101,106,113,117,123,131,132,135,136,137,138,142,143,147,148,151,159],\"population\":{\"__ndarray__\":\"AAAAvKEGokEAAAAQBnCTQQAAAGhbPpNBAAAA2NOjjkEAAADAPDeHQQAAAJgGQoRBAAAAWFS3g0EAAAAAGHyCQQAAAJD5Y4BBAAAAELowfkEAAAAANyR+QQAAAPDoRHZBAAAAUHxYdUEAAABgLKNzQQAAANDBOXJBAAAAEEA0ckEAAADAky9xQQAAAIBrDm1BAAAAwBxRbEEAAADA1wtsQQAAAAD5O2hBAAAAYDcSaEEAAADgY8VnQQAAAKB9SmdBAAAAYPDQZEEAAAAA37JjQQAAAOBLwWJBAAAAwG6KYkEAAADAiIVgQQAAAIADzV5BAAAAQDujWEEAAABAqQJYQQAAAECLNVVBAAAAQGfLUkEAAADAj41QQQAAAAD88ExBAAAAgGGHSEEAAAAA3z9AQQAAAACVRT9BAAAAAGJQPUEAAAAAKFU5QQAAAAAWCjhBAAAAAN8YNkEAAAAAdlwzQQAAAADa0TFBAAAAAPodJEGoYCyg5qMjQQAAAADAbx5BAAAAAHCNA0E=\",\"dtype\":\"float64\",\"shape\":[49]}},\"selected\":{\"id\":\"8623\",\"type\":\"Selection\"},\"selection_policy\":{\"id\":\"8622\",\"type\":\"UnionRenderers\"}},\"id\":\"8273\",\"type\":\"ColumnDataSource\"},{\"attributes\":{\"items\":[{\"id\":\"8287\",\"type\":\"LegendItem\"},{\"id\":\"8302\",\"type\":\"LegendItem\"}],\"plot\":{\"id\":\"8238\",\"subtype\":\"Figure\",\"type\":\"Plot\"}},\"id\":\"8286\",\"type\":\"Legend\"},{\"attributes\":{\"axis_label\":\"fertility (children per woman)\",\"formatter\":{\"id\":\"8283\",\"type\":\"BasicTickFormatter\"},\"plot\":{\"id\":\"8238\",\"subtype\":\"Figure\",\"type\":\"Plot\"},\"ticker\":{\"id\":\"8248\",\"type\":\"BasicTicker\"}},\"id\":\"8247\",\"type\":\"LinearAxis\"},{\"attributes\":{\"label\":{\"value\":\"Latin America\"},\"renderers\":[{\"id\":\"8277\",\"type\":\"GlyphRenderer\"}]},\"id\":\"8287\",\"type\":\"LegendItem\"},{\"attributes\":{},\"id\":\"8623\",\"type\":\"Selection\"},{\"attributes\":{\"callback\":null,\"data\":{\"Continent\":[\"LAT\",\"LAT\",\"LAT\",\"LAT\",\"LAT\",\"LAT\",\"LAT\",\"LAT\",\"LAT\",\"LAT\",\"LAT\",\"LAT\",\"LAT\",\"LAT\",\"LAT\",\"LAT\",\"LAT\",\"LAT\",\"LAT\",\"LAT\",\"LAT\",\"LAT\",\"LAT\",\"LAT\"],\"Country \":[\"Br\\u00e9sil\",\"Mexique\",\"Colombie\",\"Argentine\",\"P\\u00e9rou\",\"Venezuela\",\"Chili\",\"Guatemala\",\"Equateur\",\"Cuba\",\"R\\u00e9publique dominicaine\",\"Bolivie\",\"Honduras\",\"Paraguay\",\"El Salvador\",\"Nicaragua\",\"Costa Rica\",\"Panama\",\"Uruguay\",\"Jama\\u00efque\",\"Trinit\\u00e9-et-Tobago\",\"Suriname\",\"Bahamas\",\"Aruba\"],\"female literacy\":{\"__ndarray__\":\"zczMzMyMVkAAAAAAAOBWQJqZmZmZWVdAzczMzMxsWEBmZmZmZiZVQJqZmZmZuVdAzczMzMysWEDNzMzMzCxRQM3MzMzMbFRAMzMzMzPzWEAzMzMzMxNWQAAAAAAAgFVAAAAAAADgVEAAAAAAAGBXQJqZmZmZWVRAmpmZmZl5U0DNzMzMzAxYQDMzMzMzM1dAAAAAAACgWEAzMzMzM7NWQM3MzMzMjFhAmpmZmZkZVkAAAAAAACBYQAAAAAAAgFhA\",\"dtype\":\"float64\",\"shape\":[24]},\"fertility\":{\"__ndarray__\":\"CKwcWmQ7/T9zaJHtfD8BQAisHFpkOwNAYxBYObTIAUA9CtejcD0EQJZDi2zn+wNAN4lBYOXQ/j/fT42XbhIQQLTIdr6fGgRAFK5H4XoU+D9MN4lBYOUEQCyHFtnO9wpAhetRuB6FCUA3iUFg5dAHQFyPwvUoXAJAEVg5tMh2BUBKDAIrhxb/P1TjpZvEIARAg8DKoUW2AEBMN4lBYOUCQCYxCKwcWvo/lkOLbOf7AkAshxbZzvcKQIPAyqFFtvs/\",\"dtype\":\"float64\",\"shape\":[24]},\"index\":[4,10,28,31,40,42,57,64,65,71,78,81,90,96,98,100,109,120,122,128,140,150,154,160],\"population\":{\"__ndarray__\":\"AAAAZIHipkH67buGHVuZQQAAAACkdoVBAAAAIIcEg0EAAADANYB7QQAAAIARpHpBAAAAAIcGcEEAAAAArhpqQQAAAAC6tmlBAAAA4A9fZUEAAADguPtiQQAAACB0fWJBAAAAQEHrW0EAAADAp8tXQQAAAIAlZldBAAAAQH+eVUEAAACANT1RQQAAAIBT7klBAAAAANJvSUEAAAAAcIBEQQAAAACMWDRBAAAAANBwH0EAAAAAEJwUQQAAAADwvvlA\",\"dtype\":\"float64\",\"shape\":[24]}},\"selected\":{\"id\":\"8301\",\"type\":\"Selection\"},\"selection_policy\":{\"id\":\"8300\",\"type\":\"UnionRenderers\"}},\"id\":\"8272\",\"type\":\"ColumnDataSource\"},{\"attributes\":{\"fill_color\":{\"value\":\"blue\"},\"line_color\":{\"value\":\"blue\"},\"size\":{\"units\":\"screen\",\"value\":10},\"x\":{\"field\":\"fertility\"},\"y\":{\"field\":\"female literacy\"}},\"id\":\"8289\",\"type\":\"Circle\"},{\"attributes\":{\"dimension\":1,\"plot\":{\"id\":\"8238\",\"subtype\":\"Figure\",\"type\":\"Plot\"},\"ticker\":{\"id\":\"8253\",\"type\":\"BasicTicker\"}},\"id\":\"8256\",\"type\":\"Grid\"},{\"attributes\":{\"axis_label\":\"female_literacy (%population)\",\"formatter\":{\"id\":\"8281\",\"type\":\"BasicTickFormatter\"},\"plot\":{\"id\":\"8238\",\"subtype\":\"Figure\",\"type\":\"Plot\"},\"ticker\":{\"id\":\"8253\",\"type\":\"BasicTicker\"}},\"id\":\"8252\",\"type\":\"LinearAxis\"},{\"attributes\":{},\"id\":\"8253\",\"type\":\"BasicTicker\"},{\"attributes\":{\"fill_alpha\":{\"value\":0.1},\"fill_color\":{\"value\":\"#1f77b4\"},\"line_alpha\":{\"value\":0.1},\"line_color\":{\"value\":\"#1f77b4\"},\"size\":{\"units\":\"screen\",\"value\":10},\"x\":{\"field\":\"fertility\"},\"y\":{\"field\":\"female literacy\"}},\"id\":\"8290\",\"type\":\"Circle\"},{\"attributes\":{\"data_source\":{\"id\":\"8273\",\"type\":\"ColumnDataSource\"},\"glyph\":{\"id\":\"8289\",\"type\":\"Circle\"},\"hover_glyph\":null,\"muted_glyph\":null,\"nonselection_glyph\":{\"id\":\"8290\",\"type\":\"Circle\"},\"selection_glyph\":null,\"view\":{\"id\":\"8292\",\"type\":\"CDSView\"}},\"id\":\"8291\",\"type\":\"GlyphRenderer\"}],\"root_ids\":[\"8238\"]},\"title\":\"Bokeh Application\",\"version\":\"1.0.2\"}};\n", " var render_items = [{\"docid\":\"dd0d71d6-9442-4e41-8011-f76eb8f0ed80\",\"roots\":{\"8238\":\"e836659b-f07a-4e35-9cfb-7d9870faa28c\"}}];\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": "8238" } }, "output_type": "display_data" } ], "source": [ "#basic setup\n", "tools = ['box_zoom', 'wheel_zoom', 'pan', 'save', 'reset', 'help']\n", "p = figure(x_axis_label = 'fertility (children per woman)', y_axis_label = 'female_literacy (%population)', tools = tools)\n", "latin_america = ColumnDataSource(df.loc[df.Continent == 'LAT'])\n", "africa = ColumnDataSource(df.loc[df.Continent == 'AF'])\n", "\n", "\n", "# Add the first circle glyph to the figure p\n", "p.circle('fertility', 'female literacy', source=latin_america, size=10, color='red', legend='Latin America')\n", "\n", "# Add the second circle glyph to the figure p\n", "p.circle('fertility', 'female literacy', source=africa, size=10, color='blue', legend='Africa')\n", "\n", "# Show the result\n", "show(p)\n", "\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Positioning and styling legends\n", "\n", "- Properties of the legend can be changed by using the `legend` member attribute of a Bokeh figure after the glyphs have been plotted. \n", "\n", "- Here we'll change the location and background color of the legend" ] }, { "cell_type": "code", "execution_count": 24, "metadata": {}, "outputs": [ { "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 = {\"b84c91f2-0208-4f1f-9fa8-b95ec6cef23b\":{\"roots\":{\"references\":[{\"attributes\":{\"below\":[{\"id\":\"8247\",\"type\":\"LinearAxis\"}],\"left\":[{\"id\":\"8252\",\"type\":\"LinearAxis\"}],\"renderers\":[{\"id\":\"8247\",\"type\":\"LinearAxis\"},{\"id\":\"8251\",\"type\":\"Grid\"},{\"id\":\"8252\",\"type\":\"LinearAxis\"},{\"id\":\"8256\",\"type\":\"Grid\"},{\"id\":\"8263\",\"type\":\"BoxAnnotation\"},{\"id\":\"8286\",\"type\":\"Legend\"},{\"id\":\"8277\",\"type\":\"GlyphRenderer\"},{\"id\":\"8291\",\"type\":\"GlyphRenderer\"}],\"title\":{\"id\":\"8279\",\"type\":\"Title\"},\"toolbar\":{\"id\":\"8265\",\"type\":\"Toolbar\"},\"x_range\":{\"id\":\"8239\",\"type\":\"DataRange1d\"},\"x_scale\":{\"id\":\"8243\",\"type\":\"LinearScale\"},\"y_range\":{\"id\":\"8241\",\"type\":\"DataRange1d\"},\"y_scale\":{\"id\":\"8245\",\"type\":\"LinearScale\"}},\"id\":\"8238\",\"subtype\":\"Figure\",\"type\":\"Plot\"},{\"attributes\":{},\"id\":\"8258\",\"type\":\"WheelZoomTool\"},{\"attributes\":{\"source\":{\"id\":\"8273\",\"type\":\"ColumnDataSource\"}},\"id\":\"8292\",\"type\":\"CDSView\"},{\"attributes\":{},\"id\":\"8259\",\"type\":\"PanTool\"},{\"attributes\":{},\"id\":\"8248\",\"type\":\"BasicTicker\"},{\"attributes\":{},\"id\":\"8300\",\"type\":\"UnionRenderers\"},{\"attributes\":{\"callback\":null},\"id\":\"8239\",\"type\":\"DataRange1d\"},{\"attributes\":{},\"id\":\"8260\",\"type\":\"SaveTool\"},{\"attributes\":{},\"id\":\"8301\",\"type\":\"Selection\"},{\"attributes\":{},\"id\":\"8261\",\"type\":\"ResetTool\"},{\"attributes\":{\"label\":{\"value\":\"Africa\"},\"renderers\":[{\"id\":\"8291\",\"type\":\"GlyphRenderer\"}]},\"id\":\"8302\",\"type\":\"LegendItem\"},{\"attributes\":{\"plot\":{\"id\":\"8238\",\"subtype\":\"Figure\",\"type\":\"Plot\"},\"ticker\":{\"id\":\"8248\",\"type\":\"BasicTicker\"}},\"id\":\"8251\",\"type\":\"Grid\"},{\"attributes\":{},\"id\":\"8262\",\"type\":\"HelpTool\"},{\"attributes\":{},\"id\":\"8622\",\"type\":\"UnionRenderers\"},{\"attributes\":{},\"id\":\"8245\",\"type\":\"LinearScale\"},{\"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\":\"8263\",\"type\":\"BoxAnnotation\"},{\"attributes\":{},\"id\":\"8243\",\"type\":\"LinearScale\"},{\"attributes\":{\"active_drag\":\"auto\",\"active_inspect\":\"auto\",\"active_multi\":null,\"active_scroll\":\"auto\",\"active_tap\":\"auto\",\"tools\":[{\"id\":\"8257\",\"type\":\"BoxZoomTool\"},{\"id\":\"8258\",\"type\":\"WheelZoomTool\"},{\"id\":\"8259\",\"type\":\"PanTool\"},{\"id\":\"8260\",\"type\":\"SaveTool\"},{\"id\":\"8261\",\"type\":\"ResetTool\"},{\"id\":\"8262\",\"type\":\"HelpTool\"}]},\"id\":\"8265\",\"type\":\"Toolbar\"},{\"attributes\":{\"overlay\":{\"id\":\"8263\",\"type\":\"BoxAnnotation\"}},\"id\":\"8257\",\"type\":\"BoxZoomTool\"},{\"attributes\":{\"data_source\":{\"id\":\"8272\",\"type\":\"ColumnDataSource\"},\"glyph\":{\"id\":\"8275\",\"type\":\"Circle\"},\"hover_glyph\":null,\"muted_glyph\":null,\"nonselection_glyph\":{\"id\":\"8276\",\"type\":\"Circle\"},\"selection_glyph\":null,\"view\":{\"id\":\"8278\",\"type\":\"CDSView\"}},\"id\":\"8277\",\"type\":\"GlyphRenderer\"},{\"attributes\":{\"fill_color\":{\"value\":\"red\"},\"line_color\":{\"value\":\"red\"},\"size\":{\"units\":\"screen\",\"value\":10},\"x\":{\"field\":\"fertility\"},\"y\":{\"field\":\"female literacy\"}},\"id\":\"8275\",\"type\":\"Circle\"},{\"attributes\":{\"plot\":null,\"text\":\"\"},\"id\":\"8279\",\"type\":\"Title\"},{\"attributes\":{\"source\":{\"id\":\"8272\",\"type\":\"ColumnDataSource\"}},\"id\":\"8278\",\"type\":\"CDSView\"},{\"attributes\":{\"fill_alpha\":{\"value\":0.1},\"fill_color\":{\"value\":\"#1f77b4\"},\"line_alpha\":{\"value\":0.1},\"line_color\":{\"value\":\"#1f77b4\"},\"size\":{\"units\":\"screen\",\"value\":10},\"x\":{\"field\":\"fertility\"},\"y\":{\"field\":\"female literacy\"}},\"id\":\"8276\",\"type\":\"Circle\"},{\"attributes\":{},\"id\":\"8281\",\"type\":\"BasicTickFormatter\"},{\"attributes\":{\"callback\":null},\"id\":\"8241\",\"type\":\"DataRange1d\"},{\"attributes\":{},\"id\":\"8283\",\"type\":\"BasicTickFormatter\"},{\"attributes\":{\"callback\":null,\"data\":{\"Continent\":[\"AF\",\"AF\",\"AF\",\"AF\",\"AF\",\"AF\",\"AF\",\"AF\",\"AF\",\"AF\",\"AF\",\"AF\",\"AF\",\"AF\",\"AF\",\"AF\",\"AF\",\"AF\",\"AF\",\"AF\",\"AF\",\"AF\",\"AF\",\"AF\",\"AF\",\"AF\",\"AF\",\"AF\",\"AF\",\"AF\",\"AF\",\"AF\",\"AF\",\"AF\",\"AF\",\"AF\",\"AF\",\"AF\",\"AF\",\"AF\",\"AF\",\"AF\",\"AF\",\"AF\",\"AF\",\"AF\",\"AF\",\"AF\",\"AF\"],\"Country \":[\"Nig\\u00e9ria\",\"Egypte\",\"Ethiopie\",\"R\\u00e9p. D\\u00e9mocratique du Congo\",\"Afrique du Sud\",\"R\\u00e9publique-Unie de Tanzanie\",\"Soudan\",\"Kenya\",\"Alg\\u00e9rie\",\"Ouganda\",\"Maroc\",\"Ghana\",\"Mozambique\",\"C\\u00f4te d'Ivoire\",\"Madagascar\",\"Cameroun\",\"Angola\",\"Burkina Faso\",\"Malawi\",\"Niger\",\"Mali\",\"Zambie\",\"Zimbabwe\",\"S\\u00e9n\\u00e9gal\",\"Tchad\",\"Tunisie\",\"Guin\\u00e9e\",\"Rwanda\",\"B\\u00e9nin\",\"Burundi\",\"Togo\",\"Jamahiriya arabe libyenne\",\"Sierra Leone\",\"Erythr\\u00e9e\",\"R\\u00e9publique centrafricaine\",\"Lib\\u00e9ria\",\"Mauritanie\",\"Namibie\",\"Lesotho\",\"Botswana\",\"Gambie\",\"Guin\\u00e9e-Bissau\",\"Gabon\",\"Maurice\",\"Swaziland\",\"Guin\\u00e9e \\u00e9quatoriale\",\"Comores\",\"Cap-Vert\",\"Sao Tom\\u00e9-et-Principe\"],\"female literacy\":{\"__ndarray__\":\"ZmZmZmZmSEBmZmZmZuZMQM3MzMzMzDZAzczMzMwMTEBmZmZmZgZWQDMzMzMzk1BAzczMzMzMTUAzMzMzM7NUQDMzMzMz809AMzMzMzOzUEDNzMzMzAxGQGZmZmZmpk1AzczMzMwMREBmZmZmZiZGQDMzMzMzU1BAMzMzMzPzUEAAAAAAAIBMQJqZmZmZmTVAMzMzMzNzUEAzMzMzMzMuQDMzMzMzMzJAAAAAAACATkAzMzMzMzNWQAAAAAAAgEBAZmZmZmbmNUAAAAAAAMBRQGZmZmZmZjpAZmZmZmaGUECamZmZmRk8QDMzMzMz801AmpmZmZnZSkAzMzMzM1NUQGZmZmZm5jxAAAAAAABAS0DNzMzMzIxEQAAAAAAAgEpAAAAAAADASEDNzMzMzOxVQGZmZmZmxldAAAAAAADgVEBmZmZmZiZBQAAAAAAAQEJAzczMzMzMVEAzMzMzMzNVQGZmZmZmZlVAZmZmZmZGVkAzMzMzM/NQQDMzMzMz01NAMzMzMzPTVEA=\",\"dtype\":\"float64\",\"shape\":[49]},\"fertility\":{\"__ndarray__\":\"/dR46SaxFEC7SQwCK4cGQPLSTWIQ2BRAbhKDwMqhF0AK16NwPQoEQBSuR+F6FBZACKwcWmQ7EEBWDi2ynW8TQCPb+X5qvAJAarx0kxgEGUB56SYxCKwCQOF6FK5H4RBAke18PzXeE0B0kxgEVg4SQHsUrkfhehJARIts5/spEkBANV66SYwWQHe+nxovXRdAUrgehevRFUAtsp3vp0YcQB+F61G4nhVAppvEILDyFkCBlUOLbOcKQI/C9ShcjxNAbef7qfFSGEDb+X5qvHT9PzeJQWDlUBVAUrgehetRFUBPjZduEoMVQM3MzMzMzBFARIts5/upEECJQWDl0CIFQClcj8L1qBRA6iYxCKwcEkB9PzVeuskSQCUGgZVDCxRAWmQ730+NEUBSuB6F61EKQOkmMQisHApA+n5qvHSTBkDGSzeJQeATQIlBYOXQohZA7FG4HoXrCUB46SYxCKz8P5qZmZmZmQtAbhKDwMohFUAUrkfhehQPQOj7qfHSTQVAWDm0yHa+DUA=\",\"dtype\":\"float64\",\"shape\":[49]},\"index\":[7,14,15,19,24,29,30,32,34,36,37,47,49,51,54,55,56,60,61,62,66,67,68,69,72,76,79,80,85,86,94,95,101,106,113,117,123,131,132,135,136,137,138,142,143,147,148,151,159],\"population\":{\"__ndarray__\":\"AAAAvKEGokEAAAAQBnCTQQAAAGhbPpNBAAAA2NOjjkEAAADAPDeHQQAAAJgGQoRBAAAAWFS3g0EAAAAAGHyCQQAAAJD5Y4BBAAAAELowfkEAAAAANyR+QQAAAPDoRHZBAAAAUHxYdUEAAABgLKNzQQAAANDBOXJBAAAAEEA0ckEAAADAky9xQQAAAIBrDm1BAAAAwBxRbEEAAADA1wtsQQAAAAD5O2hBAAAAYDcSaEEAAADgY8VnQQAAAKB9SmdBAAAAYPDQZEEAAAAA37JjQQAAAOBLwWJBAAAAwG6KYkEAAADAiIVgQQAAAIADzV5BAAAAQDujWEEAAABAqQJYQQAAAECLNVVBAAAAQGfLUkEAAADAj41QQQAAAAD88ExBAAAAgGGHSEEAAAAA3z9AQQAAAACVRT9BAAAAAGJQPUEAAAAAKFU5QQAAAAAWCjhBAAAAAN8YNkEAAAAAdlwzQQAAAADa0TFBAAAAAPodJEGoYCyg5qMjQQAAAADAbx5BAAAAAHCNA0E=\",\"dtype\":\"float64\",\"shape\":[49]}},\"selected\":{\"id\":\"8623\",\"type\":\"Selection\"},\"selection_policy\":{\"id\":\"8622\",\"type\":\"UnionRenderers\"}},\"id\":\"8273\",\"type\":\"ColumnDataSource\"},{\"attributes\":{\"background_fill_color\":{\"value\":\"lightgray\"},\"items\":[{\"id\":\"8287\",\"type\":\"LegendItem\"},{\"id\":\"8302\",\"type\":\"LegendItem\"}],\"location\":\"bottom_left\",\"plot\":{\"id\":\"8238\",\"subtype\":\"Figure\",\"type\":\"Plot\"}},\"id\":\"8286\",\"type\":\"Legend\"},{\"attributes\":{\"axis_label\":\"fertility (children per woman)\",\"formatter\":{\"id\":\"8283\",\"type\":\"BasicTickFormatter\"},\"plot\":{\"id\":\"8238\",\"subtype\":\"Figure\",\"type\":\"Plot\"},\"ticker\":{\"id\":\"8248\",\"type\":\"BasicTicker\"}},\"id\":\"8247\",\"type\":\"LinearAxis\"},{\"attributes\":{\"label\":{\"value\":\"Latin America\"},\"renderers\":[{\"id\":\"8277\",\"type\":\"GlyphRenderer\"}]},\"id\":\"8287\",\"type\":\"LegendItem\"},{\"attributes\":{},\"id\":\"8623\",\"type\":\"Selection\"},{\"attributes\":{\"callback\":null,\"data\":{\"Continent\":[\"LAT\",\"LAT\",\"LAT\",\"LAT\",\"LAT\",\"LAT\",\"LAT\",\"LAT\",\"LAT\",\"LAT\",\"LAT\",\"LAT\",\"LAT\",\"LAT\",\"LAT\",\"LAT\",\"LAT\",\"LAT\",\"LAT\",\"LAT\",\"LAT\",\"LAT\",\"LAT\",\"LAT\"],\"Country \":[\"Br\\u00e9sil\",\"Mexique\",\"Colombie\",\"Argentine\",\"P\\u00e9rou\",\"Venezuela\",\"Chili\",\"Guatemala\",\"Equateur\",\"Cuba\",\"R\\u00e9publique dominicaine\",\"Bolivie\",\"Honduras\",\"Paraguay\",\"El Salvador\",\"Nicaragua\",\"Costa Rica\",\"Panama\",\"Uruguay\",\"Jama\\u00efque\",\"Trinit\\u00e9-et-Tobago\",\"Suriname\",\"Bahamas\",\"Aruba\"],\"female literacy\":{\"__ndarray__\":\"zczMzMyMVkAAAAAAAOBWQJqZmZmZWVdAzczMzMxsWEBmZmZmZiZVQJqZmZmZuVdAzczMzMysWEDNzMzMzCxRQM3MzMzMbFRAMzMzMzPzWEAzMzMzMxNWQAAAAAAAgFVAAAAAAADgVEAAAAAAAGBXQJqZmZmZWVRAmpmZmZl5U0DNzMzMzAxYQDMzMzMzM1dAAAAAAACgWEAzMzMzM7NWQM3MzMzMjFhAmpmZmZkZVkAAAAAAACBYQAAAAAAAgFhA\",\"dtype\":\"float64\",\"shape\":[24]},\"fertility\":{\"__ndarray__\":\"CKwcWmQ7/T9zaJHtfD8BQAisHFpkOwNAYxBYObTIAUA9CtejcD0EQJZDi2zn+wNAN4lBYOXQ/j/fT42XbhIQQLTIdr6fGgRAFK5H4XoU+D9MN4lBYOUEQCyHFtnO9wpAhetRuB6FCUA3iUFg5dAHQFyPwvUoXAJAEVg5tMh2BUBKDAIrhxb/P1TjpZvEIARAg8DKoUW2AEBMN4lBYOUCQCYxCKwcWvo/lkOLbOf7AkAshxbZzvcKQIPAyqFFtvs/\",\"dtype\":\"float64\",\"shape\":[24]},\"index\":[4,10,28,31,40,42,57,64,65,71,78,81,90,96,98,100,109,120,122,128,140,150,154,160],\"population\":{\"__ndarray__\":\"AAAAZIHipkH67buGHVuZQQAAAACkdoVBAAAAIIcEg0EAAADANYB7QQAAAIARpHpBAAAAAIcGcEEAAAAArhpqQQAAAAC6tmlBAAAA4A9fZUEAAADguPtiQQAAACB0fWJBAAAAQEHrW0EAAADAp8tXQQAAAIAlZldBAAAAQH+eVUEAAACANT1RQQAAAIBT7klBAAAAANJvSUEAAAAAcIBEQQAAAACMWDRBAAAAANBwH0EAAAAAEJwUQQAAAADwvvlA\",\"dtype\":\"float64\",\"shape\":[24]}},\"selected\":{\"id\":\"8301\",\"type\":\"Selection\"},\"selection_policy\":{\"id\":\"8300\",\"type\":\"UnionRenderers\"}},\"id\":\"8272\",\"type\":\"ColumnDataSource\"},{\"attributes\":{\"fill_color\":{\"value\":\"blue\"},\"line_color\":{\"value\":\"blue\"},\"size\":{\"units\":\"screen\",\"value\":10},\"x\":{\"field\":\"fertility\"},\"y\":{\"field\":\"female literacy\"}},\"id\":\"8289\",\"type\":\"Circle\"},{\"attributes\":{\"dimension\":1,\"plot\":{\"id\":\"8238\",\"subtype\":\"Figure\",\"type\":\"Plot\"},\"ticker\":{\"id\":\"8253\",\"type\":\"BasicTicker\"}},\"id\":\"8256\",\"type\":\"Grid\"},{\"attributes\":{\"axis_label\":\"female_literacy (%population)\",\"formatter\":{\"id\":\"8281\",\"type\":\"BasicTickFormatter\"},\"plot\":{\"id\":\"8238\",\"subtype\":\"Figure\",\"type\":\"Plot\"},\"ticker\":{\"id\":\"8253\",\"type\":\"BasicTicker\"}},\"id\":\"8252\",\"type\":\"LinearAxis\"},{\"attributes\":{},\"id\":\"8253\",\"type\":\"BasicTicker\"},{\"attributes\":{\"fill_alpha\":{\"value\":0.1},\"fill_color\":{\"value\":\"#1f77b4\"},\"line_alpha\":{\"value\":0.1},\"line_color\":{\"value\":\"#1f77b4\"},\"size\":{\"units\":\"screen\",\"value\":10},\"x\":{\"field\":\"fertility\"},\"y\":{\"field\":\"female literacy\"}},\"id\":\"8290\",\"type\":\"Circle\"},{\"attributes\":{\"data_source\":{\"id\":\"8273\",\"type\":\"ColumnDataSource\"},\"glyph\":{\"id\":\"8289\",\"type\":\"Circle\"},\"hover_glyph\":null,\"muted_glyph\":null,\"nonselection_glyph\":{\"id\":\"8290\",\"type\":\"Circle\"},\"selection_glyph\":null,\"view\":{\"id\":\"8292\",\"type\":\"CDSView\"}},\"id\":\"8291\",\"type\":\"GlyphRenderer\"}],\"root_ids\":[\"8238\"]},\"title\":\"Bokeh Application\",\"version\":\"1.0.2\"}};\n", " var render_items = [{\"docid\":\"b84c91f2-0208-4f1f-9fa8-b95ec6cef23b\",\"roots\":{\"8238\":\"a8c60fbd-7503-4374-8582-b987ff351ca0\"}}];\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": "8238" } }, "output_type": "display_data" } ], "source": [ "# Assign the legend to the bottom left: p.legend.location\n", "p.legend.location = 'bottom_left'\n", "\n", "# Fill the legend background with the color 'lightgray': p.legend.background_fill_color\n", "p.legend.background_fill_color = 'lightgray'\n", "\n", "# Specify the name of the output_file and show the result\n", "#output_file('fert_lit_groups.html')\n", "show(p)\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Adding a hover tooltip\n", "\n", "- We can create a `HoverTool` object and display the country for each circle glyph in the figure that we created in the last exercise. \n", "- This is done by assigning the `tooltips` keyword argument to a list-of-tuples specifying the label and the column of values from the ColumnDataSource using the `@` operator. \n" ] }, { "cell_type": "code", "execution_count": 25, "metadata": {}, "outputs": [ { "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 = {\"f9a39287-7f8c-43dc-8447-da364693b22d\":{\"roots\":{\"references\":[{\"attributes\":{\"below\":[{\"id\":\"8247\",\"type\":\"LinearAxis\"}],\"left\":[{\"id\":\"8252\",\"type\":\"LinearAxis\"}],\"renderers\":[{\"id\":\"8247\",\"type\":\"LinearAxis\"},{\"id\":\"8251\",\"type\":\"Grid\"},{\"id\":\"8252\",\"type\":\"LinearAxis\"},{\"id\":\"8256\",\"type\":\"Grid\"},{\"id\":\"8263\",\"type\":\"BoxAnnotation\"},{\"id\":\"8286\",\"type\":\"Legend\"},{\"id\":\"8277\",\"type\":\"GlyphRenderer\"},{\"id\":\"8291\",\"type\":\"GlyphRenderer\"}],\"title\":{\"id\":\"8279\",\"type\":\"Title\"},\"toolbar\":{\"id\":\"8265\",\"type\":\"Toolbar\"},\"x_range\":{\"id\":\"8239\",\"type\":\"DataRange1d\"},\"x_scale\":{\"id\":\"8243\",\"type\":\"LinearScale\"},\"y_range\":{\"id\":\"8241\",\"type\":\"DataRange1d\"},\"y_scale\":{\"id\":\"8245\",\"type\":\"LinearScale\"}},\"id\":\"8238\",\"subtype\":\"Figure\",\"type\":\"Plot\"},{\"attributes\":{},\"id\":\"8258\",\"type\":\"WheelZoomTool\"},{\"attributes\":{\"source\":{\"id\":\"8273\",\"type\":\"ColumnDataSource\"}},\"id\":\"8292\",\"type\":\"CDSView\"},{\"attributes\":{},\"id\":\"8259\",\"type\":\"PanTool\"},{\"attributes\":{},\"id\":\"8248\",\"type\":\"BasicTicker\"},{\"attributes\":{},\"id\":\"8300\",\"type\":\"UnionRenderers\"},{\"attributes\":{\"callback\":null},\"id\":\"8239\",\"type\":\"DataRange1d\"},{\"attributes\":{},\"id\":\"8260\",\"type\":\"SaveTool\"},{\"attributes\":{},\"id\":\"8301\",\"type\":\"Selection\"},{\"attributes\":{},\"id\":\"8261\",\"type\":\"ResetTool\"},{\"attributes\":{\"callback\":null,\"tooltips\":[[\"Country\",\"@Country\"]]},\"id\":\"8756\",\"type\":\"HoverTool\"},{\"attributes\":{\"label\":{\"value\":\"Africa\"},\"renderers\":[{\"id\":\"8291\",\"type\":\"GlyphRenderer\"}]},\"id\":\"8302\",\"type\":\"LegendItem\"},{\"attributes\":{\"plot\":{\"id\":\"8238\",\"subtype\":\"Figure\",\"type\":\"Plot\"},\"ticker\":{\"id\":\"8248\",\"type\":\"BasicTicker\"}},\"id\":\"8251\",\"type\":\"Grid\"},{\"attributes\":{},\"id\":\"8262\",\"type\":\"HelpTool\"},{\"attributes\":{},\"id\":\"8622\",\"type\":\"UnionRenderers\"},{\"attributes\":{},\"id\":\"8245\",\"type\":\"LinearScale\"},{\"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\":\"8263\",\"type\":\"BoxAnnotation\"},{\"attributes\":{},\"id\":\"8243\",\"type\":\"LinearScale\"},{\"attributes\":{\"active_drag\":\"auto\",\"active_inspect\":\"auto\",\"active_multi\":null,\"active_scroll\":\"auto\",\"active_tap\":\"auto\",\"tools\":[{\"id\":\"8257\",\"type\":\"BoxZoomTool\"},{\"id\":\"8258\",\"type\":\"WheelZoomTool\"},{\"id\":\"8259\",\"type\":\"PanTool\"},{\"id\":\"8260\",\"type\":\"SaveTool\"},{\"id\":\"8261\",\"type\":\"ResetTool\"},{\"id\":\"8262\",\"type\":\"HelpTool\"},{\"id\":\"8756\",\"type\":\"HoverTool\"}]},\"id\":\"8265\",\"type\":\"Toolbar\"},{\"attributes\":{\"overlay\":{\"id\":\"8263\",\"type\":\"BoxAnnotation\"}},\"id\":\"8257\",\"type\":\"BoxZoomTool\"},{\"attributes\":{\"data_source\":{\"id\":\"8272\",\"type\":\"ColumnDataSource\"},\"glyph\":{\"id\":\"8275\",\"type\":\"Circle\"},\"hover_glyph\":null,\"muted_glyph\":null,\"nonselection_glyph\":{\"id\":\"8276\",\"type\":\"Circle\"},\"selection_glyph\":null,\"view\":{\"id\":\"8278\",\"type\":\"CDSView\"}},\"id\":\"8277\",\"type\":\"GlyphRenderer\"},{\"attributes\":{\"fill_color\":{\"value\":\"red\"},\"line_color\":{\"value\":\"red\"},\"size\":{\"units\":\"screen\",\"value\":10},\"x\":{\"field\":\"fertility\"},\"y\":{\"field\":\"female literacy\"}},\"id\":\"8275\",\"type\":\"Circle\"},{\"attributes\":{\"plot\":null,\"text\":\"\"},\"id\":\"8279\",\"type\":\"Title\"},{\"attributes\":{\"source\":{\"id\":\"8272\",\"type\":\"ColumnDataSource\"}},\"id\":\"8278\",\"type\":\"CDSView\"},{\"attributes\":{\"fill_alpha\":{\"value\":0.1},\"fill_color\":{\"value\":\"#1f77b4\"},\"line_alpha\":{\"value\":0.1},\"line_color\":{\"value\":\"#1f77b4\"},\"size\":{\"units\":\"screen\",\"value\":10},\"x\":{\"field\":\"fertility\"},\"y\":{\"field\":\"female literacy\"}},\"id\":\"8276\",\"type\":\"Circle\"},{\"attributes\":{},\"id\":\"8281\",\"type\":\"BasicTickFormatter\"},{\"attributes\":{\"callback\":null},\"id\":\"8241\",\"type\":\"DataRange1d\"},{\"attributes\":{},\"id\":\"8283\",\"type\":\"BasicTickFormatter\"},{\"attributes\":{\"callback\":null,\"data\":{\"Continent\":[\"AF\",\"AF\",\"AF\",\"AF\",\"AF\",\"AF\",\"AF\",\"AF\",\"AF\",\"AF\",\"AF\",\"AF\",\"AF\",\"AF\",\"AF\",\"AF\",\"AF\",\"AF\",\"AF\",\"AF\",\"AF\",\"AF\",\"AF\",\"AF\",\"AF\",\"AF\",\"AF\",\"AF\",\"AF\",\"AF\",\"AF\",\"AF\",\"AF\",\"AF\",\"AF\",\"AF\",\"AF\",\"AF\",\"AF\",\"AF\",\"AF\",\"AF\",\"AF\",\"AF\",\"AF\",\"AF\",\"AF\",\"AF\",\"AF\"],\"Country \":[\"Nig\\u00e9ria\",\"Egypte\",\"Ethiopie\",\"R\\u00e9p. D\\u00e9mocratique du Congo\",\"Afrique du Sud\",\"R\\u00e9publique-Unie de Tanzanie\",\"Soudan\",\"Kenya\",\"Alg\\u00e9rie\",\"Ouganda\",\"Maroc\",\"Ghana\",\"Mozambique\",\"C\\u00f4te d'Ivoire\",\"Madagascar\",\"Cameroun\",\"Angola\",\"Burkina Faso\",\"Malawi\",\"Niger\",\"Mali\",\"Zambie\",\"Zimbabwe\",\"S\\u00e9n\\u00e9gal\",\"Tchad\",\"Tunisie\",\"Guin\\u00e9e\",\"Rwanda\",\"B\\u00e9nin\",\"Burundi\",\"Togo\",\"Jamahiriya arabe libyenne\",\"Sierra Leone\",\"Erythr\\u00e9e\",\"R\\u00e9publique centrafricaine\",\"Lib\\u00e9ria\",\"Mauritanie\",\"Namibie\",\"Lesotho\",\"Botswana\",\"Gambie\",\"Guin\\u00e9e-Bissau\",\"Gabon\",\"Maurice\",\"Swaziland\",\"Guin\\u00e9e \\u00e9quatoriale\",\"Comores\",\"Cap-Vert\",\"Sao Tom\\u00e9-et-Principe\"],\"female literacy\":{\"__ndarray__\":\"ZmZmZmZmSEBmZmZmZuZMQM3MzMzMzDZAzczMzMwMTEBmZmZmZgZWQDMzMzMzk1BAzczMzMzMTUAzMzMzM7NUQDMzMzMz809AMzMzMzOzUEDNzMzMzAxGQGZmZmZmpk1AzczMzMwMREBmZmZmZiZGQDMzMzMzU1BAMzMzMzPzUEAAAAAAAIBMQJqZmZmZmTVAMzMzMzNzUEAzMzMzMzMuQDMzMzMzMzJAAAAAAACATkAzMzMzMzNWQAAAAAAAgEBAZmZmZmbmNUAAAAAAAMBRQGZmZmZmZjpAZmZmZmaGUECamZmZmRk8QDMzMzMz801AmpmZmZnZSkAzMzMzM1NUQGZmZmZm5jxAAAAAAABAS0DNzMzMzIxEQAAAAAAAgEpAAAAAAADASEDNzMzMzOxVQGZmZmZmxldAAAAAAADgVEBmZmZmZiZBQAAAAAAAQEJAzczMzMzMVEAzMzMzMzNVQGZmZmZmZlVAZmZmZmZGVkAzMzMzM/NQQDMzMzMz01NAMzMzMzPTVEA=\",\"dtype\":\"float64\",\"shape\":[49]},\"fertility\":{\"__ndarray__\":\"/dR46SaxFEC7SQwCK4cGQPLSTWIQ2BRAbhKDwMqhF0AK16NwPQoEQBSuR+F6FBZACKwcWmQ7EEBWDi2ynW8TQCPb+X5qvAJAarx0kxgEGUB56SYxCKwCQOF6FK5H4RBAke18PzXeE0B0kxgEVg4SQHsUrkfhehJARIts5/spEkBANV66SYwWQHe+nxovXRdAUrgehevRFUAtsp3vp0YcQB+F61G4nhVAppvEILDyFkCBlUOLbOcKQI/C9ShcjxNAbef7qfFSGEDb+X5qvHT9PzeJQWDlUBVAUrgehetRFUBPjZduEoMVQM3MzMzMzBFARIts5/upEECJQWDl0CIFQClcj8L1qBRA6iYxCKwcEkB9PzVeuskSQCUGgZVDCxRAWmQ730+NEUBSuB6F61EKQOkmMQisHApA+n5qvHSTBkDGSzeJQeATQIlBYOXQohZA7FG4HoXrCUB46SYxCKz8P5qZmZmZmQtAbhKDwMohFUAUrkfhehQPQOj7qfHSTQVAWDm0yHa+DUA=\",\"dtype\":\"float64\",\"shape\":[49]},\"index\":[7,14,15,19,24,29,30,32,34,36,37,47,49,51,54,55,56,60,61,62,66,67,68,69,72,76,79,80,85,86,94,95,101,106,113,117,123,131,132,135,136,137,138,142,143,147,148,151,159],\"population\":{\"__ndarray__\":\"AAAAvKEGokEAAAAQBnCTQQAAAGhbPpNBAAAA2NOjjkEAAADAPDeHQQAAAJgGQoRBAAAAWFS3g0EAAAAAGHyCQQAAAJD5Y4BBAAAAELowfkEAAAAANyR+QQAAAPDoRHZBAAAAUHxYdUEAAABgLKNzQQAAANDBOXJBAAAAEEA0ckEAAADAky9xQQAAAIBrDm1BAAAAwBxRbEEAAADA1wtsQQAAAAD5O2hBAAAAYDcSaEEAAADgY8VnQQAAAKB9SmdBAAAAYPDQZEEAAAAA37JjQQAAAOBLwWJBAAAAwG6KYkEAAADAiIVgQQAAAIADzV5BAAAAQDujWEEAAABAqQJYQQAAAECLNVVBAAAAQGfLUkEAAADAj41QQQAAAAD88ExBAAAAgGGHSEEAAAAA3z9AQQAAAACVRT9BAAAAAGJQPUEAAAAAKFU5QQAAAAAWCjhBAAAAAN8YNkEAAAAAdlwzQQAAAADa0TFBAAAAAPodJEGoYCyg5qMjQQAAAADAbx5BAAAAAHCNA0E=\",\"dtype\":\"float64\",\"shape\":[49]}},\"selected\":{\"id\":\"8623\",\"type\":\"Selection\"},\"selection_policy\":{\"id\":\"8622\",\"type\":\"UnionRenderers\"}},\"id\":\"8273\",\"type\":\"ColumnDataSource\"},{\"attributes\":{\"background_fill_color\":{\"value\":\"lightgray\"},\"items\":[{\"id\":\"8287\",\"type\":\"LegendItem\"},{\"id\":\"8302\",\"type\":\"LegendItem\"}],\"location\":\"bottom_left\",\"plot\":{\"id\":\"8238\",\"subtype\":\"Figure\",\"type\":\"Plot\"}},\"id\":\"8286\",\"type\":\"Legend\"},{\"attributes\":{\"axis_label\":\"fertility (children per woman)\",\"formatter\":{\"id\":\"8283\",\"type\":\"BasicTickFormatter\"},\"plot\":{\"id\":\"8238\",\"subtype\":\"Figure\",\"type\":\"Plot\"},\"ticker\":{\"id\":\"8248\",\"type\":\"BasicTicker\"}},\"id\":\"8247\",\"type\":\"LinearAxis\"},{\"attributes\":{\"label\":{\"value\":\"Latin America\"},\"renderers\":[{\"id\":\"8277\",\"type\":\"GlyphRenderer\"}]},\"id\":\"8287\",\"type\":\"LegendItem\"},{\"attributes\":{},\"id\":\"8623\",\"type\":\"Selection\"},{\"attributes\":{\"callback\":null,\"data\":{\"Continent\":[\"LAT\",\"LAT\",\"LAT\",\"LAT\",\"LAT\",\"LAT\",\"LAT\",\"LAT\",\"LAT\",\"LAT\",\"LAT\",\"LAT\",\"LAT\",\"LAT\",\"LAT\",\"LAT\",\"LAT\",\"LAT\",\"LAT\",\"LAT\",\"LAT\",\"LAT\",\"LAT\",\"LAT\"],\"Country \":[\"Br\\u00e9sil\",\"Mexique\",\"Colombie\",\"Argentine\",\"P\\u00e9rou\",\"Venezuela\",\"Chili\",\"Guatemala\",\"Equateur\",\"Cuba\",\"R\\u00e9publique dominicaine\",\"Bolivie\",\"Honduras\",\"Paraguay\",\"El Salvador\",\"Nicaragua\",\"Costa Rica\",\"Panama\",\"Uruguay\",\"Jama\\u00efque\",\"Trinit\\u00e9-et-Tobago\",\"Suriname\",\"Bahamas\",\"Aruba\"],\"female literacy\":{\"__ndarray__\":\"zczMzMyMVkAAAAAAAOBWQJqZmZmZWVdAzczMzMxsWEBmZmZmZiZVQJqZmZmZuVdAzczMzMysWEDNzMzMzCxRQM3MzMzMbFRAMzMzMzPzWEAzMzMzMxNWQAAAAAAAgFVAAAAAAADgVEAAAAAAAGBXQJqZmZmZWVRAmpmZmZl5U0DNzMzMzAxYQDMzMzMzM1dAAAAAAACgWEAzMzMzM7NWQM3MzMzMjFhAmpmZmZkZVkAAAAAAACBYQAAAAAAAgFhA\",\"dtype\":\"float64\",\"shape\":[24]},\"fertility\":{\"__ndarray__\":\"CKwcWmQ7/T9zaJHtfD8BQAisHFpkOwNAYxBYObTIAUA9CtejcD0EQJZDi2zn+wNAN4lBYOXQ/j/fT42XbhIQQLTIdr6fGgRAFK5H4XoU+D9MN4lBYOUEQCyHFtnO9wpAhetRuB6FCUA3iUFg5dAHQFyPwvUoXAJAEVg5tMh2BUBKDAIrhxb/P1TjpZvEIARAg8DKoUW2AEBMN4lBYOUCQCYxCKwcWvo/lkOLbOf7AkAshxbZzvcKQIPAyqFFtvs/\",\"dtype\":\"float64\",\"shape\":[24]},\"index\":[4,10,28,31,40,42,57,64,65,71,78,81,90,96,98,100,109,120,122,128,140,150,154,160],\"population\":{\"__ndarray__\":\"AAAAZIHipkH67buGHVuZQQAAAACkdoVBAAAAIIcEg0EAAADANYB7QQAAAIARpHpBAAAAAIcGcEEAAAAArhpqQQAAAAC6tmlBAAAA4A9fZUEAAADguPtiQQAAACB0fWJBAAAAQEHrW0EAAADAp8tXQQAAAIAlZldBAAAAQH+eVUEAAACANT1RQQAAAIBT7klBAAAAANJvSUEAAAAAcIBEQQAAAACMWDRBAAAAANBwH0EAAAAAEJwUQQAAAADwvvlA\",\"dtype\":\"float64\",\"shape\":[24]}},\"selected\":{\"id\":\"8301\",\"type\":\"Selection\"},\"selection_policy\":{\"id\":\"8300\",\"type\":\"UnionRenderers\"}},\"id\":\"8272\",\"type\":\"ColumnDataSource\"},{\"attributes\":{\"fill_color\":{\"value\":\"blue\"},\"line_color\":{\"value\":\"blue\"},\"size\":{\"units\":\"screen\",\"value\":10},\"x\":{\"field\":\"fertility\"},\"y\":{\"field\":\"female literacy\"}},\"id\":\"8289\",\"type\":\"Circle\"},{\"attributes\":{\"dimension\":1,\"plot\":{\"id\":\"8238\",\"subtype\":\"Figure\",\"type\":\"Plot\"},\"ticker\":{\"id\":\"8253\",\"type\":\"BasicTicker\"}},\"id\":\"8256\",\"type\":\"Grid\"},{\"attributes\":{\"axis_label\":\"female_literacy (%population)\",\"formatter\":{\"id\":\"8281\",\"type\":\"BasicTickFormatter\"},\"plot\":{\"id\":\"8238\",\"subtype\":\"Figure\",\"type\":\"Plot\"},\"ticker\":{\"id\":\"8253\",\"type\":\"BasicTicker\"}},\"id\":\"8252\",\"type\":\"LinearAxis\"},{\"attributes\":{},\"id\":\"8253\",\"type\":\"BasicTicker\"},{\"attributes\":{\"fill_alpha\":{\"value\":0.1},\"fill_color\":{\"value\":\"#1f77b4\"},\"line_alpha\":{\"value\":0.1},\"line_color\":{\"value\":\"#1f77b4\"},\"size\":{\"units\":\"screen\",\"value\":10},\"x\":{\"field\":\"fertility\"},\"y\":{\"field\":\"female literacy\"}},\"id\":\"8290\",\"type\":\"Circle\"},{\"attributes\":{\"data_source\":{\"id\":\"8273\",\"type\":\"ColumnDataSource\"},\"glyph\":{\"id\":\"8289\",\"type\":\"Circle\"},\"hover_glyph\":null,\"muted_glyph\":null,\"nonselection_glyph\":{\"id\":\"8290\",\"type\":\"Circle\"},\"selection_glyph\":null,\"view\":{\"id\":\"8292\",\"type\":\"CDSView\"}},\"id\":\"8291\",\"type\":\"GlyphRenderer\"}],\"root_ids\":[\"8238\"]},\"title\":\"Bokeh Application\",\"version\":\"1.0.2\"}};\n", " var render_items = [{\"docid\":\"f9a39287-7f8c-43dc-8447-da364693b22d\",\"roots\":{\"8238\":\"18d2a4d2-e533-4f72-a9ad-f2a09b2c8ed0\"}}];\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": "8238" } }, "output_type": "display_data" } ], "source": [ "# Import HoverTool from bokeh.models\n", "from bokeh.models import HoverTool\n", "\n", "# Create a HoverTool object: hover\n", "hover = HoverTool(tooltips = [('Country', '@Country')])\n", "\n", "# Add the HoverTool object to figure p\n", "p.add_tools(hover)\n", "\n", "# Show the result\n", "\n", "show(p)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# Building interactive apps with Bokeh\n", "\n", "Bokeh server applications let you connect all of the powerful Python libraries for analytics and data science, such as NumPy and Pandas, to rich interactive Bokeh visualizations. \n", "\n", "We will also learn about Bokeh's built-in widgets, how to add them to Bokeh documents alongside plots, and how to connect everything to real python code using the Bokeh server.\n", "\n", "Bokeh server will automatically keep every property of any Bokeh object in sync." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Bokeh Server Applications\n", "\n", "\n", "### Basic App Outline \n", "```\n", " outline.py\n", "from bokeh.io import curdoc \n", "# Create plots and widgets \n", "# Add callbacks \n", "# Arrange plots and widgets in layouts \n", "curdoc().add_root(layout)\n", "```\n", "\n", "### Running Bokeh Applications\n", "Run single module apps at the shell or Windows command prompt:\n", "\n", "`bokeh serve --show myapp.py`\n", "\n", "“Directory” style apps run similarly:\n", "`bokeh serve --show myappdir/`\n", "\n", "\n", "\n", "## Using the current document\n", "\n", "Building an interactive Bokeh app typically begins with importing the `curdoc`, or \"current document\", function from `bokeh.io`. This current document will eventually hold all the plots, controls, and layouts we create. " ] }, { "cell_type": "code", "execution_count": 29, "metadata": {}, "outputs": [ { "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 = {\"5ac5507e-6b0e-4d99-8f73-007914c961c5\":{\"roots\":{\"references\":[{\"attributes\":{\"below\":[{\"id\":\"10561\",\"type\":\"LinearAxis\"}],\"left\":[{\"id\":\"10566\",\"type\":\"LinearAxis\"}],\"renderers\":[{\"id\":\"10561\",\"type\":\"LinearAxis\"},{\"id\":\"10565\",\"type\":\"Grid\"},{\"id\":\"10566\",\"type\":\"LinearAxis\"},{\"id\":\"10570\",\"type\":\"Grid\"},{\"id\":\"10579\",\"type\":\"BoxAnnotation\"},{\"id\":\"10589\",\"type\":\"GlyphRenderer\"}],\"title\":{\"id\":\"10942\",\"type\":\"Title\"},\"toolbar\":{\"id\":\"10577\",\"type\":\"Toolbar\"},\"x_range\":{\"id\":\"10553\",\"type\":\"DataRange1d\"},\"x_scale\":{\"id\":\"10557\",\"type\":\"LinearScale\"},\"y_range\":{\"id\":\"10555\",\"type\":\"DataRange1d\"},\"y_scale\":{\"id\":\"10559\",\"type\":\"LinearScale\"}},\"id\":\"10552\",\"subtype\":\"Figure\",\"type\":\"Plot\"},{\"attributes\":{\"overlay\":{\"id\":\"10579\",\"type\":\"BoxAnnotation\"}},\"id\":\"10573\",\"type\":\"BoxZoomTool\"},{\"attributes\":{\"callback\":null},\"id\":\"10555\",\"type\":\"DataRange1d\"},{\"attributes\":{\"formatter\":{\"id\":\"10946\",\"type\":\"BasicTickFormatter\"},\"plot\":{\"id\":\"10552\",\"subtype\":\"Figure\",\"type\":\"Plot\"},\"ticker\":{\"id\":\"10562\",\"type\":\"BasicTicker\"}},\"id\":\"10561\",\"type\":\"LinearAxis\"},{\"attributes\":{\"line_color\":\"#1f77b4\",\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"10587\",\"type\":\"Line\"},{\"attributes\":{},\"id\":\"10572\",\"type\":\"WheelZoomTool\"},{\"attributes\":{\"callback\":null},\"id\":\"10553\",\"type\":\"DataRange1d\"},{\"attributes\":{},\"id\":\"10557\",\"type\":\"LinearScale\"},{\"attributes\":{},\"id\":\"10574\",\"type\":\"SaveTool\"},{\"attributes\":{\"line_alpha\":0.1,\"line_color\":\"#1f77b4\",\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"10588\",\"type\":\"Line\"},{\"attributes\":{\"callback\":null,\"data\":{\"x\":[1,2,3,4,5],\"y\":[2,5,4,6,7]},\"selected\":{\"id\":\"10950\",\"type\":\"Selection\"},\"selection_policy\":{\"id\":\"10949\",\"type\":\"UnionRenderers\"}},\"id\":\"10586\",\"type\":\"ColumnDataSource\"},{\"attributes\":{},\"id\":\"10575\",\"type\":\"ResetTool\"},{\"attributes\":{\"source\":{\"id\":\"10586\",\"type\":\"ColumnDataSource\"}},\"id\":\"10590\",\"type\":\"CDSView\"},{\"attributes\":{},\"id\":\"10559\",\"type\":\"LinearScale\"},{\"attributes\":{},\"id\":\"10576\",\"type\":\"HelpTool\"},{\"attributes\":{},\"id\":\"10567\",\"type\":\"BasicTicker\"},{\"attributes\":{\"active_drag\":\"auto\",\"active_inspect\":\"auto\",\"active_multi\":null,\"active_scroll\":\"auto\",\"active_tap\":\"auto\",\"tools\":[{\"id\":\"10571\",\"type\":\"PanTool\"},{\"id\":\"10572\",\"type\":\"WheelZoomTool\"},{\"id\":\"10573\",\"type\":\"BoxZoomTool\"},{\"id\":\"10574\",\"type\":\"SaveTool\"},{\"id\":\"10575\",\"type\":\"ResetTool\"},{\"id\":\"10576\",\"type\":\"HelpTool\"}]},\"id\":\"10577\",\"type\":\"Toolbar\"},{\"attributes\":{},\"id\":\"10562\",\"type\":\"BasicTicker\"},{\"attributes\":{\"plot\":{\"id\":\"10552\",\"subtype\":\"Figure\",\"type\":\"Plot\"},\"ticker\":{\"id\":\"10562\",\"type\":\"BasicTicker\"}},\"id\":\"10565\",\"type\":\"Grid\"},{\"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\":\"10579\",\"type\":\"BoxAnnotation\"},{\"attributes\":{\"formatter\":{\"id\":\"10944\",\"type\":\"BasicTickFormatter\"},\"plot\":{\"id\":\"10552\",\"subtype\":\"Figure\",\"type\":\"Plot\"},\"ticker\":{\"id\":\"10567\",\"type\":\"BasicTicker\"}},\"id\":\"10566\",\"type\":\"LinearAxis\"},{\"attributes\":{\"dimension\":1,\"plot\":{\"id\":\"10552\",\"subtype\":\"Figure\",\"type\":\"Plot\"},\"ticker\":{\"id\":\"10567\",\"type\":\"BasicTicker\"}},\"id\":\"10570\",\"type\":\"Grid\"},{\"attributes\":{\"plot\":null,\"text\":\"\"},\"id\":\"10942\",\"type\":\"Title\"},{\"attributes\":{},\"id\":\"10944\",\"type\":\"BasicTickFormatter\"},{\"attributes\":{},\"id\":\"10946\",\"type\":\"BasicTickFormatter\"},{\"attributes\":{},\"id\":\"10950\",\"type\":\"Selection\"},{\"attributes\":{},\"id\":\"10949\",\"type\":\"UnionRenderers\"},{\"attributes\":{},\"id\":\"10571\",\"type\":\"PanTool\"},{\"attributes\":{\"data_source\":{\"id\":\"10586\",\"type\":\"ColumnDataSource\"},\"glyph\":{\"id\":\"10587\",\"type\":\"Line\"},\"hover_glyph\":null,\"muted_glyph\":null,\"nonselection_glyph\":{\"id\":\"10588\",\"type\":\"Line\"},\"selection_glyph\":null,\"view\":{\"id\":\"10590\",\"type\":\"CDSView\"}},\"id\":\"10589\",\"type\":\"GlyphRenderer\"}],\"root_ids\":[\"10552\"]},\"title\":\"Bokeh Application\",\"version\":\"1.0.2\"}};\n", " var render_items = [{\"docid\":\"5ac5507e-6b0e-4d99-8f73-007914c961c5\",\"roots\":{\"10552\":\"af1dc52b-ad11-4218-81d5-5687429fc324\"}}];\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": "10552" } }, "output_type": "display_data" } ], "source": [ "# Perform necessary imports\n", "from bokeh.io import curdoc\n", "from bokeh.plotting import figure\n", "\n", "# Create a new plot: plot\n", "plot = figure()\n", "\n", "# Add a line to the plot\n", "plot.line(x = [1,2,3,4,5], y = [2,5,4,6,7])\n", "\n", "# Add the plot to the current document\n", "curdoc().add_root(plot)\n", "show(plot)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Adding sliders" ] }, { "cell_type": "code", "execution_count": 33, "metadata": {}, "outputs": [ { "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 = {\"3a02a836-635a-4325-9903-97f5da885ec0\":{\"roots\":{\"references\":[{\"attributes\":{\"children\":[{\"id\":\"12196\",\"type\":\"Slider\"},{\"id\":\"12197\",\"type\":\"Slider\"}]},\"id\":\"12198\",\"type\":\"WidgetBox\"},{\"attributes\":{\"callback\":null,\"end\":10,\"start\":0,\"step\":0.1,\"title\":\"slider1\",\"value\":2},\"id\":\"12196\",\"type\":\"Slider\"},{\"attributes\":{\"callback\":null,\"end\":100,\"start\":10,\"title\":\"slider2\",\"value\":20},\"id\":\"12197\",\"type\":\"Slider\"}],\"root_ids\":[\"12198\"]},\"title\":\"Bokeh Application\",\"version\":\"1.0.2\"}};\n", " var render_items = [{\"docid\":\"3a02a836-635a-4325-9903-97f5da885ec0\",\"roots\":{\"12198\":\"accb094f-7fd5-453b-a305-4fbe1615b902\"}}];\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": "12198" } }, "output_type": "display_data" } ], "source": [ "# Perform the necessary imports\n", "from bokeh.io import curdoc\n", "from bokeh.layouts import widgetbox\n", "from bokeh.models import Slider\n", "\n", "# Create first slider: slider1\n", "slider1 = Slider(title='slider1', start=0, end=10, step=0.1, value=2)\n", "\n", "# Create second slider: slider2\n", "slider2 = Slider(title='slider2', start=10, end=100, step=1, value=20)\n", "\n", "# Add slider1 and slider2 to a widgetbox\n", "layout = widgetbox(slider1, slider2)\n", "\n", "# Add the layout to the current document\n", "curdoc().add_root(layout)\n", "show(layout)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Connecting sliders to plots\n", "\n", "A slider example \n" ] }, { "cell_type": "code", "execution_count": 32, "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "WARNING:bokeh.embed.util:\n", "You are generating standalone HTML/JS output, but trying to use real Python\n", "callbacks (i.e. with on_change or on_event). This combination cannot work.\n", "\n", "Only JavaScript callbacks may be used with standalone output. For more\n", "information on JavaScript callbacks with Bokeh, see:\n", "\n", " http://bokeh.pydata.org/en/latest/docs/user_guide/interaction/callbacks.html\n", "\n", "Alternatively, to use real Python callbacks, a Bokeh server application may\n", "be used. For more information on building and running Bokeh applications, see:\n", "\n", " http://bokeh.pydata.org/en/latest/docs/user_guide/server.html\n", "\n" ] }, { "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 = {\"1cba47c2-e30f-4a69-889c-9124ecb4dd13\":{\"roots\":{\"references\":[{\"attributes\":{\"children\":[{\"id\":\"11771\",\"type\":\"WidgetBox\"},{\"id\":\"11731\",\"subtype\":\"Figure\",\"type\":\"Plot\"}]},\"id\":\"11772\",\"type\":\"Column\"},{\"attributes\":{},\"id\":\"11750\",\"type\":\"PanTool\"},{\"attributes\":{},\"id\":\"12135\",\"type\":\"BasicTickFormatter\"},{\"attributes\":{\"dimension\":1,\"plot\":{\"id\":\"11731\",\"subtype\":\"Figure\",\"type\":\"Plot\"},\"ticker\":{\"id\":\"11746\",\"type\":\"BasicTicker\"}},\"id\":\"11749\",\"type\":\"Grid\"},{\"attributes\":{},\"id\":\"11738\",\"type\":\"LinearScale\"},{\"attributes\":{},\"id\":\"12141\",\"type\":\"Selection\"},{\"attributes\":{\"source\":{\"id\":\"11730\",\"type\":\"ColumnDataSource\"}},\"id\":\"11769\",\"type\":\"CDSView\"},{\"attributes\":{},\"id\":\"11741\",\"type\":\"BasicTicker\"},{\"attributes\":{\"overlay\":{\"id\":\"11758\",\"type\":\"BoxAnnotation\"}},\"id\":\"11752\",\"type\":\"BoxZoomTool\"},{\"attributes\":{\"plot\":null,\"text\":\"\"},\"id\":\"12133\",\"type\":\"Title\"},{\"attributes\":{\"children\":[{\"id\":\"11770\",\"type\":\"Slider\"}]},\"id\":\"11771\",\"type\":\"WidgetBox\"},{\"attributes\":{\"plot\":{\"id\":\"11731\",\"subtype\":\"Figure\",\"type\":\"Plot\"},\"ticker\":{\"id\":\"11741\",\"type\":\"BasicTicker\"}},\"id\":\"11744\",\"type\":\"Grid\"},{\"attributes\":{\"callback\":null},\"id\":\"11732\",\"type\":\"DataRange1d\"},{\"attributes\":{},\"id\":\"11755\",\"type\":\"HelpTool\"},{\"attributes\":{},\"id\":\"12140\",\"type\":\"UnionRenderers\"},{\"attributes\":{},\"id\":\"12137\",\"type\":\"BasicTickFormatter\"},{\"attributes\":{\"callback\":null,\"end\":1000,\"start\":100,\"step\":10,\"title\":\"Number of points\",\"value\":300},\"id\":\"11770\",\"type\":\"Slider\"},{\"attributes\":{},\"id\":\"11754\",\"type\":\"ResetTool\"},{\"attributes\":{},\"id\":\"11751\",\"type\":\"WheelZoomTool\"},{\"attributes\":{\"data_source\":{\"id\":\"11730\",\"type\":\"ColumnDataSource\"},\"glyph\":{\"id\":\"11766\",\"type\":\"Circle\"},\"hover_glyph\":null,\"muted_glyph\":null,\"nonselection_glyph\":{\"id\":\"11767\",\"type\":\"Circle\"},\"selection_glyph\":null,\"view\":{\"id\":\"11769\",\"type\":\"CDSView\"}},\"id\":\"11768\",\"type\":\"GlyphRenderer\"},{\"attributes\":{\"callback\":null},\"id\":\"11734\",\"type\":\"DataRange1d\"},{\"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\":\"11758\",\"type\":\"BoxAnnotation\"},{\"attributes\":{\"formatter\":{\"id\":\"12137\",\"type\":\"BasicTickFormatter\"},\"plot\":{\"id\":\"11731\",\"subtype\":\"Figure\",\"type\":\"Plot\"},\"ticker\":{\"id\":\"11741\",\"type\":\"BasicTicker\"}},\"id\":\"11740\",\"type\":\"LinearAxis\"},{\"attributes\":{\"active_drag\":\"auto\",\"active_inspect\":\"auto\",\"active_multi\":null,\"active_scroll\":\"auto\",\"active_tap\":\"auto\",\"tools\":[{\"id\":\"11750\",\"type\":\"PanTool\"},{\"id\":\"11751\",\"type\":\"WheelZoomTool\"},{\"id\":\"11752\",\"type\":\"BoxZoomTool\"},{\"id\":\"11753\",\"type\":\"SaveTool\"},{\"id\":\"11754\",\"type\":\"ResetTool\"},{\"id\":\"11755\",\"type\":\"HelpTool\"}]},\"id\":\"11756\",\"type\":\"Toolbar\"},{\"attributes\":{\"below\":[{\"id\":\"11740\",\"type\":\"LinearAxis\"}],\"left\":[{\"id\":\"11745\",\"type\":\"LinearAxis\"}],\"renderers\":[{\"id\":\"11740\",\"type\":\"LinearAxis\"},{\"id\":\"11744\",\"type\":\"Grid\"},{\"id\":\"11745\",\"type\":\"LinearAxis\"},{\"id\":\"11749\",\"type\":\"Grid\"},{\"id\":\"11758\",\"type\":\"BoxAnnotation\"},{\"id\":\"11768\",\"type\":\"GlyphRenderer\"}],\"title\":{\"id\":\"12133\",\"type\":\"Title\"},\"toolbar\":{\"id\":\"11756\",\"type\":\"Toolbar\"},\"x_range\":{\"id\":\"11732\",\"type\":\"DataRange1d\"},\"x_scale\":{\"id\":\"11736\",\"type\":\"LinearScale\"},\"y_range\":{\"id\":\"11734\",\"type\":\"DataRange1d\"},\"y_scale\":{\"id\":\"11738\",\"type\":\"LinearScale\"}},\"id\":\"11731\",\"subtype\":\"Figure\",\"type\":\"Plot\"},{\"attributes\":{\"fill_color\":{\"value\":\"#1f77b4\"},\"line_color\":{\"value\":\"#1f77b4\"},\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"11766\",\"type\":\"Circle\"},{\"attributes\":{\"formatter\":{\"id\":\"12135\",\"type\":\"BasicTickFormatter\"},\"plot\":{\"id\":\"11731\",\"subtype\":\"Figure\",\"type\":\"Plot\"},\"ticker\":{\"id\":\"11746\",\"type\":\"BasicTicker\"}},\"id\":\"11745\",\"type\":\"LinearAxis\"},{\"attributes\":{\"callback\":null,\"data\":{\"x\":{\"__ndarray__\":\"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\",\"dtype\":\"float64\",\"shape\":[300]},\"y\":{\"__ndarray__\":\"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\",\"dtype\":\"float64\",\"shape\":[300]}},\"selected\":{\"id\":\"12141\",\"type\":\"Selection\"},\"selection_policy\":{\"id\":\"12140\",\"type\":\"UnionRenderers\"}},\"id\":\"11730\",\"type\":\"ColumnDataSource\"},{\"attributes\":{\"fill_alpha\":{\"value\":0.1},\"fill_color\":{\"value\":\"#1f77b4\"},\"line_alpha\":{\"value\":0.1},\"line_color\":{\"value\":\"#1f77b4\"},\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"11767\",\"type\":\"Circle\"},{\"attributes\":{},\"id\":\"11746\",\"type\":\"BasicTicker\"},{\"attributes\":{},\"id\":\"11736\",\"type\":\"LinearScale\"},{\"attributes\":{},\"id\":\"11753\",\"type\":\"SaveTool\"}],\"root_ids\":[\"11772\"]},\"title\":\"Bokeh Application\",\"version\":\"1.0.2\"}};\n", " var render_items = [{\"docid\":\"1cba47c2-e30f-4a69-889c-9124ecb4dd13\",\"roots\":{\"11772\":\"65d2f055-696f-4751-9b63-dedee5556d8e\"}}];\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": "11772" } }, "output_type": "display_data" } ], "source": [ "from bokeh.io import curdoc \n", "from bokeh.layouts import column \n", "from bokeh.models import ColumnDataSource, Slider \n", "from bokeh.plotting import figure \n", "from numpy.random import random \n", "\n", "N = 300 \n", "source = ColumnDataSource(data={'x': random(N), 'y': random(N)}) \n", "\n", "# Create plots and widgets \n", "plot = figure() \n", "plot.circle(x= 'x', y='y', source=source) \n", "slider = Slider(start=100, end=1000, value=N,\n", " step=10, title='Number of points')\n", "\n", "# Add callback to widgets \n", "def callback(attr, old, new):\n", " N = slider.value\n", " source.data={'x': random(N), 'y': random(N)} \n", "slider.on_change('value', callback) \n", "\n", "# Arrange plots and widgets in layouts \n", "layout = column(slider, plot) \n", "\n", "curdoc().add_root(layout) \n", "show(layout)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Adding callbacks to sliders\n", "\n", "Callbacks are functions that a user can define, like `def callback(attr, old, new)`, that can be called automatically when some property of a Bokeh object (e.g., the `value` of a `Slider`) changes. \n", "\n", "A callback is added by calling `myslider.on_change('value', callback).`\n", "\n", "\n", "## How to combine Bokeh models into layouts\n", "\n", "A simple Bokeh application would have a slider, plot, and also updates the plot based on the slider. \n" ] }, { "cell_type": "code", "execution_count": 34, "metadata": {}, "outputs": [ { "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 = {\"a7c54a2c-e752-42cc-ba14-c07ef1b32bc3\":{\"roots\":{\"references\":[{\"attributes\":{\"children\":[{\"id\":\"12609\",\"type\":\"WidgetBox\"},{\"id\":\"12568\",\"subtype\":\"Figure\",\"type\":\"Plot\"}]},\"id\":\"12610\",\"type\":\"Column\"},{\"attributes\":{\"callback\":null},\"id\":\"12571\",\"type\":\"DataRange1d\"},{\"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\":\"12595\",\"type\":\"BoxAnnotation\"},{\"attributes\":{},\"id\":\"12573\",\"type\":\"LinearScale\"},{\"attributes\":{\"children\":[{\"id\":\"12602\",\"type\":\"Slider\"}]},\"id\":\"12609\",\"type\":\"WidgetBox\"},{\"attributes\":{},\"id\":\"12575\",\"type\":\"LinearScale\"},{\"attributes\":{\"line_alpha\":0.1,\"line_color\":\"#1f77b4\",\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"12606\",\"type\":\"Line\"},{\"attributes\":{\"formatter\":{\"id\":\"12984\",\"type\":\"BasicTickFormatter\"},\"plot\":{\"id\":\"12568\",\"subtype\":\"Figure\",\"type\":\"Plot\"},\"ticker\":{\"id\":\"12578\",\"type\":\"BasicTicker\"}},\"id\":\"12577\",\"type\":\"LinearAxis\"},{\"attributes\":{\"data_source\":{\"id\":\"12603\",\"type\":\"ColumnDataSource\"},\"glyph\":{\"id\":\"12605\",\"type\":\"Line\"},\"hover_glyph\":null,\"muted_glyph\":null,\"nonselection_glyph\":{\"id\":\"12606\",\"type\":\"Line\"},\"selection_glyph\":null,\"view\":{\"id\":\"12608\",\"type\":\"CDSView\"}},\"id\":\"12607\",\"type\":\"GlyphRenderer\"},{\"attributes\":{},\"id\":\"12578\",\"type\":\"BasicTicker\"},{\"attributes\":{},\"id\":\"12982\",\"type\":\"BasicTickFormatter\"},{\"attributes\":{\"source\":{\"id\":\"12603\",\"type\":\"ColumnDataSource\"}},\"id\":\"12608\",\"type\":\"CDSView\"},{\"attributes\":{\"plot\":{\"id\":\"12568\",\"subtype\":\"Figure\",\"type\":\"Plot\"},\"ticker\":{\"id\":\"12578\",\"type\":\"BasicTicker\"}},\"id\":\"12581\",\"type\":\"Grid\"},{\"attributes\":{},\"id\":\"12984\",\"type\":\"BasicTickFormatter\"},{\"attributes\":{\"formatter\":{\"id\":\"12982\",\"type\":\"BasicTickFormatter\"},\"plot\":{\"id\":\"12568\",\"subtype\":\"Figure\",\"type\":\"Plot\"},\"ticker\":{\"id\":\"12583\",\"type\":\"BasicTicker\"}},\"id\":\"12582\",\"type\":\"LinearAxis\"},{\"attributes\":{},\"id\":\"12583\",\"type\":\"BasicTicker\"},{\"attributes\":{\"dimension\":1,\"plot\":{\"id\":\"12568\",\"subtype\":\"Figure\",\"type\":\"Plot\"},\"ticker\":{\"id\":\"12583\",\"type\":\"BasicTicker\"}},\"id\":\"12586\",\"type\":\"Grid\"},{\"attributes\":{},\"id\":\"12987\",\"type\":\"UnionRenderers\"},{\"attributes\":{},\"id\":\"12988\",\"type\":\"Selection\"},{\"attributes\":{\"line_color\":\"#1f77b4\",\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"12605\",\"type\":\"Line\"},{\"attributes\":{},\"id\":\"12587\",\"type\":\"PanTool\"},{\"attributes\":{},\"id\":\"12588\",\"type\":\"WheelZoomTool\"},{\"attributes\":{\"overlay\":{\"id\":\"12595\",\"type\":\"BoxAnnotation\"}},\"id\":\"12589\",\"type\":\"BoxZoomTool\"},{\"attributes\":{},\"id\":\"12590\",\"type\":\"SaveTool\"},{\"attributes\":{\"below\":[{\"id\":\"12577\",\"type\":\"LinearAxis\"}],\"left\":[{\"id\":\"12582\",\"type\":\"LinearAxis\"}],\"renderers\":[{\"id\":\"12577\",\"type\":\"LinearAxis\"},{\"id\":\"12581\",\"type\":\"Grid\"},{\"id\":\"12582\",\"type\":\"LinearAxis\"},{\"id\":\"12586\",\"type\":\"Grid\"},{\"id\":\"12595\",\"type\":\"BoxAnnotation\"},{\"id\":\"12607\",\"type\":\"GlyphRenderer\"}],\"title\":{\"id\":\"12980\",\"type\":\"Title\"},\"toolbar\":{\"id\":\"12593\",\"type\":\"Toolbar\"},\"x_range\":{\"id\":\"12569\",\"type\":\"DataRange1d\"},\"x_scale\":{\"id\":\"12573\",\"type\":\"LinearScale\"},\"y_range\":{\"id\":\"12571\",\"type\":\"DataRange1d\"},\"y_scale\":{\"id\":\"12575\",\"type\":\"LinearScale\"}},\"id\":\"12568\",\"subtype\":\"Figure\",\"type\":\"Plot\"},{\"attributes\":{\"callback\":null,\"end\":10,\"start\":1,\"title\":\"scale\",\"value\":1},\"id\":\"12602\",\"type\":\"Slider\"},{\"attributes\":{},\"id\":\"12591\",\"type\":\"ResetTool\"},{\"attributes\":{\"callback\":null,\"data\":{\"x\":{\"__ndarray__\":\"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\",\"dtype\":\"float64\",\"shape\":[300]},\"y\":{\"__ndarray__\":\"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\",\"dtype\":\"float64\",\"shape\":[300]}},\"selected\":{\"id\":\"12988\",\"type\":\"Selection\"},\"selection_policy\":{\"id\":\"12987\",\"type\":\"UnionRenderers\"}},\"id\":\"12603\",\"type\":\"ColumnDataSource\"},{\"attributes\":{},\"id\":\"12592\",\"type\":\"HelpTool\"},{\"attributes\":{\"callback\":null},\"id\":\"12569\",\"type\":\"DataRange1d\"},{\"attributes\":{\"plot\":null,\"text\":\"\"},\"id\":\"12980\",\"type\":\"Title\"},{\"attributes\":{\"active_drag\":\"auto\",\"active_inspect\":\"auto\",\"active_multi\":null,\"active_scroll\":\"auto\",\"active_tap\":\"auto\",\"tools\":[{\"id\":\"12587\",\"type\":\"PanTool\"},{\"id\":\"12588\",\"type\":\"WheelZoomTool\"},{\"id\":\"12589\",\"type\":\"BoxZoomTool\"},{\"id\":\"12590\",\"type\":\"SaveTool\"},{\"id\":\"12591\",\"type\":\"ResetTool\"},{\"id\":\"12592\",\"type\":\"HelpTool\"}]},\"id\":\"12593\",\"type\":\"Toolbar\"}],\"root_ids\":[\"12610\"]},\"title\":\"Bokeh Application\",\"version\":\"1.0.2\"}};\n", " var render_items = [{\"docid\":\"a7c54a2c-e752-42cc-ba14-c07ef1b32bc3\",\"roots\":{\"12610\":\"983ff15a-f81a-4427-99ea-741a0a607b1f\"}}];\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": "12610" } }, "output_type": "display_data" } ], "source": [ "#Imports \n", "from bokeh.io import curdoc \n", "from bokeh.layouts import column \n", "from bokeh.models import ColumnDataSource, Slider \n", "from bokeh.plotting import figure \n", "from numpy.random import random \n", "import numpy as np\n", "from bokeh.layouts import widgetbox\n", "\n", "\n", "x = np.asarray([0.3, 0.33244147, 0.36488294, 0.39732441, 0.42976589, 0.46220736, 0.49464883, 0.5270903 , 0.55953177, 0.59197324, 0.62441472, 0.65685619, 0.68929766, 0.72173913, 0.7541806 , 0.78662207, 0.81906355, 0.85150502, 0.88394649, 0.91638796, 0.94882943, 0.9812709 , 1.01371237, 1.04615385, 1.07859532, 1.11103679, 1.14347826, 1.17591973, 1.2083612 , 1.24080268, 1.27324415, 1.30568562, 1.33812709, 1.37056856, 1.40301003, 1.43545151, 1.46789298, 1.50033445, 1.53277592, 1.56521739, 1.59765886, 1.63010033, 1.66254181, 1.69498328, 1.72742475, 1.75986622, 1.79230769, 1.82474916, 1.85719064, 1.88963211, 1.92207358, 1.95451505, 1.98695652, 2.01939799, 2.05183946, 2.08428094, 2.11672241, 2.14916388, 2.18160535, 2.21404682, 2.24648829, 2.27892977, 2.31137124, 2.34381271, 2.37625418, 2.40869565, 2.44113712, 2.4735786 , 2.50602007, 2.53846154, 2.57090301, 2.60334448, 2.63578595, 2.66822742, 2.7006689 , 2.73311037, 2.76555184, 2.79799331, 2.83043478, 2.86287625, 2.89531773, 2.9277592 , 2.96020067, 2.99264214, 3.02508361, 3.05752508, 3.08996656, 3.12240803, 3.1548495 , 3.18729097, 3.21973244, 3.25217391, 3.28461538, 3.31705686, 3.34949833, 3.3819398 , 3.41438127, 3.44682274, 3.47926421, 3.51170569, 3.54414716, 3.57658863, 3.6090301 , 3.64147157, 3.67391304, 3.70635452, 3.73879599, 3.77123746, 3.80367893, 3.8361204 , 3.86856187, 3.90100334, 3.93344482, 3.96588629, 3.99832776, 4.03076923, 4.0632107 , 4.09565217, 4.12809365, 4.16053512, 4.19297659, 4.22541806, 4.25785953, 4.290301 , 4.32274247, 4.35518395, 4.38762542, 4.42006689, 4.45250836, 4.48494983, 4.5173913 , 4.54983278, 4.58227425, 4.61471572, 4.64715719, 4.67959866, 4.71204013, 4.74448161, 4.77692308, 4.80936455, 4.84180602, 4.87424749, 4.90668896, 4.93913043, 4.97157191, 5.00401338, 5.03645485, 5.06889632, 5.10133779, 5.13377926, 5.16622074, 5.19866221, 5.23110368, 5.26354515, 5.29598662, 5.32842809, 5.36086957, 5.39331104, 5.42575251, 5.45819398, 5.49063545, 5.52307692, 5.55551839, 5.58795987, 5.62040134, 5.65284281, 5.68528428, 5.71772575, 5.75016722, 5.7826087 , 5.81505017, 5.84749164, 5.87993311, 5.91237458, 5.94481605, 5.97725753, 6.009699 , 6.04214047, 6.07458194, 6.10702341, 6.13946488, 6.17190635, 6.20434783, 6.2367893 , 6.26923077, 6.30167224, 6.33411371, 6.36655518, 6.39899666, 6.43143813, 6.4638796 , 6.49632107, 6.52876254, 6.56120401, 6.59364548, 6.62608696, 6.65852843, 6.6909699 , 6.72341137, 6.75585284, 6.78829431, 6.82073579, 6.85317726, 6.88561873, 6.9180602 , 6.95050167, 6.98294314, 7.01538462, 7.04782609, 7.08026756, 7.11270903, 7.1451505 , 7.17759197, 7.21003344, 7.24247492, 7.27491639, 7.30735786, 7.33979933, 7.3722408 , 7.40468227, 7.43712375, 7.46956522, 7.50200669, 7.53444816, 7.56688963, 7.5993311 , 7.63177258, 7.66421405, 7.69665552, 7.72909699, 7.76153846, 7.79397993, 7.8264214 , 7.85886288, 7.89130435, 7.92374582, 7.95618729, 7.98862876, 8.02107023, 8.05351171, 8.08595318, 8.11839465, 8.15083612, 8.18327759, 8.21571906, 8.24816054, 8.28060201, 8.31304348, 8.34548495, 8.37792642, 8.41036789, 8.44280936, 8.47525084, 8.50769231, 8.54013378, 8.57257525, 8.60501672, 8.63745819, 8.66989967, 8.70234114, 8.73478261, 8.76722408, 8.79966555, 8.83210702, 8.86454849, 8.89698997, 8.92943144, 8.96187291, 8.99431438, 9.02675585, 9.05919732, 9.0916388 , 9.12408027, 9.15652174, 9.18896321, 9.22140468, 9.25384615, 9.28628763, 9.3187291 , 9.35117057, 9.38361204, 9.41605351, 9.44849498, 9.48093645, 9.51337793, 9.5458194 , 9.57826087, 9.61070234, 9.64314381, 9.67558528, 9.70802676, 9.74046823, 9.7729097 , 9.80535117, 9.83779264, 9.87023411, 9.90267559, 9.93511706, 9.96755853, 10.])\n", "y = np.asarray([-0.19056796, 0.13314778, 0.39032789, 0.58490071, 0.72755027, 0.82941604, 0.90008145, 0.94719898, 0.97667411, 0.99299073, 0.99952869, 0.99882928, 0.99280334, 0.98288947, 0.97017273, 0.95547297, 0.93941048, 0.92245495, 0.90496191, 0.88720012, 0.86937208, 0.85162961, 0.83408561, 0.81682308, 0.79990193, 0.78336433, 0.76723876, 0.75154314, 0.7362873 , 0.72147487, 0.70710477, 0.69317237, 0.67967038, 0.66658956, 0.65391928, 0.64164796, 0.62976339, 0.61825301, 0.60710407, 0.59630386, 0.58583975, 0.57569933, 0.56587047, 0.55634135, 0.5471005 , 0.53813683, 0.52943965, 0.52099866, 0.51280394, 0.50484599, 0.49711569, 0.48960429, 0.48230342, 0.47520507, 0.46830157, 0.4615856 , 0.45505012, 0.44868845, 0.44249417, 0.43646114, 0.43058352, 0.42485569, 0.4192723 , 0.41382821, 0.40851854, 0.40333859, 0.39828387, 0.39335008, 0.38853312, 0.38382904, 0.37923407, 0.37474459, 0.37035715, 0.36606841, 0.3618752 , 0.35777446, 0.35376325, 0.34983877, 0.34599831, 0.34223928, 0.33855919, 0.33495564, 0.33142632, 0.32796903, 0.32458163, 0.32126208, 0.3180084 , 0.3148187 , 0.31169115, 0.30862399, 0.30561552, 0.30266411, 0.29976818, 0.29692621, 0.29413673, 0.29139834, 0.28870966, 0.28606938, 0.28347622, 0.28092895, 0.27842639, 0.27596739, 0.27355084, 0.27117567, 0.26884083, 0.26654532, 0.26428818, 0.26206846, 0.25988525, 0.25773767, 0.25562487, 0.25354602, 0.25150031, 0.24948698, 0.24750527, 0.24555444, 0.24363379, 0.24174264, 0.23988032, 0.23804617, 0.23623958, 0.23445993, 0.23270663, 0.2309791 , 0.2292768 , 0.22759917, 0.22594568, 0.22431583, 0.22270912, 0.22112506, 0.21956318, 0.21802302, 0.21650414, 0.2150061 , 0.21352848, 0.21207087, 0.21063286, 0.20921408, 0.20781413, 0.20643266, 0.20506929, 0.20372368, 0.20239549, 0.20108438, 0.19979003, 0.19851212, 0.19725034, 0.19600439, 0.19477398, 0.19355882, 0.19235862, 0.19117313, 0.19000206, 0.18884517, 0.18770219, 0.18657288, 0.18545699, 0.1843543 , 0.18326456, 0.18218756, 0.18112306, 0.18007087, 0.17903076, 0.17800253, 0.17698598, 0.17598091, 0.17498713, 0.17400446, 0.1730327 , 0.17207168, 0.17112122, 0.17018115, 0.1692513 , 0.16833151, 0.16742161, 0.16652145, 0.16563087, 0.16474972, 0.16387786, 0.16301513, 0.16216139, 0.16131651, 0.16048035, 0.15965278, 0.15883366, 0.15802286, 0.15722027, 0.15642575, 0.15563919, 0.15486047, 0.15408947, 0.15332608, 0.15257018, 0.15182167, 0.15108044, 0.15034639, 0.14961941, 0.14889939, 0.14818625, 0.14747988, 0.14678019, 0.14608708, 0.14540046, 0.14472024, 0.14404634, 0.14337866, 0.14271712, 0.14206163, 0.14141212, 0.1407685 , 0.14013069, 0.13949862, 0.1388722 , 0.13825137, 0.13763605, 0.13702616, 0.13642163, 0.1358224 , 0.13522839, 0.13463954, 0.13405578, 0.13347705, 0.13290327, 0.1323344 , 0.13177035, 0.13121109, 0.13065653, 0.13010663, 0.12956133, 0.12902056, 0.12848428, 0.12795242, 0.12742494, 0.12690177, 0.12638288, 0.12586819, 0.12535768, 0.12485127, 0.12434893, 0.12385061, 0.12335625, 0.12286581, 0.12237925, 0.12189652, 0.12141757, 0.12094236, 0.12047084, 0.12000298, 0.11953873, 0.11907805, 0.1186209 , 0.11816724, 0.11771703, 0.11727022, 0.11682679, 0.11638669, 0.11594988, 0.11551634, 0.11508601, 0.11465888, 0.11423489, 0.11381403, 0.11339624, 0.11298151, 0.11256979, 0.11216106, 0.11175527, 0.11135241, 0.11095243, 0.11055531, 0.11016102, 0.10976953, 0.1093808 , 0.10899481, 0.10861153, 0.10823093, 0.10785298, 0.10747766, 0.10710493, 0.10673478, 0.10636717, 0.10600208, 0.10563948, 0.10527936, 0.10492167, 0.1045664 , 0.10421352, 0.10386302, 0.10351486, 0.10316902, 0.10282548, 0.10248422, 0.10214521, 0.10180843, 0.10147386, 0.10114148, 0.10081127, 0.1004832 , 0.10015726, 0.09983342])\n", "\n", "# Create plots and widgets \n", "plot = figure() \n", "slider = Slider(start=1, end=10, value=1,\n", " step=1, title='scale')\n", "\n", "# Create ColumnDataSource: source\n", "source = ColumnDataSource(data = {'x': x, 'y': y})\n", "\n", "# Add a line to the plot\n", "plot.line('x', 'y', source=source)\n", "\n", "# Create a column layout: layout\n", "layout = column(widgetbox(slider), plot)\n", "\n", "# Add the layout to the current document\n", "curdoc().add_root(layout)\n", "show(layout)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Since a widget callback wasn't been defined here, the slider does not update the figure.\n", "\n", "## Widget callbacks\n", "\n", "---\n", "**Most of the remaining code in this notebook needs to be run from a bokeh server to be interactive. Static images will be created in this notebook but pasting the code and running `bokeh serve --show file_name.py` will generate an interactive plot.**\n", "\n", "---\n", "We'll use the slider's `on_change()` function to update the plot's data from the previous demo. " ] }, { "cell_type": "code", "execution_count": 35, "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "WARNING:bokeh.embed.util:\n", "You are generating standalone HTML/JS output, but trying to use real Python\n", "callbacks (i.e. with on_change or on_event). This combination cannot work.\n", "\n", "Only JavaScript callbacks may be used with standalone output. For more\n", "information on JavaScript callbacks with Bokeh, see:\n", "\n", " http://bokeh.pydata.org/en/latest/docs/user_guide/interaction/callbacks.html\n", "\n", "Alternatively, to use real Python callbacks, a Bokeh server application may\n", "be used. For more information on building and running Bokeh applications, see:\n", "\n", " http://bokeh.pydata.org/en/latest/docs/user_guide/server.html\n", "\n" ] }, { "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 = {\"4742aa37-8ec4-404b-8f68-f8386e5bdbdc\":{\"roots\":{\"references\":[{\"attributes\":{\"children\":[{\"id\":\"13084\",\"type\":\"WidgetBox\"},{\"id\":\"13043\",\"subtype\":\"Figure\",\"type\":\"Plot\"}]},\"id\":\"13085\",\"type\":\"Column\"},{\"attributes\":{},\"id\":\"13466\",\"type\":\"BasicTickFormatter\"},{\"attributes\":{},\"id\":\"13058\",\"type\":\"BasicTicker\"},{\"attributes\":{\"dimension\":1,\"plot\":{\"id\":\"13043\",\"subtype\":\"Figure\",\"type\":\"Plot\"},\"ticker\":{\"id\":\"13058\",\"type\":\"BasicTicker\"}},\"id\":\"13061\",\"type\":\"Grid\"},{\"attributes\":{},\"id\":\"13468\",\"type\":\"BasicTickFormatter\"},{\"attributes\":{\"callback\":null,\"data\":{\"x\":{\"__ndarray__\":\"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\",\"dtype\":\"float64\",\"shape\":[300]},\"y\":{\"__ndarray__\":\"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\",\"dtype\":\"float64\",\"shape\":[300]}},\"selected\":{\"id\":\"13472\",\"type\":\"Selection\"},\"selection_policy\":{\"id\":\"13471\",\"type\":\"UnionRenderers\"}},\"id\":\"13078\",\"type\":\"ColumnDataSource\"},{\"attributes\":{},\"id\":\"13471\",\"type\":\"UnionRenderers\"},{\"attributes\":{\"line_color\":\"#1f77b4\",\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"13080\",\"type\":\"Line\"},{\"attributes\":{},\"id\":\"13062\",\"type\":\"PanTool\"},{\"attributes\":{},\"id\":\"13472\",\"type\":\"Selection\"},{\"attributes\":{\"plot\":null,\"text\":\"\"},\"id\":\"13464\",\"type\":\"Title\"},{\"attributes\":{},\"id\":\"13063\",\"type\":\"WheelZoomTool\"},{\"attributes\":{\"overlay\":{\"id\":\"13070\",\"type\":\"BoxAnnotation\"}},\"id\":\"13064\",\"type\":\"BoxZoomTool\"},{\"attributes\":{},\"id\":\"13065\",\"type\":\"SaveTool\"},{\"attributes\":{\"below\":[{\"id\":\"13052\",\"type\":\"LinearAxis\"}],\"left\":[{\"id\":\"13057\",\"type\":\"LinearAxis\"}],\"renderers\":[{\"id\":\"13052\",\"type\":\"LinearAxis\"},{\"id\":\"13056\",\"type\":\"Grid\"},{\"id\":\"13057\",\"type\":\"LinearAxis\"},{\"id\":\"13061\",\"type\":\"Grid\"},{\"id\":\"13070\",\"type\":\"BoxAnnotation\"},{\"id\":\"13082\",\"type\":\"GlyphRenderer\"}],\"title\":{\"id\":\"13464\",\"type\":\"Title\"},\"toolbar\":{\"id\":\"13068\",\"type\":\"Toolbar\"},\"x_range\":{\"id\":\"13044\",\"type\":\"DataRange1d\"},\"x_scale\":{\"id\":\"13048\",\"type\":\"LinearScale\"},\"y_range\":{\"id\":\"13046\",\"type\":\"DataRange1d\"},\"y_scale\":{\"id\":\"13050\",\"type\":\"LinearScale\"}},\"id\":\"13043\",\"subtype\":\"Figure\",\"type\":\"Plot\"},{\"attributes\":{},\"id\":\"13066\",\"type\":\"ResetTool\"},{\"attributes\":{\"callback\":null,\"end\":10,\"start\":1,\"title\":\"scale\",\"value\":1},\"id\":\"13077\",\"type\":\"Slider\"},{\"attributes\":{},\"id\":\"13067\",\"type\":\"HelpTool\"},{\"attributes\":{\"callback\":null},\"id\":\"13044\",\"type\":\"DataRange1d\"},{\"attributes\":{\"active_drag\":\"auto\",\"active_inspect\":\"auto\",\"active_multi\":null,\"active_scroll\":\"auto\",\"active_tap\":\"auto\",\"tools\":[{\"id\":\"13062\",\"type\":\"PanTool\"},{\"id\":\"13063\",\"type\":\"WheelZoomTool\"},{\"id\":\"13064\",\"type\":\"BoxZoomTool\"},{\"id\":\"13065\",\"type\":\"SaveTool\"},{\"id\":\"13066\",\"type\":\"ResetTool\"},{\"id\":\"13067\",\"type\":\"HelpTool\"}]},\"id\":\"13068\",\"type\":\"Toolbar\"},{\"attributes\":{\"children\":[{\"id\":\"13077\",\"type\":\"Slider\"}]},\"id\":\"13084\",\"type\":\"WidgetBox\"},{\"attributes\":{\"callback\":null},\"id\":\"13046\",\"type\":\"DataRange1d\"},{\"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\":\"13070\",\"type\":\"BoxAnnotation\"},{\"attributes\":{},\"id\":\"13048\",\"type\":\"LinearScale\"},{\"attributes\":{},\"id\":\"13050\",\"type\":\"LinearScale\"},{\"attributes\":{\"line_alpha\":0.1,\"line_color\":\"#1f77b4\",\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"13081\",\"type\":\"Line\"},{\"attributes\":{\"formatter\":{\"id\":\"13468\",\"type\":\"BasicTickFormatter\"},\"plot\":{\"id\":\"13043\",\"subtype\":\"Figure\",\"type\":\"Plot\"},\"ticker\":{\"id\":\"13053\",\"type\":\"BasicTicker\"}},\"id\":\"13052\",\"type\":\"LinearAxis\"},{\"attributes\":{\"data_source\":{\"id\":\"13078\",\"type\":\"ColumnDataSource\"},\"glyph\":{\"id\":\"13080\",\"type\":\"Line\"},\"hover_glyph\":null,\"muted_glyph\":null,\"nonselection_glyph\":{\"id\":\"13081\",\"type\":\"Line\"},\"selection_glyph\":null,\"view\":{\"id\":\"13083\",\"type\":\"CDSView\"}},\"id\":\"13082\",\"type\":\"GlyphRenderer\"},{\"attributes\":{},\"id\":\"13053\",\"type\":\"BasicTicker\"},{\"attributes\":{\"source\":{\"id\":\"13078\",\"type\":\"ColumnDataSource\"}},\"id\":\"13083\",\"type\":\"CDSView\"},{\"attributes\":{\"plot\":{\"id\":\"13043\",\"subtype\":\"Figure\",\"type\":\"Plot\"},\"ticker\":{\"id\":\"13053\",\"type\":\"BasicTicker\"}},\"id\":\"13056\",\"type\":\"Grid\"},{\"attributes\":{\"formatter\":{\"id\":\"13466\",\"type\":\"BasicTickFormatter\"},\"plot\":{\"id\":\"13043\",\"subtype\":\"Figure\",\"type\":\"Plot\"},\"ticker\":{\"id\":\"13058\",\"type\":\"BasicTicker\"}},\"id\":\"13057\",\"type\":\"LinearAxis\"}],\"root_ids\":[\"13085\"]},\"title\":\"Bokeh Application\",\"version\":\"1.0.2\"}};\n", " var render_items = [{\"docid\":\"4742aa37-8ec4-404b-8f68-f8386e5bdbdc\",\"roots\":{\"13085\":\"e9443391-7511-48ca-b9a6-a0b471b698e2\"}}];\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": "13085" } }, "output_type": "display_data" } ], "source": [ "#Imports \n", "from bokeh.io import curdoc \n", "from bokeh.layouts import column \n", "from bokeh.models import ColumnDataSource, Slider \n", "from bokeh.plotting import figure \n", "from numpy.random import random \n", "import numpy as np\n", "from bokeh.layouts import widgetbox\n", "\n", "\n", "x = np.asarray([0.3, 0.33244147, 0.36488294, 0.39732441, 0.42976589, 0.46220736, 0.49464883, 0.5270903 , 0.55953177, 0.59197324, 0.62441472, 0.65685619, 0.68929766, 0.72173913, 0.7541806 , 0.78662207, 0.81906355, 0.85150502, 0.88394649, 0.91638796, 0.94882943, 0.9812709 , 1.01371237, 1.04615385, 1.07859532, 1.11103679, 1.14347826, 1.17591973, 1.2083612 , 1.24080268, 1.27324415, 1.30568562, 1.33812709, 1.37056856, 1.40301003, 1.43545151, 1.46789298, 1.50033445, 1.53277592, 1.56521739, 1.59765886, 1.63010033, 1.66254181, 1.69498328, 1.72742475, 1.75986622, 1.79230769, 1.82474916, 1.85719064, 1.88963211, 1.92207358, 1.95451505, 1.98695652, 2.01939799, 2.05183946, 2.08428094, 2.11672241, 2.14916388, 2.18160535, 2.21404682, 2.24648829, 2.27892977, 2.31137124, 2.34381271, 2.37625418, 2.40869565, 2.44113712, 2.4735786 , 2.50602007, 2.53846154, 2.57090301, 2.60334448, 2.63578595, 2.66822742, 2.7006689 , 2.73311037, 2.76555184, 2.79799331, 2.83043478, 2.86287625, 2.89531773, 2.9277592 , 2.96020067, 2.99264214, 3.02508361, 3.05752508, 3.08996656, 3.12240803, 3.1548495 , 3.18729097, 3.21973244, 3.25217391, 3.28461538, 3.31705686, 3.34949833, 3.3819398 , 3.41438127, 3.44682274, 3.47926421, 3.51170569, 3.54414716, 3.57658863, 3.6090301 , 3.64147157, 3.67391304, 3.70635452, 3.73879599, 3.77123746, 3.80367893, 3.8361204 , 3.86856187, 3.90100334, 3.93344482, 3.96588629, 3.99832776, 4.03076923, 4.0632107 , 4.09565217, 4.12809365, 4.16053512, 4.19297659, 4.22541806, 4.25785953, 4.290301 , 4.32274247, 4.35518395, 4.38762542, 4.42006689, 4.45250836, 4.48494983, 4.5173913 , 4.54983278, 4.58227425, 4.61471572, 4.64715719, 4.67959866, 4.71204013, 4.74448161, 4.77692308, 4.80936455, 4.84180602, 4.87424749, 4.90668896, 4.93913043, 4.97157191, 5.00401338, 5.03645485, 5.06889632, 5.10133779, 5.13377926, 5.16622074, 5.19866221, 5.23110368, 5.26354515, 5.29598662, 5.32842809, 5.36086957, 5.39331104, 5.42575251, 5.45819398, 5.49063545, 5.52307692, 5.55551839, 5.58795987, 5.62040134, 5.65284281, 5.68528428, 5.71772575, 5.75016722, 5.7826087 , 5.81505017, 5.84749164, 5.87993311, 5.91237458, 5.94481605, 5.97725753, 6.009699 , 6.04214047, 6.07458194, 6.10702341, 6.13946488, 6.17190635, 6.20434783, 6.2367893 , 6.26923077, 6.30167224, 6.33411371, 6.36655518, 6.39899666, 6.43143813, 6.4638796 , 6.49632107, 6.52876254, 6.56120401, 6.59364548, 6.62608696, 6.65852843, 6.6909699 , 6.72341137, 6.75585284, 6.78829431, 6.82073579, 6.85317726, 6.88561873, 6.9180602 , 6.95050167, 6.98294314, 7.01538462, 7.04782609, 7.08026756, 7.11270903, 7.1451505 , 7.17759197, 7.21003344, 7.24247492, 7.27491639, 7.30735786, 7.33979933, 7.3722408 , 7.40468227, 7.43712375, 7.46956522, 7.50200669, 7.53444816, 7.56688963, 7.5993311 , 7.63177258, 7.66421405, 7.69665552, 7.72909699, 7.76153846, 7.79397993, 7.8264214 , 7.85886288, 7.89130435, 7.92374582, 7.95618729, 7.98862876, 8.02107023, 8.05351171, 8.08595318, 8.11839465, 8.15083612, 8.18327759, 8.21571906, 8.24816054, 8.28060201, 8.31304348, 8.34548495, 8.37792642, 8.41036789, 8.44280936, 8.47525084, 8.50769231, 8.54013378, 8.57257525, 8.60501672, 8.63745819, 8.66989967, 8.70234114, 8.73478261, 8.76722408, 8.79966555, 8.83210702, 8.86454849, 8.89698997, 8.92943144, 8.96187291, 8.99431438, 9.02675585, 9.05919732, 9.0916388 , 9.12408027, 9.15652174, 9.18896321, 9.22140468, 9.25384615, 9.28628763, 9.3187291 , 9.35117057, 9.38361204, 9.41605351, 9.44849498, 9.48093645, 9.51337793, 9.5458194 , 9.57826087, 9.61070234, 9.64314381, 9.67558528, 9.70802676, 9.74046823, 9.7729097 , 9.80535117, 9.83779264, 9.87023411, 9.90267559, 9.93511706, 9.96755853, 10.])\n", "y = np.asarray([-0.19056796, 0.13314778, 0.39032789, 0.58490071, 0.72755027, 0.82941604, 0.90008145, 0.94719898, 0.97667411, 0.99299073, 0.99952869, 0.99882928, 0.99280334, 0.98288947, 0.97017273, 0.95547297, 0.93941048, 0.92245495, 0.90496191, 0.88720012, 0.86937208, 0.85162961, 0.83408561, 0.81682308, 0.79990193, 0.78336433, 0.76723876, 0.75154314, 0.7362873 , 0.72147487, 0.70710477, 0.69317237, 0.67967038, 0.66658956, 0.65391928, 0.64164796, 0.62976339, 0.61825301, 0.60710407, 0.59630386, 0.58583975, 0.57569933, 0.56587047, 0.55634135, 0.5471005 , 0.53813683, 0.52943965, 0.52099866, 0.51280394, 0.50484599, 0.49711569, 0.48960429, 0.48230342, 0.47520507, 0.46830157, 0.4615856 , 0.45505012, 0.44868845, 0.44249417, 0.43646114, 0.43058352, 0.42485569, 0.4192723 , 0.41382821, 0.40851854, 0.40333859, 0.39828387, 0.39335008, 0.38853312, 0.38382904, 0.37923407, 0.37474459, 0.37035715, 0.36606841, 0.3618752 , 0.35777446, 0.35376325, 0.34983877, 0.34599831, 0.34223928, 0.33855919, 0.33495564, 0.33142632, 0.32796903, 0.32458163, 0.32126208, 0.3180084 , 0.3148187 , 0.31169115, 0.30862399, 0.30561552, 0.30266411, 0.29976818, 0.29692621, 0.29413673, 0.29139834, 0.28870966, 0.28606938, 0.28347622, 0.28092895, 0.27842639, 0.27596739, 0.27355084, 0.27117567, 0.26884083, 0.26654532, 0.26428818, 0.26206846, 0.25988525, 0.25773767, 0.25562487, 0.25354602, 0.25150031, 0.24948698, 0.24750527, 0.24555444, 0.24363379, 0.24174264, 0.23988032, 0.23804617, 0.23623958, 0.23445993, 0.23270663, 0.2309791 , 0.2292768 , 0.22759917, 0.22594568, 0.22431583, 0.22270912, 0.22112506, 0.21956318, 0.21802302, 0.21650414, 0.2150061 , 0.21352848, 0.21207087, 0.21063286, 0.20921408, 0.20781413, 0.20643266, 0.20506929, 0.20372368, 0.20239549, 0.20108438, 0.19979003, 0.19851212, 0.19725034, 0.19600439, 0.19477398, 0.19355882, 0.19235862, 0.19117313, 0.19000206, 0.18884517, 0.18770219, 0.18657288, 0.18545699, 0.1843543 , 0.18326456, 0.18218756, 0.18112306, 0.18007087, 0.17903076, 0.17800253, 0.17698598, 0.17598091, 0.17498713, 0.17400446, 0.1730327 , 0.17207168, 0.17112122, 0.17018115, 0.1692513 , 0.16833151, 0.16742161, 0.16652145, 0.16563087, 0.16474972, 0.16387786, 0.16301513, 0.16216139, 0.16131651, 0.16048035, 0.15965278, 0.15883366, 0.15802286, 0.15722027, 0.15642575, 0.15563919, 0.15486047, 0.15408947, 0.15332608, 0.15257018, 0.15182167, 0.15108044, 0.15034639, 0.14961941, 0.14889939, 0.14818625, 0.14747988, 0.14678019, 0.14608708, 0.14540046, 0.14472024, 0.14404634, 0.14337866, 0.14271712, 0.14206163, 0.14141212, 0.1407685 , 0.14013069, 0.13949862, 0.1388722 , 0.13825137, 0.13763605, 0.13702616, 0.13642163, 0.1358224 , 0.13522839, 0.13463954, 0.13405578, 0.13347705, 0.13290327, 0.1323344 , 0.13177035, 0.13121109, 0.13065653, 0.13010663, 0.12956133, 0.12902056, 0.12848428, 0.12795242, 0.12742494, 0.12690177, 0.12638288, 0.12586819, 0.12535768, 0.12485127, 0.12434893, 0.12385061, 0.12335625, 0.12286581, 0.12237925, 0.12189652, 0.12141757, 0.12094236, 0.12047084, 0.12000298, 0.11953873, 0.11907805, 0.1186209 , 0.11816724, 0.11771703, 0.11727022, 0.11682679, 0.11638669, 0.11594988, 0.11551634, 0.11508601, 0.11465888, 0.11423489, 0.11381403, 0.11339624, 0.11298151, 0.11256979, 0.11216106, 0.11175527, 0.11135241, 0.11095243, 0.11055531, 0.11016102, 0.10976953, 0.1093808 , 0.10899481, 0.10861153, 0.10823093, 0.10785298, 0.10747766, 0.10710493, 0.10673478, 0.10636717, 0.10600208, 0.10563948, 0.10527936, 0.10492167, 0.1045664 , 0.10421352, 0.10386302, 0.10351486, 0.10316902, 0.10282548, 0.10248422, 0.10214521, 0.10180843, 0.10147386, 0.10114148, 0.10081127, 0.1004832 , 0.10015726, 0.09983342])\n", "\n", "# Create plots and widgets \n", "plot = figure() \n", "slider = Slider(start=1, end=10, value=1,\n", " step=1, title='scale')\n", "\n", "# Create ColumnDataSource: source\n", "source = ColumnDataSource(data = {'x': x, 'y': y})\n", "\n", "# Add a line to the plot\n", "plot.line('x', 'y', source=source)\n", "\n", "\n", "# Define a callback function: callback\n", "def callback(attr, old, new):\n", "\n", " # Read the current value of the slider: scale\n", " scale = slider.value\n", "\n", " # Compute the updated y using np.sin(scale/x): new_y\n", " new_y = np.sin(scale/x)\n", "\n", " # Update source with the new data values\n", " source.data = {'x': x, 'y': new_y}\n", "\n", "# Attach the callback to the 'value' property of slider\n", "slider.on_change('value', callback)\n", "\n", "# Create layout and add to current document\n", "layout = column(widgetbox(slider), plot)\n", "\n", "# Add the layout to the current document\n", "curdoc().add_root(layout)\n", "show(layout) #for jupyter display purposes\n", "\n", "\n", "#copy paste into script file script.py, point conda or python command line to the directory, and run \n", "#bokeh serve --show script.py" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Updating plots from dropdowns (menus)\n", "\n", "\n", "### A Select example \n" ] }, { "cell_type": "code", "execution_count": 37, "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "WARNING:bokeh.embed.util:\n", "You are generating standalone HTML/JS output, but trying to use real Python\n", "callbacks (i.e. with on_change or on_event). This combination cannot work.\n", "\n", "Only JavaScript callbacks may be used with standalone output. For more\n", "information on JavaScript callbacks with Bokeh, see:\n", "\n", " http://bokeh.pydata.org/en/latest/docs/user_guide/interaction/callbacks.html\n", "\n", "Alternatively, to use real Python callbacks, a Bokeh server application may\n", "be used. For more information on building and running Bokeh applications, see:\n", "\n", " http://bokeh.pydata.org/en/latest/docs/user_guide/server.html\n", "\n" ] }, { "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 = {\"fbda9778-f1da-4078-aa6f-58ecc0b3a044\":{\"roots\":{\"references\":[{\"attributes\":{\"children\":[{\"id\":\"14007\",\"type\":\"WidgetBox\"},{\"id\":\"13967\",\"subtype\":\"Figure\",\"type\":\"Plot\"}]},\"id\":\"14008\",\"type\":\"Column\"},{\"attributes\":{},\"id\":\"13989\",\"type\":\"SaveTool\"},{\"attributes\":{\"callback\":null},\"id\":\"13968\",\"type\":\"DataRange1d\"},{\"attributes\":{\"active_drag\":\"auto\",\"active_inspect\":\"auto\",\"active_multi\":null,\"active_scroll\":\"auto\",\"active_tap\":\"auto\",\"tools\":[{\"id\":\"13986\",\"type\":\"PanTool\"},{\"id\":\"13987\",\"type\":\"WheelZoomTool\"},{\"id\":\"13988\",\"type\":\"BoxZoomTool\"},{\"id\":\"13989\",\"type\":\"SaveTool\"},{\"id\":\"13990\",\"type\":\"ResetTool\"},{\"id\":\"13991\",\"type\":\"HelpTool\"}]},\"id\":\"13992\",\"type\":\"Toolbar\"},{\"attributes\":{\"fill_alpha\":{\"value\":0.1},\"fill_color\":{\"value\":\"#1f77b4\"},\"line_alpha\":{\"value\":0.1},\"line_color\":{\"value\":\"#1f77b4\"},\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"14003\",\"type\":\"Circle\"},{\"attributes\":{\"callback\":null},\"id\":\"13970\",\"type\":\"DataRange1d\"},{\"attributes\":{\"source\":{\"id\":\"13966\",\"type\":\"ColumnDataSource\"}},\"id\":\"14005\",\"type\":\"CDSView\"},{\"attributes\":{},\"id\":\"13972\",\"type\":\"LinearScale\"},{\"attributes\":{\"data_source\":{\"id\":\"13966\",\"type\":\"ColumnDataSource\"},\"glyph\":{\"id\":\"14002\",\"type\":\"Circle\"},\"hover_glyph\":null,\"muted_glyph\":null,\"nonselection_glyph\":{\"id\":\"14003\",\"type\":\"Circle\"},\"selection_glyph\":null,\"view\":{\"id\":\"14005\",\"type\":\"CDSView\"}},\"id\":\"14004\",\"type\":\"GlyphRenderer\"},{\"attributes\":{},\"id\":\"13974\",\"type\":\"LinearScale\"},{\"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\":\"13994\",\"type\":\"BoxAnnotation\"},{\"attributes\":{\"callback\":null,\"data\":{\"x\":{\"__ndarray__\":\"xOizCd1QxD+RvZPU6NPrP08GgGoyWOk/omlBj0SY5z8AhRBYcTTeP3Bc2tTUObc/aLVWQ+41xT8wLQdhkbvOP6SzK26NB+E/epEXOEIE0z8+eMSfhPXYP1EWe0kt/+k/hPA1o1l/7z+QFKaJBWW5P9whxaXzz9c/JCZsqZog7T8cnNtEdH/TP01y92Miv+o/7HiqXPijxD8KYzpCFYHsP0yWjztVcuA/3U6S28LB6T8ISZaDwgjEP4AbOjkjLpE/AI7Qo57zhT8823IW+2fKP5/0OtYlK+Y/3jJXq7qR4j+8UVlkBa/tP4lsWUt40eY/p3YVbjTo5T+qWIKig9/pPyEMj9L9wOA/8L8jhJI65j8HXWwU3NvmP6hqecB8ubc/OJoSTgdJ5z/fTMntnTzkP3jcuZ43Fdc/wIDbaXRvzD8MBpkcLMDqP4jOExz/9MU/cFkOHHlHsT87DK+NUJjnP2Pk67DaR+s/ppplS/Iv3z+tV/6Jj3zgP1pUg9lw3+Y/NWiW1SbE7T/fNRXjpUDqP7yFGrEFg+8/x1lyY2pY6T8YQekeCMK5P11OxiJEpOw/zNxUnXMp3D82tGXUV8XoP1o/8RrXoNY/P9tX4+Q54z/MlZE02FPmP63s3Xs4Wec/WcIz8Njs4T/MyJO5YF3EP2j/GRUfqM8/OBp7wdv2tz+AbZQ1P6qWP+BFweJo85Y/EE248AZ/zz9o0m1r2/DfP9q8lQvagOk/5u1XeZ+k6T+wD3MiqmCzP2DOYWk+6aQ/UMBO+c1noT8gaLjStX7KP21uM/8l6Oc/d6/txtVP4D+CW+UUGnPYP5JxG1jk79c/XNS4kE/u0z+I6r1oMma2P+i4v/+1Aew/xQKRpoiX5T8SF6itM+DkPxu4QvIAAuA/sDsB8sMB3T84t4qMheO+P7DC3YXdRaI/jNy1UDAs3j9BFGv5gXjtP4zFL/zluNY/uBZej8UXxD+gaWUdixKyPzgkXnsPi9o/o0iwqfZX7z/S9IPJ/VfcP9NmDtJVK+Q/Eq6WDZGX2D9GRbQ4cvvtP58aFAwzxec/g/kk2K9c7z/StFbUsHLpPxXhRMhymu8/JMChB5ey0j8AUb6TVT5mP2BwfDVJwrc/Hg4WbCLQ5T/ufDazXkjtP2AiY4LY+LQ/4H7AdNprrj8o/l+PcuHfPyp2TrAYidc/R3ufUlkI7z8uxDGeIt3gP6ixlzXr9eI/SvhFUZl05T/f2Fx3bkLkP5CP/x5gMc8/2Xhba6JV4T+AlIvR8lHCPxJaeFEIo+I/FnlHSmk13z8DoWH6ZwvnPwrNCXHXgtc/HLdJ8aWU7j/mpvZeTOTQP0BM0ptNr90/PaDkF3tU4T99g9Q449XqP5C4DhbtDOk/FL6Q0DpyxT8EE51wIg7HPyb8K0wxy9o/5ouQxcZM1D9fu/hK5XXkP2qQR2ICj9E/EFn9HToq5j94XuEYP4/DPwkjTTXT1OU/zBfR3bhR4z9eMaZjgF/bP2B8TFVh8Kc/AHmiMVZpaT9J8mpBBHXrPxPkC/DYQus/jJcnzLYT2T+H/7uRBsjpP1BK6HjTpec/9Tj3Rmxj7D/vVUcHdQnkP+sL9Fvd3OI/8GccC/R3wT+CXkbjxp3vP5J+w9tGN+o/rmzByFMO5T+HscW46jbkP/VZbhik6OI/wCU+gT/b4D8wYCmBPUqiP5HPPhnCYeA/jG62schX3D+u3xDMyefoP+ABdZuh8eU/ozduKgwz6T9g0YODvju9P2BVb/qqq8o/aPItx1nd6z9fHJa6Nd3iP2SuTi0jquU/DN4fNHwAwT/UHtTFXgDYP9sg4SMZ3eA/bKd5xDHJ3j8Mx/lYWK/NP8OtlTSWl+0/jOnGgHdB1T+7its3fEDkP+zhGHOc3No/CYidP6wn5j9WCuhfkjnaP8y8i0V1qtU/6sxG51Ww2T8KqRgpMJvXP10N8UkW3OM/gCSKSFxw0z9YN/ZHwBq0P4YbhWcQ/ts/OB5LeCdF3z/tp9r9jFLrP3aIuyIN/No/tYkJ7Am05j9KAVxbdT/cP0IyR69SE9Y/gHvSgVFFrj/w3Rj41yPQP3EnA4SUguI/hcoEGX0R5j+1c7m9PoDqP+JQOabMuNI/Np1Bv0Zq1T/6cj2ORAbTP0F6FlkvgOQ/kSi9744d4T9i6o97njbqP1jAdQEwKNQ/lh9U1DoQ0j9IPxFngL27PwIwOVntPtk/XhaNg+He4D9vdWoekRLjP/UV+GdCpeo//ie/4nJk0D96IIoymHLUP6dVgNADP+k/wKo8FBi/6D9Likm/AvrrP9zrLU6CVOU/aIkvhJh5xD8b8UvDZiHnP6nJLiEDWeM/zPhnNAXT6j9QSyD5J8/dPw/8owN8dOE/SypYWk2i5z/WMuXzq1rRP0Bn8wePwIM/tDTetiw/wz84+W5i1BHlP9S8kfSFPsE/+iJqyx0q6T/YyZxrlhK0P14IsYcGRNU/yxvKXfTd4T83CYbgoXzoP3D6peEzytI/oMpZWH8nkz/jvCHh763tP0Dw0NtpAIs/EBYxN1B3tT8w7wggOai4PwrsqYUqIO0/yUoEIGxG7D9GxGJ344ziPzuibwtFsO4/D81kyAjG4z8XWeKnGLDsP9jPooSDpNM/0A/eUwjp4z+SVXdA1x3WP3AiQF/i2O0/cBpgD53R1j+A+LYBC3CuP09AcLcJ9e0/X5pO9sMU5T9FcoybLyTqPyK0u0eKQO0/cBEDwaIH3z9VgFgAmbbkP9ZkG41YI9Q/gtGUcp2z4D82UzcYs5npP7DeSvRm9qM/0Lu+CKcCxz+8mBa7P+LpP4fZocgErew/ovMa6khg1j/sMKBPyGfVP92WBjojl+o/AFNwFjDvkj+IgmAl1g/cP+Az6Z6JNdA/sF0u8qdS0D8kOncEbhrVP88WrzFFmeg/+ipxOL/t7T8oo9PAGVbpPzklTOvFeuk/D8fJus4v7D9uZqqZoEbTP0ux2OG+Te0/A/m7s0X47T9hznkxGzTrP+htHr7DQbQ/EAjy1rtgoj8Gw9cVItbQP9XH8rCpm+Q/QYq9UVFo5j/ahcAjzu/uP0okVXMpX90/LnhXvzeP7z8ycoRsmGXhP9p9h9MCQOc/vOfHmGWmwz/DHMuN0bzqP0Rs9tGIBN4/ID9U8gFHtz/4VW/N7bnYPyBlt5dPFu8/C5yG0dJC4z98qGAbMbbBPwQx6V2XMt0/gWlFG0qt7j9ModsrV6zTP9BFiWat6eI/3vZUjfHO5z9S7eJDrfffP2dXKz7Fgu0/Yod9liCu7z+AANyzP1LbPxbGxLEDfOA/SiqTi0KS1T9xqF0F5QrtP+zORgCO0to/+HzoPfe7zD80pgHPGqDSP9h4eAMO4Ng/kLLo8n8K7T8YAmIfB4/QP5RwYyGU3eg/IFbMatRKtD8IoSSE9lS2P9i/EFMoS7U/+HcVaQsuzT/sOMstIovVP128zK/Y5u8/cjLd8SH44j9JJmcChhPgP21I19i+3eY/QCFs/Ad81z/PFlzqRW3lP1ZJqGCnbNo/K7ipnahD5D+45zvaqBHVP+ymUe2GwMI/Lxf7GUHx6z/UCnblfobpP5jtJbO1V88/Qfc9ol+e4D/AXFCq0D6YP5AdFzLEBeY/Z4oBwgMi6T+qiwsRLBvdPyA6DohFFqk/lnTSa+mr2D/kp/MRUOPCPzRB3fvY/tQ/Ju8e5kfh5z/KrzsILyXXPzwx1RK/uM0/1eF+2wk77D+qqCM8gZLfP5iBcwvdFL0/hOjIxdrA4j9rxq/T7xztP7wRy7LPNeg/BYT2K3Ad4T/OSCk/mRDRPxpa1/RbKOQ/5ywiuWgA5z+nEoSXybnuPx5ijsfvJNY/4DXvjoDJ7z/4h+WOgCXvPyJj6FXIjN8/fExleFCm7j+09FqhtxLPP2onM1VUTe0/zzlKheAB5T+4uy+JCHnoP3uFIYe6L+A/t3j3trJR7T8wLoluKkPKPzor+GP9+9g/i9qFxXYf7D84yYwuuBy8P6w0gGhtt+g/jm59oNdN5T//T4AAYqzrP1DADOMbZLM/TO663oy57T/yDAxzOlDsPz+hegNSRuQ/TFH8d/ySxz8o4xU0P5q1P6A9GijBmeU/uuhc8VpI6D+n9couGE7nP6VpTPHKQOs/GP6LjtzVsz9gzkzv5dPOPxbTMKxoYdg/oDr2WdWIpT90Jhauhx3KP/ZskzvB5e0/ZGCpDvDP1j+kerf211bfP76ouqyscNQ/METdXcQnwj/kEFwl7bLTPzz7ZRRLoNA/KKR5r7NQvj+qwRdPut3VP0Ay3Mh1AME/BIBrdq/Q3D9aVku1dz7hP7hLFhEuL9E/oIyvIzQ+rz9sTec6rfLTP5RzOHMNjec/VJUqyv1q5D+7hKzR29jhPzxBe5FzhdM/qHBQkNsPtD8II/WQCz7pPzHa9cdItOA/X+IG5l635T+KRv8WkzTuPwZh2g3wmdU/Jh1Pwylv6T8CwYOC+CneP0Ahb4eIlo8/9AsRFE4Ayj9SnWc07yXgPxgtHHafNrc/hMA/A7Hu1T+QcErWnzy7P8yzEOBde9k/7CquSnVi3z9kuDSd++zhP8YWD+UvjN8/DbCEqnsf5z82d7C7p9PpP7DO/NTiXMc/Jh9lT3pF4T9AizjCAJrPP05dsY4gKtc/fzU+iZzl6T9Acndj2murPwf7LNv9S+E/f31Sjb1b7D/Qq+2Q2SC0PwLU+oAEuts/xqbvpcxn4T+YI3e6sp3cP3NRf2P2pec/Uc+yXdNP7T+OD/TrT2jmPyK4DUe6itw/Jjbwkmxj6D941swQqg3cP7kgZk0qx+4/YEUT8AdF7z8fE3hZCVbqP4IVnUmNGeo/BNvYdZW/0j+Q+5ZUwUTiP2qcvlny0ug/sOAg2f927T8Kq7k1i0fqP8CmGGuRtuE/xxVoQ74Z6T9Iw9/EvAjZP/YLl4SIEdw/vJmdnH2G1T+SiGaIhhbhP2R9rE6NP9Y/ACSKVC+Pmj+DduwoHybhP17pxD29G9s/RNKScuiqzj/+ULRoFCzYP2c0woE/Iug/eJxuOMmXsT+4VmEWoczFP1d1qmi6PuE/4aXqibXl7D91sToLTmPpP3hCk0FNWeU/ZuFHkbCk4D/rc3mWJCPkP0C1pcfHpsI/kqxOqpW91T9cRQ16eWrLP+Nm+XBqrOc/6DnBsK6huz+LleUJ7fjkP3B3NucLkOU/9fzqbNAV7z+YEslRslHLPxx2taJImeY/RUr8KTnI6D+kh/D9OETpP8PPfyzOGOM/91RZpkb05T/06mE4+dnFPwQxJx8C0uI/gJiVhrXy4j/IPZ7+LE7HPwAkM3oA9K8/oJ6tu4z86D+gOWNAL5vKP5pIrpNODO4//DJFVdoU3z+4VGcPN63vP2DVechrX6o/VMI1oFVUxj/UaTKY1a7SP5OX0bcbEeU/rx58/YDD4z/gMrikqQ2oPzS1/yYwNu4/bHtG+KdF3D+ow+9+Hu7nPw+72SZxCu4/RddyAJZB6j+Yt26CTznOP1i6dp54nd0/zGu7JIjS2j82EgHNH7jWP/obnRv4TOc/pNec7l2+3D+i9V+x5BnWP/Blts60POg/eAkIVkfY2z/dIFkRiljmPzj9W9AczsM/hgX5bwyD6T/+OyxWksLePzz/qIOtxsw/kdieP5/X5j+ocldE5ivVP3oSGUs+b9o//LLmG0Pq2j9w8H1kiOrQPwrPWWK3PdU/219SzLF35T+Mlmq/DhHSPw6HYJA8F+0/VzlRwerI5T+DPj9b0A3nP+LLFvV4ntU/EB+ygj1H6D+Q3f2/dKK/P2fq71oUr+Q/0CZaYuLT3T93H9nYFmzjP+AEo1LjxL4/iCXrXKw97D9s6GWOtXXeP6hsvdKiyeo/ABydlGqsqD9iynxZvrDTP45Ru72mwNQ/UqqvwHxf2T/grjCMEsPqP/p4lenDYeo/6uyeUBQg1D/QY6J4fFHtPzgtaWw7oMU/TZUVvS+/5z8gnMRAghLCP5lx/Xfyqec/jDmOv6zuyT+ogp+qbqzWPyh5S61cpeM/ARvkt+5d7D8Yrf3V5NW3P0VkwTWo3eo/LDTLgMiX7j9gRfINHQqmP5TejH/09eM/+3iuUqn45j/IbiQljoPhP4v3DEeYO+o/HjZCkw8t0j8i8dMLqHbuPwbb3RX8deE/aeVo2yQ/5T9QmX1GHILOP8biivNAnN0/63Y8J2og4D92eImCDXrhP8xDG5QvRMY/gMejds3zjT9VS5rtPibvPygPYifrceg/pGJY/OXvwD9R9ie69RjkPwa8ehx+Zuk/fq29I/Z60T+AZ0gqtXJ0P4pZSkRjoOs/Mzy2IIBq4D/KVT+waBvYP7EAwNYL5eo/ysNVf2qC2j8EjDOxkabpP3rnSsFLheY/wEjAc45+xD9WieuQRLTfPx4NKkxZ2eg/nZVsP2JW4j/nVYL2t5PtP5h0Zc5C0NE/wsyOZvOa5D9ldA2uCfDqP8bEvsXtydM/8iI7nnQg7z8p9KH5eqrhP/iBv06jU8I//3pDww2R7z+jbPT3lQvmP8DAuiG/Wa8/zk0JjVwj3z/ytj+teubSP/nnBhoTGeU/LRcNpJOO4j8A6kADso+wPwCy/YmM940/RuX8SaU02z/odK7r/3m8P3dku5Bq3O4/Y8Wv9tR77D8hphYlcRbjP3iEUPaaLsg/uuN0KKnb3z9O1L3+IXvQP2WvsBYoIOs/7kodve8v7T8TRb/WjNrjP8JxfoIF+NY/XDvNM7LQ0j+FO9L+m5buPxA7hcyLBcM/NhSoTMlw2D8QyDV3r37iP9xUkKzU3sU/gI9JCFuZjD/qXaXEwEPnP+RaPoG7sNM/KLHwqGwNxz84VjlrOtXIP3CVL/N7/ck/IK5bfbK03T+Y62qjScffP6ysu4i98dU/0LgD/SG5pT88+33LsM3DPzXvrUyGh+k/3ArHJCjN5T/Q6PMHnlS4P1xa3SO4uOE/mMrFqC6e7j824ASP4rjTPwFlc16hG+c/OE0JjKmR0z/A9jHLjJy7P2x0qekgXdA/jEZ1CJv35D+oCqI62SSzP/xVgtS6ys8/zKUPDFtTxT/8Ix9QXxXZP/UQu7PDWOg/EE5DGTkC5T80t/mOKEfQP5DRz51XbLs/S2cXu3vG5D9tkyvoQbPkP9CBU9zgR+o/ITKWWRQc5z8UxFWjeUPtPy3kjkWqWe8/nbuhMl+94D/mm6EhWuPsP1SYriRAZtU/yPk2Hhmj0j+35vdSwoXmP8D0m7zdk58/CXxbjBZ75D915bMR/gnkP+oEXLwtW+8/CPelCN8dsz/Nt8SGxA3uP311q2CbwuU/voGknM094j/9PY88M3DlPwDTlYKy540/cJK6ZDY20z8AZpxLnUaDPzeBpQ6Zvu8/nF2BK+I81T8Y0gh5nqjuPwY5gQpq4d0/Xikb21Gu7z+YyX9VgQPGP26TSZh6hNo/ALb3qNqRWT98LY3eZo3OP8jhqDyl7L0/pEL+dxdt3T8pg0H5NDTqP6CA4oaA+L4/6V5eGO3X4z/geU/vxDmQP8d0emEBOes/tLQp1Uss7j8PcORsV1vnP7DFFhtPOLg/LiiNCJaW0T/g5/KPF+u8PwCqQgxNbsQ/bcECb6x57T+Gn3cXZ2vfP8AyGTqSaKo/KC/xKbfI2T9nn/fR09HjPy461+BQrdk/4KRuhWCVnT918ee8eO3kP2x8P4zxMNU/LCub2JRt6z/QefRthuWwPx5tsPdzIdU/42oGdRvy4z9wIah/VJqtPyCma4ADedE/TS6Yasgu7D+AcwdTzVnNP/CRB1WMZN0/wGnu8l96rj9XBAXottXrP63OT6Ifj+4/oPezQ9bKoz8QMhi0VtKsP3NRYFS2Ue0/wVUzOJx46z9imlC1KurfP+Ihas3boOQ/WH5mbWUAzT/c20dqV9/vP96/R68sO+s/XzPa7qLr6D8Av9SMXxPaP5oz0BpM7uc/2cxnhaCj4z9Ej3+V0wjJP1wtjH05XMY/9CIJ+h0I6z8OimIC3jThP0HsUAGSFeU/kj4/C1tF6j/QJyVOtZjKP5jZMxzHGMo/ku/2l2wq5z+Yon2q0abIPw9ttjD/0OE/v26v9pZA6z+w/SB4uR6/Py0rKLGhRuU/UFYNk7qx0z+/G1QO6MbvP3LPK8jEROY/xIfsFVSfxz+CzFyw/C3mP2ieOUiwLLo/EKoksiNP5j+n4Qpb/yXvP2AosBXdDpo/8TjB/VBk7T8wc0VbOOXJP5qu4XvGHNg/LCj9I9VAyj8gxtPhj8vDP4B5ncb0Dag/GyJK8K9k6z940Fx1fJi8P5+c3vXPQug/xEJhKmuS1T9YLoTBnADuP0RnqNhIack/KHV7Luzk2D9BfE1A247pPyB9JN+sJsc/BvxjEuEU2T9AdIur05WSPzDqLM+M66E/35DyVElh4j/ndFXmeirpP4NgCuoaaeU/6InZ98Trxj+EzEnuJLHBP4m/uYPzrO0/FW9t15oB7D98gVoUsovdP/bIc8gWquc/R4NJ4Asl6D/gGIBEbK21P6QbCKtqnMw/ADhWzw10aj/rP0xD42bhP7IHCXRIR9A/UwVMPto54D/wc6PbdnuyP1jaCiPF7dw/oFysE7+R6z9bPJlZud3jP6SjzTUJkeo/XUtvscAf7T9+Xft+jvHuP5tqdR09vuM/RsVDGkEe2j8UlTcHcFPsP6g7QokGXL0/vbR50Tu07z9MZ35oJUDBP5AMNyqaC+M/jrBAkUBx6D+4VJcKZh/kP6hj+xtiPNY/KFJc83QX2z+2UOWb46PjP3ZO0p7rne0/RFX1ZTkM2z+0JL2IyezvP1Q5tM5Gmtk/c6wqfChK5T8QsPzj0oLdP5hZ7FkU/9U/0gjRgFCJ4D8awvGb4BvqP+48sNbsSN4/VDv15/6l6D9VFJBCekjjPxilFO2q+bY/eJr6yUpV2z8jFOP2JMfnP20YeTpoyec/hCmzOgLyzj/4oc8kt5LYP59vfslxq+s/cGlrmi7suj8B8N2gCnXpP3zmUF24Tcs/fI7LmUgbwD8Ak6B35DvTP1Hl+10e/uw/WIPEnYuXuD+iSWbui5vpPxVw3ULFMuE/ovHM1mHn0T++bCx9Q3jgP+BMcHdlIeU/APi2QZYNgj8aLK00itnfP6BfKH24690/sLuRkxrprD/MT3/kWfPmPwTE7BHPw9M/PicYXUjl5D83IRw3DbPtP+rUyL+7aus/bsXgm+UH3D/8ZOTFERrqP/Tf4uH7YcI/E/W4LskN7D/8M5zAGL7pP/g5aNH3ytQ/b4MJyU5D4j9R503PcybqP/NAQsu8NeU/NKfn+35zyT90Y8l3MFHjP0y/uN2jqM4/iEwzrDsHuD+WZZbUo6bRP315+q3bbeY/gN0XtCW/lD904vUzcsLCP3el0jvDdeA/Ks3Pz9D/6T/MtbmfCTTfPyAetPzk1es/klWP16Jh7D8YibfB13a3P0AmMZVfJK0/2Ct9Uarb3T8wo6VKOWu/P+zEzOhJt+I/wAS/e8XDnT/bvH7RiOHqP2x6YrP9veQ/B3RdsZs66T/wXZZZxl3cPy8AtW23NOE/aj7sWKz77D83grBdUkviP5nP9xSCNOA/h3/96gT85j/A1irg+ATcP7u8w3he1OE/dMzv8IxMyz8YTtmx85DIP2oo30TDYOI/DkWiE0z+4z8L09cGL+XiP2xUVfq1i98/haH1homX7z8AZJEiL9RdP2w+9k395ME/tqH4bv1J7T8AoQ+mteNiPwMJqb4rQuA/rPhGZrW/4D8oTqMyIo7lPyh8005/WbU/NqqOJUth3T+8XQ6EusnKP6JXNH8Woec/HgksSrzn2T9rxpAikI3pP+WmdPU30eY/qEpWedt2uz8LLft20R7uP3T8U5LF++I/juux4LTa1T9LhT2n69PsP1bZVJE6ReQ/D4F7HunK4j+w4Y+SxHfcP1A7nA0CQ8Q/xJkaljHD1j/cpL7ROXbUPwFockJjUuk/Stb2TV8m7j8Aw9HLDfWdPzgPEyNtT9M/yRXyus5r4D93adxkzY3pP/iqcKL2LrI/ggnBHBIr3z8G66GbPIvQPxRzgSxpkOY/0uJUAXKY2z9I60T+5QLoP+UQGZNkWuA/Jhnv/UWh3D92rPQyUl3pP/6QokzmseM/qDT/uT2G4z8cBEsGVmHNP+jliEDYheQ/tdfQr2nv6T8uRqnYwzbgPyOVqH96Y+k/7OZZ16gn5T8ATJkosBKSP2BnENy/Aps/D4/N8+gS4D8dsUQyVQLvPwdUVs+dOOM/PW+h1R297z8aZymg9dLvP3XHNJx3v+Y/m+INwQ0Q4j+USTLDux3qP3HBxOKBN+k/aCc5W76nxT8IM/z8NmjgP3HFOWHo++s/xy9M7Edy4j+UlsC/5wHGPxB7GwVVx6A/xMETM7pi3D8Cxgt7BHTsPzBmoAdnxK4/M8QmbC/44D84yTdv7fCwP5R1DJX3+NQ/DtBD4zk13D9S0eJ9wdzsP8ApO35gfd0/jI92Nxwixj8P2sQY8wriP7wmrz49heI/OAu2fuuW6D/Wxr7SW/znP4CDw1uGRsk/AAL5XoH/gD8RQqMqiWzpP5j25LbxTsA/zIAjc1Ku0j8UL08ajd3nP1Bg7jWENrg/wAMWAWJLzD+e3OMRhXLXPwJg0GlQgNA/AX2nmN+f7T98UQWc91/kPx5s8oqfqug/v9cCtmT26j8=\",\"dtype\":\"float64\",\"shape\":[1000]},\"y\":{\"__ndarray__\":\"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\",\"dtype\":\"float64\",\"shape\":[1000]}},\"selected\":{\"id\":\"14413\",\"type\":\"Selection\"},\"selection_policy\":{\"id\":\"14412\",\"type\":\"UnionRenderers\"}},\"id\":\"13966\",\"type\":\"ColumnDataSource\"},{\"attributes\":{\"formatter\":{\"id\":\"14409\",\"type\":\"BasicTickFormatter\"},\"plot\":{\"id\":\"13967\",\"subtype\":\"Figure\",\"type\":\"Plot\"},\"ticker\":{\"id\":\"13977\",\"type\":\"BasicTicker\"}},\"id\":\"13976\",\"type\":\"LinearAxis\"},{\"attributes\":{\"plot\":{\"id\":\"13967\",\"subtype\":\"Figure\",\"type\":\"Plot\"},\"ticker\":{\"id\":\"13977\",\"type\":\"BasicTicker\"}},\"id\":\"13980\",\"type\":\"Grid\"},{\"attributes\":{},\"id\":\"13977\",\"type\":\"BasicTicker\"},{\"attributes\":{\"formatter\":{\"id\":\"14407\",\"type\":\"BasicTickFormatter\"},\"plot\":{\"id\":\"13967\",\"subtype\":\"Figure\",\"type\":\"Plot\"},\"ticker\":{\"id\":\"13982\",\"type\":\"BasicTicker\"}},\"id\":\"13981\",\"type\":\"LinearAxis\"},{\"attributes\":{\"children\":[{\"id\":\"14006\",\"type\":\"Select\"}]},\"id\":\"14007\",\"type\":\"WidgetBox\"},{\"attributes\":{},\"id\":\"13986\",\"type\":\"PanTool\"},{\"attributes\":{},\"id\":\"14407\",\"type\":\"BasicTickFormatter\"},{\"attributes\":{},\"id\":\"13982\",\"type\":\"BasicTicker\"},{\"attributes\":{\"below\":[{\"id\":\"13976\",\"type\":\"LinearAxis\"}],\"left\":[{\"id\":\"13981\",\"type\":\"LinearAxis\"}],\"renderers\":[{\"id\":\"13976\",\"type\":\"LinearAxis\"},{\"id\":\"13980\",\"type\":\"Grid\"},{\"id\":\"13981\",\"type\":\"LinearAxis\"},{\"id\":\"13985\",\"type\":\"Grid\"},{\"id\":\"13994\",\"type\":\"BoxAnnotation\"},{\"id\":\"14004\",\"type\":\"GlyphRenderer\"}],\"title\":{\"id\":\"14405\",\"type\":\"Title\"},\"toolbar\":{\"id\":\"13992\",\"type\":\"Toolbar\"},\"x_range\":{\"id\":\"13968\",\"type\":\"DataRange1d\"},\"x_scale\":{\"id\":\"13972\",\"type\":\"LinearScale\"},\"y_range\":{\"id\":\"13970\",\"type\":\"DataRange1d\"},\"y_scale\":{\"id\":\"13974\",\"type\":\"LinearScale\"}},\"id\":\"13967\",\"subtype\":\"Figure\",\"type\":\"Plot\"},{\"attributes\":{},\"id\":\"14409\",\"type\":\"BasicTickFormatter\"},{\"attributes\":{\"dimension\":1,\"plot\":{\"id\":\"13967\",\"subtype\":\"Figure\",\"type\":\"Plot\"},\"ticker\":{\"id\":\"13982\",\"type\":\"BasicTicker\"}},\"id\":\"13985\",\"type\":\"Grid\"},{\"attributes\":{},\"id\":\"14413\",\"type\":\"Selection\"},{\"attributes\":{\"fill_color\":{\"value\":\"#1f77b4\"},\"line_color\":{\"value\":\"#1f77b4\"},\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"14002\",\"type\":\"Circle\"},{\"attributes\":{\"callback\":null,\"options\":[\"uniform\",\"normal\",\"lognormal\"],\"title\":\"Distribution\",\"value\":\"uniform\"},\"id\":\"14006\",\"type\":\"Select\"},{\"attributes\":{\"plot\":null,\"text\":\"\"},\"id\":\"14405\",\"type\":\"Title\"},{\"attributes\":{},\"id\":\"13987\",\"type\":\"WheelZoomTool\"},{\"attributes\":{},\"id\":\"14412\",\"type\":\"UnionRenderers\"},{\"attributes\":{},\"id\":\"13991\",\"type\":\"HelpTool\"},{\"attributes\":{\"overlay\":{\"id\":\"13994\",\"type\":\"BoxAnnotation\"}},\"id\":\"13988\",\"type\":\"BoxZoomTool\"},{\"attributes\":{},\"id\":\"13990\",\"type\":\"ResetTool\"}],\"root_ids\":[\"14008\"]},\"title\":\"Bokeh Application\",\"version\":\"1.0.2\"}};\n", " var render_items = [{\"docid\":\"fbda9778-f1da-4078-aa6f-58ecc0b3a044\",\"roots\":{\"14008\":\"4b377563-f803-4384-8db7-6973a57d7662\"}}];\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": "14008" } }, "output_type": "display_data" } ], "source": [ "from bokeh.io import curdoc \n", "from bokeh.layouts import column \n", "from bokeh.models import ColumnDataSource, Select \n", "from bokeh.plotting import figure \n", "from numpy.random import random, normal, lognormal \n", "\n", "N = 1000 \n", "source = ColumnDataSource(data={'x': random(N), 'y': random(N)}) \n", "\n", "# Create plots and widgets \n", "plot = figure() \n", "plot.circle(x='x', y='y', source=source) \n", "menu = Select(options=['uniform', 'normal', 'lognormal'],\n", " value='uniform', title='Distribution')\n", "\n", "# Add callback to widgets \n", "def callback(attr, old, new): \n", " if menu.value == 'uniform': f = random \n", " elif menu.value == 'normal': f = normal \n", " else: f = lognormal \n", " source.data={'x': f(size=N), 'y': f(size=N)} \n", "menu.on_change('value', callback) \n", "\n", "# Arrange plots and widgets in layouts \n", "layout = column(menu, plot) \n", "\n", "curdoc().add_root(layout)\n", "show(layout)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Updating data sources from dropdown callbacks\n", "\n", "Here, we'll update the plot's data using a drop down menu instead of a slider. This would allow users to do things like select between different data sources to view. \n" ] }, { "cell_type": "code", "execution_count": 39, "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "WARNING:bokeh.embed.util:\n", "You are generating standalone HTML/JS output, but trying to use real Python\n", "callbacks (i.e. with on_change or on_event). This combination cannot work.\n", "\n", "Only JavaScript callbacks may be used with standalone output. For more\n", "information on JavaScript callbacks with Bokeh, see:\n", "\n", " http://bokeh.pydata.org/en/latest/docs/user_guide/interaction/callbacks.html\n", "\n", "Alternatively, to use real Python callbacks, a Bokeh server application may\n", "be used. For more information on building and running Bokeh applications, see:\n", "\n", " http://bokeh.pydata.org/en/latest/docs/user_guide/server.html\n", "\n" ] }, { "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 = {\"76eea48f-46c1-4dfe-85c1-89b120230eb8\":{\"roots\":{\"references\":[{\"attributes\":{\"children\":[{\"id\":\"14966\",\"type\":\"WidgetBox\"},{\"id\":\"14926\",\"subtype\":\"Figure\",\"type\":\"Plot\"}]},\"id\":\"14967\",\"type\":\"Row\"},{\"attributes\":{},\"id\":\"15384\",\"type\":\"BasicTickFormatter\"},{\"attributes\":{\"dimension\":1,\"plot\":{\"id\":\"14926\",\"subtype\":\"Figure\",\"type\":\"Plot\"},\"ticker\":{\"id\":\"14941\",\"type\":\"BasicTicker\"}},\"id\":\"14944\",\"type\":\"Grid\"},{\"attributes\":{},\"id\":\"14941\",\"type\":\"BasicTicker\"},{\"attributes\":{},\"id\":\"14933\",\"type\":\"LinearScale\"},{\"attributes\":{\"source\":{\"id\":\"14925\",\"type\":\"ColumnDataSource\"}},\"id\":\"14964\",\"type\":\"CDSView\"},{\"attributes\":{\"formatter\":{\"id\":\"15384\",\"type\":\"BasicTickFormatter\"},\"plot\":{\"id\":\"14926\",\"subtype\":\"Figure\",\"type\":\"Plot\"},\"ticker\":{\"id\":\"14941\",\"type\":\"BasicTicker\"}},\"id\":\"14940\",\"type\":\"LinearAxis\"},{\"attributes\":{\"callback\":null,\"options\":[\"female_literacy\",\"population\"],\"title\":\"distribution\",\"value\":\"female_literacy\"},\"id\":\"14965\",\"type\":\"Select\"},{\"attributes\":{\"data_source\":{\"id\":\"14925\",\"type\":\"ColumnDataSource\"},\"glyph\":{\"id\":\"14961\",\"type\":\"Circle\"},\"hover_glyph\":null,\"muted_glyph\":null,\"nonselection_glyph\":{\"id\":\"14962\",\"type\":\"Circle\"},\"selection_glyph\":null,\"view\":{\"id\":\"14964\",\"type\":\"CDSView\"}},\"id\":\"14963\",\"type\":\"GlyphRenderer\"},{\"attributes\":{},\"id\":\"14931\",\"type\":\"LinearScale\"},{\"attributes\":{\"formatter\":{\"id\":\"15386\",\"type\":\"BasicTickFormatter\"},\"plot\":{\"id\":\"14926\",\"subtype\":\"Figure\",\"type\":\"Plot\"},\"ticker\":{\"id\":\"14936\",\"type\":\"BasicTicker\"}},\"id\":\"14935\",\"type\":\"LinearAxis\"},{\"attributes\":{},\"id\":\"14936\",\"type\":\"BasicTicker\"},{\"attributes\":{},\"id\":\"14949\",\"type\":\"ResetTool\"},{\"attributes\":{\"plot\":null,\"text\":\"\"},\"id\":\"15382\",\"type\":\"Title\"},{\"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\":\"14953\",\"type\":\"BoxAnnotation\"},{\"attributes\":{\"children\":[{\"id\":\"14965\",\"type\":\"Select\"}]},\"id\":\"14966\",\"type\":\"WidgetBox\"},{\"attributes\":{\"callback\":null},\"id\":\"14929\",\"type\":\"DataRange1d\"},{\"attributes\":{\"active_drag\":\"auto\",\"active_inspect\":\"auto\",\"active_multi\":null,\"active_scroll\":\"auto\",\"active_tap\":\"auto\",\"tools\":[{\"id\":\"14945\",\"type\":\"PanTool\"},{\"id\":\"14946\",\"type\":\"WheelZoomTool\"},{\"id\":\"14947\",\"type\":\"BoxZoomTool\"},{\"id\":\"14948\",\"type\":\"SaveTool\"},{\"id\":\"14949\",\"type\":\"ResetTool\"},{\"id\":\"14950\",\"type\":\"HelpTool\"}]},\"id\":\"14951\",\"type\":\"Toolbar\"},{\"attributes\":{\"plot\":{\"id\":\"14926\",\"subtype\":\"Figure\",\"type\":\"Plot\"},\"ticker\":{\"id\":\"14936\",\"type\":\"BasicTicker\"}},\"id\":\"14939\",\"type\":\"Grid\"},{\"attributes\":{\"fill_alpha\":{\"value\":0.1},\"fill_color\":{\"value\":\"#1f77b4\"},\"line_alpha\":{\"value\":0.1},\"line_color\":{\"value\":\"#1f77b4\"},\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"14962\",\"type\":\"Circle\"},{\"attributes\":{\"fill_color\":{\"value\":\"#1f77b4\"},\"line_color\":{\"value\":\"#1f77b4\"},\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"14961\",\"type\":\"Circle\"},{\"attributes\":{},\"id\":\"14946\",\"type\":\"WheelZoomTool\"},{\"attributes\":{},\"id\":\"15390\",\"type\":\"Selection\"},{\"attributes\":{},\"id\":\"14948\",\"type\":\"SaveTool\"},{\"attributes\":{},\"id\":\"15389\",\"type\":\"UnionRenderers\"},{\"attributes\":{\"callback\":null},\"id\":\"14927\",\"type\":\"DataRange1d\"},{\"attributes\":{},\"id\":\"15386\",\"type\":\"BasicTickFormatter\"},{\"attributes\":{\"callback\":null,\"data\":{\"x\":{\"__ndarray__\":\"6Pup8dJN/D/b+X5qvHQFQARWDi2ynQBAdJMYBFYOAUAIrBxaZDv9P2Dl0CLb+Q5A6Pup8dJNAkD91HjpJrEUQH0/NV66SfY//tR46SYx9D9zaJHtfD8BQGmR7Xw/NQhA3SQGgZVDAEDJdr6fGi/1P7tJDAIrhwZA8tJNYhDYFEDNzMzMzMwAQOXQItv5fvw/8/3UeOkm/T9uEoPAyqEXQH9qvHSTGP4/bhKDwMqh/T89CtejcD32P3Noke18PwJACtejcD0KBEAv3SQGgZXzPy2yne+nxvU/sXJoke189z8IrBxaZDsDQBSuR+F6FBZACKwcWmQ7EEBjEFg5tMgBQFYOLbKdbxNAE4PAyqFF9D8j2/l+arwCQN0kBoGVQ/k/arx0kxgEGUB56SYxCKwCQOSlm8QgsA9AhetRuB4FGkA9CtejcD0EQC/dJAaBlQZAlkOLbOf7A0CWQ4ts5/sBQKrx0k1iEARAUrgehetRCEBEi2zn+6n9P+F6FK5H4RBAZmZmZmZmFECR7Xw/Nd4TQDMzMzMzM/U/dJMYBFYOEkD8qfHSTWIJQBFYObTIdgJAexSuR+F6EkBEi2zn+ykSQEA1XrpJjBZAN4lBYOXQ/j/AyqFFtvP7PycxCKwcWgJAd76fGi9dF0BSuB6F69EVQC2yne+nRhxArBxaZDvfBkDfT42XbhIQQLTIdr6fGgRAH4XrUbieFUCmm8QgsPIWQIGVQ4ts5wpAj8L1KFyPE0ApXI/C9Sj2PxSuR+F6FPg/bef7qfFSGEAlBoGVQ4v8P0A1XrpJDPY/MzMzMzMz9z/b+X5qvHT9P+xRuB6F6/U/TDeJQWDlBEA3iUFg5VAVQFK4HoXrURVALIcW2c73CkDl0CLb+X70P1YOLbKd7/0/001iEFg5AUBPjZduEoMVQM3MzMzMzBFAXI/C9Shc9z9g5dAi2/n2P5duEoPAyvk/hetRuB6FCUBqvHSTGAQGQM3MzMzMzApACtejcD0KEEBEi2zn+6kQQIlBYOXQIgVAN4lBYOXQB0BSuB6F61ELQFyPwvUoXAJA8/3UeOkmCEARWDm0yHYFQClcj8L1qBRAL90kBoGV/T/GSzeJQWD9P7+fGi/dJARAcT0K16NwA0DqJjEIrBwSQGiR7Xw/NfQ/KVyPwvUo/j9KDAIrhxb/P/yp8dJNYv4/30+Nl24S9z9zaJHtfD//P30/NV66yRJAHFpkO99P+T8zMzMzMzMAQNv5fmq8dP0/JQaBlUMLFEAxCKwcWmTzP9R46SYxCPg/VOOlm8QgBECsHFpkO9/1P4PAyqFFtgBAWmQ730+NEUBEi2zn+6n9PyyHFtnO9/s/bef7qfHSB0Cd76fGSzcBQEw3iUFg5QJAAyuHFtnO/z83iUFg5dD2P1K4HoXrUQpA6SYxCKwcCkBg5dAi2/n2P30/NV66SfY/+n5qvHSTBkDGSzeJQeATQIlBYOXQohZA7FG4HoXrCUBKDAIrhxb7PyYxCKwcWvo/4XoUrkfhAkB46SYxCKz8P5qZmZmZmQtAqMZLN4lB+D93vp8aL90BQBsv3SQGgQRAbhKDwMohFUAUrkfhehQPQLbz/dR46e4/lkOLbOf7AkDo+6nx0k0FQGq8dJMYBPQ/0SLb+X5qAEAshxbZzvcKQFg5tMh2vgBAAAAAAAAAAECq8dJNYhAPQDeJQWDl0A5AWDm0yHa+DUCDwMqhRbb7PwaBlUOLbA9A\",\"dtype\":\"float64\",\"shape\":[162]},\"y\":{\"__ndarray__\":\"AAAAAACgVkBmZmZmZmZJQAAAAAAAwFhAMzMzMzMzVkDNzMzMzIxWQAAAAAAAAERAZmZmZmbmSEBmZmZmZmZIQJqZmZmZ2VhAAAAAAADAWEAAAAAAAOBWQJqZmZmZeVdAzczMzMyMVkAAAAAAAMBYQGZmZmZm5kxAzczMzMzMNkAzMzMzM1NUQM3MzMzMTFNAAAAAAADgVkDNzMzMzAxMQAAAAAAAwFhAAAAAAADAWEAAAAAAAKBYQM3MzMzMTFZAZmZmZmYGVkBmZmZmZiZYQGZmZmZm5lhAmpmZmZk5WECamZmZmVlXQDMzMzMzk1BAzczMzMzMTUDNzMzMzGxYQDMzMzMzs1RAMzMzMzPTWEAzMzMzM/NPQAAAAAAAwFhAMzMzMzOzUEDNzMzMzAxGQM3MzMzMTFFAMzMzMzMzKUBmZmZmZiZVQDMzMzMzs0ZAmpmZmZm5V0CamZmZmblYQDMzMzMzc1ZAzczMzMwMVEAAAAAAAABZQGZmZmZmpk1AZmZmZmZmRUDNzMzMzAxEQJqZmZmZOVhAZmZmZmYmRkDNzMzMzExTQGZmZmZmRlZAMzMzMzNTUEAzMzMzM/NQQAAAAAAAgExAzczMzMysWEAAAAAAAMBYQAAAAAAA4FhAmpmZmZmZNUAzMzMzM3NQQDMzMzMzMy5AmpmZmZm5UUDNzMzMzCxRQM3MzMzMbFRAMzMzMzMzMkAAAAAAAIBOQDMzMzMzM1ZAAAAAAACAQECamZmZmflXQDMzMzMz81hAZmZmZmbmNUAAAAAAAMBYQJqZmZmZOVdAAAAAAADAWEAAAAAAAMBRQJqZmZmZuVhAMzMzMzMTVkBmZmZmZmY6QGZmZmZmhlBAAAAAAACAVUDNzMzMzOxYQAAAAAAAwFhAzczMzMzMWECamZmZmRk8QDMzMzMz801AAAAAAADAWECamZmZmXlYQM3MzMzMDFhAAAAAAADgVECamZmZmflXQAAAAAAA4FhAzczMzMzMS0CamZmZmdlKQDMzMzMzU1RAAAAAAABgV0CamZmZmZlPQJqZmZmZWVRAmpmZmZk5VkCamZmZmXlTQGZmZmZm5jxAAAAAAADAWEAAAAAAAABZQGZmZmZmxlhAMzMzMzPTWEAAAAAAAEBLQGZmZmZm5lZAAAAAAAAAWUDNzMzMzAxYQAAAAAAA4FZAAAAAAACAWEAAAAAAAMBYQM3MzMzMjERAzczMzMzsWEAAAAAAAMBYQAAAAAAAgFVAAAAAAACASkCamZmZmflXQDMzMzMzc1hAMzMzMzMzV0DNzMzMzOxYQAAAAAAAoFhAAAAAAADASEDNzMzMzKxYQJqZmZmZ2VhAmpmZmZk5VEBmZmZmZkZXQDMzMzMzs1ZAMzMzMzNzWEAzMzMzM/NYQM3MzMzM7FVAZmZmZmbGV0CamZmZmdlXQM3MzMzM7FhAAAAAAADgVEBmZmZmZiZBQAAAAAAAQEJAzczMzMzMVEAzMzMzM/NYQM3MzMzMjFhAmpmZmZmZVkAzMzMzMzNVQGZmZmZmZlVAzczMzMwsWECamZmZmVlWQJqZmZmZWUNAZmZmZmZGVkAzMzMzM/NQQM3MzMzMrFZAmpmZmZkZVkAzMzMzM9NTQAAAAAAAYFdAMzMzMzNTV0AAAAAAACBYQAAAAAAAwFhAmpmZmZmZWEAAAAAAAOBTQAAAAAAAoFhAMzMzMzPTVEAAAAAAAIBYQGZmZmZmxlhA\",\"dtype\":\"float64\",\"shape\":[162]}},\"selected\":{\"id\":\"15390\",\"type\":\"Selection\"},\"selection_policy\":{\"id\":\"15389\",\"type\":\"UnionRenderers\"}},\"id\":\"14925\",\"type\":\"ColumnDataSource\"},{\"attributes\":{\"overlay\":{\"id\":\"14953\",\"type\":\"BoxAnnotation\"}},\"id\":\"14947\",\"type\":\"BoxZoomTool\"},{\"attributes\":{},\"id\":\"14950\",\"type\":\"HelpTool\"},{\"attributes\":{\"below\":[{\"id\":\"14935\",\"type\":\"LinearAxis\"}],\"left\":[{\"id\":\"14940\",\"type\":\"LinearAxis\"}],\"renderers\":[{\"id\":\"14935\",\"type\":\"LinearAxis\"},{\"id\":\"14939\",\"type\":\"Grid\"},{\"id\":\"14940\",\"type\":\"LinearAxis\"},{\"id\":\"14944\",\"type\":\"Grid\"},{\"id\":\"14953\",\"type\":\"BoxAnnotation\"},{\"id\":\"14963\",\"type\":\"GlyphRenderer\"}],\"title\":{\"id\":\"15382\",\"type\":\"Title\"},\"toolbar\":{\"id\":\"14951\",\"type\":\"Toolbar\"},\"x_range\":{\"id\":\"14927\",\"type\":\"DataRange1d\"},\"x_scale\":{\"id\":\"14931\",\"type\":\"LinearScale\"},\"y_range\":{\"id\":\"14929\",\"type\":\"DataRange1d\"},\"y_scale\":{\"id\":\"14933\",\"type\":\"LinearScale\"}},\"id\":\"14926\",\"subtype\":\"Figure\",\"type\":\"Plot\"},{\"attributes\":{},\"id\":\"14945\",\"type\":\"PanTool\"}],\"root_ids\":[\"14967\"]},\"title\":\"Bokeh Application\",\"version\":\"1.0.2\"}};\n", " var render_items = [{\"docid\":\"76eea48f-46c1-4dfe-85c1-89b120230eb8\",\"roots\":{\"14967\":\"45442b2b-dd5a-4753-8a11-42756553e2c4\"}}];\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": "14967" } }, "output_type": "display_data" } ], "source": [ "#Imports \n", "\n", "import pandas as pd\n", "from bokeh.io import curdoc \n", "from bokeh.layouts import column, row \n", "from bokeh.plotting import figure \n", "\n", "df = pd.read_csv('data/literacy_birth_rate.csv', nrows = 162)\n", "fertility = df.fertility\n", "female_literacy = df['female literacy']\n", "population = df.population\n", "\n", "# Perform necessary imports\n", "from bokeh.models import ColumnDataSource, Select\n", "\n", "# Create ColumnDataSource: source\n", "source = ColumnDataSource(data={\n", " 'x' : fertility,\n", " 'y' : female_literacy\n", "})\n", "\n", "# Create a new plot: plot\n", "plot = figure()\n", "\n", "# Add circles to the plot\n", "plot.circle('x', 'y', source=source)\n", "\n", "# Define a callback function: update_plot\n", "def update_plot(attr, old, new):\n", " # If the new Selection is 'female_literacy', update 'y' to female_literacy\n", " if new == 'female_literacy': \n", " source.data = {\n", " 'x' : fertility,\n", " 'y' : female_literacy\n", " }\n", " # Else, update 'y' to population\n", " else:\n", " source.data = {\n", " 'x' : fertility,\n", " 'y' : population\n", " }\n", "\n", "# Create a dropdown Select widget: select \n", "select = Select(title=\"distribution\", options=['female_literacy', 'population'], value='female_literacy')\n", "\n", "# Attach the update_plot callback to the 'value' property of select\n", "select.on_change('value', update_plot)\n", "\n", "# Create layout and add to current document\n", "layout = row(select, plot)\n", "curdoc().add_root(layout)\n", "show(layout)\n", "\n", "#copy paste into script file script.py, point conda or python command line to the directory, and run \n", "#bokeh serve --show script.py" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Synchronize two dropdowns\n", "\n", "Menus can be even more powerful by changing the choices of one via the selection of another. \n", "\n", "Here, we'll practice using a dropdown callback to update another dropdown's options. \n" ] }, { "cell_type": "code", "execution_count": 40, "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "WARNING:bokeh.embed.util:\n", "You are generating standalone HTML/JS output, but trying to use real Python\n", "callbacks (i.e. with on_change or on_event). This combination cannot work.\n", "\n", "Only JavaScript callbacks may be used with standalone output. For more\n", "information on JavaScript callbacks with Bokeh, see:\n", "\n", " http://bokeh.pydata.org/en/latest/docs/user_guide/interaction/callbacks.html\n", "\n", "Alternatively, to use real Python callbacks, a Bokeh server application may\n", "be used. For more information on building and running Bokeh applications, see:\n", "\n", " http://bokeh.pydata.org/en/latest/docs/user_guide/server.html\n", "\n" ] }, { "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 = {\"13d29df0-a155-4c1b-9ef7-9a8b10015c17\":{\"roots\":{\"references\":[{\"attributes\":{\"children\":[{\"id\":\"15445\",\"type\":\"Select\"},{\"id\":\"15446\",\"type\":\"Select\"}]},\"id\":\"15447\",\"type\":\"WidgetBox\"},{\"attributes\":{\"callback\":null,\"options\":[\"1\",\"2\",\"3\"],\"title\":\"Second\",\"value\":\"1\"},\"id\":\"15446\",\"type\":\"Select\"},{\"attributes\":{\"callback\":null,\"options\":[\"A\",\"B\"],\"title\":\"First\",\"value\":\"A\"},\"id\":\"15445\",\"type\":\"Select\"}],\"root_ids\":[\"15447\"]},\"title\":\"Bokeh Application\",\"version\":\"1.0.2\"}};\n", " var render_items = [{\"docid\":\"13d29df0-a155-4c1b-9ef7-9a8b10015c17\",\"roots\":{\"15447\":\"6b5fc58c-2731-436d-bc7a-4fb505970ab0\"}}];\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": "15447" } }, "output_type": "display_data" } ], "source": [ "# Create two dropdown Select widgets: select1, select2\n", "select1 = Select(title='First', options=['A', 'B'], value='A')\n", "select2 = Select(title='Second', options=['1', '2', '3'], value='1')\n", "\n", "# Define a callback function: callback\n", "def callback(attr, old, new):\n", " # If select1 is 'A' \n", " if select1.value == 'A':\n", " # Set select2 options to ['1', '2', '3']\n", " select2.options = ['1', '2', '3']\n", "\n", " # Set select2 value to '1'\n", " select2.value = '1'\n", " else:\n", " # Set select2 options to ['100', '200', '300']\n", " select2.options = ['100', '200', '300']\n", "\n", " # Set select2 value to '100'\n", " select2.value = '100'\n", "\n", "# Attach the callback to the 'value' property of select1\n", "select1.on_change('value', callback)\n", "\n", "# Create layout and add to current document\n", "layout = widgetbox(select1, select2)\n", "curdoc().add_root(layout)\n", "show(layout)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "\n", "## Buttons\n", "\n", "- buttons are simpler than menus or sliders. They only have a state to assess.\n", "\n", "### Button callbacks \n", "\n", "```\n", "select.py\n", "from bokeh.models import Button \n", "\n", "button = Button(label='press me') \n", "def update(): \n", " # Do something interesting \n", "\n", "button.on_click(update)\n", "\n", "from bokeh.models import CheckboxGroup, RadioGroup, Toggle \n", "\n", "toggle = Toggle(label='Some on/off', button_type='success') \n", "checkbox = CheckboxGroup(labels=['Who', 'knows', 'what']) \n", "radio = RadioGroup(labels=['2000', '2010', '2020']) \n", "\n", "def callback(active): \n", "\n", " # Active tells which button is active\n", "```\n", "\n", "### Button types\n", "- Plain button\n", "- Toggle\n", "- Radio Group\n", "- Checkbox Group\n", "\n", "\n", "\n", "## Button widgets\n", "\n", "Here, we'll create a button and use its `on_click()` method to update a plot. \n", "\n" ] }, { "cell_type": "code", "execution_count": 41, "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "WARNING:bokeh.embed.util:\n", "You are generating standalone HTML/JS output, but trying to use real Python\n", "callbacks (i.e. with on_change or on_event). This combination cannot work.\n", "\n", "Only JavaScript callbacks may be used with standalone output. For more\n", "information on JavaScript callbacks with Bokeh, see:\n", "\n", " http://bokeh.pydata.org/en/latest/docs/user_guide/interaction/callbacks.html\n", "\n", "Alternatively, to use real Python callbacks, a Bokeh server application may\n", "be used. For more information on building and running Bokeh applications, see:\n", "\n", " http://bokeh.pydata.org/en/latest/docs/user_guide/server.html\n", "\n" ] }, { "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 = {\"ce076c78-cd80-4394-aa85-95b613784a7e\":{\"roots\":{\"references\":[{\"attributes\":{\"children\":[{\"id\":\"15872\",\"type\":\"WidgetBox\"},{\"id\":\"14926\",\"subtype\":\"Figure\",\"type\":\"Plot\"}]},\"id\":\"15873\",\"type\":\"Column\"},{\"attributes\":{},\"id\":\"15384\",\"type\":\"BasicTickFormatter\"},{\"attributes\":{\"dimension\":1,\"plot\":{\"id\":\"14926\",\"subtype\":\"Figure\",\"type\":\"Plot\"},\"ticker\":{\"id\":\"14941\",\"type\":\"BasicTicker\"}},\"id\":\"14944\",\"type\":\"Grid\"},{\"attributes\":{},\"id\":\"14941\",\"type\":\"BasicTicker\"},{\"attributes\":{},\"id\":\"14933\",\"type\":\"LinearScale\"},{\"attributes\":{\"callback\":null,\"icon\":null,\"label\":\"Update Data\"},\"id\":\"15871\",\"type\":\"Button\"},{\"attributes\":{\"source\":{\"id\":\"14925\",\"type\":\"ColumnDataSource\"}},\"id\":\"14964\",\"type\":\"CDSView\"},{\"attributes\":{\"formatter\":{\"id\":\"15384\",\"type\":\"BasicTickFormatter\"},\"plot\":{\"id\":\"14926\",\"subtype\":\"Figure\",\"type\":\"Plot\"},\"ticker\":{\"id\":\"14941\",\"type\":\"BasicTicker\"}},\"id\":\"14940\",\"type\":\"LinearAxis\"},{\"attributes\":{},\"id\":\"14931\",\"type\":\"LinearScale\"},{\"attributes\":{\"data_source\":{\"id\":\"14925\",\"type\":\"ColumnDataSource\"},\"glyph\":{\"id\":\"14961\",\"type\":\"Circle\"},\"hover_glyph\":null,\"muted_glyph\":null,\"nonselection_glyph\":{\"id\":\"14962\",\"type\":\"Circle\"},\"selection_glyph\":null,\"view\":{\"id\":\"14964\",\"type\":\"CDSView\"}},\"id\":\"14963\",\"type\":\"GlyphRenderer\"},{\"attributes\":{\"formatter\":{\"id\":\"15386\",\"type\":\"BasicTickFormatter\"},\"plot\":{\"id\":\"14926\",\"subtype\":\"Figure\",\"type\":\"Plot\"},\"ticker\":{\"id\":\"14936\",\"type\":\"BasicTicker\"}},\"id\":\"14935\",\"type\":\"LinearAxis\"},{\"attributes\":{},\"id\":\"14936\",\"type\":\"BasicTicker\"},{\"attributes\":{},\"id\":\"14949\",\"type\":\"ResetTool\"},{\"attributes\":{\"plot\":null,\"text\":\"\"},\"id\":\"15382\",\"type\":\"Title\"},{\"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\":\"14953\",\"type\":\"BoxAnnotation\"},{\"attributes\":{\"callback\":null},\"id\":\"14929\",\"type\":\"DataRange1d\"},{\"attributes\":{\"active_drag\":\"auto\",\"active_inspect\":\"auto\",\"active_multi\":null,\"active_scroll\":\"auto\",\"active_tap\":\"auto\",\"tools\":[{\"id\":\"14945\",\"type\":\"PanTool\"},{\"id\":\"14946\",\"type\":\"WheelZoomTool\"},{\"id\":\"14947\",\"type\":\"BoxZoomTool\"},{\"id\":\"14948\",\"type\":\"SaveTool\"},{\"id\":\"14949\",\"type\":\"ResetTool\"},{\"id\":\"14950\",\"type\":\"HelpTool\"}]},\"id\":\"14951\",\"type\":\"Toolbar\"},{\"attributes\":{\"plot\":{\"id\":\"14926\",\"subtype\":\"Figure\",\"type\":\"Plot\"},\"ticker\":{\"id\":\"14936\",\"type\":\"BasicTicker\"}},\"id\":\"14939\",\"type\":\"Grid\"},{\"attributes\":{\"fill_alpha\":{\"value\":0.1},\"fill_color\":{\"value\":\"#1f77b4\"},\"line_alpha\":{\"value\":0.1},\"line_color\":{\"value\":\"#1f77b4\"},\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"14962\",\"type\":\"Circle\"},{\"attributes\":{\"fill_color\":{\"value\":\"#1f77b4\"},\"line_color\":{\"value\":\"#1f77b4\"},\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"14961\",\"type\":\"Circle\"},{\"attributes\":{},\"id\":\"14946\",\"type\":\"WheelZoomTool\"},{\"attributes\":{},\"id\":\"15390\",\"type\":\"Selection\"},{\"attributes\":{},\"id\":\"14948\",\"type\":\"SaveTool\"},{\"attributes\":{},\"id\":\"15389\",\"type\":\"UnionRenderers\"},{\"attributes\":{\"callback\":null},\"id\":\"14927\",\"type\":\"DataRange1d\"},{\"attributes\":{},\"id\":\"15386\",\"type\":\"BasicTickFormatter\"},{\"attributes\":{\"callback\":null,\"data\":{\"x\":{\"__ndarray__\":\"6Pup8dJN/D/b+X5qvHQFQARWDi2ynQBAdJMYBFYOAUAIrBxaZDv9P2Dl0CLb+Q5A6Pup8dJNAkD91HjpJrEUQH0/NV66SfY//tR46SYx9D9zaJHtfD8BQGmR7Xw/NQhA3SQGgZVDAEDJdr6fGi/1P7tJDAIrhwZA8tJNYhDYFEDNzMzMzMwAQOXQItv5fvw/8/3UeOkm/T9uEoPAyqEXQH9qvHSTGP4/bhKDwMqh/T89CtejcD32P3Noke18PwJACtejcD0KBEAv3SQGgZXzPy2yne+nxvU/sXJoke189z8IrBxaZDsDQBSuR+F6FBZACKwcWmQ7EEBjEFg5tMgBQFYOLbKdbxNAE4PAyqFF9D8j2/l+arwCQN0kBoGVQ/k/arx0kxgEGUB56SYxCKwCQOSlm8QgsA9AhetRuB4FGkA9CtejcD0EQC/dJAaBlQZAlkOLbOf7A0CWQ4ts5/sBQKrx0k1iEARAUrgehetRCEBEi2zn+6n9P+F6FK5H4RBAZmZmZmZmFECR7Xw/Nd4TQDMzMzMzM/U/dJMYBFYOEkD8qfHSTWIJQBFYObTIdgJAexSuR+F6EkBEi2zn+ykSQEA1XrpJjBZAN4lBYOXQ/j/AyqFFtvP7PycxCKwcWgJAd76fGi9dF0BSuB6F69EVQC2yne+nRhxArBxaZDvfBkDfT42XbhIQQLTIdr6fGgRAH4XrUbieFUCmm8QgsPIWQIGVQ4ts5wpAj8L1KFyPE0ApXI/C9Sj2PxSuR+F6FPg/bef7qfFSGEAlBoGVQ4v8P0A1XrpJDPY/MzMzMzMz9z/b+X5qvHT9P+xRuB6F6/U/TDeJQWDlBEA3iUFg5VAVQFK4HoXrURVALIcW2c73CkDl0CLb+X70P1YOLbKd7/0/001iEFg5AUBPjZduEoMVQM3MzMzMzBFAXI/C9Shc9z9g5dAi2/n2P5duEoPAyvk/hetRuB6FCUBqvHSTGAQGQM3MzMzMzApACtejcD0KEEBEi2zn+6kQQIlBYOXQIgVAN4lBYOXQB0BSuB6F61ELQFyPwvUoXAJA8/3UeOkmCEARWDm0yHYFQClcj8L1qBRAL90kBoGV/T/GSzeJQWD9P7+fGi/dJARAcT0K16NwA0DqJjEIrBwSQGiR7Xw/NfQ/KVyPwvUo/j9KDAIrhxb/P/yp8dJNYv4/30+Nl24S9z9zaJHtfD//P30/NV66yRJAHFpkO99P+T8zMzMzMzMAQNv5fmq8dP0/JQaBlUMLFEAxCKwcWmTzP9R46SYxCPg/VOOlm8QgBECsHFpkO9/1P4PAyqFFtgBAWmQ730+NEUBEi2zn+6n9PyyHFtnO9/s/bef7qfHSB0Cd76fGSzcBQEw3iUFg5QJAAyuHFtnO/z83iUFg5dD2P1K4HoXrUQpA6SYxCKwcCkBg5dAi2/n2P30/NV66SfY/+n5qvHSTBkDGSzeJQeATQIlBYOXQohZA7FG4HoXrCUBKDAIrhxb7PyYxCKwcWvo/4XoUrkfhAkB46SYxCKz8P5qZmZmZmQtAqMZLN4lB+D93vp8aL90BQBsv3SQGgQRAbhKDwMohFUAUrkfhehQPQLbz/dR46e4/lkOLbOf7AkDo+6nx0k0FQGq8dJMYBPQ/0SLb+X5qAEAshxbZzvcKQFg5tMh2vgBAAAAAAAAAAECq8dJNYhAPQDeJQWDl0A5AWDm0yHa+DUCDwMqhRbb7PwaBlUOLbA9A\",\"dtype\":\"float64\",\"shape\":[162]},\"y\":{\"__ndarray__\":\"AAAAAACgVkBmZmZmZmZJQAAAAAAAwFhAMzMzMzMzVkDNzMzMzIxWQAAAAAAAAERAZmZmZmbmSEBmZmZmZmZIQJqZmZmZ2VhAAAAAAADAWEAAAAAAAOBWQJqZmZmZeVdAzczMzMyMVkAAAAAAAMBYQGZmZmZm5kxAzczMzMzMNkAzMzMzM1NUQM3MzMzMTFNAAAAAAADgVkDNzMzMzAxMQAAAAAAAwFhAAAAAAADAWEAAAAAAAKBYQM3MzMzMTFZAZmZmZmYGVkBmZmZmZiZYQGZmZmZm5lhAmpmZmZk5WECamZmZmVlXQDMzMzMzk1BAzczMzMzMTUDNzMzMzGxYQDMzMzMzs1RAMzMzMzPTWEAzMzMzM/NPQAAAAAAAwFhAMzMzMzOzUEDNzMzMzAxGQM3MzMzMTFFAMzMzMzMzKUBmZmZmZiZVQDMzMzMzs0ZAmpmZmZm5V0CamZmZmblYQDMzMzMzc1ZAzczMzMwMVEAAAAAAAABZQGZmZmZmpk1AZmZmZmZmRUDNzMzMzAxEQJqZmZmZOVhAZmZmZmYmRkDNzMzMzExTQGZmZmZmRlZAMzMzMzNTUEAzMzMzM/NQQAAAAAAAgExAzczMzMysWEAAAAAAAMBYQAAAAAAA4FhAmpmZmZmZNUAzMzMzM3NQQDMzMzMzMy5AmpmZmZm5UUDNzMzMzCxRQM3MzMzMbFRAMzMzMzMzMkAAAAAAAIBOQDMzMzMzM1ZAAAAAAACAQECamZmZmflXQDMzMzMz81hAZmZmZmbmNUAAAAAAAMBYQJqZmZmZOVdAAAAAAADAWEAAAAAAAMBRQJqZmZmZuVhAMzMzMzMTVkBmZmZmZmY6QGZmZmZmhlBAAAAAAACAVUDNzMzMzOxYQAAAAAAAwFhAzczMzMzMWECamZmZmRk8QDMzMzMz801AAAAAAADAWECamZmZmXlYQM3MzMzMDFhAAAAAAADgVECamZmZmflXQAAAAAAA4FhAzczMzMzMS0CamZmZmdlKQDMzMzMzU1RAAAAAAABgV0CamZmZmZlPQJqZmZmZWVRAmpmZmZk5VkCamZmZmXlTQGZmZmZm5jxAAAAAAADAWEAAAAAAAABZQGZmZmZmxlhAMzMzMzPTWEAAAAAAAEBLQGZmZmZm5lZAAAAAAAAAWUDNzMzMzAxYQAAAAAAA4FZAAAAAAACAWEAAAAAAAMBYQM3MzMzMjERAzczMzMzsWEAAAAAAAMBYQAAAAAAAgFVAAAAAAACASkCamZmZmflXQDMzMzMzc1hAMzMzMzMzV0DNzMzMzOxYQAAAAAAAoFhAAAAAAADASEDNzMzMzKxYQJqZmZmZ2VhAmpmZmZk5VEBmZmZmZkZXQDMzMzMzs1ZAMzMzMzNzWEAzMzMzM/NYQM3MzMzM7FVAZmZmZmbGV0CamZmZmdlXQM3MzMzM7FhAAAAAAADgVEBmZmZmZiZBQAAAAAAAQEJAzczMzMzMVEAzMzMzM/NYQM3MzMzMjFhAmpmZmZmZVkAzMzMzMzNVQGZmZmZmZlVAzczMzMwsWECamZmZmVlWQJqZmZmZWUNAZmZmZmZGVkAzMzMzM/NQQM3MzMzMrFZAmpmZmZkZVkAzMzMzM9NTQAAAAAAAYFdAMzMzMzNTV0AAAAAAACBYQAAAAAAAwFhAmpmZmZmZWEAAAAAAAOBTQAAAAAAAoFhAMzMzMzPTVEAAAAAAAIBYQGZmZmZmxlhA\",\"dtype\":\"float64\",\"shape\":[162]}},\"selected\":{\"id\":\"15390\",\"type\":\"Selection\"},\"selection_policy\":{\"id\":\"15389\",\"type\":\"UnionRenderers\"}},\"id\":\"14925\",\"type\":\"ColumnDataSource\"},{\"attributes\":{\"overlay\":{\"id\":\"14953\",\"type\":\"BoxAnnotation\"}},\"id\":\"14947\",\"type\":\"BoxZoomTool\"},{\"attributes\":{},\"id\":\"14950\",\"type\":\"HelpTool\"},{\"attributes\":{\"below\":[{\"id\":\"14935\",\"type\":\"LinearAxis\"}],\"left\":[{\"id\":\"14940\",\"type\":\"LinearAxis\"}],\"renderers\":[{\"id\":\"14935\",\"type\":\"LinearAxis\"},{\"id\":\"14939\",\"type\":\"Grid\"},{\"id\":\"14940\",\"type\":\"LinearAxis\"},{\"id\":\"14944\",\"type\":\"Grid\"},{\"id\":\"14953\",\"type\":\"BoxAnnotation\"},{\"id\":\"14963\",\"type\":\"GlyphRenderer\"}],\"title\":{\"id\":\"15382\",\"type\":\"Title\"},\"toolbar\":{\"id\":\"14951\",\"type\":\"Toolbar\"},\"x_range\":{\"id\":\"14927\",\"type\":\"DataRange1d\"},\"x_scale\":{\"id\":\"14931\",\"type\":\"LinearScale\"},\"y_range\":{\"id\":\"14929\",\"type\":\"DataRange1d\"},\"y_scale\":{\"id\":\"14933\",\"type\":\"LinearScale\"}},\"id\":\"14926\",\"subtype\":\"Figure\",\"type\":\"Plot\"},{\"attributes\":{\"children\":[{\"id\":\"15871\",\"type\":\"Button\"}]},\"id\":\"15872\",\"type\":\"WidgetBox\"},{\"attributes\":{},\"id\":\"14945\",\"type\":\"PanTool\"}],\"root_ids\":[\"15873\"]},\"title\":\"Bokeh Application\",\"version\":\"1.0.2\"}};\n", " var render_items = [{\"docid\":\"ce076c78-cd80-4394-aa85-95b613784a7e\",\"roots\":{\"15873\":\"6ee4630b-321b-417f-a215-9d3ed4ecc6ed\"}}];\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": "15873" } }, "output_type": "display_data" } ], "source": [ "from bokeh.models import Button\n", "\n", "# Create a Button with label 'Update Data'\n", "button = Button(label = 'Update Data')\n", "\n", "# Define an update callback with no arguments: update\n", "def update():\n", "\n", " # Compute new y values: y\n", " y = np.sin(x) + np.random.random(N)\n", "\n", " # Update the ColumnDataSource data dictionary\n", " source.data = {'x':x, 'y':y}\n", "\n", "# Add the update callback to the button\n", "button.on_click(update)\n", "\n", "# Create layout and add to current document\n", "layout = column(widgetbox(button), plot)\n", "curdoc().add_root(layout)\n", "\n", "show(layout)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Button styles\n", "\n", "Here, we'll practice using CheckboxGroup, RadioGroup, and Toggle to add multiple `Button` widgets with different styles.\n", "\n", "\n" ] }, { "cell_type": "code", "execution_count": 46, "metadata": {}, "outputs": [], "source": [ "# Import CheckboxGroup, RadioGroup, Toggle from bokeh.models\n", "from bokeh.models import CheckboxGroup, RadioGroup, Toggle\n", "\n", "# Add a Toggle: toggle\n", "toggle = Toggle(button_type='success', label='Toggle button')\n", "\n", "# Add a CheckboxGroup: checkbox\n", "checkbox = CheckboxGroup(labels=['Option 1', 'Option 2', 'Option 3'])\n", "\n", "# Add a RadioGroup: radio\n", "radio = RadioGroup(labels=['Option 1', 'Option 2', 'Option 3'])\n", "\n", "# Add widgetbox(toggle, checkbox, radio) to the current document\n", "curdoc().add_root(widgetbox(toggle, checkbox, radio))\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Hosting applications for wider audiences\n", "\n", "\n", "### Bokeh Application Hosting\n", "\n", "https://anaconda.org provides some resources for hosting environments, jupyter notebooks and scripts. " ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# A Case Study of the Gapminder Dataset\n", "\n", "\n", "### The Gapminder Data Set\n", "```\n", "In [1]: data.head() \n", "Out[1]:\n", " Country fertility life population child_mortality gdp \\ \n", "Year \n", "1964 Afghanistan 7.671 33.639 10474903.0 339.7 1182.0 \n", "1965 Afghanistan 7.671 34.152 10697983.0 334.1 1182.0 \n", "1966 Afghanistan 7.671 34.662 10927724.0 328.7 1168.0 \n", "1967 Afghanistan 7.671 35.170 11163656.0 323.3 1173.0 \n", "1968 Afghanistan 7.671 35.674 11411022.0 318.1 1187.0 \n", " region \n", "\n", " South Asia \n", " South Asia \n", " South Asia \n", " South Asia \n", " South Asia\n", "```\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Introducing the project dataset\n", "\n", "\n", "It is always a good idea to begin with some Exploratory Data Analysis. Pandas has a number of built-in methods that help with this. For example, `data.head()` displays the first five rows/entries of `data`, while `data.tail()` displays the last five rows/entries. `data.shape` gives you information about how many rows and columns there are in the data set. Another particularly useful method is `data.info()`, which provides a concise summary of `data`, including information about the number of entries, columns, data type of each column, and number of non-null entries in each column.\n" ] }, { "cell_type": "code", "execution_count": 47, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ " Country fertility life population child_mortality gdp \\\n", "Year \n", "1964 Afghanistan 7.671 33.639 10474903.0 339.7 1182.0 \n", "1965 Afghanistan 7.671 34.152 10697983.0 334.1 1182.0 \n", "1966 Afghanistan 7.671 34.662 10927724.0 328.7 1168.0 \n", "1967 Afghanistan 7.671 35.170 11163656.0 323.3 1173.0 \n", "1968 Afghanistan 7.671 35.674 11411022.0 318.1 1187.0 \n", "\n", " region \n", "Year \n", "1964 South Asia \n", "1965 South Asia \n", "1966 South Asia \n", "1967 South Asia \n", "1968 South Asia \n", " Country fertility life population child_mortality gdp \\\n", "Year \n", "2002 Åland NaN 81.80 26257.0 NaN NaN \n", "2003 Åland NaN 80.63 26347.0 NaN NaN \n", "2004 Åland NaN 79.88 26530.0 NaN NaN \n", "2005 Åland NaN 80.00 26766.0 NaN NaN \n", "2006 Åland NaN 80.10 26923.0 NaN NaN \n", "\n", " region \n", "Year \n", "2002 Europe & Central Asia \n", "2003 Europe & Central Asia \n", "2004 Europe & Central Asia \n", "2005 Europe & Central Asia \n", "2006 Europe & Central Asia \n", "(10111, 7)\n", "\n", "Int64Index: 10111 entries, 1964 to 2006\n", "Data columns (total 7 columns):\n", "Country 10111 non-null object\n", "fertility 10100 non-null float64\n", "life 10111 non-null float64\n", "population 10108 non-null float64\n", "child_mortality 9210 non-null float64\n", "gdp 9000 non-null float64\n", "region 10111 non-null object\n", "dtypes: float64(5), object(2)\n", "memory usage: 631.9+ KB\n", "None\n" ] } ], "source": [ "data = pd.read_csv('data/gapminder_tidy.csv', index_col = 1)\n", "print(data.head())\n", "print(data.tail())\n", "print(data.shape)\n", "print(data.info())\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Some exploratory plots of the data\n" ] }, { "cell_type": "code", "execution_count": 69, "metadata": {}, "outputs": [ { "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 = {\"46976d8b-d8c2-4d35-a615-2f45c3408329\":{\"roots\":{\"references\":[{\"attributes\":{\"below\":[{\"id\":\"31734\",\"type\":\"LinearAxis\"}],\"left\":[{\"id\":\"31739\",\"type\":\"LinearAxis\"}],\"plot_height\":400,\"plot_width\":700,\"renderers\":[{\"id\":\"31734\",\"type\":\"LinearAxis\"},{\"id\":\"31738\",\"type\":\"Grid\"},{\"id\":\"31739\",\"type\":\"LinearAxis\"},{\"id\":\"31743\",\"type\":\"Grid\"},{\"id\":\"31749\",\"type\":\"GlyphRenderer\"}],\"title\":{\"id\":\"31723\",\"type\":\"Title\"},\"toolbar\":{\"id\":\"31744\",\"type\":\"Toolbar\"},\"x_range\":{\"id\":\"31726\",\"type\":\"DataRange1d\"},\"x_scale\":{\"id\":\"31730\",\"type\":\"LinearScale\"},\"y_range\":{\"id\":\"31728\",\"type\":\"DataRange1d\"},\"y_scale\":{\"id\":\"31732\",\"type\":\"LinearScale\"}},\"id\":\"31724\",\"subtype\":\"Figure\",\"type\":\"Plot\"},{\"attributes\":{},\"id\":\"32226\",\"type\":\"BasicTickFormatter\"},{\"attributes\":{\"callback\":null},\"id\":\"31726\",\"type\":\"DataRange1d\"},{\"attributes\":{},\"id\":\"32230\",\"type\":\"UnionRenderers\"},{\"attributes\":{\"callback\":null},\"id\":\"31728\",\"type\":\"DataRange1d\"},{\"attributes\":{\"plot\":null,\"text\":\"1970\"},\"id\":\"31723\",\"type\":\"Title\"},{\"attributes\":{\"data_source\":{\"id\":\"31721\",\"type\":\"ColumnDataSource\"},\"glyph\":{\"id\":\"31747\",\"type\":\"Circle\"},\"hover_glyph\":null,\"muted_glyph\":null,\"nonselection_glyph\":{\"id\":\"31748\",\"type\":\"Circle\"},\"selection_glyph\":null,\"view\":{\"id\":\"31750\",\"type\":\"CDSView\"}},\"id\":\"31749\",\"type\":\"GlyphRenderer\"},{\"attributes\":{},\"id\":\"31730\",\"type\":\"LinearScale\"},{\"attributes\":{},\"id\":\"31732\",\"type\":\"LinearScale\"},{\"attributes\":{\"axis_label\":\"Fertility (children per woman)\",\"formatter\":{\"id\":\"32228\",\"type\":\"BasicTickFormatter\"},\"plot\":{\"id\":\"31724\",\"subtype\":\"Figure\",\"type\":\"Plot\"},\"ticker\":{\"id\":\"31735\",\"type\":\"BasicTicker\"}},\"id\":\"31734\",\"type\":\"LinearAxis\"},{\"attributes\":{},\"id\":\"31735\",\"type\":\"BasicTicker\"},{\"attributes\":{\"plot\":{\"id\":\"31724\",\"subtype\":\"Figure\",\"type\":\"Plot\"},\"ticker\":{\"id\":\"31735\",\"type\":\"BasicTicker\"}},\"id\":\"31738\",\"type\":\"Grid\"},{\"attributes\":{\"axis_label\":\"Life Expectancy (years)\",\"formatter\":{\"id\":\"32226\",\"type\":\"BasicTickFormatter\"},\"plot\":{\"id\":\"31724\",\"subtype\":\"Figure\",\"type\":\"Plot\"},\"ticker\":{\"id\":\"31740\",\"type\":\"BasicTicker\"}},\"id\":\"31739\",\"type\":\"LinearAxis\"},{\"attributes\":{},\"id\":\"31740\",\"type\":\"BasicTicker\"},{\"attributes\":{\"callback\":null,\"data\":{\"country\":[\"Afghanistan\",\"Albania\",\"Algeria\",\"Angola\",\"Antigua and Barbuda\",\"Argentina\",\"Armenia\",\"Aruba\",\"Australia\",\"Austria\",\"Azerbaijan\",\"Bahamas\",\"Bahrain\",\"Bangladesh\",\"Barbados\",\"Belarus\",\"Belgium\",\"Belize\",\"Benin\",\"Bhutan\",\"Bolivia\",\"Bosnia and Herzegovina\",\"Botswana\",\"Brazil\",\"Brunei\",\"Bulgaria\",\"Burkina Faso\",\"Burundi\",\"Cambodia\",\"Cameroon\",\"Canada\",\"Cape Verde\",\"Central African Rep.\",\"Chad\",\"Channel Islands\",\"Chile\",\"China\",\"Colombia\",\"Comoros\",\"Congo, Dem. Rep.\",\"Congo, Rep.\",\"Costa Rica\",\"Cote d'Ivoire\",\"Croatia\",\"Cuba\",\"Cyprus\",\"Czech Rep.\",\"Denmark\",\"Djibouti\",\"Dominican Rep.\",\"Ecuador\",\"Egypt\",\"El Salvador\",\"Equatorial Guinea\",\"Eritrea\",\"Estonia\",\"Ethiopia\",\"Fiji\",\"Finland\",\"France\",\"French Guiana\",\"French Polynesia\",\"Gabon\",\"Gambia\",\"Georgia\",\"Germany\",\"Ghana\",\"Greece\",\"Greenland\",\"Grenada\",\"Guadeloupe\",\"Guam\",\"Guatemala\",\"Guinea\",\"Guinea-Bissau\",\"Guyana\",\"Haiti\",\"Honduras\",\"Hong Kong, China\",\"Hungary\",\"Iceland\",\"India\",\"Indonesia\",\"Iran\",\"Iraq\",\"Ireland\",\"Israel\",\"Italy\",\"Jamaica\",\"Japan\",\"Jordan\",\"Kazakhstan\",\"Kenya\",\"Kiribati\",\"Korea, Dem. Rep.\",\"Korea, Rep.\",\"Kuwait\",\"Kyrgyzstan\",\"Laos\",\"Latvia\",\"Lebanon\",\"Lesotho\",\"Liberia\",\"Libya\",\"Lithuania\",\"Luxembourg\",\"Macao, China\",\"Macedonia, FYR\",\"Madagascar\",\"Malawi\",\"Malaysia\",\"Maldives\",\"Mali\",\"Malta\",\"Martinique\",\"Mauritania\",\"Mauritius\",\"Mayotte\",\"Mexico\",\"Micronesia, Fed. Sts.\",\"Moldova\",\"Mongolia\",\"Montenegro\",\"Morocco\",\"Mozambique\",\"Myanmar\",\"Namibia\",\"Nepal\",\"Netherlands\",\"Netherlands Antilles\",\"New Caledonia\",\"New Zealand\",\"Nicaragua\",\"Niger\",\"Nigeria\",\"Norway\",\"Oman\",\"Pakistan\",\"Panama\",\"Papua New Guinea\",\"Paraguay\",\"Peru\",\"Philippines\",\"Poland\",\"Portugal\",\"Puerto Rico\",\"Qatar\",\"Reunion\",\"Romania\",\"Russia\",\"Rwanda\",\"Saint Lucia\",\"Saint Vincent and the Grenadines\",\"Samoa\",\"Sao Tome and Principe\",\"Saudi Arabia\",\"Senegal\",\"Serbia\",\"Seychelles\",\"Sierra Leone\",\"Singapore\",\"Slovak Republic\",\"Slovenia\",\"Solomon Islands\",\"Somalia\",\"South Africa\",\"South Sudan\",\"Spain\",\"Sri Lanka\",\"Sudan\",\"Suriname\",\"Swaziland\",\"Sweden\",\"Switzerland\",\"Syria\",\"Taiwan\",\"Tajikistan\",\"Tanzania\",\"Thailand\",\"Timor-Leste\",\"Togo\",\"Tonga\",\"Trinidad and Tobago\",\"Tunisia\",\"Turkey\",\"Turkmenistan\",\"Uganda\",\"Ukraine\",\"United Arab Emirates\",\"United Kingdom\",\"United States\",\"Uruguay\",\"Uzbekistan\",\"Vanuatu\",\"Venezuela\",\"Vietnam\",\"Virgin Islands (U.S.)\",\"West Bank and Gaza\",\"Western Sahara\",\"Yemen, Rep.\",\"Zambia\",\"Zimbabwe\"],\"region\":[\"South Asia\",\"Europe & Central Asia\",\"Middle East & North Africa\",\"Sub-Saharan Africa\",\"America\",\"America\",\"Europe & Central Asia\",\"America\",\"East Asia & Pacific\",\"Europe & Central Asia\",\"Europe & Central Asia\",\"America\",\"Middle East & North Africa\",\"South Asia\",\"America\",\"Europe & Central Asia\",\"Europe & Central Asia\",\"America\",\"Sub-Saharan Africa\",\"South Asia\",\"America\",\"Europe & Central Asia\",\"Sub-Saharan Africa\",\"America\",\"East Asia & Pacific\",\"Europe & Central Asia\",\"Sub-Saharan Africa\",\"Sub-Saharan Africa\",\"East Asia & Pacific\",\"Sub-Saharan Africa\",\"America\",\"Sub-Saharan Africa\",\"Sub-Saharan Africa\",\"Sub-Saharan Africa\",\"Europe & Central Asia\",\"America\",\"East Asia & Pacific\",\"America\",\"Sub-Saharan Africa\",\"Sub-Saharan Africa\",\"Sub-Saharan Africa\",\"America\",\"Sub-Saharan Africa\",\"Europe & Central Asia\",\"America\",\"Europe & Central Asia\",\"Europe & Central Asia\",\"Europe & Central Asia\",\"Middle East & North Africa\",\"America\",\"America\",\"Middle East & North Africa\",\"America\",\"Sub-Saharan Africa\",\"Sub-Saharan Africa\",\"Europe & Central Asia\",\"Sub-Saharan Africa\",\"East Asia & Pacific\",\"Europe & Central Asia\",\"Europe & Central Asia\",\"America\",\"East Asia & Pacific\",\"Sub-Saharan Africa\",\"Sub-Saharan Africa\",\"Europe & Central Asia\",\"Europe & Central Asia\",\"Sub-Saharan Africa\",\"Europe & Central Asia\",\"Europe & Central Asia\",\"America\",\"America\",\"East Asia & Pacific\",\"America\",\"Sub-Saharan Africa\",\"Sub-Saharan Africa\",\"America\",\"America\",\"America\",\"East Asia & Pacific\",\"Europe & Central Asia\",\"Europe & Central Asia\",\"South Asia\",\"East Asia & Pacific\",\"Middle East & North Africa\",\"Middle East & North Africa\",\"Europe & Central Asia\",\"Middle East & North Africa\",\"Europe & Central Asia\",\"America\",\"East Asia & Pacific\",\"Middle East & North Africa\",\"Europe & Central Asia\",\"Sub-Saharan Africa\",\"East Asia & Pacific\",\"East Asia & Pacific\",\"East Asia & Pacific\",\"Middle East & North Africa\",\"Europe & Central Asia\",\"East Asia & Pacific\",\"Europe & Central Asia\",\"Middle East & North Africa\",\"Sub-Saharan Africa\",\"Sub-Saharan Africa\",\"Middle East & North Africa\",\"Europe & Central Asia\",\"Europe & Central Asia\",\"East Asia & Pacific\",\"Europe & Central Asia\",\"Sub-Saharan Africa\",\"Sub-Saharan Africa\",\"East Asia & Pacific\",\"South Asia\",\"Sub-Saharan Africa\",\"Europe & Central Asia\",\"America\",\"Sub-Saharan Africa\",\"Sub-Saharan Africa\",\"Sub-Saharan Africa\",\"America\",\"East Asia & Pacific\",\"Europe & Central Asia\",\"East Asia & Pacific\",\"Europe & Central Asia\",\"Middle East & North Africa\",\"Sub-Saharan Africa\",\"East Asia & Pacific\",\"Sub-Saharan Africa\",\"South Asia\",\"Europe & Central Asia\",\"America\",\"East Asia & Pacific\",\"East Asia & Pacific\",\"America\",\"Sub-Saharan Africa\",\"Sub-Saharan Africa\",\"Europe & Central Asia\",\"Middle East & North Africa\",\"South Asia\",\"America\",\"East Asia & Pacific\",\"America\",\"America\",\"East Asia & Pacific\",\"Europe & Central Asia\",\"Europe & Central Asia\",\"America\",\"Middle East & North Africa\",\"Sub-Saharan Africa\",\"Europe & Central Asia\",\"Europe & Central Asia\",\"Sub-Saharan Africa\",\"America\",\"America\",\"East Asia & Pacific\",\"Sub-Saharan Africa\",\"Middle East & North Africa\",\"Sub-Saharan Africa\",\"Europe & Central Asia\",\"Sub-Saharan Africa\",\"Sub-Saharan Africa\",\"East Asia & Pacific\",\"Europe & Central Asia\",\"Europe & Central Asia\",\"East Asia & Pacific\",\"Sub-Saharan Africa\",\"Sub-Saharan Africa\",\"Sub-Saharan Africa\",\"Europe & Central Asia\",\"South Asia\",\"Sub-Saharan Africa\",\"America\",\"Sub-Saharan Africa\",\"Europe & Central Asia\",\"Europe & Central Asia\",\"Middle East & North Africa\",\"East Asia & Pacific\",\"Europe & Central Asia\",\"Sub-Saharan Africa\",\"East Asia & Pacific\",\"East Asia & Pacific\",\"Sub-Saharan Africa\",\"East Asia & Pacific\",\"America\",\"Middle East & North Africa\",\"Europe & Central Asia\",\"Europe & Central Asia\",\"Sub-Saharan Africa\",\"Europe & Central Asia\",\"Middle East & North Africa\",\"Europe & Central Asia\",\"America\",\"America\",\"Europe & Central Asia\",\"East Asia & Pacific\",\"America\",\"East Asia & Pacific\",\"America\",\"Middle East & North Africa\",\"Middle East & North Africa\",\"Middle East & North Africa\",\"Sub-Saharan Africa\",\"Sub-Saharan Africa\"],\"x\":{\"__ndarray__\":\"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\",\"dtype\":\"float64\",\"shape\":[202]},\"y\":{\"__ndarray__\":\"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\",\"dtype\":\"float64\",\"shape\":[202]}},\"selected\":{\"id\":\"32231\",\"type\":\"Selection\"},\"selection_policy\":{\"id\":\"32230\",\"type\":\"UnionRenderers\"}},\"id\":\"31721\",\"type\":\"ColumnDataSource\"},{\"attributes\":{},\"id\":\"32228\",\"type\":\"BasicTickFormatter\"},{\"attributes\":{\"dimension\":1,\"plot\":{\"id\":\"31724\",\"subtype\":\"Figure\",\"type\":\"Plot\"},\"ticker\":{\"id\":\"31740\",\"type\":\"BasicTicker\"}},\"id\":\"31743\",\"type\":\"Grid\"},{\"attributes\":{\"active_drag\":\"auto\",\"active_inspect\":\"auto\",\"active_multi\":null,\"active_scroll\":\"auto\",\"active_tap\":\"auto\",\"tools\":[{\"id\":\"31722\",\"type\":\"HoverTool\"}]},\"id\":\"31744\",\"type\":\"Toolbar\"},{\"attributes\":{\"fill_color\":{\"value\":\"#1f77b4\"},\"line_color\":{\"value\":\"#1f77b4\"},\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"31747\",\"type\":\"Circle\"},{\"attributes\":{},\"id\":\"32231\",\"type\":\"Selection\"},{\"attributes\":{\"callback\":null,\"tooltips\":\"@country\"},\"id\":\"31722\",\"type\":\"HoverTool\"},{\"attributes\":{\"source\":{\"id\":\"31721\",\"type\":\"ColumnDataSource\"}},\"id\":\"31750\",\"type\":\"CDSView\"},{\"attributes\":{\"fill_alpha\":{\"value\":0.1},\"fill_color\":{\"value\":\"#1f77b4\"},\"line_alpha\":{\"value\":0.1},\"line_color\":{\"value\":\"#1f77b4\"},\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"31748\",\"type\":\"Circle\"}],\"root_ids\":[\"31724\"]},\"title\":\"Bokeh Application\",\"version\":\"1.0.2\"}};\n", " var render_items = [{\"docid\":\"46976d8b-d8c2-4d35-a615-2f45c3408329\",\"roots\":{\"31724\":\"c9aaefa7-0b34-4206-ac1e-a83d3f2a2cc0\"}}];\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": "31724" } }, "output_type": "display_data" } ], "source": [ "# Perform necessary imports\n", "from bokeh.io import output_file, show\n", "from bokeh.plotting import figure\n", "from bokeh.models import HoverTool, ColumnDataSource\n", "\n", "# Make the ColumnDataSource: source\n", "source = ColumnDataSource(data={\n", " 'x' : data.loc[1970].fertility,\n", " 'y' : data.loc[1970].life,\n", " 'country' : data.loc[1970].Country,\n", " 'region' : data.loc[1970].region\n", "})\n", "\n", "# Create the figure: p\n", "plot = figure(title='1970', x_axis_label='Fertility (children per woman)', y_axis_label='Life Expectancy (years)',\n", " plot_height=400, plot_width=700,\n", " tools=[HoverTool(tooltips='@country')])\n", "\n", "# Add a circle glyph to the figure p\n", "plot.circle(x='x', y='y', source=source)\n", "\n", "# Show the figure\n", "show(plot)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Beginning with just a plot\n", "\n", "To start building the plot, we'll make the `ColumnDataSource` object, prepare the plot, and add circles for Life expectancy vs Fertility. \n", "\n", "We'll also set x and y ranges for the axes.\n" ] }, { "cell_type": "code", "execution_count": 70, "metadata": {}, "outputs": [ { "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 = {\"4009b258-b013-4311-b200-25367c32948c\":{\"roots\":{\"references\":[{\"attributes\":{\"below\":[{\"id\":\"31734\",\"type\":\"LinearAxis\"}],\"left\":[{\"id\":\"31739\",\"type\":\"LinearAxis\"}],\"plot_height\":400,\"plot_width\":700,\"renderers\":[{\"id\":\"31734\",\"type\":\"LinearAxis\"},{\"id\":\"31738\",\"type\":\"Grid\"},{\"id\":\"31739\",\"type\":\"LinearAxis\"},{\"id\":\"31743\",\"type\":\"Grid\"},{\"id\":\"31749\",\"type\":\"GlyphRenderer\"}],\"title\":{\"id\":\"31723\",\"type\":\"Title\"},\"toolbar\":{\"id\":\"31744\",\"type\":\"Toolbar\"},\"x_range\":{\"id\":\"31726\",\"type\":\"DataRange1d\"},\"x_scale\":{\"id\":\"31730\",\"type\":\"LinearScale\"},\"y_range\":{\"id\":\"31728\",\"type\":\"DataRange1d\"},\"y_scale\":{\"id\":\"31732\",\"type\":\"LinearScale\"}},\"id\":\"31724\",\"subtype\":\"Figure\",\"type\":\"Plot\"},{\"attributes\":{},\"id\":\"32226\",\"type\":\"BasicTickFormatter\"},{\"attributes\":{\"callback\":null},\"id\":\"31726\",\"type\":\"DataRange1d\"},{\"attributes\":{},\"id\":\"32230\",\"type\":\"UnionRenderers\"},{\"attributes\":{\"callback\":null},\"id\":\"31728\",\"type\":\"DataRange1d\"},{\"attributes\":{\"plot\":null,\"text\":\"1970\"},\"id\":\"31723\",\"type\":\"Title\"},{\"attributes\":{\"data_source\":{\"id\":\"31721\",\"type\":\"ColumnDataSource\"},\"glyph\":{\"id\":\"31747\",\"type\":\"Circle\"},\"hover_glyph\":null,\"muted_glyph\":null,\"nonselection_glyph\":{\"id\":\"31748\",\"type\":\"Circle\"},\"selection_glyph\":null,\"view\":{\"id\":\"31750\",\"type\":\"CDSView\"}},\"id\":\"31749\",\"type\":\"GlyphRenderer\"},{\"attributes\":{},\"id\":\"31730\",\"type\":\"LinearScale\"},{\"attributes\":{},\"id\":\"31732\",\"type\":\"LinearScale\"},{\"attributes\":{\"axis_label\":\"Fertility (children per woman)\",\"formatter\":{\"id\":\"32228\",\"type\":\"BasicTickFormatter\"},\"plot\":{\"id\":\"31724\",\"subtype\":\"Figure\",\"type\":\"Plot\"},\"ticker\":{\"id\":\"31735\",\"type\":\"BasicTicker\"}},\"id\":\"31734\",\"type\":\"LinearAxis\"},{\"attributes\":{},\"id\":\"31735\",\"type\":\"BasicTicker\"},{\"attributes\":{\"plot\":{\"id\":\"31724\",\"subtype\":\"Figure\",\"type\":\"Plot\"},\"ticker\":{\"id\":\"31735\",\"type\":\"BasicTicker\"}},\"id\":\"31738\",\"type\":\"Grid\"},{\"attributes\":{\"axis_label\":\"Life Expectancy (years)\",\"formatter\":{\"id\":\"32226\",\"type\":\"BasicTickFormatter\"},\"plot\":{\"id\":\"31724\",\"subtype\":\"Figure\",\"type\":\"Plot\"},\"ticker\":{\"id\":\"31740\",\"type\":\"BasicTicker\"}},\"id\":\"31739\",\"type\":\"LinearAxis\"},{\"attributes\":{},\"id\":\"31740\",\"type\":\"BasicTicker\"},{\"attributes\":{\"callback\":null,\"data\":{\"country\":[\"Afghanistan\",\"Albania\",\"Algeria\",\"Angola\",\"Antigua and Barbuda\",\"Argentina\",\"Armenia\",\"Aruba\",\"Australia\",\"Austria\",\"Azerbaijan\",\"Bahamas\",\"Bahrain\",\"Bangladesh\",\"Barbados\",\"Belarus\",\"Belgium\",\"Belize\",\"Benin\",\"Bhutan\",\"Bolivia\",\"Bosnia and Herzegovina\",\"Botswana\",\"Brazil\",\"Brunei\",\"Bulgaria\",\"Burkina Faso\",\"Burundi\",\"Cambodia\",\"Cameroon\",\"Canada\",\"Cape Verde\",\"Central African Rep.\",\"Chad\",\"Channel Islands\",\"Chile\",\"China\",\"Colombia\",\"Comoros\",\"Congo, Dem. Rep.\",\"Congo, Rep.\",\"Costa Rica\",\"Cote d'Ivoire\",\"Croatia\",\"Cuba\",\"Cyprus\",\"Czech Rep.\",\"Denmark\",\"Djibouti\",\"Dominican Rep.\",\"Ecuador\",\"Egypt\",\"El Salvador\",\"Equatorial Guinea\",\"Eritrea\",\"Estonia\",\"Ethiopia\",\"Fiji\",\"Finland\",\"France\",\"French Guiana\",\"French Polynesia\",\"Gabon\",\"Gambia\",\"Georgia\",\"Germany\",\"Ghana\",\"Greece\",\"Greenland\",\"Grenada\",\"Guadeloupe\",\"Guam\",\"Guatemala\",\"Guinea\",\"Guinea-Bissau\",\"Guyana\",\"Haiti\",\"Honduras\",\"Hong Kong, China\",\"Hungary\",\"Iceland\",\"India\",\"Indonesia\",\"Iran\",\"Iraq\",\"Ireland\",\"Israel\",\"Italy\",\"Jamaica\",\"Japan\",\"Jordan\",\"Kazakhstan\",\"Kenya\",\"Kiribati\",\"Korea, Dem. Rep.\",\"Korea, Rep.\",\"Kuwait\",\"Kyrgyzstan\",\"Laos\",\"Latvia\",\"Lebanon\",\"Lesotho\",\"Liberia\",\"Libya\",\"Lithuania\",\"Luxembourg\",\"Macao, China\",\"Macedonia, FYR\",\"Madagascar\",\"Malawi\",\"Malaysia\",\"Maldives\",\"Mali\",\"Malta\",\"Martinique\",\"Mauritania\",\"Mauritius\",\"Mayotte\",\"Mexico\",\"Micronesia, Fed. Sts.\",\"Moldova\",\"Mongolia\",\"Montenegro\",\"Morocco\",\"Mozambique\",\"Myanmar\",\"Namibia\",\"Nepal\",\"Netherlands\",\"Netherlands Antilles\",\"New Caledonia\",\"New Zealand\",\"Nicaragua\",\"Niger\",\"Nigeria\",\"Norway\",\"Oman\",\"Pakistan\",\"Panama\",\"Papua New Guinea\",\"Paraguay\",\"Peru\",\"Philippines\",\"Poland\",\"Portugal\",\"Puerto Rico\",\"Qatar\",\"Reunion\",\"Romania\",\"Russia\",\"Rwanda\",\"Saint Lucia\",\"Saint Vincent and the Grenadines\",\"Samoa\",\"Sao Tome and Principe\",\"Saudi Arabia\",\"Senegal\",\"Serbia\",\"Seychelles\",\"Sierra Leone\",\"Singapore\",\"Slovak Republic\",\"Slovenia\",\"Solomon Islands\",\"Somalia\",\"South Africa\",\"South Sudan\",\"Spain\",\"Sri Lanka\",\"Sudan\",\"Suriname\",\"Swaziland\",\"Sweden\",\"Switzerland\",\"Syria\",\"Taiwan\",\"Tajikistan\",\"Tanzania\",\"Thailand\",\"Timor-Leste\",\"Togo\",\"Tonga\",\"Trinidad and Tobago\",\"Tunisia\",\"Turkey\",\"Turkmenistan\",\"Uganda\",\"Ukraine\",\"United Arab Emirates\",\"United Kingdom\",\"United States\",\"Uruguay\",\"Uzbekistan\",\"Vanuatu\",\"Venezuela\",\"Vietnam\",\"Virgin Islands (U.S.)\",\"West Bank and Gaza\",\"Western Sahara\",\"Yemen, Rep.\",\"Zambia\",\"Zimbabwe\"],\"region\":[\"South Asia\",\"Europe & Central Asia\",\"Middle East & North Africa\",\"Sub-Saharan Africa\",\"America\",\"America\",\"Europe & Central Asia\",\"America\",\"East Asia & Pacific\",\"Europe & Central Asia\",\"Europe & Central Asia\",\"America\",\"Middle East & North Africa\",\"South Asia\",\"America\",\"Europe & Central Asia\",\"Europe & Central Asia\",\"America\",\"Sub-Saharan Africa\",\"South Asia\",\"America\",\"Europe & Central Asia\",\"Sub-Saharan Africa\",\"America\",\"East Asia & Pacific\",\"Europe & Central Asia\",\"Sub-Saharan Africa\",\"Sub-Saharan Africa\",\"East Asia & Pacific\",\"Sub-Saharan Africa\",\"America\",\"Sub-Saharan Africa\",\"Sub-Saharan Africa\",\"Sub-Saharan Africa\",\"Europe & Central Asia\",\"America\",\"East Asia & Pacific\",\"America\",\"Sub-Saharan Africa\",\"Sub-Saharan Africa\",\"Sub-Saharan Africa\",\"America\",\"Sub-Saharan Africa\",\"Europe & Central Asia\",\"America\",\"Europe & Central Asia\",\"Europe & Central Asia\",\"Europe & Central Asia\",\"Middle East & North Africa\",\"America\",\"America\",\"Middle East & North Africa\",\"America\",\"Sub-Saharan Africa\",\"Sub-Saharan Africa\",\"Europe & Central Asia\",\"Sub-Saharan Africa\",\"East Asia & Pacific\",\"Europe & Central Asia\",\"Europe & Central Asia\",\"America\",\"East Asia & Pacific\",\"Sub-Saharan Africa\",\"Sub-Saharan Africa\",\"Europe & Central Asia\",\"Europe & Central Asia\",\"Sub-Saharan Africa\",\"Europe & Central Asia\",\"Europe & Central Asia\",\"America\",\"America\",\"East Asia & Pacific\",\"America\",\"Sub-Saharan Africa\",\"Sub-Saharan Africa\",\"America\",\"America\",\"America\",\"East Asia & Pacific\",\"Europe & Central Asia\",\"Europe & Central Asia\",\"South Asia\",\"East Asia & Pacific\",\"Middle East & North Africa\",\"Middle East & North Africa\",\"Europe & Central Asia\",\"Middle East & North Africa\",\"Europe & Central Asia\",\"America\",\"East Asia & Pacific\",\"Middle East & North Africa\",\"Europe & Central Asia\",\"Sub-Saharan Africa\",\"East Asia & Pacific\",\"East Asia & Pacific\",\"East Asia & Pacific\",\"Middle East & North Africa\",\"Europe & Central Asia\",\"East Asia & Pacific\",\"Europe & Central Asia\",\"Middle East & North Africa\",\"Sub-Saharan Africa\",\"Sub-Saharan Africa\",\"Middle East & North Africa\",\"Europe & Central Asia\",\"Europe & Central Asia\",\"East Asia & Pacific\",\"Europe & Central Asia\",\"Sub-Saharan Africa\",\"Sub-Saharan Africa\",\"East Asia & Pacific\",\"South Asia\",\"Sub-Saharan Africa\",\"Europe & Central Asia\",\"America\",\"Sub-Saharan Africa\",\"Sub-Saharan Africa\",\"Sub-Saharan Africa\",\"America\",\"East Asia & Pacific\",\"Europe & Central Asia\",\"East Asia & Pacific\",\"Europe & Central Asia\",\"Middle East & North Africa\",\"Sub-Saharan Africa\",\"East Asia & Pacific\",\"Sub-Saharan Africa\",\"South Asia\",\"Europe & Central Asia\",\"America\",\"East Asia & Pacific\",\"East Asia & Pacific\",\"America\",\"Sub-Saharan Africa\",\"Sub-Saharan Africa\",\"Europe & Central Asia\",\"Middle East & North Africa\",\"South Asia\",\"America\",\"East Asia & Pacific\",\"America\",\"America\",\"East Asia & Pacific\",\"Europe & Central Asia\",\"Europe & Central Asia\",\"America\",\"Middle East & North Africa\",\"Sub-Saharan Africa\",\"Europe & Central Asia\",\"Europe & Central Asia\",\"Sub-Saharan Africa\",\"America\",\"America\",\"East Asia & Pacific\",\"Sub-Saharan Africa\",\"Middle East & North Africa\",\"Sub-Saharan Africa\",\"Europe & Central Asia\",\"Sub-Saharan Africa\",\"Sub-Saharan Africa\",\"East Asia & Pacific\",\"Europe & Central Asia\",\"Europe & Central Asia\",\"East Asia & Pacific\",\"Sub-Saharan Africa\",\"Sub-Saharan Africa\",\"Sub-Saharan Africa\",\"Europe & Central Asia\",\"South Asia\",\"Sub-Saharan Africa\",\"America\",\"Sub-Saharan Africa\",\"Europe & Central Asia\",\"Europe & Central Asia\",\"Middle East & North Africa\",\"East Asia & Pacific\",\"Europe & Central Asia\",\"Sub-Saharan Africa\",\"East Asia & Pacific\",\"East Asia & Pacific\",\"Sub-Saharan Africa\",\"East Asia & Pacific\",\"America\",\"Middle East & North Africa\",\"Europe & Central Asia\",\"Europe & Central Asia\",\"Sub-Saharan Africa\",\"Europe & Central Asia\",\"Middle East & North Africa\",\"Europe & Central Asia\",\"America\",\"America\",\"Europe & Central Asia\",\"East Asia & Pacific\",\"America\",\"East Asia & Pacific\",\"America\",\"Middle East & North Africa\",\"Middle East & North Africa\",\"Middle East & North Africa\",\"Sub-Saharan Africa\",\"Sub-Saharan Africa\"],\"x\":{\"__ndarray__\":\"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\",\"dtype\":\"float64\",\"shape\":[202]},\"y\":{\"__ndarray__\":\"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\",\"dtype\":\"float64\",\"shape\":[202]}},\"selected\":{\"id\":\"32231\",\"type\":\"Selection\"},\"selection_policy\":{\"id\":\"32230\",\"type\":\"UnionRenderers\"}},\"id\":\"31721\",\"type\":\"ColumnDataSource\"},{\"attributes\":{},\"id\":\"32228\",\"type\":\"BasicTickFormatter\"},{\"attributes\":{\"dimension\":1,\"plot\":{\"id\":\"31724\",\"subtype\":\"Figure\",\"type\":\"Plot\"},\"ticker\":{\"id\":\"31740\",\"type\":\"BasicTicker\"}},\"id\":\"31743\",\"type\":\"Grid\"},{\"attributes\":{\"active_drag\":\"auto\",\"active_inspect\":\"auto\",\"active_multi\":null,\"active_scroll\":\"auto\",\"active_tap\":\"auto\",\"tools\":[{\"id\":\"31722\",\"type\":\"HoverTool\"}]},\"id\":\"31744\",\"type\":\"Toolbar\"},{\"attributes\":{\"fill_color\":{\"value\":\"#1f77b4\"},\"line_color\":{\"value\":\"#1f77b4\"},\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"31747\",\"type\":\"Circle\"},{\"attributes\":{},\"id\":\"32231\",\"type\":\"Selection\"},{\"attributes\":{\"callback\":null,\"tooltips\":\"@country\"},\"id\":\"31722\",\"type\":\"HoverTool\"},{\"attributes\":{\"source\":{\"id\":\"31721\",\"type\":\"ColumnDataSource\"}},\"id\":\"31750\",\"type\":\"CDSView\"},{\"attributes\":{\"fill_alpha\":{\"value\":0.1},\"fill_color\":{\"value\":\"#1f77b4\"},\"line_alpha\":{\"value\":0.1},\"line_color\":{\"value\":\"#1f77b4\"},\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"31748\",\"type\":\"Circle\"}],\"root_ids\":[\"31724\"]},\"title\":\"Bokeh Application\",\"version\":\"1.0.2\"}};\n", " var render_items = [{\"docid\":\"4009b258-b013-4311-b200-25367c32948c\",\"roots\":{\"31724\":\"582eb30e-2e86-4612-8d24-b01e57fe7e0c\"}}];\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": "31724" } }, "output_type": "display_data" } ], "source": [ "# Import the necessary modules\n", "from bokeh.io import curdoc\n", "from bokeh.models import ColumnDataSource\n", "from bokeh.plotting import figure\n", "\n", "\n", "# Add the plot to the current document and add a title\n", "curdoc().add_root(plot)\n", "curdoc().title = 'Gapminder'\n", "\n", "show(plot)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "\n", "#### Notice how life expectancy seems to go down as fertility goes up? It would be interesting to see how this varies by continent. \n", "\n", "## Enhancing the plot with some shading\n", "\n", "Now that we have the basic plot, let's enhance it by coloring each circle glyph by continent. To do this, we'll use a colormapper.\n" ] }, { "cell_type": "code", "execution_count": 73, "metadata": {}, "outputs": [ { "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 = {\"3c40d16f-1f95-480b-bed0-8b2fd342b6c7\":{\"roots\":{\"references\":[{\"attributes\":{\"below\":[{\"id\":\"31734\",\"type\":\"LinearAxis\"}],\"left\":[{\"id\":\"31739\",\"type\":\"LinearAxis\"}],\"plot_height\":400,\"plot_width\":700,\"renderers\":[{\"id\":\"31734\",\"type\":\"LinearAxis\"},{\"id\":\"31738\",\"type\":\"Grid\"},{\"id\":\"31739\",\"type\":\"LinearAxis\"},{\"id\":\"31743\",\"type\":\"Grid\"},{\"id\":\"31749\",\"type\":\"GlyphRenderer\"},{\"id\":\"32329\",\"type\":\"Legend\"},{\"id\":\"32320\",\"type\":\"GlyphRenderer\"},{\"id\":\"33820\",\"type\":\"GlyphRenderer\"},{\"id\":\"34795\",\"type\":\"GlyphRenderer\"},{\"id\":\"35812\",\"type\":\"GlyphRenderer\"}],\"title\":{\"id\":\"31723\",\"type\":\"Title\"},\"toolbar\":{\"id\":\"31744\",\"type\":\"Toolbar\"},\"x_range\":{\"id\":\"31726\",\"type\":\"DataRange1d\"},\"x_scale\":{\"id\":\"31730\",\"type\":\"LinearScale\"},\"y_range\":{\"id\":\"31728\",\"type\":\"DataRange1d\"},\"y_scale\":{\"id\":\"31732\",\"type\":\"LinearScale\"}},\"id\":\"31724\",\"subtype\":\"Figure\",\"type\":\"Plot\"},{\"attributes\":{},\"id\":\"32226\",\"type\":\"BasicTickFormatter\"},{\"attributes\":{\"source\":{\"id\":\"31721\",\"type\":\"ColumnDataSource\"}},\"id\":\"33821\",\"type\":\"CDSView\"},{\"attributes\":{\"fill_alpha\":{\"value\":0.8},\"fill_color\":{\"field\":\"region\",\"transform\":{\"id\":\"33816\",\"type\":\"CategoricalColorMapper\"}},\"line_color\":{\"field\":\"region\",\"transform\":{\"id\":\"33816\",\"type\":\"CategoricalColorMapper\"}},\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"33818\",\"type\":\"Circle\"},{\"attributes\":{\"fill_alpha\":{\"value\":0.8},\"fill_color\":{\"field\":\"region\",\"transform\":{\"id\":\"35808\",\"type\":\"CategoricalColorMapper\"}},\"line_color\":{\"field\":\"region\",\"transform\":{\"id\":\"35808\",\"type\":\"CategoricalColorMapper\"}},\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"35810\",\"type\":\"Circle\"},{\"attributes\":{\"callback\":null},\"id\":\"31726\",\"type\":\"DataRange1d\"},{\"attributes\":{\"factors\":[\"South Asia\",\"Europe & Central Asia\",\"Middle East & North Africa\",\"Sub-Saharan Africa\",\"America\",\"East Asia & Pacific\"],\"palette\":[\"#3288bd\",\"#99d594\",\"#e6f598\",\"#fee08b\",\"#fc8d59\",\"#d53e4f\"]},\"id\":\"34791\",\"type\":\"CategoricalColorMapper\"},{\"attributes\":{\"items\":[{\"id\":\"32811\",\"type\":\"LegendItem\"}],\"location\":\"bottom_left\",\"plot\":{\"id\":\"31724\",\"subtype\":\"Figure\",\"type\":\"Plot\"}},\"id\":\"32329\",\"type\":\"Legend\"},{\"attributes\":{\"fill_alpha\":{\"value\":0.1},\"fill_color\":{\"value\":\"#1f77b4\"},\"line_alpha\":{\"value\":0.1},\"line_color\":{\"value\":\"#1f77b4\"},\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"35811\",\"type\":\"Circle\"},{\"attributes\":{},\"id\":\"32230\",\"type\":\"UnionRenderers\"},{\"attributes\":{\"callback\":null},\"id\":\"31728\",\"type\":\"DataRange1d\"},{\"attributes\":{\"plot\":null,\"text\":\"1970\"},\"id\":\"31723\",\"type\":\"Title\"},{\"attributes\":{\"data_source\":{\"id\":\"31721\",\"type\":\"ColumnDataSource\"},\"glyph\":{\"id\":\"31747\",\"type\":\"Circle\"},\"hover_glyph\":null,\"muted_glyph\":null,\"nonselection_glyph\":{\"id\":\"31748\",\"type\":\"Circle\"},\"selection_glyph\":null,\"view\":{\"id\":\"31750\",\"type\":\"CDSView\"}},\"id\":\"31749\",\"type\":\"GlyphRenderer\"},{\"attributes\":{},\"id\":\"31730\",\"type\":\"LinearScale\"},{\"attributes\":{\"fill_alpha\":{\"value\":0.1},\"fill_color\":{\"value\":\"#1f77b4\"},\"line_alpha\":{\"value\":0.1},\"line_color\":{\"value\":\"#1f77b4\"},\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"34794\",\"type\":\"Circle\"},{\"attributes\":{},\"id\":\"31732\",\"type\":\"LinearScale\"},{\"attributes\":{\"fill_alpha\":{\"value\":0.8},\"fill_color\":{\"field\":\"region\",\"transform\":{\"id\":\"34791\",\"type\":\"CategoricalColorMapper\"}},\"line_color\":{\"field\":\"region\",\"transform\":{\"id\":\"34791\",\"type\":\"CategoricalColorMapper\"}},\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"34793\",\"type\":\"Circle\"},{\"attributes\":{\"axis_label\":\"Fertility (children per woman)\",\"formatter\":{\"id\":\"32228\",\"type\":\"BasicTickFormatter\"},\"plot\":{\"id\":\"31724\",\"subtype\":\"Figure\",\"type\":\"Plot\"},\"ticker\":{\"id\":\"31735\",\"type\":\"BasicTicker\"}},\"id\":\"31734\",\"type\":\"LinearAxis\"},{\"attributes\":{},\"id\":\"31735\",\"type\":\"BasicTicker\"},{\"attributes\":{\"factors\":[\"South Asia\",\"Europe & Central Asia\",\"Middle East & North Africa\",\"Sub-Saharan Africa\",\"America\",\"East Asia & Pacific\"],\"palette\":[\"#3288bd\",\"#99d594\",\"#e6f598\",\"#fee08b\",\"#fc8d59\",\"#d53e4f\"]},\"id\":\"35808\",\"type\":\"CategoricalColorMapper\"},{\"attributes\":{\"plot\":{\"id\":\"31724\",\"subtype\":\"Figure\",\"type\":\"Plot\"},\"ticker\":{\"id\":\"31735\",\"type\":\"BasicTicker\"}},\"id\":\"31738\",\"type\":\"Grid\"},{\"attributes\":{\"source\":{\"id\":\"31721\",\"type\":\"ColumnDataSource\"}},\"id\":\"32321\",\"type\":\"CDSView\"},{\"attributes\":{\"fill_alpha\":{\"value\":0.1},\"fill_color\":{\"value\":\"#1f77b4\"},\"line_alpha\":{\"value\":0.1},\"line_color\":{\"value\":\"#1f77b4\"},\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"32319\",\"type\":\"Circle\"},{\"attributes\":{\"axis_label\":\"Life Expectancy (years)\",\"formatter\":{\"id\":\"32226\",\"type\":\"BasicTickFormatter\"},\"plot\":{\"id\":\"31724\",\"subtype\":\"Figure\",\"type\":\"Plot\"},\"ticker\":{\"id\":\"31740\",\"type\":\"BasicTicker\"}},\"id\":\"31739\",\"type\":\"LinearAxis\"},{\"attributes\":{\"factors\":[\"South Asia\",\"Europe & Central Asia\",\"Middle East & North Africa\",\"Sub-Saharan Africa\",\"America\",\"East Asia & Pacific\"],\"palette\":[\"#3288bd\",\"#99d594\",\"#e6f598\",\"#fee08b\",\"#fc8d59\",\"#d53e4f\"]},\"id\":\"32316\",\"type\":\"CategoricalColorMapper\"},{\"attributes\":{\"factors\":[\"South Asia\",\"Europe & Central Asia\",\"Middle East & North Africa\",\"Sub-Saharan Africa\",\"America\",\"East Asia & Pacific\"],\"palette\":[\"#3288bd\",\"#99d594\",\"#e6f598\",\"#fee08b\",\"#fc8d59\",\"#d53e4f\"]},\"id\":\"33816\",\"type\":\"CategoricalColorMapper\"},{\"attributes\":{},\"id\":\"31740\",\"type\":\"BasicTicker\"},{\"attributes\":{\"callback\":null,\"data\":{\"country\":[\"Afghanistan\",\"Albania\",\"Algeria\",\"Angola\",\"Antigua and Barbuda\",\"Argentina\",\"Armenia\",\"Aruba\",\"Australia\",\"Austria\",\"Azerbaijan\",\"Bahamas\",\"Bahrain\",\"Bangladesh\",\"Barbados\",\"Belarus\",\"Belgium\",\"Belize\",\"Benin\",\"Bhutan\",\"Bolivia\",\"Bosnia and Herzegovina\",\"Botswana\",\"Brazil\",\"Brunei\",\"Bulgaria\",\"Burkina Faso\",\"Burundi\",\"Cambodia\",\"Cameroon\",\"Canada\",\"Cape Verde\",\"Central African Rep.\",\"Chad\",\"Channel Islands\",\"Chile\",\"China\",\"Colombia\",\"Comoros\",\"Congo, Dem. Rep.\",\"Congo, Rep.\",\"Costa Rica\",\"Cote d'Ivoire\",\"Croatia\",\"Cuba\",\"Cyprus\",\"Czech Rep.\",\"Denmark\",\"Djibouti\",\"Dominican Rep.\",\"Ecuador\",\"Egypt\",\"El Salvador\",\"Equatorial Guinea\",\"Eritrea\",\"Estonia\",\"Ethiopia\",\"Fiji\",\"Finland\",\"France\",\"French Guiana\",\"French Polynesia\",\"Gabon\",\"Gambia\",\"Georgia\",\"Germany\",\"Ghana\",\"Greece\",\"Greenland\",\"Grenada\",\"Guadeloupe\",\"Guam\",\"Guatemala\",\"Guinea\",\"Guinea-Bissau\",\"Guyana\",\"Haiti\",\"Honduras\",\"Hong Kong, China\",\"Hungary\",\"Iceland\",\"India\",\"Indonesia\",\"Iran\",\"Iraq\",\"Ireland\",\"Israel\",\"Italy\",\"Jamaica\",\"Japan\",\"Jordan\",\"Kazakhstan\",\"Kenya\",\"Kiribati\",\"Korea, Dem. Rep.\",\"Korea, Rep.\",\"Kuwait\",\"Kyrgyzstan\",\"Laos\",\"Latvia\",\"Lebanon\",\"Lesotho\",\"Liberia\",\"Libya\",\"Lithuania\",\"Luxembourg\",\"Macao, China\",\"Macedonia, FYR\",\"Madagascar\",\"Malawi\",\"Malaysia\",\"Maldives\",\"Mali\",\"Malta\",\"Martinique\",\"Mauritania\",\"Mauritius\",\"Mayotte\",\"Mexico\",\"Micronesia, Fed. Sts.\",\"Moldova\",\"Mongolia\",\"Montenegro\",\"Morocco\",\"Mozambique\",\"Myanmar\",\"Namibia\",\"Nepal\",\"Netherlands\",\"Netherlands Antilles\",\"New Caledonia\",\"New Zealand\",\"Nicaragua\",\"Niger\",\"Nigeria\",\"Norway\",\"Oman\",\"Pakistan\",\"Panama\",\"Papua New Guinea\",\"Paraguay\",\"Peru\",\"Philippines\",\"Poland\",\"Portugal\",\"Puerto Rico\",\"Qatar\",\"Reunion\",\"Romania\",\"Russia\",\"Rwanda\",\"Saint Lucia\",\"Saint Vincent and the Grenadines\",\"Samoa\",\"Sao Tome and Principe\",\"Saudi Arabia\",\"Senegal\",\"Serbia\",\"Seychelles\",\"Sierra Leone\",\"Singapore\",\"Slovak Republic\",\"Slovenia\",\"Solomon Islands\",\"Somalia\",\"South Africa\",\"South Sudan\",\"Spain\",\"Sri Lanka\",\"Sudan\",\"Suriname\",\"Swaziland\",\"Sweden\",\"Switzerland\",\"Syria\",\"Taiwan\",\"Tajikistan\",\"Tanzania\",\"Thailand\",\"Timor-Leste\",\"Togo\",\"Tonga\",\"Trinidad and Tobago\",\"Tunisia\",\"Turkey\",\"Turkmenistan\",\"Uganda\",\"Ukraine\",\"United Arab Emirates\",\"United Kingdom\",\"United States\",\"Uruguay\",\"Uzbekistan\",\"Vanuatu\",\"Venezuela\",\"Vietnam\",\"Virgin Islands (U.S.)\",\"West Bank and Gaza\",\"Western Sahara\",\"Yemen, Rep.\",\"Zambia\",\"Zimbabwe\"],\"region\":[\"South Asia\",\"Europe & Central Asia\",\"Middle East & North Africa\",\"Sub-Saharan Africa\",\"America\",\"America\",\"Europe & Central Asia\",\"America\",\"East Asia & Pacific\",\"Europe & Central Asia\",\"Europe & Central Asia\",\"America\",\"Middle East & North Africa\",\"South Asia\",\"America\",\"Europe & Central Asia\",\"Europe & Central Asia\",\"America\",\"Sub-Saharan Africa\",\"South Asia\",\"America\",\"Europe & Central Asia\",\"Sub-Saharan Africa\",\"America\",\"East Asia & Pacific\",\"Europe & Central Asia\",\"Sub-Saharan Africa\",\"Sub-Saharan Africa\",\"East Asia & Pacific\",\"Sub-Saharan Africa\",\"America\",\"Sub-Saharan Africa\",\"Sub-Saharan Africa\",\"Sub-Saharan Africa\",\"Europe & Central Asia\",\"America\",\"East Asia & Pacific\",\"America\",\"Sub-Saharan Africa\",\"Sub-Saharan Africa\",\"Sub-Saharan Africa\",\"America\",\"Sub-Saharan Africa\",\"Europe & Central Asia\",\"America\",\"Europe & Central Asia\",\"Europe & Central Asia\",\"Europe & Central Asia\",\"Middle East & North Africa\",\"America\",\"America\",\"Middle East & North Africa\",\"America\",\"Sub-Saharan Africa\",\"Sub-Saharan Africa\",\"Europe & Central Asia\",\"Sub-Saharan Africa\",\"East Asia & Pacific\",\"Europe & Central Asia\",\"Europe & Central Asia\",\"America\",\"East Asia & Pacific\",\"Sub-Saharan Africa\",\"Sub-Saharan Africa\",\"Europe & Central Asia\",\"Europe & Central Asia\",\"Sub-Saharan Africa\",\"Europe & Central Asia\",\"Europe & Central Asia\",\"America\",\"America\",\"East Asia & Pacific\",\"America\",\"Sub-Saharan Africa\",\"Sub-Saharan Africa\",\"America\",\"America\",\"America\",\"East Asia & Pacific\",\"Europe & Central Asia\",\"Europe & Central Asia\",\"South Asia\",\"East Asia & Pacific\",\"Middle East & North Africa\",\"Middle East & North Africa\",\"Europe & Central Asia\",\"Middle East & North Africa\",\"Europe & Central Asia\",\"America\",\"East Asia & Pacific\",\"Middle East & North Africa\",\"Europe & Central Asia\",\"Sub-Saharan Africa\",\"East Asia & Pacific\",\"East Asia & Pacific\",\"East Asia & Pacific\",\"Middle East & North Africa\",\"Europe & Central Asia\",\"East Asia & Pacific\",\"Europe & Central Asia\",\"Middle East & North Africa\",\"Sub-Saharan Africa\",\"Sub-Saharan Africa\",\"Middle East & North Africa\",\"Europe & Central Asia\",\"Europe & Central Asia\",\"East Asia & Pacific\",\"Europe & Central Asia\",\"Sub-Saharan Africa\",\"Sub-Saharan Africa\",\"East Asia & Pacific\",\"South Asia\",\"Sub-Saharan Africa\",\"Europe & Central Asia\",\"America\",\"Sub-Saharan Africa\",\"Sub-Saharan Africa\",\"Sub-Saharan Africa\",\"America\",\"East Asia & Pacific\",\"Europe & Central Asia\",\"East Asia & Pacific\",\"Europe & Central Asia\",\"Middle East & North Africa\",\"Sub-Saharan Africa\",\"East Asia & Pacific\",\"Sub-Saharan Africa\",\"South Asia\",\"Europe & Central Asia\",\"America\",\"East Asia & Pacific\",\"East Asia & Pacific\",\"America\",\"Sub-Saharan Africa\",\"Sub-Saharan Africa\",\"Europe & Central Asia\",\"Middle East & North Africa\",\"South Asia\",\"America\",\"East Asia & Pacific\",\"America\",\"America\",\"East Asia & Pacific\",\"Europe & Central Asia\",\"Europe & Central Asia\",\"America\",\"Middle East & North Africa\",\"Sub-Saharan Africa\",\"Europe & Central Asia\",\"Europe & Central Asia\",\"Sub-Saharan Africa\",\"America\",\"America\",\"East Asia & Pacific\",\"Sub-Saharan Africa\",\"Middle East & North Africa\",\"Sub-Saharan Africa\",\"Europe & Central Asia\",\"Sub-Saharan Africa\",\"Sub-Saharan Africa\",\"East Asia & Pacific\",\"Europe & Central Asia\",\"Europe & Central Asia\",\"East Asia & Pacific\",\"Sub-Saharan Africa\",\"Sub-Saharan Africa\",\"Sub-Saharan Africa\",\"Europe & Central Asia\",\"South Asia\",\"Sub-Saharan Africa\",\"America\",\"Sub-Saharan Africa\",\"Europe & Central Asia\",\"Europe & Central Asia\",\"Middle East & North Africa\",\"East Asia & Pacific\",\"Europe & Central Asia\",\"Sub-Saharan Africa\",\"East Asia & Pacific\",\"East Asia & Pacific\",\"Sub-Saharan Africa\",\"East Asia & Pacific\",\"America\",\"Middle East & North Africa\",\"Europe & Central Asia\",\"Europe & Central Asia\",\"Sub-Saharan Africa\",\"Europe & Central Asia\",\"Middle East & North Africa\",\"Europe & Central Asia\",\"America\",\"America\",\"Europe & Central Asia\",\"East Asia & Pacific\",\"America\",\"East Asia & Pacific\",\"America\",\"Middle East & North Africa\",\"Middle East & North Africa\",\"Middle East & North Africa\",\"Sub-Saharan Africa\",\"Sub-Saharan Africa\"],\"x\":{\"__ndarray__\":\"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\",\"dtype\":\"float64\",\"shape\":[202]},\"y\":{\"__ndarray__\":\"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\",\"dtype\":\"float64\",\"shape\":[202]}},\"selected\":{\"id\":\"32231\",\"type\":\"Selection\"},\"selection_policy\":{\"id\":\"32230\",\"type\":\"UnionRenderers\"}},\"id\":\"31721\",\"type\":\"ColumnDataSource\"},{\"attributes\":{},\"id\":\"32228\",\"type\":\"BasicTickFormatter\"},{\"attributes\":{\"label\":{\"field\":\"region\"},\"renderers\":[{\"id\":\"32320\",\"type\":\"GlyphRenderer\"},{\"id\":\"33820\",\"type\":\"GlyphRenderer\"},{\"id\":\"34795\",\"type\":\"GlyphRenderer\"},{\"id\":\"35812\",\"type\":\"GlyphRenderer\"}]},\"id\":\"32811\",\"type\":\"LegendItem\"},{\"attributes\":{\"dimension\":1,\"plot\":{\"id\":\"31724\",\"subtype\":\"Figure\",\"type\":\"Plot\"},\"ticker\":{\"id\":\"31740\",\"type\":\"BasicTicker\"}},\"id\":\"31743\",\"type\":\"Grid\"},{\"attributes\":{\"data_source\":{\"id\":\"31721\",\"type\":\"ColumnDataSource\"},\"glyph\":{\"id\":\"34793\",\"type\":\"Circle\"},\"hover_glyph\":null,\"muted_glyph\":null,\"nonselection_glyph\":{\"id\":\"34794\",\"type\":\"Circle\"},\"selection_glyph\":null,\"view\":{\"id\":\"34796\",\"type\":\"CDSView\"}},\"id\":\"34795\",\"type\":\"GlyphRenderer\"},{\"attributes\":{\"active_drag\":\"auto\",\"active_inspect\":\"auto\",\"active_multi\":null,\"active_scroll\":\"auto\",\"active_tap\":\"auto\",\"tools\":[{\"id\":\"31722\",\"type\":\"HoverTool\"}]},\"id\":\"31744\",\"type\":\"Toolbar\"},{\"attributes\":{\"fill_alpha\":{\"value\":0.1},\"fill_color\":{\"value\":\"#1f77b4\"},\"line_alpha\":{\"value\":0.1},\"line_color\":{\"value\":\"#1f77b4\"},\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"33819\",\"type\":\"Circle\"},{\"attributes\":{\"source\":{\"id\":\"31721\",\"type\":\"ColumnDataSource\"}},\"id\":\"34796\",\"type\":\"CDSView\"},{\"attributes\":{\"fill_color\":{\"value\":\"#1f77b4\"},\"line_color\":{\"value\":\"#1f77b4\"},\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"31747\",\"type\":\"Circle\"},{\"attributes\":{},\"id\":\"32231\",\"type\":\"Selection\"},{\"attributes\":{\"data_source\":{\"id\":\"31721\",\"type\":\"ColumnDataSource\"},\"glyph\":{\"id\":\"35810\",\"type\":\"Circle\"},\"hover_glyph\":null,\"muted_glyph\":null,\"nonselection_glyph\":{\"id\":\"35811\",\"type\":\"Circle\"},\"selection_glyph\":null,\"view\":{\"id\":\"35813\",\"type\":\"CDSView\"}},\"id\":\"35812\",\"type\":\"GlyphRenderer\"},{\"attributes\":{\"data_source\":{\"id\":\"31721\",\"type\":\"ColumnDataSource\"},\"glyph\":{\"id\":\"33818\",\"type\":\"Circle\"},\"hover_glyph\":null,\"muted_glyph\":null,\"nonselection_glyph\":{\"id\":\"33819\",\"type\":\"Circle\"},\"selection_glyph\":null,\"view\":{\"id\":\"33821\",\"type\":\"CDSView\"}},\"id\":\"33820\",\"type\":\"GlyphRenderer\"},{\"attributes\":{\"callback\":null,\"tooltips\":\"@country\"},\"id\":\"31722\",\"type\":\"HoverTool\"},{\"attributes\":{\"data_source\":{\"id\":\"31721\",\"type\":\"ColumnDataSource\"},\"glyph\":{\"id\":\"32318\",\"type\":\"Circle\"},\"hover_glyph\":null,\"muted_glyph\":null,\"nonselection_glyph\":{\"id\":\"32319\",\"type\":\"Circle\"},\"selection_glyph\":null,\"view\":{\"id\":\"32321\",\"type\":\"CDSView\"}},\"id\":\"32320\",\"type\":\"GlyphRenderer\"},{\"attributes\":{\"source\":{\"id\":\"31721\",\"type\":\"ColumnDataSource\"}},\"id\":\"35813\",\"type\":\"CDSView\"},{\"attributes\":{\"source\":{\"id\":\"31721\",\"type\":\"ColumnDataSource\"}},\"id\":\"31750\",\"type\":\"CDSView\"},{\"attributes\":{\"fill_alpha\":{\"value\":0.8},\"fill_color\":{\"field\":\"region\",\"transform\":{\"id\":\"32316\",\"type\":\"CategoricalColorMapper\"}},\"line_color\":{\"field\":\"region\",\"transform\":{\"id\":\"32316\",\"type\":\"CategoricalColorMapper\"}},\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"32318\",\"type\":\"Circle\"},{\"attributes\":{\"fill_alpha\":{\"value\":0.1},\"fill_color\":{\"value\":\"#1f77b4\"},\"line_alpha\":{\"value\":0.1},\"line_color\":{\"value\":\"#1f77b4\"},\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"31748\",\"type\":\"Circle\"}],\"root_ids\":[\"31724\"]},\"title\":\"Bokeh Application\",\"version\":\"1.0.2\"}};\n", " var render_items = [{\"docid\":\"3c40d16f-1f95-480b-bed0-8b2fd342b6c7\",\"roots\":{\"31724\":\"fb009ca4-35b7-4d4e-b281-bef424d20c23\"}}];\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": "31724" } }, "output_type": "display_data" } ], "source": [ "# Make a list of the unique values from the region column: regions_list\n", "regions_list = data.region.unique().tolist()\n", "\n", "# Import CategoricalColorMapper from bokeh.models and the Spectral6 palette from bokeh.palettes\n", "from bokeh.models import CategoricalColorMapper\n", "from bokeh.palettes import Spectral6\n", "\n", "# Make a color mapper: color_mapper\n", "color_mapper = CategoricalColorMapper(factors=regions_list, palette=Spectral6)\n", "\n", "# Add the color mapper to the circle glyph\n", "plot.circle(x='x', y='y', fill_alpha=0.8, source=source,\n", " color=dict(field='region', transform =color_mapper), legend='region')\n", "\n", "# Set the legend.location attribute of the plot to 'top_right'\n", "plot.legend.location = 'bottom_left'\n", "\n", "# Add the plot to the current document and add the title\n", "curdoc().add_root(plot)\n", "curdoc().title = 'Gapminder'\n", "show(plot)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The plot provides a lot more information now that we have added the shading. \n", "\n", "We'll now add an interactive slider to control the year. \n", "\n", "## Adding a slider to vary the year and customizing based on user input\n", "\n", "We'll move now from just displaying 1970 data to any year in the dataset. \n", "\n", "Recall that sliders require a callback function, in this case, `update_plot`, and link it to plot values. \n", "\n", "We'll also update the plot name with the current selected year. " ] }, { "cell_type": "code", "execution_count": 74, "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "WARNING:bokeh.embed.util:\n", "You are generating standalone HTML/JS output, but trying to use real Python\n", "callbacks (i.e. with on_change or on_event). This combination cannot work.\n", "\n", "Only JavaScript callbacks may be used with standalone output. For more\n", "information on JavaScript callbacks with Bokeh, see:\n", "\n", " http://bokeh.pydata.org/en/latest/docs/user_guide/interaction/callbacks.html\n", "\n", "Alternatively, to use real Python callbacks, a Bokeh server application may\n", "be used. For more information on building and running Bokeh applications, see:\n", "\n", " http://bokeh.pydata.org/en/latest/docs/user_guide/server.html\n", "\n" ] }, { "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 = {\"2ee5e78f-aaf1-4b40-b572-bd970a30c66c\":{\"roots\":{\"references\":[{\"attributes\":{\"children\":[{\"id\":\"36826\",\"type\":\"WidgetBox\"},{\"id\":\"31724\",\"subtype\":\"Figure\",\"type\":\"Plot\"}]},\"id\":\"36827\",\"type\":\"Row\"},{\"attributes\":{},\"id\":\"32226\",\"type\":\"BasicTickFormatter\"},{\"attributes\":{\"source\":{\"id\":\"31721\",\"type\":\"ColumnDataSource\"}},\"id\":\"33821\",\"type\":\"CDSView\"},{\"attributes\":{\"fill_alpha\":{\"value\":0.8},\"fill_color\":{\"field\":\"region\",\"transform\":{\"id\":\"33816\",\"type\":\"CategoricalColorMapper\"}},\"line_color\":{\"field\":\"region\",\"transform\":{\"id\":\"33816\",\"type\":\"CategoricalColorMapper\"}},\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"33818\",\"type\":\"Circle\"},{\"attributes\":{\"below\":[{\"id\":\"31734\",\"type\":\"LinearAxis\"}],\"left\":[{\"id\":\"31739\",\"type\":\"LinearAxis\"}],\"plot_height\":400,\"plot_width\":700,\"renderers\":[{\"id\":\"31734\",\"type\":\"LinearAxis\"},{\"id\":\"31738\",\"type\":\"Grid\"},{\"id\":\"31739\",\"type\":\"LinearAxis\"},{\"id\":\"31743\",\"type\":\"Grid\"},{\"id\":\"31749\",\"type\":\"GlyphRenderer\"},{\"id\":\"32329\",\"type\":\"Legend\"},{\"id\":\"32320\",\"type\":\"GlyphRenderer\"},{\"id\":\"33820\",\"type\":\"GlyphRenderer\"},{\"id\":\"34795\",\"type\":\"GlyphRenderer\"},{\"id\":\"35812\",\"type\":\"GlyphRenderer\"}],\"title\":{\"id\":\"31723\",\"type\":\"Title\"},\"toolbar\":{\"id\":\"31744\",\"type\":\"Toolbar\"},\"x_range\":{\"id\":\"31726\",\"type\":\"DataRange1d\"},\"x_scale\":{\"id\":\"31730\",\"type\":\"LinearScale\"},\"y_range\":{\"id\":\"31728\",\"type\":\"DataRange1d\"},\"y_scale\":{\"id\":\"31732\",\"type\":\"LinearScale\"}},\"id\":\"31724\",\"subtype\":\"Figure\",\"type\":\"Plot\"},{\"attributes\":{\"fill_alpha\":{\"value\":0.8},\"fill_color\":{\"field\":\"region\",\"transform\":{\"id\":\"35808\",\"type\":\"CategoricalColorMapper\"}},\"line_color\":{\"field\":\"region\",\"transform\":{\"id\":\"35808\",\"type\":\"CategoricalColorMapper\"}},\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"35810\",\"type\":\"Circle\"},{\"attributes\":{\"callback\":null},\"id\":\"31726\",\"type\":\"DataRange1d\"},{\"attributes\":{\"factors\":[\"South Asia\",\"Europe & Central Asia\",\"Middle East & North Africa\",\"Sub-Saharan Africa\",\"America\",\"East Asia & Pacific\"],\"palette\":[\"#3288bd\",\"#99d594\",\"#e6f598\",\"#fee08b\",\"#fc8d59\",\"#d53e4f\"]},\"id\":\"34791\",\"type\":\"CategoricalColorMapper\"},{\"attributes\":{\"items\":[{\"id\":\"32811\",\"type\":\"LegendItem\"}],\"location\":\"bottom_left\",\"plot\":{\"id\":\"31724\",\"subtype\":\"Figure\",\"type\":\"Plot\"}},\"id\":\"32329\",\"type\":\"Legend\"},{\"attributes\":{\"callback\":null,\"end\":2010,\"start\":1970,\"title\":\"Year\",\"value\":1970},\"id\":\"36825\",\"type\":\"Slider\"},{\"attributes\":{\"fill_alpha\":{\"value\":0.1},\"fill_color\":{\"value\":\"#1f77b4\"},\"line_alpha\":{\"value\":0.1},\"line_color\":{\"value\":\"#1f77b4\"},\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"35811\",\"type\":\"Circle\"},{\"attributes\":{},\"id\":\"32230\",\"type\":\"UnionRenderers\"},{\"attributes\":{\"callback\":null},\"id\":\"31728\",\"type\":\"DataRange1d\"},{\"attributes\":{\"plot\":null,\"text\":\"1970\"},\"id\":\"31723\",\"type\":\"Title\"},{\"attributes\":{\"data_source\":{\"id\":\"31721\",\"type\":\"ColumnDataSource\"},\"glyph\":{\"id\":\"31747\",\"type\":\"Circle\"},\"hover_glyph\":null,\"muted_glyph\":null,\"nonselection_glyph\":{\"id\":\"31748\",\"type\":\"Circle\"},\"selection_glyph\":null,\"view\":{\"id\":\"31750\",\"type\":\"CDSView\"}},\"id\":\"31749\",\"type\":\"GlyphRenderer\"},{\"attributes\":{},\"id\":\"31730\",\"type\":\"LinearScale\"},{\"attributes\":{\"fill_alpha\":{\"value\":0.1},\"fill_color\":{\"value\":\"#1f77b4\"},\"line_alpha\":{\"value\":0.1},\"line_color\":{\"value\":\"#1f77b4\"},\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"34794\",\"type\":\"Circle\"},{\"attributes\":{},\"id\":\"31732\",\"type\":\"LinearScale\"},{\"attributes\":{\"fill_alpha\":{\"value\":0.8},\"fill_color\":{\"field\":\"region\",\"transform\":{\"id\":\"34791\",\"type\":\"CategoricalColorMapper\"}},\"line_color\":{\"field\":\"region\",\"transform\":{\"id\":\"34791\",\"type\":\"CategoricalColorMapper\"}},\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"34793\",\"type\":\"Circle\"},{\"attributes\":{\"children\":[{\"id\":\"36825\",\"type\":\"Slider\"}]},\"id\":\"36826\",\"type\":\"WidgetBox\"},{\"attributes\":{\"axis_label\":\"Fertility (children per woman)\",\"formatter\":{\"id\":\"32228\",\"type\":\"BasicTickFormatter\"},\"plot\":{\"id\":\"31724\",\"subtype\":\"Figure\",\"type\":\"Plot\"},\"ticker\":{\"id\":\"31735\",\"type\":\"BasicTicker\"}},\"id\":\"31734\",\"type\":\"LinearAxis\"},{\"attributes\":{},\"id\":\"31735\",\"type\":\"BasicTicker\"},{\"attributes\":{\"factors\":[\"South Asia\",\"Europe & Central Asia\",\"Middle East & North Africa\",\"Sub-Saharan Africa\",\"America\",\"East Asia & Pacific\"],\"palette\":[\"#3288bd\",\"#99d594\",\"#e6f598\",\"#fee08b\",\"#fc8d59\",\"#d53e4f\"]},\"id\":\"35808\",\"type\":\"CategoricalColorMapper\"},{\"attributes\":{\"plot\":{\"id\":\"31724\",\"subtype\":\"Figure\",\"type\":\"Plot\"},\"ticker\":{\"id\":\"31735\",\"type\":\"BasicTicker\"}},\"id\":\"31738\",\"type\":\"Grid\"},{\"attributes\":{\"source\":{\"id\":\"31721\",\"type\":\"ColumnDataSource\"}},\"id\":\"32321\",\"type\":\"CDSView\"},{\"attributes\":{\"fill_alpha\":{\"value\":0.1},\"fill_color\":{\"value\":\"#1f77b4\"},\"line_alpha\":{\"value\":0.1},\"line_color\":{\"value\":\"#1f77b4\"},\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"32319\",\"type\":\"Circle\"},{\"attributes\":{\"axis_label\":\"Life Expectancy (years)\",\"formatter\":{\"id\":\"32226\",\"type\":\"BasicTickFormatter\"},\"plot\":{\"id\":\"31724\",\"subtype\":\"Figure\",\"type\":\"Plot\"},\"ticker\":{\"id\":\"31740\",\"type\":\"BasicTicker\"}},\"id\":\"31739\",\"type\":\"LinearAxis\"},{\"attributes\":{\"factors\":[\"South Asia\",\"Europe & Central Asia\",\"Middle East & North Africa\",\"Sub-Saharan Africa\",\"America\",\"East Asia & Pacific\"],\"palette\":[\"#3288bd\",\"#99d594\",\"#e6f598\",\"#fee08b\",\"#fc8d59\",\"#d53e4f\"]},\"id\":\"32316\",\"type\":\"CategoricalColorMapper\"},{\"attributes\":{\"factors\":[\"South Asia\",\"Europe & Central Asia\",\"Middle East & North Africa\",\"Sub-Saharan Africa\",\"America\",\"East Asia & Pacific\"],\"palette\":[\"#3288bd\",\"#99d594\",\"#e6f598\",\"#fee08b\",\"#fc8d59\",\"#d53e4f\"]},\"id\":\"33816\",\"type\":\"CategoricalColorMapper\"},{\"attributes\":{},\"id\":\"31740\",\"type\":\"BasicTicker\"},{\"attributes\":{\"callback\":null,\"data\":{\"country\":[\"Afghanistan\",\"Albania\",\"Algeria\",\"Angola\",\"Antigua and Barbuda\",\"Argentina\",\"Armenia\",\"Aruba\",\"Australia\",\"Austria\",\"Azerbaijan\",\"Bahamas\",\"Bahrain\",\"Bangladesh\",\"Barbados\",\"Belarus\",\"Belgium\",\"Belize\",\"Benin\",\"Bhutan\",\"Bolivia\",\"Bosnia and Herzegovina\",\"Botswana\",\"Brazil\",\"Brunei\",\"Bulgaria\",\"Burkina Faso\",\"Burundi\",\"Cambodia\",\"Cameroon\",\"Canada\",\"Cape Verde\",\"Central African Rep.\",\"Chad\",\"Channel Islands\",\"Chile\",\"China\",\"Colombia\",\"Comoros\",\"Congo, Dem. Rep.\",\"Congo, Rep.\",\"Costa Rica\",\"Cote d'Ivoire\",\"Croatia\",\"Cuba\",\"Cyprus\",\"Czech Rep.\",\"Denmark\",\"Djibouti\",\"Dominican Rep.\",\"Ecuador\",\"Egypt\",\"El Salvador\",\"Equatorial Guinea\",\"Eritrea\",\"Estonia\",\"Ethiopia\",\"Fiji\",\"Finland\",\"France\",\"French Guiana\",\"French Polynesia\",\"Gabon\",\"Gambia\",\"Georgia\",\"Germany\",\"Ghana\",\"Greece\",\"Greenland\",\"Grenada\",\"Guadeloupe\",\"Guam\",\"Guatemala\",\"Guinea\",\"Guinea-Bissau\",\"Guyana\",\"Haiti\",\"Honduras\",\"Hong Kong, China\",\"Hungary\",\"Iceland\",\"India\",\"Indonesia\",\"Iran\",\"Iraq\",\"Ireland\",\"Israel\",\"Italy\",\"Jamaica\",\"Japan\",\"Jordan\",\"Kazakhstan\",\"Kenya\",\"Kiribati\",\"Korea, Dem. Rep.\",\"Korea, Rep.\",\"Kuwait\",\"Kyrgyzstan\",\"Laos\",\"Latvia\",\"Lebanon\",\"Lesotho\",\"Liberia\",\"Libya\",\"Lithuania\",\"Luxembourg\",\"Macao, China\",\"Macedonia, FYR\",\"Madagascar\",\"Malawi\",\"Malaysia\",\"Maldives\",\"Mali\",\"Malta\",\"Martinique\",\"Mauritania\",\"Mauritius\",\"Mayotte\",\"Mexico\",\"Micronesia, Fed. Sts.\",\"Moldova\",\"Mongolia\",\"Montenegro\",\"Morocco\",\"Mozambique\",\"Myanmar\",\"Namibia\",\"Nepal\",\"Netherlands\",\"Netherlands Antilles\",\"New Caledonia\",\"New Zealand\",\"Nicaragua\",\"Niger\",\"Nigeria\",\"Norway\",\"Oman\",\"Pakistan\",\"Panama\",\"Papua New Guinea\",\"Paraguay\",\"Peru\",\"Philippines\",\"Poland\",\"Portugal\",\"Puerto Rico\",\"Qatar\",\"Reunion\",\"Romania\",\"Russia\",\"Rwanda\",\"Saint Lucia\",\"Saint Vincent and the Grenadines\",\"Samoa\",\"Sao Tome and Principe\",\"Saudi Arabia\",\"Senegal\",\"Serbia\",\"Seychelles\",\"Sierra Leone\",\"Singapore\",\"Slovak Republic\",\"Slovenia\",\"Solomon Islands\",\"Somalia\",\"South Africa\",\"South Sudan\",\"Spain\",\"Sri Lanka\",\"Sudan\",\"Suriname\",\"Swaziland\",\"Sweden\",\"Switzerland\",\"Syria\",\"Taiwan\",\"Tajikistan\",\"Tanzania\",\"Thailand\",\"Timor-Leste\",\"Togo\",\"Tonga\",\"Trinidad and Tobago\",\"Tunisia\",\"Turkey\",\"Turkmenistan\",\"Uganda\",\"Ukraine\",\"United Arab Emirates\",\"United Kingdom\",\"United States\",\"Uruguay\",\"Uzbekistan\",\"Vanuatu\",\"Venezuela\",\"Vietnam\",\"Virgin Islands (U.S.)\",\"West Bank and Gaza\",\"Western Sahara\",\"Yemen, Rep.\",\"Zambia\",\"Zimbabwe\"],\"region\":[\"South Asia\",\"Europe & Central Asia\",\"Middle East & North Africa\",\"Sub-Saharan Africa\",\"America\",\"America\",\"Europe & Central Asia\",\"America\",\"East Asia & Pacific\",\"Europe & Central Asia\",\"Europe & Central Asia\",\"America\",\"Middle East & North Africa\",\"South Asia\",\"America\",\"Europe & Central Asia\",\"Europe & Central Asia\",\"America\",\"Sub-Saharan Africa\",\"South Asia\",\"America\",\"Europe & Central Asia\",\"Sub-Saharan Africa\",\"America\",\"East Asia & Pacific\",\"Europe & Central Asia\",\"Sub-Saharan Africa\",\"Sub-Saharan Africa\",\"East Asia & Pacific\",\"Sub-Saharan Africa\",\"America\",\"Sub-Saharan Africa\",\"Sub-Saharan Africa\",\"Sub-Saharan Africa\",\"Europe & Central Asia\",\"America\",\"East Asia & Pacific\",\"America\",\"Sub-Saharan Africa\",\"Sub-Saharan Africa\",\"Sub-Saharan Africa\",\"America\",\"Sub-Saharan Africa\",\"Europe & Central Asia\",\"America\",\"Europe & Central Asia\",\"Europe & Central Asia\",\"Europe & Central Asia\",\"Middle East & North Africa\",\"America\",\"America\",\"Middle East & North Africa\",\"America\",\"Sub-Saharan Africa\",\"Sub-Saharan Africa\",\"Europe & Central Asia\",\"Sub-Saharan Africa\",\"East Asia & Pacific\",\"Europe & Central Asia\",\"Europe & Central Asia\",\"America\",\"East Asia & Pacific\",\"Sub-Saharan Africa\",\"Sub-Saharan Africa\",\"Europe & Central Asia\",\"Europe & Central Asia\",\"Sub-Saharan Africa\",\"Europe & Central Asia\",\"Europe & Central Asia\",\"America\",\"America\",\"East Asia & Pacific\",\"America\",\"Sub-Saharan Africa\",\"Sub-Saharan Africa\",\"America\",\"America\",\"America\",\"East Asia & Pacific\",\"Europe & Central Asia\",\"Europe & Central Asia\",\"South Asia\",\"East Asia & Pacific\",\"Middle East & North Africa\",\"Middle East & North Africa\",\"Europe & Central Asia\",\"Middle East & North Africa\",\"Europe & Central Asia\",\"America\",\"East Asia & Pacific\",\"Middle East & North Africa\",\"Europe & Central Asia\",\"Sub-Saharan Africa\",\"East Asia & Pacific\",\"East Asia & Pacific\",\"East Asia & Pacific\",\"Middle East & North Africa\",\"Europe & Central Asia\",\"East Asia & Pacific\",\"Europe & Central Asia\",\"Middle East & North Africa\",\"Sub-Saharan Africa\",\"Sub-Saharan Africa\",\"Middle East & North Africa\",\"Europe & Central Asia\",\"Europe & Central Asia\",\"East Asia & Pacific\",\"Europe & Central Asia\",\"Sub-Saharan Africa\",\"Sub-Saharan Africa\",\"East Asia & Pacific\",\"South Asia\",\"Sub-Saharan Africa\",\"Europe & Central Asia\",\"America\",\"Sub-Saharan Africa\",\"Sub-Saharan Africa\",\"Sub-Saharan Africa\",\"America\",\"East Asia & Pacific\",\"Europe & Central Asia\",\"East Asia & Pacific\",\"Europe & Central Asia\",\"Middle East & North Africa\",\"Sub-Saharan Africa\",\"East Asia & Pacific\",\"Sub-Saharan Africa\",\"South Asia\",\"Europe & Central Asia\",\"America\",\"East Asia & Pacific\",\"East Asia & Pacific\",\"America\",\"Sub-Saharan Africa\",\"Sub-Saharan Africa\",\"Europe & Central Asia\",\"Middle East & North Africa\",\"South Asia\",\"America\",\"East Asia & Pacific\",\"America\",\"America\",\"East Asia & Pacific\",\"Europe & Central Asia\",\"Europe & Central Asia\",\"America\",\"Middle East & North Africa\",\"Sub-Saharan Africa\",\"Europe & Central Asia\",\"Europe & Central Asia\",\"Sub-Saharan Africa\",\"America\",\"America\",\"East Asia & Pacific\",\"Sub-Saharan Africa\",\"Middle East & North Africa\",\"Sub-Saharan Africa\",\"Europe & Central Asia\",\"Sub-Saharan Africa\",\"Sub-Saharan Africa\",\"East Asia & Pacific\",\"Europe & Central Asia\",\"Europe & Central Asia\",\"East Asia & Pacific\",\"Sub-Saharan Africa\",\"Sub-Saharan Africa\",\"Sub-Saharan Africa\",\"Europe & Central Asia\",\"South Asia\",\"Sub-Saharan Africa\",\"America\",\"Sub-Saharan Africa\",\"Europe & Central Asia\",\"Europe & Central Asia\",\"Middle East & North Africa\",\"East Asia & Pacific\",\"Europe & Central Asia\",\"Sub-Saharan Africa\",\"East Asia & Pacific\",\"East Asia & Pacific\",\"Sub-Saharan Africa\",\"East Asia & Pacific\",\"America\",\"Middle East & North Africa\",\"Europe & Central Asia\",\"Europe & Central Asia\",\"Sub-Saharan Africa\",\"Europe & Central Asia\",\"Middle East & North Africa\",\"Europe & Central Asia\",\"America\",\"America\",\"Europe & Central Asia\",\"East Asia & Pacific\",\"America\",\"East Asia & Pacific\",\"America\",\"Middle East & North Africa\",\"Middle East & North Africa\",\"Middle East & North Africa\",\"Sub-Saharan Africa\",\"Sub-Saharan Africa\"],\"x\":{\"__ndarray__\":\"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\",\"dtype\":\"float64\",\"shape\":[202]},\"y\":{\"__ndarray__\":\"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\",\"dtype\":\"float64\",\"shape\":[202]}},\"selected\":{\"id\":\"32231\",\"type\":\"Selection\"},\"selection_policy\":{\"id\":\"32230\",\"type\":\"UnionRenderers\"}},\"id\":\"31721\",\"type\":\"ColumnDataSource\"},{\"attributes\":{},\"id\":\"32228\",\"type\":\"BasicTickFormatter\"},{\"attributes\":{\"label\":{\"field\":\"region\"},\"renderers\":[{\"id\":\"32320\",\"type\":\"GlyphRenderer\"},{\"id\":\"33820\",\"type\":\"GlyphRenderer\"},{\"id\":\"34795\",\"type\":\"GlyphRenderer\"},{\"id\":\"35812\",\"type\":\"GlyphRenderer\"}]},\"id\":\"32811\",\"type\":\"LegendItem\"},{\"attributes\":{\"dimension\":1,\"plot\":{\"id\":\"31724\",\"subtype\":\"Figure\",\"type\":\"Plot\"},\"ticker\":{\"id\":\"31740\",\"type\":\"BasicTicker\"}},\"id\":\"31743\",\"type\":\"Grid\"},{\"attributes\":{\"data_source\":{\"id\":\"31721\",\"type\":\"ColumnDataSource\"},\"glyph\":{\"id\":\"34793\",\"type\":\"Circle\"},\"hover_glyph\":null,\"muted_glyph\":null,\"nonselection_glyph\":{\"id\":\"34794\",\"type\":\"Circle\"},\"selection_glyph\":null,\"view\":{\"id\":\"34796\",\"type\":\"CDSView\"}},\"id\":\"34795\",\"type\":\"GlyphRenderer\"},{\"attributes\":{\"active_drag\":\"auto\",\"active_inspect\":\"auto\",\"active_multi\":null,\"active_scroll\":\"auto\",\"active_tap\":\"auto\",\"tools\":[{\"id\":\"31722\",\"type\":\"HoverTool\"}]},\"id\":\"31744\",\"type\":\"Toolbar\"},{\"attributes\":{\"fill_alpha\":{\"value\":0.1},\"fill_color\":{\"value\":\"#1f77b4\"},\"line_alpha\":{\"value\":0.1},\"line_color\":{\"value\":\"#1f77b4\"},\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"33819\",\"type\":\"Circle\"},{\"attributes\":{\"source\":{\"id\":\"31721\",\"type\":\"ColumnDataSource\"}},\"id\":\"34796\",\"type\":\"CDSView\"},{\"attributes\":{\"fill_color\":{\"value\":\"#1f77b4\"},\"line_color\":{\"value\":\"#1f77b4\"},\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"31747\",\"type\":\"Circle\"},{\"attributes\":{},\"id\":\"32231\",\"type\":\"Selection\"},{\"attributes\":{\"data_source\":{\"id\":\"31721\",\"type\":\"ColumnDataSource\"},\"glyph\":{\"id\":\"35810\",\"type\":\"Circle\"},\"hover_glyph\":null,\"muted_glyph\":null,\"nonselection_glyph\":{\"id\":\"35811\",\"type\":\"Circle\"},\"selection_glyph\":null,\"view\":{\"id\":\"35813\",\"type\":\"CDSView\"}},\"id\":\"35812\",\"type\":\"GlyphRenderer\"},{\"attributes\":{\"data_source\":{\"id\":\"31721\",\"type\":\"ColumnDataSource\"},\"glyph\":{\"id\":\"33818\",\"type\":\"Circle\"},\"hover_glyph\":null,\"muted_glyph\":null,\"nonselection_glyph\":{\"id\":\"33819\",\"type\":\"Circle\"},\"selection_glyph\":null,\"view\":{\"id\":\"33821\",\"type\":\"CDSView\"}},\"id\":\"33820\",\"type\":\"GlyphRenderer\"},{\"attributes\":{\"callback\":null,\"tooltips\":\"@country\"},\"id\":\"31722\",\"type\":\"HoverTool\"},{\"attributes\":{\"data_source\":{\"id\":\"31721\",\"type\":\"ColumnDataSource\"},\"glyph\":{\"id\":\"32318\",\"type\":\"Circle\"},\"hover_glyph\":null,\"muted_glyph\":null,\"nonselection_glyph\":{\"id\":\"32319\",\"type\":\"Circle\"},\"selection_glyph\":null,\"view\":{\"id\":\"32321\",\"type\":\"CDSView\"}},\"id\":\"32320\",\"type\":\"GlyphRenderer\"},{\"attributes\":{\"source\":{\"id\":\"31721\",\"type\":\"ColumnDataSource\"}},\"id\":\"35813\",\"type\":\"CDSView\"},{\"attributes\":{\"source\":{\"id\":\"31721\",\"type\":\"ColumnDataSource\"}},\"id\":\"31750\",\"type\":\"CDSView\"},{\"attributes\":{\"fill_alpha\":{\"value\":0.8},\"fill_color\":{\"field\":\"region\",\"transform\":{\"id\":\"32316\",\"type\":\"CategoricalColorMapper\"}},\"line_color\":{\"field\":\"region\",\"transform\":{\"id\":\"32316\",\"type\":\"CategoricalColorMapper\"}},\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"32318\",\"type\":\"Circle\"},{\"attributes\":{\"fill_alpha\":{\"value\":0.1},\"fill_color\":{\"value\":\"#1f77b4\"},\"line_alpha\":{\"value\":0.1},\"line_color\":{\"value\":\"#1f77b4\"},\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"31748\",\"type\":\"Circle\"}],\"root_ids\":[\"36827\"]},\"title\":\"Bokeh Application\",\"version\":\"1.0.2\"}};\n", " var render_items = [{\"docid\":\"2ee5e78f-aaf1-4b40-b572-bd970a30c66c\",\"roots\":{\"36827\":\"8f73bfe3-b56d-4762-82a1-e6411ef0a948\"}}];\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": "36827" } }, "output_type": "display_data" } ], "source": [ "# Import the necessary modules\n", "from bokeh.layouts import widgetbox, row\n", "from bokeh.models import Slider\n", "\n", "# Define the callback function: update_plot\n", "def update_plot(attr, old, new):\n", " # Assign the value of the slider: yr\n", " yr = slider.value\n", " # Set new_data\n", " new_data = {\n", " 'x' : data.loc[yr].fertility,\n", " 'y' : data.loc[yr].life,\n", " 'country' : data.loc[yr].Country,\n", " 'pop' : (data.loc[yr].population / 20000000) + 2,\n", " 'region' : data.loc[yr].region,\n", " }\n", " # Assign new_data to: source.data\n", " source.data = new_data\n", "\n", " # Add title to figure: plot.title.text\n", " plot.title.text = 'Gapminder data for %d' % yr\n", "\n", "\n", "# Make a slider object: slider\n", "slider = Slider(start = 1970, end = 2010, step = 1, value = 1970, title = 'Year')\n", "\n", "# Attach the callback to the 'value' property of slider\n", "slider.on_change('value', update_plot)\n", "\n", "# Make a row layout of widgetbox(slider) and plot and add it to the current document\n", "layout = row(widgetbox(slider), plot)\n", "curdoc().add_root(layout)\n", "show(layout)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Adding more interactivity to the app\n", "\n", "## Adding a hover tool\n", "\n", "We'll add a hover tool to drill down into data column values and display more detailed information about each scatter point.\n" ] }, { "cell_type": "code", "execution_count": 75, "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "WARNING:bokeh.embed.util:\n", "You are generating standalone HTML/JS output, but trying to use real Python\n", "callbacks (i.e. with on_change or on_event). This combination cannot work.\n", "\n", "Only JavaScript callbacks may be used with standalone output. For more\n", "information on JavaScript callbacks with Bokeh, see:\n", "\n", " http://bokeh.pydata.org/en/latest/docs/user_guide/interaction/callbacks.html\n", "\n", "Alternatively, to use real Python callbacks, a Bokeh server application may\n", "be used. For more information on building and running Bokeh applications, see:\n", "\n", " http://bokeh.pydata.org/en/latest/docs/user_guide/server.html\n", "\n" ] }, { "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 = {\"7d7e4eaf-5a3a-4664-aaf5-77651506d318\":{\"roots\":{\"references\":[{\"attributes\":{\"children\":[{\"id\":\"37848\",\"type\":\"WidgetBox\"},{\"id\":\"31724\",\"subtype\":\"Figure\",\"type\":\"Plot\"}]},\"id\":\"37849\",\"type\":\"Row\"},{\"attributes\":{},\"id\":\"32226\",\"type\":\"BasicTickFormatter\"},{\"attributes\":{\"source\":{\"id\":\"31721\",\"type\":\"ColumnDataSource\"}},\"id\":\"33821\",\"type\":\"CDSView\"},{\"attributes\":{\"fill_alpha\":{\"value\":0.8},\"fill_color\":{\"field\":\"region\",\"transform\":{\"id\":\"33816\",\"type\":\"CategoricalColorMapper\"}},\"line_color\":{\"field\":\"region\",\"transform\":{\"id\":\"33816\",\"type\":\"CategoricalColorMapper\"}},\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"33818\",\"type\":\"Circle\"},{\"attributes\":{\"below\":[{\"id\":\"31734\",\"type\":\"LinearAxis\"}],\"left\":[{\"id\":\"31739\",\"type\":\"LinearAxis\"}],\"plot_height\":400,\"plot_width\":700,\"renderers\":[{\"id\":\"31734\",\"type\":\"LinearAxis\"},{\"id\":\"31738\",\"type\":\"Grid\"},{\"id\":\"31739\",\"type\":\"LinearAxis\"},{\"id\":\"31743\",\"type\":\"Grid\"},{\"id\":\"31749\",\"type\":\"GlyphRenderer\"},{\"id\":\"32329\",\"type\":\"Legend\"},{\"id\":\"32320\",\"type\":\"GlyphRenderer\"},{\"id\":\"33820\",\"type\":\"GlyphRenderer\"},{\"id\":\"34795\",\"type\":\"GlyphRenderer\"},{\"id\":\"35812\",\"type\":\"GlyphRenderer\"}],\"title\":{\"id\":\"31723\",\"type\":\"Title\"},\"toolbar\":{\"id\":\"31744\",\"type\":\"Toolbar\"},\"x_range\":{\"id\":\"31726\",\"type\":\"DataRange1d\"},\"x_scale\":{\"id\":\"31730\",\"type\":\"LinearScale\"},\"y_range\":{\"id\":\"31728\",\"type\":\"DataRange1d\"},\"y_scale\":{\"id\":\"31732\",\"type\":\"LinearScale\"}},\"id\":\"31724\",\"subtype\":\"Figure\",\"type\":\"Plot\"},{\"attributes\":{\"fill_alpha\":{\"value\":0.8},\"fill_color\":{\"field\":\"region\",\"transform\":{\"id\":\"35808\",\"type\":\"CategoricalColorMapper\"}},\"line_color\":{\"field\":\"region\",\"transform\":{\"id\":\"35808\",\"type\":\"CategoricalColorMapper\"}},\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"35810\",\"type\":\"Circle\"},{\"attributes\":{\"callback\":null},\"id\":\"31726\",\"type\":\"DataRange1d\"},{\"attributes\":{\"factors\":[\"South Asia\",\"Europe & Central Asia\",\"Middle East & North Africa\",\"Sub-Saharan Africa\",\"America\",\"East Asia & Pacific\"],\"palette\":[\"#3288bd\",\"#99d594\",\"#e6f598\",\"#fee08b\",\"#fc8d59\",\"#d53e4f\"]},\"id\":\"34791\",\"type\":\"CategoricalColorMapper\"},{\"attributes\":{\"items\":[{\"id\":\"32811\",\"type\":\"LegendItem\"}],\"location\":\"bottom_left\",\"plot\":{\"id\":\"31724\",\"subtype\":\"Figure\",\"type\":\"Plot\"}},\"id\":\"32329\",\"type\":\"Legend\"},{\"attributes\":{\"callback\":null,\"end\":2010,\"start\":1970,\"title\":\"Year\",\"value\":1970},\"id\":\"36825\",\"type\":\"Slider\"},{\"attributes\":{\"fill_alpha\":{\"value\":0.1},\"fill_color\":{\"value\":\"#1f77b4\"},\"line_alpha\":{\"value\":0.1},\"line_color\":{\"value\":\"#1f77b4\"},\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"35811\",\"type\":\"Circle\"},{\"attributes\":{},\"id\":\"32230\",\"type\":\"UnionRenderers\"},{\"attributes\":{\"callback\":null},\"id\":\"31728\",\"type\":\"DataRange1d\"},{\"attributes\":{\"plot\":null,\"text\":\"1970\"},\"id\":\"31723\",\"type\":\"Title\"},{\"attributes\":{\"data_source\":{\"id\":\"31721\",\"type\":\"ColumnDataSource\"},\"glyph\":{\"id\":\"31747\",\"type\":\"Circle\"},\"hover_glyph\":null,\"muted_glyph\":null,\"nonselection_glyph\":{\"id\":\"31748\",\"type\":\"Circle\"},\"selection_glyph\":null,\"view\":{\"id\":\"31750\",\"type\":\"CDSView\"}},\"id\":\"31749\",\"type\":\"GlyphRenderer\"},{\"attributes\":{},\"id\":\"31730\",\"type\":\"LinearScale\"},{\"attributes\":{\"fill_alpha\":{\"value\":0.1},\"fill_color\":{\"value\":\"#1f77b4\"},\"line_alpha\":{\"value\":0.1},\"line_color\":{\"value\":\"#1f77b4\"},\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"34794\",\"type\":\"Circle\"},{\"attributes\":{},\"id\":\"31732\",\"type\":\"LinearScale\"},{\"attributes\":{\"fill_alpha\":{\"value\":0.8},\"fill_color\":{\"field\":\"region\",\"transform\":{\"id\":\"34791\",\"type\":\"CategoricalColorMapper\"}},\"line_color\":{\"field\":\"region\",\"transform\":{\"id\":\"34791\",\"type\":\"CategoricalColorMapper\"}},\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"34793\",\"type\":\"Circle\"},{\"attributes\":{\"axis_label\":\"Fertility (children per woman)\",\"formatter\":{\"id\":\"32228\",\"type\":\"BasicTickFormatter\"},\"plot\":{\"id\":\"31724\",\"subtype\":\"Figure\",\"type\":\"Plot\"},\"ticker\":{\"id\":\"31735\",\"type\":\"BasicTicker\"}},\"id\":\"31734\",\"type\":\"LinearAxis\"},{\"attributes\":{},\"id\":\"31735\",\"type\":\"BasicTicker\"},{\"attributes\":{\"factors\":[\"South Asia\",\"Europe & Central Asia\",\"Middle East & North Africa\",\"Sub-Saharan Africa\",\"America\",\"East Asia & Pacific\"],\"palette\":[\"#3288bd\",\"#99d594\",\"#e6f598\",\"#fee08b\",\"#fc8d59\",\"#d53e4f\"]},\"id\":\"35808\",\"type\":\"CategoricalColorMapper\"},{\"attributes\":{\"plot\":{\"id\":\"31724\",\"subtype\":\"Figure\",\"type\":\"Plot\"},\"ticker\":{\"id\":\"31735\",\"type\":\"BasicTicker\"}},\"id\":\"31738\",\"type\":\"Grid\"},{\"attributes\":{\"source\":{\"id\":\"31721\",\"type\":\"ColumnDataSource\"}},\"id\":\"32321\",\"type\":\"CDSView\"},{\"attributes\":{\"fill_alpha\":{\"value\":0.1},\"fill_color\":{\"value\":\"#1f77b4\"},\"line_alpha\":{\"value\":0.1},\"line_color\":{\"value\":\"#1f77b4\"},\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"32319\",\"type\":\"Circle\"},{\"attributes\":{\"axis_label\":\"Life Expectancy (years)\",\"formatter\":{\"id\":\"32226\",\"type\":\"BasicTickFormatter\"},\"plot\":{\"id\":\"31724\",\"subtype\":\"Figure\",\"type\":\"Plot\"},\"ticker\":{\"id\":\"31740\",\"type\":\"BasicTicker\"}},\"id\":\"31739\",\"type\":\"LinearAxis\"},{\"attributes\":{\"factors\":[\"South Asia\",\"Europe & Central Asia\",\"Middle East & North Africa\",\"Sub-Saharan Africa\",\"America\",\"East Asia & Pacific\"],\"palette\":[\"#3288bd\",\"#99d594\",\"#e6f598\",\"#fee08b\",\"#fc8d59\",\"#d53e4f\"]},\"id\":\"32316\",\"type\":\"CategoricalColorMapper\"},{\"attributes\":{\"children\":[{\"id\":\"36825\",\"type\":\"Slider\"}]},\"id\":\"37848\",\"type\":\"WidgetBox\"},{\"attributes\":{\"factors\":[\"South Asia\",\"Europe & Central Asia\",\"Middle East & North Africa\",\"Sub-Saharan Africa\",\"America\",\"East Asia & Pacific\"],\"palette\":[\"#3288bd\",\"#99d594\",\"#e6f598\",\"#fee08b\",\"#fc8d59\",\"#d53e4f\"]},\"id\":\"33816\",\"type\":\"CategoricalColorMapper\"},{\"attributes\":{},\"id\":\"31740\",\"type\":\"BasicTicker\"},{\"attributes\":{\"callback\":null,\"data\":{\"country\":[\"Afghanistan\",\"Albania\",\"Algeria\",\"Angola\",\"Antigua and Barbuda\",\"Argentina\",\"Armenia\",\"Aruba\",\"Australia\",\"Austria\",\"Azerbaijan\",\"Bahamas\",\"Bahrain\",\"Bangladesh\",\"Barbados\",\"Belarus\",\"Belgium\",\"Belize\",\"Benin\",\"Bhutan\",\"Bolivia\",\"Bosnia and Herzegovina\",\"Botswana\",\"Brazil\",\"Brunei\",\"Bulgaria\",\"Burkina Faso\",\"Burundi\",\"Cambodia\",\"Cameroon\",\"Canada\",\"Cape Verde\",\"Central African Rep.\",\"Chad\",\"Channel Islands\",\"Chile\",\"China\",\"Colombia\",\"Comoros\",\"Congo, Dem. Rep.\",\"Congo, Rep.\",\"Costa Rica\",\"Cote d'Ivoire\",\"Croatia\",\"Cuba\",\"Cyprus\",\"Czech Rep.\",\"Denmark\",\"Djibouti\",\"Dominican Rep.\",\"Ecuador\",\"Egypt\",\"El Salvador\",\"Equatorial Guinea\",\"Eritrea\",\"Estonia\",\"Ethiopia\",\"Fiji\",\"Finland\",\"France\",\"French Guiana\",\"French Polynesia\",\"Gabon\",\"Gambia\",\"Georgia\",\"Germany\",\"Ghana\",\"Greece\",\"Greenland\",\"Grenada\",\"Guadeloupe\",\"Guam\",\"Guatemala\",\"Guinea\",\"Guinea-Bissau\",\"Guyana\",\"Haiti\",\"Honduras\",\"Hong Kong, China\",\"Hungary\",\"Iceland\",\"India\",\"Indonesia\",\"Iran\",\"Iraq\",\"Ireland\",\"Israel\",\"Italy\",\"Jamaica\",\"Japan\",\"Jordan\",\"Kazakhstan\",\"Kenya\",\"Kiribati\",\"Korea, Dem. Rep.\",\"Korea, Rep.\",\"Kuwait\",\"Kyrgyzstan\",\"Laos\",\"Latvia\",\"Lebanon\",\"Lesotho\",\"Liberia\",\"Libya\",\"Lithuania\",\"Luxembourg\",\"Macao, China\",\"Macedonia, FYR\",\"Madagascar\",\"Malawi\",\"Malaysia\",\"Maldives\",\"Mali\",\"Malta\",\"Martinique\",\"Mauritania\",\"Mauritius\",\"Mayotte\",\"Mexico\",\"Micronesia, Fed. Sts.\",\"Moldova\",\"Mongolia\",\"Montenegro\",\"Morocco\",\"Mozambique\",\"Myanmar\",\"Namibia\",\"Nepal\",\"Netherlands\",\"Netherlands Antilles\",\"New Caledonia\",\"New Zealand\",\"Nicaragua\",\"Niger\",\"Nigeria\",\"Norway\",\"Oman\",\"Pakistan\",\"Panama\",\"Papua New Guinea\",\"Paraguay\",\"Peru\",\"Philippines\",\"Poland\",\"Portugal\",\"Puerto Rico\",\"Qatar\",\"Reunion\",\"Romania\",\"Russia\",\"Rwanda\",\"Saint Lucia\",\"Saint Vincent and the Grenadines\",\"Samoa\",\"Sao Tome and Principe\",\"Saudi Arabia\",\"Senegal\",\"Serbia\",\"Seychelles\",\"Sierra Leone\",\"Singapore\",\"Slovak Republic\",\"Slovenia\",\"Solomon Islands\",\"Somalia\",\"South Africa\",\"South Sudan\",\"Spain\",\"Sri Lanka\",\"Sudan\",\"Suriname\",\"Swaziland\",\"Sweden\",\"Switzerland\",\"Syria\",\"Taiwan\",\"Tajikistan\",\"Tanzania\",\"Thailand\",\"Timor-Leste\",\"Togo\",\"Tonga\",\"Trinidad and Tobago\",\"Tunisia\",\"Turkey\",\"Turkmenistan\",\"Uganda\",\"Ukraine\",\"United Arab Emirates\",\"United Kingdom\",\"United States\",\"Uruguay\",\"Uzbekistan\",\"Vanuatu\",\"Venezuela\",\"Vietnam\",\"Virgin Islands (U.S.)\",\"West Bank and Gaza\",\"Western Sahara\",\"Yemen, Rep.\",\"Zambia\",\"Zimbabwe\"],\"region\":[\"South Asia\",\"Europe & Central Asia\",\"Middle East & North Africa\",\"Sub-Saharan Africa\",\"America\",\"America\",\"Europe & Central Asia\",\"America\",\"East Asia & Pacific\",\"Europe & Central Asia\",\"Europe & Central Asia\",\"America\",\"Middle East & North Africa\",\"South Asia\",\"America\",\"Europe & Central Asia\",\"Europe & Central Asia\",\"America\",\"Sub-Saharan Africa\",\"South Asia\",\"America\",\"Europe & Central Asia\",\"Sub-Saharan Africa\",\"America\",\"East Asia & Pacific\",\"Europe & Central Asia\",\"Sub-Saharan Africa\",\"Sub-Saharan Africa\",\"East Asia & Pacific\",\"Sub-Saharan Africa\",\"America\",\"Sub-Saharan Africa\",\"Sub-Saharan Africa\",\"Sub-Saharan Africa\",\"Europe & Central Asia\",\"America\",\"East Asia & Pacific\",\"America\",\"Sub-Saharan Africa\",\"Sub-Saharan Africa\",\"Sub-Saharan Africa\",\"America\",\"Sub-Saharan Africa\",\"Europe & Central Asia\",\"America\",\"Europe & Central Asia\",\"Europe & Central Asia\",\"Europe & Central Asia\",\"Middle East & North Africa\",\"America\",\"America\",\"Middle East & North Africa\",\"America\",\"Sub-Saharan Africa\",\"Sub-Saharan Africa\",\"Europe & Central Asia\",\"Sub-Saharan Africa\",\"East Asia & Pacific\",\"Europe & Central Asia\",\"Europe & Central Asia\",\"America\",\"East Asia & Pacific\",\"Sub-Saharan Africa\",\"Sub-Saharan Africa\",\"Europe & Central Asia\",\"Europe & Central Asia\",\"Sub-Saharan Africa\",\"Europe & Central Asia\",\"Europe & Central Asia\",\"America\",\"America\",\"East Asia & Pacific\",\"America\",\"Sub-Saharan Africa\",\"Sub-Saharan Africa\",\"America\",\"America\",\"America\",\"East Asia & Pacific\",\"Europe & Central Asia\",\"Europe & Central Asia\",\"South Asia\",\"East Asia & Pacific\",\"Middle East & North Africa\",\"Middle East & North Africa\",\"Europe & Central Asia\",\"Middle East & North Africa\",\"Europe & Central Asia\",\"America\",\"East Asia & Pacific\",\"Middle East & North Africa\",\"Europe & Central Asia\",\"Sub-Saharan Africa\",\"East Asia & Pacific\",\"East Asia & Pacific\",\"East Asia & Pacific\",\"Middle East & North Africa\",\"Europe & Central Asia\",\"East Asia & Pacific\",\"Europe & Central Asia\",\"Middle East & North Africa\",\"Sub-Saharan Africa\",\"Sub-Saharan Africa\",\"Middle East & North Africa\",\"Europe & Central Asia\",\"Europe & Central Asia\",\"East Asia & Pacific\",\"Europe & Central Asia\",\"Sub-Saharan Africa\",\"Sub-Saharan Africa\",\"East Asia & Pacific\",\"South Asia\",\"Sub-Saharan Africa\",\"Europe & Central Asia\",\"America\",\"Sub-Saharan Africa\",\"Sub-Saharan Africa\",\"Sub-Saharan Africa\",\"America\",\"East Asia & Pacific\",\"Europe & Central Asia\",\"East Asia & Pacific\",\"Europe & Central Asia\",\"Middle East & North Africa\",\"Sub-Saharan Africa\",\"East Asia & Pacific\",\"Sub-Saharan Africa\",\"South Asia\",\"Europe & Central Asia\",\"America\",\"East Asia & Pacific\",\"East Asia & Pacific\",\"America\",\"Sub-Saharan Africa\",\"Sub-Saharan Africa\",\"Europe & Central Asia\",\"Middle East & North Africa\",\"South Asia\",\"America\",\"East Asia & Pacific\",\"America\",\"America\",\"East Asia & Pacific\",\"Europe & Central Asia\",\"Europe & Central Asia\",\"America\",\"Middle East & North Africa\",\"Sub-Saharan Africa\",\"Europe & Central Asia\",\"Europe & Central Asia\",\"Sub-Saharan Africa\",\"America\",\"America\",\"East Asia & Pacific\",\"Sub-Saharan Africa\",\"Middle East & North Africa\",\"Sub-Saharan Africa\",\"Europe & Central Asia\",\"Sub-Saharan Africa\",\"Sub-Saharan Africa\",\"East Asia & Pacific\",\"Europe & Central Asia\",\"Europe & Central Asia\",\"East Asia & Pacific\",\"Sub-Saharan Africa\",\"Sub-Saharan Africa\",\"Sub-Saharan Africa\",\"Europe & Central Asia\",\"South Asia\",\"Sub-Saharan Africa\",\"America\",\"Sub-Saharan Africa\",\"Europe & Central Asia\",\"Europe & Central Asia\",\"Middle East & North Africa\",\"East Asia & Pacific\",\"Europe & Central Asia\",\"Sub-Saharan Africa\",\"East Asia & Pacific\",\"East Asia & Pacific\",\"Sub-Saharan Africa\",\"East Asia & Pacific\",\"America\",\"Middle East & North Africa\",\"Europe & Central Asia\",\"Europe & Central Asia\",\"Sub-Saharan Africa\",\"Europe & Central Asia\",\"Middle East & North Africa\",\"Europe & Central Asia\",\"America\",\"America\",\"Europe & Central Asia\",\"East Asia & Pacific\",\"America\",\"East Asia & Pacific\",\"America\",\"Middle East & North Africa\",\"Middle East & North Africa\",\"Middle East & North Africa\",\"Sub-Saharan Africa\",\"Sub-Saharan Africa\"],\"x\":{\"__ndarray__\":\"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\",\"dtype\":\"float64\",\"shape\":[202]},\"y\":{\"__ndarray__\":\"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\",\"dtype\":\"float64\",\"shape\":[202]}},\"selected\":{\"id\":\"32231\",\"type\":\"Selection\"},\"selection_policy\":{\"id\":\"32230\",\"type\":\"UnionRenderers\"}},\"id\":\"31721\",\"type\":\"ColumnDataSource\"},{\"attributes\":{},\"id\":\"32228\",\"type\":\"BasicTickFormatter\"},{\"attributes\":{\"label\":{\"field\":\"region\"},\"renderers\":[{\"id\":\"32320\",\"type\":\"GlyphRenderer\"},{\"id\":\"33820\",\"type\":\"GlyphRenderer\"},{\"id\":\"34795\",\"type\":\"GlyphRenderer\"},{\"id\":\"35812\",\"type\":\"GlyphRenderer\"}]},\"id\":\"32811\",\"type\":\"LegendItem\"},{\"attributes\":{\"dimension\":1,\"plot\":{\"id\":\"31724\",\"subtype\":\"Figure\",\"type\":\"Plot\"},\"ticker\":{\"id\":\"31740\",\"type\":\"BasicTicker\"}},\"id\":\"31743\",\"type\":\"Grid\"},{\"attributes\":{\"data_source\":{\"id\":\"31721\",\"type\":\"ColumnDataSource\"},\"glyph\":{\"id\":\"34793\",\"type\":\"Circle\"},\"hover_glyph\":null,\"muted_glyph\":null,\"nonselection_glyph\":{\"id\":\"34794\",\"type\":\"Circle\"},\"selection_glyph\":null,\"view\":{\"id\":\"34796\",\"type\":\"CDSView\"}},\"id\":\"34795\",\"type\":\"GlyphRenderer\"},{\"attributes\":{\"active_drag\":\"auto\",\"active_inspect\":\"auto\",\"active_multi\":null,\"active_scroll\":\"auto\",\"active_tap\":\"auto\",\"tools\":[{\"id\":\"31722\",\"type\":\"HoverTool\"},{\"id\":\"37358\",\"type\":\"HoverTool\"}]},\"id\":\"31744\",\"type\":\"Toolbar\"},{\"attributes\":{\"fill_alpha\":{\"value\":0.1},\"fill_color\":{\"value\":\"#1f77b4\"},\"line_alpha\":{\"value\":0.1},\"line_color\":{\"value\":\"#1f77b4\"},\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"33819\",\"type\":\"Circle\"},{\"attributes\":{\"source\":{\"id\":\"31721\",\"type\":\"ColumnDataSource\"}},\"id\":\"34796\",\"type\":\"CDSView\"},{\"attributes\":{\"fill_color\":{\"value\":\"#1f77b4\"},\"line_color\":{\"value\":\"#1f77b4\"},\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"31747\",\"type\":\"Circle\"},{\"attributes\":{\"callback\":null,\"tooltips\":[[\"Country\",\"@country\"]]},\"id\":\"37358\",\"type\":\"HoverTool\"},{\"attributes\":{},\"id\":\"32231\",\"type\":\"Selection\"},{\"attributes\":{\"data_source\":{\"id\":\"31721\",\"type\":\"ColumnDataSource\"},\"glyph\":{\"id\":\"35810\",\"type\":\"Circle\"},\"hover_glyph\":null,\"muted_glyph\":null,\"nonselection_glyph\":{\"id\":\"35811\",\"type\":\"Circle\"},\"selection_glyph\":null,\"view\":{\"id\":\"35813\",\"type\":\"CDSView\"}},\"id\":\"35812\",\"type\":\"GlyphRenderer\"},{\"attributes\":{\"data_source\":{\"id\":\"31721\",\"type\":\"ColumnDataSource\"},\"glyph\":{\"id\":\"33818\",\"type\":\"Circle\"},\"hover_glyph\":null,\"muted_glyph\":null,\"nonselection_glyph\":{\"id\":\"33819\",\"type\":\"Circle\"},\"selection_glyph\":null,\"view\":{\"id\":\"33821\",\"type\":\"CDSView\"}},\"id\":\"33820\",\"type\":\"GlyphRenderer\"},{\"attributes\":{\"callback\":null,\"tooltips\":\"@country\"},\"id\":\"31722\",\"type\":\"HoverTool\"},{\"attributes\":{\"data_source\":{\"id\":\"31721\",\"type\":\"ColumnDataSource\"},\"glyph\":{\"id\":\"32318\",\"type\":\"Circle\"},\"hover_glyph\":null,\"muted_glyph\":null,\"nonselection_glyph\":{\"id\":\"32319\",\"type\":\"Circle\"},\"selection_glyph\":null,\"view\":{\"id\":\"32321\",\"type\":\"CDSView\"}},\"id\":\"32320\",\"type\":\"GlyphRenderer\"},{\"attributes\":{\"source\":{\"id\":\"31721\",\"type\":\"ColumnDataSource\"}},\"id\":\"35813\",\"type\":\"CDSView\"},{\"attributes\":{\"source\":{\"id\":\"31721\",\"type\":\"ColumnDataSource\"}},\"id\":\"31750\",\"type\":\"CDSView\"},{\"attributes\":{\"fill_alpha\":{\"value\":0.8},\"fill_color\":{\"field\":\"region\",\"transform\":{\"id\":\"32316\",\"type\":\"CategoricalColorMapper\"}},\"line_color\":{\"field\":\"region\",\"transform\":{\"id\":\"32316\",\"type\":\"CategoricalColorMapper\"}},\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"32318\",\"type\":\"Circle\"},{\"attributes\":{\"fill_alpha\":{\"value\":0.1},\"fill_color\":{\"value\":\"#1f77b4\"},\"line_alpha\":{\"value\":0.1},\"line_color\":{\"value\":\"#1f77b4\"},\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"31748\",\"type\":\"Circle\"}],\"root_ids\":[\"37849\"]},\"title\":\"Bokeh Application\",\"version\":\"1.0.2\"}};\n", " var render_items = [{\"docid\":\"7d7e4eaf-5a3a-4664-aaf5-77651506d318\",\"roots\":{\"37849\":\"69cf75bf-28dd-48fa-854f-f855fd5dc692\"}}];\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": "37849" } }, "output_type": "display_data" } ], "source": [ "# Import HoverTool from bokeh.models\n", "from bokeh.models import HoverTool\n", "\n", "# Create a HoverTool: hover\n", "hover = HoverTool(tooltips = [('Country', '@country')])\n", "\n", "# Add the HoverTool to the plot\n", "plot.add_tools(hover)\n", "\n", "# Create layout: layout\n", "layout = row(widgetbox(slider),plot)\n", "\n", "# Add layout to current document\n", "curdoc().add_root(layout)\n", "show(layout)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Adding dropdowns to the app\n", "\n", "As a final step in enhancing our application, we'll add dropdowns for interactively selecting different data features. Combined with the hover tool and sliders added in the previous sections, we'll have a powerful app that allows the user to interactively and quickly extract insights from the dataset!\n" ] }, { "cell_type": "code", "execution_count": 76, "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "WARNING:bokeh.embed.util:\n", "You are generating standalone HTML/JS output, but trying to use real Python\n", "callbacks (i.e. with on_change or on_event). This combination cannot work.\n", "\n", "Only JavaScript callbacks may be used with standalone output. For more\n", "information on JavaScript callbacks with Bokeh, see:\n", "\n", " http://bokeh.pydata.org/en/latest/docs/user_guide/interaction/callbacks.html\n", "\n", "Alternatively, to use real Python callbacks, a Bokeh server application may\n", "be used. For more information on building and running Bokeh applications, see:\n", "\n", " http://bokeh.pydata.org/en/latest/docs/user_guide/server.html\n", "\n" ] }, { "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 = {\"93107638-07f0-4c7a-9321-c87748edaac7\":{\"roots\":{\"references\":[{\"attributes\":{\"children\":[{\"id\":\"38390\",\"type\":\"WidgetBox\"},{\"id\":\"31724\",\"subtype\":\"Figure\",\"type\":\"Plot\"}]},\"id\":\"38391\",\"type\":\"Row\"},{\"attributes\":{},\"id\":\"32226\",\"type\":\"BasicTickFormatter\"},{\"attributes\":{\"source\":{\"id\":\"31721\",\"type\":\"ColumnDataSource\"}},\"id\":\"33821\",\"type\":\"CDSView\"},{\"attributes\":{\"fill_alpha\":{\"value\":0.8},\"fill_color\":{\"field\":\"region\",\"transform\":{\"id\":\"33816\",\"type\":\"CategoricalColorMapper\"}},\"line_color\":{\"field\":\"region\",\"transform\":{\"id\":\"33816\",\"type\":\"CategoricalColorMapper\"}},\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"33818\",\"type\":\"Circle\"},{\"attributes\":{\"below\":[{\"id\":\"31734\",\"type\":\"LinearAxis\"}],\"left\":[{\"id\":\"31739\",\"type\":\"LinearAxis\"}],\"plot_height\":400,\"plot_width\":700,\"renderers\":[{\"id\":\"31734\",\"type\":\"LinearAxis\"},{\"id\":\"31738\",\"type\":\"Grid\"},{\"id\":\"31739\",\"type\":\"LinearAxis\"},{\"id\":\"31743\",\"type\":\"Grid\"},{\"id\":\"31749\",\"type\":\"GlyphRenderer\"},{\"id\":\"32329\",\"type\":\"Legend\"},{\"id\":\"32320\",\"type\":\"GlyphRenderer\"},{\"id\":\"33820\",\"type\":\"GlyphRenderer\"},{\"id\":\"34795\",\"type\":\"GlyphRenderer\"},{\"id\":\"35812\",\"type\":\"GlyphRenderer\"}],\"title\":{\"id\":\"31723\",\"type\":\"Title\"},\"toolbar\":{\"id\":\"31744\",\"type\":\"Toolbar\"},\"x_range\":{\"id\":\"31726\",\"type\":\"DataRange1d\"},\"x_scale\":{\"id\":\"31730\",\"type\":\"LinearScale\"},\"y_range\":{\"id\":\"31728\",\"type\":\"DataRange1d\"},\"y_scale\":{\"id\":\"31732\",\"type\":\"LinearScale\"}},\"id\":\"31724\",\"subtype\":\"Figure\",\"type\":\"Plot\"},{\"attributes\":{\"fill_alpha\":{\"value\":0.8},\"fill_color\":{\"field\":\"region\",\"transform\":{\"id\":\"35808\",\"type\":\"CategoricalColorMapper\"}},\"line_color\":{\"field\":\"region\",\"transform\":{\"id\":\"35808\",\"type\":\"CategoricalColorMapper\"}},\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"35810\",\"type\":\"Circle\"},{\"attributes\":{\"callback\":null},\"id\":\"31726\",\"type\":\"DataRange1d\"},{\"attributes\":{\"factors\":[\"South Asia\",\"Europe & Central Asia\",\"Middle East & North Africa\",\"Sub-Saharan Africa\",\"America\",\"East Asia & Pacific\"],\"palette\":[\"#3288bd\",\"#99d594\",\"#e6f598\",\"#fee08b\",\"#fc8d59\",\"#d53e4f\"]},\"id\":\"34791\",\"type\":\"CategoricalColorMapper\"},{\"attributes\":{\"items\":[{\"id\":\"32811\",\"type\":\"LegendItem\"}],\"location\":\"bottom_left\",\"plot\":{\"id\":\"31724\",\"subtype\":\"Figure\",\"type\":\"Plot\"}},\"id\":\"32329\",\"type\":\"Legend\"},{\"attributes\":{\"fill_alpha\":{\"value\":0.1},\"fill_color\":{\"value\":\"#1f77b4\"},\"line_alpha\":{\"value\":0.1},\"line_color\":{\"value\":\"#1f77b4\"},\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"35811\",\"type\":\"Circle\"},{\"attributes\":{},\"id\":\"32230\",\"type\":\"UnionRenderers\"},{\"attributes\":{\"callback\":null},\"id\":\"31728\",\"type\":\"DataRange1d\"},{\"attributes\":{\"plot\":null,\"text\":\"1970\"},\"id\":\"31723\",\"type\":\"Title\"},{\"attributes\":{\"data_source\":{\"id\":\"31721\",\"type\":\"ColumnDataSource\"},\"glyph\":{\"id\":\"31747\",\"type\":\"Circle\"},\"hover_glyph\":null,\"muted_glyph\":null,\"nonselection_glyph\":{\"id\":\"31748\",\"type\":\"Circle\"},\"selection_glyph\":null,\"view\":{\"id\":\"31750\",\"type\":\"CDSView\"}},\"id\":\"31749\",\"type\":\"GlyphRenderer\"},{\"attributes\":{},\"id\":\"31730\",\"type\":\"LinearScale\"},{\"attributes\":{\"fill_alpha\":{\"value\":0.1},\"fill_color\":{\"value\":\"#1f77b4\"},\"line_alpha\":{\"value\":0.1},\"line_color\":{\"value\":\"#1f77b4\"},\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"34794\",\"type\":\"Circle\"},{\"attributes\":{},\"id\":\"31732\",\"type\":\"LinearScale\"},{\"attributes\":{\"fill_alpha\":{\"value\":0.8},\"fill_color\":{\"field\":\"region\",\"transform\":{\"id\":\"34791\",\"type\":\"CategoricalColorMapper\"}},\"line_color\":{\"field\":\"region\",\"transform\":{\"id\":\"34791\",\"type\":\"CategoricalColorMapper\"}},\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"34793\",\"type\":\"Circle\"},{\"attributes\":{\"axis_label\":\"Fertility (children per woman)\",\"formatter\":{\"id\":\"32228\",\"type\":\"BasicTickFormatter\"},\"plot\":{\"id\":\"31724\",\"subtype\":\"Figure\",\"type\":\"Plot\"},\"ticker\":{\"id\":\"31735\",\"type\":\"BasicTicker\"}},\"id\":\"31734\",\"type\":\"LinearAxis\"},{\"attributes\":{},\"id\":\"31735\",\"type\":\"BasicTicker\"},{\"attributes\":{\"factors\":[\"South Asia\",\"Europe & Central Asia\",\"Middle East & North Africa\",\"Sub-Saharan Africa\",\"America\",\"East Asia & Pacific\"],\"palette\":[\"#3288bd\",\"#99d594\",\"#e6f598\",\"#fee08b\",\"#fc8d59\",\"#d53e4f\"]},\"id\":\"35808\",\"type\":\"CategoricalColorMapper\"},{\"attributes\":{\"callback\":null,\"end\":2010,\"start\":1970,\"title\":\"Year\",\"value\":1970},\"id\":\"38387\",\"type\":\"Slider\"},{\"attributes\":{\"plot\":{\"id\":\"31724\",\"subtype\":\"Figure\",\"type\":\"Plot\"},\"ticker\":{\"id\":\"31735\",\"type\":\"BasicTicker\"}},\"id\":\"31738\",\"type\":\"Grid\"},{\"attributes\":{\"source\":{\"id\":\"31721\",\"type\":\"ColumnDataSource\"}},\"id\":\"32321\",\"type\":\"CDSView\"},{\"attributes\":{\"fill_alpha\":{\"value\":0.1},\"fill_color\":{\"value\":\"#1f77b4\"},\"line_alpha\":{\"value\":0.1},\"line_color\":{\"value\":\"#1f77b4\"},\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"32319\",\"type\":\"Circle\"},{\"attributes\":{\"axis_label\":\"Life Expectancy (years)\",\"formatter\":{\"id\":\"32226\",\"type\":\"BasicTickFormatter\"},\"plot\":{\"id\":\"31724\",\"subtype\":\"Figure\",\"type\":\"Plot\"},\"ticker\":{\"id\":\"31740\",\"type\":\"BasicTicker\"}},\"id\":\"31739\",\"type\":\"LinearAxis\"},{\"attributes\":{\"factors\":[\"South Asia\",\"Europe & Central Asia\",\"Middle East & North Africa\",\"Sub-Saharan Africa\",\"America\",\"East Asia & Pacific\"],\"palette\":[\"#3288bd\",\"#99d594\",\"#e6f598\",\"#fee08b\",\"#fc8d59\",\"#d53e4f\"]},\"id\":\"32316\",\"type\":\"CategoricalColorMapper\"},{\"attributes\":{\"factors\":[\"South Asia\",\"Europe & Central Asia\",\"Middle East & North Africa\",\"Sub-Saharan Africa\",\"America\",\"East Asia & Pacific\"],\"palette\":[\"#3288bd\",\"#99d594\",\"#e6f598\",\"#fee08b\",\"#fc8d59\",\"#d53e4f\"]},\"id\":\"33816\",\"type\":\"CategoricalColorMapper\"},{\"attributes\":{},\"id\":\"31740\",\"type\":\"BasicTicker\"},{\"attributes\":{\"callback\":null,\"data\":{\"country\":[\"Afghanistan\",\"Albania\",\"Algeria\",\"Angola\",\"Antigua and Barbuda\",\"Argentina\",\"Armenia\",\"Aruba\",\"Australia\",\"Austria\",\"Azerbaijan\",\"Bahamas\",\"Bahrain\",\"Bangladesh\",\"Barbados\",\"Belarus\",\"Belgium\",\"Belize\",\"Benin\",\"Bhutan\",\"Bolivia\",\"Bosnia and Herzegovina\",\"Botswana\",\"Brazil\",\"Brunei\",\"Bulgaria\",\"Burkina Faso\",\"Burundi\",\"Cambodia\",\"Cameroon\",\"Canada\",\"Cape Verde\",\"Central African Rep.\",\"Chad\",\"Channel Islands\",\"Chile\",\"China\",\"Colombia\",\"Comoros\",\"Congo, Dem. Rep.\",\"Congo, Rep.\",\"Costa Rica\",\"Cote d'Ivoire\",\"Croatia\",\"Cuba\",\"Cyprus\",\"Czech Rep.\",\"Denmark\",\"Djibouti\",\"Dominican Rep.\",\"Ecuador\",\"Egypt\",\"El Salvador\",\"Equatorial Guinea\",\"Eritrea\",\"Estonia\",\"Ethiopia\",\"Fiji\",\"Finland\",\"France\",\"French Guiana\",\"French Polynesia\",\"Gabon\",\"Gambia\",\"Georgia\",\"Germany\",\"Ghana\",\"Greece\",\"Greenland\",\"Grenada\",\"Guadeloupe\",\"Guam\",\"Guatemala\",\"Guinea\",\"Guinea-Bissau\",\"Guyana\",\"Haiti\",\"Honduras\",\"Hong Kong, China\",\"Hungary\",\"Iceland\",\"India\",\"Indonesia\",\"Iran\",\"Iraq\",\"Ireland\",\"Israel\",\"Italy\",\"Jamaica\",\"Japan\",\"Jordan\",\"Kazakhstan\",\"Kenya\",\"Kiribati\",\"Korea, Dem. Rep.\",\"Korea, Rep.\",\"Kuwait\",\"Kyrgyzstan\",\"Laos\",\"Latvia\",\"Lebanon\",\"Lesotho\",\"Liberia\",\"Libya\",\"Lithuania\",\"Luxembourg\",\"Macao, China\",\"Macedonia, FYR\",\"Madagascar\",\"Malawi\",\"Malaysia\",\"Maldives\",\"Mali\",\"Malta\",\"Martinique\",\"Mauritania\",\"Mauritius\",\"Mayotte\",\"Mexico\",\"Micronesia, Fed. Sts.\",\"Moldova\",\"Mongolia\",\"Montenegro\",\"Morocco\",\"Mozambique\",\"Myanmar\",\"Namibia\",\"Nepal\",\"Netherlands\",\"Netherlands Antilles\",\"New Caledonia\",\"New Zealand\",\"Nicaragua\",\"Niger\",\"Nigeria\",\"Norway\",\"Oman\",\"Pakistan\",\"Panama\",\"Papua New Guinea\",\"Paraguay\",\"Peru\",\"Philippines\",\"Poland\",\"Portugal\",\"Puerto Rico\",\"Qatar\",\"Reunion\",\"Romania\",\"Russia\",\"Rwanda\",\"Saint Lucia\",\"Saint Vincent and the Grenadines\",\"Samoa\",\"Sao Tome and Principe\",\"Saudi Arabia\",\"Senegal\",\"Serbia\",\"Seychelles\",\"Sierra Leone\",\"Singapore\",\"Slovak Republic\",\"Slovenia\",\"Solomon Islands\",\"Somalia\",\"South Africa\",\"South Sudan\",\"Spain\",\"Sri Lanka\",\"Sudan\",\"Suriname\",\"Swaziland\",\"Sweden\",\"Switzerland\",\"Syria\",\"Taiwan\",\"Tajikistan\",\"Tanzania\",\"Thailand\",\"Timor-Leste\",\"Togo\",\"Tonga\",\"Trinidad and Tobago\",\"Tunisia\",\"Turkey\",\"Turkmenistan\",\"Uganda\",\"Ukraine\",\"United Arab Emirates\",\"United Kingdom\",\"United States\",\"Uruguay\",\"Uzbekistan\",\"Vanuatu\",\"Venezuela\",\"Vietnam\",\"Virgin Islands (U.S.)\",\"West Bank and Gaza\",\"Western Sahara\",\"Yemen, Rep.\",\"Zambia\",\"Zimbabwe\"],\"region\":[\"South Asia\",\"Europe & Central Asia\",\"Middle East & North Africa\",\"Sub-Saharan Africa\",\"America\",\"America\",\"Europe & Central Asia\",\"America\",\"East Asia & Pacific\",\"Europe & Central Asia\",\"Europe & Central Asia\",\"America\",\"Middle East & North Africa\",\"South Asia\",\"America\",\"Europe & Central Asia\",\"Europe & Central Asia\",\"America\",\"Sub-Saharan Africa\",\"South Asia\",\"America\",\"Europe & Central Asia\",\"Sub-Saharan Africa\",\"America\",\"East Asia & Pacific\",\"Europe & Central Asia\",\"Sub-Saharan Africa\",\"Sub-Saharan Africa\",\"East Asia & Pacific\",\"Sub-Saharan Africa\",\"America\",\"Sub-Saharan Africa\",\"Sub-Saharan Africa\",\"Sub-Saharan Africa\",\"Europe & Central Asia\",\"America\",\"East Asia & Pacific\",\"America\",\"Sub-Saharan Africa\",\"Sub-Saharan Africa\",\"Sub-Saharan Africa\",\"America\",\"Sub-Saharan Africa\",\"Europe & Central Asia\",\"America\",\"Europe & Central Asia\",\"Europe & Central Asia\",\"Europe & Central Asia\",\"Middle East & North Africa\",\"America\",\"America\",\"Middle East & North Africa\",\"America\",\"Sub-Saharan Africa\",\"Sub-Saharan Africa\",\"Europe & Central Asia\",\"Sub-Saharan Africa\",\"East Asia & Pacific\",\"Europe & Central Asia\",\"Europe & Central Asia\",\"America\",\"East Asia & Pacific\",\"Sub-Saharan Africa\",\"Sub-Saharan Africa\",\"Europe & Central Asia\",\"Europe & Central Asia\",\"Sub-Saharan Africa\",\"Europe & Central Asia\",\"Europe & Central Asia\",\"America\",\"America\",\"East Asia & Pacific\",\"America\",\"Sub-Saharan Africa\",\"Sub-Saharan Africa\",\"America\",\"America\",\"America\",\"East Asia & Pacific\",\"Europe & Central Asia\",\"Europe & Central Asia\",\"South Asia\",\"East Asia & Pacific\",\"Middle East & North Africa\",\"Middle East & North Africa\",\"Europe & Central Asia\",\"Middle East & North Africa\",\"Europe & Central Asia\",\"America\",\"East Asia & Pacific\",\"Middle East & North Africa\",\"Europe & Central Asia\",\"Sub-Saharan Africa\",\"East Asia & Pacific\",\"East Asia & Pacific\",\"East Asia & Pacific\",\"Middle East & North Africa\",\"Europe & Central Asia\",\"East Asia & Pacific\",\"Europe & Central Asia\",\"Middle East & North Africa\",\"Sub-Saharan Africa\",\"Sub-Saharan Africa\",\"Middle East & North Africa\",\"Europe & Central Asia\",\"Europe & Central Asia\",\"East Asia & Pacific\",\"Europe & Central Asia\",\"Sub-Saharan Africa\",\"Sub-Saharan Africa\",\"East Asia & Pacific\",\"South Asia\",\"Sub-Saharan Africa\",\"Europe & Central Asia\",\"America\",\"Sub-Saharan Africa\",\"Sub-Saharan Africa\",\"Sub-Saharan Africa\",\"America\",\"East Asia & Pacific\",\"Europe & Central Asia\",\"East Asia & Pacific\",\"Europe & Central Asia\",\"Middle East & North Africa\",\"Sub-Saharan Africa\",\"East Asia & Pacific\",\"Sub-Saharan Africa\",\"South Asia\",\"Europe & Central Asia\",\"America\",\"East Asia & Pacific\",\"East Asia & Pacific\",\"America\",\"Sub-Saharan Africa\",\"Sub-Saharan Africa\",\"Europe & Central Asia\",\"Middle East & North Africa\",\"South Asia\",\"America\",\"East Asia & Pacific\",\"America\",\"America\",\"East Asia & Pacific\",\"Europe & Central Asia\",\"Europe & Central Asia\",\"America\",\"Middle East & North Africa\",\"Sub-Saharan Africa\",\"Europe & Central Asia\",\"Europe & Central Asia\",\"Sub-Saharan Africa\",\"America\",\"America\",\"East Asia & Pacific\",\"Sub-Saharan Africa\",\"Middle East & North Africa\",\"Sub-Saharan Africa\",\"Europe & Central Asia\",\"Sub-Saharan Africa\",\"Sub-Saharan Africa\",\"East Asia & Pacific\",\"Europe & Central Asia\",\"Europe & Central Asia\",\"East Asia & Pacific\",\"Sub-Saharan Africa\",\"Sub-Saharan Africa\",\"Sub-Saharan Africa\",\"Europe & Central Asia\",\"South Asia\",\"Sub-Saharan Africa\",\"America\",\"Sub-Saharan Africa\",\"Europe & Central Asia\",\"Europe & Central Asia\",\"Middle East & North Africa\",\"East Asia & Pacific\",\"Europe & Central Asia\",\"Sub-Saharan Africa\",\"East Asia & Pacific\",\"East Asia & Pacific\",\"Sub-Saharan Africa\",\"East Asia & Pacific\",\"America\",\"Middle East & North Africa\",\"Europe & Central Asia\",\"Europe & Central Asia\",\"Sub-Saharan Africa\",\"Europe & Central Asia\",\"Middle East & North Africa\",\"Europe & Central Asia\",\"America\",\"America\",\"Europe & Central Asia\",\"East Asia & Pacific\",\"America\",\"East Asia & Pacific\",\"America\",\"Middle East & North Africa\",\"Middle East & North Africa\",\"Middle East & North Africa\",\"Sub-Saharan Africa\",\"Sub-Saharan Africa\"],\"x\":{\"__ndarray__\":\"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\",\"dtype\":\"float64\",\"shape\":[202]},\"y\":{\"__ndarray__\":\"vp8aL91UQkDqJjEIrLxQQAMrhxbZLklAarx0kxiEQkC28/3UeHlQQNv5fmq8nFBA/tR46SaJUUApXI/C9UhRQKRwPQrXs1FA16NwPQqHUUAK16NwPUJQQDEIrBxafFBAmpmZmZm5T0AK16NwPcpHQNEi2/l+SlBAFK5H4XoUUkCuR+F6FL5RQE5iEFg5ZFBAcT0K16MwRUDwp8ZLN3lCQFK4HoXr4UZA3SQGgZWLUED91HjpJmFLQB+F61G4bk1AEVg5tMjOUEDhehSuR9FRQFyPwvUojENAtMh2vp/qRUDb+X5qvNREQHe+nxovDUdAmpmZmZkpUkAlBoGVQxtKQNNNYhBY+URA7nw/NV6qREDrJjEIrPRRQFCNl24SA09ATx4Wak1TT0DdJAaBlXNOQLKd76fG20dATDeJQWD1RUBSuB6F67FKQKabxCCwslBAf2q8dJPYRUCq8dJNYhhRQJZDi2znc1FAwJ8aL90kUkBSuB6F62FRQLgehetRWFJAFK5H4XqUSEDsUbgehTtNQGiR7Xw/5UxA9P3UeOkWSkA7tMh2vj9MQKrx0k1i4ENAwcqhRbZDREApXI/C9ZhRQLbz/dR4eUVABFYOLbLtTUDXo3A9CpdRQArXo3A9ClJAIbByaJFVUEBkO99PjRdOQPYoXI/CVUdAtvP91HjpQkB3vp8aL91QQMZ5fugQrVFACKwcWmSrSEDb+X5qvLxRQEtgzaKrYVBAlkOLbOfrT0ACK4cW2T5QQO18PzVealBAaJHtfD8FSkCHFtnO91NCQPT91HjpBkZA8KfGSze5TUAmMQisHJpHQOF6FK5HQUpADAIrhxb5UUCPwvUoXE9RQKRwPQrXc1JAYLpJDAJrSECNbOf7qTFKQCGwcmiRbUlAtvP91HgZTUApXI/C9bhRQKRwPQrXy1FACtejcD3qUUB/arx0kxBRQBSuR+F6BFJA2s73U+MVTkBMN4lBYEVPQLKd76fGG0pAvHSTGAS2SUCJFtnO99NNQNrO91PjlU5AAiuHFtl2UEAdWmQ73z9OQFTjpZvEIEdAH4XrUbiOUUA/NV66SYRQQIkW2c73g0hAjZduEoOgQ0Atsp3vpwZMQIXrUbgexVFAhetRuB5lUUDqJjEIrExRQCUGgZVDk1BAppvEILBiRkBSuB6F61FEQAaBlUOLHFBA3SQGgZUTRkCMbOf7qTFAQClcj8L1oFFAyXa+nxp/UEBxPQrXo5BIQAaBlUOLnE9AO99PjZcuT0CsHFpkO69OQP3UeOkm0U5AexSuR+FCUEBYObTIdq5LQFYOLbKdd1FAfT81XrpJSkBWDi2ynZ9DQFg5tMh2fklAZBBYObRISkAQWDm0yDZFQGZmZmZmZlJA6Pup8dJNUUC8dJMYBDZPQIXrUbge1VFAukkMAivXSkBmZmZmZiZCQAAAAAAAgEJAhetRuB6FUkBI4XoUridJQARWDi2yvUpA/tR46SZhUEDFILByaAFHQLpJDAIrX1BACtejcD26SkDRItv5fmpOQEjhehSud1FAexSuR+HKUECF61G4HuVRQMuhRbbzFVFAZDvfT42HT0Cq8dJNYghRQNejcD0KN1FA+n5qvHQzRkAZBFYOLYJPQFg5tMh2RlBA+n5qvHRjS0DLoUW28+1LQH9qvHSTWEpAkxgEVg6dQ0CsHFpkO+9QQFCNl24Sa1BAsHJoke1MQUATg8DKoQVRQI/C9Shcb1FAbef7qfFaUUCq8dJNYiBLQLTIdr6fekRAmpmZmZlpSkAv3SQGgeVBQI/C9ShcD1JAne+nxksHUEAhsHJokR1KQPyp8dJNok9A9ihcj8IFSEDNzMzMzKxSQClcj8L1SFJAokW28/2UTUCamZmZmSlRQMdLN4lBEE5ACKwcWmRbR0DfT42XbsJNQPyp8dJNwkNAZBBYObRIR0Dy0k1iEDhQQHe+nxovRVBAGy/dJAaRSUBoke18PyVKQJZDi2znO01AmpmZmZlpSEBI4XoUrrdRQDvfT42Xzk5AAAAAAAAAUkB7FK5H4bpRQHNoke18J1FACKwcWmR7T0CsHFpkOy9KQNv5fmq8PFBAeekmMQjMTUBaZDvfT+1QQJHtfD813ktAf2q8dJMIRUBKDAIrh5ZEQBKDwMqhhUhAL90kBoF1S0A=\",\"dtype\":\"float64\",\"shape\":[202]}},\"selected\":{\"id\":\"32231\",\"type\":\"Selection\"},\"selection_policy\":{\"id\":\"32230\",\"type\":\"UnionRenderers\"}},\"id\":\"31721\",\"type\":\"ColumnDataSource\"},{\"attributes\":{},\"id\":\"32228\",\"type\":\"BasicTickFormatter\"},{\"attributes\":{\"label\":{\"field\":\"region\"},\"renderers\":[{\"id\":\"32320\",\"type\":\"GlyphRenderer\"},{\"id\":\"33820\",\"type\":\"GlyphRenderer\"},{\"id\":\"34795\",\"type\":\"GlyphRenderer\"},{\"id\":\"35812\",\"type\":\"GlyphRenderer\"}]},\"id\":\"32811\",\"type\":\"LegendItem\"},{\"attributes\":{\"dimension\":1,\"plot\":{\"id\":\"31724\",\"subtype\":\"Figure\",\"type\":\"Plot\"},\"ticker\":{\"id\":\"31740\",\"type\":\"BasicTicker\"}},\"id\":\"31743\",\"type\":\"Grid\"},{\"attributes\":{\"callback\":null,\"options\":[\"fertility\",\"life\",\"child_mortality\",\"gdp\"],\"title\":\"x-axis data\",\"value\":\"fertility\"},\"id\":\"38388\",\"type\":\"Select\"},{\"attributes\":{\"callback\":null,\"options\":[\"fertility\",\"life\",\"child_mortality\",\"gdp\"],\"title\":\"y-axis data\",\"value\":\"life\"},\"id\":\"38389\",\"type\":\"Select\"},{\"attributes\":{\"data_source\":{\"id\":\"31721\",\"type\":\"ColumnDataSource\"},\"glyph\":{\"id\":\"34793\",\"type\":\"Circle\"},\"hover_glyph\":null,\"muted_glyph\":null,\"nonselection_glyph\":{\"id\":\"34794\",\"type\":\"Circle\"},\"selection_glyph\":null,\"view\":{\"id\":\"34796\",\"type\":\"CDSView\"}},\"id\":\"34795\",\"type\":\"GlyphRenderer\"},{\"attributes\":{\"active_drag\":\"auto\",\"active_inspect\":\"auto\",\"active_multi\":null,\"active_scroll\":\"auto\",\"active_tap\":\"auto\",\"tools\":[{\"id\":\"31722\",\"type\":\"HoverTool\"},{\"id\":\"37358\",\"type\":\"HoverTool\"}]},\"id\":\"31744\",\"type\":\"Toolbar\"},{\"attributes\":{\"fill_alpha\":{\"value\":0.1},\"fill_color\":{\"value\":\"#1f77b4\"},\"line_alpha\":{\"value\":0.1},\"line_color\":{\"value\":\"#1f77b4\"},\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"33819\",\"type\":\"Circle\"},{\"attributes\":{\"source\":{\"id\":\"31721\",\"type\":\"ColumnDataSource\"}},\"id\":\"34796\",\"type\":\"CDSView\"},{\"attributes\":{\"children\":[{\"id\":\"38387\",\"type\":\"Slider\"},{\"id\":\"38388\",\"type\":\"Select\"},{\"id\":\"38389\",\"type\":\"Select\"}]},\"id\":\"38390\",\"type\":\"WidgetBox\"},{\"attributes\":{\"fill_color\":{\"value\":\"#1f77b4\"},\"line_color\":{\"value\":\"#1f77b4\"},\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"31747\",\"type\":\"Circle\"},{\"attributes\":{\"callback\":null,\"tooltips\":[[\"Country\",\"@country\"]]},\"id\":\"37358\",\"type\":\"HoverTool\"},{\"attributes\":{},\"id\":\"32231\",\"type\":\"Selection\"},{\"attributes\":{\"data_source\":{\"id\":\"31721\",\"type\":\"ColumnDataSource\"},\"glyph\":{\"id\":\"35810\",\"type\":\"Circle\"},\"hover_glyph\":null,\"muted_glyph\":null,\"nonselection_glyph\":{\"id\":\"35811\",\"type\":\"Circle\"},\"selection_glyph\":null,\"view\":{\"id\":\"35813\",\"type\":\"CDSView\"}},\"id\":\"35812\",\"type\":\"GlyphRenderer\"},{\"attributes\":{\"data_source\":{\"id\":\"31721\",\"type\":\"ColumnDataSource\"},\"glyph\":{\"id\":\"33818\",\"type\":\"Circle\"},\"hover_glyph\":null,\"muted_glyph\":null,\"nonselection_glyph\":{\"id\":\"33819\",\"type\":\"Circle\"},\"selection_glyph\":null,\"view\":{\"id\":\"33821\",\"type\":\"CDSView\"}},\"id\":\"33820\",\"type\":\"GlyphRenderer\"},{\"attributes\":{\"callback\":null,\"tooltips\":\"@country\"},\"id\":\"31722\",\"type\":\"HoverTool\"},{\"attributes\":{\"data_source\":{\"id\":\"31721\",\"type\":\"ColumnDataSource\"},\"glyph\":{\"id\":\"32318\",\"type\":\"Circle\"},\"hover_glyph\":null,\"muted_glyph\":null,\"nonselection_glyph\":{\"id\":\"32319\",\"type\":\"Circle\"},\"selection_glyph\":null,\"view\":{\"id\":\"32321\",\"type\":\"CDSView\"}},\"id\":\"32320\",\"type\":\"GlyphRenderer\"},{\"attributes\":{\"source\":{\"id\":\"31721\",\"type\":\"ColumnDataSource\"}},\"id\":\"35813\",\"type\":\"CDSView\"},{\"attributes\":{\"source\":{\"id\":\"31721\",\"type\":\"ColumnDataSource\"}},\"id\":\"31750\",\"type\":\"CDSView\"},{\"attributes\":{\"fill_alpha\":{\"value\":0.8},\"fill_color\":{\"field\":\"region\",\"transform\":{\"id\":\"32316\",\"type\":\"CategoricalColorMapper\"}},\"line_color\":{\"field\":\"region\",\"transform\":{\"id\":\"32316\",\"type\":\"CategoricalColorMapper\"}},\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"32318\",\"type\":\"Circle\"},{\"attributes\":{\"fill_alpha\":{\"value\":0.1},\"fill_color\":{\"value\":\"#1f77b4\"},\"line_alpha\":{\"value\":0.1},\"line_color\":{\"value\":\"#1f77b4\"},\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"31748\",\"type\":\"Circle\"}],\"root_ids\":[\"38391\"]},\"title\":\"Bokeh Application\",\"version\":\"1.0.2\"}};\n", " var render_items = [{\"docid\":\"93107638-07f0-4c7a-9321-c87748edaac7\",\"roots\":{\"38391\":\"e8839c42-2582-4cc2-8ee4-12339a579142\"}}];\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": "38391" } }, "output_type": "display_data" } ], "source": [ "# Define the callback: update_plot\n", "def update_plot(attr, old, new):\n", " # Read the current value off the slider and 2 dropdowns: yr, x, y\n", " yr = slider.value\n", " x = x_select.value\n", " y = y_select.value\n", " # Label axes of plot\n", " plot.xaxis.axis_label = x\n", " plot.yaxis.axis_label = y\n", " # Set new_data\n", " new_data = {\n", " 'x' : data.loc[yr][x],\n", " 'y' : data.loc[yr][y],\n", " 'country' : data.loc[yr].Country,\n", " 'pop' : (data.loc[yr].population / 20000000) + 2,\n", " 'region' : data.loc[yr].region,\n", " }\n", " # Assign new_data to source.data\n", " source.data = new_data\n", "\n", " # Set the range of all axes\n", " plot.x_range.start = min(data[x])\n", " plot.x_range.end = max(data[x])\n", " plot.y_range.start = min(data[y])\n", " plot.y_range.end = max(data[y])\n", "\n", " # Add title to plot\n", " plot.title.text = 'Gapminder data for %d' % yr\n", "\n", "# Create a dropdown slider widget: slider\n", "slider = Slider(start=1970, end=2010, step=1, value=1970, title='Year')\n", "\n", "# Attach the callback to the 'value' property of slider\n", "slider.on_change('value', update_plot)\n", "\n", "# Create a dropdown Select widget for the x data: x_select\n", "x_select = Select(\n", " options=['fertility', 'life', 'child_mortality', 'gdp'],\n", " value='fertility',\n", " title='x-axis data'\n", ")\n", "\n", "# Attach the update_plot callback to the 'value' property of x_select\n", "x_select.on_change('value', update_plot)\n", "\n", "# Create a dropdown Select widget for the y data: y_select\n", "y_select = Select(\n", " options=['fertility', 'life', 'child_mortality', 'gdp'],\n", " value='life',\n", " title='y-axis data'\n", ")\n", "\n", "# Attach the update_plot callback to the 'value' property of y_select\n", "y_select.on_change('value', update_plot)\n", "\n", "# Create layout and add to current document\n", "layout = row(widgetbox(slider, x_select, y_select), plot)\n", "curdoc().add_root(layout)\n", "show(layout)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Recap \n", "- We learned the bokeh.plotting interface for basic plotting \n", "- How to customize plots and add layouts and interactions \n", "- The bokeh.charts interface for very high level charts \n", "- The power of the bokeh server for creating richly interactive visualization applications.\n", "\n", "https://bokeh.github.io\n", "\n", "As a final demonstration, the code below can be copied into normal python script and executued with the `bokeh serve --show file_name.py` or see a non-interactive version at the bottom. \n" ] }, { "cell_type": "code", "execution_count": 28, "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "WARNING:bokeh.embed.util:\n", "You are generating standalone HTML/JS output, but trying to use real Python\n", "callbacks (i.e. with on_change or on_event). This combination cannot work.\n", "\n", "Only JavaScript callbacks may be used with standalone output. For more\n", "information on JavaScript callbacks with Bokeh, see:\n", "\n", " http://bokeh.pydata.org/en/latest/docs/user_guide/interaction/callbacks.html\n", "\n", "Alternatively, to use real Python callbacks, a Bokeh server application may\n", "be used. For more information on building and running Bokeh applications, see:\n", "\n", " http://bokeh.pydata.org/en/latest/docs/user_guide/server.html\n", "\n" ] }, { "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 = {\"772b2ea9-940a-400a-8d90-3758f60d96be\":{\"roots\":{\"references\":[{\"attributes\":{\"children\":[{\"id\":\"10139\",\"type\":\"WidgetBox\"},{\"id\":\"10075\",\"subtype\":\"Figure\",\"type\":\"Plot\"}]},\"id\":\"10140\",\"type\":\"Row\"},{\"attributes\":{\"axis_label\":\"Life Expectancy (years)\",\"formatter\":{\"id\":\"10123\",\"type\":\"BasicTickFormatter\"},\"plot\":{\"id\":\"10075\",\"subtype\":\"Figure\",\"type\":\"Plot\"},\"ticker\":{\"id\":\"10091\",\"type\":\"BasicTicker\"}},\"id\":\"10090\",\"type\":\"LinearAxis\"},{\"attributes\":{\"data_source\":{\"id\":\"10073\",\"type\":\"ColumnDataSource\"},\"glyph\":{\"id\":\"10118\",\"type\":\"Circle\"},\"hover_glyph\":null,\"muted_glyph\":null,\"nonselection_glyph\":{\"id\":\"10119\",\"type\":\"Circle\"},\"selection_glyph\":null,\"view\":{\"id\":\"10121\",\"type\":\"CDSView\"}},\"id\":\"10120\",\"type\":\"GlyphRenderer\"},{\"attributes\":{\"below\":[{\"id\":\"10085\",\"type\":\"LinearAxis\"}],\"left\":[{\"id\":\"10090\",\"type\":\"LinearAxis\"}],\"plot_height\":400,\"plot_width\":700,\"renderers\":[{\"id\":\"10085\",\"type\":\"LinearAxis\"},{\"id\":\"10089\",\"type\":\"Grid\"},{\"id\":\"10090\",\"type\":\"LinearAxis\"},{\"id\":\"10094\",\"type\":\"Grid\"},{\"id\":\"10102\",\"type\":\"BoxAnnotation\"},{\"id\":\"10105\",\"type\":\"PolyAnnotation\"},{\"id\":\"10109\",\"type\":\"BoxAnnotation\"},{\"id\":\"10130\",\"type\":\"Legend\"},{\"id\":\"10120\",\"type\":\"GlyphRenderer\"}],\"title\":{\"id\":\"10074\",\"type\":\"Title\"},\"toolbar\":{\"id\":\"10104\",\"type\":\"Toolbar\"},\"x_range\":{\"id\":\"10077\",\"type\":\"Range1d\"},\"x_scale\":{\"id\":\"10081\",\"type\":\"LinearScale\"},\"y_range\":{\"id\":\"10079\",\"type\":\"Range1d\"},\"y_scale\":{\"id\":\"10083\",\"type\":\"LinearScale\"}},\"id\":\"10075\",\"subtype\":\"Figure\",\"type\":\"Plot\"},{\"attributes\":{},\"id\":\"10091\",\"type\":\"BasicTicker\"},{\"attributes\":{\"source\":{\"id\":\"10073\",\"type\":\"ColumnDataSource\"}},\"id\":\"10121\",\"type\":\"CDSView\"},{\"attributes\":{\"dimension\":1,\"plot\":{\"id\":\"10075\",\"subtype\":\"Figure\",\"type\":\"Plot\"},\"ticker\":{\"id\":\"10091\",\"type\":\"BasicTicker\"}},\"id\":\"10094\",\"type\":\"Grid\"},{\"attributes\":{},\"id\":\"10123\",\"type\":\"BasicTickFormatter\"},{\"attributes\":{\"factors\":[\"South Asia\",\"Europe & Central Asia\",\"Middle East & North Africa\",\"Sub-Saharan Africa\",\"America\",\"East Asia & Pacific\"],\"palette\":[\"#3288bd\",\"#99d594\",\"#e6f598\",\"#fee08b\",\"#fc8d59\",\"#d53e4f\"]},\"id\":\"10116\",\"type\":\"CategoricalColorMapper\"},{\"attributes\":{},\"id\":\"10125\",\"type\":\"BasicTickFormatter\"},{\"attributes\":{},\"id\":\"10490\",\"type\":\"UnionRenderers\"},{\"attributes\":{\"items\":[{\"id\":\"10131\",\"type\":\"LegendItem\"}],\"plot\":{\"id\":\"10075\",\"subtype\":\"Figure\",\"type\":\"Plot\"}},\"id\":\"10130\",\"type\":\"Legend\"},{\"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\":\"10102\",\"type\":\"BoxAnnotation\"},{\"attributes\":{\"callback\":null,\"overlay\":{\"id\":\"10102\",\"type\":\"BoxAnnotation\"}},\"id\":\"10095\",\"type\":\"BoxSelectTool\"},{\"attributes\":{\"callback\":null,\"end\":83.58,\"start\":6.0},\"id\":\"10079\",\"type\":\"Range1d\"},{\"attributes\":{\"label\":{\"field\":\"region\"},\"renderers\":[{\"id\":\"10120\",\"type\":\"GlyphRenderer\"}]},\"id\":\"10131\",\"type\":\"LegendItem\"},{\"attributes\":{\"callback\":null,\"overlay\":{\"id\":\"10105\",\"type\":\"PolyAnnotation\"}},\"id\":\"10096\",\"type\":\"LassoSelectTool\"},{\"attributes\":{\"callback\":null,\"data\":{\"country\":[\"Afghanistan\",\"Albania\",\"Algeria\",\"Angola\",\"Antigua and Barbuda\",\"Argentina\",\"Armenia\",\"Aruba\",\"Australia\",\"Austria\",\"Azerbaijan\",\"Bahamas\",\"Bahrain\",\"Bangladesh\",\"Barbados\",\"Belarus\",\"Belgium\",\"Belize\",\"Benin\",\"Bhutan\",\"Bolivia\",\"Bosnia and Herzegovina\",\"Botswana\",\"Brazil\",\"Brunei\",\"Bulgaria\",\"Burkina Faso\",\"Burundi\",\"Cambodia\",\"Cameroon\",\"Canada\",\"Cape Verde\",\"Central African Rep.\",\"Chad\",\"Channel Islands\",\"Chile\",\"China\",\"Colombia\",\"Comoros\",\"Congo, Dem. Rep.\",\"Congo, Rep.\",\"Costa Rica\",\"Cote d'Ivoire\",\"Croatia\",\"Cuba\",\"Cyprus\",\"Czech Rep.\",\"Denmark\",\"Djibouti\",\"Dominican Rep.\",\"Ecuador\",\"Egypt\",\"El Salvador\",\"Equatorial Guinea\",\"Eritrea\",\"Estonia\",\"Ethiopia\",\"Fiji\",\"Finland\",\"France\",\"French Guiana\",\"French Polynesia\",\"Gabon\",\"Gambia\",\"Georgia\",\"Germany\",\"Ghana\",\"Greece\",\"Greenland\",\"Grenada\",\"Guadeloupe\",\"Guam\",\"Guatemala\",\"Guinea\",\"Guinea-Bissau\",\"Guyana\",\"Haiti\",\"Honduras\",\"Hong Kong, China\",\"Hungary\",\"Iceland\",\"India\",\"Indonesia\",\"Iran\",\"Iraq\",\"Ireland\",\"Israel\",\"Italy\",\"Jamaica\",\"Japan\",\"Jordan\",\"Kazakhstan\",\"Kenya\",\"Kiribati\",\"Korea, Dem. Rep.\",\"Korea, Rep.\",\"Kuwait\",\"Kyrgyzstan\",\"Laos\",\"Latvia\",\"Lebanon\",\"Lesotho\",\"Liberia\",\"Libya\",\"Lithuania\",\"Luxembourg\",\"Macao, China\",\"Macedonia, FYR\",\"Madagascar\",\"Malawi\",\"Malaysia\",\"Maldives\",\"Mali\",\"Malta\",\"Martinique\",\"Mauritania\",\"Mauritius\",\"Mayotte\",\"Mexico\",\"Micronesia, Fed. Sts.\",\"Moldova\",\"Mongolia\",\"Montenegro\",\"Morocco\",\"Mozambique\",\"Myanmar\",\"Namibia\",\"Nepal\",\"Netherlands\",\"Netherlands Antilles\",\"New Caledonia\",\"New Zealand\",\"Nicaragua\",\"Niger\",\"Nigeria\",\"Norway\",\"Oman\",\"Pakistan\",\"Panama\",\"Papua New Guinea\",\"Paraguay\",\"Peru\",\"Philippines\",\"Poland\",\"Portugal\",\"Puerto Rico\",\"Qatar\",\"Reunion\",\"Romania\",\"Russia\",\"Rwanda\",\"Saint Lucia\",\"Saint Vincent and the Grenadines\",\"Samoa\",\"Sao Tome and Principe\",\"Saudi Arabia\",\"Senegal\",\"Serbia\",\"Seychelles\",\"Sierra Leone\",\"Singapore\",\"Slovak Republic\",\"Slovenia\",\"Solomon Islands\",\"Somalia\",\"South Africa\",\"South Sudan\",\"Spain\",\"Sri Lanka\",\"Sudan\",\"Suriname\",\"Swaziland\",\"Sweden\",\"Switzerland\",\"Syria\",\"Taiwan\",\"Tajikistan\",\"Tanzania\",\"Thailand\",\"Timor-Leste\",\"Togo\",\"Tonga\",\"Trinidad and Tobago\",\"Tunisia\",\"Turkey\",\"Turkmenistan\",\"Uganda\",\"Ukraine\",\"United Arab Emirates\",\"United Kingdom\",\"United States\",\"Uruguay\",\"Uzbekistan\",\"Vanuatu\",\"Venezuela\",\"Vietnam\",\"Virgin Islands (U.S.)\",\"West Bank and Gaza\",\"Western Sahara\",\"Yemen, Rep.\",\"Zambia\",\"Zimbabwe\"],\"region\":[\"South Asia\",\"Europe & Central Asia\",\"Middle East & North Africa\",\"Sub-Saharan Africa\",\"America\",\"America\",\"Europe & Central Asia\",\"America\",\"East Asia & Pacific\",\"Europe & Central Asia\",\"Europe & Central Asia\",\"America\",\"Middle East & North Africa\",\"South Asia\",\"America\",\"Europe & Central Asia\",\"Europe & Central Asia\",\"America\",\"Sub-Saharan Africa\",\"South Asia\",\"America\",\"Europe & Central Asia\",\"Sub-Saharan Africa\",\"America\",\"East Asia & Pacific\",\"Europe & Central Asia\",\"Sub-Saharan Africa\",\"Sub-Saharan Africa\",\"East Asia & Pacific\",\"Sub-Saharan Africa\",\"America\",\"Sub-Saharan Africa\",\"Sub-Saharan Africa\",\"Sub-Saharan Africa\",\"Europe & Central Asia\",\"America\",\"East Asia & Pacific\",\"America\",\"Sub-Saharan Africa\",\"Sub-Saharan Africa\",\"Sub-Saharan Africa\",\"America\",\"Sub-Saharan Africa\",\"Europe & Central Asia\",\"America\",\"Europe & Central Asia\",\"Europe & Central Asia\",\"Europe & Central Asia\",\"Middle East & North Africa\",\"America\",\"America\",\"Middle East & North Africa\",\"America\",\"Sub-Saharan Africa\",\"Sub-Saharan Africa\",\"Europe & Central Asia\",\"Sub-Saharan Africa\",\"East Asia & Pacific\",\"Europe & Central Asia\",\"Europe & Central Asia\",\"America\",\"East Asia & Pacific\",\"Sub-Saharan Africa\",\"Sub-Saharan Africa\",\"Europe & Central Asia\",\"Europe & Central Asia\",\"Sub-Saharan Africa\",\"Europe & Central Asia\",\"Europe & Central Asia\",\"America\",\"America\",\"East Asia & Pacific\",\"America\",\"Sub-Saharan Africa\",\"Sub-Saharan Africa\",\"America\",\"America\",\"America\",\"East Asia & Pacific\",\"Europe & Central Asia\",\"Europe & Central Asia\",\"South Asia\",\"East Asia & Pacific\",\"Middle East & North Africa\",\"Middle East & North Africa\",\"Europe & Central Asia\",\"Middle East & North Africa\",\"Europe & Central Asia\",\"America\",\"East Asia & Pacific\",\"Middle East & North Africa\",\"Europe & Central Asia\",\"Sub-Saharan Africa\",\"East Asia & Pacific\",\"East Asia & Pacific\",\"East Asia & Pacific\",\"Middle East & North Africa\",\"Europe & Central Asia\",\"East Asia & Pacific\",\"Europe & Central Asia\",\"Middle East & North Africa\",\"Sub-Saharan Africa\",\"Sub-Saharan Africa\",\"Middle East & North Africa\",\"Europe & Central Asia\",\"Europe & Central Asia\",\"East Asia & Pacific\",\"Europe & Central Asia\",\"Sub-Saharan Africa\",\"Sub-Saharan Africa\",\"East Asia & Pacific\",\"South Asia\",\"Sub-Saharan Africa\",\"Europe & Central Asia\",\"America\",\"Sub-Saharan Africa\",\"Sub-Saharan Africa\",\"Sub-Saharan Africa\",\"America\",\"East Asia & Pacific\",\"Europe & Central Asia\",\"East Asia & Pacific\",\"Europe & Central Asia\",\"Middle East & North Africa\",\"Sub-Saharan Africa\",\"East Asia & Pacific\",\"Sub-Saharan Africa\",\"South Asia\",\"Europe & Central Asia\",\"America\",\"East Asia & Pacific\",\"East Asia & Pacific\",\"America\",\"Sub-Saharan Africa\",\"Sub-Saharan Africa\",\"Europe & Central Asia\",\"Middle East & North Africa\",\"South Asia\",\"America\",\"East Asia & Pacific\",\"America\",\"America\",\"East Asia & Pacific\",\"Europe & Central Asia\",\"Europe & Central Asia\",\"America\",\"Middle East & North Africa\",\"Sub-Saharan Africa\",\"Europe & Central Asia\",\"Europe & Central Asia\",\"Sub-Saharan Africa\",\"America\",\"America\",\"East Asia & Pacific\",\"Sub-Saharan Africa\",\"Middle East & North Africa\",\"Sub-Saharan Africa\",\"Europe & Central Asia\",\"Sub-Saharan Africa\",\"Sub-Saharan Africa\",\"East Asia & Pacific\",\"Europe & Central Asia\",\"Europe & Central Asia\",\"East Asia & Pacific\",\"Sub-Saharan Africa\",\"Sub-Saharan Africa\",\"Sub-Saharan Africa\",\"Europe & Central Asia\",\"South Asia\",\"Sub-Saharan Africa\",\"America\",\"Sub-Saharan Africa\",\"Europe & Central Asia\",\"Europe & Central Asia\",\"Middle East & North Africa\",\"East Asia & Pacific\",\"Europe & Central Asia\",\"Sub-Saharan Africa\",\"East Asia & Pacific\",\"East Asia & Pacific\",\"Sub-Saharan Africa\",\"East Asia & Pacific\",\"America\",\"Middle East & North Africa\",\"Europe & Central Asia\",\"Europe & Central Asia\",\"Sub-Saharan Africa\",\"Europe & Central Asia\",\"Middle East & North Africa\",\"Europe & Central Asia\",\"America\",\"America\",\"Europe & Central Asia\",\"East Asia & Pacific\",\"America\",\"East Asia & Pacific\",\"America\",\"Middle East & North Africa\",\"Middle East & North Africa\",\"Middle East & North Africa\",\"Sub-Saharan Africa\",\"Sub-Saharan Africa\"],\"s\":{\"__ndarray__\":\"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\",\"dtype\":\"float64\",\"shape\":[202]},\"size\":{\"__ndarray__\":\"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\",\"dtype\":\"float64\",\"shape\":[202]},\"x\":{\"__ndarray__\":\"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\",\"dtype\":\"float64\",\"shape\":[202]},\"y\":{\"__ndarray__\":\"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\",\"dtype\":\"float64\",\"shape\":[202]}},\"selected\":{\"id\":\"10491\",\"type\":\"Selection\"},\"selection_policy\":{\"id\":\"10490\",\"type\":\"UnionRenderers\"}},\"id\":\"10073\",\"type\":\"ColumnDataSource\"},{\"attributes\":{},\"id\":\"10097\",\"type\":\"PanTool\"},{\"attributes\":{\"callback\":null,\"end\":2010,\"start\":1970,\"title\":\"Year\",\"value\":1970},\"id\":\"10134\",\"type\":\"Slider\"},{\"attributes\":{\"overlay\":{\"id\":\"10109\",\"type\":\"BoxAnnotation\"}},\"id\":\"10098\",\"type\":\"BoxZoomTool\"},{\"attributes\":{},\"id\":\"10099\",\"type\":\"WheelZoomTool\"},{\"attributes\":{\"callback\":null,\"options\":[\"fertility\",\"life\",\"child_mortality\",\"gdp\"],\"title\":\"x-axis data\",\"value\":\"fertility\"},\"id\":\"10135\",\"type\":\"Select\"},{\"attributes\":{\"callback\":null,\"options\":[\"fertility\",\"life\",\"child_mortality\",\"gdp\"],\"title\":\"y-axis data\",\"value\":\"life\"},\"id\":\"10136\",\"type\":\"Select\"},{\"attributes\":{},\"id\":\"10100\",\"type\":\"ResetTool\"},{\"attributes\":{\"callback\":null,\"options\":[\"all\",\"South Asia\",\"Europe & Central Asia\",\"Middle East & North Africa\",\"Sub-Saharan Africa\",\"America\",\"East Asia & Pacific\"],\"title\":\"Region\",\"value\":\"all\"},\"id\":\"10138\",\"type\":\"Select\"},{\"attributes\":{\"plot\":null,\"text\":\"Gapminder Data for 1970\"},\"id\":\"10074\",\"type\":\"Title\"},{\"attributes\":{},\"id\":\"10101\",\"type\":\"HelpTool\"},{\"attributes\":{\"active\":1,\"callback\":null,\"labels\":[\"top_left\",\"top_right\",\"bottom_left\",\"bottom_right\"],\"name\":\"Legend Location\"},\"id\":\"10137\",\"type\":\"RadioGroup\"},{\"attributes\":{\"callback\":null,\"end\":9.223,\"start\":0.836},\"id\":\"10077\",\"type\":\"Range1d\"},{\"attributes\":{\"callback\":null,\"tooltips\":[[\"Country\",\"@country\"],[\"Population\",\"@size\"]]},\"id\":\"10132\",\"type\":\"HoverTool\"},{\"attributes\":{},\"id\":\"10081\",\"type\":\"LinearScale\"},{\"attributes\":{\"active_drag\":\"auto\",\"active_inspect\":\"auto\",\"active_multi\":null,\"active_scroll\":\"auto\",\"active_tap\":\"auto\",\"tools\":[{\"id\":\"10095\",\"type\":\"BoxSelectTool\"},{\"id\":\"10096\",\"type\":\"LassoSelectTool\"},{\"id\":\"10097\",\"type\":\"PanTool\"},{\"id\":\"10098\",\"type\":\"BoxZoomTool\"},{\"id\":\"10099\",\"type\":\"WheelZoomTool\"},{\"id\":\"10100\",\"type\":\"ResetTool\"},{\"id\":\"10101\",\"type\":\"HelpTool\"},{\"id\":\"10132\",\"type\":\"HoverTool\"}]},\"id\":\"10104\",\"type\":\"Toolbar\"},{\"attributes\":{\"children\":[{\"id\":\"10134\",\"type\":\"Slider\"},{\"id\":\"10135\",\"type\":\"Select\"},{\"id\":\"10136\",\"type\":\"Select\"},{\"id\":\"10138\",\"type\":\"Select\"},{\"id\":\"10137\",\"type\":\"RadioGroup\"}]},\"id\":\"10139\",\"type\":\"WidgetBox\"},{\"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},\"plot\":null,\"xs_units\":\"screen\",\"ys_units\":\"screen\"},\"id\":\"10105\",\"type\":\"PolyAnnotation\"},{\"attributes\":{},\"id\":\"10491\",\"type\":\"Selection\"},{\"attributes\":{},\"id\":\"10083\",\"type\":\"LinearScale\"},{\"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\":\"10109\",\"type\":\"BoxAnnotation\"},{\"attributes\":{\"axis_label\":\"Fertility (children per woman)\",\"formatter\":{\"id\":\"10125\",\"type\":\"BasicTickFormatter\"},\"plot\":{\"id\":\"10075\",\"subtype\":\"Figure\",\"type\":\"Plot\"},\"ticker\":{\"id\":\"10086\",\"type\":\"BasicTicker\"}},\"id\":\"10085\",\"type\":\"LinearAxis\"},{\"attributes\":{},\"id\":\"10086\",\"type\":\"BasicTicker\"},{\"attributes\":{\"fill_alpha\":{\"value\":0.8},\"fill_color\":{\"field\":\"region\",\"transform\":{\"id\":\"10116\",\"type\":\"CategoricalColorMapper\"}},\"line_color\":{\"field\":\"region\",\"transform\":{\"id\":\"10116\",\"type\":\"CategoricalColorMapper\"}},\"size\":{\"field\":\"s\",\"units\":\"screen\"},\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"10118\",\"type\":\"Circle\"},{\"attributes\":{\"fill_alpha\":{\"value\":0.1},\"fill_color\":{\"value\":\"#1f77b4\"},\"line_alpha\":{\"value\":0.1},\"line_color\":{\"value\":\"#1f77b4\"},\"size\":{\"field\":\"s\",\"units\":\"screen\"},\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"10119\",\"type\":\"Circle\"},{\"attributes\":{\"plot\":{\"id\":\"10075\",\"subtype\":\"Figure\",\"type\":\"Plot\"},\"ticker\":{\"id\":\"10086\",\"type\":\"BasicTicker\"}},\"id\":\"10089\",\"type\":\"Grid\"}],\"root_ids\":[\"10140\"]},\"title\":\"Bokeh Application\",\"version\":\"1.0.2\"}};\n", " var render_items = [{\"docid\":\"772b2ea9-940a-400a-8d90-3758f60d96be\",\"roots\":{\"10140\":\"f4cb5b21-9641-42b0-993f-5d01ead8ea4f\"}}];\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": "10140" } }, "output_type": "display_data" } ], "source": [ "\"\"\"\n", "Created on Wed Aug 7 17:06:33 2019\n", "\n", "#point conda or python command line to the directory, and run \n", "#bokeh serve --show gapminder_script.py\n", "#ctrol-c to interrupt server\n", "@author: Robert Piazza\n", "\"\"\"\n", "#Imports \n", "\n", "import pandas as pd\n", "from bokeh.io import curdoc, output_file, show\n", "from bokeh.layouts import row \n", "from bokeh.models import ColumnDataSource, Select, HoverTool, CategoricalColorMapper, Slider, RadioGroup\n", "from bokeh.plotting import figure \n", "from bokeh.layouts import widgetbox\n", "from bokeh.palettes import Spectral6\n", "\n", "data = pd.read_csv('data/gapminder_tidy.csv', index_col = 1)\n", "\n", "# Make the ColumnDataSource: source\n", "source = ColumnDataSource(data={\n", " 'x' : data.loc[1970].fertility,\n", " 'y' : data.loc[1970].life,\n", " 'country' : data.loc[1970].Country,\n", " 's' : (data.loc[1970].population / 10000000) + 2,\n", " 'size' : (data.loc[1970].population),\n", " 'region' : data.loc[1970].region,\n", "})\n", "\n", "# Save the minimum and maximum values of the fertility column: xmin, xmax\n", "xmin, xmax = min(data.fertility), max(data.fertility)\n", "\n", "# Save the minimum and maximum values of the life expectancy column: ymin, ymax\n", "ymin, ymax = min(data.life), max(data.life)\n", "\n", "# Create the figure: plot\n", "plot = figure(title='Gapminder Data for 1970', plot_height=400, plot_width=700,\n", " x_range=(xmin, xmax), y_range=(ymin, ymax), tools='box_select, lasso_select, pan, box_zoom, wheel_zoom, reset, help')\n", "\n", "\n", "# Set the x-axis label\n", "plot.xaxis.axis_label ='Fertility (children per woman)'\n", "\n", "# Set the y-axis label\n", "plot.yaxis.axis_label = 'Life Expectancy (years)'\n", "\n", "axis_dict = {'life':'Life Expectancy at birth (years)',\n", " 'fertility': 'Children per woman(total fertility)', \n", " 'child_mortality': 'Child Mortality (0-5 year-olds dying per 1000 born)',\n", " 'gdp': 'GDP (Gross Domestic Product)',\n", " 'pop': 'Population'}\n", "\n", "# Make a list of the unique values from the region column: regions_list\n", "regions_list = data.region.unique().tolist()\n", "\n", "# Make a color mapper: color_mapper\n", "color_mapper = CategoricalColorMapper(factors=regions_list, palette=Spectral6)\n", "\n", "# Add the color mapper to the circle glyph\n", "plot.circle(x='x', y='y', size = 's', fill_alpha=0.8, source=source,\n", " color=dict(field='region', transform =color_mapper), legend='region')\n", "\n", "# Set the legend.location attribute of the plot to 'top_right' (default)\n", "plot.legend.location = 'top_right'\n", "\n", "# Add the plot to the current document and add the title\n", "curdoc().title = 'Gapminder'\n", "\n", "\n", "# Create a HoverTool: hover\n", "hover = HoverTool(tooltips = [('Country', '@country'),\n", " ('Population', '@size')])\n", "\n", "# Add the HoverTool to the plot\n", "plot.add_tools(hover)\n", "\n", "\n", "# Define the callback: update_plot\n", "def update_plot(attr, old, new): \n", " \"\"\"This will update the plot\"\"\"\n", " # Read the current value off the slider and 2 dropdowns: yr, x, y\n", " yr = slider.value\n", " x = x_select.value\n", " y = y_select.value\n", " r = r_select.value\n", " region_choose = (data.index == yr) & (data.region == r)\n", "\n", " if r =='all':\n", " s_data = (data.loc[yr]['population']/10000000)+2\n", " size_data = data.loc[yr]['population']\n", " else:\n", " s_data = (data.loc[region_choose]['population']/10000000)+2\n", " size_data = data.loc[region_choose]['population']\n", " \n", " # Label axes of plot\n", " plot.xaxis.axis_label = axis_dict[x]\n", " plot.yaxis.axis_label = axis_dict[y]\n", " # Set new_data\n", " if r == 'all':\n", " new_data = {\n", " 'x' : data.loc[yr][x],\n", " 'y' : data.loc[yr][y],\n", " 'country' : data.loc[yr].Country,\n", " 's' : s_data,\n", " 'size' : size_data,\n", " 'region' : data.loc[yr].region,\n", " }\n", " else:\n", " new_data = {\n", " 'x' : data.loc[region_choose][x],\n", " 'y' : data.loc[region_choose][y],\n", " 'country' : data.loc[region_choose].Country,\n", " 's' : s_data,\n", " 'size' : size_data,\n", " 'region' : data.loc[region_choose].region,\n", " } \n", " # Assign new_data to source.data\n", " source.data = new_data\n", " \n", " # Set the range of all axes\n", " plot.x_range.start = min(data[x])\n", " plot.x_range.end = max(data[x])\n", " plot.y_range.start = min(data[y])\n", " plot.y_range.end = max(data[y])\n", "\n", " # Add title to plot\n", " plot.title.text = 'Gapminder data for %d' % yr\n", "\n", "def update_legend(attr, old, new):\n", " \"\"\"This will update the legend\"\"\"\n", " legend_locs = [\"top_left\",\"top_right\", \"bottom_left\", \"bottom_right\"]\n", " l = l_select.active\n", " plot.legend.location = legend_locs[l]\n", " \n", "\n", " \n", "\n", "# Create a dropdown slider widget: slider\n", "slider = Slider(start=1970, end=2010, step=1, value=1970, title='Year')\n", "# Attach the callback to the 'value' property of slider\n", "slider.on_change('value', update_plot)\n", "\n", "\n", "# Create a dropdown Select widget for the x data: x_select\n", "x_select = Select(\n", " options=['fertility', 'life', 'child_mortality', 'gdp'],\n", " value='fertility',\n", " title='x-axis data'\n", ")\n", "\n", "# Attach the update_plot callback to the 'value' property of x_select\n", "x_select.on_change('value', update_plot)\n", "\n", "# Create a dropdown Select widget for the y data: y_select\n", "y_select = Select(\n", " options=['fertility', 'life', 'child_mortality', 'gdp'],\n", " value='life',\n", " title='y-axis data'\n", ")\n", "\n", "# Attach the update_plot callback to the 'value' property of y_select\n", "y_select.on_change('value', update_plot)\n", "\n", "legend_locs = [\"top_left\",\"top_right\", \"bottom_left\", \"bottom_right\"]\n", "\n", "# Create a radioGroup widget for the legend : l_select\n", "l_select = RadioGroup(labels=legend_locs, \n", " active = 1,\n", " name = 'Legend Location')\n", "\n", "# Attach the update_plot callback to the 'value' property of r_select (region)\n", "l_select.on_change('active', update_legend)\n", "\n", "# Create a dropdown Select widget for the y data: y_select\n", "r_select = Select(\n", " options=['all']+regions_list,\n", " value='all',\n", " title='Region'\n", ")\n", "\n", "# Attach the update_plot callback to the 'value' property of y_select\n", "r_select.on_change('value', update_plot)\n", "\n", " \n", "\n", "# Create layout and add to current document\n", "layout = row(widgetbox(slider, x_select, y_select, r_select, l_select), plot)\n", "#output_file('gapminder.html')\n", "\n", "curdoc().add_root(layout)\n", "show(layout)\n" ] } ], "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.1" } }, "nbformat": 4, "nbformat_minor": 2 }