{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Lesson 20: Styling Bokeh plots\n", "\n", "
" ] }, { "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", " const force = true;\n", "\n", " if (typeof root._bokeh_onload_callbacks === \"undefined\" || force === true) {\n", " root._bokeh_onload_callbacks = [];\n", " root._bokeh_is_loading = undefined;\n", " }\n", "\n", " const JS_MIME_TYPE = 'application/javascript';\n", " const HTML_MIME_TYPE = 'text/html';\n", " const EXEC_MIME_TYPE = 'application/vnd.bokehjs_exec.v0+json';\n", " const CLASS_NAME = 'output_bokeh rendered_html';\n", "\n", " /**\n", " * Render data to the DOM node\n", " */\n", " function render(props, node) {\n", " const 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", " const cell = handle.cell;\n", "\n", " const id = cell.output_area._bokeh_element_id;\n", " const 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", " const cmd_clean = \"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_clean, {\n", " iopub: {\n", " output: function(msg) {\n", " const 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", " const cmd_destroy = \"import bokeh.io.notebook as ion; ion.destroy_server('\" + server_id + \"')\";\n", " cell.notebook.kernel.execute(cmd_destroy);\n", " }\n", " }\n", "\n", " /**\n", " * Handle when a new output is added\n", " */\n", " function handleAddOutput(event, handle) {\n", " const output_area = handle.output_area;\n", " const output = handle.output;\n", "\n", " // limit handleAddOutput to display_data with EXEC_MIME_TYPE content only\n", " if ((output.output_type != \"display_data\") || (!Object.prototype.hasOwnProperty.call(output.data, EXEC_MIME_TYPE))) {\n", " return\n", " }\n", "\n", " const 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", " const bk_div = document.createElement(\"div\");\n", " bk_div.innerHTML = output.data[HTML_MIME_TYPE];\n", " const script_attrs = bk_div.children[0].attributes;\n", " for (let i = 0; i < script_attrs.length; i++) {\n", " toinsert[toinsert.length - 1].firstChild.setAttribute(script_attrs[i].name, script_attrs[i].value);\n", " toinsert[toinsert.length - 1].firstChild.textContent = bk_div.children[0].textContent\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", " const 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", " const 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", " const events = require('base/js/events');\n", " const 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", " const 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", " const el = document.getElementById(\"1002\");\n", " if (el != null) {\n", " el.textContent = \"BokehJS is loading...\";\n", " }\n", " if (root.Bokeh !== undefined) {\n", " if (el != null) {\n", " el.textContent = \"BokehJS \" + root.Bokeh.version + \" successfully loaded.\";\n", " }\n", " } else if (Date.now() < root._bokeh_timeout) {\n", " setTimeout(display_loaded, 100)\n", " }\n", " }\n", "\n", "\n", " function run_callbacks() {\n", " try {\n", " root._bokeh_onload_callbacks.forEach(function(callback) {\n", " if (callback != null)\n", " callback();\n", " });\n", " } finally {\n", " delete root._bokeh_onload_callbacks\n", " }\n", " console.debug(\"Bokeh: all callbacks have finished\");\n", " }\n", "\n", " function load_libs(css_urls, js_urls, callback) {\n", " if (css_urls == null) css_urls = [];\n", " if (js_urls == null) js_urls = [];\n", "\n", " root._bokeh_onload_callbacks.push(callback);\n", " if (root._bokeh_is_loading > 0) {\n", " console.debug(\"Bokeh: BokehJS is being loaded, scheduling callback at\", now());\n", " return null;\n", " }\n", " if (js_urls == null || js_urls.length === 0) {\n", " run_callbacks();\n", " return null;\n", " }\n", " console.debug(\"Bokeh: BokehJS not loaded, scheduling load and callback at\", now());\n", " root._bokeh_is_loading = css_urls.length + js_urls.length;\n", "\n", " function on_load() {\n", " root._bokeh_is_loading--;\n", " if (root._bokeh_is_loading === 0) {\n", " console.debug(\"Bokeh: all BokehJS libraries/stylesheets loaded\");\n", " run_callbacks()\n", " }\n", " }\n", "\n", " function on_error(url) {\n", " console.error(\"failed to load \" + url);\n", " }\n", "\n", " for (let i = 0; i < css_urls.length; i++) {\n", " const url = css_urls[i];\n", " const element = document.createElement(\"link\");\n", " element.onload = on_load;\n", " element.onerror = on_error.bind(null, url);\n", " element.rel = \"stylesheet\";\n", " element.type = \"text/css\";\n", " element.href = url;\n", " console.debug(\"Bokeh: injecting link tag for BokehJS stylesheet: \", url);\n", " document.body.appendChild(element);\n", " }\n", "\n", " for (let i = 0; i < js_urls.length; i++) {\n", " const url = js_urls[i];\n", " const element = document.createElement('script');\n", " element.onload = on_load;\n", " element.onerror = on_error.bind(null, url);\n", " element.async = false;\n", " element.src = url;\n", " console.debug(\"Bokeh: injecting script tag for BokehJS library: \", url);\n", " document.head.appendChild(element);\n", " }\n", " };\n", "\n", " function inject_raw_css(css) {\n", " const element = document.createElement(\"style\");\n", " element.appendChild(document.createTextNode(css));\n", " document.body.appendChild(element);\n", " }\n", "\n", " \n", " const js_urls = [\"https://cdn.bokeh.org/bokeh/release/bokeh-2.4.2.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-gl-2.4.2.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-widgets-2.4.2.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-tables-2.4.2.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-mathjax-2.4.2.min.js\"];\n", " const css_urls = [];\n", " \n", "\n", " const inline_js = [\n", " function(Bokeh) {\n", " Bokeh.set_log_level(\"info\");\n", " },\n", " function(Bokeh) {\n", " \n", " \n", " }\n", " ];\n", "\n", " function run_inline_js() {\n", " \n", " if (root.Bokeh !== undefined || force === true) {\n", " \n", " for (let i = 0; i < inline_js.length; i++) {\n", " inline_js[i].call(root, root.Bokeh);\n", " }\n", " if (force === true) {\n", " display_loaded();\n", " }} else if (Date.now() < root._bokeh_timeout) {\n", " setTimeout(run_inline_js, 100);\n", " } else if (!root._bokeh_failed_load) {\n", " console.log(\"Bokeh: BokehJS failed to load within specified timeout.\");\n", " root._bokeh_failed_load = true;\n", " } else if (force !== true) {\n", " const cell = $(document.getElementById(\"1002\")).parents('.cell').data().cell;\n", " cell.output_area.append_execute_result(NB_LOAD_WARNING)\n", " }\n", "\n", " }\n", "\n", " if (root._bokeh_is_loading === 0) {\n", " console.debug(\"Bokeh: BokehJS loaded, going straight to plotting\");\n", " run_inline_js();\n", " } else {\n", " load_libs(css_urls, js_urls, function() {\n", " console.debug(\"Bokeh: BokehJS plotting callback run at\", now());\n", " run_inline_js();\n", " });\n", " }\n", "}(window));" ], "application/vnd.bokehjs_load.v0+json": "\n(function(root) {\n function now() {\n return new Date();\n }\n\n const force = true;\n\n if (typeof root._bokeh_onload_callbacks === \"undefined\" || force === true) {\n root._bokeh_onload_callbacks = [];\n root._bokeh_is_loading = undefined;\n }\n\n \n\n \n if (typeof (root._bokeh_timeout) === \"undefined\" || force === true) {\n root._bokeh_timeout = Date.now() + 5000;\n root._bokeh_failed_load = false;\n }\n\n const NB_LOAD_WARNING = {'data': {'text/html':\n \"
\\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 const el = document.getElementById(\"1002\");\n if (el != null) {\n el.textContent = \"BokehJS is loading...\";\n }\n if (root.Bokeh !== undefined) {\n if (el != null) {\n el.textContent = \"BokehJS \" + root.Bokeh.version + \" successfully loaded.\";\n }\n } else if (Date.now() < root._bokeh_timeout) {\n setTimeout(display_loaded, 100)\n }\n }\n\n\n function run_callbacks() {\n try {\n root._bokeh_onload_callbacks.forEach(function(callback) {\n if (callback != null)\n callback();\n });\n } finally {\n delete root._bokeh_onload_callbacks\n }\n console.debug(\"Bokeh: all callbacks have finished\");\n }\n\n function load_libs(css_urls, js_urls, callback) {\n if (css_urls == null) css_urls = [];\n if (js_urls == null) js_urls = [];\n\n root._bokeh_onload_callbacks.push(callback);\n if (root._bokeh_is_loading > 0) {\n console.debug(\"Bokeh: BokehJS is being loaded, scheduling callback at\", now());\n return null;\n }\n if (js_urls == null || js_urls.length === 0) {\n run_callbacks();\n return null;\n }\n console.debug(\"Bokeh: BokehJS not loaded, scheduling load and callback at\", now());\n root._bokeh_is_loading = css_urls.length + js_urls.length;\n\n function on_load() {\n root._bokeh_is_loading--;\n if (root._bokeh_is_loading === 0) {\n console.debug(\"Bokeh: all BokehJS libraries/stylesheets loaded\");\n run_callbacks()\n }\n }\n\n function on_error(url) {\n console.error(\"failed to load \" + url);\n }\n\n for (let i = 0; i < css_urls.length; i++) {\n const url = css_urls[i];\n const element = document.createElement(\"link\");\n element.onload = on_load;\n element.onerror = on_error.bind(null, url);\n element.rel = \"stylesheet\";\n element.type = \"text/css\";\n element.href = url;\n console.debug(\"Bokeh: injecting link tag for BokehJS stylesheet: \", url);\n document.body.appendChild(element);\n }\n\n for (let i = 0; i < js_urls.length; i++) {\n const url = js_urls[i];\n const element = document.createElement('script');\n element.onload = on_load;\n element.onerror = on_error.bind(null, url);\n element.async = false;\n element.src = url;\n console.debug(\"Bokeh: injecting script tag for BokehJS library: \", url);\n document.head.appendChild(element);\n }\n };\n\n function inject_raw_css(css) {\n const element = document.createElement(\"style\");\n element.appendChild(document.createTextNode(css));\n document.body.appendChild(element);\n }\n\n \n const js_urls = [\"https://cdn.bokeh.org/bokeh/release/bokeh-2.4.2.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-gl-2.4.2.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-widgets-2.4.2.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-tables-2.4.2.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-mathjax-2.4.2.min.js\"];\n const css_urls = [];\n \n\n const inline_js = [\n function(Bokeh) {\n Bokeh.set_log_level(\"info\");\n },\n function(Bokeh) {\n \n \n }\n ];\n\n function run_inline_js() {\n \n if (root.Bokeh !== undefined || force === true) {\n \n for (let i = 0; i < inline_js.length; i++) {\n inline_js[i].call(root, root.Bokeh);\n }\n if (force === true) {\n display_loaded();\n }} else if (Date.now() < root._bokeh_timeout) {\n setTimeout(run_inline_js, 100);\n } else if (!root._bokeh_failed_load) {\n console.log(\"Bokeh: BokehJS failed to load within specified timeout.\");\n root._bokeh_failed_load = true;\n } else if (force !== true) {\n const cell = $(document.getElementById(\"1002\")).parents('.cell').data().cell;\n cell.output_area.append_execute_result(NB_LOAD_WARNING)\n }\n\n }\n\n if (root._bokeh_is_loading === 0) {\n console.debug(\"Bokeh: BokehJS loaded, going straight to plotting\");\n run_inline_js();\n } else {\n load_libs(css_urls, js_urls, function() {\n console.debug(\"Bokeh: BokehJS plotting callback run at\", now());\n run_inline_js();\n });\n }\n}(window));" }, "metadata": {}, "output_type": "display_data" } ], "source": [ "import numpy as np\n", "import pandas as pd\n", "\n", "import iqplot\n", "\n", "import colorcet\n", "\n", "import bokeh.io\n", "import bokeh.plotting\n", "import bokeh.models\n", "import bokeh.themes\n", "\n", "bokeh.io.output_notebook()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "
\n", "\n", "We have seen how to use Bokeh (and the higher-level plotting package iqplot) to make interactive plots and dashboards. We have seen how to adjust plot size, axis labels, glyph color, slider width, etc., but we have just started to touch the surface of how we might customize plots. In this lesson, we investigate ways to stylize Bokeh plots to our visual preferences.\n", "\n", "Before we get into the lower-level styling, we will first go over some of the styling available in iqplot. We will again use the frog strike data set, so let's load it in." ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [], "source": [ "df = pd.read_csv('data/frog_tongue_adhesion.csv', comment='#')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Customization with iqplot\n", "\n", "All of `iqplot`'s high-level plotting functions take `data`, `q`, and `cats` arguments. Additionally, each of the plotting functions also has the following additional optional keyword arguments, as described above.\n", "\n", "- `q_axis`: Along which axis, x or y that the quantitative variable varies. The default is `'x'`.\n", "- `palette`: A list of hex colors to use for coloring the markers for each category. By default, it uses the Glasbey Category 10 color palette from [colorcet](https://colorcet.holoviz.org/).\n", "- `order`: If specified, the ordering of the categories to use on the categorical axis and legend (if applicable). Otherwise, the order of the inputted data frame is used.\n", "- `p`: If specified, the `bokeh.plotting.Figure` object to use for the plot. If not specified, a new figure is created.\n", "\n", "The respective plotting functions also have kwargs that are specific to each (such as `style` for `iqplot.ecdf()`. Examples highlighting some, but not all, customizations follow. You can find out what kwargs are available for each function by reading their doc strings, e.g., with\n", "\n", "```python\n", "iqplot.box?\n", "```\n", "\n", "Any kwargs not in the function call signature are passed to `bokeh.plotting.figure()` when the figure is instantiated." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Customizing box plots\n", "\n", "We can also have vertical box plots." ] }, { "cell_type": "code", "execution_count": 3, "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", " const docs_json = {\"6d82ca52-7979-4e7b-9d75-895433e51b6c\":{\"defs\":[],\"roots\":{\"references\":[{\"attributes\":{\"below\":[{\"id\":\"1012\"}],\"center\":[{\"id\":\"1014\"},{\"id\":\"1018\"}],\"frame_height\":275,\"frame_width\":375,\"left\":[{\"id\":\"1015\"}],\"renderers\":[{\"id\":\"1042\"},{\"id\":\"1048\"},{\"id\":\"1054\"},{\"id\":\"1060\"},{\"id\":\"1066\"}],\"title\":{\"id\":\"1068\"},\"toolbar\":{\"id\":\"1026\"},\"toolbar_location\":\"above\",\"x_range\":{\"id\":\"1003\"},\"x_scale\":{\"id\":\"1008\"},\"y_range\":{\"id\":\"1006\"},\"y_scale\":{\"id\":\"1010\"}},\"id\":\"1004\",\"subtype\":\"Figure\",\"type\":\"Plot\"},{\"attributes\":{\"data\":{\"ID\":[\"II\",\"II\",\"II\"],\"__label\":[\"II\",\"II\",\"II\"],\"cat\":[\"II\",\"II\",\"II\"],\"impact force (mN)\":[1612,1539,1453]},\"selected\":{\"id\":\"1079\"},\"selection_policy\":{\"id\":\"1078\"}},\"id\":\"1034\",\"type\":\"ColumnDataSource\"},{\"attributes\":{\"factors\":[\"I\",\"II\",\"III\",\"IV\"],\"palette\":[\"#1f77b3\",\"#ff7e0e\",\"#2ba02b\",\"#d62628\",\"#9367bc\",\"#8c564b\",\"#e277c1\",\"#7e7e7e\",\"#bcbc21\",\"#16bdcf\",\"#3a0182\",\"#004201\",\"#0fffa8\",\"#5d003f\",\"#bcbcff\",\"#d8afa1\",\"#b80080\",\"#004d52\",\"#6b6400\",\"#7c0100\",\"#6026ff\",\"#ffff9a\",\"#564964\",\"#8cb893\",\"#93fbff\",\"#018267\",\"#90ff00\",\"#8200a0\",\"#ac8944\",\"#5b3400\",\"#ffbff2\",\"#ff6e75\",\"#798cff\",\"#dd00ff\",\"#505646\",\"#004489\",\"#ffbf60\",\"#ff018c\",\"#bdc8cf\",\"#af97b5\",\"#b65600\",\"#017000\",\"#cd87ff\",\"#1cd646\",\"#bfebc3\",\"#7997b5\",\"#a56089\",\"#6e8956\",\"#bc7c75\",\"#8a2844\",\"#00acff\",\"#8ed4ff\",\"#4b6d77\",\"#00d4b1\",\"#9300f2\",\"#8a9500\",\"#5d5b9e\",\"#fddfba\",\"#00939e\",\"#ffdb00\",\"#00aa79\",\"#520067\",\"#000091\",\"#0a5d3d\",\"#a5e275\",\"#623b41\",\"#c6c689\",\"#ff9eb5\",\"#cd4f6b\",\"#ff07d6\",\"#8a3a05\",\"#7e3d70\",\"#ff4901\",\"#602ba5\",\"#1c00ff\",\"#e6dfff\",\"#aa3baf\",\"#d89c00\",\"#a3a39e\",\"#3f69ff\",\"#46490c\",\"#7b6985\",\"#6b978c\",\"#ff9a75\",\"#835bff\",\"#7c6b46\",\"#80b654\",\"#bc0049\",\"#fd93ff\",\"#5d0018\",\"#89d1d1\",\"#9c8cd3\",\"#da6d42\",\"#8a5700\",\"#3b5069\",\"#4b6b3b\",\"#edcfd8\",\"#cfedff\",\"#aa1500\",\"#dfff4f\",\"#ff2a56\",\"#d1499e\",\"#707cb8\",\"#598000\",\"#00e4fd\",\"#774b95\",\"#67d48c\",\"#3d3a72\",\"#ac413f\",\"#d6a166\",\"#c169cd\",\"#69595d\",\"#87aced\",\"#a0a569\",\"#d1aae6\",\"#870062\",\"#00fddb\",\"#672818\",\"#b342ff\",\"#0e59c4\",\"#168742\",\"#90d300\",\"#cd7900\",\"#f959ff\",\"#5b7466\",\"#8eaeb3\",\"#9c7c8c\",\"#4600c6\",\"#6b4d2d\",\"#a56d46\",\"#9e8972\",\"#a8afca\",\"#cd8ca7\",\"#00fd64\",\"#917900\",\"#ff62a1\",\"#f4ffd8\",\"#018cf0\",\"#13aca0\",\"#5b2d59\",\"#89859e\",\"#cfccba\",\"#d4afc4\",\"#dbdd6d\",\"#cffff4\",\"#006485\",\"#006962\",\"#a84167\",\"#2d97c4\",\"#a874ff\",\"#26ba5d\",\"#57b600\",\"#caffa7\",\"#a379aa\",\"#ffbc93\",\"#89e2c1\",\"#0fc8ff\",\"#d400c4\",\"#626d89\",\"#69858e\",\"#4b4d52\",\"#aa6067\",\"#79b5d4\",\"#2b5916\",\"#9a0024\",\"#bdd1f2\",\"#896e67\",\"#69a56b\",\"#855467\",\"#aecdba\",\"#87997e\",\"#cadb00\",\"#9a0390\",\"#ebbc1a\",\"#eb9cd1\",\"#70006e\",\"#b1a131\",\"#ca6b93\",\"#4146a3\",\"#e48c89\",\"#d44400\",\"#c68aca\",\"#b69597\",\"#d41f75\",\"#724bcc\",\"#674d00\",\"#672138\",\"#38564f\",\"#6ebaaa\",\"#853a31\",\"#a5d397\",\"#b8af8e\",\"#d8e4df\",\"#aa00df\",\"#cac1db\",\"#ffdf8c\",\"#e2524d\",\"#66696e\",\"#ff001c\",\"#522d72\",\"#4d906b\",\"#a86d11\",\"#ff9e26\",\"#5ea3af\",\"#c88556\",\"#915997\",\"#a3a1ff\",\"#fdbaba\",\"#242a87\",\"#dbe6a8\",\"#97f2a7\",\"#6793d6\",\"#ba5b3f\",\"#3a5d91\",\"#364f2f\",\"#267c95\",\"#89959a\",\"#cfb356\",\"#004664\",\"#5e5d2f\",\"#8e8e41\",\"#ac3f13\",\"#69953b\",\"#a13d85\",\"#bfb6ba\",\"#acc667\",\"#6469cf\",\"#91af00\",\"#2be2da\",\"#016e36\",\"#ff7952\",\"#42807e\",\"#4fe800\",\"#995428\",\"#5d0a00\",\"#a30057\",\"#0c8700\",\"#5982a7\",\"#ffebfb\",\"#4b6901\",\"#8775d4\",\"#e6c6ff\",\"#a5ffda\",\"#d86e77\",\"#df014b\",\"#69675b\",\"#776ba1\",\"#7e8067\",\"#594685\",\"#0000ca\",\"#7c002a\",\"#97ff72\",\"#b5e2e1\",\"#db52c8\",\"#777734\",\"#57bd8e\"]},\"id\":\"1036\",\"type\":\"CategoricalColorMapper\"},{\"attributes\":{\"x0\":{\"field\":\"cat\"},\"x1\":{\"field\":\"cat\"},\"y0\":{\"field\":\"bottom\"},\"y1\":{\"field\":\"bottom_whisker\"}},\"id\":\"1045\",\"type\":\"Segment\"},{\"attributes\":{},\"id\":\"1024\",\"type\":\"HelpTool\"},{\"attributes\":{\"factors\":[\"I\",\"II\",\"III\",\"IV\"],\"palette\":[\"#1f77b3\",\"#ff7e0e\",\"#2ba02b\",\"#d62628\",\"#9367bc\",\"#8c564b\",\"#e277c1\",\"#7e7e7e\",\"#bcbc21\",\"#16bdcf\",\"#3a0182\",\"#004201\",\"#0fffa8\",\"#5d003f\",\"#bcbcff\",\"#d8afa1\",\"#b80080\",\"#004d52\",\"#6b6400\",\"#7c0100\",\"#6026ff\",\"#ffff9a\",\"#564964\",\"#8cb893\",\"#93fbff\",\"#018267\",\"#90ff00\",\"#8200a0\",\"#ac8944\",\"#5b3400\",\"#ffbff2\",\"#ff6e75\",\"#798cff\",\"#dd00ff\",\"#505646\",\"#004489\",\"#ffbf60\",\"#ff018c\",\"#bdc8cf\",\"#af97b5\",\"#b65600\",\"#017000\",\"#cd87ff\",\"#1cd646\",\"#bfebc3\",\"#7997b5\",\"#a56089\",\"#6e8956\",\"#bc7c75\",\"#8a2844\",\"#00acff\",\"#8ed4ff\",\"#4b6d77\",\"#00d4b1\",\"#9300f2\",\"#8a9500\",\"#5d5b9e\",\"#fddfba\",\"#00939e\",\"#ffdb00\",\"#00aa79\",\"#520067\",\"#000091\",\"#0a5d3d\",\"#a5e275\",\"#623b41\",\"#c6c689\",\"#ff9eb5\",\"#cd4f6b\",\"#ff07d6\",\"#8a3a05\",\"#7e3d70\",\"#ff4901\",\"#602ba5\",\"#1c00ff\",\"#e6dfff\",\"#aa3baf\",\"#d89c00\",\"#a3a39e\",\"#3f69ff\",\"#46490c\",\"#7b6985\",\"#6b978c\",\"#ff9a75\",\"#835bff\",\"#7c6b46\",\"#80b654\",\"#bc0049\",\"#fd93ff\",\"#5d0018\",\"#89d1d1\",\"#9c8cd3\",\"#da6d42\",\"#8a5700\",\"#3b5069\",\"#4b6b3b\",\"#edcfd8\",\"#cfedff\",\"#aa1500\",\"#dfff4f\",\"#ff2a56\",\"#d1499e\",\"#707cb8\",\"#598000\",\"#00e4fd\",\"#774b95\",\"#67d48c\",\"#3d3a72\",\"#ac413f\",\"#d6a166\",\"#c169cd\",\"#69595d\",\"#87aced\",\"#a0a569\",\"#d1aae6\",\"#870062\",\"#00fddb\",\"#672818\",\"#b342ff\",\"#0e59c4\",\"#168742\",\"#90d300\",\"#cd7900\",\"#f959ff\",\"#5b7466\",\"#8eaeb3\",\"#9c7c8c\",\"#4600c6\",\"#6b4d2d\",\"#a56d46\",\"#9e8972\",\"#a8afca\",\"#cd8ca7\",\"#00fd64\",\"#917900\",\"#ff62a1\",\"#f4ffd8\",\"#018cf0\",\"#13aca0\",\"#5b2d59\",\"#89859e\",\"#cfccba\",\"#d4afc4\",\"#dbdd6d\",\"#cffff4\",\"#006485\",\"#006962\",\"#a84167\",\"#2d97c4\",\"#a874ff\",\"#26ba5d\",\"#57b600\",\"#caffa7\",\"#a379aa\",\"#ffbc93\",\"#89e2c1\",\"#0fc8ff\",\"#d400c4\",\"#626d89\",\"#69858e\",\"#4b4d52\",\"#aa6067\",\"#79b5d4\",\"#2b5916\",\"#9a0024\",\"#bdd1f2\",\"#896e67\",\"#69a56b\",\"#855467\",\"#aecdba\",\"#87997e\",\"#cadb00\",\"#9a0390\",\"#ebbc1a\",\"#eb9cd1\",\"#70006e\",\"#b1a131\",\"#ca6b93\",\"#4146a3\",\"#e48c89\",\"#d44400\",\"#c68aca\",\"#b69597\",\"#d41f75\",\"#724bcc\",\"#674d00\",\"#672138\",\"#38564f\",\"#6ebaaa\",\"#853a31\",\"#a5d397\",\"#b8af8e\",\"#d8e4df\",\"#aa00df\",\"#cac1db\",\"#ffdf8c\",\"#e2524d\",\"#66696e\",\"#ff001c\",\"#522d72\",\"#4d906b\",\"#a86d11\",\"#ff9e26\",\"#5ea3af\",\"#c88556\",\"#915997\",\"#a3a1ff\",\"#fdbaba\",\"#242a87\",\"#dbe6a8\",\"#97f2a7\",\"#6793d6\",\"#ba5b3f\",\"#3a5d91\",\"#364f2f\",\"#267c95\",\"#89959a\",\"#cfb356\",\"#004664\",\"#5e5d2f\",\"#8e8e41\",\"#ac3f13\",\"#69953b\",\"#a13d85\",\"#bfb6ba\",\"#acc667\",\"#6469cf\",\"#91af00\",\"#2be2da\",\"#016e36\",\"#ff7952\",\"#42807e\",\"#4fe800\",\"#995428\",\"#5d0a00\",\"#a30057\",\"#0c8700\",\"#5982a7\",\"#ffebfb\",\"#4b6901\",\"#8775d4\",\"#e6c6ff\",\"#a5ffda\",\"#d86e77\",\"#df014b\",\"#69675b\",\"#776ba1\",\"#7e8067\",\"#594685\",\"#0000ca\",\"#7c002a\",\"#97ff72\",\"#b5e2e1\",\"#db52c8\",\"#777734\",\"#57bd8e\"]},\"id\":\"1035\",\"type\":\"CategoricalColorMapper\"},{\"attributes\":{},\"id\":\"1071\",\"type\":\"BasicTickFormatter\"},{\"attributes\":{},\"id\":\"1019\",\"type\":\"PanTool\"},{\"attributes\":{},\"id\":\"1072\",\"type\":\"AllLabels\"},{\"attributes\":{\"line_alpha\":{\"value\":0.2},\"x0\":{\"field\":\"cat\"},\"x1\":{\"field\":\"cat\"},\"y0\":{\"field\":\"bottom\"},\"y1\":{\"field\":\"bottom_whisker\"}},\"id\":\"1047\",\"type\":\"Segment\"},{\"attributes\":{\"overlay\":{\"id\":\"1025\"}},\"id\":\"1021\",\"type\":\"BoxZoomTool\"},{\"attributes\":{\"axis\":{\"id\":\"1015\"},\"coordinates\":null,\"dimension\":1,\"group\":null,\"ticker\":null},\"id\":\"1018\",\"type\":\"Grid\"},{\"attributes\":{},\"id\":\"1016\",\"type\":\"BasicTicker\"},{\"attributes\":{\"coordinates\":null,\"data_source\":{\"id\":\"1033\"},\"glyph\":{\"id\":\"1045\"},\"group\":null,\"hover_glyph\":null,\"muted_glyph\":{\"id\":\"1047\"},\"nonselection_glyph\":{\"id\":\"1046\"},\"view\":{\"id\":\"1049\"}},\"id\":\"1048\",\"type\":\"GlyphRenderer\"},{\"attributes\":{\"source\":{\"id\":\"1033\"}},\"id\":\"1055\",\"type\":\"CDSView\"},{\"attributes\":{\"axis\":{\"id\":\"1012\"},\"coordinates\":null,\"grid_line_color\":null,\"group\":null,\"ticker\":null},\"id\":\"1014\",\"type\":\"Grid\"},{\"attributes\":{},\"id\":\"1013\",\"type\":\"CategoricalTicker\"},{\"attributes\":{\"coordinates\":null,\"formatter\":{\"id\":\"1074\"},\"group\":null,\"major_label_policy\":{\"id\":\"1075\"},\"ticker\":{\"id\":\"1013\"}},\"id\":\"1012\",\"type\":\"CategoricalAxis\"},{\"attributes\":{\"bottom\":{\"field\":\"middle\"},\"fill_color\":{\"value\":\"#1f77b4\"},\"line_color\":{\"value\":\"white\"},\"top\":{\"field\":\"middle\"},\"width\":{\"value\":0.4},\"x\":{\"field\":\"cat\"}},\"id\":\"1057\",\"type\":\"VBar\"},{\"attributes\":{\"source\":{\"id\":\"1033\"}},\"id\":\"1049\",\"type\":\"CDSView\"},{\"attributes\":{\"data\":{\"__label\":[\"I\",\"II\",\"III\",\"IV\"],\"bottom\":[1231.25,422.0,458.75,198.0],\"bottom_whisker\":[473.0,245.0,324.0,22.0],\"cat\":[\"I\",\"II\",\"III\",\"IV\"],\"middle\":[1550.5,573.0,544.0,460.5],\"top\":[1904.75,799.75,615.75,599.0],\"top_whisker\":[2641.0,1182.0,806.0,815.0]},\"selected\":{\"id\":\"1077\"},\"selection_policy\":{\"id\":\"1076\"}},\"id\":\"1033\",\"type\":\"ColumnDataSource\"},{\"attributes\":{\"bottom\":{\"field\":\"bottom\"},\"fill_alpha\":{\"value\":0.2},\"fill_color\":{\"field\":\"cat\",\"transform\":{\"id\":\"1037\"}},\"hatch_alpha\":{\"value\":0.2},\"line_alpha\":{\"value\":0.2},\"line_color\":{\"value\":null},\"top\":{\"field\":\"top\"},\"width\":{\"value\":0.4},\"x\":{\"field\":\"cat\"}},\"id\":\"1053\",\"type\":\"VBar\"},{\"attributes\":{},\"id\":\"1077\",\"type\":\"Selection\"},{\"attributes\":{},\"id\":\"1010\",\"type\":\"LinearScale\"},{\"attributes\":{\"factors\":[\"I\",\"II\",\"III\",\"IV\"],\"palette\":[\"#1f77b3\",\"#ff7e0e\",\"#2ba02b\",\"#d62628\",\"#9367bc\",\"#8c564b\",\"#e277c1\",\"#7e7e7e\",\"#bcbc21\",\"#16bdcf\",\"#3a0182\",\"#004201\",\"#0fffa8\",\"#5d003f\",\"#bcbcff\",\"#d8afa1\",\"#b80080\",\"#004d52\",\"#6b6400\",\"#7c0100\",\"#6026ff\",\"#ffff9a\",\"#564964\",\"#8cb893\",\"#93fbff\",\"#018267\",\"#90ff00\",\"#8200a0\",\"#ac8944\",\"#5b3400\",\"#ffbff2\",\"#ff6e75\",\"#798cff\",\"#dd00ff\",\"#505646\",\"#004489\",\"#ffbf60\",\"#ff018c\",\"#bdc8cf\",\"#af97b5\",\"#b65600\",\"#017000\",\"#cd87ff\",\"#1cd646\",\"#bfebc3\",\"#7997b5\",\"#a56089\",\"#6e8956\",\"#bc7c75\",\"#8a2844\",\"#00acff\",\"#8ed4ff\",\"#4b6d77\",\"#00d4b1\",\"#9300f2\",\"#8a9500\",\"#5d5b9e\",\"#fddfba\",\"#00939e\",\"#ffdb00\",\"#00aa79\",\"#520067\",\"#000091\",\"#0a5d3d\",\"#a5e275\",\"#623b41\",\"#c6c689\",\"#ff9eb5\",\"#cd4f6b\",\"#ff07d6\",\"#8a3a05\",\"#7e3d70\",\"#ff4901\",\"#602ba5\",\"#1c00ff\",\"#e6dfff\",\"#aa3baf\",\"#d89c00\",\"#a3a39e\",\"#3f69ff\",\"#46490c\",\"#7b6985\",\"#6b978c\",\"#ff9a75\",\"#835bff\",\"#7c6b46\",\"#80b654\",\"#bc0049\",\"#fd93ff\",\"#5d0018\",\"#89d1d1\",\"#9c8cd3\",\"#da6d42\",\"#8a5700\",\"#3b5069\",\"#4b6b3b\",\"#edcfd8\",\"#cfedff\",\"#aa1500\",\"#dfff4f\",\"#ff2a56\",\"#d1499e\",\"#707cb8\",\"#598000\",\"#00e4fd\",\"#774b95\",\"#67d48c\",\"#3d3a72\",\"#ac413f\",\"#d6a166\",\"#c169cd\",\"#69595d\",\"#87aced\",\"#a0a569\",\"#d1aae6\",\"#870062\",\"#00fddb\",\"#672818\",\"#b342ff\",\"#0e59c4\",\"#168742\",\"#90d300\",\"#cd7900\",\"#f959ff\",\"#5b7466\",\"#8eaeb3\",\"#9c7c8c\",\"#4600c6\",\"#6b4d2d\",\"#a56d46\",\"#9e8972\",\"#a8afca\",\"#cd8ca7\",\"#00fd64\",\"#917900\",\"#ff62a1\",\"#f4ffd8\",\"#018cf0\",\"#13aca0\",\"#5b2d59\",\"#89859e\",\"#cfccba\",\"#d4afc4\",\"#dbdd6d\",\"#cffff4\",\"#006485\",\"#006962\",\"#a84167\",\"#2d97c4\",\"#a874ff\",\"#26ba5d\",\"#57b600\",\"#caffa7\",\"#a379aa\",\"#ffbc93\",\"#89e2c1\",\"#0fc8ff\",\"#d400c4\",\"#626d89\",\"#69858e\",\"#4b4d52\",\"#aa6067\",\"#79b5d4\",\"#2b5916\",\"#9a0024\",\"#bdd1f2\",\"#896e67\",\"#69a56b\",\"#855467\",\"#aecdba\",\"#87997e\",\"#cadb00\",\"#9a0390\",\"#ebbc1a\",\"#eb9cd1\",\"#70006e\",\"#b1a131\",\"#ca6b93\",\"#4146a3\",\"#e48c89\",\"#d44400\",\"#c68aca\",\"#b69597\",\"#d41f75\",\"#724bcc\",\"#674d00\",\"#672138\",\"#38564f\",\"#6ebaaa\",\"#853a31\",\"#a5d397\",\"#b8af8e\",\"#d8e4df\",\"#aa00df\",\"#cac1db\",\"#ffdf8c\",\"#e2524d\",\"#66696e\",\"#ff001c\",\"#522d72\",\"#4d906b\",\"#a86d11\",\"#ff9e26\",\"#5ea3af\",\"#c88556\",\"#915997\",\"#a3a1ff\",\"#fdbaba\",\"#242a87\",\"#dbe6a8\",\"#97f2a7\",\"#6793d6\",\"#ba5b3f\",\"#3a5d91\",\"#364f2f\",\"#267c95\",\"#89959a\",\"#cfb356\",\"#004664\",\"#5e5d2f\",\"#8e8e41\",\"#ac3f13\",\"#69953b\",\"#a13d85\",\"#bfb6ba\",\"#acc667\",\"#6469cf\",\"#91af00\",\"#2be2da\",\"#016e36\",\"#ff7952\",\"#42807e\",\"#4fe800\",\"#995428\",\"#5d0a00\",\"#a30057\",\"#0c8700\",\"#5982a7\",\"#ffebfb\",\"#4b6901\",\"#8775d4\",\"#e6c6ff\",\"#a5ffda\",\"#d86e77\",\"#df014b\",\"#69675b\",\"#776ba1\",\"#7e8067\",\"#594685\",\"#0000ca\",\"#7c002a\",\"#97ff72\",\"#b5e2e1\",\"#db52c8\",\"#777734\",\"#57bd8e\"]},\"id\":\"1037\",\"type\":\"CategoricalColorMapper\"},{\"attributes\":{\"axis_label\":\"impact force (mN)\",\"coordinates\":null,\"formatter\":{\"id\":\"1071\"},\"group\":null,\"major_label_policy\":{\"id\":\"1072\"},\"ticker\":{\"id\":\"1016\"}},\"id\":\"1015\",\"type\":\"LinearAxis\"},{\"attributes\":{\"fill_alpha\":{\"value\":0.2},\"fill_color\":{\"field\":\"cat\",\"transform\":{\"id\":\"1035\"}},\"hatch_alpha\":{\"value\":0.2},\"line_alpha\":{\"value\":0.2},\"line_color\":{\"field\":\"cat\",\"transform\":{\"id\":\"1036\"}},\"x\":{\"field\":\"cat\"},\"y\":{\"field\":\"impact force (mN)\"}},\"id\":\"1065\",\"type\":\"Circle\"},{\"attributes\":{\"bottom\":{\"field\":\"bottom\"},\"fill_alpha\":{\"value\":0.1},\"fill_color\":{\"field\":\"cat\",\"transform\":{\"id\":\"1037\"}},\"hatch_alpha\":{\"value\":0.1},\"line_alpha\":{\"value\":0.1},\"line_color\":{\"value\":null},\"top\":{\"field\":\"top\"},\"width\":{\"value\":0.4},\"x\":{\"field\":\"cat\"}},\"id\":\"1052\",\"type\":\"VBar\"},{\"attributes\":{},\"id\":\"1020\",\"type\":\"WheelZoomTool\"},{\"attributes\":{\"x0\":{\"field\":\"cat\"},\"x1\":{\"field\":\"cat\"},\"y0\":{\"field\":\"top\"},\"y1\":{\"field\":\"top_whisker\"}},\"id\":\"1039\",\"type\":\"Segment\"},{\"attributes\":{\"source\":{\"id\":\"1033\"}},\"id\":\"1043\",\"type\":\"CDSView\"},{\"attributes\":{},\"id\":\"1075\",\"type\":\"AllLabels\"},{\"attributes\":{},\"id\":\"1078\",\"type\":\"UnionRenderers\"},{\"attributes\":{},\"id\":\"1022\",\"type\":\"SaveTool\"},{\"attributes\":{\"source\":{\"id\":\"1034\"}},\"id\":\"1067\",\"type\":\"CDSView\"},{\"attributes\":{},\"id\":\"1079\",\"type\":\"Selection\"},{\"attributes\":{\"coordinates\":null,\"group\":null},\"id\":\"1068\",\"type\":\"Title\"},{\"attributes\":{\"coordinates\":null,\"data_source\":{\"id\":\"1033\"},\"glyph\":{\"id\":\"1039\"},\"group\":null,\"hover_glyph\":null,\"muted_glyph\":{\"id\":\"1041\"},\"nonselection_glyph\":{\"id\":\"1040\"},\"view\":{\"id\":\"1043\"}},\"id\":\"1042\",\"type\":\"GlyphRenderer\"},{\"attributes\":{},\"id\":\"1006\",\"type\":\"DataRange1d\"},{\"attributes\":{},\"id\":\"1076\",\"type\":\"UnionRenderers\"},{\"attributes\":{},\"id\":\"1008\",\"type\":\"CategoricalScale\"},{\"attributes\":{\"bottom\":{\"field\":\"middle\"},\"fill_alpha\":{\"value\":0.2},\"fill_color\":{\"value\":\"#1f77b4\"},\"hatch_alpha\":{\"value\":0.2},\"line_alpha\":{\"value\":0.2},\"line_color\":{\"value\":\"white\"},\"top\":{\"field\":\"middle\"},\"width\":{\"value\":0.4},\"x\":{\"field\":\"cat\"}},\"id\":\"1059\",\"type\":\"VBar\"},{\"attributes\":{},\"id\":\"1074\",\"type\":\"CategoricalTickFormatter\"},{\"attributes\":{\"factors\":[\"I\",\"II\",\"III\",\"IV\"]},\"id\":\"1003\",\"type\":\"FactorRange\"},{\"attributes\":{\"source\":{\"id\":\"1033\"}},\"id\":\"1061\",\"type\":\"CDSView\"},{\"attributes\":{\"line_alpha\":{\"value\":0.1},\"x0\":{\"field\":\"cat\"},\"x1\":{\"field\":\"cat\"},\"y0\":{\"field\":\"top\"},\"y1\":{\"field\":\"top_whisker\"}},\"id\":\"1040\",\"type\":\"Segment\"},{\"attributes\":{\"bottom\":{\"field\":\"bottom\"},\"fill_color\":{\"field\":\"cat\",\"transform\":{\"id\":\"1037\"}},\"line_color\":{\"value\":null},\"top\":{\"field\":\"top\"},\"width\":{\"value\":0.4},\"x\":{\"field\":\"cat\"}},\"id\":\"1051\",\"type\":\"VBar\"},{\"attributes\":{\"fill_color\":{\"field\":\"cat\",\"transform\":{\"id\":\"1035\"}},\"line_color\":{\"field\":\"cat\",\"transform\":{\"id\":\"1036\"}},\"x\":{\"field\":\"cat\"},\"y\":{\"field\":\"impact force (mN)\"}},\"id\":\"1063\",\"type\":\"Circle\"},{\"attributes\":{\"line_alpha\":{\"value\":0.1},\"x0\":{\"field\":\"cat\"},\"x1\":{\"field\":\"cat\"},\"y0\":{\"field\":\"bottom\"},\"y1\":{\"field\":\"bottom_whisker\"}},\"id\":\"1046\",\"type\":\"Segment\"},{\"attributes\":{\"coordinates\":null,\"data_source\":{\"id\":\"1033\"},\"glyph\":{\"id\":\"1057\"},\"group\":null,\"hover_glyph\":null,\"muted_glyph\":{\"id\":\"1059\"},\"nonselection_glyph\":{\"id\":\"1058\"},\"view\":{\"id\":\"1061\"}},\"id\":\"1060\",\"type\":\"GlyphRenderer\"},{\"attributes\":{\"fill_alpha\":{\"value\":0.1},\"fill_color\":{\"field\":\"cat\",\"transform\":{\"id\":\"1035\"}},\"hatch_alpha\":{\"value\":0.1},\"line_alpha\":{\"value\":0.1},\"line_color\":{\"field\":\"cat\",\"transform\":{\"id\":\"1036\"}},\"x\":{\"field\":\"cat\"},\"y\":{\"field\":\"impact force (mN)\"}},\"id\":\"1064\",\"type\":\"Circle\"},{\"attributes\":{\"line_alpha\":{\"value\":0.2},\"x0\":{\"field\":\"cat\"},\"x1\":{\"field\":\"cat\"},\"y0\":{\"field\":\"top\"},\"y1\":{\"field\":\"top_whisker\"}},\"id\":\"1041\",\"type\":\"Segment\"},{\"attributes\":{\"bottom_units\":\"screen\",\"coordinates\":null,\"fill_alpha\":0.5,\"fill_color\":\"lightgrey\",\"group\":null,\"left_units\":\"screen\",\"level\":\"overlay\",\"line_alpha\":1.0,\"line_color\":\"black\",\"line_dash\":[4,4],\"line_width\":2,\"right_units\":\"screen\",\"syncable\":false,\"top_units\":\"screen\"},\"id\":\"1025\",\"type\":\"BoxAnnotation\"},{\"attributes\":{\"bottom\":{\"field\":\"middle\"},\"fill_alpha\":{\"value\":0.1},\"fill_color\":{\"value\":\"#1f77b4\"},\"hatch_alpha\":{\"value\":0.1},\"line_alpha\":{\"value\":0.1},\"line_color\":{\"value\":\"white\"},\"top\":{\"field\":\"middle\"},\"width\":{\"value\":0.4},\"x\":{\"field\":\"cat\"}},\"id\":\"1058\",\"type\":\"VBar\"},{\"attributes\":{\"coordinates\":null,\"data_source\":{\"id\":\"1033\"},\"glyph\":{\"id\":\"1051\"},\"group\":null,\"hover_glyph\":null,\"muted_glyph\":{\"id\":\"1053\"},\"nonselection_glyph\":{\"id\":\"1052\"},\"view\":{\"id\":\"1055\"}},\"id\":\"1054\",\"type\":\"GlyphRenderer\"},{\"attributes\":{},\"id\":\"1023\",\"type\":\"ResetTool\"},{\"attributes\":{\"tools\":[{\"id\":\"1019\"},{\"id\":\"1020\"},{\"id\":\"1021\"},{\"id\":\"1022\"},{\"id\":\"1023\"},{\"id\":\"1024\"}]},\"id\":\"1026\",\"type\":\"Toolbar\"},{\"attributes\":{\"coordinates\":null,\"data_source\":{\"id\":\"1034\"},\"glyph\":{\"id\":\"1063\"},\"group\":null,\"hover_glyph\":null,\"muted_glyph\":{\"id\":\"1065\"},\"nonselection_glyph\":{\"id\":\"1064\"},\"view\":{\"id\":\"1067\"}},\"id\":\"1066\",\"type\":\"GlyphRenderer\"}],\"root_ids\":[\"1004\"]},\"title\":\"Bokeh Application\",\"version\":\"2.4.2\"}};\n", " const render_items = [{\"docid\":\"6d82ca52-7979-4e7b-9d75-895433e51b6c\",\"root_ids\":[\"1004\"],\"roots\":{\"1004\":\"05bcfe85-cdb6-42de-9386-5ee3f61d95dd\"}}];\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", " let attempts = 0;\n", " const timer = setInterval(function(root) {\n", " if (root.Bokeh !== undefined) {\n", " clearInterval(timer);\n", " embed_document(root);\n", " } else {\n", " attempts++;\n", " if (attempts > 100) {\n", " clearInterval(timer);\n", " console.log(\"Bokeh: ERROR: Unable to run BokehJS code because BokehJS library is missing\");\n", " }\n", " }\n", " }, 10, root)\n", " }\n", "})(window);" ], "application/vnd.bokehjs_exec.v0+json": "" }, "metadata": { "application/vnd.bokehjs_exec.v0+json": { "id": "1004" } }, "output_type": "display_data" } ], "source": [ "p = iqplot.box(\n", " data=df,\n", " q=\"impact force (mN)\",\n", " cats=\"ID\",\n", " q_axis='y',\n", ")\n", "\n", "bokeh.io.show(p)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We can independently specify properties of the glyphs using `box_kwargs`, `whisker_kwargs`, `median_kwargs`, and `outlier_kwargs`. For example, say we wanted our colors to be [Betancourt red](https://betanalpha.github.io/assets/case_studies/principled_bayesian_workflow.html#step_four:_build_a_generative_model19), and that we wanted the outliers to also be that color and use diamond glyphs." ] }, { "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", " const docs_json = {\"e2dfb94a-ad24-4fb8-a97d-18d63aeda2a9\":{\"defs\":[],\"roots\":{\"references\":[{\"attributes\":{\"below\":[{\"id\":\"1155\"}],\"center\":[{\"id\":\"1158\"},{\"id\":\"1161\"}],\"frame_height\":275,\"frame_width\":375,\"left\":[{\"id\":\"1159\"}],\"renderers\":[{\"id\":\"1182\"},{\"id\":\"1188\"},{\"id\":\"1194\"},{\"id\":\"1200\"},{\"id\":\"1206\"},{\"id\":\"1212\"},{\"id\":\"1218\"}],\"title\":{\"id\":\"1233\"},\"toolbar\":{\"id\":\"1169\"},\"toolbar_location\":\"above\",\"x_range\":{\"id\":\"1148\"},\"x_scale\":{\"id\":\"1151\"},\"y_range\":{\"id\":\"1146\"},\"y_scale\":{\"id\":\"1153\"}},\"id\":\"1147\",\"subtype\":\"Figure\",\"type\":\"Plot\"},{\"attributes\":{\"source\":{\"id\":\"1176\"}},\"id\":\"1201\",\"type\":\"CDSView\"},{\"attributes\":{},\"id\":\"1240\",\"type\":\"AllLabels\"},{\"attributes\":{},\"id\":\"1239\",\"type\":\"BasicTickFormatter\"},{\"attributes\":{\"fill_color\":{\"value\":\"#7C0000\"},\"height\":{\"value\":0.4},\"left\":{\"field\":\"bottom\"},\"line_color\":{\"value\":null},\"right\":{\"field\":\"top\"},\"y\":{\"field\":\"cat\"}},\"id\":\"1203\",\"type\":\"HBar\"},{\"attributes\":{},\"id\":\"1243\",\"type\":\"UnionRenderers\"},{\"attributes\":{\"fill_alpha\":{\"value\":0.1},\"fill_color\":{\"value\":\"#7C0000\"},\"hatch_alpha\":{\"value\":0.1},\"height\":{\"value\":0.4},\"left\":{\"field\":\"bottom\"},\"line_alpha\":{\"value\":0.1},\"line_color\":{\"value\":null},\"right\":{\"field\":\"top\"},\"y\":{\"field\":\"cat\"}},\"id\":\"1204\",\"type\":\"HBar\"},{\"attributes\":{\"data\":{\"ID\":[\"II\",\"II\",\"II\"],\"__label\":[\"II\",\"II\",\"II\"],\"cat\":[\"II\",\"II\",\"II\"],\"impact force (mN)\":[1612,1539,1453]},\"selected\":{\"id\":\"1244\"},\"selection_policy\":{\"id\":\"1243\"}},\"id\":\"1177\",\"type\":\"ColumnDataSource\"},{\"attributes\":{},\"id\":\"1244\",\"type\":\"Selection\"},{\"attributes\":{\"axis_label\":\"impact force (mN)\",\"coordinates\":null,\"formatter\":{\"id\":\"1239\"},\"group\":null,\"major_label_policy\":{\"id\":\"1240\"},\"ticker\":{\"id\":\"1156\"}},\"id\":\"1155\",\"type\":\"LinearAxis\"},{\"attributes\":{},\"id\":\"1153\",\"type\":\"CategoricalScale\"},{\"attributes\":{\"coordinates\":null,\"data_source\":{\"id\":\"1176\"},\"glyph\":{\"id\":\"1179\"},\"group\":null,\"hover_glyph\":null,\"muted_glyph\":{\"id\":\"1181\"},\"nonselection_glyph\":{\"id\":\"1180\"},\"view\":{\"id\":\"1183\"}},\"id\":\"1182\",\"type\":\"GlyphRenderer\"},{\"attributes\":{\"fill_alpha\":{\"value\":0.1},\"fill_color\":{\"value\":\"#1f77b4\"},\"hatch_alpha\":{\"value\":0.1},\"height\":{\"value\":0.4},\"left\":{\"field\":\"middle\"},\"line_alpha\":{\"value\":0.1},\"line_color\":{\"value\":\"white\"},\"right\":{\"field\":\"middle\"},\"y\":{\"field\":\"cat\"}},\"id\":\"1210\",\"type\":\"HBar\"},{\"attributes\":{},\"id\":\"1167\",\"type\":\"HelpTool\"},{\"attributes\":{\"fill_color\":{\"value\":\"#1f77b4\"},\"height\":{\"value\":0.4},\"left\":{\"field\":\"middle\"},\"line_color\":{\"value\":\"white\"},\"right\":{\"field\":\"middle\"},\"y\":{\"field\":\"cat\"}},\"id\":\"1209\",\"type\":\"HBar\"},{\"attributes\":{},\"id\":\"1242\",\"type\":\"Selection\"},{\"attributes\":{\"coordinates\":null,\"data_source\":{\"id\":\"1176\"},\"glyph\":{\"id\":\"1203\"},\"group\":null,\"hover_glyph\":null,\"muted_glyph\":{\"id\":\"1205\"},\"nonselection_glyph\":{\"id\":\"1204\"},\"view\":{\"id\":\"1207\"}},\"id\":\"1206\",\"type\":\"GlyphRenderer\"},{\"attributes\":{\"coordinates\":null,\"formatter\":{\"id\":\"1236\"},\"group\":null,\"major_label_policy\":{\"id\":\"1237\"},\"ticker\":{\"id\":\"1160\"}},\"id\":\"1159\",\"type\":\"CategoricalAxis\"},{\"attributes\":{\"axis\":{\"id\":\"1159\"},\"coordinates\":null,\"dimension\":1,\"grid_line_color\":null,\"group\":null,\"ticker\":null},\"id\":\"1161\",\"type\":\"Grid\"},{\"attributes\":{\"line_color\":{\"value\":\"#7C0000\"},\"line_width\":{\"value\":2},\"x0\":{\"field\":\"bottom\"},\"x1\":{\"field\":\"bottom_whisker\"},\"y0\":{\"field\":\"cat\"},\"y1\":{\"field\":\"cat\"}},\"id\":\"1185\",\"type\":\"Segment\"},{\"attributes\":{},\"id\":\"1160\",\"type\":\"CategoricalTicker\"},{\"attributes\":{\"coordinates\":null,\"data_source\":{\"id\":\"1176\"},\"glyph\":{\"id\":\"1191\"},\"group\":null,\"hover_glyph\":null,\"muted_glyph\":{\"id\":\"1193\"},\"nonselection_glyph\":{\"id\":\"1192\"},\"view\":{\"id\":\"1195\"}},\"id\":\"1194\",\"type\":\"GlyphRenderer\"},{\"attributes\":{\"source\":{\"id\":\"1176\"}},\"id\":\"1207\",\"type\":\"CDSView\"},{\"attributes\":{\"overlay\":{\"id\":\"1168\"}},\"id\":\"1164\",\"type\":\"BoxZoomTool\"},{\"attributes\":{\"fill_alpha\":{\"value\":0.2},\"fill_color\":{\"value\":\"#7C0000\"},\"hatch_alpha\":{\"value\":0.2},\"height\":{\"value\":0.4},\"left\":{\"field\":\"bottom\"},\"line_alpha\":{\"value\":0.2},\"line_color\":{\"value\":null},\"right\":{\"field\":\"top\"},\"y\":{\"field\":\"cat\"}},\"id\":\"1205\",\"type\":\"HBar\"},{\"attributes\":{\"coordinates\":null,\"data_source\":{\"id\":\"1177\"},\"glyph\":{\"id\":\"1215\"},\"group\":null,\"hover_glyph\":null,\"muted_glyph\":{\"id\":\"1217\"},\"nonselection_glyph\":{\"id\":\"1216\"},\"view\":{\"id\":\"1219\"}},\"id\":\"1218\",\"type\":\"GlyphRenderer\"},{\"attributes\":{\"coordinates\":null,\"data_source\":{\"id\":\"1176\"},\"glyph\":{\"id\":\"1209\"},\"group\":null,\"hover_glyph\":null,\"muted_glyph\":{\"id\":\"1211\"},\"nonselection_glyph\":{\"id\":\"1210\"},\"view\":{\"id\":\"1213\"}},\"id\":\"1212\",\"type\":\"GlyphRenderer\"},{\"attributes\":{\"tools\":[{\"id\":\"1162\"},{\"id\":\"1163\"},{\"id\":\"1164\"},{\"id\":\"1165\"},{\"id\":\"1166\"},{\"id\":\"1167\"}]},\"id\":\"1169\",\"type\":\"Toolbar\"},{\"attributes\":{},\"id\":\"1162\",\"type\":\"PanTool\"},{\"attributes\":{\"fill_alpha\":{\"value\":0.1},\"fill_color\":{\"value\":\"#1f77b4\"},\"hatch_alpha\":{\"value\":0.1},\"height\":{\"value\":0.1},\"left\":{\"field\":\"top_whisker\"},\"line_alpha\":{\"value\":0.1},\"line_color\":{\"value\":\"#7C0000\"},\"line_width\":{\"value\":2},\"right\":{\"field\":\"top_whisker\"},\"y\":{\"field\":\"cat\"}},\"id\":\"1192\",\"type\":\"HBar\"},{\"attributes\":{},\"id\":\"1237\",\"type\":\"AllLabels\"},{\"attributes\":{},\"id\":\"1156\",\"type\":\"BasicTicker\"},{\"attributes\":{},\"id\":\"1236\",\"type\":\"CategoricalTickFormatter\"},{\"attributes\":{\"fill_color\":{\"value\":\"#1f77b4\"},\"height\":{\"value\":0.1},\"left\":{\"field\":\"top_whisker\"},\"line_color\":{\"value\":\"#7C0000\"},\"line_width\":{\"value\":2},\"right\":{\"field\":\"top_whisker\"},\"y\":{\"field\":\"cat\"}},\"id\":\"1191\",\"type\":\"HBar\"},{\"attributes\":{},\"id\":\"1165\",\"type\":\"SaveTool\"},{\"attributes\":{\"data\":{\"__label\":[\"I\",\"II\",\"III\",\"IV\"],\"bottom\":[1231.25,422.0,458.75,198.0],\"bottom_whisker\":[473.0,245.0,324.0,22.0],\"cat\":[\"I\",\"II\",\"III\",\"IV\"],\"middle\":[1550.5,573.0,544.0,460.5],\"top\":[1904.75,799.75,615.75,599.0],\"top_whisker\":[2641.0,1182.0,806.0,815.0]},\"selected\":{\"id\":\"1242\"},\"selection_policy\":{\"id\":\"1241\"}},\"id\":\"1176\",\"type\":\"ColumnDataSource\"},{\"attributes\":{},\"id\":\"1151\",\"type\":\"LinearScale\"},{\"attributes\":{\"source\":{\"id\":\"1176\"}},\"id\":\"1189\",\"type\":\"CDSView\"},{\"attributes\":{},\"id\":\"1163\",\"type\":\"WheelZoomTool\"},{\"attributes\":{\"factors\":[\"IV\",\"III\",\"II\",\"I\"]},\"id\":\"1146\",\"type\":\"FactorRange\"},{\"attributes\":{\"coordinates\":null,\"data_source\":{\"id\":\"1176\"},\"glyph\":{\"id\":\"1197\"},\"group\":null,\"hover_glyph\":null,\"muted_glyph\":{\"id\":\"1199\"},\"nonselection_glyph\":{\"id\":\"1198\"},\"view\":{\"id\":\"1201\"}},\"id\":\"1200\",\"type\":\"GlyphRenderer\"},{\"attributes\":{},\"id\":\"1148\",\"type\":\"DataRange1d\"},{\"attributes\":{\"fill_alpha\":{\"value\":0.1},\"fill_color\":{\"value\":\"#1f77b4\"},\"hatch_alpha\":{\"value\":0.1},\"height\":{\"value\":0.1},\"left\":{\"field\":\"bottom_whisker\"},\"line_alpha\":{\"value\":0.1},\"line_color\":{\"value\":\"#7C0000\"},\"line_width\":{\"value\":2},\"right\":{\"field\":\"bottom_whisker\"},\"y\":{\"field\":\"cat\"}},\"id\":\"1198\",\"type\":\"HBar\"},{\"attributes\":{\"source\":{\"id\":\"1176\"}},\"id\":\"1213\",\"type\":\"CDSView\"},{\"attributes\":{\"line_color\":{\"value\":\"#7C0000\"},\"line_width\":{\"value\":2},\"x0\":{\"field\":\"top\"},\"x1\":{\"field\":\"top_whisker\"},\"y0\":{\"field\":\"cat\"},\"y1\":{\"field\":\"cat\"}},\"id\":\"1179\",\"type\":\"Segment\"},{\"attributes\":{\"line_alpha\":{\"value\":0.1},\"line_color\":{\"value\":\"#7C0000\"},\"line_width\":{\"value\":2},\"x0\":{\"field\":\"top\"},\"x1\":{\"field\":\"top_whisker\"},\"y0\":{\"field\":\"cat\"},\"y1\":{\"field\":\"cat\"}},\"id\":\"1180\",\"type\":\"Segment\"},{\"attributes\":{\"coordinates\":null,\"group\":null},\"id\":\"1233\",\"type\":\"Title\"},{\"attributes\":{\"fill_alpha\":{\"value\":0.2},\"fill_color\":{\"value\":\"#1f77b4\"},\"hatch_alpha\":{\"value\":0.2},\"height\":{\"value\":0.1},\"left\":{\"field\":\"top_whisker\"},\"line_alpha\":{\"value\":0.2},\"line_color\":{\"value\":\"#7C0000\"},\"line_width\":{\"value\":2},\"right\":{\"field\":\"top_whisker\"},\"y\":{\"field\":\"cat\"}},\"id\":\"1193\",\"type\":\"HBar\"},{\"attributes\":{\"source\":{\"id\":\"1176\"}},\"id\":\"1183\",\"type\":\"CDSView\"},{\"attributes\":{\"fill_alpha\":{\"value\":0.2},\"fill_color\":{\"value\":\"#1f77b4\"},\"hatch_alpha\":{\"value\":0.2},\"height\":{\"value\":0.1},\"left\":{\"field\":\"bottom_whisker\"},\"line_alpha\":{\"value\":0.2},\"line_color\":{\"value\":\"#7C0000\"},\"line_width\":{\"value\":2},\"right\":{\"field\":\"bottom_whisker\"},\"y\":{\"field\":\"cat\"}},\"id\":\"1199\",\"type\":\"HBar\"},{\"attributes\":{\"fill_alpha\":{\"value\":0.2},\"fill_color\":{\"value\":\"#1f77b4\"},\"hatch_alpha\":{\"value\":0.2},\"height\":{\"value\":0.4},\"left\":{\"field\":\"middle\"},\"line_alpha\":{\"value\":0.2},\"line_color\":{\"value\":\"white\"},\"right\":{\"field\":\"middle\"},\"y\":{\"field\":\"cat\"}},\"id\":\"1211\",\"type\":\"HBar\"},{\"attributes\":{\"fill_alpha\":{\"value\":0.2},\"fill_color\":{\"value\":\"#7C0000\"},\"hatch_alpha\":{\"value\":0.2},\"line_alpha\":{\"value\":0.2},\"line_color\":{\"value\":\"#7C0000\"},\"marker\":{\"value\":\"diamond\"},\"x\":{\"field\":\"impact force (mN)\"},\"y\":{\"field\":\"cat\"}},\"id\":\"1217\",\"type\":\"Scatter\"},{\"attributes\":{\"axis\":{\"id\":\"1155\"},\"coordinates\":null,\"group\":null,\"ticker\":null},\"id\":\"1158\",\"type\":\"Grid\"},{\"attributes\":{\"line_alpha\":{\"value\":0.2},\"line_color\":{\"value\":\"#7C0000\"},\"line_width\":{\"value\":2},\"x0\":{\"field\":\"top\"},\"x1\":{\"field\":\"top_whisker\"},\"y0\":{\"field\":\"cat\"},\"y1\":{\"field\":\"cat\"}},\"id\":\"1181\",\"type\":\"Segment\"},{\"attributes\":{\"source\":{\"id\":\"1176\"}},\"id\":\"1195\",\"type\":\"CDSView\"},{\"attributes\":{\"source\":{\"id\":\"1177\"}},\"id\":\"1219\",\"type\":\"CDSView\"},{\"attributes\":{\"fill_alpha\":{\"value\":0.1},\"fill_color\":{\"value\":\"#7C0000\"},\"hatch_alpha\":{\"value\":0.1},\"line_alpha\":{\"value\":0.1},\"line_color\":{\"value\":\"#7C0000\"},\"marker\":{\"value\":\"diamond\"},\"x\":{\"field\":\"impact force (mN)\"},\"y\":{\"field\":\"cat\"}},\"id\":\"1216\",\"type\":\"Scatter\"},{\"attributes\":{},\"id\":\"1166\",\"type\":\"ResetTool\"},{\"attributes\":{\"fill_color\":{\"value\":\"#7C0000\"},\"line_color\":{\"value\":\"#7C0000\"},\"marker\":{\"value\":\"diamond\"},\"x\":{\"field\":\"impact force (mN)\"},\"y\":{\"field\":\"cat\"}},\"id\":\"1215\",\"type\":\"Scatter\"},{\"attributes\":{},\"id\":\"1241\",\"type\":\"UnionRenderers\"},{\"attributes\":{\"coordinates\":null,\"data_source\":{\"id\":\"1176\"},\"glyph\":{\"id\":\"1185\"},\"group\":null,\"hover_glyph\":null,\"muted_glyph\":{\"id\":\"1187\"},\"nonselection_glyph\":{\"id\":\"1186\"},\"view\":{\"id\":\"1189\"}},\"id\":\"1188\",\"type\":\"GlyphRenderer\"},{\"attributes\":{\"line_alpha\":{\"value\":0.2},\"line_color\":{\"value\":\"#7C0000\"},\"line_width\":{\"value\":2},\"x0\":{\"field\":\"bottom\"},\"x1\":{\"field\":\"bottom_whisker\"},\"y0\":{\"field\":\"cat\"},\"y1\":{\"field\":\"cat\"}},\"id\":\"1187\",\"type\":\"Segment\"},{\"attributes\":{\"bottom_units\":\"screen\",\"coordinates\":null,\"fill_alpha\":0.5,\"fill_color\":\"lightgrey\",\"group\":null,\"left_units\":\"screen\",\"level\":\"overlay\",\"line_alpha\":1.0,\"line_color\":\"black\",\"line_dash\":[4,4],\"line_width\":2,\"right_units\":\"screen\",\"syncable\":false,\"top_units\":\"screen\"},\"id\":\"1168\",\"type\":\"BoxAnnotation\"},{\"attributes\":{\"fill_color\":{\"value\":\"#1f77b4\"},\"height\":{\"value\":0.1},\"left\":{\"field\":\"bottom_whisker\"},\"line_color\":{\"value\":\"#7C0000\"},\"line_width\":{\"value\":2},\"right\":{\"field\":\"bottom_whisker\"},\"y\":{\"field\":\"cat\"}},\"id\":\"1197\",\"type\":\"HBar\"},{\"attributes\":{\"line_alpha\":{\"value\":0.1},\"line_color\":{\"value\":\"#7C0000\"},\"line_width\":{\"value\":2},\"x0\":{\"field\":\"bottom\"},\"x1\":{\"field\":\"bottom_whisker\"},\"y0\":{\"field\":\"cat\"},\"y1\":{\"field\":\"cat\"}},\"id\":\"1186\",\"type\":\"Segment\"}],\"root_ids\":[\"1147\"]},\"title\":\"Bokeh Application\",\"version\":\"2.4.2\"}};\n", " const render_items = [{\"docid\":\"e2dfb94a-ad24-4fb8-a97d-18d63aeda2a9\",\"root_ids\":[\"1147\"],\"roots\":{\"1147\":\"3e841e1a-4a19-43ea-a922-309c5dda9510\"}}];\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", " let attempts = 0;\n", " const timer = setInterval(function(root) {\n", " if (root.Bokeh !== undefined) {\n", " clearInterval(timer);\n", " embed_document(root);\n", " } else {\n", " attempts++;\n", " if (attempts > 100) {\n", " clearInterval(timer);\n", " console.log(\"Bokeh: ERROR: Unable to run BokehJS code because BokehJS library is missing\");\n", " }\n", " }\n", " }, 10, root)\n", " }\n", "})(window);" ], "application/vnd.bokehjs_exec.v0+json": "" }, "metadata": { "application/vnd.bokehjs_exec.v0+json": { "id": "1147" } }, "output_type": "display_data" } ], "source": [ "p = iqplot.box(\n", " data=df,\n", " q=\"impact force (mN)\",\n", " cats=\"ID\",\n", " whisker_caps=True,\n", " outlier_marker='diamond',\n", " box_kwargs=dict(fill_color='#7C0000'),\n", " whisker_kwargs=dict(line_color='#7C0000', line_width=2),\n", ")\n", "\n", "bokeh.io.show(p)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Custominzing strip plots\n", "\n", "To help alleviate the overlap problem, we can make a strip plot with dash markers and add some transparency." ] }, { "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", " const docs_json = {\"ace8bcc5-fd6f-42c0-bd67-2c19ccf8bd1c\":{\"defs\":[],\"roots\":{\"references\":[{\"attributes\":{\"below\":[{\"id\":\"1320\"}],\"center\":[{\"id\":\"1323\"},{\"id\":\"1326\"}],\"frame_height\":275,\"frame_width\":375,\"left\":[{\"id\":\"1324\"}],\"renderers\":[{\"id\":\"1347\"}],\"title\":{\"id\":\"1375\"},\"toolbar\":{\"id\":\"1334\"},\"toolbar_location\":\"above\",\"x_range\":{\"id\":\"1313\"},\"x_scale\":{\"id\":\"1316\"},\"y_range\":{\"id\":\"1311\"},\"y_scale\":{\"id\":\"1318\"}},\"id\":\"1312\",\"subtype\":\"Figure\",\"type\":\"Plot\"},{\"attributes\":{\"source\":{\"id\":\"1342\"}},\"id\":\"1348\",\"type\":\"CDSView\"},{\"attributes\":{\"coordinates\":null,\"data_source\":{\"id\":\"1342\"},\"glyph\":{\"id\":\"1344\"},\"group\":null,\"hover_glyph\":null,\"muted_glyph\":{\"id\":\"1346\"},\"nonselection_glyph\":{\"id\":\"1345\"},\"view\":{\"id\":\"1348\"}},\"id\":\"1347\",\"type\":\"GlyphRenderer\"},{\"attributes\":{\"angle\":{\"value\":1.5707963267948966},\"fill_alpha\":{\"value\":0.2},\"fill_color\":{\"field\":\"cat\",\"transform\":{\"id\":\"1341\"}},\"hatch_alpha\":{\"value\":0.2},\"hatch_color\":{\"field\":\"cat\",\"transform\":{\"id\":\"1341\"}},\"line_alpha\":{\"value\":0.2},\"line_color\":{\"field\":\"cat\",\"transform\":{\"id\":\"1341\"}},\"marker\":{\"value\":\"dash\"},\"size\":{\"value\":37.5},\"x\":{\"field\":\"impact force (mN)\"},\"y\":{\"field\":\"cat\"}},\"id\":\"1346\",\"type\":\"Scatter\"},{\"attributes\":{},\"id\":\"1313\",\"type\":\"DataRange1d\"},{\"attributes\":{\"data\":{\"ID\":[\"I\",\"I\",\"I\",\"I\",\"I\",\"I\",\"I\",\"I\",\"I\",\"I\",\"I\",\"I\",\"I\",\"I\",\"I\",\"I\",\"I\",\"I\",\"I\",\"I\",\"II\",\"II\",\"II\",\"II\",\"II\",\"II\",\"II\",\"II\",\"II\",\"II\",\"II\",\"II\",\"II\",\"II\",\"II\",\"II\",\"II\",\"II\",\"II\",\"II\",\"III\",\"III\",\"III\",\"III\",\"III\",\"III\",\"III\",\"III\",\"III\",\"III\",\"III\",\"III\",\"III\",\"III\",\"III\",\"III\",\"III\",\"III\",\"III\",\"III\",\"IV\",\"IV\",\"IV\",\"IV\",\"IV\",\"IV\",\"IV\",\"IV\",\"IV\",\"IV\",\"IV\",\"IV\",\"IV\",\"IV\",\"IV\",\"IV\",\"IV\",\"IV\",\"IV\",\"IV\"],\"__label\":[\"I\",\"I\",\"I\",\"I\",\"I\",\"I\",\"I\",\"I\",\"I\",\"I\",\"I\",\"I\",\"I\",\"I\",\"I\",\"I\",\"I\",\"I\",\"I\",\"I\",\"II\",\"II\",\"II\",\"II\",\"II\",\"II\",\"II\",\"II\",\"II\",\"II\",\"II\",\"II\",\"II\",\"II\",\"II\",\"II\",\"II\",\"II\",\"II\",\"II\",\"III\",\"III\",\"III\",\"III\",\"III\",\"III\",\"III\",\"III\",\"III\",\"III\",\"III\",\"III\",\"III\",\"III\",\"III\",\"III\",\"III\",\"III\",\"III\",\"III\",\"IV\",\"IV\",\"IV\",\"IV\",\"IV\",\"IV\",\"IV\",\"IV\",\"IV\",\"IV\",\"IV\",\"IV\",\"IV\",\"IV\",\"IV\",\"IV\",\"IV\",\"IV\",\"IV\",\"IV\"],\"cat\":[\"I\",\"I\",\"I\",\"I\",\"I\",\"I\",\"I\",\"I\",\"I\",\"I\",\"I\",\"I\",\"I\",\"I\",\"I\",\"I\",\"I\",\"I\",\"I\",\"I\",\"II\",\"II\",\"II\",\"II\",\"II\",\"II\",\"II\",\"II\",\"II\",\"II\",\"II\",\"II\",\"II\",\"II\",\"II\",\"II\",\"II\",\"II\",\"II\",\"II\",\"III\",\"III\",\"III\",\"III\",\"III\",\"III\",\"III\",\"III\",\"III\",\"III\",\"III\",\"III\",\"III\",\"III\",\"III\",\"III\",\"III\",\"III\",\"III\",\"III\",\"IV\",\"IV\",\"IV\",\"IV\",\"IV\",\"IV\",\"IV\",\"IV\",\"IV\",\"IV\",\"IV\",\"IV\",\"IV\",\"IV\",\"IV\",\"IV\",\"IV\",\"IV\",\"IV\",\"IV\"],\"impact force (mN)\":[1205,2527,1745,1556,493,2276,556,1928,2641,1897,1891,1545,1307,1692,1543,1282,775,2032,1240,473,1612,605,327,946,541,1539,529,628,1453,297,703,269,751,245,1182,515,435,383,457,730,614,414,324,776,611,544,538,579,806,459,458,626,621,544,535,385,401,614,665,488,172,142,37,453,355,22,502,273,720,582,198,198,597,516,815,402,605,711,614,468]},\"selected\":{\"id\":\"1384\"},\"selection_policy\":{\"id\":\"1383\"}},\"id\":\"1342\",\"type\":\"ColumnDataSource\"},{\"attributes\":{},\"id\":\"1316\",\"type\":\"LinearScale\"},{\"attributes\":{},\"id\":\"1382\",\"type\":\"AllLabels\"},{\"attributes\":{\"coordinates\":null,\"group\":null},\"id\":\"1375\",\"type\":\"Title\"},{\"attributes\":{\"angle\":{\"value\":1.5707963267948966},\"fill_alpha\":{\"value\":0.1},\"fill_color\":{\"field\":\"cat\",\"transform\":{\"id\":\"1341\"}},\"hatch_alpha\":{\"value\":0.1},\"hatch_color\":{\"field\":\"cat\",\"transform\":{\"id\":\"1341\"}},\"line_alpha\":{\"value\":0.1},\"line_color\":{\"field\":\"cat\",\"transform\":{\"id\":\"1341\"}},\"marker\":{\"value\":\"dash\"},\"size\":{\"value\":37.5},\"x\":{\"field\":\"impact force (mN)\"},\"y\":{\"field\":\"cat\"}},\"id\":\"1345\",\"type\":\"Scatter\"},{\"attributes\":{\"tools\":[{\"id\":\"1327\"},{\"id\":\"1328\"},{\"id\":\"1329\"},{\"id\":\"1330\"},{\"id\":\"1331\"},{\"id\":\"1332\"}]},\"id\":\"1334\",\"type\":\"Toolbar\"},{\"attributes\":{\"angle\":{\"value\":1.5707963267948966},\"fill_alpha\":{\"value\":0.5},\"fill_color\":{\"field\":\"cat\",\"transform\":{\"id\":\"1341\"}},\"hatch_alpha\":{\"value\":0.5},\"hatch_color\":{\"field\":\"cat\",\"transform\":{\"id\":\"1341\"}},\"line_alpha\":{\"value\":0.5},\"line_color\":{\"field\":\"cat\",\"transform\":{\"id\":\"1341\"}},\"marker\":{\"value\":\"dash\"},\"size\":{\"value\":37.5},\"x\":{\"field\":\"impact force (mN)\"},\"y\":{\"field\":\"cat\"}},\"id\":\"1344\",\"type\":\"Scatter\"},{\"attributes\":{},\"id\":\"1321\",\"type\":\"BasicTicker\"},{\"attributes\":{},\"id\":\"1378\",\"type\":\"CategoricalTickFormatter\"},{\"attributes\":{\"axis\":{\"id\":\"1320\"},\"coordinates\":null,\"group\":null,\"ticker\":null},\"id\":\"1323\",\"type\":\"Grid\"},{\"attributes\":{},\"id\":\"1318\",\"type\":\"CategoricalScale\"},{\"attributes\":{\"axis_label\":\"impact force (mN)\",\"coordinates\":null,\"formatter\":{\"id\":\"1381\"},\"group\":null,\"major_label_policy\":{\"id\":\"1382\"},\"ticker\":{\"id\":\"1321\"}},\"id\":\"1320\",\"type\":\"LinearAxis\"},{\"attributes\":{},\"id\":\"1379\",\"type\":\"AllLabels\"},{\"attributes\":{},\"id\":\"1332\",\"type\":\"HelpTool\"},{\"attributes\":{\"coordinates\":null,\"formatter\":{\"id\":\"1378\"},\"group\":null,\"major_label_policy\":{\"id\":\"1379\"},\"ticker\":{\"id\":\"1325\"}},\"id\":\"1324\",\"type\":\"CategoricalAxis\"},{\"attributes\":{\"axis\":{\"id\":\"1324\"},\"coordinates\":null,\"dimension\":1,\"grid_line_color\":null,\"group\":null,\"ticker\":null},\"id\":\"1326\",\"type\":\"Grid\"},{\"attributes\":{},\"id\":\"1325\",\"type\":\"CategoricalTicker\"},{\"attributes\":{\"factors\":[\"IV\",\"III\",\"II\",\"I\"]},\"id\":\"1311\",\"type\":\"FactorRange\"},{\"attributes\":{\"factors\":[\"I\",\"II\",\"III\",\"IV\"],\"palette\":[\"#1f77b3\",\"#ff7e0e\",\"#2ba02b\",\"#d62628\",\"#9367bc\",\"#8c564b\",\"#e277c1\",\"#7e7e7e\",\"#bcbc21\",\"#16bdcf\",\"#3a0182\",\"#004201\",\"#0fffa8\",\"#5d003f\",\"#bcbcff\",\"#d8afa1\",\"#b80080\",\"#004d52\",\"#6b6400\",\"#7c0100\",\"#6026ff\",\"#ffff9a\",\"#564964\",\"#8cb893\",\"#93fbff\",\"#018267\",\"#90ff00\",\"#8200a0\",\"#ac8944\",\"#5b3400\",\"#ffbff2\",\"#ff6e75\",\"#798cff\",\"#dd00ff\",\"#505646\",\"#004489\",\"#ffbf60\",\"#ff018c\",\"#bdc8cf\",\"#af97b5\",\"#b65600\",\"#017000\",\"#cd87ff\",\"#1cd646\",\"#bfebc3\",\"#7997b5\",\"#a56089\",\"#6e8956\",\"#bc7c75\",\"#8a2844\",\"#00acff\",\"#8ed4ff\",\"#4b6d77\",\"#00d4b1\",\"#9300f2\",\"#8a9500\",\"#5d5b9e\",\"#fddfba\",\"#00939e\",\"#ffdb00\",\"#00aa79\",\"#520067\",\"#000091\",\"#0a5d3d\",\"#a5e275\",\"#623b41\",\"#c6c689\",\"#ff9eb5\",\"#cd4f6b\",\"#ff07d6\",\"#8a3a05\",\"#7e3d70\",\"#ff4901\",\"#602ba5\",\"#1c00ff\",\"#e6dfff\",\"#aa3baf\",\"#d89c00\",\"#a3a39e\",\"#3f69ff\",\"#46490c\",\"#7b6985\",\"#6b978c\",\"#ff9a75\",\"#835bff\",\"#7c6b46\",\"#80b654\",\"#bc0049\",\"#fd93ff\",\"#5d0018\",\"#89d1d1\",\"#9c8cd3\",\"#da6d42\",\"#8a5700\",\"#3b5069\",\"#4b6b3b\",\"#edcfd8\",\"#cfedff\",\"#aa1500\",\"#dfff4f\",\"#ff2a56\",\"#d1499e\",\"#707cb8\",\"#598000\",\"#00e4fd\",\"#774b95\",\"#67d48c\",\"#3d3a72\",\"#ac413f\",\"#d6a166\",\"#c169cd\",\"#69595d\",\"#87aced\",\"#a0a569\",\"#d1aae6\",\"#870062\",\"#00fddb\",\"#672818\",\"#b342ff\",\"#0e59c4\",\"#168742\",\"#90d300\",\"#cd7900\",\"#f959ff\",\"#5b7466\",\"#8eaeb3\",\"#9c7c8c\",\"#4600c6\",\"#6b4d2d\",\"#a56d46\",\"#9e8972\",\"#a8afca\",\"#cd8ca7\",\"#00fd64\",\"#917900\",\"#ff62a1\",\"#f4ffd8\",\"#018cf0\",\"#13aca0\",\"#5b2d59\",\"#89859e\",\"#cfccba\",\"#d4afc4\",\"#dbdd6d\",\"#cffff4\",\"#006485\",\"#006962\",\"#a84167\",\"#2d97c4\",\"#a874ff\",\"#26ba5d\",\"#57b600\",\"#caffa7\",\"#a379aa\",\"#ffbc93\",\"#89e2c1\",\"#0fc8ff\",\"#d400c4\",\"#626d89\",\"#69858e\",\"#4b4d52\",\"#aa6067\",\"#79b5d4\",\"#2b5916\",\"#9a0024\",\"#bdd1f2\",\"#896e67\",\"#69a56b\",\"#855467\",\"#aecdba\",\"#87997e\",\"#cadb00\",\"#9a0390\",\"#ebbc1a\",\"#eb9cd1\",\"#70006e\",\"#b1a131\",\"#ca6b93\",\"#4146a3\",\"#e48c89\",\"#d44400\",\"#c68aca\",\"#b69597\",\"#d41f75\",\"#724bcc\",\"#674d00\",\"#672138\",\"#38564f\",\"#6ebaaa\",\"#853a31\",\"#a5d397\",\"#b8af8e\",\"#d8e4df\",\"#aa00df\",\"#cac1db\",\"#ffdf8c\",\"#e2524d\",\"#66696e\",\"#ff001c\",\"#522d72\",\"#4d906b\",\"#a86d11\",\"#ff9e26\",\"#5ea3af\",\"#c88556\",\"#915997\",\"#a3a1ff\",\"#fdbaba\",\"#242a87\",\"#dbe6a8\",\"#97f2a7\",\"#6793d6\",\"#ba5b3f\",\"#3a5d91\",\"#364f2f\",\"#267c95\",\"#89959a\",\"#cfb356\",\"#004664\",\"#5e5d2f\",\"#8e8e41\",\"#ac3f13\",\"#69953b\",\"#a13d85\",\"#bfb6ba\",\"#acc667\",\"#6469cf\",\"#91af00\",\"#2be2da\",\"#016e36\",\"#ff7952\",\"#42807e\",\"#4fe800\",\"#995428\",\"#5d0a00\",\"#a30057\",\"#0c8700\",\"#5982a7\",\"#ffebfb\",\"#4b6901\",\"#8775d4\",\"#e6c6ff\",\"#a5ffda\",\"#d86e77\",\"#df014b\",\"#69675b\",\"#776ba1\",\"#7e8067\",\"#594685\",\"#0000ca\",\"#7c002a\",\"#97ff72\",\"#b5e2e1\",\"#db52c8\",\"#777734\",\"#57bd8e\"]},\"id\":\"1341\",\"type\":\"CategoricalColorMapper\"},{\"attributes\":{},\"id\":\"1328\",\"type\":\"WheelZoomTool\"},{\"attributes\":{},\"id\":\"1327\",\"type\":\"PanTool\"},{\"attributes\":{},\"id\":\"1383\",\"type\":\"UnionRenderers\"},{\"attributes\":{\"overlay\":{\"id\":\"1333\"}},\"id\":\"1329\",\"type\":\"BoxZoomTool\"},{\"attributes\":{},\"id\":\"1330\",\"type\":\"SaveTool\"},{\"attributes\":{},\"id\":\"1331\",\"type\":\"ResetTool\"},{\"attributes\":{},\"id\":\"1384\",\"type\":\"Selection\"},{\"attributes\":{\"bottom_units\":\"screen\",\"coordinates\":null,\"fill_alpha\":0.5,\"fill_color\":\"lightgrey\",\"group\":null,\"left_units\":\"screen\",\"level\":\"overlay\",\"line_alpha\":1.0,\"line_color\":\"black\",\"line_dash\":[4,4],\"line_width\":2,\"right_units\":\"screen\",\"syncable\":false,\"top_units\":\"screen\"},\"id\":\"1333\",\"type\":\"BoxAnnotation\"},{\"attributes\":{},\"id\":\"1381\",\"type\":\"BasicTickFormatter\"}],\"root_ids\":[\"1312\"]},\"title\":\"Bokeh Application\",\"version\":\"2.4.2\"}};\n", " const render_items = [{\"docid\":\"ace8bcc5-fd6f-42c0-bd67-2c19ccf8bd1c\",\"root_ids\":[\"1312\"],\"roots\":{\"1312\":\"7b5701bd-dc8a-4f84-883e-8667044303b6\"}}];\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", " let attempts = 0;\n", " const timer = setInterval(function(root) {\n", " if (root.Bokeh !== undefined) {\n", " clearInterval(timer);\n", " embed_document(root);\n", " } else {\n", " attempts++;\n", " if (attempts > 100) {\n", " clearInterval(timer);\n", " console.log(\"Bokeh: ERROR: Unable to run BokehJS code because BokehJS library is missing\");\n", " }\n", " }\n", " }, 10, root)\n", " }\n", "})(window);" ], "application/vnd.bokehjs_exec.v0+json": "" }, "metadata": { "application/vnd.bokehjs_exec.v0+json": { "id": "1312" } }, "output_type": "display_data" } ], "source": [ "p = iqplot.strip(\n", " data=df,\n", " q=\"impact force (mN)\",\n", " cats=\"ID\",\n", " marker='dash',\n", " marker_kwargs=dict(alpha=0.5)\n", ")\n", "\n", "bokeh.io.show(p)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The problem with strip plots is that they can have trouble with overlapping data points. A common approach to deal with this is to \"**jitter**,\" or place the glyphs with small random displacements along the categorical axis. I do that here, allowing for hover tools that give more information about the respective data points." ] }, { "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", " const docs_json = {\"94cb7d16-4ca6-45bc-afad-305aaac9b684\":{\"defs\":[],\"roots\":{\"references\":[{\"attributes\":{\"below\":[{\"id\":\"1450\"}],\"center\":[{\"id\":\"1453\"},{\"id\":\"1456\"}],\"frame_height\":275,\"frame_width\":375,\"left\":[{\"id\":\"1454\"}],\"renderers\":[{\"id\":\"1480\"}],\"title\":{\"id\":\"1519\"},\"toolbar\":{\"id\":\"1464\"},\"toolbar_location\":\"above\",\"x_range\":{\"id\":\"1443\"},\"x_scale\":{\"id\":\"1446\"},\"y_range\":{\"id\":\"1441\"},\"y_scale\":{\"id\":\"1448\"}},\"id\":\"1442\",\"subtype\":\"Figure\",\"type\":\"Plot\"},{\"attributes\":{\"bottom_units\":\"screen\",\"coordinates\":null,\"fill_alpha\":0.5,\"fill_color\":\"lightgrey\",\"group\":null,\"left_units\":\"screen\",\"level\":\"overlay\",\"line_alpha\":1.0,\"line_color\":\"black\",\"line_dash\":[4,4],\"line_width\":2,\"right_units\":\"screen\",\"syncable\":false,\"top_units\":\"screen\"},\"id\":\"1463\",\"type\":\"BoxAnnotation\"},{\"attributes\":{},\"id\":\"1461\",\"type\":\"ResetTool\"},{\"attributes\":{},\"id\":\"1522\",\"type\":\"CategoricalTickFormatter\"},{\"attributes\":{},\"id\":\"1460\",\"type\":\"SaveTool\"},{\"attributes\":{\"overlay\":{\"id\":\"1463\"}},\"id\":\"1459\",\"type\":\"BoxZoomTool\"},{\"attributes\":{},\"id\":\"1523\",\"type\":\"AllLabels\"},{\"attributes\":{\"distribution\":\"normal\",\"range\":{\"id\":\"1441\"},\"width\":0.1},\"id\":\"1475\",\"type\":\"Jitter\"},{\"attributes\":{\"coordinates\":null,\"group\":null},\"id\":\"1519\",\"type\":\"Title\"},{\"attributes\":{\"coordinates\":null,\"data_source\":{\"id\":\"1474\"},\"glyph\":{\"id\":\"1477\"},\"group\":null,\"hover_glyph\":null,\"muted_glyph\":{\"id\":\"1479\"},\"nonselection_glyph\":{\"id\":\"1478\"},\"view\":{\"id\":\"1481\"}},\"id\":\"1480\",\"type\":\"GlyphRenderer\"},{\"attributes\":{},\"id\":\"1458\",\"type\":\"WheelZoomTool\"},{\"attributes\":{},\"id\":\"1525\",\"type\":\"BasicTickFormatter\"},{\"attributes\":{},\"id\":\"1446\",\"type\":\"LinearScale\"},{\"attributes\":{},\"id\":\"1526\",\"type\":\"AllLabels\"},{\"attributes\":{},\"id\":\"1457\",\"type\":\"PanTool\"},{\"attributes\":{\"tools\":[{\"id\":\"1457\"},{\"id\":\"1458\"},{\"id\":\"1459\"},{\"id\":\"1460\"},{\"id\":\"1461\"},{\"id\":\"1462\"},{\"id\":\"1471\"}]},\"id\":\"1464\",\"type\":\"Toolbar\"},{\"attributes\":{},\"id\":\"1455\",\"type\":\"CategoricalTicker\"},{\"attributes\":{\"fill_color\":{\"field\":\"cat\",\"transform\":{\"id\":\"1473\"}},\"hatch_color\":{\"field\":\"cat\",\"transform\":{\"id\":\"1473\"}},\"line_color\":{\"field\":\"cat\",\"transform\":{\"id\":\"1473\"}},\"x\":{\"field\":\"impact force (mN)\"},\"y\":{\"field\":\"cat\",\"transform\":{\"id\":\"1475\"}}},\"id\":\"1477\",\"type\":\"Circle\"},{\"attributes\":{\"source\":{\"id\":\"1474\"}},\"id\":\"1481\",\"type\":\"CDSView\"},{\"attributes\":{\"fill_alpha\":{\"value\":0.2},\"fill_color\":{\"field\":\"cat\",\"transform\":{\"id\":\"1473\"}},\"hatch_alpha\":{\"value\":0.2},\"hatch_color\":{\"field\":\"cat\",\"transform\":{\"id\":\"1473\"}},\"line_alpha\":{\"value\":0.2},\"line_color\":{\"field\":\"cat\",\"transform\":{\"id\":\"1473\"}},\"x\":{\"field\":\"impact force (mN)\"},\"y\":{\"field\":\"cat\",\"transform\":{\"id\":\"1475\"}}},\"id\":\"1479\",\"type\":\"Circle\"},{\"attributes\":{\"axis\":{\"id\":\"1454\"},\"coordinates\":null,\"dimension\":1,\"grid_line_color\":null,\"group\":null,\"ticker\":null},\"id\":\"1456\",\"type\":\"Grid\"},{\"attributes\":{\"coordinates\":null,\"formatter\":{\"id\":\"1522\"},\"group\":null,\"major_label_policy\":{\"id\":\"1523\"},\"ticker\":{\"id\":\"1455\"}},\"id\":\"1454\",\"type\":\"CategoricalAxis\"},{\"attributes\":{},\"id\":\"1462\",\"type\":\"HelpTool\"},{\"attributes\":{},\"id\":\"1527\",\"type\":\"UnionRenderers\"},{\"attributes\":{\"axis_label\":\"impact force (mN)\",\"coordinates\":null,\"formatter\":{\"id\":\"1525\"},\"group\":null,\"major_label_policy\":{\"id\":\"1526\"},\"ticker\":{\"id\":\"1451\"}},\"id\":\"1450\",\"type\":\"LinearAxis\"},{\"attributes\":{},\"id\":\"1448\",\"type\":\"CategoricalScale\"},{\"attributes\":{\"data\":{\"ID\":[\"I\",\"I\",\"I\",\"I\",\"I\",\"I\",\"I\",\"I\",\"I\",\"I\",\"I\",\"I\",\"I\",\"I\",\"I\",\"I\",\"I\",\"I\",\"I\",\"I\",\"II\",\"II\",\"II\",\"II\",\"II\",\"II\",\"II\",\"II\",\"II\",\"II\",\"II\",\"II\",\"II\",\"II\",\"II\",\"II\",\"II\",\"II\",\"II\",\"II\",\"III\",\"III\",\"III\",\"III\",\"III\",\"III\",\"III\",\"III\",\"III\",\"III\",\"III\",\"III\",\"III\",\"III\",\"III\",\"III\",\"III\",\"III\",\"III\",\"III\",\"IV\",\"IV\",\"IV\",\"IV\",\"IV\",\"IV\",\"IV\",\"IV\",\"IV\",\"IV\",\"IV\",\"IV\",\"IV\",\"IV\",\"IV\",\"IV\",\"IV\",\"IV\",\"IV\",\"IV\"],\"__label\":[\"I\",\"I\",\"I\",\"I\",\"I\",\"I\",\"I\",\"I\",\"I\",\"I\",\"I\",\"I\",\"I\",\"I\",\"I\",\"I\",\"I\",\"I\",\"I\",\"I\",\"II\",\"II\",\"II\",\"II\",\"II\",\"II\",\"II\",\"II\",\"II\",\"II\",\"II\",\"II\",\"II\",\"II\",\"II\",\"II\",\"II\",\"II\",\"II\",\"II\",\"III\",\"III\",\"III\",\"III\",\"III\",\"III\",\"III\",\"III\",\"III\",\"III\",\"III\",\"III\",\"III\",\"III\",\"III\",\"III\",\"III\",\"III\",\"III\",\"III\",\"IV\",\"IV\",\"IV\",\"IV\",\"IV\",\"IV\",\"IV\",\"IV\",\"IV\",\"IV\",\"IV\",\"IV\",\"IV\",\"IV\",\"IV\",\"IV\",\"IV\",\"IV\",\"IV\",\"IV\"],\"adhesive force (mN)\":[-785,-983,-850,-455,-974,-592,-512,-804,-690,-462,-766,-715,-613,-677,-528,-452,-430,-652,-692,-536,-655,-292,-246,-245,-553,-664,-261,-691,-92,-566,-223,-512,-227,-573,-522,-599,-364,-469,-844,-648,-94,-163,-172,-225,-301,-93,-131,-289,-104,-229,-259,-231,-267,-178,-123,-151,-127,-372,-236,-390,-456,-193,-236,-225,-217,-161,-139,-264,-342,-231,-209,-292,-339,-371,-331,-302,-216,-163,-367,-218],\"cat\":[\"I\",\"I\",\"I\",\"I\",\"I\",\"I\",\"I\",\"I\",\"I\",\"I\",\"I\",\"I\",\"I\",\"I\",\"I\",\"I\",\"I\",\"I\",\"I\",\"I\",\"II\",\"II\",\"II\",\"II\",\"II\",\"II\",\"II\",\"II\",\"II\",\"II\",\"II\",\"II\",\"II\",\"II\",\"II\",\"II\",\"II\",\"II\",\"II\",\"II\",\"III\",\"III\",\"III\",\"III\",\"III\",\"III\",\"III\",\"III\",\"III\",\"III\",\"III\",\"III\",\"III\",\"III\",\"III\",\"III\",\"III\",\"III\",\"III\",\"III\",\"IV\",\"IV\",\"IV\",\"IV\",\"IV\",\"IV\",\"IV\",\"IV\",\"IV\",\"IV\",\"IV\",\"IV\",\"IV\",\"IV\",\"IV\",\"IV\",\"IV\",\"IV\",\"IV\",\"IV\"],\"impact force (mN)\":[1205,2527,1745,1556,493,2276,556,1928,2641,1897,1891,1545,1307,1692,1543,1282,775,2032,1240,473,1612,605,327,946,541,1539,529,628,1453,297,703,269,751,245,1182,515,435,383,457,730,614,414,324,776,611,544,538,579,806,459,458,626,621,544,535,385,401,614,665,488,172,142,37,453,355,22,502,273,720,582,198,198,597,516,815,402,605,711,614,468],\"trial number\":[3,4,1,2,3,4,1,2,3,4,1,2,3,4,5,1,2,3,4,5,1,2,3,4,1,2,3,4,1,2,3,4,1,2,1,2,1,2,3,1,1,2,3,1,2,3,1,2,1,2,3,4,1,2,3,4,1,2,3,4,2,3,4,1,2,3,1,1,2,3,4,1,1,2,3,4,1,2,3,4]},\"selected\":{\"id\":\"1528\"},\"selection_policy\":{\"id\":\"1527\"}},\"id\":\"1474\",\"type\":\"ColumnDataSource\"},{\"attributes\":{\"axis\":{\"id\":\"1450\"},\"coordinates\":null,\"group\":null,\"ticker\":null},\"id\":\"1453\",\"type\":\"Grid\"},{\"attributes\":{},\"id\":\"1528\",\"type\":\"Selection\"},{\"attributes\":{},\"id\":\"1451\",\"type\":\"BasicTicker\"},{\"attributes\":{\"factors\":[\"I\",\"II\",\"III\",\"IV\"],\"palette\":[\"#1f77b3\",\"#ff7e0e\",\"#2ba02b\",\"#d62628\",\"#9367bc\",\"#8c564b\",\"#e277c1\",\"#7e7e7e\",\"#bcbc21\",\"#16bdcf\",\"#3a0182\",\"#004201\",\"#0fffa8\",\"#5d003f\",\"#bcbcff\",\"#d8afa1\",\"#b80080\",\"#004d52\",\"#6b6400\",\"#7c0100\",\"#6026ff\",\"#ffff9a\",\"#564964\",\"#8cb893\",\"#93fbff\",\"#018267\",\"#90ff00\",\"#8200a0\",\"#ac8944\",\"#5b3400\",\"#ffbff2\",\"#ff6e75\",\"#798cff\",\"#dd00ff\",\"#505646\",\"#004489\",\"#ffbf60\",\"#ff018c\",\"#bdc8cf\",\"#af97b5\",\"#b65600\",\"#017000\",\"#cd87ff\",\"#1cd646\",\"#bfebc3\",\"#7997b5\",\"#a56089\",\"#6e8956\",\"#bc7c75\",\"#8a2844\",\"#00acff\",\"#8ed4ff\",\"#4b6d77\",\"#00d4b1\",\"#9300f2\",\"#8a9500\",\"#5d5b9e\",\"#fddfba\",\"#00939e\",\"#ffdb00\",\"#00aa79\",\"#520067\",\"#000091\",\"#0a5d3d\",\"#a5e275\",\"#623b41\",\"#c6c689\",\"#ff9eb5\",\"#cd4f6b\",\"#ff07d6\",\"#8a3a05\",\"#7e3d70\",\"#ff4901\",\"#602ba5\",\"#1c00ff\",\"#e6dfff\",\"#aa3baf\",\"#d89c00\",\"#a3a39e\",\"#3f69ff\",\"#46490c\",\"#7b6985\",\"#6b978c\",\"#ff9a75\",\"#835bff\",\"#7c6b46\",\"#80b654\",\"#bc0049\",\"#fd93ff\",\"#5d0018\",\"#89d1d1\",\"#9c8cd3\",\"#da6d42\",\"#8a5700\",\"#3b5069\",\"#4b6b3b\",\"#edcfd8\",\"#cfedff\",\"#aa1500\",\"#dfff4f\",\"#ff2a56\",\"#d1499e\",\"#707cb8\",\"#598000\",\"#00e4fd\",\"#774b95\",\"#67d48c\",\"#3d3a72\",\"#ac413f\",\"#d6a166\",\"#c169cd\",\"#69595d\",\"#87aced\",\"#a0a569\",\"#d1aae6\",\"#870062\",\"#00fddb\",\"#672818\",\"#b342ff\",\"#0e59c4\",\"#168742\",\"#90d300\",\"#cd7900\",\"#f959ff\",\"#5b7466\",\"#8eaeb3\",\"#9c7c8c\",\"#4600c6\",\"#6b4d2d\",\"#a56d46\",\"#9e8972\",\"#a8afca\",\"#cd8ca7\",\"#00fd64\",\"#917900\",\"#ff62a1\",\"#f4ffd8\",\"#018cf0\",\"#13aca0\",\"#5b2d59\",\"#89859e\",\"#cfccba\",\"#d4afc4\",\"#dbdd6d\",\"#cffff4\",\"#006485\",\"#006962\",\"#a84167\",\"#2d97c4\",\"#a874ff\",\"#26ba5d\",\"#57b600\",\"#caffa7\",\"#a379aa\",\"#ffbc93\",\"#89e2c1\",\"#0fc8ff\",\"#d400c4\",\"#626d89\",\"#69858e\",\"#4b4d52\",\"#aa6067\",\"#79b5d4\",\"#2b5916\",\"#9a0024\",\"#bdd1f2\",\"#896e67\",\"#69a56b\",\"#855467\",\"#aecdba\",\"#87997e\",\"#cadb00\",\"#9a0390\",\"#ebbc1a\",\"#eb9cd1\",\"#70006e\",\"#b1a131\",\"#ca6b93\",\"#4146a3\",\"#e48c89\",\"#d44400\",\"#c68aca\",\"#b69597\",\"#d41f75\",\"#724bcc\",\"#674d00\",\"#672138\",\"#38564f\",\"#6ebaaa\",\"#853a31\",\"#a5d397\",\"#b8af8e\",\"#d8e4df\",\"#aa00df\",\"#cac1db\",\"#ffdf8c\",\"#e2524d\",\"#66696e\",\"#ff001c\",\"#522d72\",\"#4d906b\",\"#a86d11\",\"#ff9e26\",\"#5ea3af\",\"#c88556\",\"#915997\",\"#a3a1ff\",\"#fdbaba\",\"#242a87\",\"#dbe6a8\",\"#97f2a7\",\"#6793d6\",\"#ba5b3f\",\"#3a5d91\",\"#364f2f\",\"#267c95\",\"#89959a\",\"#cfb356\",\"#004664\",\"#5e5d2f\",\"#8e8e41\",\"#ac3f13\",\"#69953b\",\"#a13d85\",\"#bfb6ba\",\"#acc667\",\"#6469cf\",\"#91af00\",\"#2be2da\",\"#016e36\",\"#ff7952\",\"#42807e\",\"#4fe800\",\"#995428\",\"#5d0a00\",\"#a30057\",\"#0c8700\",\"#5982a7\",\"#ffebfb\",\"#4b6901\",\"#8775d4\",\"#e6c6ff\",\"#a5ffda\",\"#d86e77\",\"#df014b\",\"#69675b\",\"#776ba1\",\"#7e8067\",\"#594685\",\"#0000ca\",\"#7c002a\",\"#97ff72\",\"#b5e2e1\",\"#db52c8\",\"#777734\",\"#57bd8e\"]},\"id\":\"1473\",\"type\":\"CategoricalColorMapper\"},{\"attributes\":{\"factors\":[\"IV\",\"III\",\"II\",\"I\"]},\"id\":\"1441\",\"type\":\"FactorRange\"},{\"attributes\":{\"callback\":null,\"tooltips\":[[\"trial\",\"@{trial number}\"],[\"adh force\",\"@{adhesive force (mN)}\"]]},\"id\":\"1471\",\"type\":\"HoverTool\"},{\"attributes\":{\"fill_alpha\":{\"value\":0.1},\"fill_color\":{\"field\":\"cat\",\"transform\":{\"id\":\"1473\"}},\"hatch_alpha\":{\"value\":0.1},\"hatch_color\":{\"field\":\"cat\",\"transform\":{\"id\":\"1473\"}},\"line_alpha\":{\"value\":0.1},\"line_color\":{\"field\":\"cat\",\"transform\":{\"id\":\"1473\"}},\"x\":{\"field\":\"impact force (mN)\"},\"y\":{\"field\":\"cat\",\"transform\":{\"id\":\"1475\"}}},\"id\":\"1478\",\"type\":\"Circle\"},{\"attributes\":{},\"id\":\"1443\",\"type\":\"DataRange1d\"}],\"root_ids\":[\"1442\"]},\"title\":\"Bokeh Application\",\"version\":\"2.4.2\"}};\n", " const render_items = [{\"docid\":\"94cb7d16-4ca6-45bc-afad-305aaac9b684\",\"root_ids\":[\"1442\"],\"roots\":{\"1442\":\"e41c450b-95bd-44bb-ac71-effe8779b378\"}}];\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", " let attempts = 0;\n", " const timer = setInterval(function(root) {\n", " if (root.Bokeh !== undefined) {\n", " clearInterval(timer);\n", " embed_document(root);\n", " } else {\n", " attempts++;\n", " if (attempts > 100) {\n", " clearInterval(timer);\n", " console.log(\"Bokeh: ERROR: Unable to run BokehJS code because BokehJS library is missing\");\n", " }\n", " }\n", " }, 10, root)\n", " }\n", "})(window);" ], "application/vnd.bokehjs_exec.v0+json": "" }, "metadata": { "application/vnd.bokehjs_exec.v0+json": { "id": "1442" } }, "output_type": "display_data" } ], "source": [ "p = iqplot.strip(\n", " data=df,\n", " q=\"impact force (mN)\",\n", " cats=\"ID\",\n", " jitter=True,\n", " tooltips=[\n", " ('trial', '@{trial number}'),\n", " ('adh force', '@{adhesive force (mN)}')\n", " ],\n", ")\n", "\n", "bokeh.io.show(p)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "With any of the plots, you can have more than one categorical column, and the categorical axes are nicely spaced and formatted. Here, we'll categorize by frog ID and by trial number." ] }, { "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", " const docs_json = {\"cc41afeb-55d9-49c0-a25f-79bd562e7fef\":{\"defs\":[],\"roots\":{\"references\":[{\"attributes\":{\"below\":[{\"id\":\"1594\"}],\"center\":[{\"id\":\"1597\"},{\"id\":\"1600\"}],\"frame_height\":275,\"left\":[{\"id\":\"1598\"}],\"renderers\":[{\"id\":\"1621\"}],\"title\":{\"id\":\"1671\"},\"toolbar\":{\"id\":\"1608\"},\"toolbar_location\":\"above\",\"width\":550,\"x_range\":{\"id\":\"1587\"},\"x_scale\":{\"id\":\"1590\"},\"y_range\":{\"id\":\"1585\"},\"y_scale\":{\"id\":\"1592\"}},\"id\":\"1586\",\"subtype\":\"Figure\",\"type\":\"Plot\"},{\"attributes\":{},\"id\":\"1678\",\"type\":\"AllLabels\"},{\"attributes\":{\"fill_alpha\":{\"value\":0.1},\"fill_color\":{\"field\":\"trial number\",\"transform\":{\"id\":\"1615\"}},\"hatch_alpha\":{\"value\":0.1},\"hatch_color\":{\"field\":\"trial number\",\"transform\":{\"id\":\"1615\"}},\"line_alpha\":{\"value\":0.1},\"line_color\":{\"field\":\"trial number\",\"transform\":{\"id\":\"1615\"}},\"x\":{\"field\":\"impact force (mN)\"},\"y\":{\"field\":\"cat\"}},\"id\":\"1619\",\"type\":\"Circle\"},{\"attributes\":{\"coordinates\":null,\"group\":null},\"id\":\"1671\",\"type\":\"Title\"},{\"attributes\":{},\"id\":\"1679\",\"type\":\"UnionRenderers\"},{\"attributes\":{},\"id\":\"1677\",\"type\":\"BasicTickFormatter\"},{\"attributes\":{},\"id\":\"1675\",\"type\":\"AllLabels\"},{\"attributes\":{},\"id\":\"1680\",\"type\":\"Selection\"},{\"attributes\":{},\"id\":\"1587\",\"type\":\"DataRange1d\"},{\"attributes\":{},\"id\":\"1674\",\"type\":\"CategoricalTickFormatter\"},{\"attributes\":{\"coordinates\":null,\"data_source\":{\"id\":\"1616\"},\"glyph\":{\"id\":\"1618\"},\"group\":null,\"hover_glyph\":null,\"muted_glyph\":{\"id\":\"1620\"},\"nonselection_glyph\":{\"id\":\"1619\"},\"view\":{\"id\":\"1622\"}},\"id\":\"1621\",\"type\":\"GlyphRenderer\"},{\"attributes\":{},\"id\":\"1595\",\"type\":\"BasicTicker\"},{\"attributes\":{\"axis_label\":\"impact force (mN)\",\"coordinates\":null,\"formatter\":{\"id\":\"1677\"},\"group\":null,\"major_label_policy\":{\"id\":\"1678\"},\"ticker\":{\"id\":\"1595\"}},\"id\":\"1594\",\"type\":\"LinearAxis\"},{\"attributes\":{\"fill_alpha\":{\"value\":0.2},\"fill_color\":{\"field\":\"trial number\",\"transform\":{\"id\":\"1615\"}},\"hatch_alpha\":{\"value\":0.2},\"hatch_color\":{\"field\":\"trial number\",\"transform\":{\"id\":\"1615\"}},\"line_alpha\":{\"value\":0.2},\"line_color\":{\"field\":\"trial number\",\"transform\":{\"id\":\"1615\"}},\"x\":{\"field\":\"impact force (mN)\"},\"y\":{\"field\":\"cat\"}},\"id\":\"1620\",\"type\":\"Circle\"},{\"attributes\":{},\"id\":\"1590\",\"type\":\"LinearScale\"},{\"attributes\":{},\"id\":\"1606\",\"type\":\"HelpTool\"},{\"attributes\":{},\"id\":\"1602\",\"type\":\"WheelZoomTool\"},{\"attributes\":{\"coordinates\":null,\"formatter\":{\"id\":\"1674\"},\"group\":null,\"major_label_policy\":{\"id\":\"1675\"},\"ticker\":{\"id\":\"1599\"}},\"id\":\"1598\",\"type\":\"CategoricalAxis\"},{\"attributes\":{\"axis\":{\"id\":\"1598\"},\"coordinates\":null,\"dimension\":1,\"grid_line_color\":null,\"group\":null,\"ticker\":null},\"id\":\"1600\",\"type\":\"Grid\"},{\"attributes\":{\"factors\":[\"1\",\"2\",\"3\",\"4\",\"5\"],\"palette\":[\"#1f77b3\",\"#ff7e0e\",\"#2ba02b\",\"#d62628\",\"#9367bc\",\"#8c564b\",\"#e277c1\",\"#7e7e7e\",\"#bcbc21\",\"#16bdcf\",\"#3a0182\",\"#004201\",\"#0fffa8\",\"#5d003f\",\"#bcbcff\",\"#d8afa1\",\"#b80080\",\"#004d52\",\"#6b6400\",\"#7c0100\",\"#6026ff\",\"#ffff9a\",\"#564964\",\"#8cb893\",\"#93fbff\",\"#018267\",\"#90ff00\",\"#8200a0\",\"#ac8944\",\"#5b3400\",\"#ffbff2\",\"#ff6e75\",\"#798cff\",\"#dd00ff\",\"#505646\",\"#004489\",\"#ffbf60\",\"#ff018c\",\"#bdc8cf\",\"#af97b5\",\"#b65600\",\"#017000\",\"#cd87ff\",\"#1cd646\",\"#bfebc3\",\"#7997b5\",\"#a56089\",\"#6e8956\",\"#bc7c75\",\"#8a2844\",\"#00acff\",\"#8ed4ff\",\"#4b6d77\",\"#00d4b1\",\"#9300f2\",\"#8a9500\",\"#5d5b9e\",\"#fddfba\",\"#00939e\",\"#ffdb00\",\"#00aa79\",\"#520067\",\"#000091\",\"#0a5d3d\",\"#a5e275\",\"#623b41\",\"#c6c689\",\"#ff9eb5\",\"#cd4f6b\",\"#ff07d6\",\"#8a3a05\",\"#7e3d70\",\"#ff4901\",\"#602ba5\",\"#1c00ff\",\"#e6dfff\",\"#aa3baf\",\"#d89c00\",\"#a3a39e\",\"#3f69ff\",\"#46490c\",\"#7b6985\",\"#6b978c\",\"#ff9a75\",\"#835bff\",\"#7c6b46\",\"#80b654\",\"#bc0049\",\"#fd93ff\",\"#5d0018\",\"#89d1d1\",\"#9c8cd3\",\"#da6d42\",\"#8a5700\",\"#3b5069\",\"#4b6b3b\",\"#edcfd8\",\"#cfedff\",\"#aa1500\",\"#dfff4f\",\"#ff2a56\",\"#d1499e\",\"#707cb8\",\"#598000\",\"#00e4fd\",\"#774b95\",\"#67d48c\",\"#3d3a72\",\"#ac413f\",\"#d6a166\",\"#c169cd\",\"#69595d\",\"#87aced\",\"#a0a569\",\"#d1aae6\",\"#870062\",\"#00fddb\",\"#672818\",\"#b342ff\",\"#0e59c4\",\"#168742\",\"#90d300\",\"#cd7900\",\"#f959ff\",\"#5b7466\",\"#8eaeb3\",\"#9c7c8c\",\"#4600c6\",\"#6b4d2d\",\"#a56d46\",\"#9e8972\",\"#a8afca\",\"#cd8ca7\",\"#00fd64\",\"#917900\",\"#ff62a1\",\"#f4ffd8\",\"#018cf0\",\"#13aca0\",\"#5b2d59\",\"#89859e\",\"#cfccba\",\"#d4afc4\",\"#dbdd6d\",\"#cffff4\",\"#006485\",\"#006962\",\"#a84167\",\"#2d97c4\",\"#a874ff\",\"#26ba5d\",\"#57b600\",\"#caffa7\",\"#a379aa\",\"#ffbc93\",\"#89e2c1\",\"#0fc8ff\",\"#d400c4\",\"#626d89\",\"#69858e\",\"#4b4d52\",\"#aa6067\",\"#79b5d4\",\"#2b5916\",\"#9a0024\",\"#bdd1f2\",\"#896e67\",\"#69a56b\",\"#855467\",\"#aecdba\",\"#87997e\",\"#cadb00\",\"#9a0390\",\"#ebbc1a\",\"#eb9cd1\",\"#70006e\",\"#b1a131\",\"#ca6b93\",\"#4146a3\",\"#e48c89\",\"#d44400\",\"#c68aca\",\"#b69597\",\"#d41f75\",\"#724bcc\",\"#674d00\",\"#672138\",\"#38564f\",\"#6ebaaa\",\"#853a31\",\"#a5d397\",\"#b8af8e\",\"#d8e4df\",\"#aa00df\",\"#cac1db\",\"#ffdf8c\",\"#e2524d\",\"#66696e\",\"#ff001c\",\"#522d72\",\"#4d906b\",\"#a86d11\",\"#ff9e26\",\"#5ea3af\",\"#c88556\",\"#915997\",\"#a3a1ff\",\"#fdbaba\",\"#242a87\",\"#dbe6a8\",\"#97f2a7\",\"#6793d6\",\"#ba5b3f\",\"#3a5d91\",\"#364f2f\",\"#267c95\",\"#89959a\",\"#cfb356\",\"#004664\",\"#5e5d2f\",\"#8e8e41\",\"#ac3f13\",\"#69953b\",\"#a13d85\",\"#bfb6ba\",\"#acc667\",\"#6469cf\",\"#91af00\",\"#2be2da\",\"#016e36\",\"#ff7952\",\"#42807e\",\"#4fe800\",\"#995428\",\"#5d0a00\",\"#a30057\",\"#0c8700\",\"#5982a7\",\"#ffebfb\",\"#4b6901\",\"#8775d4\",\"#e6c6ff\",\"#a5ffda\",\"#d86e77\",\"#df014b\",\"#69675b\",\"#776ba1\",\"#7e8067\",\"#594685\",\"#0000ca\",\"#7c002a\",\"#97ff72\",\"#b5e2e1\",\"#db52c8\",\"#777734\",\"#57bd8e\"]},\"id\":\"1615\",\"type\":\"CategoricalColorMapper\"},{\"attributes\":{},\"id\":\"1601\",\"type\":\"PanTool\"},{\"attributes\":{\"overlay\":{\"id\":\"1607\"}},\"id\":\"1603\",\"type\":\"BoxZoomTool\"},{\"attributes\":{},\"id\":\"1604\",\"type\":\"SaveTool\"},{\"attributes\":{},\"id\":\"1605\",\"type\":\"ResetTool\"},{\"attributes\":{\"bottom_units\":\"screen\",\"coordinates\":null,\"fill_alpha\":0.5,\"fill_color\":\"lightgrey\",\"group\":null,\"left_units\":\"screen\",\"level\":\"overlay\",\"line_alpha\":1.0,\"line_color\":\"black\",\"line_dash\":[4,4],\"line_width\":2,\"right_units\":\"screen\",\"syncable\":false,\"top_units\":\"screen\"},\"id\":\"1607\",\"type\":\"BoxAnnotation\"},{\"attributes\":{\"fill_color\":{\"field\":\"trial number\",\"transform\":{\"id\":\"1615\"}},\"hatch_color\":{\"field\":\"trial number\",\"transform\":{\"id\":\"1615\"}},\"line_color\":{\"field\":\"trial number\",\"transform\":{\"id\":\"1615\"}},\"x\":{\"field\":\"impact force (mN)\"},\"y\":{\"field\":\"cat\"}},\"id\":\"1618\",\"type\":\"Circle\"},{\"attributes\":{},\"id\":\"1599\",\"type\":\"CategoricalTicker\"},{\"attributes\":{},\"id\":\"1592\",\"type\":\"CategoricalScale\"},{\"attributes\":{\"data\":{\"ID\":[\"I\",\"I\",\"I\",\"I\",\"I\",\"I\",\"I\",\"I\",\"I\",\"I\",\"I\",\"I\",\"I\",\"I\",\"I\",\"I\",\"I\",\"I\",\"I\",\"I\",\"II\",\"II\",\"II\",\"II\",\"II\",\"II\",\"II\",\"II\",\"II\",\"II\",\"II\",\"II\",\"II\",\"II\",\"II\",\"II\",\"II\",\"II\",\"II\",\"II\",\"III\",\"III\",\"III\",\"III\",\"III\",\"III\",\"III\",\"III\",\"III\",\"III\",\"III\",\"III\",\"III\",\"III\",\"III\",\"III\",\"III\",\"III\",\"III\",\"III\",\"IV\",\"IV\",\"IV\",\"IV\",\"IV\",\"IV\",\"IV\",\"IV\",\"IV\",\"IV\",\"IV\",\"IV\",\"IV\",\"IV\",\"IV\",\"IV\",\"IV\",\"IV\",\"IV\",\"IV\"],\"__label\":[\"3\",\"4\",\"1\",\"2\",\"3\",\"4\",\"1\",\"2\",\"3\",\"4\",\"1\",\"2\",\"3\",\"4\",\"5\",\"1\",\"2\",\"3\",\"4\",\"5\",\"1\",\"2\",\"3\",\"4\",\"1\",\"2\",\"3\",\"4\",\"1\",\"2\",\"3\",\"4\",\"1\",\"2\",\"1\",\"2\",\"1\",\"2\",\"3\",\"1\",\"1\",\"2\",\"3\",\"1\",\"2\",\"3\",\"1\",\"2\",\"1\",\"2\",\"3\",\"4\",\"1\",\"2\",\"3\",\"4\",\"1\",\"2\",\"3\",\"4\",\"2\",\"3\",\"4\",\"1\",\"2\",\"3\",\"1\",\"1\",\"2\",\"3\",\"4\",\"1\",\"1\",\"2\",\"3\",\"4\",\"1\",\"2\",\"3\",\"4\"],\"cat\":[[\"I\",\"3\"],[\"I\",\"4\"],[\"I\",\"1\"],[\"I\",\"2\"],[\"I\",\"3\"],[\"I\",\"4\"],[\"I\",\"1\"],[\"I\",\"2\"],[\"I\",\"3\"],[\"I\",\"4\"],[\"I\",\"1\"],[\"I\",\"2\"],[\"I\",\"3\"],[\"I\",\"4\"],[\"I\",\"5\"],[\"I\",\"1\"],[\"I\",\"2\"],[\"I\",\"3\"],[\"I\",\"4\"],[\"I\",\"5\"],[\"II\",\"1\"],[\"II\",\"2\"],[\"II\",\"3\"],[\"II\",\"4\"],[\"II\",\"1\"],[\"II\",\"2\"],[\"II\",\"3\"],[\"II\",\"4\"],[\"II\",\"1\"],[\"II\",\"2\"],[\"II\",\"3\"],[\"II\",\"4\"],[\"II\",\"1\"],[\"II\",\"2\"],[\"II\",\"1\"],[\"II\",\"2\"],[\"II\",\"1\"],[\"II\",\"2\"],[\"II\",\"3\"],[\"II\",\"1\"],[\"III\",\"1\"],[\"III\",\"2\"],[\"III\",\"3\"],[\"III\",\"1\"],[\"III\",\"2\"],[\"III\",\"3\"],[\"III\",\"1\"],[\"III\",\"2\"],[\"III\",\"1\"],[\"III\",\"2\"],[\"III\",\"3\"],[\"III\",\"4\"],[\"III\",\"1\"],[\"III\",\"2\"],[\"III\",\"3\"],[\"III\",\"4\"],[\"III\",\"1\"],[\"III\",\"2\"],[\"III\",\"3\"],[\"III\",\"4\"],[\"IV\",\"2\"],[\"IV\",\"3\"],[\"IV\",\"4\"],[\"IV\",\"1\"],[\"IV\",\"2\"],[\"IV\",\"3\"],[\"IV\",\"1\"],[\"IV\",\"1\"],[\"IV\",\"2\"],[\"IV\",\"3\"],[\"IV\",\"4\"],[\"IV\",\"1\"],[\"IV\",\"1\"],[\"IV\",\"2\"],[\"IV\",\"3\"],[\"IV\",\"4\"],[\"IV\",\"1\"],[\"IV\",\"2\"],[\"IV\",\"3\"],[\"IV\",\"4\"]],\"impact force (mN)\":[1205,2527,1745,1556,493,2276,556,1928,2641,1897,1891,1545,1307,1692,1543,1282,775,2032,1240,473,1612,605,327,946,541,1539,529,628,1453,297,703,269,751,245,1182,515,435,383,457,730,614,414,324,776,611,544,538,579,806,459,458,626,621,544,535,385,401,614,665,488,172,142,37,453,355,22,502,273,720,582,198,198,597,516,815,402,605,711,614,468],\"trial number\":[\"3\",\"4\",\"1\",\"2\",\"3\",\"4\",\"1\",\"2\",\"3\",\"4\",\"1\",\"2\",\"3\",\"4\",\"5\",\"1\",\"2\",\"3\",\"4\",\"5\",\"1\",\"2\",\"3\",\"4\",\"1\",\"2\",\"3\",\"4\",\"1\",\"2\",\"3\",\"4\",\"1\",\"2\",\"1\",\"2\",\"1\",\"2\",\"3\",\"1\",\"1\",\"2\",\"3\",\"1\",\"2\",\"3\",\"1\",\"2\",\"1\",\"2\",\"3\",\"4\",\"1\",\"2\",\"3\",\"4\",\"1\",\"2\",\"3\",\"4\",\"2\",\"3\",\"4\",\"1\",\"2\",\"3\",\"1\",\"1\",\"2\",\"3\",\"4\",\"1\",\"1\",\"2\",\"3\",\"4\",\"1\",\"2\",\"3\",\"4\"]},\"selected\":{\"id\":\"1680\"},\"selection_policy\":{\"id\":\"1679\"}},\"id\":\"1616\",\"type\":\"ColumnDataSource\"},{\"attributes\":{\"axis\":{\"id\":\"1594\"},\"coordinates\":null,\"group\":null,\"ticker\":null},\"id\":\"1597\",\"type\":\"Grid\"},{\"attributes\":{\"tools\":[{\"id\":\"1601\"},{\"id\":\"1602\"},{\"id\":\"1603\"},{\"id\":\"1604\"},{\"id\":\"1605\"},{\"id\":\"1606\"}]},\"id\":\"1608\",\"type\":\"Toolbar\"},{\"attributes\":{\"factors\":[[\"IV\",\"4\"],[\"IV\",\"3\"],[\"IV\",\"2\"],[\"IV\",\"1\"],[\"III\",\"4\"],[\"III\",\"3\"],[\"III\",\"2\"],[\"III\",\"1\"],[\"II\",\"4\"],[\"II\",\"3\"],[\"II\",\"2\"],[\"II\",\"1\"],[\"I\",\"5\"],[\"I\",\"4\"],[\"I\",\"3\"],[\"I\",\"2\"],[\"I\",\"1\"]]},\"id\":\"1585\",\"type\":\"FactorRange\"},{\"attributes\":{\"source\":{\"id\":\"1616\"}},\"id\":\"1622\",\"type\":\"CDSView\"}],\"root_ids\":[\"1586\"]},\"title\":\"Bokeh Application\",\"version\":\"2.4.2\"}};\n", " const render_items = [{\"docid\":\"cc41afeb-55d9-49c0-a25f-79bd562e7fef\",\"root_ids\":[\"1586\"],\"roots\":{\"1586\":\"0d339bae-2020-4f8e-b3ad-c7c03898be29\"}}];\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", " let attempts = 0;\n", " const timer = setInterval(function(root) {\n", " if (root.Bokeh !== undefined) {\n", " clearInterval(timer);\n", " embed_document(root);\n", " } else {\n", " attempts++;\n", " if (attempts > 100) {\n", " clearInterval(timer);\n", " console.log(\"Bokeh: ERROR: Unable to run BokehJS code because BokehJS library is missing\");\n", " }\n", " }\n", " }, 10, root)\n", " }\n", "})(window);" ], "application/vnd.bokehjs_exec.v0+json": "" }, "metadata": { "application/vnd.bokehjs_exec.v0+json": { "id": "1586" } }, "output_type": "display_data" } ], "source": [ "p = iqplot.strip(\n", " data=df,\n", " q=\"impact force (mN)\",\n", " cats=['ID', 'trial number'],\n", " color_column='trial number',\n", " width=550,\n", ")\n", "\n", "bokeh.io.show(p)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Customizing histograms\n", "\n", "We could plot normalized histograms using the density kwarg." ] }, { "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", " const docs_json = {\"3b8c5268-a56c-41be-a50a-86013bcfbd70\":{\"defs\":[],\"roots\":{\"references\":[{\"attributes\":{\"below\":[{\"id\":\"1746\"}],\"center\":[{\"id\":\"1749\"},{\"id\":\"1753\"}],\"frame_height\":275,\"frame_width\":375,\"left\":[{\"id\":\"1750\"}],\"renderers\":[{\"id\":\"1772\"},{\"id\":\"1778\"}],\"title\":{\"id\":\"1839\"},\"toolbar\":{\"id\":\"1761\"},\"toolbar_location\":\"above\",\"x_range\":{\"id\":\"1739\"},\"x_scale\":{\"id\":\"1742\"},\"y_range\":{\"id\":\"1737\"},\"y_scale\":{\"id\":\"1744\"}},\"id\":\"1738\",\"subtype\":\"Figure\",\"type\":\"Plot\"},{\"attributes\":{},\"id\":\"1754\",\"type\":\"PanTool\"},{\"attributes\":{\"fill_alpha\":0.2,\"fill_color\":\"#1f77b3\",\"hatch_alpha\":0.2,\"hatch_color\":\"#1f77b3\",\"line_alpha\":0.2,\"line_color\":\"#1f77b3\",\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"1777\",\"type\":\"Patch\"},{\"attributes\":{},\"id\":\"1847\",\"type\":\"UnionRenderers\"},{\"attributes\":{},\"id\":\"1755\",\"type\":\"WheelZoomTool\"},{\"attributes\":{},\"id\":\"1742\",\"type\":\"LinearScale\"},{\"attributes\":{},\"id\":\"1759\",\"type\":\"HelpTool\"},{\"attributes\":{},\"id\":\"1848\",\"type\":\"Selection\"},{\"attributes\":{\"overlay\":{\"id\":\"1760\"}},\"id\":\"1756\",\"type\":\"BoxZoomTool\"},{\"attributes\":{\"coordinates\":null,\"data_source\":{\"id\":\"1774\"},\"glyph\":{\"id\":\"1775\"},\"group\":null,\"hover_glyph\":null,\"muted_glyph\":{\"id\":\"1777\"},\"nonselection_glyph\":{\"id\":\"1776\"},\"view\":{\"id\":\"1779\"}},\"id\":\"1778\",\"type\":\"GlyphRenderer\"},{\"attributes\":{},\"id\":\"1757\",\"type\":\"SaveTool\"},{\"attributes\":{\"fill_alpha\":0.1,\"fill_color\":\"#1f77b3\",\"hatch_alpha\":0.1,\"hatch_color\":\"#1f77b3\",\"line_alpha\":0.1,\"line_color\":\"#1f77b3\",\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"1776\",\"type\":\"Patch\"},{\"attributes\":{},\"id\":\"1758\",\"type\":\"ResetTool\"},{\"attributes\":{\"coordinates\":null,\"group\":null},\"id\":\"1839\",\"type\":\"Title\"},{\"attributes\":{\"bottom_units\":\"screen\",\"coordinates\":null,\"fill_alpha\":0.5,\"fill_color\":\"lightgrey\",\"group\":null,\"left_units\":\"screen\",\"level\":\"overlay\",\"line_alpha\":1.0,\"line_color\":\"black\",\"line_dash\":[4,4],\"line_width\":2,\"right_units\":\"screen\",\"syncable\":false,\"top_units\":\"screen\"},\"id\":\"1760\",\"type\":\"BoxAnnotation\"},{\"attributes\":{},\"id\":\"1842\",\"type\":\"BasicTickFormatter\"},{\"attributes\":{\"line_color\":\"#1f77b3\",\"line_width\":2,\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"1769\",\"type\":\"Line\"},{\"attributes\":{},\"id\":\"1845\",\"type\":\"BasicTickFormatter\"},{\"attributes\":{\"fill_alpha\":0.3,\"fill_color\":\"#1f77b3\",\"hatch_color\":\"#1f77b3\",\"line_alpha\":0,\"line_color\":\"#1f77b3\",\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"1775\",\"type\":\"Patch\"},{\"attributes\":{\"axis\":{\"id\":\"1746\"},\"coordinates\":null,\"group\":null,\"ticker\":null},\"id\":\"1749\",\"type\":\"Grid\"},{\"attributes\":{},\"id\":\"1843\",\"type\":\"AllLabels\"},{\"attributes\":{},\"id\":\"1849\",\"type\":\"UnionRenderers\"},{\"attributes\":{},\"id\":\"1751\",\"type\":\"BasicTicker\"},{\"attributes\":{\"data\":{\"x\":{\"__ndarray__\":\"VWmkV3yzEMBVaaRXfLMQwDuyY3BMBRDAO7JjcEwFEMBC9kUSOa4OwEL2RRI5rg7ADojEQ9lRDcAOiMRD2VENwNoZQ3V59QvA2hlDdXn1C8Cmq8GmGZkKwKarwaYZmQrAcj1A2Lk8CcByPUDYuTwJwD7Pvgla4AfAPs++CVrgB8AKYT07+oMGwAphPTv6gwbA1vK7bJonBcDW8rtsmicFwKKEOp46ywPAooQ6njrLA8BuFrnP2m4CwG4Wuc/abgLAO6g3AXsSAcA7qDcBexIBwA50bGU2bP+/DnRsZTZs/7+ml2nIdrP8v6aXach2s/y/PrtmK7f6+b8+u2Yrt/r5v9beY473Qfe/1t5jjvdB979uAmHxN4n0v24CYfE3ifS/BiZeVHjQ8b8GJl5UeNDxvzyTtm5xL+6/PJO2bnEv7r9s2rA08r3ov2zasDTyvei/nCGr+nJM47+cIav6ckzjv5jRSoHntdu/mNFKgee127/4Xz8N6dLQv/hfPw3p0tC/gLnPZKq/t7+Auc9kqr+3vwANXmtPzLM/AA1ea0/Msz/A6cWdJKzPP8DpxZ0krM8/gGbuwhC52j+AZu7CELnaPxDsfJsHzuI/EOx8mwfO4j/gpILVhj/oP+CkgtWGP+g/sF2IDwax7T+wXYgPBrHtP0ALx6RCkfE/QAvHpEKR8T+o58lBAkr0P6jnyUECSvQ/EMTM3sEC9z8QxMzewQL3P3igz3uBu/k/eKDPe4G7+T/gfNIYQXT8P+B80hhBdPw/SFnVtQAt/z9IWdW1AC3/P9gabCng8gBA2BpsKeDyAEAMie33P08CQAyJ7fc/TwJAQPduxp+rA0BA927Gn6sDQHRl8JT/BwVAdGXwlP8HBUCo03FjX2QGQKjTcWNfZAZA3EHzMb/AB0DcQfMxv8AHQBCwdAAfHQlAELB0AB8dCUBEHvbOfnkKQEQe9s5+eQpAeIx3nd7VC0B4jHed3tULQKz6+Gs+Mg1ArPr4az4yDUDgaHo6no4OQOBoejqejg5AEtf7CP7qD0AS1/sI/uoPQKOivuuuoxBAo6K+666jEEC9Wf/S3lERQL1Z/9LeURFAvVn/0t5REUBVaaRXfLMQwA==\",\"dtype\":\"float64\",\"order\":\"little\",\"shape\":[104]},\"y\":{\"__ndarray__\":\"AAAAAAAAAABGs7+Suh0nP0azv5K6HSc/RrO/krodJz9Gs7+Suh0nP0azv5K6HSc/RrO/krodJz8QwJ/PcENDPxDAn89wQ0M/dMYP7ktWUT90xg/uS1ZRP+CsT3TfClk/4KxPdN8KWT/grE903wppP+CsT3TfCmk/RLvLeEy1dD9Eu8t4TLV0P6m/uB1DYoM/qb+4HUNigz9/ms18qZSOP3+azXyplI4/4DEXpJqJlz/gMRekmomXP+dHuNxr6qA/50e43GvqoD/5cM/T886nP/lwz9Pzzqc/dcSMdGfwsT91xIx0Z/CxP3ovrXiIQrg/ei+teIhCuD//Wi6bIm6+P/9aLpsibr4/txyxHZJFxD+3HLEdkkXEP4CdSNq22sg/gJ1I2rbayD84TcPIsMLNPzhNw8iwws0/VBW2afus0T9UFbZp+6zRP6CWSZg0stM/oJZJmDSy0z+vbnpoyBbWP69uemjIFtY/jf5Gzc6J2D+N/kbNzonYP4QEu3mVLNk/hAS7eZUs2T8KBNTHZ0vZPwoE1MdnS9k/d3TZVKgq2T93dNlUqCrZP7FmboI2f9g/sWZugjZ/2D+o/NgT0bLWP6j82BPRstY/W0O2d46u1D9bQ7Z3jq7UP8jzVlhqJNI/yPNWWGok0j9LnR5a6bzNP0udHlrpvM0/ugyZUW4WyT+6DJlRbhbJP6TMVYxZS8Q/pMxVjFlLxD8A1mZrZ++/PwDWZmtn778/7wlIdC7uuT/vCUh0Lu65PyiEHy+FB7I/KIQfL4UHsj8ubPt8z0CpPy5s+3zPQKk/woM4fVcmoj/Cgzh9VyaiP0csdekaOZk/Ryx16Ro5mT/mmDG18g+PP+aYMbXyD48/EboWY8MRhT8RuhZjwxGFP62tHdg6zXg/ra0d2DrNeD+xoQv/32lsP7GhC//faWw/QsPXXt5MYj9Cw9de3kxiP0azv5K6HVc/RrO/krodVz99pt9VBPhKP32m31UE+Eo/EMCfz3BDMz8QwJ/PcEMzP9+Z/xhO0i4/35n/GE7SLj+zmf8YTtIOP7OZ/xhO0g4/s5n/GE7SHj+zmf8YTtIePwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==\",\"dtype\":\"float64\",\"order\":\"little\",\"shape\":[104]}},\"selected\":{\"id\":\"1850\"},\"selection_policy\":{\"id\":\"1849\"}},\"id\":\"1774\",\"type\":\"ColumnDataSource\"},{\"attributes\":{\"axis\":{\"id\":\"1750\"},\"coordinates\":null,\"dimension\":1,\"group\":null,\"ticker\":null},\"id\":\"1753\",\"type\":\"Grid\"},{\"attributes\":{},\"id\":\"1747\",\"type\":\"BasicTicker\"},{\"attributes\":{},\"id\":\"1850\",\"type\":\"Selection\"},{\"attributes\":{\"axis_label\":\"x\",\"coordinates\":null,\"formatter\":{\"id\":\"1845\"},\"group\":null,\"major_label_policy\":{\"id\":\"1846\"},\"ticker\":{\"id\":\"1747\"}},\"id\":\"1746\",\"type\":\"LinearAxis\"},{\"attributes\":{},\"id\":\"1846\",\"type\":\"AllLabels\"},{\"attributes\":{\"line_alpha\":0.1,\"line_color\":\"#1f77b3\",\"line_width\":2,\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"1770\",\"type\":\"Line\"},{\"attributes\":{\"tools\":[{\"id\":\"1754\"},{\"id\":\"1755\"},{\"id\":\"1756\"},{\"id\":\"1757\"},{\"id\":\"1758\"},{\"id\":\"1759\"}]},\"id\":\"1761\",\"type\":\"Toolbar\"},{\"attributes\":{\"coordinates\":null,\"data_source\":{\"id\":\"1768\"},\"glyph\":{\"id\":\"1769\"},\"group\":null,\"hover_glyph\":null,\"muted_glyph\":{\"id\":\"1771\"},\"nonselection_glyph\":{\"id\":\"1770\"},\"view\":{\"id\":\"1773\"}},\"id\":\"1772\",\"type\":\"GlyphRenderer\"},{\"attributes\":{\"axis_label\":\"density\",\"coordinates\":null,\"formatter\":{\"id\":\"1842\"},\"group\":null,\"major_label_policy\":{\"id\":\"1843\"},\"ticker\":{\"id\":\"1751\"}},\"id\":\"1750\",\"type\":\"LinearAxis\"},{\"attributes\":{\"start\":0},\"id\":\"1737\",\"type\":\"DataRange1d\"},{\"attributes\":{},\"id\":\"1739\",\"type\":\"DataRange1d\"},{\"attributes\":{\"source\":{\"id\":\"1774\"}},\"id\":\"1779\",\"type\":\"CDSView\"},{\"attributes\":{\"data\":{\"x\":{\"__ndarray__\":\"VWmkV3yzEMBVaaRXfLMQwDuyY3BMBRDAO7JjcEwFEMBC9kUSOa4OwEL2RRI5rg7ADojEQ9lRDcAOiMRD2VENwNoZQ3V59QvA2hlDdXn1C8Cmq8GmGZkKwKarwaYZmQrAcj1A2Lk8CcByPUDYuTwJwD7Pvgla4AfAPs++CVrgB8AKYT07+oMGwAphPTv6gwbA1vK7bJonBcDW8rtsmicFwKKEOp46ywPAooQ6njrLA8BuFrnP2m4CwG4Wuc/abgLAO6g3AXsSAcA7qDcBexIBwA50bGU2bP+/DnRsZTZs/7+ml2nIdrP8v6aXach2s/y/PrtmK7f6+b8+u2Yrt/r5v9beY473Qfe/1t5jjvdB979uAmHxN4n0v24CYfE3ifS/BiZeVHjQ8b8GJl5UeNDxvzyTtm5xL+6/PJO2bnEv7r9s2rA08r3ov2zasDTyvei/nCGr+nJM47+cIav6ckzjv5jRSoHntdu/mNFKgee127/4Xz8N6dLQv/hfPw3p0tC/gLnPZKq/t7+Auc9kqr+3vwANXmtPzLM/AA1ea0/Msz/A6cWdJKzPP8DpxZ0krM8/gGbuwhC52j+AZu7CELnaPxDsfJsHzuI/EOx8mwfO4j/gpILVhj/oP+CkgtWGP+g/sF2IDwax7T+wXYgPBrHtP0ALx6RCkfE/QAvHpEKR8T+o58lBAkr0P6jnyUECSvQ/EMTM3sEC9z8QxMzewQL3P3igz3uBu/k/eKDPe4G7+T/gfNIYQXT8P+B80hhBdPw/SFnVtQAt/z9IWdW1AC3/P9gabCng8gBA2BpsKeDyAEAMie33P08CQAyJ7fc/TwJAQPduxp+rA0BA927Gn6sDQHRl8JT/BwVAdGXwlP8HBUCo03FjX2QGQKjTcWNfZAZA3EHzMb/AB0DcQfMxv8AHQBCwdAAfHQlAELB0AB8dCUBEHvbOfnkKQEQe9s5+eQpAeIx3nd7VC0B4jHed3tULQKz6+Gs+Mg1ArPr4az4yDUDgaHo6no4OQOBoejqejg5AEtf7CP7qD0AS1/sI/uoPQKOivuuuoxBAo6K+666jEEC9Wf/S3lERQL1Z/9LeURFA\",\"dtype\":\"float64\",\"order\":\"little\",\"shape\":[102]},\"y\":{\"__ndarray__\":\"AAAAAAAAAABGs7+Suh0nP0azv5K6HSc/RrO/krodJz9Gs7+Suh0nP0azv5K6HSc/RrO/krodJz8QwJ/PcENDPxDAn89wQ0M/dMYP7ktWUT90xg/uS1ZRP+CsT3TfClk/4KxPdN8KWT/grE903wppP+CsT3TfCmk/RLvLeEy1dD9Eu8t4TLV0P6m/uB1DYoM/qb+4HUNigz9/ms18qZSOP3+azXyplI4/4DEXpJqJlz/gMRekmomXP+dHuNxr6qA/50e43GvqoD/5cM/T886nP/lwz9Pzzqc/dcSMdGfwsT91xIx0Z/CxP3ovrXiIQrg/ei+teIhCuD//Wi6bIm6+P/9aLpsibr4/txyxHZJFxD+3HLEdkkXEP4CdSNq22sg/gJ1I2rbayD84TcPIsMLNPzhNw8iwws0/VBW2afus0T9UFbZp+6zRP6CWSZg0stM/oJZJmDSy0z+vbnpoyBbWP69uemjIFtY/jf5Gzc6J2D+N/kbNzonYP4QEu3mVLNk/hAS7eZUs2T8KBNTHZ0vZPwoE1MdnS9k/d3TZVKgq2T93dNlUqCrZP7FmboI2f9g/sWZugjZ/2D+o/NgT0bLWP6j82BPRstY/W0O2d46u1D9bQ7Z3jq7UP8jzVlhqJNI/yPNWWGok0j9LnR5a6bzNP0udHlrpvM0/ugyZUW4WyT+6DJlRbhbJP6TMVYxZS8Q/pMxVjFlLxD8A1mZrZ++/PwDWZmtn778/7wlIdC7uuT/vCUh0Lu65PyiEHy+FB7I/KIQfL4UHsj8ubPt8z0CpPy5s+3zPQKk/woM4fVcmoj/Cgzh9VyaiP0csdekaOZk/Ryx16Ro5mT/mmDG18g+PP+aYMbXyD48/EboWY8MRhT8RuhZjwxGFP62tHdg6zXg/ra0d2DrNeD+xoQv/32lsP7GhC//faWw/QsPXXt5MYj9Cw9de3kxiP0azv5K6HVc/RrO/krodVz99pt9VBPhKP32m31UE+Eo/EMCfz3BDMz8QwJ/PcEMzP9+Z/xhO0i4/35n/GE7SLj+zmf8YTtIOP7OZ/xhO0g4/s5n/GE7SHj+zmf8YTtIePwAAAAAAAAAA\",\"dtype\":\"float64\",\"order\":\"little\",\"shape\":[102]}},\"selected\":{\"id\":\"1848\"},\"selection_policy\":{\"id\":\"1847\"}},\"id\":\"1768\",\"type\":\"ColumnDataSource\"},{\"attributes\":{},\"id\":\"1744\",\"type\":\"LinearScale\"},{\"attributes\":{\"source\":{\"id\":\"1768\"}},\"id\":\"1773\",\"type\":\"CDSView\"},{\"attributes\":{\"line_alpha\":0.2,\"line_color\":\"#1f77b3\",\"line_width\":2,\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"1771\",\"type\":\"Line\"}],\"root_ids\":[\"1738\"]},\"title\":\"Bokeh Application\",\"version\":\"2.4.2\"}};\n", " const render_items = [{\"docid\":\"3b8c5268-a56c-41be-a50a-86013bcfbd70\",\"root_ids\":[\"1738\"],\"roots\":{\"1738\":\"a421e23d-01b4-490f-9822-24513d2dad6e\"}}];\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", " let attempts = 0;\n", " const timer = setInterval(function(root) {\n", " if (root.Bokeh !== undefined) {\n", " clearInterval(timer);\n", " embed_document(root);\n", " } else {\n", " attempts++;\n", " if (attempts > 100) {\n", " clearInterval(timer);\n", " console.log(\"Bokeh: ERROR: Unable to run BokehJS code because BokehJS library is missing\");\n", " }\n", " }\n", " }, 10, root)\n", " }\n", "})(window);" ], "application/vnd.bokehjs_exec.v0+json": "" }, "metadata": { "application/vnd.bokehjs_exec.v0+json": { "id": "1738" } }, "output_type": "display_data" } ], "source": [ "# Generate normally distributed data\n", "x = np.random.standard_normal(size=100000)\n", "\n", "# Plot the histogram\n", "p = iqplot.histogram(x, bins=50, density=True, rug=False)\n", "\n", "bokeh.io.show(p)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Customizing ECDFs\n", "\n", "Instead of plotting a separate ECDF for each category, we can put all of the categories together on one ECDF and color the points by the categorical variable by using the `kind='colored'` kwarg. Note that if we do this, we can only have the \"dot\" style ECDF, not the staircase." ] }, { "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", " const docs_json = {\"42ecfbfe-b3e0-48da-989e-0baaa21dfec2\":{\"defs\":[],\"roots\":{\"references\":[{\"attributes\":{\"below\":[{\"id\":\"1926\"}],\"center\":[{\"id\":\"1929\"},{\"id\":\"1933\"}],\"frame_height\":275,\"frame_width\":375,\"left\":[{\"id\":\"1930\"}],\"renderers\":[{\"id\":\"1955\"},{\"id\":\"1962\"},{\"id\":\"1969\"},{\"id\":\"1976\"}],\"right\":[{\"id\":\"1978\"}],\"title\":{\"id\":\"2055\"},\"toolbar\":{\"id\":\"1941\"},\"toolbar_location\":\"above\",\"x_range\":{\"id\":\"1918\"},\"x_scale\":{\"id\":\"1922\"},\"y_range\":{\"id\":\"1920\"},\"y_scale\":{\"id\":\"1924\"}},\"id\":\"1917\",\"subtype\":\"Figure\",\"type\":\"Plot\"},{\"attributes\":{},\"id\":\"2063\",\"type\":\"UnionRenderers\"},{\"attributes\":{},\"id\":\"2068\",\"type\":\"Selection\"},{\"attributes\":{},\"id\":\"2064\",\"type\":\"Selection\"},{\"attributes\":{},\"id\":\"1939\",\"type\":\"HelpTool\"},{\"attributes\":{\"fill_color\":{\"value\":\"#ff7e0e\"},\"hatch_color\":{\"value\":\"#ff7e0e\"},\"line_color\":{\"value\":\"#ff7e0e\"},\"x\":{\"field\":\"impact force (mN)\"},\"y\":{\"field\":\"__ECDF\"}},\"id\":\"1959\",\"type\":\"Circle\"},{\"attributes\":{},\"id\":\"1934\",\"type\":\"PanTool\"},{\"attributes\":{\"overlay\":{\"id\":\"1940\"}},\"id\":\"1936\",\"type\":\"BoxZoomTool\"},{\"attributes\":{},\"id\":\"1937\",\"type\":\"SaveTool\"},{\"attributes\":{},\"id\":\"1938\",\"type\":\"ResetTool\"},{\"attributes\":{\"coordinates\":null,\"data_source\":{\"id\":\"1971\"},\"glyph\":{\"id\":\"1973\"},\"group\":null,\"hover_glyph\":null,\"muted_glyph\":{\"id\":\"1975\"},\"nonselection_glyph\":{\"id\":\"1974\"},\"view\":{\"id\":\"1977\"}},\"id\":\"1976\",\"type\":\"GlyphRenderer\"},{\"attributes\":{\"bottom_units\":\"screen\",\"coordinates\":null,\"fill_alpha\":0.5,\"fill_color\":\"lightgrey\",\"group\":null,\"left_units\":\"screen\",\"level\":\"overlay\",\"line_alpha\":1.0,\"line_color\":\"black\",\"line_dash\":[4,4],\"line_width\":2,\"right_units\":\"screen\",\"syncable\":false,\"top_units\":\"screen\"},\"id\":\"1940\",\"type\":\"BoxAnnotation\"},{\"attributes\":{\"coordinates\":null,\"data_source\":{\"id\":\"1957\"},\"glyph\":{\"id\":\"1959\"},\"group\":null,\"hover_glyph\":null,\"muted_glyph\":{\"id\":\"1961\"},\"nonselection_glyph\":{\"id\":\"1960\"},\"view\":{\"id\":\"1963\"}},\"id\":\"1962\",\"type\":\"GlyphRenderer\"},{\"attributes\":{\"label\":{\"value\":\"III\"},\"renderers\":[{\"id\":\"1969\"}]},\"id\":\"1981\",\"type\":\"LegendItem\"},{\"attributes\":{},\"id\":\"2067\",\"type\":\"UnionRenderers\"},{\"attributes\":{\"click_policy\":\"hide\",\"coordinates\":null,\"group\":null,\"items\":[{\"id\":\"1979\"},{\"id\":\"1980\"},{\"id\":\"1981\"},{\"id\":\"1982\"}],\"location\":\"center\"},\"id\":\"1978\",\"type\":\"Legend\"},{\"attributes\":{\"label\":{\"value\":\"II\"},\"renderers\":[{\"id\":\"1962\"}]},\"id\":\"1980\",\"type\":\"LegendItem\"},{\"attributes\":{\"fill_alpha\":{\"value\":0.2},\"fill_color\":{\"value\":\"#ff7e0e\"},\"hatch_alpha\":{\"value\":0.2},\"hatch_color\":{\"value\":\"#ff7e0e\"},\"line_alpha\":{\"value\":0.2},\"line_color\":{\"value\":\"#ff7e0e\"},\"x\":{\"field\":\"impact force (mN)\"},\"y\":{\"field\":\"__ECDF\"}},\"id\":\"1961\",\"type\":\"Circle\"},{\"attributes\":{},\"id\":\"1920\",\"type\":\"DataRange1d\"},{\"attributes\":{\"data\":{\"ID\":[\"II\",\"II\",\"II\",\"II\",\"II\",\"II\",\"II\",\"II\",\"II\",\"II\",\"II\",\"II\",\"II\",\"II\",\"II\",\"II\",\"II\",\"II\",\"II\",\"II\"],\"__ECDF\":{\"__ndarray__\":\"ZmZmZmZm7D9mZmZmZmbgPzMzMzMzM8M/AAAAAAAA6D8zMzMzMzPbP83MzMzMzOo/zczMzMzM2D+amZmZmZnjP2ZmZmZmZuo/AAAAAAAAwD9mZmZmZmbkP5qZmZmZmbk/AAAAAAAA5j9mZmZmZma2P2ZmZmZmZug/MzMzMzMz1z9mZmZmZmbOP2ZmZmZmZsY/zczMzMzM0D+amZmZmZnlPw==\",\"dtype\":\"float64\",\"order\":\"little\",\"shape\":[20]},\"__label\":[\"II\",\"II\",\"II\",\"II\",\"II\",\"II\",\"II\",\"II\",\"II\",\"II\",\"II\",\"II\",\"II\",\"II\",\"II\",\"II\",\"II\",\"II\",\"II\",\"II\"],\"adhesive force (mN)\":[-655,-292,-246,-245,-553,-664,-261,-691,-92,-566,-223,-512,-227,-573,-522,-599,-364,-469,-844,-648],\"impact force (mN)\":[1612,605,327,946,541,1539,529,628,1453,297,703,269,751,245,1182,515,435,383,457,730],\"index\":[20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39],\"trial number\":[1,2,3,4,1,2,3,4,1,2,3,4,1,2,1,2,1,2,3,1]},\"selected\":{\"id\":\"2066\"},\"selection_policy\":{\"id\":\"2065\"}},\"id\":\"1957\",\"type\":\"ColumnDataSource\"},{\"attributes\":{\"source\":{\"id\":\"1964\"}},\"id\":\"1970\",\"type\":\"CDSView\"},{\"attributes\":{},\"id\":\"1927\",\"type\":\"BasicTicker\"},{\"attributes\":{\"fill_color\":{\"value\":\"#1f77b3\"},\"hatch_color\":{\"value\":\"#1f77b3\"},\"line_color\":{\"value\":\"#1f77b3\"},\"x\":{\"field\":\"impact force (mN)\"},\"y\":{\"field\":\"__ECDF\"}},\"id\":\"1952\",\"type\":\"Circle\"},{\"attributes\":{\"fill_color\":{\"value\":\"#2ba02b\"},\"hatch_color\":{\"value\":\"#2ba02b\"},\"line_color\":{\"value\":\"#2ba02b\"},\"x\":{\"field\":\"impact force (mN)\"},\"y\":{\"field\":\"__ECDF\"}},\"id\":\"1966\",\"type\":\"Circle\"},{\"attributes\":{\"data\":{\"ID\":[\"I\",\"I\",\"I\",\"I\",\"I\",\"I\",\"I\",\"I\",\"I\",\"I\",\"I\",\"I\",\"I\",\"I\",\"I\",\"I\",\"I\",\"I\",\"I\",\"I\"],\"__ECDF\":{\"__ndarray__\":\"zczMzMzM6D+amZmZmZnvPzMzMzMzM+0/AAAAAAAA7D+amZmZmZnVPzMzMzMzM+8/mpmZmZmZ3T9mZmZmZmbuPwAAAAAAAPA/AAAAAAAA7j+amZmZmZntP5qZmZmZmes/AAAAAAAA6j/NzMzMzMzsPzMzMzMzM+s/mpmZmZmZ6T9mZmZmZmbmP83MzMzMzO4/MzMzMzMz6T8AAAAAAADUPw==\",\"dtype\":\"float64\",\"order\":\"little\",\"shape\":[20]},\"__label\":[\"I\",\"I\",\"I\",\"I\",\"I\",\"I\",\"I\",\"I\",\"I\",\"I\",\"I\",\"I\",\"I\",\"I\",\"I\",\"I\",\"I\",\"I\",\"I\",\"I\"],\"adhesive force (mN)\":[-785,-983,-850,-455,-974,-592,-512,-804,-690,-462,-766,-715,-613,-677,-528,-452,-430,-652,-692,-536],\"impact force (mN)\":[1205,2527,1745,1556,493,2276,556,1928,2641,1897,1891,1545,1307,1692,1543,1282,775,2032,1240,473],\"index\":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19],\"trial number\":[3,4,1,2,3,4,1,2,3,4,1,2,3,4,5,1,2,3,4,5]},\"selected\":{\"id\":\"2064\"},\"selection_policy\":{\"id\":\"2063\"}},\"id\":\"1950\",\"type\":\"ColumnDataSource\"},{\"attributes\":{\"label\":{\"value\":\"I\"},\"renderers\":[{\"id\":\"1955\"}]},\"id\":\"1979\",\"type\":\"LegendItem\"},{\"attributes\":{},\"id\":\"2069\",\"type\":\"UnionRenderers\"},{\"attributes\":{},\"id\":\"2065\",\"type\":\"UnionRenderers\"},{\"attributes\":{\"fill_alpha\":{\"value\":0.1},\"fill_color\":{\"value\":\"#1f77b3\"},\"hatch_alpha\":{\"value\":0.1},\"hatch_color\":{\"value\":\"#1f77b3\"},\"line_alpha\":{\"value\":0.1},\"line_color\":{\"value\":\"#1f77b3\"},\"x\":{\"field\":\"impact force (mN)\"},\"y\":{\"field\":\"__ECDF\"}},\"id\":\"1953\",\"type\":\"Circle\"},{\"attributes\":{\"fill_alpha\":{\"value\":0.1},\"fill_color\":{\"value\":\"#2ba02b\"},\"hatch_alpha\":{\"value\":0.1},\"hatch_color\":{\"value\":\"#2ba02b\"},\"line_alpha\":{\"value\":0.1},\"line_color\":{\"value\":\"#2ba02b\"},\"x\":{\"field\":\"impact force (mN)\"},\"y\":{\"field\":\"__ECDF\"}},\"id\":\"1967\",\"type\":\"Circle\"},{\"attributes\":{\"data\":{\"ID\":[\"IV\",\"IV\",\"IV\",\"IV\",\"IV\",\"IV\",\"IV\",\"IV\",\"IV\",\"IV\",\"IV\",\"IV\",\"IV\",\"IV\",\"IV\",\"IV\",\"IV\",\"IV\",\"IV\",\"IV\"],\"__ECDF\":{\"__ndarray__\":\"mpmZmZmZqT8zMzMzMzOjP5qZmZmZmZk/AAAAAAAA0D/NzMzMzMzEP5qZmZmZmYk/ZmZmZmZm1j/NzMzMzMy8PzMzMzMzM+U/MzMzMzMz3z8AAAAAAACwPzMzMzMzM7M/AAAAAAAA4D8AAAAAAADYP5qZmZmZmec/MzMzMzMzyz/NzMzMzMzgP83MzMzMzOQ/ZmZmZmZm4j8zMzMzMzPTPw==\",\"dtype\":\"float64\",\"order\":\"little\",\"shape\":[20]},\"__label\":[\"IV\",\"IV\",\"IV\",\"IV\",\"IV\",\"IV\",\"IV\",\"IV\",\"IV\",\"IV\",\"IV\",\"IV\",\"IV\",\"IV\",\"IV\",\"IV\",\"IV\",\"IV\",\"IV\",\"IV\"],\"adhesive force (mN)\":[-456,-193,-236,-225,-217,-161,-139,-264,-342,-231,-209,-292,-339,-371,-331,-302,-216,-163,-367,-218],\"impact force (mN)\":[172,142,37,453,355,22,502,273,720,582,198,198,597,516,815,402,605,711,614,468],\"index\":[60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79],\"trial number\":[2,3,4,1,2,3,1,1,2,3,4,1,1,2,3,4,1,2,3,4]},\"selected\":{\"id\":\"2070\"},\"selection_policy\":{\"id\":\"2069\"}},\"id\":\"1971\",\"type\":\"ColumnDataSource\"},{\"attributes\":{\"tools\":[{\"id\":\"1934\"},{\"id\":\"1935\"},{\"id\":\"1936\"},{\"id\":\"1937\"},{\"id\":\"1938\"},{\"id\":\"1939\"},{\"id\":\"1948\"}]},\"id\":\"1941\",\"type\":\"Toolbar\"},{\"attributes\":{\"fill_alpha\":{\"value\":0.2},\"fill_color\":{\"value\":\"#1f77b3\"},\"hatch_alpha\":{\"value\":0.2},\"hatch_color\":{\"value\":\"#1f77b3\"},\"line_alpha\":{\"value\":0.2},\"line_color\":{\"value\":\"#1f77b3\"},\"x\":{\"field\":\"impact force (mN)\"},\"y\":{\"field\":\"__ECDF\"}},\"id\":\"1954\",\"type\":\"Circle\"},{\"attributes\":{},\"id\":\"2058\",\"type\":\"BasicTickFormatter\"},{\"attributes\":{},\"id\":\"2066\",\"type\":\"Selection\"},{\"attributes\":{},\"id\":\"2070\",\"type\":\"Selection\"},{\"attributes\":{\"fill_alpha\":{\"value\":0.2},\"fill_color\":{\"value\":\"#d62628\"},\"hatch_alpha\":{\"value\":0.2},\"hatch_color\":{\"value\":\"#d62628\"},\"line_alpha\":{\"value\":0.2},\"line_color\":{\"value\":\"#d62628\"},\"x\":{\"field\":\"impact force (mN)\"},\"y\":{\"field\":\"__ECDF\"}},\"id\":\"1975\",\"type\":\"Circle\"},{\"attributes\":{\"coordinates\":null,\"group\":null},\"id\":\"2055\",\"type\":\"Title\"},{\"attributes\":{},\"id\":\"2059\",\"type\":\"AllLabels\"},{\"attributes\":{\"source\":{\"id\":\"1971\"}},\"id\":\"1977\",\"type\":\"CDSView\"},{\"attributes\":{\"fill_color\":{\"value\":\"#d62628\"},\"hatch_color\":{\"value\":\"#d62628\"},\"line_color\":{\"value\":\"#d62628\"},\"x\":{\"field\":\"impact force (mN)\"},\"y\":{\"field\":\"__ECDF\"}},\"id\":\"1973\",\"type\":\"Circle\"},{\"attributes\":{\"axis\":{\"id\":\"1926\"},\"coordinates\":null,\"group\":null,\"ticker\":null},\"id\":\"1929\",\"type\":\"Grid\"},{\"attributes\":{\"fill_alpha\":{\"value\":0.1},\"fill_color\":{\"value\":\"#d62628\"},\"hatch_alpha\":{\"value\":0.1},\"hatch_color\":{\"value\":\"#d62628\"},\"line_alpha\":{\"value\":0.1},\"line_color\":{\"value\":\"#d62628\"},\"x\":{\"field\":\"impact force (mN)\"},\"y\":{\"field\":\"__ECDF\"}},\"id\":\"1974\",\"type\":\"Circle\"},{\"attributes\":{\"label\":{\"value\":\"IV\"},\"renderers\":[{\"id\":\"1976\"}]},\"id\":\"1982\",\"type\":\"LegendItem\"},{\"attributes\":{\"axis_label\":\"impact force (mN)\",\"coordinates\":null,\"formatter\":{\"id\":\"2061\"},\"group\":null,\"major_label_policy\":{\"id\":\"2062\"},\"ticker\":{\"id\":\"1927\"}},\"id\":\"1926\",\"type\":\"LinearAxis\"},{\"attributes\":{},\"id\":\"1924\",\"type\":\"LinearScale\"},{\"attributes\":{\"source\":{\"id\":\"1957\"}},\"id\":\"1963\",\"type\":\"CDSView\"},{\"attributes\":{\"source\":{\"id\":\"1950\"}},\"id\":\"1956\",\"type\":\"CDSView\"},{\"attributes\":{},\"id\":\"2062\",\"type\":\"AllLabels\"},{\"attributes\":{\"coordinates\":null,\"data_source\":{\"id\":\"1950\"},\"glyph\":{\"id\":\"1952\"},\"group\":null,\"hover_glyph\":null,\"muted_glyph\":{\"id\":\"1954\"},\"nonselection_glyph\":{\"id\":\"1953\"},\"view\":{\"id\":\"1956\"}},\"id\":\"1955\",\"type\":\"GlyphRenderer\"},{\"attributes\":{},\"id\":\"1922\",\"type\":\"LinearScale\"},{\"attributes\":{\"callback\":null,\"tooltips\":[[\"trial\",\"@{trial number}\"],[\"adh force\",\"@{adhesive force (mN)}\"]]},\"id\":\"1948\",\"type\":\"HoverTool\"},{\"attributes\":{\"axis_label\":\"ECDF\",\"coordinates\":null,\"formatter\":{\"id\":\"2058\"},\"group\":null,\"major_label_policy\":{\"id\":\"2059\"},\"ticker\":{\"id\":\"1931\"}},\"id\":\"1930\",\"type\":\"LinearAxis\"},{\"attributes\":{\"fill_alpha\":{\"value\":0.1},\"fill_color\":{\"value\":\"#ff7e0e\"},\"hatch_alpha\":{\"value\":0.1},\"hatch_color\":{\"value\":\"#ff7e0e\"},\"line_alpha\":{\"value\":0.1},\"line_color\":{\"value\":\"#ff7e0e\"},\"x\":{\"field\":\"impact force (mN)\"},\"y\":{\"field\":\"__ECDF\"}},\"id\":\"1960\",\"type\":\"Circle\"},{\"attributes\":{\"data\":{\"ID\":[\"III\",\"III\",\"III\",\"III\",\"III\",\"III\",\"III\",\"III\",\"III\",\"III\",\"III\",\"III\",\"III\",\"III\",\"III\",\"III\",\"III\",\"III\",\"III\",\"III\"],\"__ECDF\":{\"__ndarray__\":\"mpmZmZmZ4T/NzMzMzMzMP5qZmZmZmcE/zczMzMzM5j8zMzMzMzPhPwAAAAAAANw/ZmZmZmZm2j9mZmZmZmbePzMzMzMzM+c/ZmZmZmZm0j+amZmZmZnRPzMzMzMzM+M/zczMzMzM4j/NzMzMzMzcP5qZmZmZmdk/AAAAAAAAyD+amZmZmZnJPwAAAAAAAOI/AAAAAAAA5D/NzMzMzMzUPw==\",\"dtype\":\"float64\",\"order\":\"little\",\"shape\":[20]},\"__label\":[\"III\",\"III\",\"III\",\"III\",\"III\",\"III\",\"III\",\"III\",\"III\",\"III\",\"III\",\"III\",\"III\",\"III\",\"III\",\"III\",\"III\",\"III\",\"III\",\"III\"],\"adhesive force (mN)\":[-94,-163,-172,-225,-301,-93,-131,-289,-104,-229,-259,-231,-267,-178,-123,-151,-127,-372,-236,-390],\"impact force (mN)\":[614,414,324,776,611,544,538,579,806,459,458,626,621,544,535,385,401,614,665,488],\"index\":[40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59],\"trial number\":[1,2,3,1,2,3,1,2,1,2,3,4,1,2,3,4,1,2,3,4]},\"selected\":{\"id\":\"2068\"},\"selection_policy\":{\"id\":\"2067\"}},\"id\":\"1964\",\"type\":\"ColumnDataSource\"},{\"attributes\":{\"axis\":{\"id\":\"1930\"},\"coordinates\":null,\"dimension\":1,\"group\":null,\"ticker\":null},\"id\":\"1933\",\"type\":\"Grid\"},{\"attributes\":{\"coordinates\":null,\"data_source\":{\"id\":\"1964\"},\"glyph\":{\"id\":\"1966\"},\"group\":null,\"hover_glyph\":null,\"muted_glyph\":{\"id\":\"1968\"},\"nonselection_glyph\":{\"id\":\"1967\"},\"view\":{\"id\":\"1970\"}},\"id\":\"1969\",\"type\":\"GlyphRenderer\"},{\"attributes\":{},\"id\":\"1931\",\"type\":\"BasicTicker\"},{\"attributes\":{},\"id\":\"1918\",\"type\":\"DataRange1d\"},{\"attributes\":{},\"id\":\"2061\",\"type\":\"BasicTickFormatter\"},{\"attributes\":{\"fill_alpha\":{\"value\":0.2},\"fill_color\":{\"value\":\"#2ba02b\"},\"hatch_alpha\":{\"value\":0.2},\"hatch_color\":{\"value\":\"#2ba02b\"},\"line_alpha\":{\"value\":0.2},\"line_color\":{\"value\":\"#2ba02b\"},\"x\":{\"field\":\"impact force (mN)\"},\"y\":{\"field\":\"__ECDF\"}},\"id\":\"1968\",\"type\":\"Circle\"},{\"attributes\":{},\"id\":\"1935\",\"type\":\"WheelZoomTool\"}],\"root_ids\":[\"1917\"]},\"title\":\"Bokeh Application\",\"version\":\"2.4.2\"}};\n", " const render_items = [{\"docid\":\"42ecfbfe-b3e0-48da-989e-0baaa21dfec2\",\"root_ids\":[\"1917\"],\"roots\":{\"1917\":\"5e75ca81-a2b7-4df8-8ec0-e5f2fa5b0608\"}}];\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", " let attempts = 0;\n", " const timer = setInterval(function(root) {\n", " if (root.Bokeh !== undefined) {\n", " clearInterval(timer);\n", " embed_document(root);\n", " } else {\n", " attempts++;\n", " if (attempts > 100) {\n", " clearInterval(timer);\n", " console.log(\"Bokeh: ERROR: Unable to run BokehJS code because BokehJS library is missing\");\n", " }\n", " }\n", " }, 10, root)\n", " }\n", "})(window);" ], "application/vnd.bokehjs_exec.v0+json": "" }, "metadata": { "application/vnd.bokehjs_exec.v0+json": { "id": "1917" } }, "output_type": "display_data" } ], "source": [ "p = iqplot.ecdf(\n", " data=df,\n", " q=\"impact force (mN)\",\n", " cats=\"ID\",\n", " kind='colored',\n", " tooltips=[\n", " ('trial', '@{trial number}'),\n", " ('adh force', '@{adhesive force (mN)}')\n", " ], \n", ")\n", "\n", "bokeh.io.show(p)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Styling Bokeh plots as they are built\n", "\n", "We now move into lower-level styling of Bokeh plots in general. Bokeh figures and renderers (which are essentially the glyphs) have a plethora of attributes pertaining to visual appearance that may be adjusted at instantiation and after making a plot. As an example, let us again make a plot from the face-matching data set. We'll naturally start by loading the data set." ] }, { "cell_type": "code", "execution_count": 10, "metadata": {}, "outputs": [], "source": [ "df = pd.read_csv(\"data/gfmt_sleep.csv\", na_values=\"*\")\n", "df[\"insomnia\"] = df[\"sci\"] <= 16" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "A **color palette** an ordering of colors that are used for glyphs, usually corresponding to categorical data. [Colorcet's Glasbey Category 10](https://colorcet.holoviz.org/user_guide/Categorical.html#starting-colors) provides a good palette for categorical data, and we store this as our categorical colors for plotting." ] }, { "cell_type": "code", "execution_count": 11, "metadata": {}, "outputs": [], "source": [ "cat_colors = colorcet.b_glasbey_category10" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Now we can build the plot. Since the data are percentages, we will set the axes to go from zero to 100 and enforce that the figure is square. We will also include a title as well so we can style that." ] }, { "cell_type": "code", "execution_count": 12, "metadata": {}, "outputs": [], "source": [ "p = bokeh.plotting.figure(\n", " frame_width=300,\n", " frame_height=300,\n", " x_axis_label=\"confidence when correct\",\n", " y_axis_label=\"condifence when incorrect\",\n", " title=\"GMFT with sleep conditions\",\n", " x_range=[0, 100],\n", " y_range=[0, 100],\n", ")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "In styling this plot, we will also put the legend outside of the plot area. This is a bit trickier than what we have been doing using the `legend_label` kwarg in `p.circle()`. To get a legend outside of the plot area, we need to:\n", "\n", "1. Assign each glyph to a variable.\n", "2. Instantiate a `bokeh.models.Legend` object using the stored variables containing the glyphs. This is instantiated as `bokeh.models.Legend(items=legend_items)`, where `legend_items` is a list of 2-tuples. In each 2-tuple, the first entry is a string with the text used to label the glyph. The second entry is a list of glyphs that have the label.\n", "3. Add the legend to the figure using the `add_layout()` method.\n", "\n", "Now, we add the glyphs, storing them as variables `normal_glyph` and `insom_glyph`." ] }, { "cell_type": "code", "execution_count": 13, "metadata": {}, "outputs": [], "source": [ "# Set up sources\n", "source_insomnia = bokeh.models.ColumnDataSource(df.loc[df['insomnia'], :])\n", "source_normal = bokeh.models.ColumnDataSource(df.loc[~df['insomnia'], :])\n", "\n", "normal_glyph = p.circle(\n", " source=source_normal,\n", " x=\"confidence when correct\",\n", " y=\"confidence when incorrect\",\n", " color=cat_colors[0],\n", ")\n", "\n", "insom_glyph = p.circle(\n", " source=source_insomnia,\n", " x=\"confidence when correct\",\n", " y=\"confidence when incorrect\",\n", " color=cat_colors[1],\n", ")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Now we can construct and add the legend." ] }, { "cell_type": "code", "execution_count": 14, "metadata": {}, "outputs": [], "source": [ "# Construct legend items\n", "legend_items = [('normal', [normal_glyph]), ('insomnia', [insom_glyph])]\n", "\n", "# Instantiate legend\n", "legend = bokeh.models.Legend(items=legend_items, click_policy='hide')\n", "\n", "# Add the legend to the right of the plot\n", "p.add_layout(legend, 'right')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Now, let's take a look at this beauty!" ] }, { "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", " const docs_json = {\"c4955bd0-2f63-46af-bfc8-2bf7f1652b90\":{\"defs\":[],\"roots\":{\"references\":[{\"attributes\":{\"below\":[{\"id\":\"2168\"}],\"center\":[{\"id\":\"2171\"},{\"id\":\"2175\"}],\"frame_height\":300,\"frame_width\":300,\"left\":[{\"id\":\"2172\"}],\"renderers\":[{\"id\":\"2196\"},{\"id\":\"2202\"}],\"right\":[{\"id\":\"2204\"}],\"title\":{\"id\":\"2158\"},\"toolbar\":{\"id\":\"2183\"},\"x_range\":{\"id\":\"2160\"},\"x_scale\":{\"id\":\"2164\"},\"y_range\":{\"id\":\"2162\"},\"y_scale\":{\"id\":\"2166\"}},\"id\":\"2157\",\"subtype\":\"Figure\",\"type\":\"Plot\"},{\"attributes\":{\"fill_alpha\":{\"value\":0.2},\"fill_color\":{\"value\":\"#ff7e0e\"},\"hatch_alpha\":{\"value\":0.2},\"hatch_color\":{\"value\":\"#ff7e0e\"},\"line_alpha\":{\"value\":0.2},\"line_color\":{\"value\":\"#ff7e0e\"},\"x\":{\"field\":\"confidence when correct\"},\"y\":{\"field\":\"confidence when incorrect\"}},\"id\":\"2201\",\"type\":\"Circle\"},{\"attributes\":{\"data\":{\"age\":[39,42,31,35,74,61,32,62,33,53,41,36,40,24,32,40,61,42,31,28,26,45,28,44,28],\"confidence when correct\":{\"__ndarray__\":\"AAAAAABAV0AAAAAAAMBSQAAAAAAAQFZAAAAAAAAAVkAAAAAAAEBQQAAAAAAAIFBAAAAAAACAUEAAAAAAAABPQAAAAAAAAFFAAAAAAADAUUAAAAAAAIBUQAAAAAAAAFNAAAAAAADgU0AAAAAAAIBLQAAAAAAAQFVAAAAAAACAUUAAAAAAAEBLQAAAAAAAIFZAAAAAAADgVUAAAAAAAABZQAAAAAAAQFNAAAAAAAAAWUAAAAAAAABUQAAAAAAAYFFAAAAAAABAVEA=\",\"dtype\":\"float64\",\"order\":\"little\",\"shape\":[25]},\"confidence when correct hit\":{\"__ndarray__\":\"AAAAAADAVkAAAAAAAOBSQAAAAAAAYFZAAAAAAABgVkAAAAAAACBRQAAAAAAAwFFAAAAAAADAUEAAAAAAAABLQAAAAAAAoFFAAAAAAACgUkAAAAAAAIBUQAAAAAAAIFNAAAAAAAAAVEAAAAAAAABNQAAAAAAAQFVAAAAAAABAUUAAAAAAAGBRQAAAAAAAwFVAAAAAAAAAV0AAAAAAAABZQAAAAAAAgFFAAAAAAAAAWUAAAAAAAGBWQAAAAAAAAE9AAAAAAADAVUA=\",\"dtype\":\"float64\",\"order\":\"little\",\"shape\":[25]},\"confidence when correct reject\":{\"__ndarray__\":\"AAAAAABAV0AAAAAAAKBRQAAAAAAAgFVAAAAAAADAUUAAAAAAAIBOQAAAAAAAAD9AAAAAAACAUEAAAAAAAEBQQAAAAAAAIFBAAAAAAABATkAAAAAAAEBSQAAAAAAAwFJAAAAAAADAU0AAAAAAAIBIQAAAAAAAQFVAAAAAAACAUUAAAAAAAEBGQAAAAAAAoFZAAAAAAABAVEAAAAAAAABZQAAAAAAAgFRAAAAAAAAAWUAAAAAAAMBQQAAAAAAAwFVAAAAAAAAAUUA=\",\"dtype\":\"float64\",\"order\":\"little\",\"shape\":[25]},\"confidence when incorrect\":{\"__ndarray__\":\"AAAAAACAVkAAAAAAAABJQAAAAAAAAFZAAAAAAAAAVEAAAAAAAIBIQAAAAAAAoFFAAAAAAAAAUEAAAAAAAIBOQAAAAAAAIFNAAAAAAABAUEAAAAAAAABQQAAAAAAA4FJAAAAAAACAT0AAAAAAAIBNQAAAAAAA4FRAAAAAAAAATEAAAAAAAEBSQAAAAAAAAFBAAAAAAAAATkAAAAAAAABZQAAAAAAAoFFAAAAAAAAAWUAAAAAAAABOQAAAAAAAYFJAAAAAAAAAS0A=\",\"dtype\":\"float64\",\"order\":\"little\",\"shape\":[25]},\"confidence when incorrect hit\":{\"__ndarray__\":\"AAAAAACAVkAAAAAAAMBLQAAAAAAAgFZAAAAAAAAA+H8AAAAAAIBIQAAAAAAAgE9AAAAAAABATEAAAAAAAIBCQAAAAAAAIFNAAAAAAAAA+H8AAAAAAMBOQAAAAAAA4FJAAAAAAABAVkAAAAAAAABJQAAAAAAAQFRAAAAAAAAATEAAAAAAAAD4fwAAAAAAAFJAAAAAAAAA+H8AAAAAAAD4fwAAAAAAQFNAAAAAAAAA+H8AAAAAAAD4fwAAAAAAAFJAAAAAAAAA+H8=\",\"dtype\":\"float64\",\"order\":\"little\",\"shape\":[25]},\"confidence when incorrect reject\":{\"__ndarray__\":\"AAAAAADgVEAAAAAAAABJQAAAAAAAQFRAAAAAAAAAVEAAAAAAAIBIQAAAAAAAIFJAAAAAAABAUEAAAAAAAGBUQAAAAAAAAPh/AAAAAABAUEAAAAAAAEBRQAAAAAAAAPh/AAAAAABATUAAAAAAAABRQAAAAAAAgFVAAAAAAAAA+H8AAAAAAEBSQAAAAAAAwEVAAAAAAAAATkAAAAAAAABZQAAAAAAA4FBAAAAAAAAAWUAAAAAAAABOQAAAAAAAQFNAAAAAAAAAS0A=\",\"dtype\":\"float64\",\"order\":\"little\",\"shape\":[25]},\"correct hit percentage\":[65,90,90,100,60,80,90,45,80,100,70,90,95,85,75,40,100,70,100,100,60,100,100,65,100],\"correct reject percentage\":[80,90,95,75,65,20,75,90,100,50,55,100,65,75,55,100,40,90,70,50,80,95,75,25,40],\"ess\":[2,7,3,20,12,2,3,9,10,7,19,0,8,4,7,14,12,10,11,12,1,6,4,6,2],\"gender\":[\"f\",\"m\",\"f\",\"f\",\"f\",\"f\",\"m\",\"m\",\"f\",\"f\",\"f\",\"f\",\"f\",\"f\",\"f\",\"f\",\"f\",\"f\",\"m\",\"m\",\"f\",\"m\",\"f\",\"f\",\"f\"],\"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],\"insomnia\":[true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true],\"participant number\":[8,16,18,22,27,28,30,33,34,35,38,41,46,49,55,71,76,77,78,80,89,90,93,100,101],\"percent correct\":{\"__ndarray__\":\"AAAAAAAgUkAAAAAAAIBWQAAAAAAAIFdAAAAAAADgVUAAAAAAAEBPQAAAAAAAAElAAAAAAACgVEAAAAAAAOBQQAAAAAAAgFZAAAAAAADAUkAAAAAAAEBPQAAAAAAAwFdAAAAAAAAAVEAAAAAAAABUQAAAAAAAQFBAAAAAAACAUUAAAAAAAIBRQAAAAAAAAFRAAAAAAABAVUAAAAAAAMBSQAAAAAAAgFFAAAAAAABgWEAAAAAAAOBVQAAAAAAAgEZAAAAAAACAUUA=\",\"dtype\":\"float64\",\"order\":\"little\",\"shape\":[25]},\"psqi\":[13,11,9,8,9,14,9,9,12,8,5,7,12,13,13,11,4,10,6,7,8,9,7,15,7],\"sci\":[9,4,10,13,13,15,16,14,14,14,14,15,10,14,5,0,16,11,14,12,14,14,16,1,14]},\"selected\":{\"id\":\"2306\"},\"selection_policy\":{\"id\":\"2305\"}},\"id\":\"2190\",\"type\":\"ColumnDataSource\"},{\"attributes\":{},\"id\":\"2176\",\"type\":\"PanTool\"},{\"attributes\":{\"axis_label\":\"condifence when incorrect\",\"coordinates\":null,\"formatter\":{\"id\":\"2298\"},\"group\":null,\"major_label_policy\":{\"id\":\"2299\"},\"ticker\":{\"id\":\"2173\"}},\"id\":\"2172\",\"type\":\"LinearAxis\"},{\"attributes\":{\"fill_color\":{\"value\":\"#1f77b3\"},\"hatch_color\":{\"value\":\"#1f77b3\"},\"line_color\":{\"value\":\"#1f77b3\"},\"x\":{\"field\":\"confidence when correct\"},\"y\":{\"field\":\"confidence when incorrect\"}},\"id\":\"2193\",\"type\":\"Circle\"},{\"attributes\":{\"end\":100},\"id\":\"2160\",\"type\":\"Range1d\"},{\"attributes\":{\"bottom_units\":\"screen\",\"coordinates\":null,\"fill_alpha\":0.5,\"fill_color\":\"lightgrey\",\"group\":null,\"left_units\":\"screen\",\"level\":\"overlay\",\"line_alpha\":1.0,\"line_color\":\"black\",\"line_dash\":[4,4],\"line_width\":2,\"right_units\":\"screen\",\"syncable\":false,\"top_units\":\"screen\"},\"id\":\"2182\",\"type\":\"BoxAnnotation\"},{\"attributes\":{\"fill_color\":{\"value\":\"#ff7e0e\"},\"hatch_color\":{\"value\":\"#ff7e0e\"},\"line_color\":{\"value\":\"#ff7e0e\"},\"x\":{\"field\":\"confidence when correct\"},\"y\":{\"field\":\"confidence when incorrect\"}},\"id\":\"2199\",\"type\":\"Circle\"},{\"attributes\":{\"tools\":[{\"id\":\"2176\"},{\"id\":\"2177\"},{\"id\":\"2178\"},{\"id\":\"2179\"},{\"id\":\"2180\"},{\"id\":\"2181\"}]},\"id\":\"2183\",\"type\":\"Toolbar\"},{\"attributes\":{},\"id\":\"2179\",\"type\":\"SaveTool\"},{\"attributes\":{},\"id\":\"2301\",\"type\":\"BasicTickFormatter\"},{\"attributes\":{},\"id\":\"2302\",\"type\":\"AllLabels\"},{\"attributes\":{},\"id\":\"2181\",\"type\":\"HelpTool\"},{\"attributes\":{\"end\":100},\"id\":\"2162\",\"type\":\"Range1d\"},{\"attributes\":{},\"id\":\"2306\",\"type\":\"Selection\"},{\"attributes\":{},\"id\":\"2305\",\"type\":\"UnionRenderers\"},{\"attributes\":{\"fill_alpha\":{\"value\":0.1},\"fill_color\":{\"value\":\"#1f77b3\"},\"hatch_alpha\":{\"value\":0.1},\"hatch_color\":{\"value\":\"#1f77b3\"},\"line_alpha\":{\"value\":0.1},\"line_color\":{\"value\":\"#1f77b3\"},\"x\":{\"field\":\"confidence when correct\"},\"y\":{\"field\":\"confidence when incorrect\"}},\"id\":\"2194\",\"type\":\"Circle\"},{\"attributes\":{\"overlay\":{\"id\":\"2182\"}},\"id\":\"2178\",\"type\":\"BoxZoomTool\"},{\"attributes\":{\"fill_alpha\":{\"value\":0.2},\"fill_color\":{\"value\":\"#1f77b3\"},\"hatch_alpha\":{\"value\":0.2},\"hatch_color\":{\"value\":\"#1f77b3\"},\"line_alpha\":{\"value\":0.2},\"line_color\":{\"value\":\"#1f77b3\"},\"x\":{\"field\":\"confidence when correct\"},\"y\":{\"field\":\"confidence when incorrect\"}},\"id\":\"2195\",\"type\":\"Circle\"},{\"attributes\":{},\"id\":\"2298\",\"type\":\"BasicTickFormatter\"},{\"attributes\":{\"axis\":{\"id\":\"2172\"},\"coordinates\":null,\"dimension\":1,\"group\":null,\"ticker\":null},\"id\":\"2175\",\"type\":\"Grid\"},{\"attributes\":{\"source\":{\"id\":\"2191\"}},\"id\":\"2197\",\"type\":\"CDSView\"},{\"attributes\":{\"data\":{\"age\":[42,45,16,21,18,28,38,17,25,22,41,53,43,23,19,45,43,35,24,64,36,35,43,44,29,22,46,35,53,29,31,21,42,23,54,24,21,21,43,50,53,16,67,36,34,42,46,69,31,44,25,45,47,33,18,74,21,45,37,41,41,34,39,18,31,26,66,62,22,41,46,56,23,70,24,40,33],\"confidence when correct\":{\"__ndarray__\":\"AAAAAACASUAAAAAAAKBTQAAAAAAAgExAAAAAAAAATkAAAAAAAABUQAAAAAAAwFhAAAAAAACAU0AAAAAAAKBTQAAAAAAAgFZAAAAAAACAUUAAAAAAAIBSQAAAAAAAgEdAAAAAAAAASkAAAAAAAABVQAAAAAAAgE9AAAAAAAAAT0AAAAAAAMBNQAAAAAAA4FJAAAAAAACAU0AAAAAAAIBPQAAAAAAAQFRAAAAAAAAAOEAAAAAAAABJQAAAAAAAQFRAAAAAAADAUEAAAAAAAEBTQAAAAAAAAFlAAAAAAAAAUUAAAAAAAABIQAAAAAAAgFJAAAAAAACAVEAAAAAAAMBQQAAAAAAAoFRAAAAAAADAUEAAAAAAAABWQAAAAAAAwFRAAAAAAADAT0AAAAAAACBUQAAAAAAAwFFAAAAAAADAV0AAAAAAAKBTQAAAAAAAQEpAAAAAAABAUUAAAAAAAIBOQAAAAAAAgFBAAAAAAACAUkAAAAAAAABXQAAAAAAAAFRAAAAAAAAAV0AAAAAAAMBUQAAAAAAAQE5AAAAAAAAgUkAAAAAAAGBYQAAAAAAAAFFAAAAAAADAUEAAAAAAAEBQQAAAAAAAgFRAAAAAAADAUkAAAAAAAIBXQAAAAAAAQFNAAAAAAAAAV0AAAAAAAEBUQAAAAAAAAE1AAAAAAADgVkAAAAAAAABZQAAAAAAAQFVAAAAAAACAUkAAAAAAAOBTQAAAAAAAoFFAAAAAAAAAUkAAAAAAAEBVQAAAAAAAAFBAAAAAAABAU0AAAAAAAIBSQAAAAAAAQFBAAAAAAABAVEAAAAAAAEBUQA==\",\"dtype\":\"float64\",\"order\":\"little\",\"shape\":[77]},\"confidence when correct hit\":{\"__ndarray__\":\"AAAAAADASUAAAAAAAMBSQAAAAAAAgFFAAAAAAADAT0AAAAAAACBTQAAAAAAAAFlAAAAAAABAU0AAAAAAACBUQAAAAAAAgFZAAAAAAACAUUAAAAAAACBTQAAAAAAAAERAAAAAAAAASkAAAAAAAABWQAAAAAAAAE9AAAAAAAAAUUAAAAAAAIBNQAAAAAAA4FJAAAAAAAAAUUAAAAAAAABJQAAAAAAAAFZAAAAAAACAPUAAAAAAAGBQQAAAAAAAwFRAAAAAAADAUEAAAAAAAIBTQAAAAAAAIFJAAAAAAABAT0AAAAAAAABLQAAAAAAAwFJAAAAAAACAVEAAAAAAAIBQQAAAAAAAwFRAAAAAAADAUEAAAAAAAIBWQAAAAAAAQFhAAAAAAABAUEAAAAAAAABVQAAAAAAAgFJAAAAAAAAgV0AAAAAAAABVQAAAAAAAgEtAAAAAAACAUUAAAAAAAOBQQAAAAAAAQE1AAAAAAACgUkAAAAAAAABXQAAAAAAAAFRAAAAAAACAWEAAAAAAAMBVQAAAAAAAwE5AAAAAAAAgVEAAAAAAAABZQAAAAAAAgFFAAAAAAADgUEAAAAAAAIBQQAAAAAAAoFZAAAAAAACAUkAAAAAAAOBXQAAAAAAAAFRAAAAAAACgV0AAAAAAAEBUQAAAAAAAgExAAAAAAABAV0AAAAAAAABZQAAAAAAAQFVAAAAAAADgUEAAAAAAAEBUQAAAAAAAgFBAAAAAAACAS0AAAAAAAIBWQAAAAAAAgE9AAAAAAABAU0AAAAAAAGBQQAAAAAAAwE5AAAAAAACASkAAAAAAAABUQA==\",\"dtype\":\"float64\",\"order\":\"little\",\"shape\":[77]},\"confidence when correct reject\":{\"__ndarray__\":\"AAAAAACARUAAAAAAAABUQAAAAAAAAEtAAAAAAAAASUAAAAAAAABUQAAAAAAAgFdAAAAAAADAU0AAAAAAACBTQAAAAAAAQFVAAAAAAACAUUAAAAAAAOBQQAAAAAAAAExAAAAAAACASEAAAAAAAKBRQAAAAAAAgFBAAAAAAACATkAAAAAAAABQQAAAAAAAoFJAAAAAAAAAVEAAAAAAAIBQQAAAAAAAgFBAAAAAAAAAM0AAAAAAAIBEQAAAAAAAwFNAAAAAAABAUEAAAAAAAEBTQAAAAAAAAFlAAAAAAABAU0AAAAAAAMBHQAAAAAAAIFBAAAAAAABAVEAAAAAAAIBRQAAAAAAAIFRAAAAAAABAUUAAAAAAAGBTQAAAAAAAgFJAAAAAAAAATEAAAAAAAGBSQAAAAAAAAFFAAAAAAADAV0AAAAAAAABRQAAAAAAAAElAAAAAAABAUUAAAAAAAIBLQAAAAAAAYFJAAAAAAACAUkAAAAAAAABXQAAAAAAAoFNAAAAAAACAVkAAAAAAAEBRQAAAAAAAQE1AAAAAAACAT0AAAAAAAOBRQAAAAAAAQE1AAAAAAACAUEAAAAAAAIBPQAAAAAAAoFJAAAAAAAAAU0AAAAAAAOBUQAAAAAAAgFFAAAAAAACAVUAAAAAAAMBRQAAAAAAAwE1AAAAAAADAVkAAAAAAAABZQAAAAAAAgFRAAAAAAACAUkAAAAAAAKBSQAAAAAAAAFJAAAAAAAAAVEAAAAAAAABUQAAAAAAA4FBAAAAAAABAU0AAAAAAAMBVQAAAAAAAgFFAAAAAAAAAVUAAAAAAAAA/QA==\",\"dtype\":\"float64\",\"order\":\"little\",\"shape\":[77]},\"confidence when incorrect\":{\"__ndarray__\":\"AAAAAACASEAAAAAAAMBQQAAAAAAAQEtAAAAAAAAASUAAAAAAAMBUQAAAAAAAQFBAAAAAAAAAQkAAAAAAAOBQQAAAAAAAAPh/AAAAAACAUUAAAAAAAMBLQAAAAAAAAEZAAAAAAAAAPUAAAAAAAEBLQAAAAAAAAElAAAAAAAAAS0AAAAAAAIBMQAAAAAAAwEFAAAAAAADAUEAAAAAAAIA4QAAAAAAAwE9AAAAAAACAQUAAAAAAAIBGQAAAAAAAAEtAAAAAAACASkAAAAAAAABVQAAAAAAAwFZAAAAAAAAAP0AAAAAAAIBJQAAAAAAAgEVAAAAAAACASEAAAAAAAAA9QAAAAAAAAFNAAAAAAAAAREAAAAAAAMBTQAAAAAAAwEtAAAAAAAAAUUAAAAAAAEBQQAAAAAAAAFFAAAAAAABAUEAAAAAAAABNQAAAAAAAgEFAAAAAAADATUAAAAAAAABJQAAAAAAAwEdAAAAAAAAA+H8AAAAAAGBSQAAAAAAAgFFAAAAAAAAAREAAAAAAAMBQQAAAAAAAAPh/AAAAAADATkAAAAAAAMBUQAAAAAAAAERAAAAAAACASkAAAAAAAIBLQAAAAAAAQFRAAAAAAAAAUEAAAAAAAMBRQAAAAAAAgE1AAAAAAADAUEAAAAAAAABNQAAAAAAAAElAAAAAAADAVkAAAAAAAABJQAAAAAAAQFVAAAAAAAAAUEAAAAAAAIBUQAAAAAAAwE1AAAAAAAAATkAAAAAAAMBSQAAAAAAAwE1AAAAAAACAUkAAAAAAAABUQAAAAAAAQFRAAAAAAACASUAAAAAAAEBSQA==\",\"dtype\":\"float64\",\"order\":\"little\",\"shape\":[77]},\"confidence when incorrect hit\":{\"__ndarray__\":\"AAAAAABARkAAAAAAAMBLQAAAAAAAgExAAAAAAAAAUEAAAAAAAMBUQAAAAAAAQFVAAAAAAADARUAAAAAAAOBVQAAAAAAAAPh/AAAAAACAUUAAAAAAAMBLQAAAAAAAgEBAAAAAAAAAPUAAAAAAAABEQAAAAAAAAElAAAAAAAAA+H8AAAAAAIBLQAAAAAAAwEFAAAAAAADAUEAAAAAAAAA5QAAAAAAAAPh/AAAAAACAPEAAAAAAAAA7QAAAAAAAAExAAAAAAACASkAAAAAAAABWQAAAAAAAAFJAAAAAAAAAPUAAAAAAAABAQAAAAAAAAPh/AAAAAACASEAAAAAAAAA9QAAAAAAAwFRAAAAAAACAR0AAAAAAAOBUQAAAAAAAgERAAAAAAABAUkAAAAAAAMBLQAAAAAAAQFZAAAAAAAAgUkAAAAAAAIBLQAAAAAAAAD5AAAAAAAAAHEAAAAAAAIA8QAAAAAAAgEVAAAAAAAAA+H8AAAAAAOBSQAAAAAAAQFBAAAAAAAAA+H8AAAAAAMBHQAAAAAAAAPh/AAAAAADASUAAAAAAAAD4fwAAAAAAAENAAAAAAADASUAAAAAAAIBLQAAAAAAAAFRAAAAAAADAUEAAAAAAAABRQAAAAAAAwE1AAAAAAADATkAAAAAAAABKQAAAAAAAgExAAAAAAAAAV0AAAAAAAAD4fwAAAAAAAFZAAAAAAACAUEAAAAAAAAD4fwAAAAAAAExAAAAAAACATkAAAAAAAMBSQAAAAAAAQEpAAAAAAACgUEAAAAAAAGBVQAAAAAAAQFRAAAAAAACAQkAAAAAAAAA7QA==\",\"dtype\":\"float64\",\"order\":\"little\",\"shape\":[77]},\"confidence when incorrect reject\":{\"__ndarray__\":\"AAAAAACASEAAAAAAAMBSQAAAAAAAgEpAAAAAAAAASUAAAAAAAAD4fwAAAAAAgE5AAAAAAAAANUAAAAAAAAA7QAAAAAAAAPh/AAAAAABAUEAAAAAAAEBKQAAAAAAAgEhAAAAAAAAAQkAAAAAAAKBQQAAAAAAAQElAAAAAAAAAS0AAAAAAAIBNQAAAAAAAAPh/AAAAAAAA+H8AAAAAAAA4QAAAAAAAwE9AAAAAAADAREAAAAAAAIBGQAAAAAAAQEVAAAAAAACASkAAAAAAAABUQAAAAAAAwFZAAAAAAAAAQEAAAAAAAKBTQAAAAAAAgEVAAAAAAAAAQkAAAAAAAAA9QAAAAAAAAEJAAAAAAAAAREAAAAAAAEBRQAAAAAAAQFJAAAAAAAAAUUAAAAAAAIBRQAAAAAAAQFBAAAAAAABAUEAAAAAAAIBOQAAAAAAAAERAAAAAAAAATkAAAAAAAABKQAAAAAAAwEpAAAAAAAAA+H8AAAAAAIBPQAAAAAAAoFFAAAAAAAAAREAAAAAAAMBVQAAAAAAAAPh/AAAAAABAUUAAAAAAAMBUQAAAAAAAQFBAAAAAAACATEAAAAAAAEBJQAAAAAAAwFRAAAAAAAAAMUAAAAAAAMBUQAAAAAAAgERAAAAAAACAUkAAAAAAAABNQAAAAAAAAElAAAAAAABAVkAAAAAAAABJQAAAAAAAgFRAAAAAAACATEAAAAAAAIBUQAAAAAAAgE9AAAAAAACATEAAAAAAAABUQAAAAAAAYFBAAAAAAABgU0AAAAAAAABUQAAAAAAAgE5AAAAAAAAASkAAAAAAAKBUQA==\",\"dtype\":\"float64\",\"order\":\"little\",\"shape\":[77]},\"correct hit percentage\":[80,80,70,70,90,95,90,90,100,80,90,95,95,90,55,100,65,90,55,75,100,70,90,95,95,70,80,50,65,100,85,85,90,90,90,85,85,90,95,70,95,85,95,90,90,100,80,95,100,90,100,70,90,85,80,85,40,80,90,90,80,90,75,85,100,95,60,100,85,35,95,70,70,90,70,75,85],\"correct reject percentage\":[65,90,80,65,100,80,95,90,100,60,80,60,90,80,60,85,65,100,100,85,80,90,85,90,55,65,75,95,80,70,90,90,90,85,70,95,75,80,75,85,75,85,75,65,90,100,90,80,95,95,100,50,100,70,75,80,40,95,80,85,75,35,70,85,85,75,85,80,95,75,80,50,85,85,80,65,40],\"ess\":[5,1,3,4,5,12,4,4,11,6,3,11,10,12,6,13,12,5,10,4,4,6,3,0,12,6,5,9,7,6,10,18,11,8,16,7,9,11,4,7,4,11,12,3,3,4,11,1,4,2,9,1,2,12,6,5,5,4,9,3,8,6,10,21,5,5,9,1,8,11,5,7,10,7,15,7,7],\"gender\":[\"f\",\"f\",\"f\",\"f\",\"f\",\"f\",\"f\",\"m\",\"f\",\"f\",\"m\",\"m\",\"m\",\"f\",\"m\",\"f\",\"f\",\"m\",\"m\",\"f\",\"f\",\"m\",\"f\",\"m\",\"f\",\"m\",\"f\",\"f\",\"m\",\"m\",\"f\",\"f\",\"f\",\"f\",\"m\",\"f\",\"f\",\"f\",\"f\",\"m\",\"f\",\"f\",\"f\",\"m\",\"f\",\"f\",\"f\",\"f\",\"f\",\"f\",\"f\",\"f\",\"f\",\"f\",\"f\",\"f\",\"m\",\"f\",\"f\",\"m\",\"f\",\"f\",\"f\",\"f\",\"f\",\"m\",\"m\",\"m\",\"m\",\"f\",\"m\",\"f\",\"f\",\"f\",\"f\",\"f\",\"f\"],\"index\":[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],\"insomnia\":[false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false],\"participant number\":[1,2,3,4,5,6,7,9,10,11,12,13,14,15,17,19,20,21,23,24,25,26,29,31,32,36,37,39,40,42,43,44,45,48,50,51,52,53,54,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,72,73,74,75,79,81,82,83,84,85,86,87,88,91,92,94,95,96,97,98,99,102,103],\"percent correct\":{\"__ndarray__\":\"AAAAAAAgUkAAAAAAAEBVQAAAAAAAwFJAAAAAAADgUEAAAAAAAMBXQAAAAAAA4FVAAAAAAAAgV0AAAAAAAIBWQAAAAAAAAFlAAAAAAACAUUAAAAAAAEBVQAAAAAAAYFNAAAAAAAAgV0AAAAAAAEBVQAAAAAAAwExAAAAAAAAgV0AAAAAAAEBQQAAAAAAAwFdAAAAAAABgU0AAAAAAAABUQAAAAAAAgFZAAAAAAAAAVEAAAAAAAOBVQAAAAAAAIFdAAAAAAADAUkAAAAAAAOBQQAAAAAAAYFNAAAAAAAAgUkAAAAAAACBSQAAAAAAAQFVAAAAAAADgVUAAAAAAAOBVQAAAAAAAgFZAAAAAAADgVUAAAAAAAABUQAAAAAAAgFZAAAAAAAAAVEAAAAAAAEBVQAAAAAAAQFVAAAAAAABgU0AAAAAAAEBVQAAAAAAAQFVAAAAAAABAVUAAAAAAAGBTQAAAAAAAgFZAAAAAAAAAWUAAAAAAAEBVQAAAAAAA4FVAAAAAAABgWEAAAAAAACBXQAAAAAAAAFlAAAAAAAAATkAAAAAAAMBXQAAAAAAAYFNAAAAAAABgU0AAAAAAAKBUQAAAAAAAAERAAAAAAADgVUAAAAAAAEBVQAAAAAAA4FVAAAAAAABgU0AAAAAAAEBPQAAAAAAAIFJAAAAAAABAVUAAAAAAACBXQAAAAAAAQFVAAAAAAAAgUkAAAAAAAIBWQAAAAAAAgFZAAAAAAACAS0AAAAAAAOBVQAAAAAAAAE5AAAAAAABgU0AAAAAAAOBVQAAAAAAAwFJAAAAAAACAUUAAAAAAAEBPQA==\",\"dtype\":\"float64\",\"order\":\"little\",\"shape\":[77]},\"psqi\":[1,5,1,5,7,7,3,3,10,4,5,2,2,2,5,2,3,3,4,9,5,2,1,4,8,2,2,6,3,1,5,7,3,6,6,1,6,4,4,3,5,2,7,4,0,5,1,1,4,1,8,4,2,7,4,1,7,4,5,6,4,2,3,4,3,1,5,2,1,1,3,6,8,8,2,4,5],\"sci\":[29,19,23,26,21,19,28,29,17,22,28,31,31,32,25,30,28,30,22,20,26,32,32,24,26,30,28,21,29,32,26,26,23,18,22,29,20,27,19,29,24,29,17,26,30,17,25,31,27,32,28,25,30,21,29,20,22,23,20,17,27,27,22,25,30,32,30,32,28,31,29,26,20,19,31,22,24]},\"selected\":{\"id\":\"2304\"},\"selection_policy\":{\"id\":\"2303\"}},\"id\":\"2191\",\"type\":\"ColumnDataSource\"},{\"attributes\":{},\"id\":\"2304\",\"type\":\"Selection\"},{\"attributes\":{},\"id\":\"2299\",\"type\":\"AllLabels\"},{\"attributes\":{\"source\":{\"id\":\"2190\"}},\"id\":\"2203\",\"type\":\"CDSView\"},{\"attributes\":{},\"id\":\"2177\",\"type\":\"WheelZoomTool\"},{\"attributes\":{\"label\":{\"value\":\"normal\"},\"renderers\":[{\"id\":\"2196\"}]},\"id\":\"2205\",\"type\":\"LegendItem\"},{\"attributes\":{\"coordinates\":null,\"data_source\":{\"id\":\"2190\"},\"glyph\":{\"id\":\"2199\"},\"group\":null,\"hover_glyph\":null,\"muted_glyph\":{\"id\":\"2201\"},\"nonselection_glyph\":{\"id\":\"2200\"},\"view\":{\"id\":\"2203\"}},\"id\":\"2202\",\"type\":\"GlyphRenderer\"},{\"attributes\":{},\"id\":\"2173\",\"type\":\"BasicTicker\"},{\"attributes\":{},\"id\":\"2164\",\"type\":\"LinearScale\"},{\"attributes\":{},\"id\":\"2303\",\"type\":\"UnionRenderers\"},{\"attributes\":{\"click_policy\":\"hide\",\"coordinates\":null,\"group\":null,\"items\":[{\"id\":\"2205\"},{\"id\":\"2206\"}]},\"id\":\"2204\",\"type\":\"Legend\"},{\"attributes\":{},\"id\":\"2166\",\"type\":\"LinearScale\"},{\"attributes\":{\"coordinates\":null,\"data_source\":{\"id\":\"2191\"},\"glyph\":{\"id\":\"2193\"},\"group\":null,\"hover_glyph\":null,\"muted_glyph\":{\"id\":\"2195\"},\"nonselection_glyph\":{\"id\":\"2194\"},\"view\":{\"id\":\"2197\"}},\"id\":\"2196\",\"type\":\"GlyphRenderer\"},{\"attributes\":{\"fill_alpha\":{\"value\":0.1},\"fill_color\":{\"value\":\"#ff7e0e\"},\"hatch_alpha\":{\"value\":0.1},\"hatch_color\":{\"value\":\"#ff7e0e\"},\"line_alpha\":{\"value\":0.1},\"line_color\":{\"value\":\"#ff7e0e\"},\"x\":{\"field\":\"confidence when correct\"},\"y\":{\"field\":\"confidence when incorrect\"}},\"id\":\"2200\",\"type\":\"Circle\"},{\"attributes\":{\"axis\":{\"id\":\"2168\"},\"coordinates\":null,\"group\":null,\"ticker\":null},\"id\":\"2171\",\"type\":\"Grid\"},{\"attributes\":{},\"id\":\"2180\",\"type\":\"ResetTool\"},{\"attributes\":{\"coordinates\":null,\"group\":null,\"text\":\"GMFT with sleep conditions\"},\"id\":\"2158\",\"type\":\"Title\"},{\"attributes\":{\"axis_label\":\"confidence when correct\",\"coordinates\":null,\"formatter\":{\"id\":\"2301\"},\"group\":null,\"major_label_policy\":{\"id\":\"2302\"},\"ticker\":{\"id\":\"2169\"}},\"id\":\"2168\",\"type\":\"LinearAxis\"},{\"attributes\":{},\"id\":\"2169\",\"type\":\"BasicTicker\"},{\"attributes\":{\"label\":{\"value\":\"insomnia\"},\"renderers\":[{\"id\":\"2202\"}]},\"id\":\"2206\",\"type\":\"LegendItem\"}],\"root_ids\":[\"2157\"]},\"title\":\"Bokeh Application\",\"version\":\"2.4.2\"}};\n", " const render_items = [{\"docid\":\"c4955bd0-2f63-46af-bfc8-2bf7f1652b90\",\"root_ids\":[\"2157\"],\"roots\":{\"2157\":\"93f2839c-4bbb-4820-b813-3be192eee201\"}}];\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", " let attempts = 0;\n", " const timer = setInterval(function(root) {\n", " if (root.Bokeh !== undefined) {\n", " clearInterval(timer);\n", " embed_document(root);\n", " } else {\n", " attempts++;\n", " if (attempts > 100) {\n", " clearInterval(timer);\n", " console.log(\"Bokeh: ERROR: Unable to run BokehJS code because BokehJS library is missing\");\n", " }\n", " }\n", " }, 10, root)\n", " }\n", "})(window);" ], "application/vnd.bokehjs_exec.v0+json": "" }, "metadata": { "application/vnd.bokehjs_exec.v0+json": { "id": "2157" } }, "output_type": "display_data" } ], "source": [ "bokeh.io.show(p)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Styling Bokeh plots after they are built\n", "\n", "After building a plot, we sometimes want to adjust styling. To do so, we need to change attributes of the object `p`. For example, let's look at the font of the x-axis label." ] }, { "cell_type": "code", "execution_count": 16, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "'helvetica'" ] }, "execution_count": 16, "metadata": {}, "output_type": "execute_result" } ], "source": [ "p.xaxis.axis_label_text_font" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We can also look at the style and size of the font." ] }, { "cell_type": "code", "execution_count": 17, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "('italic', '13px')" ] }, "execution_count": 17, "metadata": {}, "output_type": "execute_result" } ], "source": [ "p.xaxis.axis_label_text_font_style, p.xaxis.axis_label_text_font_size" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "So, the default axis labels for Bokeh are italicized 13 pt Helvetica. I personally think this choice if fine, but we may have other preferences.\n", "\n", "To find out all of the available options to tweak, I usually type something like `p.` and hit tab to see what the options are. Finding `p.xaxis` is an option, then type `p.xaxis.` and hit tab again to see the styling option there.\n", "\n", "Using this technique, we can set some obnoxious styling for this plot. I will make all of the fonts non-italicized, large [papyrus](https://www.youtube.com/watch?v=jVhlJNJopOQ). I can also set the background and grid colors. Note that in Bokeh, any [named CSS color](https://css-tricks.com/snippets/css/named-colors-and-hex-equivalents/) or any valid [HEX code](https://en.wikipedia.org/wiki/Web_colors#Hex_triplet), entered as a string, is a valid color.\n", "\n", "Before we do the obnoxious styling, we will do one adjustment that is useful. Note in the above plot that the glyphs at the end of the plot are cropped. We would like the whole glyph to show. To do that, we set the **level** of the glyphs to be `'overlay'`. To do that, we extract the first element of the list of renderers, which contains the glyphs, and set the `level` attribute." ] }, { "cell_type": "code", "execution_count": 18, "metadata": {}, "outputs": [], "source": [ "p.renderers[0].level = 'overlay'" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Now we can proceed to make our obnoxious styling." ] }, { "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", " const docs_json = {\"16f9ec4a-b6d5-4b58-aa73-e1f84282ab17\":{\"defs\":[],\"roots\":{\"references\":[{\"attributes\":{\"background_fill_color\":\"blanchedalmond\",\"below\":[{\"id\":\"2168\"}],\"center\":[{\"id\":\"2171\"},{\"id\":\"2175\"}],\"frame_height\":300,\"frame_width\":300,\"left\":[{\"id\":\"2172\"}],\"renderers\":[{\"id\":\"2196\"},{\"id\":\"2202\"}],\"right\":[{\"id\":\"2204\"}],\"title\":{\"id\":\"2158\"},\"toolbar\":{\"id\":\"2183\"},\"x_range\":{\"id\":\"2160\"},\"x_scale\":{\"id\":\"2164\"},\"y_range\":{\"id\":\"2162\"},\"y_scale\":{\"id\":\"2166\"}},\"id\":\"2157\",\"subtype\":\"Figure\",\"type\":\"Plot\"},{\"attributes\":{\"fill_alpha\":{\"value\":0.2},\"fill_color\":{\"value\":\"#ff7e0e\"},\"hatch_alpha\":{\"value\":0.2},\"hatch_color\":{\"value\":\"#ff7e0e\"},\"line_alpha\":{\"value\":0.2},\"line_color\":{\"value\":\"#ff7e0e\"},\"x\":{\"field\":\"confidence when correct\"},\"y\":{\"field\":\"confidence when incorrect\"}},\"id\":\"2201\",\"type\":\"Circle\"},{\"attributes\":{\"data\":{\"age\":[39,42,31,35,74,61,32,62,33,53,41,36,40,24,32,40,61,42,31,28,26,45,28,44,28],\"confidence when correct\":{\"__ndarray__\":\"AAAAAABAV0AAAAAAAMBSQAAAAAAAQFZAAAAAAAAAVkAAAAAAAEBQQAAAAAAAIFBAAAAAAACAUEAAAAAAAABPQAAAAAAAAFFAAAAAAADAUUAAAAAAAIBUQAAAAAAAAFNAAAAAAADgU0AAAAAAAIBLQAAAAAAAQFVAAAAAAACAUUAAAAAAAEBLQAAAAAAAIFZAAAAAAADgVUAAAAAAAABZQAAAAAAAQFNAAAAAAAAAWUAAAAAAAABUQAAAAAAAYFFAAAAAAABAVEA=\",\"dtype\":\"float64\",\"order\":\"little\",\"shape\":[25]},\"confidence when correct hit\":{\"__ndarray__\":\"AAAAAADAVkAAAAAAAOBSQAAAAAAAYFZAAAAAAABgVkAAAAAAACBRQAAAAAAAwFFAAAAAAADAUEAAAAAAAABLQAAAAAAAoFFAAAAAAACgUkAAAAAAAIBUQAAAAAAAIFNAAAAAAAAAVEAAAAAAAABNQAAAAAAAQFVAAAAAAABAUUAAAAAAAGBRQAAAAAAAwFVAAAAAAAAAV0AAAAAAAABZQAAAAAAAgFFAAAAAAAAAWUAAAAAAAGBWQAAAAAAAAE9AAAAAAADAVUA=\",\"dtype\":\"float64\",\"order\":\"little\",\"shape\":[25]},\"confidence when correct reject\":{\"__ndarray__\":\"AAAAAABAV0AAAAAAAKBRQAAAAAAAgFVAAAAAAADAUUAAAAAAAIBOQAAAAAAAAD9AAAAAAACAUEAAAAAAAEBQQAAAAAAAIFBAAAAAAABATkAAAAAAAEBSQAAAAAAAwFJAAAAAAADAU0AAAAAAAIBIQAAAAAAAQFVAAAAAAACAUUAAAAAAAEBGQAAAAAAAoFZAAAAAAABAVEAAAAAAAABZQAAAAAAAgFRAAAAAAAAAWUAAAAAAAMBQQAAAAAAAwFVAAAAAAAAAUUA=\",\"dtype\":\"float64\",\"order\":\"little\",\"shape\":[25]},\"confidence when incorrect\":{\"__ndarray__\":\"AAAAAACAVkAAAAAAAABJQAAAAAAAAFZAAAAAAAAAVEAAAAAAAIBIQAAAAAAAoFFAAAAAAAAAUEAAAAAAAIBOQAAAAAAAIFNAAAAAAABAUEAAAAAAAABQQAAAAAAA4FJAAAAAAACAT0AAAAAAAIBNQAAAAAAA4FRAAAAAAAAATEAAAAAAAEBSQAAAAAAAAFBAAAAAAAAATkAAAAAAAABZQAAAAAAAoFFAAAAAAAAAWUAAAAAAAABOQAAAAAAAYFJAAAAAAAAAS0A=\",\"dtype\":\"float64\",\"order\":\"little\",\"shape\":[25]},\"confidence when incorrect hit\":{\"__ndarray__\":\"AAAAAACAVkAAAAAAAMBLQAAAAAAAgFZAAAAAAAAA+H8AAAAAAIBIQAAAAAAAgE9AAAAAAABATEAAAAAAAIBCQAAAAAAAIFNAAAAAAAAA+H8AAAAAAMBOQAAAAAAA4FJAAAAAAABAVkAAAAAAAABJQAAAAAAAQFRAAAAAAAAATEAAAAAAAAD4fwAAAAAAAFJAAAAAAAAA+H8AAAAAAAD4fwAAAAAAQFNAAAAAAAAA+H8AAAAAAAD4fwAAAAAAAFJAAAAAAAAA+H8=\",\"dtype\":\"float64\",\"order\":\"little\",\"shape\":[25]},\"confidence when incorrect reject\":{\"__ndarray__\":\"AAAAAADgVEAAAAAAAABJQAAAAAAAQFRAAAAAAAAAVEAAAAAAAIBIQAAAAAAAIFJAAAAAAABAUEAAAAAAAGBUQAAAAAAAAPh/AAAAAABAUEAAAAAAAEBRQAAAAAAAAPh/AAAAAABATUAAAAAAAABRQAAAAAAAgFVAAAAAAAAA+H8AAAAAAEBSQAAAAAAAwEVAAAAAAAAATkAAAAAAAABZQAAAAAAA4FBAAAAAAAAAWUAAAAAAAABOQAAAAAAAQFNAAAAAAAAAS0A=\",\"dtype\":\"float64\",\"order\":\"little\",\"shape\":[25]},\"correct hit percentage\":[65,90,90,100,60,80,90,45,80,100,70,90,95,85,75,40,100,70,100,100,60,100,100,65,100],\"correct reject percentage\":[80,90,95,75,65,20,75,90,100,50,55,100,65,75,55,100,40,90,70,50,80,95,75,25,40],\"ess\":[2,7,3,20,12,2,3,9,10,7,19,0,8,4,7,14,12,10,11,12,1,6,4,6,2],\"gender\":[\"f\",\"m\",\"f\",\"f\",\"f\",\"f\",\"m\",\"m\",\"f\",\"f\",\"f\",\"f\",\"f\",\"f\",\"f\",\"f\",\"f\",\"f\",\"m\",\"m\",\"f\",\"m\",\"f\",\"f\",\"f\"],\"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],\"insomnia\":[true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true],\"participant number\":[8,16,18,22,27,28,30,33,34,35,38,41,46,49,55,71,76,77,78,80,89,90,93,100,101],\"percent correct\":{\"__ndarray__\":\"AAAAAAAgUkAAAAAAAIBWQAAAAAAAIFdAAAAAAADgVUAAAAAAAEBPQAAAAAAAAElAAAAAAACgVEAAAAAAAOBQQAAAAAAAgFZAAAAAAADAUkAAAAAAAEBPQAAAAAAAwFdAAAAAAAAAVEAAAAAAAABUQAAAAAAAQFBAAAAAAACAUUAAAAAAAIBRQAAAAAAAAFRAAAAAAABAVUAAAAAAAMBSQAAAAAAAgFFAAAAAAABgWEAAAAAAAOBVQAAAAAAAgEZAAAAAAACAUUA=\",\"dtype\":\"float64\",\"order\":\"little\",\"shape\":[25]},\"psqi\":[13,11,9,8,9,14,9,9,12,8,5,7,12,13,13,11,4,10,6,7,8,9,7,15,7],\"sci\":[9,4,10,13,13,15,16,14,14,14,14,15,10,14,5,0,16,11,14,12,14,14,16,1,14]},\"selected\":{\"id\":\"2306\"},\"selection_policy\":{\"id\":\"2305\"}},\"id\":\"2190\",\"type\":\"ColumnDataSource\"},{\"attributes\":{},\"id\":\"2176\",\"type\":\"PanTool\"},{\"attributes\":{\"axis_label\":\"condifence when incorrect\",\"axis_label_text_font\":\"papyrus\",\"axis_label_text_font_size\":\"20pt\",\"axis_label_text_font_style\":\"normal\",\"coordinates\":null,\"formatter\":{\"id\":\"2298\"},\"group\":null,\"major_label_policy\":{\"id\":\"2299\"},\"major_label_text_font\":\"papyrus\",\"major_label_text_font_size\":\"14pt\",\"major_tick_in\":10,\"major_tick_out\":0,\"minor_tick_in\":5,\"minor_tick_out\":0,\"ticker\":{\"id\":\"2173\"}},\"id\":\"2172\",\"type\":\"LinearAxis\"},{\"attributes\":{\"fill_color\":{\"value\":\"#1f77b3\"},\"hatch_color\":{\"value\":\"#1f77b3\"},\"line_color\":{\"value\":\"#1f77b3\"},\"x\":{\"field\":\"confidence when correct\"},\"y\":{\"field\":\"confidence when incorrect\"}},\"id\":\"2193\",\"type\":\"Circle\"},{\"attributes\":{\"end\":100},\"id\":\"2160\",\"type\":\"Range1d\"},{\"attributes\":{\"bottom_units\":\"screen\",\"coordinates\":null,\"fill_alpha\":0.5,\"fill_color\":\"lightgrey\",\"group\":null,\"left_units\":\"screen\",\"level\":\"overlay\",\"line_alpha\":1.0,\"line_color\":\"black\",\"line_dash\":[4,4],\"line_width\":2,\"right_units\":\"screen\",\"syncable\":false,\"top_units\":\"screen\"},\"id\":\"2182\",\"type\":\"BoxAnnotation\"},{\"attributes\":{\"fill_color\":{\"value\":\"#ff7e0e\"},\"hatch_color\":{\"value\":\"#ff7e0e\"},\"line_color\":{\"value\":\"#ff7e0e\"},\"x\":{\"field\":\"confidence when correct\"},\"y\":{\"field\":\"confidence when incorrect\"}},\"id\":\"2199\",\"type\":\"Circle\"},{\"attributes\":{\"tools\":[{\"id\":\"2176\"},{\"id\":\"2177\"},{\"id\":\"2178\"},{\"id\":\"2179\"},{\"id\":\"2180\"},{\"id\":\"2181\"}]},\"id\":\"2183\",\"type\":\"Toolbar\"},{\"attributes\":{},\"id\":\"2179\",\"type\":\"SaveTool\"},{\"attributes\":{},\"id\":\"2301\",\"type\":\"BasicTickFormatter\"},{\"attributes\":{},\"id\":\"2302\",\"type\":\"AllLabels\"},{\"attributes\":{},\"id\":\"2181\",\"type\":\"HelpTool\"},{\"attributes\":{\"end\":100},\"id\":\"2162\",\"type\":\"Range1d\"},{\"attributes\":{},\"id\":\"2306\",\"type\":\"Selection\"},{\"attributes\":{},\"id\":\"2305\",\"type\":\"UnionRenderers\"},{\"attributes\":{\"fill_alpha\":{\"value\":0.1},\"fill_color\":{\"value\":\"#1f77b3\"},\"hatch_alpha\":{\"value\":0.1},\"hatch_color\":{\"value\":\"#1f77b3\"},\"line_alpha\":{\"value\":0.1},\"line_color\":{\"value\":\"#1f77b3\"},\"x\":{\"field\":\"confidence when correct\"},\"y\":{\"field\":\"confidence when incorrect\"}},\"id\":\"2194\",\"type\":\"Circle\"},{\"attributes\":{\"overlay\":{\"id\":\"2182\"}},\"id\":\"2178\",\"type\":\"BoxZoomTool\"},{\"attributes\":{\"fill_alpha\":{\"value\":0.2},\"fill_color\":{\"value\":\"#1f77b3\"},\"hatch_alpha\":{\"value\":0.2},\"hatch_color\":{\"value\":\"#1f77b3\"},\"line_alpha\":{\"value\":0.2},\"line_color\":{\"value\":\"#1f77b3\"},\"x\":{\"field\":\"confidence when correct\"},\"y\":{\"field\":\"confidence when incorrect\"}},\"id\":\"2195\",\"type\":\"Circle\"},{\"attributes\":{},\"id\":\"2298\",\"type\":\"BasicTickFormatter\"},{\"attributes\":{\"axis\":{\"id\":\"2172\"},\"coordinates\":null,\"dimension\":1,\"grid_line_color\":\"azure\",\"group\":null,\"ticker\":null},\"id\":\"2175\",\"type\":\"Grid\"},{\"attributes\":{\"source\":{\"id\":\"2191\"}},\"id\":\"2197\",\"type\":\"CDSView\"},{\"attributes\":{\"data\":{\"age\":[42,45,16,21,18,28,38,17,25,22,41,53,43,23,19,45,43,35,24,64,36,35,43,44,29,22,46,35,53,29,31,21,42,23,54,24,21,21,43,50,53,16,67,36,34,42,46,69,31,44,25,45,47,33,18,74,21,45,37,41,41,34,39,18,31,26,66,62,22,41,46,56,23,70,24,40,33],\"confidence when correct\":{\"__ndarray__\":\"AAAAAACASUAAAAAAAKBTQAAAAAAAgExAAAAAAAAATkAAAAAAAABUQAAAAAAAwFhAAAAAAACAU0AAAAAAAKBTQAAAAAAAgFZAAAAAAACAUUAAAAAAAIBSQAAAAAAAgEdAAAAAAAAASkAAAAAAAABVQAAAAAAAgE9AAAAAAAAAT0AAAAAAAMBNQAAAAAAA4FJAAAAAAACAU0AAAAAAAIBPQAAAAAAAQFRAAAAAAAAAOEAAAAAAAABJQAAAAAAAQFRAAAAAAADAUEAAAAAAAEBTQAAAAAAAAFlAAAAAAAAAUUAAAAAAAABIQAAAAAAAgFJAAAAAAACAVEAAAAAAAMBQQAAAAAAAoFRAAAAAAADAUEAAAAAAAABWQAAAAAAAwFRAAAAAAADAT0AAAAAAACBUQAAAAAAAwFFAAAAAAADAV0AAAAAAAKBTQAAAAAAAQEpAAAAAAABAUUAAAAAAAIBOQAAAAAAAgFBAAAAAAACAUkAAAAAAAABXQAAAAAAAAFRAAAAAAAAAV0AAAAAAAMBUQAAAAAAAQE5AAAAAAAAgUkAAAAAAAGBYQAAAAAAAAFFAAAAAAADAUEAAAAAAAEBQQAAAAAAAgFRAAAAAAADAUkAAAAAAAIBXQAAAAAAAQFNAAAAAAAAAV0AAAAAAAEBUQAAAAAAAAE1AAAAAAADgVkAAAAAAAABZQAAAAAAAQFVAAAAAAACAUkAAAAAAAOBTQAAAAAAAoFFAAAAAAAAAUkAAAAAAAEBVQAAAAAAAAFBAAAAAAABAU0AAAAAAAIBSQAAAAAAAQFBAAAAAAABAVEAAAAAAAEBUQA==\",\"dtype\":\"float64\",\"order\":\"little\",\"shape\":[77]},\"confidence when correct hit\":{\"__ndarray__\":\"AAAAAADASUAAAAAAAMBSQAAAAAAAgFFAAAAAAADAT0AAAAAAACBTQAAAAAAAAFlAAAAAAABAU0AAAAAAACBUQAAAAAAAgFZAAAAAAACAUUAAAAAAACBTQAAAAAAAAERAAAAAAAAASkAAAAAAAABWQAAAAAAAAE9AAAAAAAAAUUAAAAAAAIBNQAAAAAAA4FJAAAAAAAAAUUAAAAAAAABJQAAAAAAAAFZAAAAAAACAPUAAAAAAAGBQQAAAAAAAwFRAAAAAAADAUEAAAAAAAIBTQAAAAAAAIFJAAAAAAABAT0AAAAAAAABLQAAAAAAAwFJAAAAAAACAVEAAAAAAAIBQQAAAAAAAwFRAAAAAAADAUEAAAAAAAIBWQAAAAAAAQFhAAAAAAABAUEAAAAAAAABVQAAAAAAAgFJAAAAAAAAgV0AAAAAAAABVQAAAAAAAgEtAAAAAAACAUUAAAAAAAOBQQAAAAAAAQE1AAAAAAACgUkAAAAAAAABXQAAAAAAAAFRAAAAAAACAWEAAAAAAAMBVQAAAAAAAwE5AAAAAAAAgVEAAAAAAAABZQAAAAAAAgFFAAAAAAADgUEAAAAAAAIBQQAAAAAAAoFZAAAAAAACAUkAAAAAAAOBXQAAAAAAAAFRAAAAAAACgV0AAAAAAAEBUQAAAAAAAgExAAAAAAABAV0AAAAAAAABZQAAAAAAAQFVAAAAAAADgUEAAAAAAAEBUQAAAAAAAgFBAAAAAAACAS0AAAAAAAIBWQAAAAAAAgE9AAAAAAABAU0AAAAAAAGBQQAAAAAAAwE5AAAAAAACASkAAAAAAAABUQA==\",\"dtype\":\"float64\",\"order\":\"little\",\"shape\":[77]},\"confidence when correct reject\":{\"__ndarray__\":\"AAAAAACARUAAAAAAAABUQAAAAAAAAEtAAAAAAAAASUAAAAAAAABUQAAAAAAAgFdAAAAAAADAU0AAAAAAACBTQAAAAAAAQFVAAAAAAACAUUAAAAAAAOBQQAAAAAAAAExAAAAAAACASEAAAAAAAKBRQAAAAAAAgFBAAAAAAACATkAAAAAAAABQQAAAAAAAoFJAAAAAAAAAVEAAAAAAAIBQQAAAAAAAgFBAAAAAAAAAM0AAAAAAAIBEQAAAAAAAwFNAAAAAAABAUEAAAAAAAEBTQAAAAAAAAFlAAAAAAABAU0AAAAAAAMBHQAAAAAAAIFBAAAAAAABAVEAAAAAAAIBRQAAAAAAAIFRAAAAAAABAUUAAAAAAAGBTQAAAAAAAgFJAAAAAAAAATEAAAAAAAGBSQAAAAAAAAFFAAAAAAADAV0AAAAAAAABRQAAAAAAAAElAAAAAAABAUUAAAAAAAIBLQAAAAAAAYFJAAAAAAACAUkAAAAAAAABXQAAAAAAAoFNAAAAAAACAVkAAAAAAAEBRQAAAAAAAQE1AAAAAAACAT0AAAAAAAOBRQAAAAAAAQE1AAAAAAACAUEAAAAAAAIBPQAAAAAAAoFJAAAAAAAAAU0AAAAAAAOBUQAAAAAAAgFFAAAAAAACAVUAAAAAAAMBRQAAAAAAAwE1AAAAAAADAVkAAAAAAAABZQAAAAAAAgFRAAAAAAACAUkAAAAAAAKBSQAAAAAAAAFJAAAAAAAAAVEAAAAAAAABUQAAAAAAA4FBAAAAAAABAU0AAAAAAAMBVQAAAAAAAgFFAAAAAAAAAVUAAAAAAAAA/QA==\",\"dtype\":\"float64\",\"order\":\"little\",\"shape\":[77]},\"confidence when incorrect\":{\"__ndarray__\":\"AAAAAACASEAAAAAAAMBQQAAAAAAAQEtAAAAAAAAASUAAAAAAAMBUQAAAAAAAQFBAAAAAAAAAQkAAAAAAAOBQQAAAAAAAAPh/AAAAAACAUUAAAAAAAMBLQAAAAAAAAEZAAAAAAAAAPUAAAAAAAEBLQAAAAAAAAElAAAAAAAAAS0AAAAAAAIBMQAAAAAAAwEFAAAAAAADAUEAAAAAAAIA4QAAAAAAAwE9AAAAAAACAQUAAAAAAAIBGQAAAAAAAAEtAAAAAAACASkAAAAAAAABVQAAAAAAAwFZAAAAAAAAAP0AAAAAAAIBJQAAAAAAAgEVAAAAAAACASEAAAAAAAAA9QAAAAAAAAFNAAAAAAAAAREAAAAAAAMBTQAAAAAAAwEtAAAAAAAAAUUAAAAAAAEBQQAAAAAAAAFFAAAAAAABAUEAAAAAAAABNQAAAAAAAgEFAAAAAAADATUAAAAAAAABJQAAAAAAAwEdAAAAAAAAA+H8AAAAAAGBSQAAAAAAAgFFAAAAAAAAAREAAAAAAAMBQQAAAAAAAAPh/AAAAAADATkAAAAAAAMBUQAAAAAAAAERAAAAAAACASkAAAAAAAIBLQAAAAAAAQFRAAAAAAAAAUEAAAAAAAMBRQAAAAAAAgE1AAAAAAADAUEAAAAAAAABNQAAAAAAAAElAAAAAAADAVkAAAAAAAABJQAAAAAAAQFVAAAAAAAAAUEAAAAAAAIBUQAAAAAAAwE1AAAAAAAAATkAAAAAAAMBSQAAAAAAAwE1AAAAAAACAUkAAAAAAAABUQAAAAAAAQFRAAAAAAACASUAAAAAAAEBSQA==\",\"dtype\":\"float64\",\"order\":\"little\",\"shape\":[77]},\"confidence when incorrect hit\":{\"__ndarray__\":\"AAAAAABARkAAAAAAAMBLQAAAAAAAgExAAAAAAAAAUEAAAAAAAMBUQAAAAAAAQFVAAAAAAADARUAAAAAAAOBVQAAAAAAAAPh/AAAAAACAUUAAAAAAAMBLQAAAAAAAgEBAAAAAAAAAPUAAAAAAAABEQAAAAAAAAElAAAAAAAAA+H8AAAAAAIBLQAAAAAAAwEFAAAAAAADAUEAAAAAAAAA5QAAAAAAAAPh/AAAAAACAPEAAAAAAAAA7QAAAAAAAAExAAAAAAACASkAAAAAAAABWQAAAAAAAAFJAAAAAAAAAPUAAAAAAAABAQAAAAAAAAPh/AAAAAACASEAAAAAAAAA9QAAAAAAAwFRAAAAAAACAR0AAAAAAAOBUQAAAAAAAgERAAAAAAABAUkAAAAAAAMBLQAAAAAAAQFZAAAAAAAAgUkAAAAAAAIBLQAAAAAAAAD5AAAAAAAAAHEAAAAAAAIA8QAAAAAAAgEVAAAAAAAAA+H8AAAAAAOBSQAAAAAAAQFBAAAAAAAAA+H8AAAAAAMBHQAAAAAAAAPh/AAAAAADASUAAAAAAAAD4fwAAAAAAAENAAAAAAADASUAAAAAAAIBLQAAAAAAAAFRAAAAAAADAUEAAAAAAAABRQAAAAAAAwE1AAAAAAADATkAAAAAAAABKQAAAAAAAgExAAAAAAAAAV0AAAAAAAAD4fwAAAAAAAFZAAAAAAACAUEAAAAAAAAD4fwAAAAAAAExAAAAAAACATkAAAAAAAMBSQAAAAAAAQEpAAAAAAACgUEAAAAAAAGBVQAAAAAAAQFRAAAAAAACAQkAAAAAAAAA7QA==\",\"dtype\":\"float64\",\"order\":\"little\",\"shape\":[77]},\"confidence when incorrect reject\":{\"__ndarray__\":\"AAAAAACASEAAAAAAAMBSQAAAAAAAgEpAAAAAAAAASUAAAAAAAAD4fwAAAAAAgE5AAAAAAAAANUAAAAAAAAA7QAAAAAAAAPh/AAAAAABAUEAAAAAAAEBKQAAAAAAAgEhAAAAAAAAAQkAAAAAAAKBQQAAAAAAAQElAAAAAAAAAS0AAAAAAAIBNQAAAAAAAAPh/AAAAAAAA+H8AAAAAAAA4QAAAAAAAwE9AAAAAAADAREAAAAAAAIBGQAAAAAAAQEVAAAAAAACASkAAAAAAAABUQAAAAAAAwFZAAAAAAAAAQEAAAAAAAKBTQAAAAAAAgEVAAAAAAAAAQkAAAAAAAAA9QAAAAAAAAEJAAAAAAAAAREAAAAAAAEBRQAAAAAAAQFJAAAAAAAAAUUAAAAAAAIBRQAAAAAAAQFBAAAAAAABAUEAAAAAAAIBOQAAAAAAAAERAAAAAAAAATkAAAAAAAABKQAAAAAAAwEpAAAAAAAAA+H8AAAAAAIBPQAAAAAAAoFFAAAAAAAAAREAAAAAAAMBVQAAAAAAAAPh/AAAAAABAUUAAAAAAAMBUQAAAAAAAQFBAAAAAAACATEAAAAAAAEBJQAAAAAAAwFRAAAAAAAAAMUAAAAAAAMBUQAAAAAAAgERAAAAAAACAUkAAAAAAAABNQAAAAAAAAElAAAAAAABAVkAAAAAAAABJQAAAAAAAgFRAAAAAAACATEAAAAAAAIBUQAAAAAAAgE9AAAAAAACATEAAAAAAAABUQAAAAAAAYFBAAAAAAABgU0AAAAAAAABUQAAAAAAAgE5AAAAAAAAASkAAAAAAAKBUQA==\",\"dtype\":\"float64\",\"order\":\"little\",\"shape\":[77]},\"correct hit percentage\":[80,80,70,70,90,95,90,90,100,80,90,95,95,90,55,100,65,90,55,75,100,70,90,95,95,70,80,50,65,100,85,85,90,90,90,85,85,90,95,70,95,85,95,90,90,100,80,95,100,90,100,70,90,85,80,85,40,80,90,90,80,90,75,85,100,95,60,100,85,35,95,70,70,90,70,75,85],\"correct reject percentage\":[65,90,80,65,100,80,95,90,100,60,80,60,90,80,60,85,65,100,100,85,80,90,85,90,55,65,75,95,80,70,90,90,90,85,70,95,75,80,75,85,75,85,75,65,90,100,90,80,95,95,100,50,100,70,75,80,40,95,80,85,75,35,70,85,85,75,85,80,95,75,80,50,85,85,80,65,40],\"ess\":[5,1,3,4,5,12,4,4,11,6,3,11,10,12,6,13,12,5,10,4,4,6,3,0,12,6,5,9,7,6,10,18,11,8,16,7,9,11,4,7,4,11,12,3,3,4,11,1,4,2,9,1,2,12,6,5,5,4,9,3,8,6,10,21,5,5,9,1,8,11,5,7,10,7,15,7,7],\"gender\":[\"f\",\"f\",\"f\",\"f\",\"f\",\"f\",\"f\",\"m\",\"f\",\"f\",\"m\",\"m\",\"m\",\"f\",\"m\",\"f\",\"f\",\"m\",\"m\",\"f\",\"f\",\"m\",\"f\",\"m\",\"f\",\"m\",\"f\",\"f\",\"m\",\"m\",\"f\",\"f\",\"f\",\"f\",\"m\",\"f\",\"f\",\"f\",\"f\",\"m\",\"f\",\"f\",\"f\",\"m\",\"f\",\"f\",\"f\",\"f\",\"f\",\"f\",\"f\",\"f\",\"f\",\"f\",\"f\",\"f\",\"m\",\"f\",\"f\",\"m\",\"f\",\"f\",\"f\",\"f\",\"f\",\"m\",\"m\",\"m\",\"m\",\"f\",\"m\",\"f\",\"f\",\"f\",\"f\",\"f\",\"f\"],\"index\":[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],\"insomnia\":[false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false],\"participant number\":[1,2,3,4,5,6,7,9,10,11,12,13,14,15,17,19,20,21,23,24,25,26,29,31,32,36,37,39,40,42,43,44,45,48,50,51,52,53,54,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,72,73,74,75,79,81,82,83,84,85,86,87,88,91,92,94,95,96,97,98,99,102,103],\"percent correct\":{\"__ndarray__\":\"AAAAAAAgUkAAAAAAAEBVQAAAAAAAwFJAAAAAAADgUEAAAAAAAMBXQAAAAAAA4FVAAAAAAAAgV0AAAAAAAIBWQAAAAAAAAFlAAAAAAACAUUAAAAAAAEBVQAAAAAAAYFNAAAAAAAAgV0AAAAAAAEBVQAAAAAAAwExAAAAAAAAgV0AAAAAAAEBQQAAAAAAAwFdAAAAAAABgU0AAAAAAAABUQAAAAAAAgFZAAAAAAAAAVEAAAAAAAOBVQAAAAAAAIFdAAAAAAADAUkAAAAAAAOBQQAAAAAAAYFNAAAAAAAAgUkAAAAAAACBSQAAAAAAAQFVAAAAAAADgVUAAAAAAAOBVQAAAAAAAgFZAAAAAAADgVUAAAAAAAABUQAAAAAAAgFZAAAAAAAAAVEAAAAAAAEBVQAAAAAAAQFVAAAAAAABgU0AAAAAAAEBVQAAAAAAAQFVAAAAAAABAVUAAAAAAAGBTQAAAAAAAgFZAAAAAAAAAWUAAAAAAAEBVQAAAAAAA4FVAAAAAAABgWEAAAAAAACBXQAAAAAAAAFlAAAAAAAAATkAAAAAAAMBXQAAAAAAAYFNAAAAAAABgU0AAAAAAAKBUQAAAAAAAAERAAAAAAADgVUAAAAAAAEBVQAAAAAAA4FVAAAAAAABgU0AAAAAAAEBPQAAAAAAAIFJAAAAAAABAVUAAAAAAACBXQAAAAAAAQFVAAAAAAAAgUkAAAAAAAIBWQAAAAAAAgFZAAAAAAACAS0AAAAAAAOBVQAAAAAAAAE5AAAAAAABgU0AAAAAAAOBVQAAAAAAAwFJAAAAAAACAUUAAAAAAAEBPQA==\",\"dtype\":\"float64\",\"order\":\"little\",\"shape\":[77]},\"psqi\":[1,5,1,5,7,7,3,3,10,4,5,2,2,2,5,2,3,3,4,9,5,2,1,4,8,2,2,6,3,1,5,7,3,6,6,1,6,4,4,3,5,2,7,4,0,5,1,1,4,1,8,4,2,7,4,1,7,4,5,6,4,2,3,4,3,1,5,2,1,1,3,6,8,8,2,4,5],\"sci\":[29,19,23,26,21,19,28,29,17,22,28,31,31,32,25,30,28,30,22,20,26,32,32,24,26,30,28,21,29,32,26,26,23,18,22,29,20,27,19,29,24,29,17,26,30,17,25,31,27,32,28,25,30,21,29,20,22,23,20,17,27,27,22,25,30,32,30,32,28,31,29,26,20,19,31,22,24]},\"selected\":{\"id\":\"2304\"},\"selection_policy\":{\"id\":\"2303\"}},\"id\":\"2191\",\"type\":\"ColumnDataSource\"},{\"attributes\":{},\"id\":\"2304\",\"type\":\"Selection\"},{\"attributes\":{},\"id\":\"2299\",\"type\":\"AllLabels\"},{\"attributes\":{\"source\":{\"id\":\"2190\"}},\"id\":\"2203\",\"type\":\"CDSView\"},{\"attributes\":{},\"id\":\"2177\",\"type\":\"WheelZoomTool\"},{\"attributes\":{\"label\":{\"value\":\"normal\"},\"renderers\":[{\"id\":\"2196\"}]},\"id\":\"2205\",\"type\":\"LegendItem\"},{\"attributes\":{\"coordinates\":null,\"data_source\":{\"id\":\"2190\"},\"glyph\":{\"id\":\"2199\"},\"group\":null,\"hover_glyph\":null,\"muted_glyph\":{\"id\":\"2201\"},\"nonselection_glyph\":{\"id\":\"2200\"},\"view\":{\"id\":\"2203\"}},\"id\":\"2202\",\"type\":\"GlyphRenderer\"},{\"attributes\":{},\"id\":\"2173\",\"type\":\"BasicTicker\"},{\"attributes\":{},\"id\":\"2164\",\"type\":\"LinearScale\"},{\"attributes\":{},\"id\":\"2303\",\"type\":\"UnionRenderers\"},{\"attributes\":{\"background_fill_color\":\"chartreuse\",\"click_policy\":\"hide\",\"coordinates\":null,\"group\":null,\"items\":[{\"id\":\"2205\"},{\"id\":\"2206\"}],\"label_text_font\":\"papyrus\"},\"id\":\"2204\",\"type\":\"Legend\"},{\"attributes\":{},\"id\":\"2166\",\"type\":\"LinearScale\"},{\"attributes\":{\"coordinates\":null,\"data_source\":{\"id\":\"2191\"},\"glyph\":{\"id\":\"2193\"},\"group\":null,\"hover_glyph\":null,\"level\":\"overlay\",\"muted_glyph\":{\"id\":\"2195\"},\"nonselection_glyph\":{\"id\":\"2194\"},\"view\":{\"id\":\"2197\"}},\"id\":\"2196\",\"type\":\"GlyphRenderer\"},{\"attributes\":{\"fill_alpha\":{\"value\":0.1},\"fill_color\":{\"value\":\"#ff7e0e\"},\"hatch_alpha\":{\"value\":0.1},\"hatch_color\":{\"value\":\"#ff7e0e\"},\"line_alpha\":{\"value\":0.1},\"line_color\":{\"value\":\"#ff7e0e\"},\"x\":{\"field\":\"confidence when correct\"},\"y\":{\"field\":\"confidence when incorrect\"}},\"id\":\"2200\",\"type\":\"Circle\"},{\"attributes\":{\"axis\":{\"id\":\"2168\"},\"coordinates\":null,\"grid_line_color\":\"azure\",\"group\":null,\"ticker\":null},\"id\":\"2171\",\"type\":\"Grid\"},{\"attributes\":{},\"id\":\"2180\",\"type\":\"ResetTool\"},{\"attributes\":{\"align\":\"center\",\"coordinates\":null,\"group\":null,\"text\":\"GMFT with sleep conditions\",\"text_font\":\"papyrus\",\"text_font_size\":\"18pt\"},\"id\":\"2158\",\"type\":\"Title\"},{\"attributes\":{\"axis_label\":\"confidence when correct\",\"axis_label_text_font\":\"papyrus\",\"axis_label_text_font_size\":\"20pt\",\"axis_label_text_font_style\":\"normal\",\"coordinates\":null,\"formatter\":{\"id\":\"2301\"},\"group\":null,\"major_label_policy\":{\"id\":\"2302\"},\"major_label_text_font\":\"papyrus\",\"major_label_text_font_size\":\"14pt\",\"major_tick_in\":10,\"major_tick_out\":0,\"minor_tick_in\":5,\"minor_tick_out\":0,\"ticker\":{\"id\":\"2169\"}},\"id\":\"2168\",\"type\":\"LinearAxis\"},{\"attributes\":{},\"id\":\"2169\",\"type\":\"BasicTicker\"},{\"attributes\":{\"label\":{\"value\":\"insomnia\"},\"renderers\":[{\"id\":\"2202\"}]},\"id\":\"2206\",\"type\":\"LegendItem\"}],\"root_ids\":[\"2157\"]},\"title\":\"Bokeh Application\",\"version\":\"2.4.2\"}};\n", " const render_items = [{\"docid\":\"16f9ec4a-b6d5-4b58-aa73-e1f84282ab17\",\"root_ids\":[\"2157\"],\"roots\":{\"2157\":\"c7a10759-63c8-4812-a379-3781ee166d24\"}}];\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", " let attempts = 0;\n", " const timer = setInterval(function(root) {\n", " if (root.Bokeh !== undefined) {\n", " clearInterval(timer);\n", " embed_document(root);\n", " } else {\n", " attempts++;\n", " if (attempts > 100) {\n", " clearInterval(timer);\n", " console.log(\"Bokeh: ERROR: Unable to run BokehJS code because BokehJS library is missing\");\n", " }\n", " }\n", " }, 10, root)\n", " }\n", "})(window);" ], "application/vnd.bokehjs_exec.v0+json": "" }, "metadata": { "application/vnd.bokehjs_exec.v0+json": { "id": "2157" } }, "output_type": "display_data" } ], "source": [ "# Obnoxious fonts\n", "p.xaxis.major_label_text_font = 'papyrus'\n", "p.xaxis.major_label_text_font_size = '14pt'\n", "p.xaxis.axis_label_text_font = 'papyrus'\n", "p.xaxis.axis_label_text_font_style = 'normal'\n", "p.xaxis.axis_label_text_font_size = '20pt'\n", "p.yaxis.major_label_text_font = 'papyrus'\n", "p.yaxis.major_label_text_font_size = '14pt'\n", "p.yaxis.axis_label_text_font = 'papyrus'\n", "p.yaxis.axis_label_text_font_style = 'normal'\n", "p.yaxis.axis_label_text_font_size = '20pt'\n", "p.title.text_font = 'papyrus'\n", "p.title.text_font_size = '18pt'\n", "p.legend.label_text_font = 'papyrus'\n", "\n", "# Align the title center\n", "p.title.align = 'center'\n", "\n", "# Set background and grid color\n", "p.background_fill_color = 'blanchedalmond'\n", "p.legend.background_fill_color = 'chartreuse'\n", "p.xgrid.grid_line_color = 'azure'\n", "p.ygrid.grid_line_color = 'azure'\n", "\n", "# Make the ticks point inward (I *hate* this!)\n", "# Units are pixels that the ticks extend in and out of plot\n", "p.xaxis.major_tick_out = 0\n", "p.xaxis.major_tick_in = 10\n", "p.xaxis.minor_tick_out = 0\n", "p.xaxis.minor_tick_in = 5\n", "p.yaxis.major_tick_out = 0\n", "p.yaxis.major_tick_in = 10\n", "p.yaxis.minor_tick_out = 0\n", "p.yaxis.minor_tick_in = 5\n", "\n", "bokeh.io.show(p)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "This is truly hideous, but it demonstrates how we can go about styling plots after they are made." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Bokeh themes\n", "\n", "Bokeh has several built-in [themes](https://docs.bokeh.org/en/latest/docs/reference/themes.html) which you can apply to all plots in a given document (e.g., in a notebook). Please see the [documentation](https://docs.bokeh.org/en/latest/docs/reference/themes.html) for details about the built-in themes. I personally prefer the default styling to all of their themes, but your opinion may differ.\n", "\n", "You may also specify custom themes using [JSON](https://www.json.org/json-en.html) or [YAML](https://yaml.org). As an example, we can specify a theme such that plots are styled like the default style of the excellent plotting packages [Altair](https://altair-viz.github.io/)/[Vega-Lite](http://vega.github.io/vega-lite)/[Vega](http://vega.github.io/vega). If we use JSON formatting, we can specify a theme as a dictionary of dictionaries, as below." ] }, { "cell_type": "code", "execution_count": 20, "metadata": {}, "outputs": [], "source": [ "altair_theme_dict = {\n", " \"attrs\": {\n", " \"Axis\": {\n", " \"axis_line_color\": \"dimgray\",\n", " \"minor_tick_out\": 0,\n", " \"major_tick_in\": 0,\n", " \"major_tick_line_color\": \"dimgray\",\n", " \"major_label_text_font_size\": \"7.5pt\",\n", " \"axis_label_text_font_size\": \"8pt\",\n", " \"axis_label_text_font_style\": \"bold\",\n", " },\n", " \"Circle\": {\n", " \"fill_alpha\": 0, \n", " \"line_width\": 2, \n", " \"size\": 5, \n", " \"line_alpha\": 0.7,\n", " },\n", " \"ContinuousTicker\": {\n", " \"desired_num_ticks\": 10\n", " },\n", " \"Figure\": {\n", " \"frame_width\": 350, \n", " \"frame_height\": 300,\n", " },\n", " \"Grid\": {\n", " \"grid_line_color\": \"lightgray\",\n", " \"level\": \"underlay\",\n", " },\n", " \"Legend\": {\n", " \"border_line_color\": None,\n", " \"background_fill_color\": None,\n", " \"label_text_font_size\": \"7.5pt\",\n", " \"title_text_font_size\": \"8pt\",\n", " \"title_text_font_style\": \"bold\",\n", " },\n", " \"Renderer\": {\n", " \"level\": \"overlay\"\n", " },\n", " \"Title\": {\n", " \"align\": \"center\",\n", " },\n", " }\n", "}" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "To activate the theme, we convert it to a Bokeh theme and then add it to the `curdoc()`, or the current document." ] }, { "cell_type": "code", "execution_count": 21, "metadata": {}, "outputs": [], "source": [ "altair_theme = bokeh.themes.Theme(json=altair_theme_dict)\n", "\n", "bokeh.io.curdoc().theme = altair_theme" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Now the theme is activated, and future plots will have this theme by default. Let's remake our plot using this theme. For convenience later on, I will write a function to generate this scatter plot that we will use to test various styles." ] }, { "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", " const docs_json = {\"6f7a7a7c-fff8-48d8-911c-a4be32f0171c\":{\"defs\":[],\"roots\":{\"references\":[{\"attributes\":{\"below\":[{\"id\":\"2439\"}],\"center\":[{\"id\":\"2442\"},{\"id\":\"2446\"}],\"frame_height\":300,\"frame_width\":300,\"left\":[{\"id\":\"2443\"}],\"renderers\":[{\"id\":\"2465\"},{\"id\":\"2471\"}],\"right\":[{\"id\":\"2473\"}],\"title\":{\"id\":\"2429\"},\"toolbar\":{\"id\":\"2454\"},\"x_range\":{\"id\":\"2431\"},\"x_scale\":{\"id\":\"2435\"},\"y_range\":{\"id\":\"2433\"},\"y_scale\":{\"id\":\"2437\"}},\"id\":\"2428\",\"subtype\":\"Figure\",\"type\":\"Plot\"},{\"attributes\":{\"coordinates\":null,\"data_source\":{\"id\":\"2191\"},\"glyph\":{\"id\":\"2462\"},\"group\":null,\"hover_glyph\":null,\"level\":\"overlay\",\"muted_glyph\":{\"id\":\"2464\"},\"nonselection_glyph\":{\"id\":\"2463\"},\"view\":{\"id\":\"2466\"}},\"id\":\"2465\",\"type\":\"GlyphRenderer\"},{\"attributes\":{},\"id\":\"2580\",\"type\":\"AllLabels\"},{\"attributes\":{\"source\":{\"id\":\"2191\"}},\"id\":\"2466\",\"type\":\"CDSView\"},{\"attributes\":{\"data\":{\"age\":[39,42,31,35,74,61,32,62,33,53,41,36,40,24,32,40,61,42,31,28,26,45,28,44,28],\"confidence when correct\":{\"__ndarray__\":\"AAAAAABAV0AAAAAAAMBSQAAAAAAAQFZAAAAAAAAAVkAAAAAAAEBQQAAAAAAAIFBAAAAAAACAUEAAAAAAAABPQAAAAAAAAFFAAAAAAADAUUAAAAAAAIBUQAAAAAAAAFNAAAAAAADgU0AAAAAAAIBLQAAAAAAAQFVAAAAAAACAUUAAAAAAAEBLQAAAAAAAIFZAAAAAAADgVUAAAAAAAABZQAAAAAAAQFNAAAAAAAAAWUAAAAAAAABUQAAAAAAAYFFAAAAAAABAVEA=\",\"dtype\":\"float64\",\"order\":\"little\",\"shape\":[25]},\"confidence when correct hit\":{\"__ndarray__\":\"AAAAAADAVkAAAAAAAOBSQAAAAAAAYFZAAAAAAABgVkAAAAAAACBRQAAAAAAAwFFAAAAAAADAUEAAAAAAAABLQAAAAAAAoFFAAAAAAACgUkAAAAAAAIBUQAAAAAAAIFNAAAAAAAAAVEAAAAAAAABNQAAAAAAAQFVAAAAAAABAUUAAAAAAAGBRQAAAAAAAwFVAAAAAAAAAV0AAAAAAAABZQAAAAAAAgFFAAAAAAAAAWUAAAAAAAGBWQAAAAAAAAE9AAAAAAADAVUA=\",\"dtype\":\"float64\",\"order\":\"little\",\"shape\":[25]},\"confidence when correct reject\":{\"__ndarray__\":\"AAAAAABAV0AAAAAAAKBRQAAAAAAAgFVAAAAAAADAUUAAAAAAAIBOQAAAAAAAAD9AAAAAAACAUEAAAAAAAEBQQAAAAAAAIFBAAAAAAABATkAAAAAAAEBSQAAAAAAAwFJAAAAAAADAU0AAAAAAAIBIQAAAAAAAQFVAAAAAAACAUUAAAAAAAEBGQAAAAAAAoFZAAAAAAABAVEAAAAAAAABZQAAAAAAAgFRAAAAAAAAAWUAAAAAAAMBQQAAAAAAAwFVAAAAAAAAAUUA=\",\"dtype\":\"float64\",\"order\":\"little\",\"shape\":[25]},\"confidence when incorrect\":{\"__ndarray__\":\"AAAAAACAVkAAAAAAAABJQAAAAAAAAFZAAAAAAAAAVEAAAAAAAIBIQAAAAAAAoFFAAAAAAAAAUEAAAAAAAIBOQAAAAAAAIFNAAAAAAABAUEAAAAAAAABQQAAAAAAA4FJAAAAAAACAT0AAAAAAAIBNQAAAAAAA4FRAAAAAAAAATEAAAAAAAEBSQAAAAAAAAFBAAAAAAAAATkAAAAAAAABZQAAAAAAAoFFAAAAAAAAAWUAAAAAAAABOQAAAAAAAYFJAAAAAAAAAS0A=\",\"dtype\":\"float64\",\"order\":\"little\",\"shape\":[25]},\"confidence when incorrect hit\":{\"__ndarray__\":\"AAAAAACAVkAAAAAAAMBLQAAAAAAAgFZAAAAAAAAA+H8AAAAAAIBIQAAAAAAAgE9AAAAAAABATEAAAAAAAIBCQAAAAAAAIFNAAAAAAAAA+H8AAAAAAMBOQAAAAAAA4FJAAAAAAABAVkAAAAAAAABJQAAAAAAAQFRAAAAAAAAATEAAAAAAAAD4fwAAAAAAAFJAAAAAAAAA+H8AAAAAAAD4fwAAAAAAQFNAAAAAAAAA+H8AAAAAAAD4fwAAAAAAAFJAAAAAAAAA+H8=\",\"dtype\":\"float64\",\"order\":\"little\",\"shape\":[25]},\"confidence when incorrect reject\":{\"__ndarray__\":\"AAAAAADgVEAAAAAAAABJQAAAAAAAQFRAAAAAAAAAVEAAAAAAAIBIQAAAAAAAIFJAAAAAAABAUEAAAAAAAGBUQAAAAAAAAPh/AAAAAABAUEAAAAAAAEBRQAAAAAAAAPh/AAAAAABATUAAAAAAAABRQAAAAAAAgFVAAAAAAAAA+H8AAAAAAEBSQAAAAAAAwEVAAAAAAAAATkAAAAAAAABZQAAAAAAA4FBAAAAAAAAAWUAAAAAAAABOQAAAAAAAQFNAAAAAAAAAS0A=\",\"dtype\":\"float64\",\"order\":\"little\",\"shape\":[25]},\"correct hit percentage\":[65,90,90,100,60,80,90,45,80,100,70,90,95,85,75,40,100,70,100,100,60,100,100,65,100],\"correct reject percentage\":[80,90,95,75,65,20,75,90,100,50,55,100,65,75,55,100,40,90,70,50,80,95,75,25,40],\"ess\":[2,7,3,20,12,2,3,9,10,7,19,0,8,4,7,14,12,10,11,12,1,6,4,6,2],\"gender\":[\"f\",\"m\",\"f\",\"f\",\"f\",\"f\",\"m\",\"m\",\"f\",\"f\",\"f\",\"f\",\"f\",\"f\",\"f\",\"f\",\"f\",\"f\",\"m\",\"m\",\"f\",\"m\",\"f\",\"f\",\"f\"],\"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],\"insomnia\":[true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true],\"participant number\":[8,16,18,22,27,28,30,33,34,35,38,41,46,49,55,71,76,77,78,80,89,90,93,100,101],\"percent correct\":{\"__ndarray__\":\"AAAAAAAgUkAAAAAAAIBWQAAAAAAAIFdAAAAAAADgVUAAAAAAAEBPQAAAAAAAAElAAAAAAACgVEAAAAAAAOBQQAAAAAAAgFZAAAAAAADAUkAAAAAAAEBPQAAAAAAAwFdAAAAAAAAAVEAAAAAAAABUQAAAAAAAQFBAAAAAAACAUUAAAAAAAIBRQAAAAAAAAFRAAAAAAABAVUAAAAAAAMBSQAAAAAAAgFFAAAAAAABgWEAAAAAAAOBVQAAAAAAAgEZAAAAAAACAUUA=\",\"dtype\":\"float64\",\"order\":\"little\",\"shape\":[25]},\"psqi\":[13,11,9,8,9,14,9,9,12,8,5,7,12,13,13,11,4,10,6,7,8,9,7,15,7],\"sci\":[9,4,10,13,13,15,16,14,14,14,14,15,10,14,5,0,16,11,14,12,14,14,16,1,14]},\"selected\":{\"id\":\"2306\"},\"selection_policy\":{\"id\":\"2305\"}},\"id\":\"2190\",\"type\":\"ColumnDataSource\"},{\"attributes\":{\"end\":100},\"id\":\"2431\",\"type\":\"Range1d\"},{\"attributes\":{\"fill_alpha\":{\"value\":0.1},\"fill_color\":{\"value\":\"#ff7e0e\"},\"hatch_alpha\":{\"value\":0.1},\"hatch_color\":{\"value\":\"#ff7e0e\"},\"line_alpha\":{\"value\":0.1},\"line_color\":{\"value\":\"#ff7e0e\"},\"line_width\":{\"value\":2},\"size\":{\"value\":5},\"x\":{\"field\":\"confidence when correct\"},\"y\":{\"field\":\"confidence when incorrect\"}},\"id\":\"2469\",\"type\":\"Circle\"},{\"attributes\":{\"desired_num_ticks\":10},\"id\":\"2444\",\"type\":\"BasicTicker\"},{\"attributes\":{\"fill_alpha\":{\"value\":0},\"fill_color\":{\"value\":\"#ff7e0e\"},\"hatch_color\":{\"value\":\"#ff7e0e\"},\"line_alpha\":{\"value\":0.7},\"line_color\":{\"value\":\"#ff7e0e\"},\"line_width\":{\"value\":2},\"size\":{\"value\":5},\"x\":{\"field\":\"confidence when correct\"},\"y\":{\"field\":\"confidence when incorrect\"}},\"id\":\"2468\",\"type\":\"Circle\"},{\"attributes\":{\"align\":\"center\",\"coordinates\":null,\"group\":null,\"level\":\"overlay\",\"text\":\"GMFT with sleep conditions\"},\"id\":\"2429\",\"type\":\"Title\"},{\"attributes\":{},\"id\":\"2448\",\"type\":\"WheelZoomTool\"},{\"attributes\":{},\"id\":\"2582\",\"type\":\"BasicTickFormatter\"},{\"attributes\":{},\"id\":\"2447\",\"type\":\"PanTool\"},{\"attributes\":{\"background_fill_color\":null,\"border_line_color\":null,\"click_policy\":\"hide\",\"coordinates\":null,\"group\":null,\"items\":[{\"id\":\"2474\"},{\"id\":\"2475\"}],\"label_text_font_size\":\"7.5pt\",\"level\":\"overlay\",\"title_text_font_size\":\"8pt\",\"title_text_font_style\":\"bold\"},\"id\":\"2473\",\"type\":\"Legend\"},{\"attributes\":{},\"id\":\"2583\",\"type\":\"AllLabels\"},{\"attributes\":{\"source\":{\"id\":\"2190\"}},\"id\":\"2472\",\"type\":\"CDSView\"},{\"attributes\":{\"coordinates\":null,\"data_source\":{\"id\":\"2190\"},\"glyph\":{\"id\":\"2468\"},\"group\":null,\"hover_glyph\":null,\"level\":\"overlay\",\"muted_glyph\":{\"id\":\"2470\"},\"nonselection_glyph\":{\"id\":\"2469\"},\"view\":{\"id\":\"2472\"}},\"id\":\"2471\",\"type\":\"GlyphRenderer\"},{\"attributes\":{\"overlay\":{\"id\":\"2453\"}},\"id\":\"2449\",\"type\":\"BoxZoomTool\"},{\"attributes\":{\"fill_alpha\":{\"value\":0.2},\"fill_color\":{\"value\":\"#ff7e0e\"},\"hatch_alpha\":{\"value\":0.2},\"hatch_color\":{\"value\":\"#ff7e0e\"},\"line_alpha\":{\"value\":0.2},\"line_color\":{\"value\":\"#ff7e0e\"},\"line_width\":{\"value\":2},\"size\":{\"value\":5},\"x\":{\"field\":\"confidence when correct\"},\"y\":{\"field\":\"confidence when incorrect\"}},\"id\":\"2470\",\"type\":\"Circle\"},{\"attributes\":{\"fill_alpha\":{\"value\":0.1},\"fill_color\":{\"value\":\"#1f77b3\"},\"hatch_alpha\":{\"value\":0.1},\"hatch_color\":{\"value\":\"#1f77b3\"},\"line_alpha\":{\"value\":0.1},\"line_color\":{\"value\":\"#1f77b3\"},\"line_width\":{\"value\":2},\"size\":{\"value\":5},\"x\":{\"field\":\"confidence when correct\"},\"y\":{\"field\":\"confidence when incorrect\"}},\"id\":\"2463\",\"type\":\"Circle\"},{\"attributes\":{\"label\":{\"value\":\"normal\"},\"renderers\":[{\"id\":\"2465\"}]},\"id\":\"2474\",\"type\":\"LegendItem\"},{\"attributes\":{},\"id\":\"2306\",\"type\":\"Selection\"},{\"attributes\":{},\"id\":\"2305\",\"type\":\"UnionRenderers\"},{\"attributes\":{\"fill_alpha\":{\"value\":0.2},\"fill_color\":{\"value\":\"#1f77b3\"},\"hatch_alpha\":{\"value\":0.2},\"hatch_color\":{\"value\":\"#1f77b3\"},\"line_alpha\":{\"value\":0.2},\"line_color\":{\"value\":\"#1f77b3\"},\"line_width\":{\"value\":2},\"size\":{\"value\":5},\"x\":{\"field\":\"confidence when correct\"},\"y\":{\"field\":\"confidence when incorrect\"}},\"id\":\"2464\",\"type\":\"Circle\"},{\"attributes\":{\"axis\":{\"id\":\"2443\"},\"coordinates\":null,\"dimension\":1,\"grid_line_color\":\"lightgray\",\"group\":null,\"level\":\"underlay\",\"ticker\":null},\"id\":\"2446\",\"type\":\"Grid\"},{\"attributes\":{\"data\":{\"age\":[42,45,16,21,18,28,38,17,25,22,41,53,43,23,19,45,43,35,24,64,36,35,43,44,29,22,46,35,53,29,31,21,42,23,54,24,21,21,43,50,53,16,67,36,34,42,46,69,31,44,25,45,47,33,18,74,21,45,37,41,41,34,39,18,31,26,66,62,22,41,46,56,23,70,24,40,33],\"confidence when correct\":{\"__ndarray__\":\"AAAAAACASUAAAAAAAKBTQAAAAAAAgExAAAAAAAAATkAAAAAAAABUQAAAAAAAwFhAAAAAAACAU0AAAAAAAKBTQAAAAAAAgFZAAAAAAACAUUAAAAAAAIBSQAAAAAAAgEdAAAAAAAAASkAAAAAAAABVQAAAAAAAgE9AAAAAAAAAT0AAAAAAAMBNQAAAAAAA4FJAAAAAAACAU0AAAAAAAIBPQAAAAAAAQFRAAAAAAAAAOEAAAAAAAABJQAAAAAAAQFRAAAAAAADAUEAAAAAAAEBTQAAAAAAAAFlAAAAAAAAAUUAAAAAAAABIQAAAAAAAgFJAAAAAAACAVEAAAAAAAMBQQAAAAAAAoFRAAAAAAADAUEAAAAAAAABWQAAAAAAAwFRAAAAAAADAT0AAAAAAACBUQAAAAAAAwFFAAAAAAADAV0AAAAAAAKBTQAAAAAAAQEpAAAAAAABAUUAAAAAAAIBOQAAAAAAAgFBAAAAAAACAUkAAAAAAAABXQAAAAAAAAFRAAAAAAAAAV0AAAAAAAMBUQAAAAAAAQE5AAAAAAAAgUkAAAAAAAGBYQAAAAAAAAFFAAAAAAADAUEAAAAAAAEBQQAAAAAAAgFRAAAAAAADAUkAAAAAAAIBXQAAAAAAAQFNAAAAAAAAAV0AAAAAAAEBUQAAAAAAAAE1AAAAAAADgVkAAAAAAAABZQAAAAAAAQFVAAAAAAACAUkAAAAAAAOBTQAAAAAAAoFFAAAAAAAAAUkAAAAAAAEBVQAAAAAAAAFBAAAAAAABAU0AAAAAAAIBSQAAAAAAAQFBAAAAAAABAVEAAAAAAAEBUQA==\",\"dtype\":\"float64\",\"order\":\"little\",\"shape\":[77]},\"confidence when correct hit\":{\"__ndarray__\":\"AAAAAADASUAAAAAAAMBSQAAAAAAAgFFAAAAAAADAT0AAAAAAACBTQAAAAAAAAFlAAAAAAABAU0AAAAAAACBUQAAAAAAAgFZAAAAAAACAUUAAAAAAACBTQAAAAAAAAERAAAAAAAAASkAAAAAAAABWQAAAAAAAAE9AAAAAAAAAUUAAAAAAAIBNQAAAAAAA4FJAAAAAAAAAUUAAAAAAAABJQAAAAAAAAFZAAAAAAACAPUAAAAAAAGBQQAAAAAAAwFRAAAAAAADAUEAAAAAAAIBTQAAAAAAAIFJAAAAAAABAT0AAAAAAAABLQAAAAAAAwFJAAAAAAACAVEAAAAAAAIBQQAAAAAAAwFRAAAAAAADAUEAAAAAAAIBWQAAAAAAAQFhAAAAAAABAUEAAAAAAAABVQAAAAAAAgFJAAAAAAAAgV0AAAAAAAABVQAAAAAAAgEtAAAAAAACAUUAAAAAAAOBQQAAAAAAAQE1AAAAAAACgUkAAAAAAAABXQAAAAAAAAFRAAAAAAACAWEAAAAAAAMBVQAAAAAAAwE5AAAAAAAAgVEAAAAAAAABZQAAAAAAAgFFAAAAAAADgUEAAAAAAAIBQQAAAAAAAoFZAAAAAAACAUkAAAAAAAOBXQAAAAAAAAFRAAAAAAACgV0AAAAAAAEBUQAAAAAAAgExAAAAAAABAV0AAAAAAAABZQAAAAAAAQFVAAAAAAADgUEAAAAAAAEBUQAAAAAAAgFBAAAAAAACAS0AAAAAAAIBWQAAAAAAAgE9AAAAAAABAU0AAAAAAAGBQQAAAAAAAwE5AAAAAAACASkAAAAAAAABUQA==\",\"dtype\":\"float64\",\"order\":\"little\",\"shape\":[77]},\"confidence when correct reject\":{\"__ndarray__\":\"AAAAAACARUAAAAAAAABUQAAAAAAAAEtAAAAAAAAASUAAAAAAAABUQAAAAAAAgFdAAAAAAADAU0AAAAAAACBTQAAAAAAAQFVAAAAAAACAUUAAAAAAAOBQQAAAAAAAAExAAAAAAACASEAAAAAAAKBRQAAAAAAAgFBAAAAAAACATkAAAAAAAABQQAAAAAAAoFJAAAAAAAAAVEAAAAAAAIBQQAAAAAAAgFBAAAAAAAAAM0AAAAAAAIBEQAAAAAAAwFNAAAAAAABAUEAAAAAAAEBTQAAAAAAAAFlAAAAAAABAU0AAAAAAAMBHQAAAAAAAIFBAAAAAAABAVEAAAAAAAIBRQAAAAAAAIFRAAAAAAABAUUAAAAAAAGBTQAAAAAAAgFJAAAAAAAAATEAAAAAAAGBSQAAAAAAAAFFAAAAAAADAV0AAAAAAAABRQAAAAAAAAElAAAAAAABAUUAAAAAAAIBLQAAAAAAAYFJAAAAAAACAUkAAAAAAAABXQAAAAAAAoFNAAAAAAACAVkAAAAAAAEBRQAAAAAAAQE1AAAAAAACAT0AAAAAAAOBRQAAAAAAAQE1AAAAAAACAUEAAAAAAAIBPQAAAAAAAoFJAAAAAAAAAU0AAAAAAAOBUQAAAAAAAgFFAAAAAAACAVUAAAAAAAMBRQAAAAAAAwE1AAAAAAADAVkAAAAAAAABZQAAAAAAAgFRAAAAAAACAUkAAAAAAAKBSQAAAAAAAAFJAAAAAAAAAVEAAAAAAAABUQAAAAAAA4FBAAAAAAABAU0AAAAAAAMBVQAAAAAAAgFFAAAAAAAAAVUAAAAAAAAA/QA==\",\"dtype\":\"float64\",\"order\":\"little\",\"shape\":[77]},\"confidence when incorrect\":{\"__ndarray__\":\"AAAAAACASEAAAAAAAMBQQAAAAAAAQEtAAAAAAAAASUAAAAAAAMBUQAAAAAAAQFBAAAAAAAAAQkAAAAAAAOBQQAAAAAAAAPh/AAAAAACAUUAAAAAAAMBLQAAAAAAAAEZAAAAAAAAAPUAAAAAAAEBLQAAAAAAAAElAAAAAAAAAS0AAAAAAAIBMQAAAAAAAwEFAAAAAAADAUEAAAAAAAIA4QAAAAAAAwE9AAAAAAACAQUAAAAAAAIBGQAAAAAAAAEtAAAAAAACASkAAAAAAAABVQAAAAAAAwFZAAAAAAAAAP0AAAAAAAIBJQAAAAAAAgEVAAAAAAACASEAAAAAAAAA9QAAAAAAAAFNAAAAAAAAAREAAAAAAAMBTQAAAAAAAwEtAAAAAAAAAUUAAAAAAAEBQQAAAAAAAAFFAAAAAAABAUEAAAAAAAABNQAAAAAAAgEFAAAAAAADATUAAAAAAAABJQAAAAAAAwEdAAAAAAAAA+H8AAAAAAGBSQAAAAAAAgFFAAAAAAAAAREAAAAAAAMBQQAAAAAAAAPh/AAAAAADATkAAAAAAAMBUQAAAAAAAAERAAAAAAACASkAAAAAAAIBLQAAAAAAAQFRAAAAAAAAAUEAAAAAAAMBRQAAAAAAAgE1AAAAAAADAUEAAAAAAAABNQAAAAAAAAElAAAAAAADAVkAAAAAAAABJQAAAAAAAQFVAAAAAAAAAUEAAAAAAAIBUQAAAAAAAwE1AAAAAAAAATkAAAAAAAMBSQAAAAAAAwE1AAAAAAACAUkAAAAAAAABUQAAAAAAAQFRAAAAAAACASUAAAAAAAEBSQA==\",\"dtype\":\"float64\",\"order\":\"little\",\"shape\":[77]},\"confidence when incorrect hit\":{\"__ndarray__\":\"AAAAAABARkAAAAAAAMBLQAAAAAAAgExAAAAAAAAAUEAAAAAAAMBUQAAAAAAAQFVAAAAAAADARUAAAAAAAOBVQAAAAAAAAPh/AAAAAACAUUAAAAAAAMBLQAAAAAAAgEBAAAAAAAAAPUAAAAAAAABEQAAAAAAAAElAAAAAAAAA+H8AAAAAAIBLQAAAAAAAwEFAAAAAAADAUEAAAAAAAAA5QAAAAAAAAPh/AAAAAACAPEAAAAAAAAA7QAAAAAAAAExAAAAAAACASkAAAAAAAABWQAAAAAAAAFJAAAAAAAAAPUAAAAAAAABAQAAAAAAAAPh/AAAAAACASEAAAAAAAAA9QAAAAAAAwFRAAAAAAACAR0AAAAAAAOBUQAAAAAAAgERAAAAAAABAUkAAAAAAAMBLQAAAAAAAQFZAAAAAAAAgUkAAAAAAAIBLQAAAAAAAAD5AAAAAAAAAHEAAAAAAAIA8QAAAAAAAgEVAAAAAAAAA+H8AAAAAAOBSQAAAAAAAQFBAAAAAAAAA+H8AAAAAAMBHQAAAAAAAAPh/AAAAAADASUAAAAAAAAD4fwAAAAAAAENAAAAAAADASUAAAAAAAIBLQAAAAAAAAFRAAAAAAADAUEAAAAAAAABRQAAAAAAAwE1AAAAAAADATkAAAAAAAABKQAAAAAAAgExAAAAAAAAAV0AAAAAAAAD4fwAAAAAAAFZAAAAAAACAUEAAAAAAAAD4fwAAAAAAAExAAAAAAACATkAAAAAAAMBSQAAAAAAAQEpAAAAAAACgUEAAAAAAAGBVQAAAAAAAQFRAAAAAAACAQkAAAAAAAAA7QA==\",\"dtype\":\"float64\",\"order\":\"little\",\"shape\":[77]},\"confidence when incorrect reject\":{\"__ndarray__\":\"AAAAAACASEAAAAAAAMBSQAAAAAAAgEpAAAAAAAAASUAAAAAAAAD4fwAAAAAAgE5AAAAAAAAANUAAAAAAAAA7QAAAAAAAAPh/AAAAAABAUEAAAAAAAEBKQAAAAAAAgEhAAAAAAAAAQkAAAAAAAKBQQAAAAAAAQElAAAAAAAAAS0AAAAAAAIBNQAAAAAAAAPh/AAAAAAAA+H8AAAAAAAA4QAAAAAAAwE9AAAAAAADAREAAAAAAAIBGQAAAAAAAQEVAAAAAAACASkAAAAAAAABUQAAAAAAAwFZAAAAAAAAAQEAAAAAAAKBTQAAAAAAAgEVAAAAAAAAAQkAAAAAAAAA9QAAAAAAAAEJAAAAAAAAAREAAAAAAAEBRQAAAAAAAQFJAAAAAAAAAUUAAAAAAAIBRQAAAAAAAQFBAAAAAAABAUEAAAAAAAIBOQAAAAAAAAERAAAAAAAAATkAAAAAAAABKQAAAAAAAwEpAAAAAAAAA+H8AAAAAAIBPQAAAAAAAoFFAAAAAAAAAREAAAAAAAMBVQAAAAAAAAPh/AAAAAABAUUAAAAAAAMBUQAAAAAAAQFBAAAAAAACATEAAAAAAAEBJQAAAAAAAwFRAAAAAAAAAMUAAAAAAAMBUQAAAAAAAgERAAAAAAACAUkAAAAAAAABNQAAAAAAAAElAAAAAAABAVkAAAAAAAABJQAAAAAAAgFRAAAAAAACATEAAAAAAAIBUQAAAAAAAgE9AAAAAAACATEAAAAAAAABUQAAAAAAAYFBAAAAAAABgU0AAAAAAAABUQAAAAAAAgE5AAAAAAAAASkAAAAAAAKBUQA==\",\"dtype\":\"float64\",\"order\":\"little\",\"shape\":[77]},\"correct hit percentage\":[80,80,70,70,90,95,90,90,100,80,90,95,95,90,55,100,65,90,55,75,100,70,90,95,95,70,80,50,65,100,85,85,90,90,90,85,85,90,95,70,95,85,95,90,90,100,80,95,100,90,100,70,90,85,80,85,40,80,90,90,80,90,75,85,100,95,60,100,85,35,95,70,70,90,70,75,85],\"correct reject percentage\":[65,90,80,65,100,80,95,90,100,60,80,60,90,80,60,85,65,100,100,85,80,90,85,90,55,65,75,95,80,70,90,90,90,85,70,95,75,80,75,85,75,85,75,65,90,100,90,80,95,95,100,50,100,70,75,80,40,95,80,85,75,35,70,85,85,75,85,80,95,75,80,50,85,85,80,65,40],\"ess\":[5,1,3,4,5,12,4,4,11,6,3,11,10,12,6,13,12,5,10,4,4,6,3,0,12,6,5,9,7,6,10,18,11,8,16,7,9,11,4,7,4,11,12,3,3,4,11,1,4,2,9,1,2,12,6,5,5,4,9,3,8,6,10,21,5,5,9,1,8,11,5,7,10,7,15,7,7],\"gender\":[\"f\",\"f\",\"f\",\"f\",\"f\",\"f\",\"f\",\"m\",\"f\",\"f\",\"m\",\"m\",\"m\",\"f\",\"m\",\"f\",\"f\",\"m\",\"m\",\"f\",\"f\",\"m\",\"f\",\"m\",\"f\",\"m\",\"f\",\"f\",\"m\",\"m\",\"f\",\"f\",\"f\",\"f\",\"m\",\"f\",\"f\",\"f\",\"f\",\"m\",\"f\",\"f\",\"f\",\"m\",\"f\",\"f\",\"f\",\"f\",\"f\",\"f\",\"f\",\"f\",\"f\",\"f\",\"f\",\"f\",\"m\",\"f\",\"f\",\"m\",\"f\",\"f\",\"f\",\"f\",\"f\",\"m\",\"m\",\"m\",\"m\",\"f\",\"m\",\"f\",\"f\",\"f\",\"f\",\"f\",\"f\"],\"index\":[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],\"insomnia\":[false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false],\"participant number\":[1,2,3,4,5,6,7,9,10,11,12,13,14,15,17,19,20,21,23,24,25,26,29,31,32,36,37,39,40,42,43,44,45,48,50,51,52,53,54,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,72,73,74,75,79,81,82,83,84,85,86,87,88,91,92,94,95,96,97,98,99,102,103],\"percent correct\":{\"__ndarray__\":\"AAAAAAAgUkAAAAAAAEBVQAAAAAAAwFJAAAAAAADgUEAAAAAAAMBXQAAAAAAA4FVAAAAAAAAgV0AAAAAAAIBWQAAAAAAAAFlAAAAAAACAUUAAAAAAAEBVQAAAAAAAYFNAAAAAAAAgV0AAAAAAAEBVQAAAAAAAwExAAAAAAAAgV0AAAAAAAEBQQAAAAAAAwFdAAAAAAABgU0AAAAAAAABUQAAAAAAAgFZAAAAAAAAAVEAAAAAAAOBVQAAAAAAAIFdAAAAAAADAUkAAAAAAAOBQQAAAAAAAYFNAAAAAAAAgUkAAAAAAACBSQAAAAAAAQFVAAAAAAADgVUAAAAAAAOBVQAAAAAAAgFZAAAAAAADgVUAAAAAAAABUQAAAAAAAgFZAAAAAAAAAVEAAAAAAAEBVQAAAAAAAQFVAAAAAAABgU0AAAAAAAEBVQAAAAAAAQFVAAAAAAABAVUAAAAAAAGBTQAAAAAAAgFZAAAAAAAAAWUAAAAAAAEBVQAAAAAAA4FVAAAAAAABgWEAAAAAAACBXQAAAAAAAAFlAAAAAAAAATkAAAAAAAMBXQAAAAAAAYFNAAAAAAABgU0AAAAAAAKBUQAAAAAAAAERAAAAAAADgVUAAAAAAAEBVQAAAAAAA4FVAAAAAAABgU0AAAAAAAEBPQAAAAAAAIFJAAAAAAABAVUAAAAAAACBXQAAAAAAAQFVAAAAAAAAgUkAAAAAAAIBWQAAAAAAAgFZAAAAAAACAS0AAAAAAAOBVQAAAAAAAAE5AAAAAAABgU0AAAAAAAOBVQAAAAAAAwFJAAAAAAACAUUAAAAAAAEBPQA==\",\"dtype\":\"float64\",\"order\":\"little\",\"shape\":[77]},\"psqi\":[1,5,1,5,7,7,3,3,10,4,5,2,2,2,5,2,3,3,4,9,5,2,1,4,8,2,2,6,3,1,5,7,3,6,6,1,6,4,4,3,5,2,7,4,0,5,1,1,4,1,8,4,2,7,4,1,7,4,5,6,4,2,3,4,3,1,5,2,1,1,3,6,8,8,2,4,5],\"sci\":[29,19,23,26,21,19,28,29,17,22,28,31,31,32,25,30,28,30,22,20,26,32,32,24,26,30,28,21,29,32,26,26,23,18,22,29,20,27,19,29,24,29,17,26,30,17,25,31,27,32,28,25,30,21,29,20,22,23,20,17,27,27,22,25,30,32,30,32,28,31,29,26,20,19,31,22,24]},\"selected\":{\"id\":\"2304\"},\"selection_policy\":{\"id\":\"2303\"}},\"id\":\"2191\",\"type\":\"ColumnDataSource\"},{\"attributes\":{},\"id\":\"2304\",\"type\":\"Selection\"},{\"attributes\":{},\"id\":\"2451\",\"type\":\"ResetTool\"},{\"attributes\":{\"fill_alpha\":{\"value\":0},\"fill_color\":{\"value\":\"#1f77b3\"},\"hatch_color\":{\"value\":\"#1f77b3\"},\"line_alpha\":{\"value\":0.7},\"line_color\":{\"value\":\"#1f77b3\"},\"line_width\":{\"value\":2},\"size\":{\"value\":5},\"x\":{\"field\":\"confidence when correct\"},\"y\":{\"field\":\"confidence when incorrect\"}},\"id\":\"2462\",\"type\":\"Circle\"},{\"attributes\":{},\"id\":\"2450\",\"type\":\"SaveTool\"},{\"attributes\":{\"bottom_units\":\"screen\",\"coordinates\":null,\"fill_alpha\":0.5,\"fill_color\":\"lightgrey\",\"group\":null,\"left_units\":\"screen\",\"level\":\"overlay\",\"line_alpha\":1.0,\"line_color\":\"black\",\"line_dash\":[4,4],\"line_width\":2,\"right_units\":\"screen\",\"syncable\":false,\"top_units\":\"screen\"},\"id\":\"2453\",\"type\":\"BoxAnnotation\"},{\"attributes\":{\"axis_label\":\"condifence when incorrect\",\"axis_label_text_font_size\":\"8pt\",\"axis_label_text_font_style\":\"bold\",\"axis_line_color\":\"dimgray\",\"coordinates\":null,\"formatter\":{\"id\":\"2579\"},\"group\":null,\"level\":\"overlay\",\"major_label_policy\":{\"id\":\"2580\"},\"major_label_text_font_size\":\"7.5pt\",\"major_tick_in\":0,\"major_tick_line_color\":\"dimgray\",\"minor_tick_out\":0,\"ticker\":{\"id\":\"2444\"}},\"id\":\"2443\",\"type\":\"LinearAxis\"},{\"attributes\":{},\"id\":\"2303\",\"type\":\"UnionRenderers\"},{\"attributes\":{\"end\":100},\"id\":\"2433\",\"type\":\"Range1d\"},{\"attributes\":{\"tools\":[{\"id\":\"2447\"},{\"id\":\"2448\"},{\"id\":\"2449\"},{\"id\":\"2450\"},{\"id\":\"2451\"},{\"id\":\"2452\"}]},\"id\":\"2454\",\"type\":\"Toolbar\"},{\"attributes\":{\"axis_label\":\"confidence when correct\",\"axis_label_text_font_size\":\"8pt\",\"axis_label_text_font_style\":\"bold\",\"axis_line_color\":\"dimgray\",\"coordinates\":null,\"formatter\":{\"id\":\"2582\"},\"group\":null,\"level\":\"overlay\",\"major_label_policy\":{\"id\":\"2583\"},\"major_label_text_font_size\":\"7.5pt\",\"major_tick_in\":0,\"major_tick_line_color\":\"dimgray\",\"minor_tick_out\":0,\"ticker\":{\"id\":\"2440\"}},\"id\":\"2439\",\"type\":\"LinearAxis\"},{\"attributes\":{},\"id\":\"2435\",\"type\":\"LinearScale\"},{\"attributes\":{},\"id\":\"2452\",\"type\":\"HelpTool\"},{\"attributes\":{\"desired_num_ticks\":10},\"id\":\"2440\",\"type\":\"BasicTicker\"},{\"attributes\":{},\"id\":\"2437\",\"type\":\"LinearScale\"},{\"attributes\":{\"label\":{\"value\":\"insomnia\"},\"renderers\":[{\"id\":\"2471\"}]},\"id\":\"2475\",\"type\":\"LegendItem\"},{\"attributes\":{\"axis\":{\"id\":\"2439\"},\"coordinates\":null,\"grid_line_color\":\"lightgray\",\"group\":null,\"level\":\"underlay\",\"ticker\":null},\"id\":\"2442\",\"type\":\"Grid\"},{\"attributes\":{},\"id\":\"2579\",\"type\":\"BasicTickFormatter\"}],\"root_ids\":[\"2428\"]},\"title\":\"Bokeh Application\",\"version\":\"2.4.2\"}};\n", " const render_items = [{\"docid\":\"6f7a7a7c-fff8-48d8-911c-a4be32f0171c\",\"root_ids\":[\"2428\"],\"roots\":{\"2428\":\"a635b722-d768-49d8-b574-83d9870e336d\"}}];\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", " let attempts = 0;\n", " const timer = setInterval(function(root) {\n", " if (root.Bokeh !== undefined) {\n", " clearInterval(timer);\n", " embed_document(root);\n", " } else {\n", " attempts++;\n", " if (attempts > 100) {\n", " clearInterval(timer);\n", " console.log(\"Bokeh: ERROR: Unable to run BokehJS code because BokehJS library is missing\");\n", " }\n", " }\n", " }, 10, root)\n", " }\n", "})(window);" ], "application/vnd.bokehjs_exec.v0+json": "" }, "metadata": { "application/vnd.bokehjs_exec.v0+json": { "id": "2428" } }, "output_type": "display_data" } ], "source": [ "def gfmt_plot():\n", " \"\"\"Make a plot for testing out styles in this notebook.\"\"\"\n", " p = bokeh.plotting.figure(\n", " frame_width=300,\n", " frame_height=300,\n", " x_axis_label=\"confidence when correct\",\n", " y_axis_label=\"condifence when incorrect\",\n", " title=\"GMFT with sleep conditions\",\n", " x_range=[0, 100],\n", " y_range=[0, 100],\n", " )\n", "\n", " normal_glyph = p.circle(\n", " source=source_normal,\n", " x=\"confidence when correct\",\n", " y=\"confidence when incorrect\",\n", " color=cat_colors[0],\n", " )\n", "\n", " insom_glyph = p.circle(\n", " source=source_insomnia,\n", " x=\"confidence when correct\",\n", " y=\"confidence when incorrect\",\n", " color=cat_colors[1],\n", " )\n", "\n", "\n", " # Construct legend items\n", " legend_items = [('normal', [normal_glyph]), ('insomnia', [insom_glyph])]\n", "\n", " # Instantiate legend\n", " legend = bokeh.models.Legend(items=legend_items, click_policy='hide')\n", "\n", " # Add the legend to the right of the plot\n", " p.add_layout(legend, 'right')\n", " \n", " return p\n", "\n", "bokeh.io.show(gfmt_plot())" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We could also style our plots to resemble the default \"dark\" styling of [Seaborn](https://seaborn.pydata.org)." ] }, { "cell_type": "code", "execution_count": 23, "metadata": {}, "outputs": [], "source": [ "seaborn_theme_dict = {\n", " \"attrs\": {\n", " \"Figure\": {\n", " \"background_fill_color\": \"#eaeaf2\",\n", " \"frame_height\": 300,\n", " \"frame_width\": 350,\n", " },\n", " \"Axis\": {\n", " \"axis_line_color\": None,\n", " \"minor_tick_out\": 0,\n", " \"major_tick_in\": 0,\n", " \"major_tick_out\": 0,\n", " \"major_label_text_font_size\": \"7.5pt\",\n", " \"axis_label_text_font_size\": \"7.5pt\",\n", " \"axis_label_text_font_style\": \"normal\",\n", " },\n", " \"Legend\": {\n", " \"border_line_color\": \"darkgray\",\n", " \"background_fill_color\": \"#eaeaf2\",\n", " \"border_line_width\": 0.75,\n", " \"label_text_font_size\": \"7.5pt\",\n", " },\n", " \"Grid\": {\n", " \"grid_line_color\": \"#FFFFFF\", \n", " \"grid_line_width\": 0.75,\n", " },\n", " \"Title\": {\n", " \"align\": \"center\",\n", " 'text_font_style': 'normal',\n", " 'text_font_size': \"8pt\",\n", " },\n", " }\n", "}\n", "\n", "seaborn_theme = bokeh.themes.Theme(json=seaborn_theme_dict)\n", "bokeh.io.curdoc().theme = seaborn_theme" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Let's make the plot, yet again, with this new styling." ] }, { "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", " const docs_json = {\"1b33b1ec-f510-41a8-8dbd-2747e84c5ff9\":{\"defs\":[],\"roots\":{\"references\":[{\"attributes\":{\"background_fill_color\":\"#eaeaf2\",\"below\":[{\"id\":\"2660\"}],\"center\":[{\"id\":\"2663\"},{\"id\":\"2667\"}],\"frame_height\":300,\"frame_width\":300,\"left\":[{\"id\":\"2664\"}],\"renderers\":[{\"id\":\"2686\"},{\"id\":\"2692\"}],\"right\":[{\"id\":\"2694\"}],\"title\":{\"id\":\"2650\"},\"toolbar\":{\"id\":\"2675\"},\"x_range\":{\"id\":\"2652\"},\"x_scale\":{\"id\":\"2656\"},\"y_range\":{\"id\":\"2654\"},\"y_scale\":{\"id\":\"2658\"}},\"id\":\"2649\",\"subtype\":\"Figure\",\"type\":\"Plot\"},{\"attributes\":{\"fill_alpha\":{\"value\":0.2},\"fill_color\":{\"value\":\"#ff7e0e\"},\"hatch_alpha\":{\"value\":0.2},\"hatch_color\":{\"value\":\"#ff7e0e\"},\"line_alpha\":{\"value\":0.2},\"line_color\":{\"value\":\"#ff7e0e\"},\"x\":{\"field\":\"confidence when correct\"},\"y\":{\"field\":\"confidence when incorrect\"}},\"id\":\"2691\",\"type\":\"Circle\"},{\"attributes\":{},\"id\":\"2668\",\"type\":\"PanTool\"},{\"attributes\":{\"coordinates\":null,\"data_source\":{\"id\":\"2190\"},\"glyph\":{\"id\":\"2689\"},\"group\":null,\"hover_glyph\":null,\"muted_glyph\":{\"id\":\"2691\"},\"nonselection_glyph\":{\"id\":\"2690\"},\"view\":{\"id\":\"2693\"}},\"id\":\"2692\",\"type\":\"GlyphRenderer\"},{\"attributes\":{\"data\":{\"age\":[39,42,31,35,74,61,32,62,33,53,41,36,40,24,32,40,61,42,31,28,26,45,28,44,28],\"confidence when correct\":{\"__ndarray__\":\"AAAAAABAV0AAAAAAAMBSQAAAAAAAQFZAAAAAAAAAVkAAAAAAAEBQQAAAAAAAIFBAAAAAAACAUEAAAAAAAABPQAAAAAAAAFFAAAAAAADAUUAAAAAAAIBUQAAAAAAAAFNAAAAAAADgU0AAAAAAAIBLQAAAAAAAQFVAAAAAAACAUUAAAAAAAEBLQAAAAAAAIFZAAAAAAADgVUAAAAAAAABZQAAAAAAAQFNAAAAAAAAAWUAAAAAAAABUQAAAAAAAYFFAAAAAAABAVEA=\",\"dtype\":\"float64\",\"order\":\"little\",\"shape\":[25]},\"confidence when correct hit\":{\"__ndarray__\":\"AAAAAADAVkAAAAAAAOBSQAAAAAAAYFZAAAAAAABgVkAAAAAAACBRQAAAAAAAwFFAAAAAAADAUEAAAAAAAABLQAAAAAAAoFFAAAAAAACgUkAAAAAAAIBUQAAAAAAAIFNAAAAAAAAAVEAAAAAAAABNQAAAAAAAQFVAAAAAAABAUUAAAAAAAGBRQAAAAAAAwFVAAAAAAAAAV0AAAAAAAABZQAAAAAAAgFFAAAAAAAAAWUAAAAAAAGBWQAAAAAAAAE9AAAAAAADAVUA=\",\"dtype\":\"float64\",\"order\":\"little\",\"shape\":[25]},\"confidence when correct reject\":{\"__ndarray__\":\"AAAAAABAV0AAAAAAAKBRQAAAAAAAgFVAAAAAAADAUUAAAAAAAIBOQAAAAAAAAD9AAAAAAACAUEAAAAAAAEBQQAAAAAAAIFBAAAAAAABATkAAAAAAAEBSQAAAAAAAwFJAAAAAAADAU0AAAAAAAIBIQAAAAAAAQFVAAAAAAACAUUAAAAAAAEBGQAAAAAAAoFZAAAAAAABAVEAAAAAAAABZQAAAAAAAgFRAAAAAAAAAWUAAAAAAAMBQQAAAAAAAwFVAAAAAAAAAUUA=\",\"dtype\":\"float64\",\"order\":\"little\",\"shape\":[25]},\"confidence when incorrect\":{\"__ndarray__\":\"AAAAAACAVkAAAAAAAABJQAAAAAAAAFZAAAAAAAAAVEAAAAAAAIBIQAAAAAAAoFFAAAAAAAAAUEAAAAAAAIBOQAAAAAAAIFNAAAAAAABAUEAAAAAAAABQQAAAAAAA4FJAAAAAAACAT0AAAAAAAIBNQAAAAAAA4FRAAAAAAAAATEAAAAAAAEBSQAAAAAAAAFBAAAAAAAAATkAAAAAAAABZQAAAAAAAoFFAAAAAAAAAWUAAAAAAAABOQAAAAAAAYFJAAAAAAAAAS0A=\",\"dtype\":\"float64\",\"order\":\"little\",\"shape\":[25]},\"confidence when incorrect hit\":{\"__ndarray__\":\"AAAAAACAVkAAAAAAAMBLQAAAAAAAgFZAAAAAAAAA+H8AAAAAAIBIQAAAAAAAgE9AAAAAAABATEAAAAAAAIBCQAAAAAAAIFNAAAAAAAAA+H8AAAAAAMBOQAAAAAAA4FJAAAAAAABAVkAAAAAAAABJQAAAAAAAQFRAAAAAAAAATEAAAAAAAAD4fwAAAAAAAFJAAAAAAAAA+H8AAAAAAAD4fwAAAAAAQFNAAAAAAAAA+H8AAAAAAAD4fwAAAAAAAFJAAAAAAAAA+H8=\",\"dtype\":\"float64\",\"order\":\"little\",\"shape\":[25]},\"confidence when incorrect reject\":{\"__ndarray__\":\"AAAAAADgVEAAAAAAAABJQAAAAAAAQFRAAAAAAAAAVEAAAAAAAIBIQAAAAAAAIFJAAAAAAABAUEAAAAAAAGBUQAAAAAAAAPh/AAAAAABAUEAAAAAAAEBRQAAAAAAAAPh/AAAAAABATUAAAAAAAABRQAAAAAAAgFVAAAAAAAAA+H8AAAAAAEBSQAAAAAAAwEVAAAAAAAAATkAAAAAAAABZQAAAAAAA4FBAAAAAAAAAWUAAAAAAAABOQAAAAAAAQFNAAAAAAAAAS0A=\",\"dtype\":\"float64\",\"order\":\"little\",\"shape\":[25]},\"correct hit percentage\":[65,90,90,100,60,80,90,45,80,100,70,90,95,85,75,40,100,70,100,100,60,100,100,65,100],\"correct reject percentage\":[80,90,95,75,65,20,75,90,100,50,55,100,65,75,55,100,40,90,70,50,80,95,75,25,40],\"ess\":[2,7,3,20,12,2,3,9,10,7,19,0,8,4,7,14,12,10,11,12,1,6,4,6,2],\"gender\":[\"f\",\"m\",\"f\",\"f\",\"f\",\"f\",\"m\",\"m\",\"f\",\"f\",\"f\",\"f\",\"f\",\"f\",\"f\",\"f\",\"f\",\"f\",\"m\",\"m\",\"f\",\"m\",\"f\",\"f\",\"f\"],\"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],\"insomnia\":[true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true],\"participant number\":[8,16,18,22,27,28,30,33,34,35,38,41,46,49,55,71,76,77,78,80,89,90,93,100,101],\"percent correct\":{\"__ndarray__\":\"AAAAAAAgUkAAAAAAAIBWQAAAAAAAIFdAAAAAAADgVUAAAAAAAEBPQAAAAAAAAElAAAAAAACgVEAAAAAAAOBQQAAAAAAAgFZAAAAAAADAUkAAAAAAAEBPQAAAAAAAwFdAAAAAAAAAVEAAAAAAAABUQAAAAAAAQFBAAAAAAACAUUAAAAAAAIBRQAAAAAAAAFRAAAAAAABAVUAAAAAAAMBSQAAAAAAAgFFAAAAAAABgWEAAAAAAAOBVQAAAAAAAgEZAAAAAAACAUUA=\",\"dtype\":\"float64\",\"order\":\"little\",\"shape\":[25]},\"psqi\":[13,11,9,8,9,14,9,9,12,8,5,7,12,13,13,11,4,10,6,7,8,9,7,15,7],\"sci\":[9,4,10,13,13,15,16,14,14,14,14,15,10,14,5,0,16,11,14,12,14,14,16,1,14]},\"selected\":{\"id\":\"2306\"},\"selection_policy\":{\"id\":\"2305\"}},\"id\":\"2190\",\"type\":\"ColumnDataSource\"},{\"attributes\":{\"label\":{\"value\":\"insomnia\"},\"renderers\":[{\"id\":\"2692\"}]},\"id\":\"2696\",\"type\":\"LegendItem\"},{\"attributes\":{},\"id\":\"2673\",\"type\":\"HelpTool\"},{\"attributes\":{\"end\":100},\"id\":\"2652\",\"type\":\"Range1d\"},{\"attributes\":{\"fill_color\":{\"value\":\"#1f77b3\"},\"hatch_color\":{\"value\":\"#1f77b3\"},\"line_color\":{\"value\":\"#1f77b3\"},\"x\":{\"field\":\"confidence when correct\"},\"y\":{\"field\":\"confidence when incorrect\"}},\"id\":\"2683\",\"type\":\"Circle\"},{\"attributes\":{},\"id\":\"2812\",\"type\":\"BasicTickFormatter\"},{\"attributes\":{},\"id\":\"2671\",\"type\":\"SaveTool\"},{\"attributes\":{\"align\":\"center\",\"coordinates\":null,\"group\":null,\"text\":\"GMFT with sleep conditions\",\"text_font_size\":\"8pt\",\"text_font_style\":\"normal\"},\"id\":\"2650\",\"type\":\"Title\"},{\"attributes\":{\"fill_alpha\":{\"value\":0.2},\"fill_color\":{\"value\":\"#1f77b3\"},\"hatch_alpha\":{\"value\":0.2},\"hatch_color\":{\"value\":\"#1f77b3\"},\"line_alpha\":{\"value\":0.2},\"line_color\":{\"value\":\"#1f77b3\"},\"x\":{\"field\":\"confidence when correct\"},\"y\":{\"field\":\"confidence when incorrect\"}},\"id\":\"2685\",\"type\":\"Circle\"},{\"attributes\":{\"end\":100},\"id\":\"2654\",\"type\":\"Range1d\"},{\"attributes\":{},\"id\":\"2816\",\"type\":\"AllLabels\"},{\"attributes\":{\"background_fill_color\":\"#eaeaf2\",\"border_line_color\":\"darkgray\",\"border_line_width\":0.75,\"click_policy\":\"hide\",\"coordinates\":null,\"group\":null,\"items\":[{\"id\":\"2695\"},{\"id\":\"2696\"}],\"label_text_font_size\":\"7.5pt\"},\"id\":\"2694\",\"type\":\"Legend\"},{\"attributes\":{},\"id\":\"2306\",\"type\":\"Selection\"},{\"attributes\":{},\"id\":\"2305\",\"type\":\"UnionRenderers\"},{\"attributes\":{},\"id\":\"2661\",\"type\":\"BasicTicker\"},{\"attributes\":{\"fill_alpha\":{\"value\":0.1},\"fill_color\":{\"value\":\"#ff7e0e\"},\"hatch_alpha\":{\"value\":0.1},\"hatch_color\":{\"value\":\"#ff7e0e\"},\"line_alpha\":{\"value\":0.1},\"line_color\":{\"value\":\"#ff7e0e\"},\"x\":{\"field\":\"confidence when correct\"},\"y\":{\"field\":\"confidence when incorrect\"}},\"id\":\"2690\",\"type\":\"Circle\"},{\"attributes\":{},\"id\":\"2658\",\"type\":\"LinearScale\"},{\"attributes\":{\"data\":{\"age\":[42,45,16,21,18,28,38,17,25,22,41,53,43,23,19,45,43,35,24,64,36,35,43,44,29,22,46,35,53,29,31,21,42,23,54,24,21,21,43,50,53,16,67,36,34,42,46,69,31,44,25,45,47,33,18,74,21,45,37,41,41,34,39,18,31,26,66,62,22,41,46,56,23,70,24,40,33],\"confidence when correct\":{\"__ndarray__\":\"AAAAAACASUAAAAAAAKBTQAAAAAAAgExAAAAAAAAATkAAAAAAAABUQAAAAAAAwFhAAAAAAACAU0AAAAAAAKBTQAAAAAAAgFZAAAAAAACAUUAAAAAAAIBSQAAAAAAAgEdAAAAAAAAASkAAAAAAAABVQAAAAAAAgE9AAAAAAAAAT0AAAAAAAMBNQAAAAAAA4FJAAAAAAACAU0AAAAAAAIBPQAAAAAAAQFRAAAAAAAAAOEAAAAAAAABJQAAAAAAAQFRAAAAAAADAUEAAAAAAAEBTQAAAAAAAAFlAAAAAAAAAUUAAAAAAAABIQAAAAAAAgFJAAAAAAACAVEAAAAAAAMBQQAAAAAAAoFRAAAAAAADAUEAAAAAAAABWQAAAAAAAwFRAAAAAAADAT0AAAAAAACBUQAAAAAAAwFFAAAAAAADAV0AAAAAAAKBTQAAAAAAAQEpAAAAAAABAUUAAAAAAAIBOQAAAAAAAgFBAAAAAAACAUkAAAAAAAABXQAAAAAAAAFRAAAAAAAAAV0AAAAAAAMBUQAAAAAAAQE5AAAAAAAAgUkAAAAAAAGBYQAAAAAAAAFFAAAAAAADAUEAAAAAAAEBQQAAAAAAAgFRAAAAAAADAUkAAAAAAAIBXQAAAAAAAQFNAAAAAAAAAV0AAAAAAAEBUQAAAAAAAAE1AAAAAAADgVkAAAAAAAABZQAAAAAAAQFVAAAAAAACAUkAAAAAAAOBTQAAAAAAAoFFAAAAAAAAAUkAAAAAAAEBVQAAAAAAAAFBAAAAAAABAU0AAAAAAAIBSQAAAAAAAQFBAAAAAAABAVEAAAAAAAEBUQA==\",\"dtype\":\"float64\",\"order\":\"little\",\"shape\":[77]},\"confidence when correct hit\":{\"__ndarray__\":\"AAAAAADASUAAAAAAAMBSQAAAAAAAgFFAAAAAAADAT0AAAAAAACBTQAAAAAAAAFlAAAAAAABAU0AAAAAAACBUQAAAAAAAgFZAAAAAAACAUUAAAAAAACBTQAAAAAAAAERAAAAAAAAASkAAAAAAAABWQAAAAAAAAE9AAAAAAAAAUUAAAAAAAIBNQAAAAAAA4FJAAAAAAAAAUUAAAAAAAABJQAAAAAAAAFZAAAAAAACAPUAAAAAAAGBQQAAAAAAAwFRAAAAAAADAUEAAAAAAAIBTQAAAAAAAIFJAAAAAAABAT0AAAAAAAABLQAAAAAAAwFJAAAAAAACAVEAAAAAAAIBQQAAAAAAAwFRAAAAAAADAUEAAAAAAAIBWQAAAAAAAQFhAAAAAAABAUEAAAAAAAABVQAAAAAAAgFJAAAAAAAAgV0AAAAAAAABVQAAAAAAAgEtAAAAAAACAUUAAAAAAAOBQQAAAAAAAQE1AAAAAAACgUkAAAAAAAABXQAAAAAAAAFRAAAAAAACAWEAAAAAAAMBVQAAAAAAAwE5AAAAAAAAgVEAAAAAAAABZQAAAAAAAgFFAAAAAAADgUEAAAAAAAIBQQAAAAAAAoFZAAAAAAACAUkAAAAAAAOBXQAAAAAAAAFRAAAAAAACgV0AAAAAAAEBUQAAAAAAAgExAAAAAAABAV0AAAAAAAABZQAAAAAAAQFVAAAAAAADgUEAAAAAAAEBUQAAAAAAAgFBAAAAAAACAS0AAAAAAAIBWQAAAAAAAgE9AAAAAAABAU0AAAAAAAGBQQAAAAAAAwE5AAAAAAACASkAAAAAAAABUQA==\",\"dtype\":\"float64\",\"order\":\"little\",\"shape\":[77]},\"confidence when correct reject\":{\"__ndarray__\":\"AAAAAACARUAAAAAAAABUQAAAAAAAAEtAAAAAAAAASUAAAAAAAABUQAAAAAAAgFdAAAAAAADAU0AAAAAAACBTQAAAAAAAQFVAAAAAAACAUUAAAAAAAOBQQAAAAAAAAExAAAAAAACASEAAAAAAAKBRQAAAAAAAgFBAAAAAAACATkAAAAAAAABQQAAAAAAAoFJAAAAAAAAAVEAAAAAAAIBQQAAAAAAAgFBAAAAAAAAAM0AAAAAAAIBEQAAAAAAAwFNAAAAAAABAUEAAAAAAAEBTQAAAAAAAAFlAAAAAAABAU0AAAAAAAMBHQAAAAAAAIFBAAAAAAABAVEAAAAAAAIBRQAAAAAAAIFRAAAAAAABAUUAAAAAAAGBTQAAAAAAAgFJAAAAAAAAATEAAAAAAAGBSQAAAAAAAAFFAAAAAAADAV0AAAAAAAABRQAAAAAAAAElAAAAAAABAUUAAAAAAAIBLQAAAAAAAYFJAAAAAAACAUkAAAAAAAABXQAAAAAAAoFNAAAAAAACAVkAAAAAAAEBRQAAAAAAAQE1AAAAAAACAT0AAAAAAAOBRQAAAAAAAQE1AAAAAAACAUEAAAAAAAIBPQAAAAAAAoFJAAAAAAAAAU0AAAAAAAOBUQAAAAAAAgFFAAAAAAACAVUAAAAAAAMBRQAAAAAAAwE1AAAAAAADAVkAAAAAAAABZQAAAAAAAgFRAAAAAAACAUkAAAAAAAKBSQAAAAAAAAFJAAAAAAAAAVEAAAAAAAABUQAAAAAAA4FBAAAAAAABAU0AAAAAAAMBVQAAAAAAAgFFAAAAAAAAAVUAAAAAAAAA/QA==\",\"dtype\":\"float64\",\"order\":\"little\",\"shape\":[77]},\"confidence when incorrect\":{\"__ndarray__\":\"AAAAAACASEAAAAAAAMBQQAAAAAAAQEtAAAAAAAAASUAAAAAAAMBUQAAAAAAAQFBAAAAAAAAAQkAAAAAAAOBQQAAAAAAAAPh/AAAAAACAUUAAAAAAAMBLQAAAAAAAAEZAAAAAAAAAPUAAAAAAAEBLQAAAAAAAAElAAAAAAAAAS0AAAAAAAIBMQAAAAAAAwEFAAAAAAADAUEAAAAAAAIA4QAAAAAAAwE9AAAAAAACAQUAAAAAAAIBGQAAAAAAAAEtAAAAAAACASkAAAAAAAABVQAAAAAAAwFZAAAAAAAAAP0AAAAAAAIBJQAAAAAAAgEVAAAAAAACASEAAAAAAAAA9QAAAAAAAAFNAAAAAAAAAREAAAAAAAMBTQAAAAAAAwEtAAAAAAAAAUUAAAAAAAEBQQAAAAAAAAFFAAAAAAABAUEAAAAAAAABNQAAAAAAAgEFAAAAAAADATUAAAAAAAABJQAAAAAAAwEdAAAAAAAAA+H8AAAAAAGBSQAAAAAAAgFFAAAAAAAAAREAAAAAAAMBQQAAAAAAAAPh/AAAAAADATkAAAAAAAMBUQAAAAAAAAERAAAAAAACASkAAAAAAAIBLQAAAAAAAQFRAAAAAAAAAUEAAAAAAAMBRQAAAAAAAgE1AAAAAAADAUEAAAAAAAABNQAAAAAAAAElAAAAAAADAVkAAAAAAAABJQAAAAAAAQFVAAAAAAAAAUEAAAAAAAIBUQAAAAAAAwE1AAAAAAAAATkAAAAAAAMBSQAAAAAAAwE1AAAAAAACAUkAAAAAAAABUQAAAAAAAQFRAAAAAAACASUAAAAAAAEBSQA==\",\"dtype\":\"float64\",\"order\":\"little\",\"shape\":[77]},\"confidence when incorrect hit\":{\"__ndarray__\":\"AAAAAABARkAAAAAAAMBLQAAAAAAAgExAAAAAAAAAUEAAAAAAAMBUQAAAAAAAQFVAAAAAAADARUAAAAAAAOBVQAAAAAAAAPh/AAAAAACAUUAAAAAAAMBLQAAAAAAAgEBAAAAAAAAAPUAAAAAAAABEQAAAAAAAAElAAAAAAAAA+H8AAAAAAIBLQAAAAAAAwEFAAAAAAADAUEAAAAAAAAA5QAAAAAAAAPh/AAAAAACAPEAAAAAAAAA7QAAAAAAAAExAAAAAAACASkAAAAAAAABWQAAAAAAAAFJAAAAAAAAAPUAAAAAAAABAQAAAAAAAAPh/AAAAAACASEAAAAAAAAA9QAAAAAAAwFRAAAAAAACAR0AAAAAAAOBUQAAAAAAAgERAAAAAAABAUkAAAAAAAMBLQAAAAAAAQFZAAAAAAAAgUkAAAAAAAIBLQAAAAAAAAD5AAAAAAAAAHEAAAAAAAIA8QAAAAAAAgEVAAAAAAAAA+H8AAAAAAOBSQAAAAAAAQFBAAAAAAAAA+H8AAAAAAMBHQAAAAAAAAPh/AAAAAADASUAAAAAAAAD4fwAAAAAAAENAAAAAAADASUAAAAAAAIBLQAAAAAAAAFRAAAAAAADAUEAAAAAAAABRQAAAAAAAwE1AAAAAAADATkAAAAAAAABKQAAAAAAAgExAAAAAAAAAV0AAAAAAAAD4fwAAAAAAAFZAAAAAAACAUEAAAAAAAAD4fwAAAAAAAExAAAAAAACATkAAAAAAAMBSQAAAAAAAQEpAAAAAAACgUEAAAAAAAGBVQAAAAAAAQFRAAAAAAACAQkAAAAAAAAA7QA==\",\"dtype\":\"float64\",\"order\":\"little\",\"shape\":[77]},\"confidence when incorrect reject\":{\"__ndarray__\":\"AAAAAACASEAAAAAAAMBSQAAAAAAAgEpAAAAAAAAASUAAAAAAAAD4fwAAAAAAgE5AAAAAAAAANUAAAAAAAAA7QAAAAAAAAPh/AAAAAABAUEAAAAAAAEBKQAAAAAAAgEhAAAAAAAAAQkAAAAAAAKBQQAAAAAAAQElAAAAAAAAAS0AAAAAAAIBNQAAAAAAAAPh/AAAAAAAA+H8AAAAAAAA4QAAAAAAAwE9AAAAAAADAREAAAAAAAIBGQAAAAAAAQEVAAAAAAACASkAAAAAAAABUQAAAAAAAwFZAAAAAAAAAQEAAAAAAAKBTQAAAAAAAgEVAAAAAAAAAQkAAAAAAAAA9QAAAAAAAAEJAAAAAAAAAREAAAAAAAEBRQAAAAAAAQFJAAAAAAAAAUUAAAAAAAIBRQAAAAAAAQFBAAAAAAABAUEAAAAAAAIBOQAAAAAAAAERAAAAAAAAATkAAAAAAAABKQAAAAAAAwEpAAAAAAAAA+H8AAAAAAIBPQAAAAAAAoFFAAAAAAAAAREAAAAAAAMBVQAAAAAAAAPh/AAAAAABAUUAAAAAAAMBUQAAAAAAAQFBAAAAAAACATEAAAAAAAEBJQAAAAAAAwFRAAAAAAAAAMUAAAAAAAMBUQAAAAAAAgERAAAAAAACAUkAAAAAAAABNQAAAAAAAAElAAAAAAABAVkAAAAAAAABJQAAAAAAAgFRAAAAAAACATEAAAAAAAIBUQAAAAAAAgE9AAAAAAACATEAAAAAAAABUQAAAAAAAYFBAAAAAAABgU0AAAAAAAABUQAAAAAAAgE5AAAAAAAAASkAAAAAAAKBUQA==\",\"dtype\":\"float64\",\"order\":\"little\",\"shape\":[77]},\"correct hit percentage\":[80,80,70,70,90,95,90,90,100,80,90,95,95,90,55,100,65,90,55,75,100,70,90,95,95,70,80,50,65,100,85,85,90,90,90,85,85,90,95,70,95,85,95,90,90,100,80,95,100,90,100,70,90,85,80,85,40,80,90,90,80,90,75,85,100,95,60,100,85,35,95,70,70,90,70,75,85],\"correct reject percentage\":[65,90,80,65,100,80,95,90,100,60,80,60,90,80,60,85,65,100,100,85,80,90,85,90,55,65,75,95,80,70,90,90,90,85,70,95,75,80,75,85,75,85,75,65,90,100,90,80,95,95,100,50,100,70,75,80,40,95,80,85,75,35,70,85,85,75,85,80,95,75,80,50,85,85,80,65,40],\"ess\":[5,1,3,4,5,12,4,4,11,6,3,11,10,12,6,13,12,5,10,4,4,6,3,0,12,6,5,9,7,6,10,18,11,8,16,7,9,11,4,7,4,11,12,3,3,4,11,1,4,2,9,1,2,12,6,5,5,4,9,3,8,6,10,21,5,5,9,1,8,11,5,7,10,7,15,7,7],\"gender\":[\"f\",\"f\",\"f\",\"f\",\"f\",\"f\",\"f\",\"m\",\"f\",\"f\",\"m\",\"m\",\"m\",\"f\",\"m\",\"f\",\"f\",\"m\",\"m\",\"f\",\"f\",\"m\",\"f\",\"m\",\"f\",\"m\",\"f\",\"f\",\"m\",\"m\",\"f\",\"f\",\"f\",\"f\",\"m\",\"f\",\"f\",\"f\",\"f\",\"m\",\"f\",\"f\",\"f\",\"m\",\"f\",\"f\",\"f\",\"f\",\"f\",\"f\",\"f\",\"f\",\"f\",\"f\",\"f\",\"f\",\"m\",\"f\",\"f\",\"m\",\"f\",\"f\",\"f\",\"f\",\"f\",\"m\",\"m\",\"m\",\"m\",\"f\",\"m\",\"f\",\"f\",\"f\",\"f\",\"f\",\"f\"],\"index\":[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],\"insomnia\":[false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false],\"participant number\":[1,2,3,4,5,6,7,9,10,11,12,13,14,15,17,19,20,21,23,24,25,26,29,31,32,36,37,39,40,42,43,44,45,48,50,51,52,53,54,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,72,73,74,75,79,81,82,83,84,85,86,87,88,91,92,94,95,96,97,98,99,102,103],\"percent correct\":{\"__ndarray__\":\"AAAAAAAgUkAAAAAAAEBVQAAAAAAAwFJAAAAAAADgUEAAAAAAAMBXQAAAAAAA4FVAAAAAAAAgV0AAAAAAAIBWQAAAAAAAAFlAAAAAAACAUUAAAAAAAEBVQAAAAAAAYFNAAAAAAAAgV0AAAAAAAEBVQAAAAAAAwExAAAAAAAAgV0AAAAAAAEBQQAAAAAAAwFdAAAAAAABgU0AAAAAAAABUQAAAAAAAgFZAAAAAAAAAVEAAAAAAAOBVQAAAAAAAIFdAAAAAAADAUkAAAAAAAOBQQAAAAAAAYFNAAAAAAAAgUkAAAAAAACBSQAAAAAAAQFVAAAAAAADgVUAAAAAAAOBVQAAAAAAAgFZAAAAAAADgVUAAAAAAAABUQAAAAAAAgFZAAAAAAAAAVEAAAAAAAEBVQAAAAAAAQFVAAAAAAABgU0AAAAAAAEBVQAAAAAAAQFVAAAAAAABAVUAAAAAAAGBTQAAAAAAAgFZAAAAAAAAAWUAAAAAAAEBVQAAAAAAA4FVAAAAAAABgWEAAAAAAACBXQAAAAAAAAFlAAAAAAAAATkAAAAAAAMBXQAAAAAAAYFNAAAAAAABgU0AAAAAAAKBUQAAAAAAAAERAAAAAAADgVUAAAAAAAEBVQAAAAAAA4FVAAAAAAABgU0AAAAAAAEBPQAAAAAAAIFJAAAAAAABAVUAAAAAAACBXQAAAAAAAQFVAAAAAAAAgUkAAAAAAAIBWQAAAAAAAgFZAAAAAAACAS0AAAAAAAOBVQAAAAAAAAE5AAAAAAABgU0AAAAAAAOBVQAAAAAAAwFJAAAAAAACAUUAAAAAAAEBPQA==\",\"dtype\":\"float64\",\"order\":\"little\",\"shape\":[77]},\"psqi\":[1,5,1,5,7,7,3,3,10,4,5,2,2,2,5,2,3,3,4,9,5,2,1,4,8,2,2,6,3,1,5,7,3,6,6,1,6,4,4,3,5,2,7,4,0,5,1,1,4,1,8,4,2,7,4,1,7,4,5,6,4,2,3,4,3,1,5,2,1,1,3,6,8,8,2,4,5],\"sci\":[29,19,23,26,21,19,28,29,17,22,28,31,31,32,25,30,28,30,22,20,26,32,32,24,26,30,28,21,29,32,26,26,23,18,22,29,20,27,19,29,24,29,17,26,30,17,25,31,27,32,28,25,30,21,29,20,22,23,20,17,27,27,22,25,30,32,30,32,28,31,29,26,20,19,31,22,24]},\"selected\":{\"id\":\"2304\"},\"selection_policy\":{\"id\":\"2303\"}},\"id\":\"2191\",\"type\":\"ColumnDataSource\"},{\"attributes\":{\"label\":{\"value\":\"normal\"},\"renderers\":[{\"id\":\"2686\"}]},\"id\":\"2695\",\"type\":\"LegendItem\"},{\"attributes\":{},\"id\":\"2304\",\"type\":\"Selection\"},{\"attributes\":{\"axis_label\":\"condifence when incorrect\",\"axis_label_text_font_size\":\"7.5pt\",\"axis_label_text_font_style\":\"normal\",\"axis_line_color\":null,\"coordinates\":null,\"formatter\":{\"id\":\"2812\"},\"group\":null,\"major_label_policy\":{\"id\":\"2813\"},\"major_label_text_font_size\":\"7.5pt\",\"major_tick_in\":0,\"major_tick_out\":0,\"minor_tick_out\":0,\"ticker\":{\"id\":\"2665\"}},\"id\":\"2664\",\"type\":\"LinearAxis\"},{\"attributes\":{\"axis\":{\"id\":\"2660\"},\"coordinates\":null,\"grid_line_color\":\"#FFFFFF\",\"grid_line_width\":0.75,\"group\":null,\"ticker\":null},\"id\":\"2663\",\"type\":\"Grid\"},{\"attributes\":{},\"id\":\"2813\",\"type\":\"AllLabels\"},{\"attributes\":{\"fill_alpha\":{\"value\":0.1},\"fill_color\":{\"value\":\"#1f77b3\"},\"hatch_alpha\":{\"value\":0.1},\"hatch_color\":{\"value\":\"#1f77b3\"},\"line_alpha\":{\"value\":0.1},\"line_color\":{\"value\":\"#1f77b3\"},\"x\":{\"field\":\"confidence when correct\"},\"y\":{\"field\":\"confidence when incorrect\"}},\"id\":\"2684\",\"type\":\"Circle\"},{\"attributes\":{},\"id\":\"2669\",\"type\":\"WheelZoomTool\"},{\"attributes\":{},\"id\":\"2303\",\"type\":\"UnionRenderers\"},{\"attributes\":{},\"id\":\"2656\",\"type\":\"LinearScale\"},{\"attributes\":{\"axis_label\":\"confidence when correct\",\"axis_label_text_font_size\":\"7.5pt\",\"axis_label_text_font_style\":\"normal\",\"axis_line_color\":null,\"coordinates\":null,\"formatter\":{\"id\":\"2815\"},\"group\":null,\"major_label_policy\":{\"id\":\"2816\"},\"major_label_text_font_size\":\"7.5pt\",\"major_tick_in\":0,\"major_tick_out\":0,\"minor_tick_out\":0,\"ticker\":{\"id\":\"2661\"}},\"id\":\"2660\",\"type\":\"LinearAxis\"},{\"attributes\":{\"coordinates\":null,\"data_source\":{\"id\":\"2191\"},\"glyph\":{\"id\":\"2683\"},\"group\":null,\"hover_glyph\":null,\"muted_glyph\":{\"id\":\"2685\"},\"nonselection_glyph\":{\"id\":\"2684\"},\"view\":{\"id\":\"2687\"}},\"id\":\"2686\",\"type\":\"GlyphRenderer\"},{\"attributes\":{\"axis\":{\"id\":\"2664\"},\"coordinates\":null,\"dimension\":1,\"grid_line_color\":\"#FFFFFF\",\"grid_line_width\":0.75,\"group\":null,\"ticker\":null},\"id\":\"2667\",\"type\":\"Grid\"},{\"attributes\":{\"source\":{\"id\":\"2191\"}},\"id\":\"2687\",\"type\":\"CDSView\"},{\"attributes\":{},\"id\":\"2665\",\"type\":\"BasicTicker\"},{\"attributes\":{},\"id\":\"2815\",\"type\":\"BasicTickFormatter\"},{\"attributes\":{\"fill_color\":{\"value\":\"#ff7e0e\"},\"hatch_color\":{\"value\":\"#ff7e0e\"},\"line_color\":{\"value\":\"#ff7e0e\"},\"x\":{\"field\":\"confidence when correct\"},\"y\":{\"field\":\"confidence when incorrect\"}},\"id\":\"2689\",\"type\":\"Circle\"},{\"attributes\":{\"bottom_units\":\"screen\",\"coordinates\":null,\"fill_alpha\":0.5,\"fill_color\":\"lightgrey\",\"group\":null,\"left_units\":\"screen\",\"level\":\"overlay\",\"line_alpha\":1.0,\"line_color\":\"black\",\"line_dash\":[4,4],\"line_width\":2,\"right_units\":\"screen\",\"syncable\":false,\"top_units\":\"screen\"},\"id\":\"2674\",\"type\":\"BoxAnnotation\"},{\"attributes\":{\"overlay\":{\"id\":\"2674\"}},\"id\":\"2670\",\"type\":\"BoxZoomTool\"},{\"attributes\":{\"tools\":[{\"id\":\"2668\"},{\"id\":\"2669\"},{\"id\":\"2670\"},{\"id\":\"2671\"},{\"id\":\"2672\"},{\"id\":\"2673\"}]},\"id\":\"2675\",\"type\":\"Toolbar\"},{\"attributes\":{\"source\":{\"id\":\"2190\"}},\"id\":\"2693\",\"type\":\"CDSView\"},{\"attributes\":{},\"id\":\"2672\",\"type\":\"ResetTool\"}],\"root_ids\":[\"2649\"]},\"title\":\"Bokeh Application\",\"version\":\"2.4.2\"}};\n", " const render_items = [{\"docid\":\"1b33b1ec-f510-41a8-8dbd-2747e84c5ff9\",\"root_ids\":[\"2649\"],\"roots\":{\"2649\":\"b2649a19-ec23-4061-b00a-84aa11cc1875\"}}];\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", " let attempts = 0;\n", " const timer = setInterval(function(root) {\n", " if (root.Bokeh !== undefined) {\n", " clearInterval(timer);\n", " embed_document(root);\n", " } else {\n", " attempts++;\n", " if (attempts > 100) {\n", " clearInterval(timer);\n", " console.log(\"Bokeh: ERROR: Unable to run BokehJS code because BokehJS library is missing\");\n", " }\n", " }\n", " }, 10, root)\n", " }\n", "})(window);" ], "application/vnd.bokehjs_exec.v0+json": "" }, "metadata": { "application/vnd.bokehjs_exec.v0+json": { "id": "2649" } }, "output_type": "display_data" } ], "source": [ "bokeh.io.show(gfmt_plot())" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Finally, we can specify a style I like. Note that I do not specify that the glyphs are at an overlay level, since by default Bokeh will scale the axes such that the glyphs are fully contained in the plot area. I also put the toolbar above the plot, which is usually not a problem because I generally prefer not to title my plots, opting instead for good textual description in captions or in surrounding text." ] }, { "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", " const docs_json = {\"3ee4c95a-78e0-45b5-80aa-b293a8229fcc\":{\"defs\":[],\"roots\":{\"references\":[{\"attributes\":{\"below\":[{\"id\":\"2893\"}],\"center\":[{\"id\":\"2896\"},{\"id\":\"2900\"}],\"frame_height\":300,\"frame_width\":300,\"left\":[{\"id\":\"2897\"}],\"renderers\":[{\"id\":\"2919\"},{\"id\":\"2925\"}],\"right\":[{\"id\":\"2927\"}],\"title\":{\"id\":\"2883\"},\"toolbar\":{\"id\":\"2908\"},\"toolbar_location\":\"above\",\"x_range\":{\"id\":\"2885\"},\"x_scale\":{\"id\":\"2889\"},\"y_range\":{\"id\":\"2887\"},\"y_scale\":{\"id\":\"2891\"}},\"id\":\"2882\",\"subtype\":\"Figure\",\"type\":\"Plot\"},{\"attributes\":{\"label\":{\"value\":\"normal\"},\"renderers\":[{\"id\":\"2919\"}]},\"id\":\"2928\",\"type\":\"LegendItem\"},{\"attributes\":{\"fill_alpha\":{\"value\":0.2},\"fill_color\":{\"value\":\"#ff7e0e\"},\"hatch_alpha\":{\"value\":0.2},\"hatch_color\":{\"value\":\"#ff7e0e\"},\"line_alpha\":{\"value\":0.2},\"line_color\":{\"value\":\"#ff7e0e\"},\"line_width\":{\"value\":0},\"size\":{\"value\":5},\"x\":{\"field\":\"confidence when correct\"},\"y\":{\"field\":\"confidence when incorrect\"}},\"id\":\"2924\",\"type\":\"Circle\"},{\"attributes\":{\"data\":{\"age\":[39,42,31,35,74,61,32,62,33,53,41,36,40,24,32,40,61,42,31,28,26,45,28,44,28],\"confidence when correct\":{\"__ndarray__\":\"AAAAAABAV0AAAAAAAMBSQAAAAAAAQFZAAAAAAAAAVkAAAAAAAEBQQAAAAAAAIFBAAAAAAACAUEAAAAAAAABPQAAAAAAAAFFAAAAAAADAUUAAAAAAAIBUQAAAAAAAAFNAAAAAAADgU0AAAAAAAIBLQAAAAAAAQFVAAAAAAACAUUAAAAAAAEBLQAAAAAAAIFZAAAAAAADgVUAAAAAAAABZQAAAAAAAQFNAAAAAAAAAWUAAAAAAAABUQAAAAAAAYFFAAAAAAABAVEA=\",\"dtype\":\"float64\",\"order\":\"little\",\"shape\":[25]},\"confidence when correct hit\":{\"__ndarray__\":\"AAAAAADAVkAAAAAAAOBSQAAAAAAAYFZAAAAAAABgVkAAAAAAACBRQAAAAAAAwFFAAAAAAADAUEAAAAAAAABLQAAAAAAAoFFAAAAAAACgUkAAAAAAAIBUQAAAAAAAIFNAAAAAAAAAVEAAAAAAAABNQAAAAAAAQFVAAAAAAABAUUAAAAAAAGBRQAAAAAAAwFVAAAAAAAAAV0AAAAAAAABZQAAAAAAAgFFAAAAAAAAAWUAAAAAAAGBWQAAAAAAAAE9AAAAAAADAVUA=\",\"dtype\":\"float64\",\"order\":\"little\",\"shape\":[25]},\"confidence when correct reject\":{\"__ndarray__\":\"AAAAAABAV0AAAAAAAKBRQAAAAAAAgFVAAAAAAADAUUAAAAAAAIBOQAAAAAAAAD9AAAAAAACAUEAAAAAAAEBQQAAAAAAAIFBAAAAAAABATkAAAAAAAEBSQAAAAAAAwFJAAAAAAADAU0AAAAAAAIBIQAAAAAAAQFVAAAAAAACAUUAAAAAAAEBGQAAAAAAAoFZAAAAAAABAVEAAAAAAAABZQAAAAAAAgFRAAAAAAAAAWUAAAAAAAMBQQAAAAAAAwFVAAAAAAAAAUUA=\",\"dtype\":\"float64\",\"order\":\"little\",\"shape\":[25]},\"confidence when incorrect\":{\"__ndarray__\":\"AAAAAACAVkAAAAAAAABJQAAAAAAAAFZAAAAAAAAAVEAAAAAAAIBIQAAAAAAAoFFAAAAAAAAAUEAAAAAAAIBOQAAAAAAAIFNAAAAAAABAUEAAAAAAAABQQAAAAAAA4FJAAAAAAACAT0AAAAAAAIBNQAAAAAAA4FRAAAAAAAAATEAAAAAAAEBSQAAAAAAAAFBAAAAAAAAATkAAAAAAAABZQAAAAAAAoFFAAAAAAAAAWUAAAAAAAABOQAAAAAAAYFJAAAAAAAAAS0A=\",\"dtype\":\"float64\",\"order\":\"little\",\"shape\":[25]},\"confidence when incorrect hit\":{\"__ndarray__\":\"AAAAAACAVkAAAAAAAMBLQAAAAAAAgFZAAAAAAAAA+H8AAAAAAIBIQAAAAAAAgE9AAAAAAABATEAAAAAAAIBCQAAAAAAAIFNAAAAAAAAA+H8AAAAAAMBOQAAAAAAA4FJAAAAAAABAVkAAAAAAAABJQAAAAAAAQFRAAAAAAAAATEAAAAAAAAD4fwAAAAAAAFJAAAAAAAAA+H8AAAAAAAD4fwAAAAAAQFNAAAAAAAAA+H8AAAAAAAD4fwAAAAAAAFJAAAAAAAAA+H8=\",\"dtype\":\"float64\",\"order\":\"little\",\"shape\":[25]},\"confidence when incorrect reject\":{\"__ndarray__\":\"AAAAAADgVEAAAAAAAABJQAAAAAAAQFRAAAAAAAAAVEAAAAAAAIBIQAAAAAAAIFJAAAAAAABAUEAAAAAAAGBUQAAAAAAAAPh/AAAAAABAUEAAAAAAAEBRQAAAAAAAAPh/AAAAAABATUAAAAAAAABRQAAAAAAAgFVAAAAAAAAA+H8AAAAAAEBSQAAAAAAAwEVAAAAAAAAATkAAAAAAAABZQAAAAAAA4FBAAAAAAAAAWUAAAAAAAABOQAAAAAAAQFNAAAAAAAAAS0A=\",\"dtype\":\"float64\",\"order\":\"little\",\"shape\":[25]},\"correct hit percentage\":[65,90,90,100,60,80,90,45,80,100,70,90,95,85,75,40,100,70,100,100,60,100,100,65,100],\"correct reject percentage\":[80,90,95,75,65,20,75,90,100,50,55,100,65,75,55,100,40,90,70,50,80,95,75,25,40],\"ess\":[2,7,3,20,12,2,3,9,10,7,19,0,8,4,7,14,12,10,11,12,1,6,4,6,2],\"gender\":[\"f\",\"m\",\"f\",\"f\",\"f\",\"f\",\"m\",\"m\",\"f\",\"f\",\"f\",\"f\",\"f\",\"f\",\"f\",\"f\",\"f\",\"f\",\"m\",\"m\",\"f\",\"m\",\"f\",\"f\",\"f\"],\"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],\"insomnia\":[true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true],\"participant number\":[8,16,18,22,27,28,30,33,34,35,38,41,46,49,55,71,76,77,78,80,89,90,93,100,101],\"percent correct\":{\"__ndarray__\":\"AAAAAAAgUkAAAAAAAIBWQAAAAAAAIFdAAAAAAADgVUAAAAAAAEBPQAAAAAAAAElAAAAAAACgVEAAAAAAAOBQQAAAAAAAgFZAAAAAAADAUkAAAAAAAEBPQAAAAAAAwFdAAAAAAAAAVEAAAAAAAABUQAAAAAAAQFBAAAAAAACAUUAAAAAAAIBRQAAAAAAAAFRAAAAAAABAVUAAAAAAAMBSQAAAAAAAgFFAAAAAAABgWEAAAAAAAOBVQAAAAAAAgEZAAAAAAACAUUA=\",\"dtype\":\"float64\",\"order\":\"little\",\"shape\":[25]},\"psqi\":[13,11,9,8,9,14,9,9,12,8,5,7,12,13,13,11,4,10,6,7,8,9,7,15,7],\"sci\":[9,4,10,13,13,15,16,14,14,14,14,15,10,14,5,0,16,11,14,12,14,14,16,1,14]},\"selected\":{\"id\":\"2306\"},\"selection_policy\":{\"id\":\"2305\"}},\"id\":\"2190\",\"type\":\"ColumnDataSource\"},{\"attributes\":{\"fill_alpha\":{\"value\":0.8},\"fill_color\":{\"value\":\"#ff7e0e\"},\"hatch_color\":{\"value\":\"#ff7e0e\"},\"line_color\":{\"value\":\"#ff7e0e\"},\"line_width\":{\"value\":0},\"size\":{\"value\":5},\"x\":{\"field\":\"confidence when correct\"},\"y\":{\"field\":\"confidence when incorrect\"}},\"id\":\"2922\",\"type\":\"Circle\"},{\"attributes\":{\"label\":{\"value\":\"insomnia\"},\"renderers\":[{\"id\":\"2925\"}]},\"id\":\"2929\",\"type\":\"LegendItem\"},{\"attributes\":{\"source\":{\"id\":\"2190\"}},\"id\":\"2926\",\"type\":\"CDSView\"},{\"attributes\":{\"coordinates\":null,\"data_source\":{\"id\":\"2191\"},\"glyph\":{\"id\":\"2916\"},\"group\":null,\"hover_glyph\":null,\"muted_glyph\":{\"id\":\"2918\"},\"nonselection_glyph\":{\"id\":\"2917\"},\"view\":{\"id\":\"2920\"}},\"id\":\"2919\",\"type\":\"GlyphRenderer\"},{\"attributes\":{\"axis_label\":\"confidence when correct\",\"axis_label_text_font_size\":\"9pt\",\"axis_label_text_font_style\":\"bold\",\"axis_line_color\":\"dimgray\",\"coordinates\":null,\"formatter\":{\"id\":\"3060\"},\"group\":null,\"major_label_policy\":{\"id\":\"3061\"},\"major_label_text_font_size\":\"7.5pt\",\"major_tick_line_color\":\"dimgray\",\"ticker\":{\"id\":\"2894\"}},\"id\":\"2893\",\"type\":\"LinearAxis\"},{\"attributes\":{\"bottom_units\":\"screen\",\"coordinates\":null,\"fill_alpha\":0.5,\"fill_color\":\"lightgrey\",\"group\":null,\"left_units\":\"screen\",\"level\":\"overlay\",\"line_alpha\":1.0,\"line_color\":\"black\",\"line_dash\":[4,4],\"line_width\":2,\"right_units\":\"screen\",\"syncable\":false,\"top_units\":\"screen\"},\"id\":\"2907\",\"type\":\"BoxAnnotation\"},{\"attributes\":{\"axis_label\":\"condifence when incorrect\",\"axis_label_text_font_size\":\"9pt\",\"axis_label_text_font_style\":\"bold\",\"axis_line_color\":\"dimgray\",\"coordinates\":null,\"formatter\":{\"id\":\"3057\"},\"group\":null,\"major_label_policy\":{\"id\":\"3058\"},\"major_label_text_font_size\":\"7.5pt\",\"major_tick_line_color\":\"dimgray\",\"ticker\":{\"id\":\"2898\"}},\"id\":\"2897\",\"type\":\"LinearAxis\"},{\"attributes\":{\"end\":100},\"id\":\"2885\",\"type\":\"Range1d\"},{\"attributes\":{},\"id\":\"3057\",\"type\":\"BasicTickFormatter\"},{\"attributes\":{\"coordinates\":null,\"group\":null,\"text\":\"GMFT with sleep conditions\",\"text_font\":\"helvetica\",\"text_font_size\":\"10pt\",\"text_font_style\":\"bold\"},\"id\":\"2883\",\"type\":\"Title\"},{\"attributes\":{},\"id\":\"2901\",\"type\":\"PanTool\"},{\"attributes\":{\"fill_alpha\":{\"value\":0.1},\"fill_color\":{\"value\":\"#1f77b3\"},\"hatch_alpha\":{\"value\":0.1},\"hatch_color\":{\"value\":\"#1f77b3\"},\"line_alpha\":{\"value\":0.1},\"line_color\":{\"value\":\"#1f77b3\"},\"line_width\":{\"value\":0},\"size\":{\"value\":5},\"x\":{\"field\":\"confidence when correct\"},\"y\":{\"field\":\"confidence when incorrect\"}},\"id\":\"2917\",\"type\":\"Circle\"},{\"attributes\":{},\"id\":\"2889\",\"type\":\"LinearScale\"},{\"attributes\":{},\"id\":\"3058\",\"type\":\"AllLabels\"},{\"attributes\":{},\"id\":\"2894\",\"type\":\"BasicTicker\"},{\"attributes\":{\"axis\":{\"id\":\"2897\"},\"coordinates\":null,\"dimension\":1,\"group\":null,\"ticker\":null},\"id\":\"2900\",\"type\":\"Grid\"},{\"attributes\":{},\"id\":\"2898\",\"type\":\"BasicTicker\"},{\"attributes\":{},\"id\":\"2906\",\"type\":\"HelpTool\"},{\"attributes\":{},\"id\":\"3060\",\"type\":\"BasicTickFormatter\"},{\"attributes\":{\"end\":100},\"id\":\"2887\",\"type\":\"Range1d\"},{\"attributes\":{},\"id\":\"2902\",\"type\":\"WheelZoomTool\"},{\"attributes\":{},\"id\":\"2306\",\"type\":\"Selection\"},{\"attributes\":{},\"id\":\"2891\",\"type\":\"LinearScale\"},{\"attributes\":{},\"id\":\"2305\",\"type\":\"UnionRenderers\"},{\"attributes\":{\"axis\":{\"id\":\"2893\"},\"coordinates\":null,\"group\":null,\"ticker\":null},\"id\":\"2896\",\"type\":\"Grid\"},{\"attributes\":{\"overlay\":{\"id\":\"2907\"}},\"id\":\"2903\",\"type\":\"BoxZoomTool\"},{\"attributes\":{},\"id\":\"2904\",\"type\":\"SaveTool\"},{\"attributes\":{\"data\":{\"age\":[42,45,16,21,18,28,38,17,25,22,41,53,43,23,19,45,43,35,24,64,36,35,43,44,29,22,46,35,53,29,31,21,42,23,54,24,21,21,43,50,53,16,67,36,34,42,46,69,31,44,25,45,47,33,18,74,21,45,37,41,41,34,39,18,31,26,66,62,22,41,46,56,23,70,24,40,33],\"confidence when correct\":{\"__ndarray__\":\"AAAAAACASUAAAAAAAKBTQAAAAAAAgExAAAAAAAAATkAAAAAAAABUQAAAAAAAwFhAAAAAAACAU0AAAAAAAKBTQAAAAAAAgFZAAAAAAACAUUAAAAAAAIBSQAAAAAAAgEdAAAAAAAAASkAAAAAAAABVQAAAAAAAgE9AAAAAAAAAT0AAAAAAAMBNQAAAAAAA4FJAAAAAAACAU0AAAAAAAIBPQAAAAAAAQFRAAAAAAAAAOEAAAAAAAABJQAAAAAAAQFRAAAAAAADAUEAAAAAAAEBTQAAAAAAAAFlAAAAAAAAAUUAAAAAAAABIQAAAAAAAgFJAAAAAAACAVEAAAAAAAMBQQAAAAAAAoFRAAAAAAADAUEAAAAAAAABWQAAAAAAAwFRAAAAAAADAT0AAAAAAACBUQAAAAAAAwFFAAAAAAADAV0AAAAAAAKBTQAAAAAAAQEpAAAAAAABAUUAAAAAAAIBOQAAAAAAAgFBAAAAAAACAUkAAAAAAAABXQAAAAAAAAFRAAAAAAAAAV0AAAAAAAMBUQAAAAAAAQE5AAAAAAAAgUkAAAAAAAGBYQAAAAAAAAFFAAAAAAADAUEAAAAAAAEBQQAAAAAAAgFRAAAAAAADAUkAAAAAAAIBXQAAAAAAAQFNAAAAAAAAAV0AAAAAAAEBUQAAAAAAAAE1AAAAAAADgVkAAAAAAAABZQAAAAAAAQFVAAAAAAACAUkAAAAAAAOBTQAAAAAAAoFFAAAAAAAAAUkAAAAAAAEBVQAAAAAAAAFBAAAAAAABAU0AAAAAAAIBSQAAAAAAAQFBAAAAAAABAVEAAAAAAAEBUQA==\",\"dtype\":\"float64\",\"order\":\"little\",\"shape\":[77]},\"confidence when correct hit\":{\"__ndarray__\":\"AAAAAADASUAAAAAAAMBSQAAAAAAAgFFAAAAAAADAT0AAAAAAACBTQAAAAAAAAFlAAAAAAABAU0AAAAAAACBUQAAAAAAAgFZAAAAAAACAUUAAAAAAACBTQAAAAAAAAERAAAAAAAAASkAAAAAAAABWQAAAAAAAAE9AAAAAAAAAUUAAAAAAAIBNQAAAAAAA4FJAAAAAAAAAUUAAAAAAAABJQAAAAAAAAFZAAAAAAACAPUAAAAAAAGBQQAAAAAAAwFRAAAAAAADAUEAAAAAAAIBTQAAAAAAAIFJAAAAAAABAT0AAAAAAAABLQAAAAAAAwFJAAAAAAACAVEAAAAAAAIBQQAAAAAAAwFRAAAAAAADAUEAAAAAAAIBWQAAAAAAAQFhAAAAAAABAUEAAAAAAAABVQAAAAAAAgFJAAAAAAAAgV0AAAAAAAABVQAAAAAAAgEtAAAAAAACAUUAAAAAAAOBQQAAAAAAAQE1AAAAAAACgUkAAAAAAAABXQAAAAAAAAFRAAAAAAACAWEAAAAAAAMBVQAAAAAAAwE5AAAAAAAAgVEAAAAAAAABZQAAAAAAAgFFAAAAAAADgUEAAAAAAAIBQQAAAAAAAoFZAAAAAAACAUkAAAAAAAOBXQAAAAAAAAFRAAAAAAACgV0AAAAAAAEBUQAAAAAAAgExAAAAAAABAV0AAAAAAAABZQAAAAAAAQFVAAAAAAADgUEAAAAAAAEBUQAAAAAAAgFBAAAAAAACAS0AAAAAAAIBWQAAAAAAAgE9AAAAAAABAU0AAAAAAAGBQQAAAAAAAwE5AAAAAAACASkAAAAAAAABUQA==\",\"dtype\":\"float64\",\"order\":\"little\",\"shape\":[77]},\"confidence when correct reject\":{\"__ndarray__\":\"AAAAAACARUAAAAAAAABUQAAAAAAAAEtAAAAAAAAASUAAAAAAAABUQAAAAAAAgFdAAAAAAADAU0AAAAAAACBTQAAAAAAAQFVAAAAAAACAUUAAAAAAAOBQQAAAAAAAAExAAAAAAACASEAAAAAAAKBRQAAAAAAAgFBAAAAAAACATkAAAAAAAABQQAAAAAAAoFJAAAAAAAAAVEAAAAAAAIBQQAAAAAAAgFBAAAAAAAAAM0AAAAAAAIBEQAAAAAAAwFNAAAAAAABAUEAAAAAAAEBTQAAAAAAAAFlAAAAAAABAU0AAAAAAAMBHQAAAAAAAIFBAAAAAAABAVEAAAAAAAIBRQAAAAAAAIFRAAAAAAABAUUAAAAAAAGBTQAAAAAAAgFJAAAAAAAAATEAAAAAAAGBSQAAAAAAAAFFAAAAAAADAV0AAAAAAAABRQAAAAAAAAElAAAAAAABAUUAAAAAAAIBLQAAAAAAAYFJAAAAAAACAUkAAAAAAAABXQAAAAAAAoFNAAAAAAACAVkAAAAAAAEBRQAAAAAAAQE1AAAAAAACAT0AAAAAAAOBRQAAAAAAAQE1AAAAAAACAUEAAAAAAAIBPQAAAAAAAoFJAAAAAAAAAU0AAAAAAAOBUQAAAAAAAgFFAAAAAAACAVUAAAAAAAMBRQAAAAAAAwE1AAAAAAADAVkAAAAAAAABZQAAAAAAAgFRAAAAAAACAUkAAAAAAAKBSQAAAAAAAAFJAAAAAAAAAVEAAAAAAAABUQAAAAAAA4FBAAAAAAABAU0AAAAAAAMBVQAAAAAAAgFFAAAAAAAAAVUAAAAAAAAA/QA==\",\"dtype\":\"float64\",\"order\":\"little\",\"shape\":[77]},\"confidence when incorrect\":{\"__ndarray__\":\"AAAAAACASEAAAAAAAMBQQAAAAAAAQEtAAAAAAAAASUAAAAAAAMBUQAAAAAAAQFBAAAAAAAAAQkAAAAAAAOBQQAAAAAAAAPh/AAAAAACAUUAAAAAAAMBLQAAAAAAAAEZAAAAAAAAAPUAAAAAAAEBLQAAAAAAAAElAAAAAAAAAS0AAAAAAAIBMQAAAAAAAwEFAAAAAAADAUEAAAAAAAIA4QAAAAAAAwE9AAAAAAACAQUAAAAAAAIBGQAAAAAAAAEtAAAAAAACASkAAAAAAAABVQAAAAAAAwFZAAAAAAAAAP0AAAAAAAIBJQAAAAAAAgEVAAAAAAACASEAAAAAAAAA9QAAAAAAAAFNAAAAAAAAAREAAAAAAAMBTQAAAAAAAwEtAAAAAAAAAUUAAAAAAAEBQQAAAAAAAAFFAAAAAAABAUEAAAAAAAABNQAAAAAAAgEFAAAAAAADATUAAAAAAAABJQAAAAAAAwEdAAAAAAAAA+H8AAAAAAGBSQAAAAAAAgFFAAAAAAAAAREAAAAAAAMBQQAAAAAAAAPh/AAAAAADATkAAAAAAAMBUQAAAAAAAAERAAAAAAACASkAAAAAAAIBLQAAAAAAAQFRAAAAAAAAAUEAAAAAAAMBRQAAAAAAAgE1AAAAAAADAUEAAAAAAAABNQAAAAAAAAElAAAAAAADAVkAAAAAAAABJQAAAAAAAQFVAAAAAAAAAUEAAAAAAAIBUQAAAAAAAwE1AAAAAAAAATkAAAAAAAMBSQAAAAAAAwE1AAAAAAACAUkAAAAAAAABUQAAAAAAAQFRAAAAAAACASUAAAAAAAEBSQA==\",\"dtype\":\"float64\",\"order\":\"little\",\"shape\":[77]},\"confidence when incorrect hit\":{\"__ndarray__\":\"AAAAAABARkAAAAAAAMBLQAAAAAAAgExAAAAAAAAAUEAAAAAAAMBUQAAAAAAAQFVAAAAAAADARUAAAAAAAOBVQAAAAAAAAPh/AAAAAACAUUAAAAAAAMBLQAAAAAAAgEBAAAAAAAAAPUAAAAAAAABEQAAAAAAAAElAAAAAAAAA+H8AAAAAAIBLQAAAAAAAwEFAAAAAAADAUEAAAAAAAAA5QAAAAAAAAPh/AAAAAACAPEAAAAAAAAA7QAAAAAAAAExAAAAAAACASkAAAAAAAABWQAAAAAAAAFJAAAAAAAAAPUAAAAAAAABAQAAAAAAAAPh/AAAAAACASEAAAAAAAAA9QAAAAAAAwFRAAAAAAACAR0AAAAAAAOBUQAAAAAAAgERAAAAAAABAUkAAAAAAAMBLQAAAAAAAQFZAAAAAAAAgUkAAAAAAAIBLQAAAAAAAAD5AAAAAAAAAHEAAAAAAAIA8QAAAAAAAgEVAAAAAAAAA+H8AAAAAAOBSQAAAAAAAQFBAAAAAAAAA+H8AAAAAAMBHQAAAAAAAAPh/AAAAAADASUAAAAAAAAD4fwAAAAAAAENAAAAAAADASUAAAAAAAIBLQAAAAAAAAFRAAAAAAADAUEAAAAAAAABRQAAAAAAAwE1AAAAAAADATkAAAAAAAABKQAAAAAAAgExAAAAAAAAAV0AAAAAAAAD4fwAAAAAAAFZAAAAAAACAUEAAAAAAAAD4fwAAAAAAAExAAAAAAACATkAAAAAAAMBSQAAAAAAAQEpAAAAAAACgUEAAAAAAAGBVQAAAAAAAQFRAAAAAAACAQkAAAAAAAAA7QA==\",\"dtype\":\"float64\",\"order\":\"little\",\"shape\":[77]},\"confidence when incorrect reject\":{\"__ndarray__\":\"AAAAAACASEAAAAAAAMBSQAAAAAAAgEpAAAAAAAAASUAAAAAAAAD4fwAAAAAAgE5AAAAAAAAANUAAAAAAAAA7QAAAAAAAAPh/AAAAAABAUEAAAAAAAEBKQAAAAAAAgEhAAAAAAAAAQkAAAAAAAKBQQAAAAAAAQElAAAAAAAAAS0AAAAAAAIBNQAAAAAAAAPh/AAAAAAAA+H8AAAAAAAA4QAAAAAAAwE9AAAAAAADAREAAAAAAAIBGQAAAAAAAQEVAAAAAAACASkAAAAAAAABUQAAAAAAAwFZAAAAAAAAAQEAAAAAAAKBTQAAAAAAAgEVAAAAAAAAAQkAAAAAAAAA9QAAAAAAAAEJAAAAAAAAAREAAAAAAAEBRQAAAAAAAQFJAAAAAAAAAUUAAAAAAAIBRQAAAAAAAQFBAAAAAAABAUEAAAAAAAIBOQAAAAAAAAERAAAAAAAAATkAAAAAAAABKQAAAAAAAwEpAAAAAAAAA+H8AAAAAAIBPQAAAAAAAoFFAAAAAAAAAREAAAAAAAMBVQAAAAAAAAPh/AAAAAABAUUAAAAAAAMBUQAAAAAAAQFBAAAAAAACATEAAAAAAAEBJQAAAAAAAwFRAAAAAAAAAMUAAAAAAAMBUQAAAAAAAgERAAAAAAACAUkAAAAAAAABNQAAAAAAAAElAAAAAAABAVkAAAAAAAABJQAAAAAAAgFRAAAAAAACATEAAAAAAAIBUQAAAAAAAgE9AAAAAAACATEAAAAAAAABUQAAAAAAAYFBAAAAAAABgU0AAAAAAAABUQAAAAAAAgE5AAAAAAAAASkAAAAAAAKBUQA==\",\"dtype\":\"float64\",\"order\":\"little\",\"shape\":[77]},\"correct hit percentage\":[80,80,70,70,90,95,90,90,100,80,90,95,95,90,55,100,65,90,55,75,100,70,90,95,95,70,80,50,65,100,85,85,90,90,90,85,85,90,95,70,95,85,95,90,90,100,80,95,100,90,100,70,90,85,80,85,40,80,90,90,80,90,75,85,100,95,60,100,85,35,95,70,70,90,70,75,85],\"correct reject percentage\":[65,90,80,65,100,80,95,90,100,60,80,60,90,80,60,85,65,100,100,85,80,90,85,90,55,65,75,95,80,70,90,90,90,85,70,95,75,80,75,85,75,85,75,65,90,100,90,80,95,95,100,50,100,70,75,80,40,95,80,85,75,35,70,85,85,75,85,80,95,75,80,50,85,85,80,65,40],\"ess\":[5,1,3,4,5,12,4,4,11,6,3,11,10,12,6,13,12,5,10,4,4,6,3,0,12,6,5,9,7,6,10,18,11,8,16,7,9,11,4,7,4,11,12,3,3,4,11,1,4,2,9,1,2,12,6,5,5,4,9,3,8,6,10,21,5,5,9,1,8,11,5,7,10,7,15,7,7],\"gender\":[\"f\",\"f\",\"f\",\"f\",\"f\",\"f\",\"f\",\"m\",\"f\",\"f\",\"m\",\"m\",\"m\",\"f\",\"m\",\"f\",\"f\",\"m\",\"m\",\"f\",\"f\",\"m\",\"f\",\"m\",\"f\",\"m\",\"f\",\"f\",\"m\",\"m\",\"f\",\"f\",\"f\",\"f\",\"m\",\"f\",\"f\",\"f\",\"f\",\"m\",\"f\",\"f\",\"f\",\"m\",\"f\",\"f\",\"f\",\"f\",\"f\",\"f\",\"f\",\"f\",\"f\",\"f\",\"f\",\"f\",\"m\",\"f\",\"f\",\"m\",\"f\",\"f\",\"f\",\"f\",\"f\",\"m\",\"m\",\"m\",\"m\",\"f\",\"m\",\"f\",\"f\",\"f\",\"f\",\"f\",\"f\"],\"index\":[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],\"insomnia\":[false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false],\"participant number\":[1,2,3,4,5,6,7,9,10,11,12,13,14,15,17,19,20,21,23,24,25,26,29,31,32,36,37,39,40,42,43,44,45,48,50,51,52,53,54,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,72,73,74,75,79,81,82,83,84,85,86,87,88,91,92,94,95,96,97,98,99,102,103],\"percent correct\":{\"__ndarray__\":\"AAAAAAAgUkAAAAAAAEBVQAAAAAAAwFJAAAAAAADgUEAAAAAAAMBXQAAAAAAA4FVAAAAAAAAgV0AAAAAAAIBWQAAAAAAAAFlAAAAAAACAUUAAAAAAAEBVQAAAAAAAYFNAAAAAAAAgV0AAAAAAAEBVQAAAAAAAwExAAAAAAAAgV0AAAAAAAEBQQAAAAAAAwFdAAAAAAABgU0AAAAAAAABUQAAAAAAAgFZAAAAAAAAAVEAAAAAAAOBVQAAAAAAAIFdAAAAAAADAUkAAAAAAAOBQQAAAAAAAYFNAAAAAAAAgUkAAAAAAACBSQAAAAAAAQFVAAAAAAADgVUAAAAAAAOBVQAAAAAAAgFZAAAAAAADgVUAAAAAAAABUQAAAAAAAgFZAAAAAAAAAVEAAAAAAAEBVQAAAAAAAQFVAAAAAAABgU0AAAAAAAEBVQAAAAAAAQFVAAAAAAABAVUAAAAAAAGBTQAAAAAAAgFZAAAAAAAAAWUAAAAAAAEBVQAAAAAAA4FVAAAAAAABgWEAAAAAAACBXQAAAAAAAAFlAAAAAAAAATkAAAAAAAMBXQAAAAAAAYFNAAAAAAABgU0AAAAAAAKBUQAAAAAAAAERAAAAAAADgVUAAAAAAAEBVQAAAAAAA4FVAAAAAAABgU0AAAAAAAEBPQAAAAAAAIFJAAAAAAABAVUAAAAAAACBXQAAAAAAAQFVAAAAAAAAgUkAAAAAAAIBWQAAAAAAAgFZAAAAAAACAS0AAAAAAAOBVQAAAAAAAAE5AAAAAAABgU0AAAAAAAOBVQAAAAAAAwFJAAAAAAACAUUAAAAAAAEBPQA==\",\"dtype\":\"float64\",\"order\":\"little\",\"shape\":[77]},\"psqi\":[1,5,1,5,7,7,3,3,10,4,5,2,2,2,5,2,3,3,4,9,5,2,1,4,8,2,2,6,3,1,5,7,3,6,6,1,6,4,4,3,5,2,7,4,0,5,1,1,4,1,8,4,2,7,4,1,7,4,5,6,4,2,3,4,3,1,5,2,1,1,3,6,8,8,2,4,5],\"sci\":[29,19,23,26,21,19,28,29,17,22,28,31,31,32,25,30,28,30,22,20,26,32,32,24,26,30,28,21,29,32,26,26,23,18,22,29,20,27,19,29,24,29,17,26,30,17,25,31,27,32,28,25,30,21,29,20,22,23,20,17,27,27,22,25,30,32,30,32,28,31,29,26,20,19,31,22,24]},\"selected\":{\"id\":\"2304\"},\"selection_policy\":{\"id\":\"2303\"}},\"id\":\"2191\",\"type\":\"ColumnDataSource\"},{\"attributes\":{},\"id\":\"2905\",\"type\":\"ResetTool\"},{\"attributes\":{},\"id\":\"2304\",\"type\":\"Selection\"},{\"attributes\":{\"tools\":[{\"id\":\"2901\"},{\"id\":\"2902\"},{\"id\":\"2903\"},{\"id\":\"2904\"},{\"id\":\"2905\"},{\"id\":\"2906\"}]},\"id\":\"2908\",\"type\":\"Toolbar\"},{\"attributes\":{\"source\":{\"id\":\"2191\"}},\"id\":\"2920\",\"type\":\"CDSView\"},{\"attributes\":{},\"id\":\"3061\",\"type\":\"AllLabels\"},{\"attributes\":{\"fill_alpha\":{\"value\":0.8},\"fill_color\":{\"value\":\"#1f77b3\"},\"hatch_color\":{\"value\":\"#1f77b3\"},\"line_color\":{\"value\":\"#1f77b3\"},\"line_width\":{\"value\":0},\"size\":{\"value\":5},\"x\":{\"field\":\"confidence when correct\"},\"y\":{\"field\":\"confidence when incorrect\"}},\"id\":\"2916\",\"type\":\"Circle\"},{\"attributes\":{\"fill_alpha\":{\"value\":0.2},\"fill_color\":{\"value\":\"#1f77b3\"},\"hatch_alpha\":{\"value\":0.2},\"hatch_color\":{\"value\":\"#1f77b3\"},\"line_alpha\":{\"value\":0.2},\"line_color\":{\"value\":\"#1f77b3\"},\"line_width\":{\"value\":0},\"size\":{\"value\":5},\"x\":{\"field\":\"confidence when correct\"},\"y\":{\"field\":\"confidence when incorrect\"}},\"id\":\"2918\",\"type\":\"Circle\"},{\"attributes\":{},\"id\":\"2303\",\"type\":\"UnionRenderers\"},{\"attributes\":{\"fill_alpha\":{\"value\":0.1},\"fill_color\":{\"value\":\"#ff7e0e\"},\"hatch_alpha\":{\"value\":0.1},\"hatch_color\":{\"value\":\"#ff7e0e\"},\"line_alpha\":{\"value\":0.1},\"line_color\":{\"value\":\"#ff7e0e\"},\"line_width\":{\"value\":0},\"size\":{\"value\":5},\"x\":{\"field\":\"confidence when correct\"},\"y\":{\"field\":\"confidence when incorrect\"}},\"id\":\"2923\",\"type\":\"Circle\"},{\"attributes\":{\"coordinates\":null,\"data_source\":{\"id\":\"2190\"},\"glyph\":{\"id\":\"2922\"},\"group\":null,\"hover_glyph\":null,\"muted_glyph\":{\"id\":\"2924\"},\"nonselection_glyph\":{\"id\":\"2923\"},\"view\":{\"id\":\"2926\"}},\"id\":\"2925\",\"type\":\"GlyphRenderer\"},{\"attributes\":{\"background_fill_alpha\":0.7,\"background_fill_color\":\"#ffffff\",\"border_line_color\":\"darkgray\",\"border_line_width\":0.75,\"click_policy\":\"hide\",\"coordinates\":null,\"group\":null,\"items\":[{\"id\":\"2928\"},{\"id\":\"2929\"}],\"label_text_font\":\"helvetica\",\"label_text_font_size\":\"7.5pt\",\"title_text_font\":\"helvetica\",\"title_text_font_size\":\"8pt\",\"title_text_font_style\":\"bold\"},\"id\":\"2927\",\"type\":\"Legend\"}],\"root_ids\":[\"2882\"]},\"title\":\"Bokeh Application\",\"version\":\"2.4.2\"}};\n", " const render_items = [{\"docid\":\"3ee4c95a-78e0-45b5-80aa-b293a8229fcc\",\"root_ids\":[\"2882\"],\"roots\":{\"2882\":\"fa067ef0-6d3e-436c-94d2-91eb3a1c2a1d\"}}];\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", " let attempts = 0;\n", " const timer = setInterval(function(root) {\n", " if (root.Bokeh !== undefined) {\n", " clearInterval(timer);\n", " embed_document(root);\n", " } else {\n", " attempts++;\n", " if (attempts > 100) {\n", " clearInterval(timer);\n", " console.log(\"Bokeh: ERROR: Unable to run BokehJS code because BokehJS library is missing\");\n", " }\n", " }\n", " }, 10, root)\n", " }\n", "})(window);" ], "application/vnd.bokehjs_exec.v0+json": "" }, "metadata": { "application/vnd.bokehjs_exec.v0+json": { "id": "2882" } }, "output_type": "display_data" } ], "source": [ "jb_theme_dict = {\n", " \"attrs\": {\n", " \"Axis\": {\n", " \"axis_line_color\": \"dimgray\",\n", " \"major_tick_line_color\": \"dimgray\",\n", " \"major_label_text_font_size\": \"7.5pt\",\n", " \"axis_label_text_font_size\": \"9pt\",\n", " \"axis_label_text_font_style\": \"bold\",\n", " },\n", " \"Circle\": {\n", " \"size\": 5, \n", " \"fill_alpha\": 0.8,\n", " \"line_width\": 0,\n", " },\n", " \"Figure\": {\n", " \"frame_height\": 300,\n", " \"frame_width\": 350,\n", " \"toolbar_location\": \"above\",\n", " },\n", " \"Legend\": {\n", " \"border_line_color\": \"darkgray\",\n", " \"border_line_width\": 0.75,\n", " \"background_fill_color\": \"#ffffff\",\n", " \"background_fill_alpha\": 0.7,\n", " \"label_text_font\": \"helvetica\", \n", " \"label_text_font_size\": \"7.5pt\",\n", " \"title_text_font\": \"helvetica\", \n", " \"title_text_font_size\": \"8pt\", \n", " \"title_text_font_style\": \"bold\", \n", " },\n", " \"Title\": {\n", " \"text_font\": \"helvetica\",\n", " \"text_font_size\": \"10pt\",\n", " 'text_font_style': 'bold',\n", " },\n", " }\n", "}\n", "\n", "jb_theme = bokeh.themes.Theme(json=jb_theme_dict)\n", "bokeh.io.curdoc().theme = jb_theme\n", "\n", "bokeh.io.show(gfmt_plot())" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Finally, if I were to make this particular plot, I would do it without a title and with axes leaving a little buffer." ] }, { "cell_type": "code", "execution_count": 26, "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", " const docs_json = {\"8e78613f-d99e-4849-b3ed-eb9509454f0b\":{\"defs\":[],\"roots\":{\"references\":[{\"attributes\":{\"below\":[{\"id\":\"3136\"}],\"center\":[{\"id\":\"3139\"},{\"id\":\"3143\"}],\"frame_height\":300,\"frame_width\":300,\"left\":[{\"id\":\"3140\"}],\"renderers\":[{\"id\":\"3162\"},{\"id\":\"3168\"}],\"right\":[{\"id\":\"3170\"}],\"title\":{\"id\":\"3310\"},\"toolbar\":{\"id\":\"3151\"},\"toolbar_location\":\"above\",\"x_range\":{\"id\":\"3128\"},\"x_scale\":{\"id\":\"3132\"},\"y_range\":{\"id\":\"3130\"},\"y_scale\":{\"id\":\"3134\"}},\"id\":\"3127\",\"subtype\":\"Figure\",\"type\":\"Plot\"},{\"attributes\":{\"coordinates\":null,\"group\":null,\"text_font\":\"helvetica\",\"text_font_size\":\"10pt\",\"text_font_style\":\"bold\"},\"id\":\"3310\",\"type\":\"Title\"},{\"attributes\":{},\"id\":\"3144\",\"type\":\"PanTool\"},{\"attributes\":{},\"id\":\"3149\",\"type\":\"HelpTool\"},{\"attributes\":{\"data\":{\"age\":[39,42,31,35,74,61,32,62,33,53,41,36,40,24,32,40,61,42,31,28,26,45,28,44,28],\"confidence when correct\":{\"__ndarray__\":\"AAAAAABAV0AAAAAAAMBSQAAAAAAAQFZAAAAAAAAAVkAAAAAAAEBQQAAAAAAAIFBAAAAAAACAUEAAAAAAAABPQAAAAAAAAFFAAAAAAADAUUAAAAAAAIBUQAAAAAAAAFNAAAAAAADgU0AAAAAAAIBLQAAAAAAAQFVAAAAAAACAUUAAAAAAAEBLQAAAAAAAIFZAAAAAAADgVUAAAAAAAABZQAAAAAAAQFNAAAAAAAAAWUAAAAAAAABUQAAAAAAAYFFAAAAAAABAVEA=\",\"dtype\":\"float64\",\"order\":\"little\",\"shape\":[25]},\"confidence when correct hit\":{\"__ndarray__\":\"AAAAAADAVkAAAAAAAOBSQAAAAAAAYFZAAAAAAABgVkAAAAAAACBRQAAAAAAAwFFAAAAAAADAUEAAAAAAAABLQAAAAAAAoFFAAAAAAACgUkAAAAAAAIBUQAAAAAAAIFNAAAAAAAAAVEAAAAAAAABNQAAAAAAAQFVAAAAAAABAUUAAAAAAAGBRQAAAAAAAwFVAAAAAAAAAV0AAAAAAAABZQAAAAAAAgFFAAAAAAAAAWUAAAAAAAGBWQAAAAAAAAE9AAAAAAADAVUA=\",\"dtype\":\"float64\",\"order\":\"little\",\"shape\":[25]},\"confidence when correct reject\":{\"__ndarray__\":\"AAAAAABAV0AAAAAAAKBRQAAAAAAAgFVAAAAAAADAUUAAAAAAAIBOQAAAAAAAAD9AAAAAAACAUEAAAAAAAEBQQAAAAAAAIFBAAAAAAABATkAAAAAAAEBSQAAAAAAAwFJAAAAAAADAU0AAAAAAAIBIQAAAAAAAQFVAAAAAAACAUUAAAAAAAEBGQAAAAAAAoFZAAAAAAABAVEAAAAAAAABZQAAAAAAAgFRAAAAAAAAAWUAAAAAAAMBQQAAAAAAAwFVAAAAAAAAAUUA=\",\"dtype\":\"float64\",\"order\":\"little\",\"shape\":[25]},\"confidence when incorrect\":{\"__ndarray__\":\"AAAAAACAVkAAAAAAAABJQAAAAAAAAFZAAAAAAAAAVEAAAAAAAIBIQAAAAAAAoFFAAAAAAAAAUEAAAAAAAIBOQAAAAAAAIFNAAAAAAABAUEAAAAAAAABQQAAAAAAA4FJAAAAAAACAT0AAAAAAAIBNQAAAAAAA4FRAAAAAAAAATEAAAAAAAEBSQAAAAAAAAFBAAAAAAAAATkAAAAAAAABZQAAAAAAAoFFAAAAAAAAAWUAAAAAAAABOQAAAAAAAYFJAAAAAAAAAS0A=\",\"dtype\":\"float64\",\"order\":\"little\",\"shape\":[25]},\"confidence when incorrect hit\":{\"__ndarray__\":\"AAAAAACAVkAAAAAAAMBLQAAAAAAAgFZAAAAAAAAA+H8AAAAAAIBIQAAAAAAAgE9AAAAAAABATEAAAAAAAIBCQAAAAAAAIFNAAAAAAAAA+H8AAAAAAMBOQAAAAAAA4FJAAAAAAABAVkAAAAAAAABJQAAAAAAAQFRAAAAAAAAATEAAAAAAAAD4fwAAAAAAAFJAAAAAAAAA+H8AAAAAAAD4fwAAAAAAQFNAAAAAAAAA+H8AAAAAAAD4fwAAAAAAAFJAAAAAAAAA+H8=\",\"dtype\":\"float64\",\"order\":\"little\",\"shape\":[25]},\"confidence when incorrect reject\":{\"__ndarray__\":\"AAAAAADgVEAAAAAAAABJQAAAAAAAQFRAAAAAAAAAVEAAAAAAAIBIQAAAAAAAIFJAAAAAAABAUEAAAAAAAGBUQAAAAAAAAPh/AAAAAABAUEAAAAAAAEBRQAAAAAAAAPh/AAAAAABATUAAAAAAAABRQAAAAAAAgFVAAAAAAAAA+H8AAAAAAEBSQAAAAAAAwEVAAAAAAAAATkAAAAAAAABZQAAAAAAA4FBAAAAAAAAAWUAAAAAAAABOQAAAAAAAQFNAAAAAAAAAS0A=\",\"dtype\":\"float64\",\"order\":\"little\",\"shape\":[25]},\"correct hit percentage\":[65,90,90,100,60,80,90,45,80,100,70,90,95,85,75,40,100,70,100,100,60,100,100,65,100],\"correct reject percentage\":[80,90,95,75,65,20,75,90,100,50,55,100,65,75,55,100,40,90,70,50,80,95,75,25,40],\"ess\":[2,7,3,20,12,2,3,9,10,7,19,0,8,4,7,14,12,10,11,12,1,6,4,6,2],\"gender\":[\"f\",\"m\",\"f\",\"f\",\"f\",\"f\",\"m\",\"m\",\"f\",\"f\",\"f\",\"f\",\"f\",\"f\",\"f\",\"f\",\"f\",\"f\",\"m\",\"m\",\"f\",\"m\",\"f\",\"f\",\"f\"],\"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],\"insomnia\":[true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true],\"participant number\":[8,16,18,22,27,28,30,33,34,35,38,41,46,49,55,71,76,77,78,80,89,90,93,100,101],\"percent correct\":{\"__ndarray__\":\"AAAAAAAgUkAAAAAAAIBWQAAAAAAAIFdAAAAAAADgVUAAAAAAAEBPQAAAAAAAAElAAAAAAACgVEAAAAAAAOBQQAAAAAAAgFZAAAAAAADAUkAAAAAAAEBPQAAAAAAAwFdAAAAAAAAAVEAAAAAAAABUQAAAAAAAQFBAAAAAAACAUUAAAAAAAIBRQAAAAAAAAFRAAAAAAABAVUAAAAAAAMBSQAAAAAAAgFFAAAAAAABgWEAAAAAAAOBVQAAAAAAAgEZAAAAAAACAUUA=\",\"dtype\":\"float64\",\"order\":\"little\",\"shape\":[25]},\"psqi\":[13,11,9,8,9,14,9,9,12,8,5,7,12,13,13,11,4,10,6,7,8,9,7,15,7],\"sci\":[9,4,10,13,13,15,16,14,14,14,14,15,10,14,5,0,16,11,14,12,14,14,16,1,14]},\"selected\":{\"id\":\"2306\"},\"selection_policy\":{\"id\":\"2305\"}},\"id\":\"2190\",\"type\":\"ColumnDataSource\"},{\"attributes\":{\"fill_alpha\":{\"value\":0.8},\"fill_color\":{\"value\":\"#1f77b3\"},\"hatch_color\":{\"value\":\"#1f77b3\"},\"line_color\":{\"value\":\"#1f77b3\"},\"line_width\":{\"value\":0},\"size\":{\"value\":5},\"x\":{\"field\":\"confidence when correct\"},\"y\":{\"field\":\"confidence when incorrect\"}},\"id\":\"3159\",\"type\":\"Circle\"},{\"attributes\":{},\"id\":\"3313\",\"type\":\"BasicTickFormatter\"},{\"attributes\":{},\"id\":\"3141\",\"type\":\"BasicTicker\"},{\"attributes\":{\"axis\":{\"id\":\"3140\"},\"coordinates\":null,\"dimension\":1,\"group\":null,\"ticker\":null},\"id\":\"3143\",\"type\":\"Grid\"},{\"attributes\":{},\"id\":\"3317\",\"type\":\"AllLabels\"},{\"attributes\":{\"axis_label\":\"condifence when incorrect\",\"axis_label_text_font_size\":\"9pt\",\"axis_label_text_font_style\":\"bold\",\"axis_line_color\":\"dimgray\",\"coordinates\":null,\"formatter\":{\"id\":\"3313\"},\"group\":null,\"major_label_policy\":{\"id\":\"3314\"},\"major_label_text_font_size\":\"7.5pt\",\"major_tick_line_color\":\"dimgray\",\"ticker\":{\"id\":\"3141\"}},\"id\":\"3140\",\"type\":\"LinearAxis\"},{\"attributes\":{\"fill_alpha\":{\"value\":0.8},\"fill_color\":{\"value\":\"#ff7e0e\"},\"hatch_color\":{\"value\":\"#ff7e0e\"},\"line_color\":{\"value\":\"#ff7e0e\"},\"line_width\":{\"value\":0},\"size\":{\"value\":5},\"x\":{\"field\":\"confidence when correct\"},\"y\":{\"field\":\"confidence when incorrect\"}},\"id\":\"3165\",\"type\":\"Circle\"},{\"attributes\":{\"coordinates\":null,\"data_source\":{\"id\":\"2190\"},\"glyph\":{\"id\":\"3165\"},\"group\":null,\"hover_glyph\":null,\"muted_glyph\":{\"id\":\"3167\"},\"nonselection_glyph\":{\"id\":\"3166\"},\"view\":{\"id\":\"3169\"}},\"id\":\"3168\",\"type\":\"GlyphRenderer\"},{\"attributes\":{\"source\":{\"id\":\"2190\"}},\"id\":\"3169\",\"type\":\"CDSView\"},{\"attributes\":{\"source\":{\"id\":\"2191\"}},\"id\":\"3163\",\"type\":\"CDSView\"},{\"attributes\":{\"coordinates\":null,\"data_source\":{\"id\":\"2191\"},\"glyph\":{\"id\":\"3159\"},\"group\":null,\"hover_glyph\":null,\"muted_glyph\":{\"id\":\"3161\"},\"nonselection_glyph\":{\"id\":\"3160\"},\"view\":{\"id\":\"3163\"}},\"id\":\"3162\",\"type\":\"GlyphRenderer\"},{\"attributes\":{},\"id\":\"2306\",\"type\":\"Selection\"},{\"attributes\":{},\"id\":\"2305\",\"type\":\"UnionRenderers\"},{\"attributes\":{\"label\":{\"value\":\"insomnia\"},\"renderers\":[{\"id\":\"3168\"}]},\"id\":\"3172\",\"type\":\"LegendItem\"},{\"attributes\":{\"data\":{\"age\":[42,45,16,21,18,28,38,17,25,22,41,53,43,23,19,45,43,35,24,64,36,35,43,44,29,22,46,35,53,29,31,21,42,23,54,24,21,21,43,50,53,16,67,36,34,42,46,69,31,44,25,45,47,33,18,74,21,45,37,41,41,34,39,18,31,26,66,62,22,41,46,56,23,70,24,40,33],\"confidence when correct\":{\"__ndarray__\":\"AAAAAACASUAAAAAAAKBTQAAAAAAAgExAAAAAAAAATkAAAAAAAABUQAAAAAAAwFhAAAAAAACAU0AAAAAAAKBTQAAAAAAAgFZAAAAAAACAUUAAAAAAAIBSQAAAAAAAgEdAAAAAAAAASkAAAAAAAABVQAAAAAAAgE9AAAAAAAAAT0AAAAAAAMBNQAAAAAAA4FJAAAAAAACAU0AAAAAAAIBPQAAAAAAAQFRAAAAAAAAAOEAAAAAAAABJQAAAAAAAQFRAAAAAAADAUEAAAAAAAEBTQAAAAAAAAFlAAAAAAAAAUUAAAAAAAABIQAAAAAAAgFJAAAAAAACAVEAAAAAAAMBQQAAAAAAAoFRAAAAAAADAUEAAAAAAAABWQAAAAAAAwFRAAAAAAADAT0AAAAAAACBUQAAAAAAAwFFAAAAAAADAV0AAAAAAAKBTQAAAAAAAQEpAAAAAAABAUUAAAAAAAIBOQAAAAAAAgFBAAAAAAACAUkAAAAAAAABXQAAAAAAAAFRAAAAAAAAAV0AAAAAAAMBUQAAAAAAAQE5AAAAAAAAgUkAAAAAAAGBYQAAAAAAAAFFAAAAAAADAUEAAAAAAAEBQQAAAAAAAgFRAAAAAAADAUkAAAAAAAIBXQAAAAAAAQFNAAAAAAAAAV0AAAAAAAEBUQAAAAAAAAE1AAAAAAADgVkAAAAAAAABZQAAAAAAAQFVAAAAAAACAUkAAAAAAAOBTQAAAAAAAoFFAAAAAAAAAUkAAAAAAAEBVQAAAAAAAAFBAAAAAAABAU0AAAAAAAIBSQAAAAAAAQFBAAAAAAABAVEAAAAAAAEBUQA==\",\"dtype\":\"float64\",\"order\":\"little\",\"shape\":[77]},\"confidence when correct hit\":{\"__ndarray__\":\"AAAAAADASUAAAAAAAMBSQAAAAAAAgFFAAAAAAADAT0AAAAAAACBTQAAAAAAAAFlAAAAAAABAU0AAAAAAACBUQAAAAAAAgFZAAAAAAACAUUAAAAAAACBTQAAAAAAAAERAAAAAAAAASkAAAAAAAABWQAAAAAAAAE9AAAAAAAAAUUAAAAAAAIBNQAAAAAAA4FJAAAAAAAAAUUAAAAAAAABJQAAAAAAAAFZAAAAAAACAPUAAAAAAAGBQQAAAAAAAwFRAAAAAAADAUEAAAAAAAIBTQAAAAAAAIFJAAAAAAABAT0AAAAAAAABLQAAAAAAAwFJAAAAAAACAVEAAAAAAAIBQQAAAAAAAwFRAAAAAAADAUEAAAAAAAIBWQAAAAAAAQFhAAAAAAABAUEAAAAAAAABVQAAAAAAAgFJAAAAAAAAgV0AAAAAAAABVQAAAAAAAgEtAAAAAAACAUUAAAAAAAOBQQAAAAAAAQE1AAAAAAACgUkAAAAAAAABXQAAAAAAAAFRAAAAAAACAWEAAAAAAAMBVQAAAAAAAwE5AAAAAAAAgVEAAAAAAAABZQAAAAAAAgFFAAAAAAADgUEAAAAAAAIBQQAAAAAAAoFZAAAAAAACAUkAAAAAAAOBXQAAAAAAAAFRAAAAAAACgV0AAAAAAAEBUQAAAAAAAgExAAAAAAABAV0AAAAAAAABZQAAAAAAAQFVAAAAAAADgUEAAAAAAAEBUQAAAAAAAgFBAAAAAAACAS0AAAAAAAIBWQAAAAAAAgE9AAAAAAABAU0AAAAAAAGBQQAAAAAAAwE5AAAAAAACASkAAAAAAAABUQA==\",\"dtype\":\"float64\",\"order\":\"little\",\"shape\":[77]},\"confidence when correct reject\":{\"__ndarray__\":\"AAAAAACARUAAAAAAAABUQAAAAAAAAEtAAAAAAAAASUAAAAAAAABUQAAAAAAAgFdAAAAAAADAU0AAAAAAACBTQAAAAAAAQFVAAAAAAACAUUAAAAAAAOBQQAAAAAAAAExAAAAAAACASEAAAAAAAKBRQAAAAAAAgFBAAAAAAACATkAAAAAAAABQQAAAAAAAoFJAAAAAAAAAVEAAAAAAAIBQQAAAAAAAgFBAAAAAAAAAM0AAAAAAAIBEQAAAAAAAwFNAAAAAAABAUEAAAAAAAEBTQAAAAAAAAFlAAAAAAABAU0AAAAAAAMBHQAAAAAAAIFBAAAAAAABAVEAAAAAAAIBRQAAAAAAAIFRAAAAAAABAUUAAAAAAAGBTQAAAAAAAgFJAAAAAAAAATEAAAAAAAGBSQAAAAAAAAFFAAAAAAADAV0AAAAAAAABRQAAAAAAAAElAAAAAAABAUUAAAAAAAIBLQAAAAAAAYFJAAAAAAACAUkAAAAAAAABXQAAAAAAAoFNAAAAAAACAVkAAAAAAAEBRQAAAAAAAQE1AAAAAAACAT0AAAAAAAOBRQAAAAAAAQE1AAAAAAACAUEAAAAAAAIBPQAAAAAAAoFJAAAAAAAAAU0AAAAAAAOBUQAAAAAAAgFFAAAAAAACAVUAAAAAAAMBRQAAAAAAAwE1AAAAAAADAVkAAAAAAAABZQAAAAAAAgFRAAAAAAACAUkAAAAAAAKBSQAAAAAAAAFJAAAAAAAAAVEAAAAAAAABUQAAAAAAA4FBAAAAAAABAU0AAAAAAAMBVQAAAAAAAgFFAAAAAAAAAVUAAAAAAAAA/QA==\",\"dtype\":\"float64\",\"order\":\"little\",\"shape\":[77]},\"confidence when incorrect\":{\"__ndarray__\":\"AAAAAACASEAAAAAAAMBQQAAAAAAAQEtAAAAAAAAASUAAAAAAAMBUQAAAAAAAQFBAAAAAAAAAQkAAAAAAAOBQQAAAAAAAAPh/AAAAAACAUUAAAAAAAMBLQAAAAAAAAEZAAAAAAAAAPUAAAAAAAEBLQAAAAAAAAElAAAAAAAAAS0AAAAAAAIBMQAAAAAAAwEFAAAAAAADAUEAAAAAAAIA4QAAAAAAAwE9AAAAAAACAQUAAAAAAAIBGQAAAAAAAAEtAAAAAAACASkAAAAAAAABVQAAAAAAAwFZAAAAAAAAAP0AAAAAAAIBJQAAAAAAAgEVAAAAAAACASEAAAAAAAAA9QAAAAAAAAFNAAAAAAAAAREAAAAAAAMBTQAAAAAAAwEtAAAAAAAAAUUAAAAAAAEBQQAAAAAAAAFFAAAAAAABAUEAAAAAAAABNQAAAAAAAgEFAAAAAAADATUAAAAAAAABJQAAAAAAAwEdAAAAAAAAA+H8AAAAAAGBSQAAAAAAAgFFAAAAAAAAAREAAAAAAAMBQQAAAAAAAAPh/AAAAAADATkAAAAAAAMBUQAAAAAAAAERAAAAAAACASkAAAAAAAIBLQAAAAAAAQFRAAAAAAAAAUEAAAAAAAMBRQAAAAAAAgE1AAAAAAADAUEAAAAAAAABNQAAAAAAAAElAAAAAAADAVkAAAAAAAABJQAAAAAAAQFVAAAAAAAAAUEAAAAAAAIBUQAAAAAAAwE1AAAAAAAAATkAAAAAAAMBSQAAAAAAAwE1AAAAAAACAUkAAAAAAAABUQAAAAAAAQFRAAAAAAACASUAAAAAAAEBSQA==\",\"dtype\":\"float64\",\"order\":\"little\",\"shape\":[77]},\"confidence when incorrect hit\":{\"__ndarray__\":\"AAAAAABARkAAAAAAAMBLQAAAAAAAgExAAAAAAAAAUEAAAAAAAMBUQAAAAAAAQFVAAAAAAADARUAAAAAAAOBVQAAAAAAAAPh/AAAAAACAUUAAAAAAAMBLQAAAAAAAgEBAAAAAAAAAPUAAAAAAAABEQAAAAAAAAElAAAAAAAAA+H8AAAAAAIBLQAAAAAAAwEFAAAAAAADAUEAAAAAAAAA5QAAAAAAAAPh/AAAAAACAPEAAAAAAAAA7QAAAAAAAAExAAAAAAACASkAAAAAAAABWQAAAAAAAAFJAAAAAAAAAPUAAAAAAAABAQAAAAAAAAPh/AAAAAACASEAAAAAAAAA9QAAAAAAAwFRAAAAAAACAR0AAAAAAAOBUQAAAAAAAgERAAAAAAABAUkAAAAAAAMBLQAAAAAAAQFZAAAAAAAAgUkAAAAAAAIBLQAAAAAAAAD5AAAAAAAAAHEAAAAAAAIA8QAAAAAAAgEVAAAAAAAAA+H8AAAAAAOBSQAAAAAAAQFBAAAAAAAAA+H8AAAAAAMBHQAAAAAAAAPh/AAAAAADASUAAAAAAAAD4fwAAAAAAAENAAAAAAADASUAAAAAAAIBLQAAAAAAAAFRAAAAAAADAUEAAAAAAAABRQAAAAAAAwE1AAAAAAADATkAAAAAAAABKQAAAAAAAgExAAAAAAAAAV0AAAAAAAAD4fwAAAAAAAFZAAAAAAACAUEAAAAAAAAD4fwAAAAAAAExAAAAAAACATkAAAAAAAMBSQAAAAAAAQEpAAAAAAACgUEAAAAAAAGBVQAAAAAAAQFRAAAAAAACAQkAAAAAAAAA7QA==\",\"dtype\":\"float64\",\"order\":\"little\",\"shape\":[77]},\"confidence when incorrect reject\":{\"__ndarray__\":\"AAAAAACASEAAAAAAAMBSQAAAAAAAgEpAAAAAAAAASUAAAAAAAAD4fwAAAAAAgE5AAAAAAAAANUAAAAAAAAA7QAAAAAAAAPh/AAAAAABAUEAAAAAAAEBKQAAAAAAAgEhAAAAAAAAAQkAAAAAAAKBQQAAAAAAAQElAAAAAAAAAS0AAAAAAAIBNQAAAAAAAAPh/AAAAAAAA+H8AAAAAAAA4QAAAAAAAwE9AAAAAAADAREAAAAAAAIBGQAAAAAAAQEVAAAAAAACASkAAAAAAAABUQAAAAAAAwFZAAAAAAAAAQEAAAAAAAKBTQAAAAAAAgEVAAAAAAAAAQkAAAAAAAAA9QAAAAAAAAEJAAAAAAAAAREAAAAAAAEBRQAAAAAAAQFJAAAAAAAAAUUAAAAAAAIBRQAAAAAAAQFBAAAAAAABAUEAAAAAAAIBOQAAAAAAAAERAAAAAAAAATkAAAAAAAABKQAAAAAAAwEpAAAAAAAAA+H8AAAAAAIBPQAAAAAAAoFFAAAAAAAAAREAAAAAAAMBVQAAAAAAAAPh/AAAAAABAUUAAAAAAAMBUQAAAAAAAQFBAAAAAAACATEAAAAAAAEBJQAAAAAAAwFRAAAAAAAAAMUAAAAAAAMBUQAAAAAAAgERAAAAAAACAUkAAAAAAAABNQAAAAAAAAElAAAAAAABAVkAAAAAAAABJQAAAAAAAgFRAAAAAAACATEAAAAAAAIBUQAAAAAAAgE9AAAAAAACATEAAAAAAAABUQAAAAAAAYFBAAAAAAABgU0AAAAAAAABUQAAAAAAAgE5AAAAAAAAASkAAAAAAAKBUQA==\",\"dtype\":\"float64\",\"order\":\"little\",\"shape\":[77]},\"correct hit percentage\":[80,80,70,70,90,95,90,90,100,80,90,95,95,90,55,100,65,90,55,75,100,70,90,95,95,70,80,50,65,100,85,85,90,90,90,85,85,90,95,70,95,85,95,90,90,100,80,95,100,90,100,70,90,85,80,85,40,80,90,90,80,90,75,85,100,95,60,100,85,35,95,70,70,90,70,75,85],\"correct reject percentage\":[65,90,80,65,100,80,95,90,100,60,80,60,90,80,60,85,65,100,100,85,80,90,85,90,55,65,75,95,80,70,90,90,90,85,70,95,75,80,75,85,75,85,75,65,90,100,90,80,95,95,100,50,100,70,75,80,40,95,80,85,75,35,70,85,85,75,85,80,95,75,80,50,85,85,80,65,40],\"ess\":[5,1,3,4,5,12,4,4,11,6,3,11,10,12,6,13,12,5,10,4,4,6,3,0,12,6,5,9,7,6,10,18,11,8,16,7,9,11,4,7,4,11,12,3,3,4,11,1,4,2,9,1,2,12,6,5,5,4,9,3,8,6,10,21,5,5,9,1,8,11,5,7,10,7,15,7,7],\"gender\":[\"f\",\"f\",\"f\",\"f\",\"f\",\"f\",\"f\",\"m\",\"f\",\"f\",\"m\",\"m\",\"m\",\"f\",\"m\",\"f\",\"f\",\"m\",\"m\",\"f\",\"f\",\"m\",\"f\",\"m\",\"f\",\"m\",\"f\",\"f\",\"m\",\"m\",\"f\",\"f\",\"f\",\"f\",\"m\",\"f\",\"f\",\"f\",\"f\",\"m\",\"f\",\"f\",\"f\",\"m\",\"f\",\"f\",\"f\",\"f\",\"f\",\"f\",\"f\",\"f\",\"f\",\"f\",\"f\",\"f\",\"m\",\"f\",\"f\",\"m\",\"f\",\"f\",\"f\",\"f\",\"f\",\"m\",\"m\",\"m\",\"m\",\"f\",\"m\",\"f\",\"f\",\"f\",\"f\",\"f\",\"f\"],\"index\":[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],\"insomnia\":[false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false],\"participant number\":[1,2,3,4,5,6,7,9,10,11,12,13,14,15,17,19,20,21,23,24,25,26,29,31,32,36,37,39,40,42,43,44,45,48,50,51,52,53,54,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,72,73,74,75,79,81,82,83,84,85,86,87,88,91,92,94,95,96,97,98,99,102,103],\"percent correct\":{\"__ndarray__\":\"AAAAAAAgUkAAAAAAAEBVQAAAAAAAwFJAAAAAAADgUEAAAAAAAMBXQAAAAAAA4FVAAAAAAAAgV0AAAAAAAIBWQAAAAAAAAFlAAAAAAACAUUAAAAAAAEBVQAAAAAAAYFNAAAAAAAAgV0AAAAAAAEBVQAAAAAAAwExAAAAAAAAgV0AAAAAAAEBQQAAAAAAAwFdAAAAAAABgU0AAAAAAAABUQAAAAAAAgFZAAAAAAAAAVEAAAAAAAOBVQAAAAAAAIFdAAAAAAADAUkAAAAAAAOBQQAAAAAAAYFNAAAAAAAAgUkAAAAAAACBSQAAAAAAAQFVAAAAAAADgVUAAAAAAAOBVQAAAAAAAgFZAAAAAAADgVUAAAAAAAABUQAAAAAAAgFZAAAAAAAAAVEAAAAAAAEBVQAAAAAAAQFVAAAAAAABgU0AAAAAAAEBVQAAAAAAAQFVAAAAAAABAVUAAAAAAAGBTQAAAAAAAgFZAAAAAAAAAWUAAAAAAAEBVQAAAAAAA4FVAAAAAAABgWEAAAAAAACBXQAAAAAAAAFlAAAAAAAAATkAAAAAAAMBXQAAAAAAAYFNAAAAAAABgU0AAAAAAAKBUQAAAAAAAAERAAAAAAADgVUAAAAAAAEBVQAAAAAAA4FVAAAAAAABgU0AAAAAAAEBPQAAAAAAAIFJAAAAAAABAVUAAAAAAACBXQAAAAAAAQFVAAAAAAAAgUkAAAAAAAIBWQAAAAAAAgFZAAAAAAACAS0AAAAAAAOBVQAAAAAAAAE5AAAAAAABgU0AAAAAAAOBVQAAAAAAAwFJAAAAAAACAUUAAAAAAAEBPQA==\",\"dtype\":\"float64\",\"order\":\"little\",\"shape\":[77]},\"psqi\":[1,5,1,5,7,7,3,3,10,4,5,2,2,2,5,2,3,3,4,9,5,2,1,4,8,2,2,6,3,1,5,7,3,6,6,1,6,4,4,3,5,2,7,4,0,5,1,1,4,1,8,4,2,7,4,1,7,4,5,6,4,2,3,4,3,1,5,2,1,1,3,6,8,8,2,4,5],\"sci\":[29,19,23,26,21,19,28,29,17,22,28,31,31,32,25,30,28,30,22,20,26,32,32,24,26,30,28,21,29,32,26,26,23,18,22,29,20,27,19,29,24,29,17,26,30,17,25,31,27,32,28,25,30,21,29,20,22,23,20,17,27,27,22,25,30,32,30,32,28,31,29,26,20,19,31,22,24]},\"selected\":{\"id\":\"2304\"},\"selection_policy\":{\"id\":\"2303\"}},\"id\":\"2191\",\"type\":\"ColumnDataSource\"},{\"attributes\":{},\"id\":\"3314\",\"type\":\"AllLabels\"},{\"attributes\":{},\"id\":\"2304\",\"type\":\"Selection\"},{\"attributes\":{},\"id\":\"3145\",\"type\":\"WheelZoomTool\"},{\"attributes\":{\"axis\":{\"id\":\"3136\"},\"coordinates\":null,\"group\":null,\"ticker\":null},\"id\":\"3139\",\"type\":\"Grid\"},{\"attributes\":{},\"id\":\"3137\",\"type\":\"BasicTicker\"},{\"attributes\":{\"axis_label\":\"confidence when correct\",\"axis_label_text_font_size\":\"9pt\",\"axis_label_text_font_style\":\"bold\",\"axis_line_color\":\"dimgray\",\"coordinates\":null,\"formatter\":{\"id\":\"3316\"},\"group\":null,\"major_label_policy\":{\"id\":\"3317\"},\"major_label_text_font_size\":\"7.5pt\",\"major_tick_line_color\":\"dimgray\",\"ticker\":{\"id\":\"3137\"}},\"id\":\"3136\",\"type\":\"LinearAxis\"},{\"attributes\":{\"bottom_units\":\"screen\",\"coordinates\":null,\"fill_alpha\":0.5,\"fill_color\":\"lightgrey\",\"group\":null,\"left_units\":\"screen\",\"level\":\"overlay\",\"line_alpha\":1.0,\"line_color\":\"black\",\"line_dash\":[4,4],\"line_width\":2,\"right_units\":\"screen\",\"syncable\":false,\"top_units\":\"screen\"},\"id\":\"3150\",\"type\":\"BoxAnnotation\"},{\"attributes\":{},\"id\":\"3132\",\"type\":\"LinearScale\"},{\"attributes\":{\"end\":102.5,\"start\":-2.5},\"id\":\"3130\",\"type\":\"Range1d\"},{\"attributes\":{},\"id\":\"2303\",\"type\":\"UnionRenderers\"},{\"attributes\":{\"tools\":[{\"id\":\"3144\"},{\"id\":\"3145\"},{\"id\":\"3146\"},{\"id\":\"3147\"},{\"id\":\"3148\"},{\"id\":\"3149\"}]},\"id\":\"3151\",\"type\":\"Toolbar\"},{\"attributes\":{},\"id\":\"3316\",\"type\":\"BasicTickFormatter\"},{\"attributes\":{},\"id\":\"3148\",\"type\":\"ResetTool\"},{\"attributes\":{},\"id\":\"3147\",\"type\":\"SaveTool\"},{\"attributes\":{\"overlay\":{\"id\":\"3150\"}},\"id\":\"3146\",\"type\":\"BoxZoomTool\"},{\"attributes\":{},\"id\":\"3134\",\"type\":\"LinearScale\"},{\"attributes\":{\"fill_alpha\":{\"value\":0.2},\"fill_color\":{\"value\":\"#ff7e0e\"},\"hatch_alpha\":{\"value\":0.2},\"hatch_color\":{\"value\":\"#ff7e0e\"},\"line_alpha\":{\"value\":0.2},\"line_color\":{\"value\":\"#ff7e0e\"},\"line_width\":{\"value\":0},\"size\":{\"value\":5},\"x\":{\"field\":\"confidence when correct\"},\"y\":{\"field\":\"confidence when incorrect\"}},\"id\":\"3167\",\"type\":\"Circle\"},{\"attributes\":{\"background_fill_alpha\":0.7,\"background_fill_color\":\"#ffffff\",\"border_line_color\":\"darkgray\",\"border_line_width\":0.75,\"click_policy\":\"hide\",\"coordinates\":null,\"group\":null,\"items\":[{\"id\":\"3171\"},{\"id\":\"3172\"}],\"label_text_font\":\"helvetica\",\"label_text_font_size\":\"7.5pt\",\"title_text_font\":\"helvetica\",\"title_text_font_size\":\"8pt\",\"title_text_font_style\":\"bold\"},\"id\":\"3170\",\"type\":\"Legend\"},{\"attributes\":{\"end\":102.5,\"start\":-2.5},\"id\":\"3128\",\"type\":\"Range1d\"},{\"attributes\":{\"label\":{\"value\":\"normal\"},\"renderers\":[{\"id\":\"3162\"}]},\"id\":\"3171\",\"type\":\"LegendItem\"},{\"attributes\":{\"fill_alpha\":{\"value\":0.2},\"fill_color\":{\"value\":\"#1f77b3\"},\"hatch_alpha\":{\"value\":0.2},\"hatch_color\":{\"value\":\"#1f77b3\"},\"line_alpha\":{\"value\":0.2},\"line_color\":{\"value\":\"#1f77b3\"},\"line_width\":{\"value\":0},\"size\":{\"value\":5},\"x\":{\"field\":\"confidence when correct\"},\"y\":{\"field\":\"confidence when incorrect\"}},\"id\":\"3161\",\"type\":\"Circle\"},{\"attributes\":{\"fill_alpha\":{\"value\":0.1},\"fill_color\":{\"value\":\"#1f77b3\"},\"hatch_alpha\":{\"value\":0.1},\"hatch_color\":{\"value\":\"#1f77b3\"},\"line_alpha\":{\"value\":0.1},\"line_color\":{\"value\":\"#1f77b3\"},\"line_width\":{\"value\":0},\"size\":{\"value\":5},\"x\":{\"field\":\"confidence when correct\"},\"y\":{\"field\":\"confidence when incorrect\"}},\"id\":\"3160\",\"type\":\"Circle\"},{\"attributes\":{\"fill_alpha\":{\"value\":0.1},\"fill_color\":{\"value\":\"#ff7e0e\"},\"hatch_alpha\":{\"value\":0.1},\"hatch_color\":{\"value\":\"#ff7e0e\"},\"line_alpha\":{\"value\":0.1},\"line_color\":{\"value\":\"#ff7e0e\"},\"line_width\":{\"value\":0},\"size\":{\"value\":5},\"x\":{\"field\":\"confidence when correct\"},\"y\":{\"field\":\"confidence when incorrect\"}},\"id\":\"3166\",\"type\":\"Circle\"}],\"root_ids\":[\"3127\"]},\"title\":\"Bokeh Application\",\"version\":\"2.4.2\"}};\n", " const render_items = [{\"docid\":\"8e78613f-d99e-4849-b3ed-eb9509454f0b\",\"root_ids\":[\"3127\"],\"roots\":{\"3127\":\"2fa8c43a-9f66-40cb-9f0d-0ebd9aa7d9b5\"}}];\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", " let attempts = 0;\n", " const timer = setInterval(function(root) {\n", " if (root.Bokeh !== undefined) {\n", " clearInterval(timer);\n", " embed_document(root);\n", " } else {\n", " attempts++;\n", " if (attempts > 100) {\n", " clearInterval(timer);\n", " console.log(\"Bokeh: ERROR: Unable to run BokehJS code because BokehJS library is missing\");\n", " }\n", " }\n", " }, 10, root)\n", " }\n", "})(window);" ], "application/vnd.bokehjs_exec.v0+json": "" }, "metadata": { "application/vnd.bokehjs_exec.v0+json": { "id": "3127" } }, "output_type": "display_data" } ], "source": [ "p = bokeh.plotting.figure(\n", " frame_width=300,\n", " frame_height=300,\n", " x_axis_label=\"confidence when correct\",\n", " y_axis_label=\"condifence when incorrect\",\n", " x_range=[-2.5, 102.5],\n", " y_range=[-2.5, 102.5],\n", ")\n", "\n", "normal_glyph = p.circle(\n", " source=source_normal,\n", " x=\"confidence when correct\",\n", " y=\"confidence when incorrect\",\n", " color=cat_colors[0],\n", ")\n", "\n", "insom_glyph = p.circle(\n", " source=source_insomnia,\n", " x=\"confidence when correct\",\n", " y=\"confidence when incorrect\",\n", " color=cat_colors[1],\n", ")\n", "\n", "# Construct legend items\n", "legend_items = [('normal', [normal_glyph]), ('insomnia', [insom_glyph])]\n", "\n", "# Instantiate legend\n", "legend = bokeh.models.Legend(items=legend_items, click_policy='hide')\n", "\n", "# Add the legend to the right of the plot\n", "p.add_layout(legend, 'right')\n", "\n", "bokeh.io.show(p)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "You can play with these themes and develop your own style as you see fit. As you can see, Bokeh is highly configurable, and you can really make the plots your own!" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Computing environment" ] }, { "cell_type": "code", "execution_count": 27, "metadata": { "tags": [ "hide-input" ] }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Python implementation: CPython\n", "Python version : 3.9.12\n", "IPython version : 8.3.0\n", "\n", "numpy : 1.21.5\n", "pandas : 1.4.2\n", "bokeh : 2.4.2\n", "iqplot : 0.2.4\n", "jupyterlab: 3.3.2\n", "\n" ] } ], "source": [ "%load_ext watermark\n", "%watermark -v -p numpy,pandas,bokeh,iqplot,jupyterlab" ] } ], "metadata": { "anaconda-cloud": {}, "kernelspec": { "display_name": "Python 3 (ipykernel)", "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.9.12" } }, "nbformat": 4, "nbformat_minor": 4 }