{ "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", "
\n" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "application/javascript": [ "'use strict';\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", " function drop(id) {\n", " const view = Bokeh.index.get_by_id(id)\n", " if (view != null) {\n", " view.model.document.clear()\n", " Bokeh.index.delete(view)\n", " }\n", " }\n", "\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", "\n", " // Clean up Bokeh references\n", " if (id != null) {\n", " drop(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", " drop(id)\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", " 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(error = null) {\n", " const el = document.getElementById(\"e7407e54-5d8d-4b8f-8ccb-4d803c4e290b\");\n", " if (el != null) {\n", " const html = (() => {\n", " if (typeof root.Bokeh === \"undefined\") {\n", " if (error == null) {\n", " return \"BokehJS is loading ...\";\n", " } else {\n", " return \"BokehJS failed to load.\";\n", " }\n", " } else {\n", " const prefix = `BokehJS ${root.Bokeh.version}`;\n", " if (error == null) {\n", " return `${prefix} successfully loaded.`;\n", " } else {\n", " return `${prefix} encountered errors while loading and may not function as expected.`;\n", " }\n", " }\n", " })();\n", " el.innerHTML = html;\n", "\n", " if (error != null) {\n", " const wrapper = document.createElement(\"div\");\n", " wrapper.style.overflow = \"auto\";\n", " wrapper.style.height = \"5em\";\n", " wrapper.style.resize = \"vertical\";\n", " const content = document.createElement(\"div\");\n", " content.style.fontFamily = \"monospace\";\n", " content.style.whiteSpace = \"pre-wrap\";\n", " content.style.backgroundColor = \"rgb(255, 221, 221)\";\n", " content.textContent = error.stack ?? error.toString();\n", " wrapper.append(content);\n", " el.append(wrapper);\n", " }\n", " } else if (Date.now() < root._bokeh_timeout) {\n", " setTimeout(() => display_loaded(error), 100);\n", " }\n", " }\n", "\n", " function run_callbacks() {\n", " try {\n", " root._bokeh_onload_callbacks.forEach(function(callback) {\n", " if (callback != null)\n", " callback();\n", " });\n", " } finally {\n", " delete root._bokeh_onload_callbacks\n", " }\n", " console.debug(\"Bokeh: all callbacks have finished\");\n", " }\n", "\n", " function load_libs(css_urls, js_urls, callback) {\n", " if (css_urls == null) css_urls = [];\n", " if (js_urls == null) js_urls = [];\n", "\n", " root._bokeh_onload_callbacks.push(callback);\n", " if (root._bokeh_is_loading > 0) {\n", " console.debug(\"Bokeh: BokehJS is being loaded, scheduling callback at\", now());\n", " return null;\n", " }\n", " if (js_urls == null || js_urls.length === 0) {\n", " run_callbacks();\n", " return null;\n", " }\n", " console.debug(\"Bokeh: BokehJS not loaded, scheduling load and callback at\", now());\n", " root._bokeh_is_loading = css_urls.length + js_urls.length;\n", "\n", " function on_load() {\n", " root._bokeh_is_loading--;\n", " if (root._bokeh_is_loading === 0) {\n", " console.debug(\"Bokeh: all BokehJS libraries/stylesheets loaded\");\n", " run_callbacks()\n", " }\n", " }\n", "\n", " function on_error(url) {\n", " console.error(\"failed to load \" + url);\n", " }\n", "\n", " for (let i = 0; i < css_urls.length; i++) {\n", " const url = css_urls[i];\n", " const element = document.createElement(\"link\");\n", " element.onload = on_load;\n", " element.onerror = on_error.bind(null, url);\n", " element.rel = \"stylesheet\";\n", " element.type = \"text/css\";\n", " element.href = url;\n", " console.debug(\"Bokeh: injecting link tag for BokehJS stylesheet: \", url);\n", " document.body.appendChild(element);\n", " }\n", "\n", " for (let i = 0; i < js_urls.length; i++) {\n", " const url = js_urls[i];\n", " const element = document.createElement('script');\n", " element.onload = on_load;\n", " element.onerror = on_error.bind(null, url);\n", " element.async = false;\n", " element.src = url;\n", " console.debug(\"Bokeh: injecting script tag for BokehJS library: \", url);\n", " document.head.appendChild(element);\n", " }\n", " };\n", "\n", " function inject_raw_css(css) {\n", " const element = document.createElement(\"style\");\n", " element.appendChild(document.createTextNode(css));\n", " document.body.appendChild(element);\n", " }\n", "\n", " const js_urls = [\"https://cdn.bokeh.org/bokeh/release/bokeh-3.4.1.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-gl-3.4.1.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-widgets-3.4.1.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-tables-3.4.1.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-mathjax-3.4.1.min.js\"];\n", " const css_urls = [];\n", "\n", " const inline_js = [ function(Bokeh) {\n", " Bokeh.set_log_level(\"info\");\n", " },\n", "function(Bokeh) {\n", " }\n", " ];\n", "\n", " function run_inline_js() {\n", " if (root.Bokeh !== undefined || force === true) {\n", " try {\n", " for (let i = 0; i < inline_js.length; i++) {\n", " inline_js[i].call(root, root.Bokeh);\n", " }\n", "\n", " } catch (error) {display_loaded(error);throw error;\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(\"e7407e54-5d8d-4b8f-8ccb-4d803c4e290b\")).parents('.cell').data().cell;\n", " cell.output_area.append_execute_result(NB_LOAD_WARNING)\n", " }\n", " }\n", "\n", " if (root._bokeh_is_loading === 0) {\n", " console.debug(\"Bokeh: BokehJS loaded, going straight to plotting\");\n", " run_inline_js();\n", " } else {\n", " load_libs(css_urls, js_urls, function() {\n", " console.debug(\"Bokeh: BokehJS plotting callback run at\", now());\n", " run_inline_js();\n", " });\n", " }\n", "}(window));" ], "application/vnd.bokehjs_load.v0+json": "'use strict';\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 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(error = null) {\n const el = document.getElementById(\"e7407e54-5d8d-4b8f-8ccb-4d803c4e290b\");\n if (el != null) {\n const html = (() => {\n if (typeof root.Bokeh === \"undefined\") {\n if (error == null) {\n return \"BokehJS is loading ...\";\n } else {\n return \"BokehJS failed to load.\";\n }\n } else {\n const prefix = `BokehJS ${root.Bokeh.version}`;\n if (error == null) {\n return `${prefix} successfully loaded.`;\n } else {\n return `${prefix} encountered errors while loading and may not function as expected.`;\n }\n }\n })();\n el.innerHTML = html;\n\n if (error != null) {\n const wrapper = document.createElement(\"div\");\n wrapper.style.overflow = \"auto\";\n wrapper.style.height = \"5em\";\n wrapper.style.resize = \"vertical\";\n const content = document.createElement(\"div\");\n content.style.fontFamily = \"monospace\";\n content.style.whiteSpace = \"pre-wrap\";\n content.style.backgroundColor = \"rgb(255, 221, 221)\";\n content.textContent = error.stack ?? error.toString();\n wrapper.append(content);\n el.append(wrapper);\n }\n } else if (Date.now() < root._bokeh_timeout) {\n setTimeout(() => display_loaded(error), 100);\n }\n }\n\n function run_callbacks() {\n try {\n root._bokeh_onload_callbacks.forEach(function(callback) {\n if (callback != null)\n callback();\n });\n } finally {\n delete root._bokeh_onload_callbacks\n }\n console.debug(\"Bokeh: all callbacks have finished\");\n }\n\n function load_libs(css_urls, js_urls, callback) {\n if (css_urls == null) css_urls = [];\n if (js_urls == null) js_urls = [];\n\n root._bokeh_onload_callbacks.push(callback);\n if (root._bokeh_is_loading > 0) {\n console.debug(\"Bokeh: BokehJS is being loaded, scheduling callback at\", now());\n return null;\n }\n if (js_urls == null || js_urls.length === 0) {\n run_callbacks();\n return null;\n }\n console.debug(\"Bokeh: BokehJS not loaded, scheduling load and callback at\", now());\n root._bokeh_is_loading = css_urls.length + js_urls.length;\n\n function on_load() {\n root._bokeh_is_loading--;\n if (root._bokeh_is_loading === 0) {\n console.debug(\"Bokeh: all BokehJS libraries/stylesheets loaded\");\n run_callbacks()\n }\n }\n\n function on_error(url) {\n console.error(\"failed to load \" + url);\n }\n\n for (let i = 0; i < css_urls.length; i++) {\n const url = css_urls[i];\n const element = document.createElement(\"link\");\n element.onload = on_load;\n element.onerror = on_error.bind(null, url);\n element.rel = \"stylesheet\";\n element.type = \"text/css\";\n element.href = url;\n console.debug(\"Bokeh: injecting link tag for BokehJS stylesheet: \", url);\n document.body.appendChild(element);\n }\n\n for (let i = 0; i < js_urls.length; i++) {\n const url = js_urls[i];\n const element = document.createElement('script');\n element.onload = on_load;\n element.onerror = on_error.bind(null, url);\n element.async = false;\n element.src = url;\n console.debug(\"Bokeh: injecting script tag for BokehJS library: \", url);\n document.head.appendChild(element);\n }\n };\n\n function inject_raw_css(css) {\n const element = document.createElement(\"style\");\n element.appendChild(document.createTextNode(css));\n document.body.appendChild(element);\n }\n\n const js_urls = [\"https://cdn.bokeh.org/bokeh/release/bokeh-3.4.1.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-gl-3.4.1.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-widgets-3.4.1.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-tables-3.4.1.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-mathjax-3.4.1.min.js\"];\n const css_urls = [];\n\n const inline_js = [ function(Bokeh) {\n Bokeh.set_log_level(\"info\");\n },\nfunction(Bokeh) {\n }\n ];\n\n function run_inline_js() {\n if (root.Bokeh !== undefined || force === true) {\n try {\n for (let i = 0; i < inline_js.length; i++) {\n inline_js[i].call(root, root.Bokeh);\n }\n\n } catch (error) {display_loaded(error);throw error;\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(\"e7407e54-5d8d-4b8f-8ccb-4d803c4e290b\")).parents('.cell').data().cell;\n cell.output_area.append_execute_result(NB_LOAD_WARNING)\n }\n }\n\n if (root._bokeh_is_loading === 0) {\n console.debug(\"Bokeh: BokehJS loaded, going straight to plotting\");\n run_inline_js();\n } else {\n load_libs(css_urls, js_urls, function() {\n console.debug(\"Bokeh: BokehJS plotting callback run at\", now());\n run_inline_js();\n });\n }\n}(window));" }, "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. We have seen how to adjust plot size, axis labels, glyph color, 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" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "application/javascript": [ "(function(root) {\n", " function embed_document(root) {\n", " const docs_json = {\"808f4846-a1cc-47e7-b4ed-64f55907862c\":{\"version\":\"3.4.1\",\"title\":\"Bokeh Application\",\"roots\":[{\"type\":\"object\",\"name\":\"Figure\",\"id\":\"p1002\",\"attributes\":{\"x_range\":{\"type\":\"object\",\"name\":\"FactorRange\",\"id\":\"p1001\",\"attributes\":{\"factors\":[\"I\",\"II\",\"III\",\"IV\"]}},\"y_range\":{\"type\":\"object\",\"name\":\"DataRange1d\",\"id\":\"p1004\"},\"x_scale\":{\"type\":\"object\",\"name\":\"CategoricalScale\",\"id\":\"p1011\"},\"y_scale\":{\"type\":\"object\",\"name\":\"LinearScale\",\"id\":\"p1012\"},\"title\":{\"type\":\"object\",\"name\":\"Title\",\"id\":\"p1009\"},\"renderers\":[{\"type\":\"object\",\"name\":\"GlyphRenderer\",\"id\":\"p1049\",\"attributes\":{\"data_source\":{\"type\":\"object\",\"name\":\"ColumnDataSource\",\"id\":\"p1034\",\"attributes\":{\"selected\":{\"type\":\"object\",\"name\":\"Selection\",\"id\":\"p1035\",\"attributes\":{\"indices\":[],\"line_indices\":[]}},\"selection_policy\":{\"type\":\"object\",\"name\":\"UnionRenderers\",\"id\":\"p1036\"},\"data\":{\"type\":\"map\",\"entries\":[[\"middle\",[1550.5,573.0,544.0,460.5]],[\"bottom\",[1231.25,422.0,458.75,198.0]],[\"top\",[1904.75,799.75,615.75,599.0]],[\"top_whisker\",[2641.0,1182.0,806.0,815.0]],[\"bottom_whisker\",[473.0,245.0,324.0,22.0]],[\"cat\",[\"I\",\"II\",\"III\",\"IV\"]],[\"__label\",[\"I\",\"II\",\"III\",\"IV\"]]]}}},\"view\":{\"type\":\"object\",\"name\":\"CDSView\",\"id\":\"p1050\",\"attributes\":{\"filter\":{\"type\":\"object\",\"name\":\"AllIndices\",\"id\":\"p1051\"}}},\"glyph\":{\"type\":\"object\",\"name\":\"Segment\",\"id\":\"p1046\",\"attributes\":{\"x0\":{\"type\":\"field\",\"field\":\"cat\"},\"y0\":{\"type\":\"field\",\"field\":\"top\"},\"x1\":{\"type\":\"field\",\"field\":\"cat\"},\"y1\":{\"type\":\"field\",\"field\":\"top_whisker\"}}},\"nonselection_glyph\":{\"type\":\"object\",\"name\":\"Segment\",\"id\":\"p1047\",\"attributes\":{\"x0\":{\"type\":\"field\",\"field\":\"cat\"},\"y0\":{\"type\":\"field\",\"field\":\"top\"},\"x1\":{\"type\":\"field\",\"field\":\"cat\"},\"y1\":{\"type\":\"field\",\"field\":\"top_whisker\"},\"line_alpha\":{\"type\":\"value\",\"value\":0.1}}},\"muted_glyph\":{\"type\":\"object\",\"name\":\"Segment\",\"id\":\"p1048\",\"attributes\":{\"x0\":{\"type\":\"field\",\"field\":\"cat\"},\"y0\":{\"type\":\"field\",\"field\":\"top\"},\"x1\":{\"type\":\"field\",\"field\":\"cat\"},\"y1\":{\"type\":\"field\",\"field\":\"top_whisker\"},\"line_alpha\":{\"type\":\"value\",\"value\":0.2}}}}},{\"type\":\"object\",\"name\":\"GlyphRenderer\",\"id\":\"p1058\",\"attributes\":{\"data_source\":{\"id\":\"p1034\"},\"view\":{\"type\":\"object\",\"name\":\"CDSView\",\"id\":\"p1059\",\"attributes\":{\"filter\":{\"type\":\"object\",\"name\":\"AllIndices\",\"id\":\"p1060\"}}},\"glyph\":{\"type\":\"object\",\"name\":\"Segment\",\"id\":\"p1055\",\"attributes\":{\"x0\":{\"type\":\"field\",\"field\":\"cat\"},\"y0\":{\"type\":\"field\",\"field\":\"bottom\"},\"x1\":{\"type\":\"field\",\"field\":\"cat\"},\"y1\":{\"type\":\"field\",\"field\":\"bottom_whisker\"}}},\"nonselection_glyph\":{\"type\":\"object\",\"name\":\"Segment\",\"id\":\"p1056\",\"attributes\":{\"x0\":{\"type\":\"field\",\"field\":\"cat\"},\"y0\":{\"type\":\"field\",\"field\":\"bottom\"},\"x1\":{\"type\":\"field\",\"field\":\"cat\"},\"y1\":{\"type\":\"field\",\"field\":\"bottom_whisker\"},\"line_alpha\":{\"type\":\"value\",\"value\":0.1}}},\"muted_glyph\":{\"type\":\"object\",\"name\":\"Segment\",\"id\":\"p1057\",\"attributes\":{\"x0\":{\"type\":\"field\",\"field\":\"cat\"},\"y0\":{\"type\":\"field\",\"field\":\"bottom\"},\"x1\":{\"type\":\"field\",\"field\":\"cat\"},\"y1\":{\"type\":\"field\",\"field\":\"bottom_whisker\"},\"line_alpha\":{\"type\":\"value\",\"value\":0.2}}}}},{\"type\":\"object\",\"name\":\"GlyphRenderer\",\"id\":\"p1067\",\"attributes\":{\"data_source\":{\"id\":\"p1034\"},\"view\":{\"type\":\"object\",\"name\":\"CDSView\",\"id\":\"p1068\",\"attributes\":{\"filter\":{\"type\":\"object\",\"name\":\"AllIndices\",\"id\":\"p1069\"}}},\"glyph\":{\"type\":\"object\",\"name\":\"VBar\",\"id\":\"p1064\",\"attributes\":{\"x\":{\"type\":\"field\",\"field\":\"cat\"},\"width\":{\"type\":\"value\",\"value\":0.4},\"bottom\":{\"type\":\"field\",\"field\":\"bottom\"},\"top\":{\"type\":\"field\",\"field\":\"top\"},\"line_color\":{\"type\":\"value\",\"value\":null},\"fill_color\":{\"type\":\"field\",\"field\":\"cat\",\"transform\":{\"type\":\"object\",\"name\":\"CategoricalColorMapper\",\"id\":\"p1042\",\"attributes\":{\"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\"],\"factors\":[\"I\",\"II\",\"III\",\"IV\"]}}}}},\"nonselection_glyph\":{\"type\":\"object\",\"name\":\"VBar\",\"id\":\"p1065\",\"attributes\":{\"x\":{\"type\":\"field\",\"field\":\"cat\"},\"width\":{\"type\":\"value\",\"value\":0.4},\"bottom\":{\"type\":\"field\",\"field\":\"bottom\"},\"top\":{\"type\":\"field\",\"field\":\"top\"},\"line_color\":{\"type\":\"value\",\"value\":null},\"line_alpha\":{\"type\":\"value\",\"value\":0.1},\"fill_color\":{\"type\":\"field\",\"field\":\"cat\",\"transform\":{\"id\":\"p1042\"}},\"fill_alpha\":{\"type\":\"value\",\"value\":0.1},\"hatch_alpha\":{\"type\":\"value\",\"value\":0.1}}},\"muted_glyph\":{\"type\":\"object\",\"name\":\"VBar\",\"id\":\"p1066\",\"attributes\":{\"x\":{\"type\":\"field\",\"field\":\"cat\"},\"width\":{\"type\":\"value\",\"value\":0.4},\"bottom\":{\"type\":\"field\",\"field\":\"bottom\"},\"top\":{\"type\":\"field\",\"field\":\"top\"},\"line_color\":{\"type\":\"value\",\"value\":null},\"line_alpha\":{\"type\":\"value\",\"value\":0.2},\"fill_color\":{\"type\":\"field\",\"field\":\"cat\",\"transform\":{\"id\":\"p1042\"}},\"fill_alpha\":{\"type\":\"value\",\"value\":0.2},\"hatch_alpha\":{\"type\":\"value\",\"value\":0.2}}}}},{\"type\":\"object\",\"name\":\"GlyphRenderer\",\"id\":\"p1076\",\"attributes\":{\"data_source\":{\"id\":\"p1034\"},\"view\":{\"type\":\"object\",\"name\":\"CDSView\",\"id\":\"p1077\",\"attributes\":{\"filter\":{\"type\":\"object\",\"name\":\"AllIndices\",\"id\":\"p1078\"}}},\"glyph\":{\"type\":\"object\",\"name\":\"VBar\",\"id\":\"p1073\",\"attributes\":{\"x\":{\"type\":\"field\",\"field\":\"cat\"},\"width\":{\"type\":\"value\",\"value\":0.4},\"bottom\":{\"type\":\"field\",\"field\":\"middle\"},\"top\":{\"type\":\"field\",\"field\":\"middle\"},\"line_color\":{\"type\":\"value\",\"value\":\"white\"},\"fill_color\":{\"type\":\"value\",\"value\":\"#1f77b4\"}}},\"nonselection_glyph\":{\"type\":\"object\",\"name\":\"VBar\",\"id\":\"p1074\",\"attributes\":{\"x\":{\"type\":\"field\",\"field\":\"cat\"},\"width\":{\"type\":\"value\",\"value\":0.4},\"bottom\":{\"type\":\"field\",\"field\":\"middle\"},\"top\":{\"type\":\"field\",\"field\":\"middle\"},\"line_color\":{\"type\":\"value\",\"value\":\"white\"},\"line_alpha\":{\"type\":\"value\",\"value\":0.1},\"fill_color\":{\"type\":\"value\",\"value\":\"#1f77b4\"},\"fill_alpha\":{\"type\":\"value\",\"value\":0.1},\"hatch_alpha\":{\"type\":\"value\",\"value\":0.1}}},\"muted_glyph\":{\"type\":\"object\",\"name\":\"VBar\",\"id\":\"p1075\",\"attributes\":{\"x\":{\"type\":\"field\",\"field\":\"cat\"},\"width\":{\"type\":\"value\",\"value\":0.4},\"bottom\":{\"type\":\"field\",\"field\":\"middle\"},\"top\":{\"type\":\"field\",\"field\":\"middle\"},\"line_color\":{\"type\":\"value\",\"value\":\"white\"},\"line_alpha\":{\"type\":\"value\",\"value\":0.2},\"fill_color\":{\"type\":\"value\",\"value\":\"#1f77b4\"},\"fill_alpha\":{\"type\":\"value\",\"value\":0.2},\"hatch_alpha\":{\"type\":\"value\",\"value\":0.2}}}}},{\"type\":\"object\",\"name\":\"GlyphRenderer\",\"id\":\"p1085\",\"attributes\":{\"data_source\":{\"type\":\"object\",\"name\":\"ColumnDataSource\",\"id\":\"p1037\",\"attributes\":{\"selected\":{\"type\":\"object\",\"name\":\"Selection\",\"id\":\"p1038\",\"attributes\":{\"indices\":[],\"line_indices\":[]}},\"selection_policy\":{\"type\":\"object\",\"name\":\"UnionRenderers\",\"id\":\"p1039\"},\"data\":{\"type\":\"map\",\"entries\":[[\"ID\",[\"II\",\"II\",\"II\"]],[\"impact force (mN)\",[1612,1539,1453]],[\"cat\",[\"II\",\"II\",\"II\"]],[\"__label\",[\"II\",\"II\",\"II\"]]]}}},\"view\":{\"type\":\"object\",\"name\":\"CDSView\",\"id\":\"p1086\",\"attributes\":{\"filter\":{\"type\":\"object\",\"name\":\"AllIndices\",\"id\":\"p1087\"}}},\"glyph\":{\"type\":\"object\",\"name\":\"Scatter\",\"id\":\"p1082\",\"attributes\":{\"x\":{\"type\":\"field\",\"field\":\"cat\"},\"y\":{\"type\":\"field\",\"field\":\"impact force (mN)\"},\"line_color\":{\"type\":\"field\",\"field\":\"cat\",\"transform\":{\"type\":\"object\",\"name\":\"CategoricalColorMapper\",\"id\":\"p1041\",\"attributes\":{\"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\"],\"factors\":[\"I\",\"II\",\"III\",\"IV\"]}}},\"fill_color\":{\"type\":\"field\",\"field\":\"cat\",\"transform\":{\"type\":\"object\",\"name\":\"CategoricalColorMapper\",\"id\":\"p1040\",\"attributes\":{\"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\"],\"factors\":[\"I\",\"II\",\"III\",\"IV\"]}}}}},\"nonselection_glyph\":{\"type\":\"object\",\"name\":\"Scatter\",\"id\":\"p1083\",\"attributes\":{\"x\":{\"type\":\"field\",\"field\":\"cat\"},\"y\":{\"type\":\"field\",\"field\":\"impact force (mN)\"},\"line_color\":{\"type\":\"field\",\"field\":\"cat\",\"transform\":{\"id\":\"p1041\"}},\"line_alpha\":{\"type\":\"value\",\"value\":0.1},\"fill_color\":{\"type\":\"field\",\"field\":\"cat\",\"transform\":{\"id\":\"p1040\"}},\"fill_alpha\":{\"type\":\"value\",\"value\":0.1},\"hatch_alpha\":{\"type\":\"value\",\"value\":0.1}}},\"muted_glyph\":{\"type\":\"object\",\"name\":\"Scatter\",\"id\":\"p1084\",\"attributes\":{\"x\":{\"type\":\"field\",\"field\":\"cat\"},\"y\":{\"type\":\"field\",\"field\":\"impact force (mN)\"},\"line_color\":{\"type\":\"field\",\"field\":\"cat\",\"transform\":{\"id\":\"p1041\"}},\"line_alpha\":{\"type\":\"value\",\"value\":0.2},\"fill_color\":{\"type\":\"field\",\"field\":\"cat\",\"transform\":{\"id\":\"p1040\"}},\"fill_alpha\":{\"type\":\"value\",\"value\":0.2},\"hatch_alpha\":{\"type\":\"value\",\"value\":0.2}}}}}],\"toolbar\":{\"type\":\"object\",\"name\":\"Toolbar\",\"id\":\"p1010\",\"attributes\":{\"tools\":[{\"type\":\"object\",\"name\":\"PanTool\",\"id\":\"p1023\"},{\"type\":\"object\",\"name\":\"WheelZoomTool\",\"id\":\"p1024\",\"attributes\":{\"renderers\":\"auto\"}},{\"type\":\"object\",\"name\":\"BoxZoomTool\",\"id\":\"p1025\",\"attributes\":{\"overlay\":{\"type\":\"object\",\"name\":\"BoxAnnotation\",\"id\":\"p1026\",\"attributes\":{\"syncable\":false,\"level\":\"overlay\",\"visible\":false,\"left\":{\"type\":\"number\",\"value\":\"nan\"},\"right\":{\"type\":\"number\",\"value\":\"nan\"},\"top\":{\"type\":\"number\",\"value\":\"nan\"},\"bottom\":{\"type\":\"number\",\"value\":\"nan\"},\"left_units\":\"canvas\",\"right_units\":\"canvas\",\"top_units\":\"canvas\",\"bottom_units\":\"canvas\",\"line_color\":\"black\",\"line_alpha\":1.0,\"line_width\":2,\"line_dash\":[4,4],\"fill_color\":\"lightgrey\",\"fill_alpha\":0.5}}}},{\"type\":\"object\",\"name\":\"SaveTool\",\"id\":\"p1031\"},{\"type\":\"object\",\"name\":\"ResetTool\",\"id\":\"p1032\"},{\"type\":\"object\",\"name\":\"HelpTool\",\"id\":\"p1033\"}]}},\"toolbar_location\":\"above\",\"left\":[{\"type\":\"object\",\"name\":\"LinearAxis\",\"id\":\"p1018\",\"attributes\":{\"ticker\":{\"type\":\"object\",\"name\":\"BasicTicker\",\"id\":\"p1019\",\"attributes\":{\"mantissas\":[1,2,5]}},\"formatter\":{\"type\":\"object\",\"name\":\"BasicTickFormatter\",\"id\":\"p1020\"},\"axis_label\":\"impact force (mN)\",\"major_label_policy\":{\"type\":\"object\",\"name\":\"AllLabels\",\"id\":\"p1021\"}}}],\"below\":[{\"type\":\"object\",\"name\":\"CategoricalAxis\",\"id\":\"p1013\",\"attributes\":{\"ticker\":{\"type\":\"object\",\"name\":\"CategoricalTicker\",\"id\":\"p1014\"},\"formatter\":{\"type\":\"object\",\"name\":\"CategoricalTickFormatter\",\"id\":\"p1015\"},\"major_label_policy\":{\"type\":\"object\",\"name\":\"AllLabels\",\"id\":\"p1016\"}}}],\"center\":[{\"type\":\"object\",\"name\":\"Grid\",\"id\":\"p1017\",\"attributes\":{\"axis\":{\"id\":\"p1013\"},\"grid_line_color\":null}},{\"type\":\"object\",\"name\":\"Grid\",\"id\":\"p1022\",\"attributes\":{\"dimension\":1,\"axis\":{\"id\":\"p1018\"}}}],\"frame_width\":375,\"frame_height\":275}}]}};\n", " const render_items = [{\"docid\":\"808f4846-a1cc-47e7-b4ed-64f55907862c\",\"roots\":{\"p1002\":\"aa8d791f-a621-4af3-aa7a-0e2a1b3546c9\"},\"root_ids\":[\"p1002\"]}];\n", " void root.Bokeh.embed.embed_items_notebook(docs_json, render_items);\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": "p1002" } }, "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" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "application/javascript": [ "(function(root) {\n", " function embed_document(root) {\n", " const docs_json = {\"aa980df7-c71f-4fb1-9ef7-c7e00e823ff5\":{\"version\":\"3.4.1\",\"title\":\"Bokeh Application\",\"roots\":[{\"type\":\"object\",\"name\":\"Figure\",\"id\":\"p1089\",\"attributes\":{\"x_range\":{\"type\":\"object\",\"name\":\"DataRange1d\",\"id\":\"p1091\"},\"y_range\":{\"type\":\"object\",\"name\":\"FactorRange\",\"id\":\"p1088\",\"attributes\":{\"factors\":[\"IV\",\"III\",\"II\",\"I\"]}},\"x_scale\":{\"type\":\"object\",\"name\":\"LinearScale\",\"id\":\"p1098\"},\"y_scale\":{\"type\":\"object\",\"name\":\"CategoricalScale\",\"id\":\"p1099\"},\"title\":{\"type\":\"object\",\"name\":\"Title\",\"id\":\"p1096\"},\"renderers\":[{\"type\":\"object\",\"name\":\"GlyphRenderer\",\"id\":\"p1133\",\"attributes\":{\"data_source\":{\"type\":\"object\",\"name\":\"ColumnDataSource\",\"id\":\"p1121\",\"attributes\":{\"selected\":{\"type\":\"object\",\"name\":\"Selection\",\"id\":\"p1122\",\"attributes\":{\"indices\":[],\"line_indices\":[]}},\"selection_policy\":{\"type\":\"object\",\"name\":\"UnionRenderers\",\"id\":\"p1123\"},\"data\":{\"type\":\"map\",\"entries\":[[\"middle\",[1550.5,573.0,544.0,460.5]],[\"bottom\",[1231.25,422.0,458.75,198.0]],[\"top\",[1904.75,799.75,615.75,599.0]],[\"top_whisker\",[2641.0,1182.0,806.0,815.0]],[\"bottom_whisker\",[473.0,245.0,324.0,22.0]],[\"cat\",[\"I\",\"II\",\"III\",\"IV\"]],[\"__label\",[\"I\",\"II\",\"III\",\"IV\"]]]}}},\"view\":{\"type\":\"object\",\"name\":\"CDSView\",\"id\":\"p1134\",\"attributes\":{\"filter\":{\"type\":\"object\",\"name\":\"AllIndices\",\"id\":\"p1135\"}}},\"glyph\":{\"type\":\"object\",\"name\":\"Segment\",\"id\":\"p1130\",\"attributes\":{\"x0\":{\"type\":\"field\",\"field\":\"top\"},\"y0\":{\"type\":\"field\",\"field\":\"cat\"},\"x1\":{\"type\":\"field\",\"field\":\"top_whisker\"},\"y1\":{\"type\":\"field\",\"field\":\"cat\"},\"line_color\":{\"type\":\"value\",\"value\":\"#7C0000\"},\"line_width\":{\"type\":\"value\",\"value\":2}}},\"nonselection_glyph\":{\"type\":\"object\",\"name\":\"Segment\",\"id\":\"p1131\",\"attributes\":{\"x0\":{\"type\":\"field\",\"field\":\"top\"},\"y0\":{\"type\":\"field\",\"field\":\"cat\"},\"x1\":{\"type\":\"field\",\"field\":\"top_whisker\"},\"y1\":{\"type\":\"field\",\"field\":\"cat\"},\"line_color\":{\"type\":\"value\",\"value\":\"#7C0000\"},\"line_alpha\":{\"type\":\"value\",\"value\":0.1},\"line_width\":{\"type\":\"value\",\"value\":2}}},\"muted_glyph\":{\"type\":\"object\",\"name\":\"Segment\",\"id\":\"p1132\",\"attributes\":{\"x0\":{\"type\":\"field\",\"field\":\"top\"},\"y0\":{\"type\":\"field\",\"field\":\"cat\"},\"x1\":{\"type\":\"field\",\"field\":\"top_whisker\"},\"y1\":{\"type\":\"field\",\"field\":\"cat\"},\"line_color\":{\"type\":\"value\",\"value\":\"#7C0000\"},\"line_alpha\":{\"type\":\"value\",\"value\":0.2},\"line_width\":{\"type\":\"value\",\"value\":2}}}}},{\"type\":\"object\",\"name\":\"GlyphRenderer\",\"id\":\"p1142\",\"attributes\":{\"data_source\":{\"id\":\"p1121\"},\"view\":{\"type\":\"object\",\"name\":\"CDSView\",\"id\":\"p1143\",\"attributes\":{\"filter\":{\"type\":\"object\",\"name\":\"AllIndices\",\"id\":\"p1144\"}}},\"glyph\":{\"type\":\"object\",\"name\":\"Segment\",\"id\":\"p1139\",\"attributes\":{\"x0\":{\"type\":\"field\",\"field\":\"bottom\"},\"y0\":{\"type\":\"field\",\"field\":\"cat\"},\"x1\":{\"type\":\"field\",\"field\":\"bottom_whisker\"},\"y1\":{\"type\":\"field\",\"field\":\"cat\"},\"line_color\":{\"type\":\"value\",\"value\":\"#7C0000\"},\"line_width\":{\"type\":\"value\",\"value\":2}}},\"nonselection_glyph\":{\"type\":\"object\",\"name\":\"Segment\",\"id\":\"p1140\",\"attributes\":{\"x0\":{\"type\":\"field\",\"field\":\"bottom\"},\"y0\":{\"type\":\"field\",\"field\":\"cat\"},\"x1\":{\"type\":\"field\",\"field\":\"bottom_whisker\"},\"y1\":{\"type\":\"field\",\"field\":\"cat\"},\"line_color\":{\"type\":\"value\",\"value\":\"#7C0000\"},\"line_alpha\":{\"type\":\"value\",\"value\":0.1},\"line_width\":{\"type\":\"value\",\"value\":2}}},\"muted_glyph\":{\"type\":\"object\",\"name\":\"Segment\",\"id\":\"p1141\",\"attributes\":{\"x0\":{\"type\":\"field\",\"field\":\"bottom\"},\"y0\":{\"type\":\"field\",\"field\":\"cat\"},\"x1\":{\"type\":\"field\",\"field\":\"bottom_whisker\"},\"y1\":{\"type\":\"field\",\"field\":\"cat\"},\"line_color\":{\"type\":\"value\",\"value\":\"#7C0000\"},\"line_alpha\":{\"type\":\"value\",\"value\":0.2},\"line_width\":{\"type\":\"value\",\"value\":2}}}}},{\"type\":\"object\",\"name\":\"GlyphRenderer\",\"id\":\"p1151\",\"attributes\":{\"data_source\":{\"id\":\"p1121\"},\"view\":{\"type\":\"object\",\"name\":\"CDSView\",\"id\":\"p1152\",\"attributes\":{\"filter\":{\"type\":\"object\",\"name\":\"AllIndices\",\"id\":\"p1153\"}}},\"glyph\":{\"type\":\"object\",\"name\":\"HBar\",\"id\":\"p1148\",\"attributes\":{\"y\":{\"type\":\"field\",\"field\":\"cat\"},\"height\":{\"type\":\"value\",\"value\":0.1},\"left\":{\"type\":\"field\",\"field\":\"top_whisker\"},\"right\":{\"type\":\"field\",\"field\":\"top_whisker\"},\"line_color\":{\"type\":\"value\",\"value\":\"#7C0000\"},\"line_width\":{\"type\":\"value\",\"value\":2},\"fill_color\":{\"type\":\"value\",\"value\":\"#1f77b4\"}}},\"nonselection_glyph\":{\"type\":\"object\",\"name\":\"HBar\",\"id\":\"p1149\",\"attributes\":{\"y\":{\"type\":\"field\",\"field\":\"cat\"},\"height\":{\"type\":\"value\",\"value\":0.1},\"left\":{\"type\":\"field\",\"field\":\"top_whisker\"},\"right\":{\"type\":\"field\",\"field\":\"top_whisker\"},\"line_color\":{\"type\":\"value\",\"value\":\"#7C0000\"},\"line_alpha\":{\"type\":\"value\",\"value\":0.1},\"line_width\":{\"type\":\"value\",\"value\":2},\"fill_color\":{\"type\":\"value\",\"value\":\"#1f77b4\"},\"fill_alpha\":{\"type\":\"value\",\"value\":0.1},\"hatch_alpha\":{\"type\":\"value\",\"value\":0.1}}},\"muted_glyph\":{\"type\":\"object\",\"name\":\"HBar\",\"id\":\"p1150\",\"attributes\":{\"y\":{\"type\":\"field\",\"field\":\"cat\"},\"height\":{\"type\":\"value\",\"value\":0.1},\"left\":{\"type\":\"field\",\"field\":\"top_whisker\"},\"right\":{\"type\":\"field\",\"field\":\"top_whisker\"},\"line_color\":{\"type\":\"value\",\"value\":\"#7C0000\"},\"line_alpha\":{\"type\":\"value\",\"value\":0.2},\"line_width\":{\"type\":\"value\",\"value\":2},\"fill_color\":{\"type\":\"value\",\"value\":\"#1f77b4\"},\"fill_alpha\":{\"type\":\"value\",\"value\":0.2},\"hatch_alpha\":{\"type\":\"value\",\"value\":0.2}}}}},{\"type\":\"object\",\"name\":\"GlyphRenderer\",\"id\":\"p1160\",\"attributes\":{\"data_source\":{\"id\":\"p1121\"},\"view\":{\"type\":\"object\",\"name\":\"CDSView\",\"id\":\"p1161\",\"attributes\":{\"filter\":{\"type\":\"object\",\"name\":\"AllIndices\",\"id\":\"p1162\"}}},\"glyph\":{\"type\":\"object\",\"name\":\"HBar\",\"id\":\"p1157\",\"attributes\":{\"y\":{\"type\":\"field\",\"field\":\"cat\"},\"height\":{\"type\":\"value\",\"value\":0.1},\"left\":{\"type\":\"field\",\"field\":\"bottom_whisker\"},\"right\":{\"type\":\"field\",\"field\":\"bottom_whisker\"},\"line_color\":{\"type\":\"value\",\"value\":\"#7C0000\"},\"line_width\":{\"type\":\"value\",\"value\":2},\"fill_color\":{\"type\":\"value\",\"value\":\"#1f77b4\"}}},\"nonselection_glyph\":{\"type\":\"object\",\"name\":\"HBar\",\"id\":\"p1158\",\"attributes\":{\"y\":{\"type\":\"field\",\"field\":\"cat\"},\"height\":{\"type\":\"value\",\"value\":0.1},\"left\":{\"type\":\"field\",\"field\":\"bottom_whisker\"},\"right\":{\"type\":\"field\",\"field\":\"bottom_whisker\"},\"line_color\":{\"type\":\"value\",\"value\":\"#7C0000\"},\"line_alpha\":{\"type\":\"value\",\"value\":0.1},\"line_width\":{\"type\":\"value\",\"value\":2},\"fill_color\":{\"type\":\"value\",\"value\":\"#1f77b4\"},\"fill_alpha\":{\"type\":\"value\",\"value\":0.1},\"hatch_alpha\":{\"type\":\"value\",\"value\":0.1}}},\"muted_glyph\":{\"type\":\"object\",\"name\":\"HBar\",\"id\":\"p1159\",\"attributes\":{\"y\":{\"type\":\"field\",\"field\":\"cat\"},\"height\":{\"type\":\"value\",\"value\":0.1},\"left\":{\"type\":\"field\",\"field\":\"bottom_whisker\"},\"right\":{\"type\":\"field\",\"field\":\"bottom_whisker\"},\"line_color\":{\"type\":\"value\",\"value\":\"#7C0000\"},\"line_alpha\":{\"type\":\"value\",\"value\":0.2},\"line_width\":{\"type\":\"value\",\"value\":2},\"fill_color\":{\"type\":\"value\",\"value\":\"#1f77b4\"},\"fill_alpha\":{\"type\":\"value\",\"value\":0.2},\"hatch_alpha\":{\"type\":\"value\",\"value\":0.2}}}}},{\"type\":\"object\",\"name\":\"GlyphRenderer\",\"id\":\"p1169\",\"attributes\":{\"data_source\":{\"id\":\"p1121\"},\"view\":{\"type\":\"object\",\"name\":\"CDSView\",\"id\":\"p1170\",\"attributes\":{\"filter\":{\"type\":\"object\",\"name\":\"AllIndices\",\"id\":\"p1171\"}}},\"glyph\":{\"type\":\"object\",\"name\":\"HBar\",\"id\":\"p1166\",\"attributes\":{\"y\":{\"type\":\"field\",\"field\":\"cat\"},\"height\":{\"type\":\"value\",\"value\":0.4},\"left\":{\"type\":\"field\",\"field\":\"bottom\"},\"right\":{\"type\":\"field\",\"field\":\"top\"},\"line_color\":{\"type\":\"value\",\"value\":null},\"fill_color\":{\"type\":\"value\",\"value\":\"#7C0000\"}}},\"nonselection_glyph\":{\"type\":\"object\",\"name\":\"HBar\",\"id\":\"p1167\",\"attributes\":{\"y\":{\"type\":\"field\",\"field\":\"cat\"},\"height\":{\"type\":\"value\",\"value\":0.4},\"left\":{\"type\":\"field\",\"field\":\"bottom\"},\"right\":{\"type\":\"field\",\"field\":\"top\"},\"line_color\":{\"type\":\"value\",\"value\":null},\"line_alpha\":{\"type\":\"value\",\"value\":0.1},\"fill_color\":{\"type\":\"value\",\"value\":\"#7C0000\"},\"fill_alpha\":{\"type\":\"value\",\"value\":0.1},\"hatch_alpha\":{\"type\":\"value\",\"value\":0.1}}},\"muted_glyph\":{\"type\":\"object\",\"name\":\"HBar\",\"id\":\"p1168\",\"attributes\":{\"y\":{\"type\":\"field\",\"field\":\"cat\"},\"height\":{\"type\":\"value\",\"value\":0.4},\"left\":{\"type\":\"field\",\"field\":\"bottom\"},\"right\":{\"type\":\"field\",\"field\":\"top\"},\"line_color\":{\"type\":\"value\",\"value\":null},\"line_alpha\":{\"type\":\"value\",\"value\":0.2},\"fill_color\":{\"type\":\"value\",\"value\":\"#7C0000\"},\"fill_alpha\":{\"type\":\"value\",\"value\":0.2},\"hatch_alpha\":{\"type\":\"value\",\"value\":0.2}}}}},{\"type\":\"object\",\"name\":\"GlyphRenderer\",\"id\":\"p1178\",\"attributes\":{\"data_source\":{\"id\":\"p1121\"},\"view\":{\"type\":\"object\",\"name\":\"CDSView\",\"id\":\"p1179\",\"attributes\":{\"filter\":{\"type\":\"object\",\"name\":\"AllIndices\",\"id\":\"p1180\"}}},\"glyph\":{\"type\":\"object\",\"name\":\"HBar\",\"id\":\"p1175\",\"attributes\":{\"y\":{\"type\":\"field\",\"field\":\"cat\"},\"height\":{\"type\":\"value\",\"value\":0.4},\"left\":{\"type\":\"field\",\"field\":\"middle\"},\"right\":{\"type\":\"field\",\"field\":\"middle\"},\"line_color\":{\"type\":\"value\",\"value\":\"white\"},\"fill_color\":{\"type\":\"value\",\"value\":\"#1f77b4\"}}},\"nonselection_glyph\":{\"type\":\"object\",\"name\":\"HBar\",\"id\":\"p1176\",\"attributes\":{\"y\":{\"type\":\"field\",\"field\":\"cat\"},\"height\":{\"type\":\"value\",\"value\":0.4},\"left\":{\"type\":\"field\",\"field\":\"middle\"},\"right\":{\"type\":\"field\",\"field\":\"middle\"},\"line_color\":{\"type\":\"value\",\"value\":\"white\"},\"line_alpha\":{\"type\":\"value\",\"value\":0.1},\"fill_color\":{\"type\":\"value\",\"value\":\"#1f77b4\"},\"fill_alpha\":{\"type\":\"value\",\"value\":0.1},\"hatch_alpha\":{\"type\":\"value\",\"value\":0.1}}},\"muted_glyph\":{\"type\":\"object\",\"name\":\"HBar\",\"id\":\"p1177\",\"attributes\":{\"y\":{\"type\":\"field\",\"field\":\"cat\"},\"height\":{\"type\":\"value\",\"value\":0.4},\"left\":{\"type\":\"field\",\"field\":\"middle\"},\"right\":{\"type\":\"field\",\"field\":\"middle\"},\"line_color\":{\"type\":\"value\",\"value\":\"white\"},\"line_alpha\":{\"type\":\"value\",\"value\":0.2},\"fill_color\":{\"type\":\"value\",\"value\":\"#1f77b4\"},\"fill_alpha\":{\"type\":\"value\",\"value\":0.2},\"hatch_alpha\":{\"type\":\"value\",\"value\":0.2}}}}},{\"type\":\"object\",\"name\":\"GlyphRenderer\",\"id\":\"p1187\",\"attributes\":{\"data_source\":{\"type\":\"object\",\"name\":\"ColumnDataSource\",\"id\":\"p1124\",\"attributes\":{\"selected\":{\"type\":\"object\",\"name\":\"Selection\",\"id\":\"p1125\",\"attributes\":{\"indices\":[],\"line_indices\":[]}},\"selection_policy\":{\"type\":\"object\",\"name\":\"UnionRenderers\",\"id\":\"p1126\"},\"data\":{\"type\":\"map\",\"entries\":[[\"ID\",[\"II\",\"II\",\"II\"]],[\"impact force (mN)\",[1612,1539,1453]],[\"cat\",[\"II\",\"II\",\"II\"]],[\"__label\",[\"II\",\"II\",\"II\"]]]}}},\"view\":{\"type\":\"object\",\"name\":\"CDSView\",\"id\":\"p1188\",\"attributes\":{\"filter\":{\"type\":\"object\",\"name\":\"AllIndices\",\"id\":\"p1189\"}}},\"glyph\":{\"type\":\"object\",\"name\":\"Scatter\",\"id\":\"p1184\",\"attributes\":{\"x\":{\"type\":\"field\",\"field\":\"impact force (mN)\"},\"y\":{\"type\":\"field\",\"field\":\"cat\"},\"line_color\":{\"type\":\"value\",\"value\":\"#7C0000\"},\"fill_color\":{\"type\":\"value\",\"value\":\"#7C0000\"},\"marker\":{\"type\":\"value\",\"value\":\"diamond\"}}},\"nonselection_glyph\":{\"type\":\"object\",\"name\":\"Scatter\",\"id\":\"p1185\",\"attributes\":{\"x\":{\"type\":\"field\",\"field\":\"impact force (mN)\"},\"y\":{\"type\":\"field\",\"field\":\"cat\"},\"line_color\":{\"type\":\"value\",\"value\":\"#7C0000\"},\"line_alpha\":{\"type\":\"value\",\"value\":0.1},\"fill_color\":{\"type\":\"value\",\"value\":\"#7C0000\"},\"fill_alpha\":{\"type\":\"value\",\"value\":0.1},\"hatch_alpha\":{\"type\":\"value\",\"value\":0.1},\"marker\":{\"type\":\"value\",\"value\":\"diamond\"}}},\"muted_glyph\":{\"type\":\"object\",\"name\":\"Scatter\",\"id\":\"p1186\",\"attributes\":{\"x\":{\"type\":\"field\",\"field\":\"impact force (mN)\"},\"y\":{\"type\":\"field\",\"field\":\"cat\"},\"line_color\":{\"type\":\"value\",\"value\":\"#7C0000\"},\"line_alpha\":{\"type\":\"value\",\"value\":0.2},\"fill_color\":{\"type\":\"value\",\"value\":\"#7C0000\"},\"fill_alpha\":{\"type\":\"value\",\"value\":0.2},\"hatch_alpha\":{\"type\":\"value\",\"value\":0.2},\"marker\":{\"type\":\"value\",\"value\":\"diamond\"}}}}}],\"toolbar\":{\"type\":\"object\",\"name\":\"Toolbar\",\"id\":\"p1097\",\"attributes\":{\"tools\":[{\"type\":\"object\",\"name\":\"PanTool\",\"id\":\"p1110\"},{\"type\":\"object\",\"name\":\"WheelZoomTool\",\"id\":\"p1111\",\"attributes\":{\"renderers\":\"auto\"}},{\"type\":\"object\",\"name\":\"BoxZoomTool\",\"id\":\"p1112\",\"attributes\":{\"overlay\":{\"type\":\"object\",\"name\":\"BoxAnnotation\",\"id\":\"p1113\",\"attributes\":{\"syncable\":false,\"level\":\"overlay\",\"visible\":false,\"left\":{\"type\":\"number\",\"value\":\"nan\"},\"right\":{\"type\":\"number\",\"value\":\"nan\"},\"top\":{\"type\":\"number\",\"value\":\"nan\"},\"bottom\":{\"type\":\"number\",\"value\":\"nan\"},\"left_units\":\"canvas\",\"right_units\":\"canvas\",\"top_units\":\"canvas\",\"bottom_units\":\"canvas\",\"line_color\":\"black\",\"line_alpha\":1.0,\"line_width\":2,\"line_dash\":[4,4],\"fill_color\":\"lightgrey\",\"fill_alpha\":0.5}}}},{\"type\":\"object\",\"name\":\"SaveTool\",\"id\":\"p1118\"},{\"type\":\"object\",\"name\":\"ResetTool\",\"id\":\"p1119\"},{\"type\":\"object\",\"name\":\"HelpTool\",\"id\":\"p1120\"}]}},\"toolbar_location\":\"above\",\"left\":[{\"type\":\"object\",\"name\":\"CategoricalAxis\",\"id\":\"p1105\",\"attributes\":{\"ticker\":{\"type\":\"object\",\"name\":\"CategoricalTicker\",\"id\":\"p1106\"},\"formatter\":{\"type\":\"object\",\"name\":\"CategoricalTickFormatter\",\"id\":\"p1107\"},\"major_label_policy\":{\"type\":\"object\",\"name\":\"AllLabels\",\"id\":\"p1108\"}}}],\"below\":[{\"type\":\"object\",\"name\":\"LinearAxis\",\"id\":\"p1100\",\"attributes\":{\"ticker\":{\"type\":\"object\",\"name\":\"BasicTicker\",\"id\":\"p1101\",\"attributes\":{\"mantissas\":[1,2,5]}},\"formatter\":{\"type\":\"object\",\"name\":\"BasicTickFormatter\",\"id\":\"p1102\"},\"axis_label\":\"impact force (mN)\",\"major_label_policy\":{\"type\":\"object\",\"name\":\"AllLabels\",\"id\":\"p1103\"}}}],\"center\":[{\"type\":\"object\",\"name\":\"Grid\",\"id\":\"p1104\",\"attributes\":{\"axis\":{\"id\":\"p1100\"}}},{\"type\":\"object\",\"name\":\"Grid\",\"id\":\"p1109\",\"attributes\":{\"dimension\":1,\"axis\":{\"id\":\"p1105\"},\"grid_line_color\":null}}],\"frame_width\":375,\"frame_height\":275}}]}};\n", " const render_items = [{\"docid\":\"aa980df7-c71f-4fb1-9ef7-c7e00e823ff5\",\"roots\":{\"p1089\":\"da455536-4e98-402a-8053-88264e3ebb32\"},\"root_ids\":[\"p1089\"]}];\n", " void root.Bokeh.embed.embed_items_notebook(docs_json, render_items);\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": "p1089" } }, "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" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "application/javascript": [ "(function(root) {\n", " function embed_document(root) {\n", " const docs_json = {\"44ec0a4b-6a5b-4172-a034-4c5fb08a8a0d\":{\"version\":\"3.4.1\",\"title\":\"Bokeh Application\",\"roots\":[{\"type\":\"object\",\"name\":\"Figure\",\"id\":\"p1191\",\"attributes\":{\"x_range\":{\"type\":\"object\",\"name\":\"DataRange1d\",\"id\":\"p1193\"},\"y_range\":{\"type\":\"object\",\"name\":\"FactorRange\",\"id\":\"p1190\",\"attributes\":{\"factors\":[\"IV\",\"III\",\"II\",\"I\"]}},\"x_scale\":{\"type\":\"object\",\"name\":\"LinearScale\",\"id\":\"p1200\"},\"y_scale\":{\"type\":\"object\",\"name\":\"CategoricalScale\",\"id\":\"p1201\"},\"title\":{\"type\":\"object\",\"name\":\"Title\",\"id\":\"p1198\"},\"renderers\":[{\"type\":\"object\",\"name\":\"GlyphRenderer\",\"id\":\"p1234\",\"attributes\":{\"name\":\"hover_glyphs\",\"data_source\":{\"type\":\"object\",\"name\":\"ColumnDataSource\",\"id\":\"p1225\",\"attributes\":{\"selected\":{\"type\":\"object\",\"name\":\"Selection\",\"id\":\"p1226\",\"attributes\":{\"indices\":[],\"line_indices\":[]}},\"selection_policy\":{\"type\":\"object\",\"name\":\"UnionRenderers\",\"id\":\"p1227\"},\"data\":{\"type\":\"map\",\"entries\":[[\"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\"]],[\"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]],[\"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\"]],[\"__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\"]]]}}},\"view\":{\"type\":\"object\",\"name\":\"CDSView\",\"id\":\"p1235\",\"attributes\":{\"filter\":{\"type\":\"object\",\"name\":\"AllIndices\",\"id\":\"p1236\"}}},\"glyph\":{\"type\":\"object\",\"name\":\"Scatter\",\"id\":\"p1231\",\"attributes\":{\"x\":{\"type\":\"field\",\"field\":\"impact force (mN)\"},\"y\":{\"type\":\"field\",\"field\":\"cat\"},\"size\":{\"type\":\"value\",\"value\":17.1875},\"angle\":{\"type\":\"value\",\"value\":1.5707963267948966},\"line_color\":{\"type\":\"field\",\"field\":\"cat\",\"transform\":{\"type\":\"object\",\"name\":\"CategoricalColorMapper\",\"id\":\"p1224\",\"attributes\":{\"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\"],\"factors\":[\"I\",\"II\",\"III\",\"IV\"]}}},\"line_alpha\":{\"type\":\"value\",\"value\":0.5},\"fill_color\":{\"type\":\"field\",\"field\":\"cat\",\"transform\":{\"type\":\"object\",\"name\":\"CategoricalColorMapper\",\"id\":\"p1223\",\"attributes\":{\"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\"],\"factors\":[\"I\",\"II\",\"III\",\"IV\"]}}},\"fill_alpha\":{\"type\":\"value\",\"value\":0.5},\"hatch_alpha\":{\"type\":\"value\",\"value\":0.5},\"marker\":{\"type\":\"value\",\"value\":\"dash\"}}},\"nonselection_glyph\":{\"type\":\"object\",\"name\":\"Scatter\",\"id\":\"p1232\",\"attributes\":{\"x\":{\"type\":\"field\",\"field\":\"impact force (mN)\"},\"y\":{\"type\":\"field\",\"field\":\"cat\"},\"size\":{\"type\":\"value\",\"value\":17.1875},\"angle\":{\"type\":\"value\",\"value\":1.5707963267948966},\"line_color\":{\"type\":\"field\",\"field\":\"cat\",\"transform\":{\"id\":\"p1224\"}},\"line_alpha\":{\"type\":\"value\",\"value\":0.1},\"fill_color\":{\"type\":\"field\",\"field\":\"cat\",\"transform\":{\"id\":\"p1223\"}},\"fill_alpha\":{\"type\":\"value\",\"value\":0.1},\"hatch_alpha\":{\"type\":\"value\",\"value\":0.1},\"marker\":{\"type\":\"value\",\"value\":\"dash\"}}},\"muted_glyph\":{\"type\":\"object\",\"name\":\"Scatter\",\"id\":\"p1233\",\"attributes\":{\"x\":{\"type\":\"field\",\"field\":\"impact force (mN)\"},\"y\":{\"type\":\"field\",\"field\":\"cat\"},\"size\":{\"type\":\"value\",\"value\":17.1875},\"angle\":{\"type\":\"value\",\"value\":1.5707963267948966},\"line_color\":{\"type\":\"field\",\"field\":\"cat\",\"transform\":{\"id\":\"p1224\"}},\"line_alpha\":{\"type\":\"value\",\"value\":0.2},\"fill_color\":{\"type\":\"field\",\"field\":\"cat\",\"transform\":{\"id\":\"p1223\"}},\"fill_alpha\":{\"type\":\"value\",\"value\":0.2},\"hatch_alpha\":{\"type\":\"value\",\"value\":0.2},\"marker\":{\"type\":\"value\",\"value\":\"dash\"}}}}}],\"toolbar\":{\"type\":\"object\",\"name\":\"Toolbar\",\"id\":\"p1199\",\"attributes\":{\"tools\":[{\"type\":\"object\",\"name\":\"PanTool\",\"id\":\"p1212\"},{\"type\":\"object\",\"name\":\"WheelZoomTool\",\"id\":\"p1213\",\"attributes\":{\"renderers\":\"auto\"}},{\"type\":\"object\",\"name\":\"BoxZoomTool\",\"id\":\"p1214\",\"attributes\":{\"overlay\":{\"type\":\"object\",\"name\":\"BoxAnnotation\",\"id\":\"p1215\",\"attributes\":{\"syncable\":false,\"level\":\"overlay\",\"visible\":false,\"left\":{\"type\":\"number\",\"value\":\"nan\"},\"right\":{\"type\":\"number\",\"value\":\"nan\"},\"top\":{\"type\":\"number\",\"value\":\"nan\"},\"bottom\":{\"type\":\"number\",\"value\":\"nan\"},\"left_units\":\"canvas\",\"right_units\":\"canvas\",\"top_units\":\"canvas\",\"bottom_units\":\"canvas\",\"line_color\":\"black\",\"line_alpha\":1.0,\"line_width\":2,\"line_dash\":[4,4],\"fill_color\":\"lightgrey\",\"fill_alpha\":0.5}}}},{\"type\":\"object\",\"name\":\"SaveTool\",\"id\":\"p1220\"},{\"type\":\"object\",\"name\":\"ResetTool\",\"id\":\"p1221\"},{\"type\":\"object\",\"name\":\"HelpTool\",\"id\":\"p1222\"}]}},\"toolbar_location\":\"above\",\"left\":[{\"type\":\"object\",\"name\":\"CategoricalAxis\",\"id\":\"p1207\",\"attributes\":{\"ticker\":{\"type\":\"object\",\"name\":\"CategoricalTicker\",\"id\":\"p1208\"},\"formatter\":{\"type\":\"object\",\"name\":\"CategoricalTickFormatter\",\"id\":\"p1209\"},\"major_label_policy\":{\"type\":\"object\",\"name\":\"AllLabels\",\"id\":\"p1210\"}}}],\"below\":[{\"type\":\"object\",\"name\":\"LinearAxis\",\"id\":\"p1202\",\"attributes\":{\"ticker\":{\"type\":\"object\",\"name\":\"BasicTicker\",\"id\":\"p1203\",\"attributes\":{\"mantissas\":[1,2,5]}},\"formatter\":{\"type\":\"object\",\"name\":\"BasicTickFormatter\",\"id\":\"p1204\"},\"axis_label\":\"impact force (mN)\",\"major_label_policy\":{\"type\":\"object\",\"name\":\"AllLabels\",\"id\":\"p1205\"}}}],\"center\":[{\"type\":\"object\",\"name\":\"Grid\",\"id\":\"p1206\",\"attributes\":{\"axis\":{\"id\":\"p1202\"}}},{\"type\":\"object\",\"name\":\"Grid\",\"id\":\"p1211\",\"attributes\":{\"dimension\":1,\"axis\":{\"id\":\"p1207\"},\"grid_line_color\":null}}],\"frame_width\":375,\"frame_height\":275}}]}};\n", " const render_items = [{\"docid\":\"44ec0a4b-6a5b-4172-a034-4c5fb08a8a0d\",\"roots\":{\"p1191\":\"fc359224-bbc0-4d13-8b74-4b07095e4fb7\"},\"root_ids\":[\"p1191\"]}];\n", " void root.Bokeh.embed.embed_items_notebook(docs_json, render_items);\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": "p1191" } }, "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. This is accomplished with the `spread='jitter'` keyword argument. 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" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "application/javascript": [ "(function(root) {\n", " function embed_document(root) {\n", " const docs_json = {\"f7ec283d-180c-48ee-99ed-3244175844aa\":{\"version\":\"3.4.1\",\"title\":\"Bokeh Application\",\"roots\":[{\"type\":\"object\",\"name\":\"Figure\",\"id\":\"p1238\",\"attributes\":{\"x_range\":{\"type\":\"object\",\"name\":\"DataRange1d\",\"id\":\"p1240\"},\"y_range\":{\"type\":\"object\",\"name\":\"FactorRange\",\"id\":\"p1237\",\"attributes\":{\"factors\":[\"IV\",\"III\",\"II\",\"I\"]}},\"x_scale\":{\"type\":\"object\",\"name\":\"LinearScale\",\"id\":\"p1247\"},\"y_scale\":{\"type\":\"object\",\"name\":\"CategoricalScale\",\"id\":\"p1248\"},\"title\":{\"type\":\"object\",\"name\":\"Title\",\"id\":\"p1245\"},\"renderers\":[{\"type\":\"object\",\"name\":\"GlyphRenderer\",\"id\":\"p1283\",\"attributes\":{\"name\":\"hover_glyphs\",\"data_source\":{\"type\":\"object\",\"name\":\"ColumnDataSource\",\"id\":\"p1274\",\"attributes\":{\"selected\":{\"type\":\"object\",\"name\":\"Selection\",\"id\":\"p1275\",\"attributes\":{\"indices\":[],\"line_indices\":[]}},\"selection_policy\":{\"type\":\"object\",\"name\":\"UnionRenderers\",\"id\":\"p1276\"},\"data\":{\"type\":\"map\",\"entries\":[[\"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\"]],[\"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]],[\"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]],[\"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]],[\"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\"]],[\"__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\"]]]}}},\"view\":{\"type\":\"object\",\"name\":\"CDSView\",\"id\":\"p1284\",\"attributes\":{\"filter\":{\"type\":\"object\",\"name\":\"AllIndices\",\"id\":\"p1285\"}}},\"glyph\":{\"type\":\"object\",\"name\":\"Scatter\",\"id\":\"p1280\",\"attributes\":{\"x\":{\"type\":\"field\",\"field\":\"impact force (mN)\"},\"y\":{\"type\":\"field\",\"field\":\"cat\",\"transform\":{\"type\":\"object\",\"name\":\"Jitter\",\"id\":\"p1273\",\"attributes\":{\"width\":0.1,\"distribution\":\"normal\",\"range\":{\"id\":\"p1237\"}}}},\"line_color\":{\"type\":\"field\",\"field\":\"cat\",\"transform\":{\"type\":\"object\",\"name\":\"CategoricalColorMapper\",\"id\":\"p1272\",\"attributes\":{\"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\"],\"factors\":[\"I\",\"II\",\"III\",\"IV\"]}}},\"fill_color\":{\"type\":\"field\",\"field\":\"cat\",\"transform\":{\"type\":\"object\",\"name\":\"CategoricalColorMapper\",\"id\":\"p1271\",\"attributes\":{\"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\"],\"factors\":[\"I\",\"II\",\"III\",\"IV\"]}}}}},\"nonselection_glyph\":{\"type\":\"object\",\"name\":\"Scatter\",\"id\":\"p1281\",\"attributes\":{\"x\":{\"type\":\"field\",\"field\":\"impact force (mN)\"},\"y\":{\"type\":\"field\",\"field\":\"cat\",\"transform\":{\"id\":\"p1273\"}},\"line_color\":{\"type\":\"field\",\"field\":\"cat\",\"transform\":{\"id\":\"p1272\"}},\"line_alpha\":{\"type\":\"value\",\"value\":0.1},\"fill_color\":{\"type\":\"field\",\"field\":\"cat\",\"transform\":{\"id\":\"p1271\"}},\"fill_alpha\":{\"type\":\"value\",\"value\":0.1},\"hatch_alpha\":{\"type\":\"value\",\"value\":0.1}}},\"muted_glyph\":{\"type\":\"object\",\"name\":\"Scatter\",\"id\":\"p1282\",\"attributes\":{\"x\":{\"type\":\"field\",\"field\":\"impact force (mN)\"},\"y\":{\"type\":\"field\",\"field\":\"cat\",\"transform\":{\"id\":\"p1273\"}},\"line_color\":{\"type\":\"field\",\"field\":\"cat\",\"transform\":{\"id\":\"p1272\"}},\"line_alpha\":{\"type\":\"value\",\"value\":0.2},\"fill_color\":{\"type\":\"field\",\"field\":\"cat\",\"transform\":{\"id\":\"p1271\"}},\"fill_alpha\":{\"type\":\"value\",\"value\":0.2},\"hatch_alpha\":{\"type\":\"value\",\"value\":0.2}}}}}],\"toolbar\":{\"type\":\"object\",\"name\":\"Toolbar\",\"id\":\"p1246\",\"attributes\":{\"tools\":[{\"type\":\"object\",\"name\":\"PanTool\",\"id\":\"p1259\"},{\"type\":\"object\",\"name\":\"WheelZoomTool\",\"id\":\"p1260\",\"attributes\":{\"renderers\":\"auto\"}},{\"type\":\"object\",\"name\":\"BoxZoomTool\",\"id\":\"p1261\",\"attributes\":{\"overlay\":{\"type\":\"object\",\"name\":\"BoxAnnotation\",\"id\":\"p1262\",\"attributes\":{\"syncable\":false,\"level\":\"overlay\",\"visible\":false,\"left\":{\"type\":\"number\",\"value\":\"nan\"},\"right\":{\"type\":\"number\",\"value\":\"nan\"},\"top\":{\"type\":\"number\",\"value\":\"nan\"},\"bottom\":{\"type\":\"number\",\"value\":\"nan\"},\"left_units\":\"canvas\",\"right_units\":\"canvas\",\"top_units\":\"canvas\",\"bottom_units\":\"canvas\",\"line_color\":\"black\",\"line_alpha\":1.0,\"line_width\":2,\"line_dash\":[4,4],\"fill_color\":\"lightgrey\",\"fill_alpha\":0.5}}}},{\"type\":\"object\",\"name\":\"SaveTool\",\"id\":\"p1267\"},{\"type\":\"object\",\"name\":\"ResetTool\",\"id\":\"p1268\"},{\"type\":\"object\",\"name\":\"HelpTool\",\"id\":\"p1269\"},{\"type\":\"object\",\"name\":\"HoverTool\",\"id\":\"p1270\",\"attributes\":{\"name\":\"hover_glyphs\",\"renderers\":\"auto\",\"tooltips\":[[\"trial\",\"@{trial number}\"],[\"adh force\",\"@{adhesive force (mN)}\"]]}}]}},\"toolbar_location\":\"above\",\"left\":[{\"type\":\"object\",\"name\":\"CategoricalAxis\",\"id\":\"p1254\",\"attributes\":{\"ticker\":{\"type\":\"object\",\"name\":\"CategoricalTicker\",\"id\":\"p1255\"},\"formatter\":{\"type\":\"object\",\"name\":\"CategoricalTickFormatter\",\"id\":\"p1256\"},\"major_label_policy\":{\"type\":\"object\",\"name\":\"AllLabels\",\"id\":\"p1257\"}}}],\"below\":[{\"type\":\"object\",\"name\":\"LinearAxis\",\"id\":\"p1249\",\"attributes\":{\"ticker\":{\"type\":\"object\",\"name\":\"BasicTicker\",\"id\":\"p1250\",\"attributes\":{\"mantissas\":[1,2,5]}},\"formatter\":{\"type\":\"object\",\"name\":\"BasicTickFormatter\",\"id\":\"p1251\"},\"axis_label\":\"impact force (mN)\",\"major_label_policy\":{\"type\":\"object\",\"name\":\"AllLabels\",\"id\":\"p1252\"}}}],\"center\":[{\"type\":\"object\",\"name\":\"Grid\",\"id\":\"p1253\",\"attributes\":{\"axis\":{\"id\":\"p1249\"}}},{\"type\":\"object\",\"name\":\"Grid\",\"id\":\"p1258\",\"attributes\":{\"dimension\":1,\"axis\":{\"id\":\"p1254\"},\"grid_line_color\":null}}],\"frame_width\":375,\"frame_height\":275}}]}};\n", " const render_items = [{\"docid\":\"f7ec283d-180c-48ee-99ed-3244175844aa\",\"roots\":{\"p1238\":\"a22a06ec-475a-4d3d-9473-bfe2de74cb26\"},\"root_ids\":[\"p1238\"]}];\n", " void root.Bokeh.embed.embed_items_notebook(docs_json, render_items);\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": "p1238" } }, "output_type": "display_data" } ], "source": [ "p = iqplot.strip(\n", " data=df,\n", " q=\"impact force (mN)\",\n", " cats=\"ID\",\n", " spread=\"jitter\",\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": [ "Alternatively, we can spread the data points as in a **beeswarm plot**, also known as a swarm plot, in which the points are nudged up or down only as far as necessary to avoid a clash with neighboring data points. This is not always possible to construct for large data sets. We do this using the `spread='swarm'` keyword argument, choosing a smaller plot area to accentuate the swarm style of spreading." ] }, { "cell_type": "code", "execution_count": 7, "metadata": { "tags": [] }, "outputs": [ { "data": { "text/html": [ "\n", "
\n" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "application/javascript": [ "(function(root) {\n", " function embed_document(root) {\n", " const docs_json = {\"13d1671e-8d06-46e8-b34a-2208bbe1f612\":{\"version\":\"3.4.1\",\"title\":\"Bokeh Application\",\"roots\":[{\"type\":\"object\",\"name\":\"Figure\",\"id\":\"p1287\",\"attributes\":{\"x_range\":{\"type\":\"object\",\"name\":\"DataRange1d\",\"id\":\"p1289\"},\"y_range\":{\"type\":\"object\",\"name\":\"FactorRange\",\"id\":\"p1286\",\"attributes\":{\"factors\":[\"IV\",\"III\",\"II\",\"I\"]}},\"x_scale\":{\"type\":\"object\",\"name\":\"LinearScale\",\"id\":\"p1296\"},\"y_scale\":{\"type\":\"object\",\"name\":\"CategoricalScale\",\"id\":\"p1297\"},\"title\":{\"type\":\"object\",\"name\":\"Title\",\"id\":\"p1294\"},\"renderers\":[{\"type\":\"object\",\"name\":\"GlyphRenderer\",\"id\":\"p1331\",\"attributes\":{\"name\":\"hover_glyphs\",\"data_source\":{\"type\":\"object\",\"name\":\"ColumnDataSource\",\"id\":\"p1322\",\"attributes\":{\"selected\":{\"type\":\"object\",\"name\":\"Selection\",\"id\":\"p1323\",\"attributes\":{\"indices\":[],\"line_indices\":[]}},\"selection_policy\":{\"type\":\"object\",\"name\":\"UnionRenderers\",\"id\":\"p1324\"},\"data\":{\"type\":\"map\",\"entries\":[[\"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\"]],[\"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]],[\"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]],[\"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]],[\"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\"]],[\"__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\"]],[\"__swarm\",[[\"I\",0.0],[\"I\",0.0],[\"I\",-0.06],[\"I\",0.08],[\"I\",-0.08],[\"I\",0.0],[\"I\",-0.04],[\"I\",0.08],[\"I\",0.0],[\"I\",-0.08],[\"I\",0.0],[\"I\",-0.08],[\"I\",0.08],[\"I\",0.0],[\"I\",0.0],[\"I\",0.0],[\"I\",0.0],[\"I\",0.0],[\"I\",-0.08],[\"I\",0.0],[\"II\",0.0],[\"II\",0.04],[\"II\",-0.02],[\"II\",0.0],[\"II\",0.1],[\"II\",0.0],[\"II\",-0.08],[\"II\",-0.02],[\"II\",0.0],[\"II\",0.06],[\"II\",0.0],[\"II\",-0.08],[\"II\",0.06],[\"II\",0.0],[\"II\",0.0],[\"II\",0.0],[\"II\",-0.02],[\"II\",0.04],[\"II\",0.06],[\"II\",-0.08],[\"III\",0.0],[\"III\",0.14],[\"III\",0.0],[\"III\",0.0],[\"III\",0.1],[\"III\",0.12],[\"III\",-0.1],[\"III\",0.22],[\"III\",-0.08],[\"III\",-0.1],[\"III\",0.0],[\"III\",-0.28],[\"III\",-0.18],[\"III\",-0.2],[\"III\",0.0],[\"III\",-0.04],[\"III\",0.04],[\"III\",-0.08],[\"III\",0.16],[\"III\",0.06],[\"IV\",-0.08],[\"IV\",0.0],[\"IV\",-0.08],[\"IV\",0.0],[\"IV\",0.0],[\"IV\",0.0],[\"IV\",-0.06],[\"IV\",0.0],[\"IV\",-0.08],[\"IV\",0.12],[\"IV\",0.06],[\"IV\",0.16],[\"IV\",0.02],[\"IV\",0.16],[\"IV\",0.0],[\"IV\",-0.06],[\"IV\",-0.06],[\"IV\",0.0],[\"IV\",-0.16],[\"IV\",0.08]]]]}}},\"view\":{\"type\":\"object\",\"name\":\"CDSView\",\"id\":\"p1332\",\"attributes\":{\"filter\":{\"type\":\"object\",\"name\":\"AllIndices\",\"id\":\"p1333\"}}},\"glyph\":{\"type\":\"object\",\"name\":\"Scatter\",\"id\":\"p1328\",\"attributes\":{\"x\":{\"type\":\"field\",\"field\":\"impact force (mN)\"},\"y\":{\"type\":\"field\",\"field\":\"__swarm\"},\"line_color\":{\"type\":\"field\",\"field\":\"cat\",\"transform\":{\"type\":\"object\",\"name\":\"CategoricalColorMapper\",\"id\":\"p1321\",\"attributes\":{\"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\"],\"factors\":[\"I\",\"II\",\"III\",\"IV\"]}}},\"fill_color\":{\"type\":\"field\",\"field\":\"cat\",\"transform\":{\"type\":\"object\",\"name\":\"CategoricalColorMapper\",\"id\":\"p1320\",\"attributes\":{\"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\"],\"factors\":[\"I\",\"II\",\"III\",\"IV\"]}}}}},\"nonselection_glyph\":{\"type\":\"object\",\"name\":\"Scatter\",\"id\":\"p1329\",\"attributes\":{\"x\":{\"type\":\"field\",\"field\":\"impact force (mN)\"},\"y\":{\"type\":\"field\",\"field\":\"__swarm\"},\"line_color\":{\"type\":\"field\",\"field\":\"cat\",\"transform\":{\"id\":\"p1321\"}},\"line_alpha\":{\"type\":\"value\",\"value\":0.1},\"fill_color\":{\"type\":\"field\",\"field\":\"cat\",\"transform\":{\"id\":\"p1320\"}},\"fill_alpha\":{\"type\":\"value\",\"value\":0.1},\"hatch_alpha\":{\"type\":\"value\",\"value\":0.1}}},\"muted_glyph\":{\"type\":\"object\",\"name\":\"Scatter\",\"id\":\"p1330\",\"attributes\":{\"x\":{\"type\":\"field\",\"field\":\"impact force (mN)\"},\"y\":{\"type\":\"field\",\"field\":\"__swarm\"},\"line_color\":{\"type\":\"field\",\"field\":\"cat\",\"transform\":{\"id\":\"p1321\"}},\"line_alpha\":{\"type\":\"value\",\"value\":0.2},\"fill_color\":{\"type\":\"field\",\"field\":\"cat\",\"transform\":{\"id\":\"p1320\"}},\"fill_alpha\":{\"type\":\"value\",\"value\":0.2},\"hatch_alpha\":{\"type\":\"value\",\"value\":0.2}}}}}],\"toolbar\":{\"type\":\"object\",\"name\":\"Toolbar\",\"id\":\"p1295\",\"attributes\":{\"tools\":[{\"type\":\"object\",\"name\":\"PanTool\",\"id\":\"p1308\"},{\"type\":\"object\",\"name\":\"WheelZoomTool\",\"id\":\"p1309\",\"attributes\":{\"renderers\":\"auto\"}},{\"type\":\"object\",\"name\":\"BoxZoomTool\",\"id\":\"p1310\",\"attributes\":{\"overlay\":{\"type\":\"object\",\"name\":\"BoxAnnotation\",\"id\":\"p1311\",\"attributes\":{\"syncable\":false,\"level\":\"overlay\",\"visible\":false,\"left\":{\"type\":\"number\",\"value\":\"nan\"},\"right\":{\"type\":\"number\",\"value\":\"nan\"},\"top\":{\"type\":\"number\",\"value\":\"nan\"},\"bottom\":{\"type\":\"number\",\"value\":\"nan\"},\"left_units\":\"canvas\",\"right_units\":\"canvas\",\"top_units\":\"canvas\",\"bottom_units\":\"canvas\",\"line_color\":\"black\",\"line_alpha\":1.0,\"line_width\":2,\"line_dash\":[4,4],\"fill_color\":\"lightgrey\",\"fill_alpha\":0.5}}}},{\"type\":\"object\",\"name\":\"SaveTool\",\"id\":\"p1316\"},{\"type\":\"object\",\"name\":\"ResetTool\",\"id\":\"p1317\"},{\"type\":\"object\",\"name\":\"HelpTool\",\"id\":\"p1318\"},{\"type\":\"object\",\"name\":\"HoverTool\",\"id\":\"p1319\",\"attributes\":{\"name\":\"hover_glyphs\",\"renderers\":\"auto\",\"tooltips\":[[\"trial\",\"@{trial number}\"],[\"adh force\",\"@{adhesive force (mN)}\"]]}}]}},\"toolbar_location\":\"above\",\"left\":[{\"type\":\"object\",\"name\":\"CategoricalAxis\",\"id\":\"p1303\",\"attributes\":{\"ticker\":{\"type\":\"object\",\"name\":\"CategoricalTicker\",\"id\":\"p1304\"},\"formatter\":{\"type\":\"object\",\"name\":\"CategoricalTickFormatter\",\"id\":\"p1305\"},\"major_label_policy\":{\"type\":\"object\",\"name\":\"AllLabels\",\"id\":\"p1306\"}}}],\"below\":[{\"type\":\"object\",\"name\":\"LinearAxis\",\"id\":\"p1298\",\"attributes\":{\"ticker\":{\"type\":\"object\",\"name\":\"BasicTicker\",\"id\":\"p1299\",\"attributes\":{\"mantissas\":[1,2,5]}},\"formatter\":{\"type\":\"object\",\"name\":\"BasicTickFormatter\",\"id\":\"p1300\"},\"axis_label\":\"impact force (mN)\",\"major_label_policy\":{\"type\":\"object\",\"name\":\"AllLabels\",\"id\":\"p1301\"}}}],\"center\":[{\"type\":\"object\",\"name\":\"Grid\",\"id\":\"p1302\",\"attributes\":{\"axis\":{\"id\":\"p1298\"}}},{\"type\":\"object\",\"name\":\"Grid\",\"id\":\"p1307\",\"attributes\":{\"dimension\":1,\"axis\":{\"id\":\"p1303\"},\"grid_line_color\":null}}],\"frame_width\":200,\"frame_height\":200}}]}};\n", " const render_items = [{\"docid\":\"13d1671e-8d06-46e8-b34a-2208bbe1f612\",\"roots\":{\"p1287\":\"bbcf4d61-95aa-4da4-8739-5cd2d25f2b35\"},\"root_ids\":[\"p1287\"]}];\n", " void root.Bokeh.embed.embed_items_notebook(docs_json, render_items);\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": "p1287" } }, "output_type": "display_data" } ], "source": [ "p = iqplot.strip(\n", " data=df,\n", " q=\"impact force (mN)\",\n", " cats=\"ID\",\n", " spread=\"swarm\",\n", " tooltips=[\n", " ('trial', '@{trial number}'),\n", " ('adh force', '@{adhesive force (mN)}')\n", " ],\n", " frame_width=200,\n", " frame_height=200,\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": 8, "metadata": {}, "outputs": [ { "data": { "text/html": [ "\n", "
\n" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "application/javascript": [ "(function(root) {\n", " function embed_document(root) {\n", " const docs_json = {\"3dd5f76f-cd51-4a38-a749-e8a819b798ad\":{\"version\":\"3.4.1\",\"title\":\"Bokeh Application\",\"roots\":[{\"type\":\"object\",\"name\":\"Figure\",\"id\":\"p1335\",\"attributes\":{\"width\":550,\"x_range\":{\"type\":\"object\",\"name\":\"DataRange1d\",\"id\":\"p1337\"},\"y_range\":{\"type\":\"object\",\"name\":\"FactorRange\",\"id\":\"p1334\",\"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\"]]}},\"x_scale\":{\"type\":\"object\",\"name\":\"LinearScale\",\"id\":\"p1344\"},\"y_scale\":{\"type\":\"object\",\"name\":\"CategoricalScale\",\"id\":\"p1345\"},\"title\":{\"type\":\"object\",\"name\":\"Title\",\"id\":\"p1342\"},\"renderers\":[{\"type\":\"object\",\"name\":\"GlyphRenderer\",\"id\":\"p1376\",\"attributes\":{\"name\":\"hover_glyphs\",\"data_source\":{\"type\":\"object\",\"name\":\"ColumnDataSource\",\"id\":\"p1367\",\"attributes\":{\"selected\":{\"type\":\"object\",\"name\":\"Selection\",\"id\":\"p1368\",\"attributes\":{\"indices\":[],\"line_indices\":[]}},\"selection_policy\":{\"type\":\"object\",\"name\":\"UnionRenderers\",\"id\":\"p1369\"},\"data\":{\"type\":\"map\",\"entries\":[[\"index\",{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"AgAAAAYAAAAKAAAADwAAABQAAAAYAAAAHAAAACAAAAAiAAAAJAAAACcAAAAoAAAAKwAAAC4AAAAwAAAANAAAADgAAAA/AAAAQgAAAEMAAABHAAAASAAAAEwAAAA=\"},\"shape\":[23],\"dtype\":\"int32\",\"order\":\"little\"}],[\"ID\",{\"type\":\"ndarray\",\"array\":[\"I\",\"I\",\"I\",\"I\",\"II\",\"II\",\"II\",\"II\",\"II\",\"II\",\"II\",\"III\",\"III\",\"III\",\"III\",\"III\",\"III\",\"IV\",\"IV\",\"IV\",\"IV\",\"IV\",\"IV\"],\"shape\":[23],\"dtype\":\"object\",\"order\":\"little\"}],[\"trial number\",{\"type\":\"ndarray\",\"array\":[\"1\",\"1\",\"1\",\"1\",\"1\",\"1\",\"1\",\"1\",\"1\",\"1\",\"1\",\"1\",\"1\",\"1\",\"1\",\"1\",\"1\",\"1\",\"1\",\"1\",\"1\",\"1\",\"1\"],\"shape\":[23],\"dtype\":\"object\",\"order\":\"little\"}],[\"impact force (mN)\",{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"0QYAACwCAABjBwAAAgUAAEwGAAAdAgAArQUAAO8CAACeBAAAswEAANoCAABmAgAACAMAABoCAAAmAwAAbQIAAJEBAADFAQAA9gEAABEBAADGAAAAVQIAAF0CAAA=\"},\"shape\":[23],\"dtype\":\"int32\",\"order\":\"little\"}],[\"cat\",{\"type\":\"ndarray\",\"array\":[[\"I\",\"1\"],[\"I\",\"1\"],[\"I\",\"1\"],[\"I\",\"1\"],[\"II\",\"1\"],[\"II\",\"1\"],[\"II\",\"1\"],[\"II\",\"1\"],[\"II\",\"1\"],[\"II\",\"1\"],[\"II\",\"1\"],[\"III\",\"1\"],[\"III\",\"1\"],[\"III\",\"1\"],[\"III\",\"1\"],[\"III\",\"1\"],[\"III\",\"1\"],[\"IV\",\"1\"],[\"IV\",\"1\"],[\"IV\",\"1\"],[\"IV\",\"1\"],[\"IV\",\"1\"],[\"IV\",\"1\"]],\"shape\":[23],\"dtype\":\"object\",\"order\":\"little\"}],[\"__label\",{\"type\":\"ndarray\",\"array\":[\"1\",\"1\",\"1\",\"1\",\"1\",\"1\",\"1\",\"1\",\"1\",\"1\",\"1\",\"1\",\"1\",\"1\",\"1\",\"1\",\"1\",\"1\",\"1\",\"1\",\"1\",\"1\",\"1\"],\"shape\":[23],\"dtype\":\"object\",\"order\":\"little\"}]]}}},\"view\":{\"type\":\"object\",\"name\":\"CDSView\",\"id\":\"p1377\",\"attributes\":{\"filter\":{\"type\":\"object\",\"name\":\"AllIndices\",\"id\":\"p1378\"}}},\"glyph\":{\"type\":\"object\",\"name\":\"Scatter\",\"id\":\"p1373\",\"attributes\":{\"x\":{\"type\":\"field\",\"field\":\"impact force (mN)\"},\"y\":{\"type\":\"field\",\"field\":\"cat\"},\"line_color\":{\"type\":\"value\",\"value\":\"#1f77b3\"},\"fill_color\":{\"type\":\"value\",\"value\":\"#1f77b3\"},\"hatch_color\":{\"type\":\"value\",\"value\":\"#1f77b3\"}}},\"nonselection_glyph\":{\"type\":\"object\",\"name\":\"Scatter\",\"id\":\"p1374\",\"attributes\":{\"x\":{\"type\":\"field\",\"field\":\"impact force (mN)\"},\"y\":{\"type\":\"field\",\"field\":\"cat\"},\"line_color\":{\"type\":\"value\",\"value\":\"#1f77b3\"},\"line_alpha\":{\"type\":\"value\",\"value\":0.1},\"fill_color\":{\"type\":\"value\",\"value\":\"#1f77b3\"},\"fill_alpha\":{\"type\":\"value\",\"value\":0.1},\"hatch_color\":{\"type\":\"value\",\"value\":\"#1f77b3\"},\"hatch_alpha\":{\"type\":\"value\",\"value\":0.1}}},\"muted_glyph\":{\"type\":\"object\",\"name\":\"Scatter\",\"id\":\"p1375\",\"attributes\":{\"x\":{\"type\":\"field\",\"field\":\"impact force (mN)\"},\"y\":{\"type\":\"field\",\"field\":\"cat\"},\"line_color\":{\"type\":\"value\",\"value\":\"#1f77b3\"},\"line_alpha\":{\"type\":\"value\",\"value\":0.2},\"fill_color\":{\"type\":\"value\",\"value\":\"#1f77b3\"},\"fill_alpha\":{\"type\":\"value\",\"value\":0.2},\"hatch_color\":{\"type\":\"value\",\"value\":\"#1f77b3\"},\"hatch_alpha\":{\"type\":\"value\",\"value\":0.2}}}}},{\"type\":\"object\",\"name\":\"GlyphRenderer\",\"id\":\"p1388\",\"attributes\":{\"name\":\"hover_glyphs\",\"data_source\":{\"type\":\"object\",\"name\":\"ColumnDataSource\",\"id\":\"p1379\",\"attributes\":{\"selected\":{\"type\":\"object\",\"name\":\"Selection\",\"id\":\"p1380\",\"attributes\":{\"indices\":[],\"line_indices\":[]}},\"selection_policy\":{\"type\":\"object\",\"name\":\"UnionRenderers\",\"id\":\"p1381\"},\"data\":{\"type\":\"map\",\"entries\":[[\"index\",{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"AwAAAAcAAAALAAAAEAAAABUAAAAZAAAAHQAAACEAAAAjAAAAJQAAACkAAAAsAAAALwAAADEAAAA1AAAAOQAAADwAAABAAAAARAAAAEkAAABNAAAA\"},\"shape\":[21],\"dtype\":\"int32\",\"order\":\"little\"}],[\"ID\",{\"type\":\"ndarray\",\"array\":[\"I\",\"I\",\"I\",\"I\",\"II\",\"II\",\"II\",\"II\",\"II\",\"II\",\"III\",\"III\",\"III\",\"III\",\"III\",\"III\",\"IV\",\"IV\",\"IV\",\"IV\",\"IV\"],\"shape\":[21],\"dtype\":\"object\",\"order\":\"little\"}],[\"trial number\",{\"type\":\"ndarray\",\"array\":[\"2\",\"2\",\"2\",\"2\",\"2\",\"2\",\"2\",\"2\",\"2\",\"2\",\"2\",\"2\",\"2\",\"2\",\"2\",\"2\",\"2\",\"2\",\"2\",\"2\",\"2\"],\"shape\":[21],\"dtype\":\"object\",\"order\":\"little\"}],[\"impact force (mN)\",{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"FAYAAIgHAAAJBgAABwMAAF0CAAADBgAAKQEAAPUAAAADAgAAfwEAAJ4BAABjAgAAQwIAAMsBAAAgAgAAZgIAAKwAAABjAQAA0AIAAAQCAADHAgAA\"},\"shape\":[21],\"dtype\":\"int32\",\"order\":\"little\"}],[\"cat\",{\"type\":\"ndarray\",\"array\":[[\"I\",\"2\"],[\"I\",\"2\"],[\"I\",\"2\"],[\"I\",\"2\"],[\"II\",\"2\"],[\"II\",\"2\"],[\"II\",\"2\"],[\"II\",\"2\"],[\"II\",\"2\"],[\"II\",\"2\"],[\"III\",\"2\"],[\"III\",\"2\"],[\"III\",\"2\"],[\"III\",\"2\"],[\"III\",\"2\"],[\"III\",\"2\"],[\"IV\",\"2\"],[\"IV\",\"2\"],[\"IV\",\"2\"],[\"IV\",\"2\"],[\"IV\",\"2\"]],\"shape\":[21],\"dtype\":\"object\",\"order\":\"little\"}],[\"__label\",{\"type\":\"ndarray\",\"array\":[\"2\",\"2\",\"2\",\"2\",\"2\",\"2\",\"2\",\"2\",\"2\",\"2\",\"2\",\"2\",\"2\",\"2\",\"2\",\"2\",\"2\",\"2\",\"2\",\"2\",\"2\"],\"shape\":[21],\"dtype\":\"object\",\"order\":\"little\"}]]}}},\"view\":{\"type\":\"object\",\"name\":\"CDSView\",\"id\":\"p1389\",\"attributes\":{\"filter\":{\"type\":\"object\",\"name\":\"AllIndices\",\"id\":\"p1390\"}}},\"glyph\":{\"type\":\"object\",\"name\":\"Scatter\",\"id\":\"p1385\",\"attributes\":{\"x\":{\"type\":\"field\",\"field\":\"impact force (mN)\"},\"y\":{\"type\":\"field\",\"field\":\"cat\"},\"line_color\":{\"type\":\"value\",\"value\":\"#ff7e0e\"},\"fill_color\":{\"type\":\"value\",\"value\":\"#ff7e0e\"},\"hatch_color\":{\"type\":\"value\",\"value\":\"#ff7e0e\"}}},\"nonselection_glyph\":{\"type\":\"object\",\"name\":\"Scatter\",\"id\":\"p1386\",\"attributes\":{\"x\":{\"type\":\"field\",\"field\":\"impact force (mN)\"},\"y\":{\"type\":\"field\",\"field\":\"cat\"},\"line_color\":{\"type\":\"value\",\"value\":\"#ff7e0e\"},\"line_alpha\":{\"type\":\"value\",\"value\":0.1},\"fill_color\":{\"type\":\"value\",\"value\":\"#ff7e0e\"},\"fill_alpha\":{\"type\":\"value\",\"value\":0.1},\"hatch_color\":{\"type\":\"value\",\"value\":\"#ff7e0e\"},\"hatch_alpha\":{\"type\":\"value\",\"value\":0.1}}},\"muted_glyph\":{\"type\":\"object\",\"name\":\"Scatter\",\"id\":\"p1387\",\"attributes\":{\"x\":{\"type\":\"field\",\"field\":\"impact force (mN)\"},\"y\":{\"type\":\"field\",\"field\":\"cat\"},\"line_color\":{\"type\":\"value\",\"value\":\"#ff7e0e\"},\"line_alpha\":{\"type\":\"value\",\"value\":0.2},\"fill_color\":{\"type\":\"value\",\"value\":\"#ff7e0e\"},\"fill_alpha\":{\"type\":\"value\",\"value\":0.2},\"hatch_color\":{\"type\":\"value\",\"value\":\"#ff7e0e\"},\"hatch_alpha\":{\"type\":\"value\",\"value\":0.2}}}}},{\"type\":\"object\",\"name\":\"GlyphRenderer\",\"id\":\"p1400\",\"attributes\":{\"name\":\"hover_glyphs\",\"data_source\":{\"type\":\"object\",\"name\":\"ColumnDataSource\",\"id\":\"p1391\",\"attributes\":{\"selected\":{\"type\":\"object\",\"name\":\"Selection\",\"id\":\"p1392\",\"attributes\":{\"indices\":[],\"line_indices\":[]}},\"selection_policy\":{\"type\":\"object\",\"name\":\"UnionRenderers\",\"id\":\"p1393\"},\"data\":{\"type\":\"map\",\"entries\":[[\"index\",{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"AAAAAAQAAAAIAAAADAAAABEAAAAWAAAAGgAAAB4AAAAmAAAAKgAAAC0AAAAyAAAANgAAADoAAAA9AAAAQQAAAEUAAABKAAAATgAAAA==\"},\"shape\":[19],\"dtype\":\"int32\",\"order\":\"little\"}],[\"ID\",{\"type\":\"ndarray\",\"array\":[\"I\",\"I\",\"I\",\"I\",\"I\",\"II\",\"II\",\"II\",\"II\",\"III\",\"III\",\"III\",\"III\",\"III\",\"IV\",\"IV\",\"IV\",\"IV\",\"IV\"],\"shape\":[19],\"dtype\":\"object\",\"order\":\"little\"}],[\"trial number\",{\"type\":\"ndarray\",\"array\":[\"3\",\"3\",\"3\",\"3\",\"3\",\"3\",\"3\",\"3\",\"3\",\"3\",\"3\",\"3\",\"3\",\"3\",\"3\",\"3\",\"3\",\"3\",\"3\"],\"shape\":[19],\"dtype\":\"object\",\"order\":\"little\"}],[\"impact force (mN)\",{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"tQQAAO0BAABRCgAAGwUAAPAHAABHAQAAEQIAAL8CAADJAQAARAEAACACAADKAQAAFwIAAJkCAACOAAAAFgAAAEYCAAAvAwAAZgIAAA==\"},\"shape\":[19],\"dtype\":\"int32\",\"order\":\"little\"}],[\"cat\",{\"type\":\"ndarray\",\"array\":[[\"I\",\"3\"],[\"I\",\"3\"],[\"I\",\"3\"],[\"I\",\"3\"],[\"I\",\"3\"],[\"II\",\"3\"],[\"II\",\"3\"],[\"II\",\"3\"],[\"II\",\"3\"],[\"III\",\"3\"],[\"III\",\"3\"],[\"III\",\"3\"],[\"III\",\"3\"],[\"III\",\"3\"],[\"IV\",\"3\"],[\"IV\",\"3\"],[\"IV\",\"3\"],[\"IV\",\"3\"],[\"IV\",\"3\"]],\"shape\":[19],\"dtype\":\"object\",\"order\":\"little\"}],[\"__label\",{\"type\":\"ndarray\",\"array\":[\"3\",\"3\",\"3\",\"3\",\"3\",\"3\",\"3\",\"3\",\"3\",\"3\",\"3\",\"3\",\"3\",\"3\",\"3\",\"3\",\"3\",\"3\",\"3\"],\"shape\":[19],\"dtype\":\"object\",\"order\":\"little\"}]]}}},\"view\":{\"type\":\"object\",\"name\":\"CDSView\",\"id\":\"p1401\",\"attributes\":{\"filter\":{\"type\":\"object\",\"name\":\"AllIndices\",\"id\":\"p1402\"}}},\"glyph\":{\"type\":\"object\",\"name\":\"Scatter\",\"id\":\"p1397\",\"attributes\":{\"x\":{\"type\":\"field\",\"field\":\"impact force (mN)\"},\"y\":{\"type\":\"field\",\"field\":\"cat\"},\"line_color\":{\"type\":\"value\",\"value\":\"#2ba02b\"},\"fill_color\":{\"type\":\"value\",\"value\":\"#2ba02b\"},\"hatch_color\":{\"type\":\"value\",\"value\":\"#2ba02b\"}}},\"nonselection_glyph\":{\"type\":\"object\",\"name\":\"Scatter\",\"id\":\"p1398\",\"attributes\":{\"x\":{\"type\":\"field\",\"field\":\"impact force (mN)\"},\"y\":{\"type\":\"field\",\"field\":\"cat\"},\"line_color\":{\"type\":\"value\",\"value\":\"#2ba02b\"},\"line_alpha\":{\"type\":\"value\",\"value\":0.1},\"fill_color\":{\"type\":\"value\",\"value\":\"#2ba02b\"},\"fill_alpha\":{\"type\":\"value\",\"value\":0.1},\"hatch_color\":{\"type\":\"value\",\"value\":\"#2ba02b\"},\"hatch_alpha\":{\"type\":\"value\",\"value\":0.1}}},\"muted_glyph\":{\"type\":\"object\",\"name\":\"Scatter\",\"id\":\"p1399\",\"attributes\":{\"x\":{\"type\":\"field\",\"field\":\"impact force (mN)\"},\"y\":{\"type\":\"field\",\"field\":\"cat\"},\"line_color\":{\"type\":\"value\",\"value\":\"#2ba02b\"},\"line_alpha\":{\"type\":\"value\",\"value\":0.2},\"fill_color\":{\"type\":\"value\",\"value\":\"#2ba02b\"},\"fill_alpha\":{\"type\":\"value\",\"value\":0.2},\"hatch_color\":{\"type\":\"value\",\"value\":\"#2ba02b\"},\"hatch_alpha\":{\"type\":\"value\",\"value\":0.2}}}}},{\"type\":\"object\",\"name\":\"GlyphRenderer\",\"id\":\"p1412\",\"attributes\":{\"name\":\"hover_glyphs\",\"data_source\":{\"type\":\"object\",\"name\":\"ColumnDataSource\",\"id\":\"p1403\",\"attributes\":{\"selected\":{\"type\":\"object\",\"name\":\"Selection\",\"id\":\"p1404\",\"attributes\":{\"indices\":[],\"line_indices\":[]}},\"selection_policy\":{\"type\":\"object\",\"name\":\"UnionRenderers\",\"id\":\"p1405\"},\"data\":{\"type\":\"map\",\"entries\":[[\"index\",{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"AQAAAAUAAAAJAAAADQAAABIAAAAXAAAAGwAAAB8AAAAzAAAANwAAADsAAAA+AAAARgAAAEsAAABPAAAA\"},\"shape\":[15],\"dtype\":\"int32\",\"order\":\"little\"}],[\"ID\",{\"type\":\"ndarray\",\"array\":[\"I\",\"I\",\"I\",\"I\",\"I\",\"II\",\"II\",\"II\",\"III\",\"III\",\"III\",\"IV\",\"IV\",\"IV\",\"IV\"],\"shape\":[15],\"dtype\":\"object\",\"order\":\"little\"}],[\"trial number\",{\"type\":\"ndarray\",\"array\":[\"4\",\"4\",\"4\",\"4\",\"4\",\"4\",\"4\",\"4\",\"4\",\"4\",\"4\",\"4\",\"4\",\"4\",\"4\"],\"shape\":[15],\"dtype\":\"object\",\"order\":\"little\"}],[\"impact force (mN)\",{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"3wkAAOQIAABpBwAAnAYAANgEAACyAwAAdAIAAA0BAAByAgAAgQEAAOgBAAAlAAAAxgAAAJIBAADUAQAA\"},\"shape\":[15],\"dtype\":\"int32\",\"order\":\"little\"}],[\"cat\",{\"type\":\"ndarray\",\"array\":[[\"I\",\"4\"],[\"I\",\"4\"],[\"I\",\"4\"],[\"I\",\"4\"],[\"I\",\"4\"],[\"II\",\"4\"],[\"II\",\"4\"],[\"II\",\"4\"],[\"III\",\"4\"],[\"III\",\"4\"],[\"III\",\"4\"],[\"IV\",\"4\"],[\"IV\",\"4\"],[\"IV\",\"4\"],[\"IV\",\"4\"]],\"shape\":[15],\"dtype\":\"object\",\"order\":\"little\"}],[\"__label\",{\"type\":\"ndarray\",\"array\":[\"4\",\"4\",\"4\",\"4\",\"4\",\"4\",\"4\",\"4\",\"4\",\"4\",\"4\",\"4\",\"4\",\"4\",\"4\"],\"shape\":[15],\"dtype\":\"object\",\"order\":\"little\"}]]}}},\"view\":{\"type\":\"object\",\"name\":\"CDSView\",\"id\":\"p1413\",\"attributes\":{\"filter\":{\"type\":\"object\",\"name\":\"AllIndices\",\"id\":\"p1414\"}}},\"glyph\":{\"type\":\"object\",\"name\":\"Scatter\",\"id\":\"p1409\",\"attributes\":{\"x\":{\"type\":\"field\",\"field\":\"impact force (mN)\"},\"y\":{\"type\":\"field\",\"field\":\"cat\"},\"line_color\":{\"type\":\"value\",\"value\":\"#d62628\"},\"fill_color\":{\"type\":\"value\",\"value\":\"#d62628\"},\"hatch_color\":{\"type\":\"value\",\"value\":\"#d62628\"}}},\"nonselection_glyph\":{\"type\":\"object\",\"name\":\"Scatter\",\"id\":\"p1410\",\"attributes\":{\"x\":{\"type\":\"field\",\"field\":\"impact force (mN)\"},\"y\":{\"type\":\"field\",\"field\":\"cat\"},\"line_color\":{\"type\":\"value\",\"value\":\"#d62628\"},\"line_alpha\":{\"type\":\"value\",\"value\":0.1},\"fill_color\":{\"type\":\"value\",\"value\":\"#d62628\"},\"fill_alpha\":{\"type\":\"value\",\"value\":0.1},\"hatch_color\":{\"type\":\"value\",\"value\":\"#d62628\"},\"hatch_alpha\":{\"type\":\"value\",\"value\":0.1}}},\"muted_glyph\":{\"type\":\"object\",\"name\":\"Scatter\",\"id\":\"p1411\",\"attributes\":{\"x\":{\"type\":\"field\",\"field\":\"impact force (mN)\"},\"y\":{\"type\":\"field\",\"field\":\"cat\"},\"line_color\":{\"type\":\"value\",\"value\":\"#d62628\"},\"line_alpha\":{\"type\":\"value\",\"value\":0.2},\"fill_color\":{\"type\":\"value\",\"value\":\"#d62628\"},\"fill_alpha\":{\"type\":\"value\",\"value\":0.2},\"hatch_color\":{\"type\":\"value\",\"value\":\"#d62628\"},\"hatch_alpha\":{\"type\":\"value\",\"value\":0.2}}}}},{\"type\":\"object\",\"name\":\"GlyphRenderer\",\"id\":\"p1424\",\"attributes\":{\"name\":\"hover_glyphs\",\"data_source\":{\"type\":\"object\",\"name\":\"ColumnDataSource\",\"id\":\"p1415\",\"attributes\":{\"selected\":{\"type\":\"object\",\"name\":\"Selection\",\"id\":\"p1416\",\"attributes\":{\"indices\":[],\"line_indices\":[]}},\"selection_policy\":{\"type\":\"object\",\"name\":\"UnionRenderers\",\"id\":\"p1417\"},\"data\":{\"type\":\"map\",\"entries\":[[\"index\",{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"DgAAABMAAAA=\"},\"shape\":[2],\"dtype\":\"int32\",\"order\":\"little\"}],[\"ID\",{\"type\":\"ndarray\",\"array\":[\"I\",\"I\"],\"shape\":[2],\"dtype\":\"object\",\"order\":\"little\"}],[\"trial number\",{\"type\":\"ndarray\",\"array\":[\"5\",\"5\"],\"shape\":[2],\"dtype\":\"object\",\"order\":\"little\"}],[\"impact force (mN)\",{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"BwYAANkBAAA=\"},\"shape\":[2],\"dtype\":\"int32\",\"order\":\"little\"}],[\"cat\",{\"type\":\"ndarray\",\"array\":[[\"I\",\"5\"],[\"I\",\"5\"]],\"shape\":[2],\"dtype\":\"object\",\"order\":\"little\"}],[\"__label\",{\"type\":\"ndarray\",\"array\":[\"5\",\"5\"],\"shape\":[2],\"dtype\":\"object\",\"order\":\"little\"}]]}}},\"view\":{\"type\":\"object\",\"name\":\"CDSView\",\"id\":\"p1425\",\"attributes\":{\"filter\":{\"type\":\"object\",\"name\":\"AllIndices\",\"id\":\"p1426\"}}},\"glyph\":{\"type\":\"object\",\"name\":\"Scatter\",\"id\":\"p1421\",\"attributes\":{\"x\":{\"type\":\"field\",\"field\":\"impact force (mN)\"},\"y\":{\"type\":\"field\",\"field\":\"cat\"},\"line_color\":{\"type\":\"value\",\"value\":\"#9367bc\"},\"fill_color\":{\"type\":\"value\",\"value\":\"#9367bc\"},\"hatch_color\":{\"type\":\"value\",\"value\":\"#9367bc\"}}},\"nonselection_glyph\":{\"type\":\"object\",\"name\":\"Scatter\",\"id\":\"p1422\",\"attributes\":{\"x\":{\"type\":\"field\",\"field\":\"impact force (mN)\"},\"y\":{\"type\":\"field\",\"field\":\"cat\"},\"line_color\":{\"type\":\"value\",\"value\":\"#9367bc\"},\"line_alpha\":{\"type\":\"value\",\"value\":0.1},\"fill_color\":{\"type\":\"value\",\"value\":\"#9367bc\"},\"fill_alpha\":{\"type\":\"value\",\"value\":0.1},\"hatch_color\":{\"type\":\"value\",\"value\":\"#9367bc\"},\"hatch_alpha\":{\"type\":\"value\",\"value\":0.1}}},\"muted_glyph\":{\"type\":\"object\",\"name\":\"Scatter\",\"id\":\"p1423\",\"attributes\":{\"x\":{\"type\":\"field\",\"field\":\"impact force (mN)\"},\"y\":{\"type\":\"field\",\"field\":\"cat\"},\"line_color\":{\"type\":\"value\",\"value\":\"#9367bc\"},\"line_alpha\":{\"type\":\"value\",\"value\":0.2},\"fill_color\":{\"type\":\"value\",\"value\":\"#9367bc\"},\"fill_alpha\":{\"type\":\"value\",\"value\":0.2},\"hatch_color\":{\"type\":\"value\",\"value\":\"#9367bc\"},\"hatch_alpha\":{\"type\":\"value\",\"value\":0.2}}}}}],\"toolbar\":{\"type\":\"object\",\"name\":\"Toolbar\",\"id\":\"p1343\",\"attributes\":{\"tools\":[{\"type\":\"object\",\"name\":\"PanTool\",\"id\":\"p1356\"},{\"type\":\"object\",\"name\":\"WheelZoomTool\",\"id\":\"p1357\",\"attributes\":{\"renderers\":\"auto\"}},{\"type\":\"object\",\"name\":\"BoxZoomTool\",\"id\":\"p1358\",\"attributes\":{\"overlay\":{\"type\":\"object\",\"name\":\"BoxAnnotation\",\"id\":\"p1359\",\"attributes\":{\"syncable\":false,\"level\":\"overlay\",\"visible\":false,\"left\":{\"type\":\"number\",\"value\":\"nan\"},\"right\":{\"type\":\"number\",\"value\":\"nan\"},\"top\":{\"type\":\"number\",\"value\":\"nan\"},\"bottom\":{\"type\":\"number\",\"value\":\"nan\"},\"left_units\":\"canvas\",\"right_units\":\"canvas\",\"top_units\":\"canvas\",\"bottom_units\":\"canvas\",\"line_color\":\"black\",\"line_alpha\":1.0,\"line_width\":2,\"line_dash\":[4,4],\"fill_color\":\"lightgrey\",\"fill_alpha\":0.5}}}},{\"type\":\"object\",\"name\":\"SaveTool\",\"id\":\"p1364\"},{\"type\":\"object\",\"name\":\"ResetTool\",\"id\":\"p1365\"},{\"type\":\"object\",\"name\":\"HelpTool\",\"id\":\"p1366\"}]}},\"toolbar_location\":\"above\",\"left\":[{\"type\":\"object\",\"name\":\"CategoricalAxis\",\"id\":\"p1351\",\"attributes\":{\"ticker\":{\"type\":\"object\",\"name\":\"CategoricalTicker\",\"id\":\"p1352\"},\"formatter\":{\"type\":\"object\",\"name\":\"CategoricalTickFormatter\",\"id\":\"p1353\"},\"major_label_policy\":{\"type\":\"object\",\"name\":\"AllLabels\",\"id\":\"p1354\"}}}],\"right\":[{\"type\":\"object\",\"name\":\"Legend\",\"id\":\"p1427\",\"attributes\":{\"location\":\"center\",\"title\":\"trial number\",\"click_policy\":\"hide\",\"items\":[{\"type\":\"object\",\"name\":\"LegendItem\",\"id\":\"p1428\",\"attributes\":{\"label\":{\"type\":\"value\",\"value\":\"1\"},\"renderers\":[{\"id\":\"p1376\"}]}},{\"type\":\"object\",\"name\":\"LegendItem\",\"id\":\"p1429\",\"attributes\":{\"label\":{\"type\":\"value\",\"value\":\"2\"},\"renderers\":[{\"id\":\"p1388\"}]}},{\"type\":\"object\",\"name\":\"LegendItem\",\"id\":\"p1430\",\"attributes\":{\"label\":{\"type\":\"value\",\"value\":\"3\"},\"renderers\":[{\"id\":\"p1400\"}]}},{\"type\":\"object\",\"name\":\"LegendItem\",\"id\":\"p1431\",\"attributes\":{\"label\":{\"type\":\"value\",\"value\":\"4\"},\"renderers\":[{\"id\":\"p1412\"}]}},{\"type\":\"object\",\"name\":\"LegendItem\",\"id\":\"p1432\",\"attributes\":{\"label\":{\"type\":\"value\",\"value\":\"5\"},\"renderers\":[{\"id\":\"p1424\"}]}}]}}],\"below\":[{\"type\":\"object\",\"name\":\"LinearAxis\",\"id\":\"p1346\",\"attributes\":{\"ticker\":{\"type\":\"object\",\"name\":\"BasicTicker\",\"id\":\"p1347\",\"attributes\":{\"mantissas\":[1,2,5]}},\"formatter\":{\"type\":\"object\",\"name\":\"BasicTickFormatter\",\"id\":\"p1348\"},\"axis_label\":\"impact force (mN)\",\"major_label_policy\":{\"type\":\"object\",\"name\":\"AllLabels\",\"id\":\"p1349\"}}}],\"center\":[{\"type\":\"object\",\"name\":\"Grid\",\"id\":\"p1350\",\"attributes\":{\"axis\":{\"id\":\"p1346\"}}},{\"type\":\"object\",\"name\":\"Grid\",\"id\":\"p1355\",\"attributes\":{\"dimension\":1,\"axis\":{\"id\":\"p1351\"},\"grid_line_color\":null}}],\"frame_height\":275}}]}};\n", " const render_items = [{\"docid\":\"3dd5f76f-cd51-4a38-a749-e8a819b798ad\",\"roots\":{\"p1335\":\"f48d507b-6875-42d0-b611-076b17aea28f\"},\"root_ids\":[\"p1335\"]}];\n", " void root.Bokeh.embed.embed_items_notebook(docs_json, render_items);\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": "p1335" } }, "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. To generate data to plot, we will draw random numbers, which we will learn how to do in a future lesson." ] }, { "cell_type": "code", "execution_count": 9, "metadata": {}, "outputs": [ { "data": { "text/html": [ "\n", "
\n" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "application/javascript": [ "(function(root) {\n", " function embed_document(root) {\n", " const docs_json = {\"f0b38c5f-afb8-41ce-b96a-0acdd2f77c83\":{\"version\":\"3.4.1\",\"title\":\"Bokeh Application\",\"roots\":[{\"type\":\"object\",\"name\":\"Figure\",\"id\":\"p1444\",\"attributes\":{\"x_range\":{\"type\":\"object\",\"name\":\"DataRange1d\",\"id\":\"p1446\"},\"y_range\":{\"type\":\"object\",\"name\":\"DataRange1d\",\"id\":\"p1443\",\"attributes\":{\"start\":0}},\"x_scale\":{\"type\":\"object\",\"name\":\"LinearScale\",\"id\":\"p1453\"},\"y_scale\":{\"type\":\"object\",\"name\":\"LinearScale\",\"id\":\"p1454\"},\"title\":{\"type\":\"object\",\"name\":\"Title\",\"id\":\"p1451\"},\"renderers\":[{\"type\":\"object\",\"name\":\"GlyphRenderer\",\"id\":\"p1482\",\"attributes\":{\"data_source\":{\"type\":\"object\",\"name\":\"ColumnDataSource\",\"id\":\"p1476\",\"attributes\":{\"selected\":{\"type\":\"object\",\"name\":\"Selection\",\"id\":\"p1477\",\"attributes\":{\"indices\":[],\"line_indices\":[]}},\"selection_policy\":{\"type\":\"object\",\"name\":\"UnionRenderers\",\"id\":\"p1478\"},\"data\":{\"type\":\"map\",\"entries\":[[\"x\",{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"cnSiolZUEsBydKKiVlQSwI0Pf00apRHAjQ9/TRqlEcCnqlv43fUQwKeqW/jd9RDAwkU4o6FGEMDCRTijoUYQwLjBKZzKLg/AuMEpnMouD8Dt9+LxUdANwO334vFR0A3AIi6cR9lxDMAiLpxH2XEMwFhkVZ1gEwvAWGRVnWATC8CMmg7z57QJwIyaDvPntAnAwtDHSG9WCMDC0MdIb1YIwPYGgZ729wbA9gaBnvb3BsAsPTr0fZkFwCw9OvR9mQXAYXPzSQU7BMBhc/NJBTsEwJaprJ+M3ALAlqmsn4zcAsDL32X1E34BwMvfZfUTfgHAABYfS5sfAMAAFh9Lmx8AwGqYsEFFgv2/apiwQUWC/b/UBCPtU8X6v9QEI+1Txfq/PnGVmGII+L8+cZWYYgj4v6jdB0RxS/W/qN0HRHFL9b8SSnrvf47yvxJKeu9/jvK/+GzZNR2j77/4bNk1HaPvv8xFvow6Keq/zEW+jDop6r+gHqPjV6/kv6Aeo+NXr+S/8O4Pdepq3r/w7g916mrev5Cg2SIld9O/kKDZIiV307+ApEahvwbBv4CkRqG/BsG/AOGXDCyDoz8A4ZcMLIOjP+CUkqdVyMo/4JSSp1XIyj/QmP8l8FfYP9CY/yXwV9g/kPMavNql4T+Q8xq82qXhP8AaNmW9H+c/wBo2Zb0f5z/oQVEOoJnsP+hBUQ6gmew/iDS2W8EJ8T+INLZbwQnxPyDIQ7CyxvM/IMhDsLLG8z+0W9EEpIP2P7Rb0QSkg/Y/TO9eWZVA+T9M715ZlUD5P+CC7K2G/fs/4ILsrYb9+z94FnoCeLr+P3gWegJ4uv4/BtWDq7S7AEAG1YOrtLsAQNKeylUtGgJA0p7KVS0aAkCcaBEApngDQJxoEQCmeANAaDJYqh7XBEBoMliqHtcEQDL8nlSXNQZAMvyeVJc1BkD+xeX+D5QHQP7F5f4PlAdAyI8sqYjyCEDIjyypiPIIQJRZc1MBUQpAlFlzUwFRCkBgI7r9ea8LQGAjuv15rwtAKO0AqPINDUAo7QCo8g0NQPS2R1JrbA5A9LZHUmtsDkC/gI7848oPQL+Ajvzjyg9A\"},\"shape\":[102],\"dtype\":\"float64\",\"order\":\"little\"}],[\"y\",{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"AAAAAAAAAAB4PiyVF6MOP3g+LJUXow4/AAAAAAAAAAAAAAAAAAAAAHg+LJUXox4/eD4slRejHj9KPiyVF6MeP0o+LJUXox4//KY7ve4lMz/8pju97iUzP/ymO73uJUM//KY7ve4lQz8XRZIA1jBSPxdFkgDWMFI/nPIzKYPkWD+c8jMpg+RYP7yjiIcPX2k/vKOIhw9faT/hCOV5Bxt0P+EI5XkHG3Q/zHqmpUsHgz/MeqalSweDP4gYMF/Nw4s/iBgwX83Diz8CAVnCcR+VPwIBWcJxH5U/QxcKE/ZVoD9DFwoT9lWgP2Ud1mrpRqc/ZR3WaulGpz/gQ+VGH92vP+BD5UYf3a8/tjZtZ+f1tT+2Nm1n5/W1P4/D23OpAb0/j8Pbc6kBvT9IcScYeU/CP0hxJxh5T8I/Ku9d5WBpxz8q713lYGnHP0TLb9/q+8w/RMtv3+r7zD/zTgEmUevQP/NOASZR69A/VDGw24k81D9UMbDbiTzUP5w8GovtsdU/nDwai+2x1T8j1Nfse33XPyPU1+x7fdc/M+fVByHt2D8z59UHIe3YPztgNy2oUdk/O2A3LahR2T9CMrvNyfTYP0Iyu83J9Ng/IZoJ+jyn2D8hmgn6PKfYPzGL1ZS4NNc/MYvVlLg01z9DyWGvForUP0PJYa8WitQ/ee5OGcsx0j957k4ZyzHSP6XOTde4dc8/pc5N17h1zz90vC/sZAvKP3S8L+xkC8o/X3jTn71FxT9feNOfvUXFP1+pDsN858A/X6kOw3znwD+eukx+f0y6P566TH5/TLo/mDOHu219sj+YM4e7bX2yP7GywMbpUKs/sbLAxulQqz/vpju97iWjP++mO73uJaM/JQ+x0foLmz8lD7HR+gubP42KvhR3/pA/jYq+FHf+kD9vw7hlZk2FP2/DuGVmTYU/graGorTOej+CtoaitM56P63Zabbqg3A/rdlptuqDcD/Tao42IBBlP9NqjjYgEGU//USSANYwUj/9RJIA1jBSP8+2hqK0zko/z7aGorTOSj/Tao42IBBFP9NqjjYgEEU/YT4slRejLj9hPiyVF6MuPwAAAAAAAAAA\"},\"shape\":[102],\"dtype\":\"float64\",\"order\":\"little\"}]]}}},\"view\":{\"type\":\"object\",\"name\":\"CDSView\",\"id\":\"p1483\",\"attributes\":{\"filter\":{\"type\":\"object\",\"name\":\"AllIndices\",\"id\":\"p1484\"}}},\"glyph\":{\"type\":\"object\",\"name\":\"Line\",\"id\":\"p1479\",\"attributes\":{\"x\":{\"type\":\"field\",\"field\":\"x\"},\"y\":{\"type\":\"field\",\"field\":\"y\"},\"line_color\":\"#1f77b3\",\"line_width\":2}},\"nonselection_glyph\":{\"type\":\"object\",\"name\":\"Line\",\"id\":\"p1480\",\"attributes\":{\"x\":{\"type\":\"field\",\"field\":\"x\"},\"y\":{\"type\":\"field\",\"field\":\"y\"},\"line_color\":\"#1f77b3\",\"line_alpha\":0.1,\"line_width\":2}},\"muted_glyph\":{\"type\":\"object\",\"name\":\"Line\",\"id\":\"p1481\",\"attributes\":{\"x\":{\"type\":\"field\",\"field\":\"x\"},\"y\":{\"type\":\"field\",\"field\":\"y\"},\"line_color\":\"#1f77b3\",\"line_alpha\":0.2,\"line_width\":2}}}}],\"toolbar\":{\"type\":\"object\",\"name\":\"Toolbar\",\"id\":\"p1452\",\"attributes\":{\"tools\":[{\"type\":\"object\",\"name\":\"PanTool\",\"id\":\"p1465\"},{\"type\":\"object\",\"name\":\"WheelZoomTool\",\"id\":\"p1466\",\"attributes\":{\"renderers\":\"auto\"}},{\"type\":\"object\",\"name\":\"BoxZoomTool\",\"id\":\"p1467\",\"attributes\":{\"overlay\":{\"type\":\"object\",\"name\":\"BoxAnnotation\",\"id\":\"p1468\",\"attributes\":{\"syncable\":false,\"level\":\"overlay\",\"visible\":false,\"left\":{\"type\":\"number\",\"value\":\"nan\"},\"right\":{\"type\":\"number\",\"value\":\"nan\"},\"top\":{\"type\":\"number\",\"value\":\"nan\"},\"bottom\":{\"type\":\"number\",\"value\":\"nan\"},\"left_units\":\"canvas\",\"right_units\":\"canvas\",\"top_units\":\"canvas\",\"bottom_units\":\"canvas\",\"line_color\":\"black\",\"line_alpha\":1.0,\"line_width\":2,\"line_dash\":[4,4],\"fill_color\":\"lightgrey\",\"fill_alpha\":0.5}}}},{\"type\":\"object\",\"name\":\"SaveTool\",\"id\":\"p1473\"},{\"type\":\"object\",\"name\":\"ResetTool\",\"id\":\"p1474\"},{\"type\":\"object\",\"name\":\"HelpTool\",\"id\":\"p1475\"}]}},\"toolbar_location\":\"above\",\"left\":[{\"type\":\"object\",\"name\":\"LinearAxis\",\"id\":\"p1460\",\"attributes\":{\"ticker\":{\"type\":\"object\",\"name\":\"BasicTicker\",\"id\":\"p1461\",\"attributes\":{\"mantissas\":[1,2,5]}},\"formatter\":{\"type\":\"object\",\"name\":\"BasicTickFormatter\",\"id\":\"p1462\"},\"axis_label\":\"density\",\"major_label_policy\":{\"type\":\"object\",\"name\":\"AllLabels\",\"id\":\"p1463\"}}}],\"below\":[{\"type\":\"object\",\"name\":\"LinearAxis\",\"id\":\"p1455\",\"attributes\":{\"ticker\":{\"type\":\"object\",\"name\":\"BasicTicker\",\"id\":\"p1456\",\"attributes\":{\"mantissas\":[1,2,5]}},\"formatter\":{\"type\":\"object\",\"name\":\"BasicTickFormatter\",\"id\":\"p1457\"},\"axis_label\":\"x\",\"major_label_policy\":{\"type\":\"object\",\"name\":\"AllLabels\",\"id\":\"p1458\"}}}],\"center\":[{\"type\":\"object\",\"name\":\"Grid\",\"id\":\"p1459\",\"attributes\":{\"axis\":{\"id\":\"p1455\"}}},{\"type\":\"object\",\"name\":\"Grid\",\"id\":\"p1464\",\"attributes\":{\"dimension\":1,\"axis\":{\"id\":\"p1460\"}}}],\"frame_width\":375,\"frame_height\":275}}]}};\n", " const render_items = [{\"docid\":\"f0b38c5f-afb8-41ce-b96a-0acdd2f77c83\",\"roots\":{\"p1444\":\"bae28590-515f-4f1b-93f6-d4dec18ae97e\"},\"root_ids\":[\"p1444\"]}];\n", " void root.Bokeh.embed.embed_items_notebook(docs_json, render_items);\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": "p1444" } }, "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": 10, "metadata": {}, "outputs": [ { "data": { "text/html": [ "\n", "
\n" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "application/javascript": [ "(function(root) {\n", " function embed_document(root) {\n", " const docs_json = {\"6bcee56e-7ce8-4ff1-9e72-00ebb19bacba\":{\"version\":\"3.4.1\",\"title\":\"Bokeh Application\",\"roots\":[{\"type\":\"object\",\"name\":\"Figure\",\"id\":\"p1487\",\"attributes\":{\"x_range\":{\"type\":\"object\",\"name\":\"DataRange1d\",\"id\":\"p1488\"},\"y_range\":{\"type\":\"object\",\"name\":\"DataRange1d\",\"id\":\"p1489\"},\"x_scale\":{\"type\":\"object\",\"name\":\"LinearScale\",\"id\":\"p1496\"},\"y_scale\":{\"type\":\"object\",\"name\":\"LinearScale\",\"id\":\"p1497\"},\"title\":{\"type\":\"object\",\"name\":\"Title\",\"id\":\"p1494\"},\"renderers\":[{\"type\":\"object\",\"name\":\"GlyphRenderer\",\"id\":\"p1529\",\"attributes\":{\"data_source\":{\"type\":\"object\",\"name\":\"ColumnDataSource\",\"id\":\"p1520\",\"attributes\":{\"selected\":{\"type\":\"object\",\"name\":\"Selection\",\"id\":\"p1521\",\"attributes\":{\"indices\":[],\"line_indices\":[]}},\"selection_policy\":{\"type\":\"object\",\"name\":\"UnionRenderers\",\"id\":\"p1522\"},\"data\":{\"type\":\"map\",\"entries\":[[\"index\",{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"AAAAAAEAAAACAAAAAwAAAAQAAAAFAAAABgAAAAcAAAAIAAAACQAAAAoAAAALAAAADAAAAA0AAAAOAAAADwAAABAAAAARAAAAEgAAABMAAAA=\"},\"shape\":[20],\"dtype\":\"int32\",\"order\":\"little\"}],[\"ID\",{\"type\":\"ndarray\",\"array\":[\"I\",\"I\",\"I\",\"I\",\"I\",\"I\",\"I\",\"I\",\"I\",\"I\",\"I\",\"I\",\"I\",\"I\",\"I\",\"I\",\"I\",\"I\",\"I\",\"I\"],\"shape\":[20],\"dtype\":\"object\",\"order\":\"little\"}],[\"trial number\",{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"AwAAAAQAAAABAAAAAgAAAAMAAAAEAAAAAQAAAAIAAAADAAAABAAAAAEAAAACAAAAAwAAAAQAAAAFAAAAAQAAAAIAAAADAAAABAAAAAUAAAA=\"},\"shape\":[20],\"dtype\":\"int32\",\"order\":\"little\"}],[\"adhesive force (mN)\",{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"7/z//yn8//+u/P//Of7//zL8//+w/f//AP7//9z8//9O/f//Mv7//wL9//81/f//m/3//1v9///w/f//PP7//1L+//90/f//TP3//+j9//8=\"},\"shape\":[20],\"dtype\":\"int32\",\"order\":\"little\"}],[\"impact force (mN)\",{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"tQQAAN8JAADRBgAAFAYAAO0BAADkCAAALAIAAIgHAABRCgAAaQcAAGMHAAAJBgAAGwUAAJwGAAAHBgAAAgUAAAcDAADwBwAA2AQAANkBAAA=\"},\"shape\":[20],\"dtype\":\"int32\",\"order\":\"little\"}],[\"__ECDF\",{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"zczMzMzM6D+amZmZmZnvPzMzMzMzM+0/AAAAAAAA7D+amZmZmZnVPzMzMzMzM+8/mpmZmZmZ3T9mZmZmZmbuPwAAAAAAAPA/AAAAAAAA7j+amZmZmZntP5qZmZmZmes/AAAAAAAA6j/NzMzMzMzsPzMzMzMzM+s/mpmZmZmZ6T9mZmZmZmbmP83MzMzMzO4/MzMzMzMz6T8AAAAAAADUPw==\"},\"shape\":[20],\"dtype\":\"float64\",\"order\":\"little\"}],[\"__label\",{\"type\":\"ndarray\",\"array\":[\"I\",\"I\",\"I\",\"I\",\"I\",\"I\",\"I\",\"I\",\"I\",\"I\",\"I\",\"I\",\"I\",\"I\",\"I\",\"I\",\"I\",\"I\",\"I\",\"I\"],\"shape\":[20],\"dtype\":\"object\",\"order\":\"little\"}]]}}},\"view\":{\"type\":\"object\",\"name\":\"CDSView\",\"id\":\"p1530\",\"attributes\":{\"filter\":{\"type\":\"object\",\"name\":\"AllIndices\",\"id\":\"p1531\"}}},\"glyph\":{\"type\":\"object\",\"name\":\"Scatter\",\"id\":\"p1526\",\"attributes\":{\"x\":{\"type\":\"field\",\"field\":\"impact force (mN)\"},\"y\":{\"type\":\"field\",\"field\":\"__ECDF\"},\"line_color\":{\"type\":\"value\",\"value\":\"#1f77b3\"},\"fill_color\":{\"type\":\"value\",\"value\":\"#1f77b3\"},\"hatch_color\":{\"type\":\"value\",\"value\":\"#1f77b3\"}}},\"nonselection_glyph\":{\"type\":\"object\",\"name\":\"Scatter\",\"id\":\"p1527\",\"attributes\":{\"x\":{\"type\":\"field\",\"field\":\"impact force (mN)\"},\"y\":{\"type\":\"field\",\"field\":\"__ECDF\"},\"line_color\":{\"type\":\"value\",\"value\":\"#1f77b3\"},\"line_alpha\":{\"type\":\"value\",\"value\":0.1},\"fill_color\":{\"type\":\"value\",\"value\":\"#1f77b3\"},\"fill_alpha\":{\"type\":\"value\",\"value\":0.1},\"hatch_color\":{\"type\":\"value\",\"value\":\"#1f77b3\"},\"hatch_alpha\":{\"type\":\"value\",\"value\":0.1}}},\"muted_glyph\":{\"type\":\"object\",\"name\":\"Scatter\",\"id\":\"p1528\",\"attributes\":{\"x\":{\"type\":\"field\",\"field\":\"impact force (mN)\"},\"y\":{\"type\":\"field\",\"field\":\"__ECDF\"},\"line_color\":{\"type\":\"value\",\"value\":\"#1f77b3\"},\"line_alpha\":{\"type\":\"value\",\"value\":0.2},\"fill_color\":{\"type\":\"value\",\"value\":\"#1f77b3\"},\"fill_alpha\":{\"type\":\"value\",\"value\":0.2},\"hatch_color\":{\"type\":\"value\",\"value\":\"#1f77b3\"},\"hatch_alpha\":{\"type\":\"value\",\"value\":0.2}}}}},{\"type\":\"object\",\"name\":\"GlyphRenderer\",\"id\":\"p1541\",\"attributes\":{\"data_source\":{\"type\":\"object\",\"name\":\"ColumnDataSource\",\"id\":\"p1532\",\"attributes\":{\"selected\":{\"type\":\"object\",\"name\":\"Selection\",\"id\":\"p1533\",\"attributes\":{\"indices\":[],\"line_indices\":[]}},\"selection_policy\":{\"type\":\"object\",\"name\":\"UnionRenderers\",\"id\":\"p1534\"},\"data\":{\"type\":\"map\",\"entries\":[[\"index\",{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"FAAAABUAAAAWAAAAFwAAABgAAAAZAAAAGgAAABsAAAAcAAAAHQAAAB4AAAAfAAAAIAAAACEAAAAiAAAAIwAAACQAAAAlAAAAJgAAACcAAAA=\"},\"shape\":[20],\"dtype\":\"int32\",\"order\":\"little\"}],[\"ID\",{\"type\":\"ndarray\",\"array\":[\"II\",\"II\",\"II\",\"II\",\"II\",\"II\",\"II\",\"II\",\"II\",\"II\",\"II\",\"II\",\"II\",\"II\",\"II\",\"II\",\"II\",\"II\",\"II\",\"II\"],\"shape\":[20],\"dtype\":\"object\",\"order\":\"little\"}],[\"trial number\",{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"AQAAAAIAAAADAAAABAAAAAEAAAACAAAAAwAAAAQAAAABAAAAAgAAAAMAAAAEAAAAAQAAAAIAAAABAAAAAgAAAAEAAAACAAAAAwAAAAEAAAA=\"},\"shape\":[20],\"dtype\":\"int32\",\"order\":\"little\"}],[\"adhesive force (mN)\",{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"cf3//9z+//8K////C////9f9//9o/f//+/7//039//+k////yv3//yH///8A/v//Hf///8P9///2/f//qf3//5T+//8r/v//tPz//3j9//8=\"},\"shape\":[20],\"dtype\":\"int32\",\"order\":\"little\"}],[\"impact force (mN)\",{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"TAYAAF0CAABHAQAAsgMAAB0CAAADBgAAEQIAAHQCAACtBQAAKQEAAL8CAAANAQAA7wIAAPUAAACeBAAAAwIAALMBAAB/AQAAyQEAANoCAAA=\"},\"shape\":[20],\"dtype\":\"int32\",\"order\":\"little\"}],[\"__ECDF\",{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"ZmZmZmZm7D9mZmZmZmbgPzMzMzMzM8M/AAAAAAAA6D8zMzMzMzPbP83MzMzMzOo/zczMzMzM2D+amZmZmZnjP2ZmZmZmZuo/AAAAAAAAwD9mZmZmZmbkP5qZmZmZmbk/AAAAAAAA5j9mZmZmZma2P2ZmZmZmZug/MzMzMzMz1z9mZmZmZmbOP2ZmZmZmZsY/zczMzMzM0D+amZmZmZnlPw==\"},\"shape\":[20],\"dtype\":\"float64\",\"order\":\"little\"}],[\"__label\",{\"type\":\"ndarray\",\"array\":[\"II\",\"II\",\"II\",\"II\",\"II\",\"II\",\"II\",\"II\",\"II\",\"II\",\"II\",\"II\",\"II\",\"II\",\"II\",\"II\",\"II\",\"II\",\"II\",\"II\"],\"shape\":[20],\"dtype\":\"object\",\"order\":\"little\"}]]}}},\"view\":{\"type\":\"object\",\"name\":\"CDSView\",\"id\":\"p1542\",\"attributes\":{\"filter\":{\"type\":\"object\",\"name\":\"AllIndices\",\"id\":\"p1543\"}}},\"glyph\":{\"type\":\"object\",\"name\":\"Scatter\",\"id\":\"p1538\",\"attributes\":{\"x\":{\"type\":\"field\",\"field\":\"impact force (mN)\"},\"y\":{\"type\":\"field\",\"field\":\"__ECDF\"},\"line_color\":{\"type\":\"value\",\"value\":\"#ff7e0e\"},\"fill_color\":{\"type\":\"value\",\"value\":\"#ff7e0e\"},\"hatch_color\":{\"type\":\"value\",\"value\":\"#ff7e0e\"}}},\"nonselection_glyph\":{\"type\":\"object\",\"name\":\"Scatter\",\"id\":\"p1539\",\"attributes\":{\"x\":{\"type\":\"field\",\"field\":\"impact force (mN)\"},\"y\":{\"type\":\"field\",\"field\":\"__ECDF\"},\"line_color\":{\"type\":\"value\",\"value\":\"#ff7e0e\"},\"line_alpha\":{\"type\":\"value\",\"value\":0.1},\"fill_color\":{\"type\":\"value\",\"value\":\"#ff7e0e\"},\"fill_alpha\":{\"type\":\"value\",\"value\":0.1},\"hatch_color\":{\"type\":\"value\",\"value\":\"#ff7e0e\"},\"hatch_alpha\":{\"type\":\"value\",\"value\":0.1}}},\"muted_glyph\":{\"type\":\"object\",\"name\":\"Scatter\",\"id\":\"p1540\",\"attributes\":{\"x\":{\"type\":\"field\",\"field\":\"impact force (mN)\"},\"y\":{\"type\":\"field\",\"field\":\"__ECDF\"},\"line_color\":{\"type\":\"value\",\"value\":\"#ff7e0e\"},\"line_alpha\":{\"type\":\"value\",\"value\":0.2},\"fill_color\":{\"type\":\"value\",\"value\":\"#ff7e0e\"},\"fill_alpha\":{\"type\":\"value\",\"value\":0.2},\"hatch_color\":{\"type\":\"value\",\"value\":\"#ff7e0e\"},\"hatch_alpha\":{\"type\":\"value\",\"value\":0.2}}}}},{\"type\":\"object\",\"name\":\"GlyphRenderer\",\"id\":\"p1553\",\"attributes\":{\"data_source\":{\"type\":\"object\",\"name\":\"ColumnDataSource\",\"id\":\"p1544\",\"attributes\":{\"selected\":{\"type\":\"object\",\"name\":\"Selection\",\"id\":\"p1545\",\"attributes\":{\"indices\":[],\"line_indices\":[]}},\"selection_policy\":{\"type\":\"object\",\"name\":\"UnionRenderers\",\"id\":\"p1546\"},\"data\":{\"type\":\"map\",\"entries\":[[\"index\",{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"KAAAACkAAAAqAAAAKwAAACwAAAAtAAAALgAAAC8AAAAwAAAAMQAAADIAAAAzAAAANAAAADUAAAA2AAAANwAAADgAAAA5AAAAOgAAADsAAAA=\"},\"shape\":[20],\"dtype\":\"int32\",\"order\":\"little\"}],[\"ID\",{\"type\":\"ndarray\",\"array\":[\"III\",\"III\",\"III\",\"III\",\"III\",\"III\",\"III\",\"III\",\"III\",\"III\",\"III\",\"III\",\"III\",\"III\",\"III\",\"III\",\"III\",\"III\",\"III\",\"III\"],\"shape\":[20],\"dtype\":\"object\",\"order\":\"little\"}],[\"trial number\",{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"AQAAAAIAAAADAAAAAQAAAAIAAAADAAAAAQAAAAIAAAABAAAAAgAAAAMAAAAEAAAAAQAAAAIAAAADAAAABAAAAAEAAAACAAAAAwAAAAQAAAA=\"},\"shape\":[20],\"dtype\":\"int32\",\"order\":\"little\"}],[\"adhesive force (mN)\",{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"ov///13///9U////H////9P+//+j////ff///9/+//+Y////G/////3+//8Z////9f7//07///+F////af///4H///+M/v//FP///3r+//8=\"},\"shape\":[20],\"dtype\":\"int32\",\"order\":\"little\"}],[\"impact force (mN)\",{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"ZgIAAJ4BAABEAQAACAMAAGMCAAAgAgAAGgIAAEMCAAAmAwAAywEAAMoBAAByAgAAbQIAACACAAAXAgAAgQEAAJEBAABmAgAAmQIAAOgBAAA=\"},\"shape\":[20],\"dtype\":\"int32\",\"order\":\"little\"}],[\"__ECDF\",{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"mpmZmZmZ4T/NzMzMzMzMP5qZmZmZmcE/zczMzMzM5j8zMzMzMzPhPwAAAAAAANw/ZmZmZmZm2j9mZmZmZmbePzMzMzMzM+c/ZmZmZmZm0j+amZmZmZnRPzMzMzMzM+M/zczMzMzM4j/NzMzMzMzcP5qZmZmZmdk/AAAAAAAAyD+amZmZmZnJPwAAAAAAAOI/AAAAAAAA5D/NzMzMzMzUPw==\"},\"shape\":[20],\"dtype\":\"float64\",\"order\":\"little\"}],[\"__label\",{\"type\":\"ndarray\",\"array\":[\"III\",\"III\",\"III\",\"III\",\"III\",\"III\",\"III\",\"III\",\"III\",\"III\",\"III\",\"III\",\"III\",\"III\",\"III\",\"III\",\"III\",\"III\",\"III\",\"III\"],\"shape\":[20],\"dtype\":\"object\",\"order\":\"little\"}]]}}},\"view\":{\"type\":\"object\",\"name\":\"CDSView\",\"id\":\"p1554\",\"attributes\":{\"filter\":{\"type\":\"object\",\"name\":\"AllIndices\",\"id\":\"p1555\"}}},\"glyph\":{\"type\":\"object\",\"name\":\"Scatter\",\"id\":\"p1550\",\"attributes\":{\"x\":{\"type\":\"field\",\"field\":\"impact force (mN)\"},\"y\":{\"type\":\"field\",\"field\":\"__ECDF\"},\"line_color\":{\"type\":\"value\",\"value\":\"#2ba02b\"},\"fill_color\":{\"type\":\"value\",\"value\":\"#2ba02b\"},\"hatch_color\":{\"type\":\"value\",\"value\":\"#2ba02b\"}}},\"nonselection_glyph\":{\"type\":\"object\",\"name\":\"Scatter\",\"id\":\"p1551\",\"attributes\":{\"x\":{\"type\":\"field\",\"field\":\"impact force (mN)\"},\"y\":{\"type\":\"field\",\"field\":\"__ECDF\"},\"line_color\":{\"type\":\"value\",\"value\":\"#2ba02b\"},\"line_alpha\":{\"type\":\"value\",\"value\":0.1},\"fill_color\":{\"type\":\"value\",\"value\":\"#2ba02b\"},\"fill_alpha\":{\"type\":\"value\",\"value\":0.1},\"hatch_color\":{\"type\":\"value\",\"value\":\"#2ba02b\"},\"hatch_alpha\":{\"type\":\"value\",\"value\":0.1}}},\"muted_glyph\":{\"type\":\"object\",\"name\":\"Scatter\",\"id\":\"p1552\",\"attributes\":{\"x\":{\"type\":\"field\",\"field\":\"impact force (mN)\"},\"y\":{\"type\":\"field\",\"field\":\"__ECDF\"},\"line_color\":{\"type\":\"value\",\"value\":\"#2ba02b\"},\"line_alpha\":{\"type\":\"value\",\"value\":0.2},\"fill_color\":{\"type\":\"value\",\"value\":\"#2ba02b\"},\"fill_alpha\":{\"type\":\"value\",\"value\":0.2},\"hatch_color\":{\"type\":\"value\",\"value\":\"#2ba02b\"},\"hatch_alpha\":{\"type\":\"value\",\"value\":0.2}}}}},{\"type\":\"object\",\"name\":\"GlyphRenderer\",\"id\":\"p1565\",\"attributes\":{\"data_source\":{\"type\":\"object\",\"name\":\"ColumnDataSource\",\"id\":\"p1556\",\"attributes\":{\"selected\":{\"type\":\"object\",\"name\":\"Selection\",\"id\":\"p1557\",\"attributes\":{\"indices\":[],\"line_indices\":[]}},\"selection_policy\":{\"type\":\"object\",\"name\":\"UnionRenderers\",\"id\":\"p1558\"},\"data\":{\"type\":\"map\",\"entries\":[[\"index\",{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"PAAAAD0AAAA+AAAAPwAAAEAAAABBAAAAQgAAAEMAAABEAAAARQAAAEYAAABHAAAASAAAAEkAAABKAAAASwAAAEwAAABNAAAATgAAAE8AAAA=\"},\"shape\":[20],\"dtype\":\"int32\",\"order\":\"little\"}],[\"ID\",{\"type\":\"ndarray\",\"array\":[\"IV\",\"IV\",\"IV\",\"IV\",\"IV\",\"IV\",\"IV\",\"IV\",\"IV\",\"IV\",\"IV\",\"IV\",\"IV\",\"IV\",\"IV\",\"IV\",\"IV\",\"IV\",\"IV\",\"IV\"],\"shape\":[20],\"dtype\":\"object\",\"order\":\"little\"}],[\"trial number\",{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"AgAAAAMAAAAEAAAAAQAAAAIAAAADAAAAAQAAAAEAAAACAAAAAwAAAAQAAAABAAAAAQAAAAIAAAADAAAABAAAAAEAAAACAAAAAwAAAAQAAAA=\"},\"shape\":[20],\"dtype\":\"int32\",\"order\":\"little\"}],[\"adhesive force (mN)\",{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"OP7//z////8U////H////yf///9f////df////j+//+q/v//Gf///y/////c/v//rf7//43+//+1/v//0v7//yj///9d////kf7//yb///8=\"},\"shape\":[20],\"dtype\":\"int32\",\"order\":\"little\"}],[\"impact force (mN)\",{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"rAAAAI4AAAAlAAAAxQEAAGMBAAAWAAAA9gEAABEBAADQAgAARgIAAMYAAADGAAAAVQIAAAQCAAAvAwAAkgEAAF0CAADHAgAAZgIAANQBAAA=\"},\"shape\":[20],\"dtype\":\"int32\",\"order\":\"little\"}],[\"__ECDF\",{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"mpmZmZmZqT8zMzMzMzOjP5qZmZmZmZk/AAAAAAAA0D/NzMzMzMzEP5qZmZmZmYk/ZmZmZmZm1j/NzMzMzMy8PzMzMzMzM+U/MzMzMzMz3z8AAAAAAACwPzMzMzMzM7M/AAAAAAAA4D8AAAAAAADYP5qZmZmZmec/MzMzMzMzyz/NzMzMzMzgP83MzMzMzOQ/ZmZmZmZm4j8zMzMzMzPTPw==\"},\"shape\":[20],\"dtype\":\"float64\",\"order\":\"little\"}],[\"__label\",{\"type\":\"ndarray\",\"array\":[\"IV\",\"IV\",\"IV\",\"IV\",\"IV\",\"IV\",\"IV\",\"IV\",\"IV\",\"IV\",\"IV\",\"IV\",\"IV\",\"IV\",\"IV\",\"IV\",\"IV\",\"IV\",\"IV\",\"IV\"],\"shape\":[20],\"dtype\":\"object\",\"order\":\"little\"}]]}}},\"view\":{\"type\":\"object\",\"name\":\"CDSView\",\"id\":\"p1566\",\"attributes\":{\"filter\":{\"type\":\"object\",\"name\":\"AllIndices\",\"id\":\"p1567\"}}},\"glyph\":{\"type\":\"object\",\"name\":\"Scatter\",\"id\":\"p1562\",\"attributes\":{\"x\":{\"type\":\"field\",\"field\":\"impact force (mN)\"},\"y\":{\"type\":\"field\",\"field\":\"__ECDF\"},\"line_color\":{\"type\":\"value\",\"value\":\"#d62628\"},\"fill_color\":{\"type\":\"value\",\"value\":\"#d62628\"},\"hatch_color\":{\"type\":\"value\",\"value\":\"#d62628\"}}},\"nonselection_glyph\":{\"type\":\"object\",\"name\":\"Scatter\",\"id\":\"p1563\",\"attributes\":{\"x\":{\"type\":\"field\",\"field\":\"impact force (mN)\"},\"y\":{\"type\":\"field\",\"field\":\"__ECDF\"},\"line_color\":{\"type\":\"value\",\"value\":\"#d62628\"},\"line_alpha\":{\"type\":\"value\",\"value\":0.1},\"fill_color\":{\"type\":\"value\",\"value\":\"#d62628\"},\"fill_alpha\":{\"type\":\"value\",\"value\":0.1},\"hatch_color\":{\"type\":\"value\",\"value\":\"#d62628\"},\"hatch_alpha\":{\"type\":\"value\",\"value\":0.1}}},\"muted_glyph\":{\"type\":\"object\",\"name\":\"Scatter\",\"id\":\"p1564\",\"attributes\":{\"x\":{\"type\":\"field\",\"field\":\"impact force (mN)\"},\"y\":{\"type\":\"field\",\"field\":\"__ECDF\"},\"line_color\":{\"type\":\"value\",\"value\":\"#d62628\"},\"line_alpha\":{\"type\":\"value\",\"value\":0.2},\"fill_color\":{\"type\":\"value\",\"value\":\"#d62628\"},\"fill_alpha\":{\"type\":\"value\",\"value\":0.2},\"hatch_color\":{\"type\":\"value\",\"value\":\"#d62628\"},\"hatch_alpha\":{\"type\":\"value\",\"value\":0.2}}}}}],\"toolbar\":{\"type\":\"object\",\"name\":\"Toolbar\",\"id\":\"p1495\",\"attributes\":{\"tools\":[{\"type\":\"object\",\"name\":\"PanTool\",\"id\":\"p1508\"},{\"type\":\"object\",\"name\":\"WheelZoomTool\",\"id\":\"p1509\",\"attributes\":{\"renderers\":\"auto\"}},{\"type\":\"object\",\"name\":\"BoxZoomTool\",\"id\":\"p1510\",\"attributes\":{\"overlay\":{\"type\":\"object\",\"name\":\"BoxAnnotation\",\"id\":\"p1511\",\"attributes\":{\"syncable\":false,\"level\":\"overlay\",\"visible\":false,\"left\":{\"type\":\"number\",\"value\":\"nan\"},\"right\":{\"type\":\"number\",\"value\":\"nan\"},\"top\":{\"type\":\"number\",\"value\":\"nan\"},\"bottom\":{\"type\":\"number\",\"value\":\"nan\"},\"left_units\":\"canvas\",\"right_units\":\"canvas\",\"top_units\":\"canvas\",\"bottom_units\":\"canvas\",\"line_color\":\"black\",\"line_alpha\":1.0,\"line_width\":2,\"line_dash\":[4,4],\"fill_color\":\"lightgrey\",\"fill_alpha\":0.5}}}},{\"type\":\"object\",\"name\":\"SaveTool\",\"id\":\"p1516\"},{\"type\":\"object\",\"name\":\"ResetTool\",\"id\":\"p1517\"},{\"type\":\"object\",\"name\":\"HelpTool\",\"id\":\"p1518\"},{\"type\":\"object\",\"name\":\"HoverTool\",\"id\":\"p1519\",\"attributes\":{\"name\":\"hover_glyphs\",\"renderers\":\"auto\",\"tooltips\":[[\"trial\",\"@{trial number}\"],[\"adh force\",\"@{adhesive force (mN)}\"]]}}]}},\"toolbar_location\":\"above\",\"left\":[{\"type\":\"object\",\"name\":\"LinearAxis\",\"id\":\"p1503\",\"attributes\":{\"ticker\":{\"type\":\"object\",\"name\":\"BasicTicker\",\"id\":\"p1504\",\"attributes\":{\"mantissas\":[1,2,5]}},\"formatter\":{\"type\":\"object\",\"name\":\"BasicTickFormatter\",\"id\":\"p1505\"},\"axis_label\":\"ECDF\",\"major_label_policy\":{\"type\":\"object\",\"name\":\"AllLabels\",\"id\":\"p1506\"}}}],\"right\":[{\"type\":\"object\",\"name\":\"Legend\",\"id\":\"p1568\",\"attributes\":{\"location\":\"center\",\"click_policy\":\"hide\",\"items\":[{\"type\":\"object\",\"name\":\"LegendItem\",\"id\":\"p1569\",\"attributes\":{\"label\":{\"type\":\"value\",\"value\":\"I\"},\"renderers\":[{\"id\":\"p1529\"}]}},{\"type\":\"object\",\"name\":\"LegendItem\",\"id\":\"p1570\",\"attributes\":{\"label\":{\"type\":\"value\",\"value\":\"II\"},\"renderers\":[{\"id\":\"p1541\"}]}},{\"type\":\"object\",\"name\":\"LegendItem\",\"id\":\"p1571\",\"attributes\":{\"label\":{\"type\":\"value\",\"value\":\"III\"},\"renderers\":[{\"id\":\"p1553\"}]}},{\"type\":\"object\",\"name\":\"LegendItem\",\"id\":\"p1572\",\"attributes\":{\"label\":{\"type\":\"value\",\"value\":\"IV\"},\"renderers\":[{\"id\":\"p1565\"}]}}]}}],\"below\":[{\"type\":\"object\",\"name\":\"LinearAxis\",\"id\":\"p1498\",\"attributes\":{\"ticker\":{\"type\":\"object\",\"name\":\"BasicTicker\",\"id\":\"p1499\",\"attributes\":{\"mantissas\":[1,2,5]}},\"formatter\":{\"type\":\"object\",\"name\":\"BasicTickFormatter\",\"id\":\"p1500\"},\"axis_label\":\"impact force (mN)\",\"major_label_policy\":{\"type\":\"object\",\"name\":\"AllLabels\",\"id\":\"p1501\"}}}],\"center\":[{\"type\":\"object\",\"name\":\"Grid\",\"id\":\"p1502\",\"attributes\":{\"axis\":{\"id\":\"p1498\"}}},{\"type\":\"object\",\"name\":\"Grid\",\"id\":\"p1507\",\"attributes\":{\"dimension\":1,\"axis\":{\"id\":\"p1503\"}}}],\"frame_width\":375,\"frame_height\":275}}]}};\n", " const render_items = [{\"docid\":\"6bcee56e-7ce8-4ff1-9e72-00ebb19bacba\",\"roots\":{\"p1487\":\"bef2222b-336b-47a3-b0d1-e831ac480060\"},\"root_ids\":[\"p1487\"]}];\n", " void root.Bokeh.embed.embed_items_notebook(docs_json, render_items);\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": "p1487" } }, "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": 11, "metadata": {}, "outputs": [], "source": [ "df = pd.read_csv(\"data/gfmt_sleep.csv\", na_values=\"*\")\n", "df = df.assign(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": 12, "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": 13, "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.scatter()`. 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": 14, "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.scatter(\n", " source=source_normal,\n", " x=\"confidence when correct\",\n", " y=\"confidence when incorrect\",\n", " marker=\"circle\",\n", " color=cat_colors[0],\n", ")\n", "\n", "insom_glyph = p.scatter(\n", " source=source_insomnia,\n", " x=\"confidence when correct\",\n", " y=\"confidence when incorrect\",\n", " marker=\"circle\",\n", " color=cat_colors[1],\n", ")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Now we can construct and add the legend." ] }, { "cell_type": "code", "execution_count": 15, "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": 16, "metadata": {}, "outputs": [ { "data": { "text/html": [ "\n", "
\n" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "application/javascript": [ "(function(root) {\n", " function embed_document(root) {\n", " const docs_json = {\"e5f8de54-410f-4c24-bc90-63f232013747\":{\"version\":\"3.4.1\",\"title\":\"Bokeh Application\",\"roots\":[{\"type\":\"object\",\"name\":\"Figure\",\"id\":\"p1593\",\"attributes\":{\"x_range\":{\"type\":\"object\",\"name\":\"Range1d\",\"id\":\"p1603\",\"attributes\":{\"end\":100}},\"y_range\":{\"type\":\"object\",\"name\":\"Range1d\",\"id\":\"p1604\",\"attributes\":{\"end\":100}},\"x_scale\":{\"type\":\"object\",\"name\":\"LinearScale\",\"id\":\"p1605\"},\"y_scale\":{\"type\":\"object\",\"name\":\"LinearScale\",\"id\":\"p1606\"},\"title\":{\"type\":\"object\",\"name\":\"Title\",\"id\":\"p1596\",\"attributes\":{\"text\":\"GMFT with sleep conditions\"}},\"renderers\":[{\"type\":\"object\",\"name\":\"GlyphRenderer\",\"id\":\"p1640\",\"attributes\":{\"data_source\":{\"type\":\"object\",\"name\":\"ColumnDataSource\",\"id\":\"p1631\",\"attributes\":{\"selected\":{\"type\":\"object\",\"name\":\"Selection\",\"id\":\"p1632\",\"attributes\":{\"indices\":[],\"line_indices\":[]}},\"selection_policy\":{\"type\":\"object\",\"name\":\"UnionRenderers\",\"id\":\"p1633\"},\"data\":{\"type\":\"map\",\"entries\":[[\"index\",{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"GQAAABoAAAAbAAAAHAAAAB0AAAAeAAAAHwAAACAAAAAhAAAAIgAAACMAAAAkAAAAJQAAACYAAAAnAAAAKAAAACkAAAAqAAAAKwAAACwAAAAtAAAALgAAAC8AAAAwAAAAMQAAADIAAAAzAAAANAAAADUAAAA2AAAANwAAADgAAAA5AAAAOgAAADsAAAA8AAAAPQAAAD4AAAA/AAAAQAAAAEEAAABCAAAAQwAAAEQAAABFAAAARgAAAEcAAABIAAAASQAAAEoAAABLAAAATAAAAE0AAABOAAAATwAAAFAAAABRAAAAUgAAAFMAAABUAAAAVQAAAFYAAABXAAAAWAAAAFkAAABaAAAAWwAAAFwAAABdAAAAXgAAAF8AAABgAAAAYQAAAGIAAABjAAAAZAAAAGUAAAA=\"},\"shape\":[77],\"dtype\":\"int32\",\"order\":\"little\"}],[\"participant number\",{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"AQAAAAIAAAADAAAABAAAAAUAAAAGAAAABwAAAAkAAAAKAAAACwAAAAwAAAANAAAADgAAAA8AAAARAAAAEwAAABQAAAAVAAAAFwAAABgAAAAZAAAAGgAAAB0AAAAfAAAAIAAAACQAAAAlAAAAJwAAACgAAAAqAAAAKwAAACwAAAAtAAAAMAAAADIAAAAzAAAANAAAADUAAAA2AAAAOAAAADkAAAA6AAAAOwAAADwAAAA9AAAAPgAAAD8AAABAAAAAQQAAAEIAAABDAAAARAAAAEUAAABGAAAASAAAAEkAAABKAAAASwAAAE8AAABRAAAAUgAAAFMAAABUAAAAVQAAAFYAAABXAAAAWAAAAFsAAABcAAAAXgAAAF8AAABgAAAAYQAAAGIAAABjAAAAZgAAAGcAAAA=\"},\"shape\":[77],\"dtype\":\"int32\",\"order\":\"little\"}],[\"gender\",{\"type\":\"ndarray\",\"array\":[\"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\"],\"shape\":[77],\"dtype\":\"object\",\"order\":\"little\"}],[\"age\",{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"KgAAAC0AAAAQAAAAFQAAABIAAAAcAAAAJgAAABEAAAAZAAAAFgAAACkAAAA1AAAAKwAAABcAAAATAAAALQAAACsAAAAjAAAAGAAAAEAAAAAkAAAAIwAAACsAAAAsAAAAHQAAABYAAAAuAAAAIwAAADUAAAAdAAAAHwAAABUAAAAqAAAAFwAAADYAAAAYAAAAFQAAABUAAAArAAAAMgAAADUAAAAQAAAAQwAAACQAAAAiAAAAKgAAAC4AAABFAAAAHwAAACwAAAAZAAAALQAAAC8AAAAhAAAAEgAAAEoAAAAVAAAALQAAACUAAAApAAAAKQAAACIAAAAnAAAAEgAAAB8AAAAaAAAAQgAAAD4AAAAWAAAAKQAAAC4AAAA4AAAAFwAAAEYAAAAYAAAAKAAAACEAAAA=\"},\"shape\":[77],\"dtype\":\"int32\",\"order\":\"little\"}],[\"correct hit percentage\",{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"UAAAAFAAAABGAAAARgAAAFoAAABfAAAAWgAAAFoAAABkAAAAUAAAAFoAAABfAAAAXwAAAFoAAAA3AAAAZAAAAEEAAABaAAAANwAAAEsAAABkAAAARgAAAFoAAABfAAAAXwAAAEYAAABQAAAAMgAAAEEAAABkAAAAVQAAAFUAAABaAAAAWgAAAFoAAABVAAAAVQAAAFoAAABfAAAARgAAAF8AAABVAAAAXwAAAFoAAABaAAAAZAAAAFAAAABfAAAAZAAAAFoAAABkAAAARgAAAFoAAABVAAAAUAAAAFUAAAAoAAAAUAAAAFoAAABaAAAAUAAAAFoAAABLAAAAVQAAAGQAAABfAAAAPAAAAGQAAABVAAAAIwAAAF8AAABGAAAARgAAAFoAAABGAAAASwAAAFUAAAA=\"},\"shape\":[77],\"dtype\":\"int32\",\"order\":\"little\"}],[\"correct reject percentage\",{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"QQAAAFoAAABQAAAAQQAAAGQAAABQAAAAXwAAAFoAAABkAAAAPAAAAFAAAAA8AAAAWgAAAFAAAAA8AAAAVQAAAEEAAABkAAAAZAAAAFUAAABQAAAAWgAAAFUAAABaAAAANwAAAEEAAABLAAAAXwAAAFAAAABGAAAAWgAAAFoAAABaAAAAVQAAAEYAAABfAAAASwAAAFAAAABLAAAAVQAAAEsAAABVAAAASwAAAEEAAABaAAAAZAAAAFoAAABQAAAAXwAAAF8AAABkAAAAMgAAAGQAAABGAAAASwAAAFAAAAAoAAAAXwAAAFAAAABVAAAASwAAACMAAABGAAAAVQAAAFUAAABLAAAAVQAAAFAAAABfAAAASwAAAFAAAAAyAAAAVQAAAFUAAABQAAAAQQAAACgAAAA=\"},\"shape\":[77],\"dtype\":\"int32\",\"order\":\"little\"}],[\"percent correct\",{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"AAAAAAAgUkAAAAAAAEBVQAAAAAAAwFJAAAAAAADgUEAAAAAAAMBXQAAAAAAA4FVAAAAAAAAgV0AAAAAAAIBWQAAAAAAAAFlAAAAAAACAUUAAAAAAAEBVQAAAAAAAYFNAAAAAAAAgV0AAAAAAAEBVQAAAAAAAwExAAAAAAAAgV0AAAAAAAEBQQAAAAAAAwFdAAAAAAABgU0AAAAAAAABUQAAAAAAAgFZAAAAAAAAAVEAAAAAAAOBVQAAAAAAAIFdAAAAAAADAUkAAAAAAAOBQQAAAAAAAYFNAAAAAAAAgUkAAAAAAACBSQAAAAAAAQFVAAAAAAADgVUAAAAAAAOBVQAAAAAAAgFZAAAAAAADgVUAAAAAAAABUQAAAAAAAgFZAAAAAAAAAVEAAAAAAAEBVQAAAAAAAQFVAAAAAAABgU0AAAAAAAEBVQAAAAAAAQFVAAAAAAABAVUAAAAAAAGBTQAAAAAAAgFZAAAAAAAAAWUAAAAAAAEBVQAAAAAAA4FVAAAAAAABgWEAAAAAAACBXQAAAAAAAAFlAAAAAAAAATkAAAAAAAMBXQAAAAAAAYFNAAAAAAABgU0AAAAAAAKBUQAAAAAAAAERAAAAAAADgVUAAAAAAAEBVQAAAAAAA4FVAAAAAAABgU0AAAAAAAEBPQAAAAAAAIFJAAAAAAABAVUAAAAAAACBXQAAAAAAAQFVAAAAAAAAgUkAAAAAAAIBWQAAAAAAAgFZAAAAAAACAS0AAAAAAAOBVQAAAAAAAAE5AAAAAAABgU0AAAAAAAOBVQAAAAAAAwFJAAAAAAACAUUAAAAAAAEBPQA==\"},\"shape\":[77],\"dtype\":\"float64\",\"order\":\"little\"}],[\"confidence when correct hit\",{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"AAAAAADASUAAAAAAAMBSQAAAAAAAgFFAAAAAAADAT0AAAAAAACBTQAAAAAAAAFlAAAAAAABAU0AAAAAAACBUQAAAAAAAgFZAAAAAAACAUUAAAAAAACBTQAAAAAAAAERAAAAAAAAASkAAAAAAAABWQAAAAAAAAE9AAAAAAAAAUUAAAAAAAIBNQAAAAAAA4FJAAAAAAAAAUUAAAAAAAABJQAAAAAAAAFZAAAAAAACAPUAAAAAAAGBQQAAAAAAAwFRAAAAAAADAUEAAAAAAAIBTQAAAAAAAIFJAAAAAAABAT0AAAAAAAABLQAAAAAAAwFJAAAAAAACAVEAAAAAAAIBQQAAAAAAAwFRAAAAAAADAUEAAAAAAAIBWQAAAAAAAQFhAAAAAAABAUEAAAAAAAABVQAAAAAAAgFJAAAAAAAAgV0AAAAAAAABVQAAAAAAAgEtAAAAAAACAUUAAAAAAAOBQQAAAAAAAQE1AAAAAAACgUkAAAAAAAABXQAAAAAAAAFRAAAAAAACAWEAAAAAAAMBVQAAAAAAAwE5AAAAAAAAgVEAAAAAAAABZQAAAAAAAgFFAAAAAAADgUEAAAAAAAIBQQAAAAAAAoFZAAAAAAACAUkAAAAAAAOBXQAAAAAAAAFRAAAAAAACgV0AAAAAAAEBUQAAAAAAAgExAAAAAAABAV0AAAAAAAABZQAAAAAAAQFVAAAAAAADgUEAAAAAAAEBUQAAAAAAAgFBAAAAAAACAS0AAAAAAAIBWQAAAAAAAgE9AAAAAAABAU0AAAAAAAGBQQAAAAAAAwE5AAAAAAACASkAAAAAAAABUQA==\"},\"shape\":[77],\"dtype\":\"float64\",\"order\":\"little\"}],[\"confidence when incorrect hit\",{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"AAAAAABARkAAAAAAAMBLQAAAAAAAgExAAAAAAAAAUEAAAAAAAMBUQAAAAAAAQFVAAAAAAADARUAAAAAAAOBVQAAAAAAAAPh/AAAAAACAUUAAAAAAAMBLQAAAAAAAgEBAAAAAAAAAPUAAAAAAAABEQAAAAAAAAElAAAAAAAAA+H8AAAAAAIBLQAAAAAAAwEFAAAAAAADAUEAAAAAAAAA5QAAAAAAAAPh/AAAAAACAPEAAAAAAAAA7QAAAAAAAAExAAAAAAACASkAAAAAAAABWQAAAAAAAAFJAAAAAAAAAPUAAAAAAAABAQAAAAAAAAPh/AAAAAACASEAAAAAAAAA9QAAAAAAAwFRAAAAAAACAR0AAAAAAAOBUQAAAAAAAgERAAAAAAABAUkAAAAAAAMBLQAAAAAAAQFZAAAAAAAAgUkAAAAAAAIBLQAAAAAAAAD5AAAAAAAAAHEAAAAAAAIA8QAAAAAAAgEVAAAAAAAAA+H8AAAAAAOBSQAAAAAAAQFBAAAAAAAAA+H8AAAAAAMBHQAAAAAAAAPh/AAAAAADASUAAAAAAAAD4fwAAAAAAAENAAAAAAADASUAAAAAAAIBLQAAAAAAAAFRAAAAAAADAUEAAAAAAAABRQAAAAAAAwE1AAAAAAADATkAAAAAAAABKQAAAAAAAgExAAAAAAAAAV0AAAAAAAAD4fwAAAAAAAFZAAAAAAACAUEAAAAAAAAD4fwAAAAAAAExAAAAAAACATkAAAAAAAMBSQAAAAAAAQEpAAAAAAACgUEAAAAAAAGBVQAAAAAAAQFRAAAAAAACAQkAAAAAAAAA7QA==\"},\"shape\":[77],\"dtype\":\"float64\",\"order\":\"little\"}],[\"confidence when correct reject\",{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"AAAAAACARUAAAAAAAABUQAAAAAAAAEtAAAAAAAAASUAAAAAAAABUQAAAAAAAgFdAAAAAAADAU0AAAAAAACBTQAAAAAAAQFVAAAAAAACAUUAAAAAAAOBQQAAAAAAAAExAAAAAAACASEAAAAAAAKBRQAAAAAAAgFBAAAAAAACATkAAAAAAAABQQAAAAAAAoFJAAAAAAAAAVEAAAAAAAIBQQAAAAAAAgFBAAAAAAAAAM0AAAAAAAIBEQAAAAAAAwFNAAAAAAABAUEAAAAAAAEBTQAAAAAAAAFlAAAAAAABAU0AAAAAAAMBHQAAAAAAAIFBAAAAAAABAVEAAAAAAAIBRQAAAAAAAIFRAAAAAAABAUUAAAAAAAGBTQAAAAAAAgFJAAAAAAAAATEAAAAAAAGBSQAAAAAAAAFFAAAAAAADAV0AAAAAAAABRQAAAAAAAAElAAAAAAABAUUAAAAAAAIBLQAAAAAAAYFJAAAAAAACAUkAAAAAAAABXQAAAAAAAoFNAAAAAAACAVkAAAAAAAEBRQAAAAAAAQE1AAAAAAACAT0AAAAAAAOBRQAAAAAAAQE1AAAAAAACAUEAAAAAAAIBPQAAAAAAAoFJAAAAAAAAAU0AAAAAAAOBUQAAAAAAAgFFAAAAAAACAVUAAAAAAAMBRQAAAAAAAwE1AAAAAAADAVkAAAAAAAABZQAAAAAAAgFRAAAAAAACAUkAAAAAAAKBSQAAAAAAAAFJAAAAAAAAAVEAAAAAAAABUQAAAAAAA4FBAAAAAAABAU0AAAAAAAMBVQAAAAAAAgFFAAAAAAAAAVUAAAAAAAAA/QA==\"},\"shape\":[77],\"dtype\":\"float64\",\"order\":\"little\"}],[\"confidence when incorrect reject\",{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"AAAAAACASEAAAAAAAMBSQAAAAAAAgEpAAAAAAAAASUAAAAAAAAD4fwAAAAAAgE5AAAAAAAAANUAAAAAAAAA7QAAAAAAAAPh/AAAAAABAUEAAAAAAAEBKQAAAAAAAgEhAAAAAAAAAQkAAAAAAAKBQQAAAAAAAQElAAAAAAAAAS0AAAAAAAIBNQAAAAAAAAPh/AAAAAAAA+H8AAAAAAAA4QAAAAAAAwE9AAAAAAADAREAAAAAAAIBGQAAAAAAAQEVAAAAAAACASkAAAAAAAABUQAAAAAAAwFZAAAAAAAAAQEAAAAAAAKBTQAAAAAAAgEVAAAAAAAAAQkAAAAAAAAA9QAAAAAAAAEJAAAAAAAAAREAAAAAAAEBRQAAAAAAAQFJAAAAAAAAAUUAAAAAAAIBRQAAAAAAAQFBAAAAAAABAUEAAAAAAAIBOQAAAAAAAAERAAAAAAAAATkAAAAAAAABKQAAAAAAAwEpAAAAAAAAA+H8AAAAAAIBPQAAAAAAAoFFAAAAAAAAAREAAAAAAAMBVQAAAAAAAAPh/AAAAAABAUUAAAAAAAMBUQAAAAAAAQFBAAAAAAACATEAAAAAAAEBJQAAAAAAAwFRAAAAAAAAAMUAAAAAAAMBUQAAAAAAAgERAAAAAAACAUkAAAAAAAABNQAAAAAAAAElAAAAAAABAVkAAAAAAAABJQAAAAAAAgFRAAAAAAACATEAAAAAAAIBUQAAAAAAAgE9AAAAAAACATEAAAAAAAABUQAAAAAAAYFBAAAAAAABgU0AAAAAAAABUQAAAAAAAgE5AAAAAAAAASkAAAAAAAKBUQA==\"},\"shape\":[77],\"dtype\":\"float64\",\"order\":\"little\"}],[\"confidence when correct\",{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"AAAAAACASUAAAAAAAKBTQAAAAAAAgExAAAAAAAAATkAAAAAAAABUQAAAAAAAwFhAAAAAAACAU0AAAAAAAKBTQAAAAAAAgFZAAAAAAACAUUAAAAAAAIBSQAAAAAAAgEdAAAAAAAAASkAAAAAAAABVQAAAAAAAgE9AAAAAAAAAT0AAAAAAAMBNQAAAAAAA4FJAAAAAAACAU0AAAAAAAIBPQAAAAAAAQFRAAAAAAAAAOEAAAAAAAABJQAAAAAAAQFRAAAAAAADAUEAAAAAAAEBTQAAAAAAAAFlAAAAAAAAAUUAAAAAAAABIQAAAAAAAgFJAAAAAAACAVEAAAAAAAMBQQAAAAAAAoFRAAAAAAADAUEAAAAAAAABWQAAAAAAAwFRAAAAAAADAT0AAAAAAACBUQAAAAAAAwFFAAAAAAADAV0AAAAAAAKBTQAAAAAAAQEpAAAAAAABAUUAAAAAAAIBOQAAAAAAAgFBAAAAAAACAUkAAAAAAAABXQAAAAAAAAFRAAAAAAAAAV0AAAAAAAMBUQAAAAAAAQE5AAAAAAAAgUkAAAAAAAGBYQAAAAAAAAFFAAAAAAADAUEAAAAAAAEBQQAAAAAAAgFRAAAAAAADAUkAAAAAAAIBXQAAAAAAAQFNAAAAAAAAAV0AAAAAAAEBUQAAAAAAAAE1AAAAAAADgVkAAAAAAAABZQAAAAAAAQFVAAAAAAACAUkAAAAAAAOBTQAAAAAAAoFFAAAAAAAAAUkAAAAAAAEBVQAAAAAAAAFBAAAAAAABAU0AAAAAAAIBSQAAAAAAAQFBAAAAAAABAVEAAAAAAAEBUQA==\"},\"shape\":[77],\"dtype\":\"float64\",\"order\":\"little\"}],[\"confidence when incorrect\",{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"AAAAAACASEAAAAAAAMBQQAAAAAAAQEtAAAAAAAAASUAAAAAAAMBUQAAAAAAAQFBAAAAAAAAAQkAAAAAAAOBQQAAAAAAAAPh/AAAAAACAUUAAAAAAAMBLQAAAAAAAAEZAAAAAAAAAPUAAAAAAAEBLQAAAAAAAAElAAAAAAAAAS0AAAAAAAIBMQAAAAAAAwEFAAAAAAADAUEAAAAAAAIA4QAAAAAAAwE9AAAAAAACAQUAAAAAAAIBGQAAAAAAAAEtAAAAAAACASkAAAAAAAABVQAAAAAAAwFZAAAAAAAAAP0AAAAAAAIBJQAAAAAAAgEVAAAAAAACASEAAAAAAAAA9QAAAAAAAAFNAAAAAAAAAREAAAAAAAMBTQAAAAAAAwEtAAAAAAAAAUUAAAAAAAEBQQAAAAAAAAFFAAAAAAABAUEAAAAAAAABNQAAAAAAAgEFAAAAAAADATUAAAAAAAABJQAAAAAAAwEdAAAAAAAAA+H8AAAAAAGBSQAAAAAAAgFFAAAAAAAAAREAAAAAAAMBQQAAAAAAAAPh/AAAAAADATkAAAAAAAMBUQAAAAAAAAERAAAAAAACASkAAAAAAAIBLQAAAAAAAQFRAAAAAAAAAUEAAAAAAAMBRQAAAAAAAgE1AAAAAAADAUEAAAAAAAABNQAAAAAAAAElAAAAAAADAVkAAAAAAAABJQAAAAAAAQFVAAAAAAAAAUEAAAAAAAIBUQAAAAAAAwE1AAAAAAAAATkAAAAAAAMBSQAAAAAAAwE1AAAAAAACAUkAAAAAAAABUQAAAAAAAQFRAAAAAAACASUAAAAAAAEBSQA==\"},\"shape\":[77],\"dtype\":\"float64\",\"order\":\"little\"}],[\"sci\",{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"HQAAABMAAAAXAAAAGgAAABUAAAATAAAAHAAAAB0AAAARAAAAFgAAABwAAAAfAAAAHwAAACAAAAAZAAAAHgAAABwAAAAeAAAAFgAAABQAAAAaAAAAIAAAACAAAAAYAAAAGgAAAB4AAAAcAAAAFQAAAB0AAAAgAAAAGgAAABoAAAAXAAAAEgAAABYAAAAdAAAAFAAAABsAAAATAAAAHQAAABgAAAAdAAAAEQAAABoAAAAeAAAAEQAAABkAAAAfAAAAGwAAACAAAAAcAAAAGQAAAB4AAAAVAAAAHQAAABQAAAAWAAAAFwAAABQAAAARAAAAGwAAABsAAAAWAAAAGQAAAB4AAAAgAAAAHgAAACAAAAAcAAAAHwAAAB0AAAAaAAAAFAAAABMAAAAfAAAAFgAAABgAAAA=\"},\"shape\":[77],\"dtype\":\"int32\",\"order\":\"little\"}],[\"psqi\",{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"AQAAAAUAAAABAAAABQAAAAcAAAAHAAAAAwAAAAMAAAAKAAAABAAAAAUAAAACAAAAAgAAAAIAAAAFAAAAAgAAAAMAAAADAAAABAAAAAkAAAAFAAAAAgAAAAEAAAAEAAAACAAAAAIAAAACAAAABgAAAAMAAAABAAAABQAAAAcAAAADAAAABgAAAAYAAAABAAAABgAAAAQAAAAEAAAAAwAAAAUAAAACAAAABwAAAAQAAAAAAAAABQAAAAEAAAABAAAABAAAAAEAAAAIAAAABAAAAAIAAAAHAAAABAAAAAEAAAAHAAAABAAAAAUAAAAGAAAABAAAAAIAAAADAAAABAAAAAMAAAABAAAABQAAAAIAAAABAAAAAQAAAAMAAAAGAAAACAAAAAgAAAACAAAABAAAAAUAAAA=\"},\"shape\":[77],\"dtype\":\"int32\",\"order\":\"little\"}],[\"ess\",{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"BQAAAAEAAAADAAAABAAAAAUAAAAMAAAABAAAAAQAAAALAAAABgAAAAMAAAALAAAACgAAAAwAAAAGAAAADQAAAAwAAAAFAAAACgAAAAQAAAAEAAAABgAAAAMAAAAAAAAADAAAAAYAAAAFAAAACQAAAAcAAAAGAAAACgAAABIAAAALAAAACAAAABAAAAAHAAAACQAAAAsAAAAEAAAABwAAAAQAAAALAAAADAAAAAMAAAADAAAABAAAAAsAAAABAAAABAAAAAIAAAAJAAAAAQAAAAIAAAAMAAAABgAAAAUAAAAFAAAABAAAAAkAAAADAAAACAAAAAYAAAAKAAAAFQAAAAUAAAAFAAAACQAAAAEAAAAIAAAACwAAAAUAAAAHAAAACgAAAAcAAAAPAAAABwAAAAcAAAA=\"},\"shape\":[77],\"dtype\":\"int32\",\"order\":\"little\"}],[\"insomnia\",{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=\"},\"shape\":[77],\"dtype\":\"bool\",\"order\":\"little\"}]]}}},\"view\":{\"type\":\"object\",\"name\":\"CDSView\",\"id\":\"p1641\",\"attributes\":{\"filter\":{\"type\":\"object\",\"name\":\"AllIndices\",\"id\":\"p1642\"}}},\"glyph\":{\"type\":\"object\",\"name\":\"Scatter\",\"id\":\"p1637\",\"attributes\":{\"x\":{\"type\":\"field\",\"field\":\"confidence when correct\"},\"y\":{\"type\":\"field\",\"field\":\"confidence when incorrect\"},\"line_color\":{\"type\":\"value\",\"value\":\"#1f77b3\"},\"fill_color\":{\"type\":\"value\",\"value\":\"#1f77b3\"},\"hatch_color\":{\"type\":\"value\",\"value\":\"#1f77b3\"}}},\"nonselection_glyph\":{\"type\":\"object\",\"name\":\"Scatter\",\"id\":\"p1638\",\"attributes\":{\"x\":{\"type\":\"field\",\"field\":\"confidence when correct\"},\"y\":{\"type\":\"field\",\"field\":\"confidence when incorrect\"},\"line_color\":{\"type\":\"value\",\"value\":\"#1f77b3\"},\"line_alpha\":{\"type\":\"value\",\"value\":0.1},\"fill_color\":{\"type\":\"value\",\"value\":\"#1f77b3\"},\"fill_alpha\":{\"type\":\"value\",\"value\":0.1},\"hatch_color\":{\"type\":\"value\",\"value\":\"#1f77b3\"},\"hatch_alpha\":{\"type\":\"value\",\"value\":0.1}}},\"muted_glyph\":{\"type\":\"object\",\"name\":\"Scatter\",\"id\":\"p1639\",\"attributes\":{\"x\":{\"type\":\"field\",\"field\":\"confidence when correct\"},\"y\":{\"type\":\"field\",\"field\":\"confidence when incorrect\"},\"line_color\":{\"type\":\"value\",\"value\":\"#1f77b3\"},\"line_alpha\":{\"type\":\"value\",\"value\":0.2},\"fill_color\":{\"type\":\"value\",\"value\":\"#1f77b3\"},\"fill_alpha\":{\"type\":\"value\",\"value\":0.2},\"hatch_color\":{\"type\":\"value\",\"value\":\"#1f77b3\"},\"hatch_alpha\":{\"type\":\"value\",\"value\":0.2}}}}},{\"type\":\"object\",\"name\":\"GlyphRenderer\",\"id\":\"p1649\",\"attributes\":{\"data_source\":{\"type\":\"object\",\"name\":\"ColumnDataSource\",\"id\":\"p1628\",\"attributes\":{\"selected\":{\"type\":\"object\",\"name\":\"Selection\",\"id\":\"p1629\",\"attributes\":{\"indices\":[],\"line_indices\":[]}},\"selection_policy\":{\"type\":\"object\",\"name\":\"UnionRenderers\",\"id\":\"p1630\"},\"data\":{\"type\":\"map\",\"entries\":[[\"index\",{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"AAAAAAEAAAACAAAAAwAAAAQAAAAFAAAABgAAAAcAAAAIAAAACQAAAAoAAAALAAAADAAAAA0AAAAOAAAADwAAABAAAAARAAAAEgAAABMAAAAUAAAAFQAAABYAAAAXAAAAGAAAAA==\"},\"shape\":[25],\"dtype\":\"int32\",\"order\":\"little\"}],[\"participant number\",{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"CAAAABAAAAASAAAAFgAAABsAAAAcAAAAHgAAACEAAAAiAAAAIwAAACYAAAApAAAALgAAADEAAAA3AAAARwAAAEwAAABNAAAATgAAAFAAAABZAAAAWgAAAF0AAABkAAAAZQAAAA==\"},\"shape\":[25],\"dtype\":\"int32\",\"order\":\"little\"}],[\"gender\",{\"type\":\"ndarray\",\"array\":[\"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\"],\"shape\":[25],\"dtype\":\"object\",\"order\":\"little\"}],[\"age\",{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"JwAAACoAAAAfAAAAIwAAAEoAAAA9AAAAIAAAAD4AAAAhAAAANQAAACkAAAAkAAAAKAAAABgAAAAgAAAAKAAAAD0AAAAqAAAAHwAAABwAAAAaAAAALQAAABwAAAAsAAAAHAAAAA==\"},\"shape\":[25],\"dtype\":\"int32\",\"order\":\"little\"}],[\"correct hit percentage\",{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"QQAAAFoAAABaAAAAZAAAADwAAABQAAAAWgAAAC0AAABQAAAAZAAAAEYAAABaAAAAXwAAAFUAAABLAAAAKAAAAGQAAABGAAAAZAAAAGQAAAA8AAAAZAAAAGQAAABBAAAAZAAAAA==\"},\"shape\":[25],\"dtype\":\"int32\",\"order\":\"little\"}],[\"correct reject percentage\",{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"UAAAAFoAAABfAAAASwAAAEEAAAAUAAAASwAAAFoAAABkAAAAMgAAADcAAABkAAAAQQAAAEsAAAA3AAAAZAAAACgAAABaAAAARgAAADIAAABQAAAAXwAAAEsAAAAZAAAAKAAAAA==\"},\"shape\":[25],\"dtype\":\"int32\",\"order\":\"little\"}],[\"percent correct\",{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"AAAAAAAgUkAAAAAAAIBWQAAAAAAAIFdAAAAAAADgVUAAAAAAAEBPQAAAAAAAAElAAAAAAACgVEAAAAAAAOBQQAAAAAAAgFZAAAAAAADAUkAAAAAAAEBPQAAAAAAAwFdAAAAAAAAAVEAAAAAAAABUQAAAAAAAQFBAAAAAAACAUUAAAAAAAIBRQAAAAAAAAFRAAAAAAABAVUAAAAAAAMBSQAAAAAAAgFFAAAAAAABgWEAAAAAAAOBVQAAAAAAAgEZAAAAAAACAUUA=\"},\"shape\":[25],\"dtype\":\"float64\",\"order\":\"little\"}],[\"confidence when correct hit\",{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"AAAAAADAVkAAAAAAAOBSQAAAAAAAYFZAAAAAAABgVkAAAAAAACBRQAAAAAAAwFFAAAAAAADAUEAAAAAAAABLQAAAAAAAoFFAAAAAAACgUkAAAAAAAIBUQAAAAAAAIFNAAAAAAAAAVEAAAAAAAABNQAAAAAAAQFVAAAAAAABAUUAAAAAAAGBRQAAAAAAAwFVAAAAAAAAAV0AAAAAAAABZQAAAAAAAgFFAAAAAAAAAWUAAAAAAAGBWQAAAAAAAAE9AAAAAAADAVUA=\"},\"shape\":[25],\"dtype\":\"float64\",\"order\":\"little\"}],[\"confidence when incorrect hit\",{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"AAAAAACAVkAAAAAAAMBLQAAAAAAAgFZAAAAAAAAA+H8AAAAAAIBIQAAAAAAAgE9AAAAAAABATEAAAAAAAIBCQAAAAAAAIFNAAAAAAAAA+H8AAAAAAMBOQAAAAAAA4FJAAAAAAABAVkAAAAAAAABJQAAAAAAAQFRAAAAAAAAATEAAAAAAAAD4fwAAAAAAAFJAAAAAAAAA+H8AAAAAAAD4fwAAAAAAQFNAAAAAAAAA+H8AAAAAAAD4fwAAAAAAAFJAAAAAAAAA+H8=\"},\"shape\":[25],\"dtype\":\"float64\",\"order\":\"little\"}],[\"confidence when correct reject\",{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"AAAAAABAV0AAAAAAAKBRQAAAAAAAgFVAAAAAAADAUUAAAAAAAIBOQAAAAAAAAD9AAAAAAACAUEAAAAAAAEBQQAAAAAAAIFBAAAAAAABATkAAAAAAAEBSQAAAAAAAwFJAAAAAAADAU0AAAAAAAIBIQAAAAAAAQFVAAAAAAACAUUAAAAAAAEBGQAAAAAAAoFZAAAAAAABAVEAAAAAAAABZQAAAAAAAgFRAAAAAAAAAWUAAAAAAAMBQQAAAAAAAwFVAAAAAAAAAUUA=\"},\"shape\":[25],\"dtype\":\"float64\",\"order\":\"little\"}],[\"confidence when incorrect reject\",{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"AAAAAADgVEAAAAAAAABJQAAAAAAAQFRAAAAAAAAAVEAAAAAAAIBIQAAAAAAAIFJAAAAAAABAUEAAAAAAAGBUQAAAAAAAAPh/AAAAAABAUEAAAAAAAEBRQAAAAAAAAPh/AAAAAABATUAAAAAAAABRQAAAAAAAgFVAAAAAAAAA+H8AAAAAAEBSQAAAAAAAwEVAAAAAAAAATkAAAAAAAABZQAAAAAAA4FBAAAAAAAAAWUAAAAAAAABOQAAAAAAAQFNAAAAAAAAAS0A=\"},\"shape\":[25],\"dtype\":\"float64\",\"order\":\"little\"}],[\"confidence when correct\",{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"AAAAAABAV0AAAAAAAMBSQAAAAAAAQFZAAAAAAAAAVkAAAAAAAEBQQAAAAAAAIFBAAAAAAACAUEAAAAAAAABPQAAAAAAAAFFAAAAAAADAUUAAAAAAAIBUQAAAAAAAAFNAAAAAAADgU0AAAAAAAIBLQAAAAAAAQFVAAAAAAACAUUAAAAAAAEBLQAAAAAAAIFZAAAAAAADgVUAAAAAAAABZQAAAAAAAQFNAAAAAAAAAWUAAAAAAAABUQAAAAAAAYFFAAAAAAABAVEA=\"},\"shape\":[25],\"dtype\":\"float64\",\"order\":\"little\"}],[\"confidence when incorrect\",{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"AAAAAACAVkAAAAAAAABJQAAAAAAAAFZAAAAAAAAAVEAAAAAAAIBIQAAAAAAAoFFAAAAAAAAAUEAAAAAAAIBOQAAAAAAAIFNAAAAAAABAUEAAAAAAAABQQAAAAAAA4FJAAAAAAACAT0AAAAAAAIBNQAAAAAAA4FRAAAAAAAAATEAAAAAAAEBSQAAAAAAAAFBAAAAAAAAATkAAAAAAAABZQAAAAAAAoFFAAAAAAAAAWUAAAAAAAABOQAAAAAAAYFJAAAAAAAAAS0A=\"},\"shape\":[25],\"dtype\":\"float64\",\"order\":\"little\"}],[\"sci\",{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"CQAAAAQAAAAKAAAADQAAAA0AAAAPAAAAEAAAAA4AAAAOAAAADgAAAA4AAAAPAAAACgAAAA4AAAAFAAAAAAAAABAAAAALAAAADgAAAAwAAAAOAAAADgAAABAAAAABAAAADgAAAA==\"},\"shape\":[25],\"dtype\":\"int32\",\"order\":\"little\"}],[\"psqi\",{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"DQAAAAsAAAAJAAAACAAAAAkAAAAOAAAACQAAAAkAAAAMAAAACAAAAAUAAAAHAAAADAAAAA0AAAANAAAACwAAAAQAAAAKAAAABgAAAAcAAAAIAAAACQAAAAcAAAAPAAAABwAAAA==\"},\"shape\":[25],\"dtype\":\"int32\",\"order\":\"little\"}],[\"ess\",{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"AgAAAAcAAAADAAAAFAAAAAwAAAACAAAAAwAAAAkAAAAKAAAABwAAABMAAAAAAAAACAAAAAQAAAAHAAAADgAAAAwAAAAKAAAACwAAAAwAAAABAAAABgAAAAQAAAAGAAAAAgAAAA==\"},\"shape\":[25],\"dtype\":\"int32\",\"order\":\"little\"}],[\"insomnia\",{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"AQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQ==\"},\"shape\":[25],\"dtype\":\"bool\",\"order\":\"little\"}]]}}},\"view\":{\"type\":\"object\",\"name\":\"CDSView\",\"id\":\"p1650\",\"attributes\":{\"filter\":{\"type\":\"object\",\"name\":\"AllIndices\",\"id\":\"p1651\"}}},\"glyph\":{\"type\":\"object\",\"name\":\"Scatter\",\"id\":\"p1646\",\"attributes\":{\"x\":{\"type\":\"field\",\"field\":\"confidence when correct\"},\"y\":{\"type\":\"field\",\"field\":\"confidence when incorrect\"},\"line_color\":{\"type\":\"value\",\"value\":\"#ff7e0e\"},\"fill_color\":{\"type\":\"value\",\"value\":\"#ff7e0e\"},\"hatch_color\":{\"type\":\"value\",\"value\":\"#ff7e0e\"}}},\"nonselection_glyph\":{\"type\":\"object\",\"name\":\"Scatter\",\"id\":\"p1647\",\"attributes\":{\"x\":{\"type\":\"field\",\"field\":\"confidence when correct\"},\"y\":{\"type\":\"field\",\"field\":\"confidence when incorrect\"},\"line_color\":{\"type\":\"value\",\"value\":\"#ff7e0e\"},\"line_alpha\":{\"type\":\"value\",\"value\":0.1},\"fill_color\":{\"type\":\"value\",\"value\":\"#ff7e0e\"},\"fill_alpha\":{\"type\":\"value\",\"value\":0.1},\"hatch_color\":{\"type\":\"value\",\"value\":\"#ff7e0e\"},\"hatch_alpha\":{\"type\":\"value\",\"value\":0.1}}},\"muted_glyph\":{\"type\":\"object\",\"name\":\"Scatter\",\"id\":\"p1648\",\"attributes\":{\"x\":{\"type\":\"field\",\"field\":\"confidence when correct\"},\"y\":{\"type\":\"field\",\"field\":\"confidence when incorrect\"},\"line_color\":{\"type\":\"value\",\"value\":\"#ff7e0e\"},\"line_alpha\":{\"type\":\"value\",\"value\":0.2},\"fill_color\":{\"type\":\"value\",\"value\":\"#ff7e0e\"},\"fill_alpha\":{\"type\":\"value\",\"value\":0.2},\"hatch_color\":{\"type\":\"value\",\"value\":\"#ff7e0e\"},\"hatch_alpha\":{\"type\":\"value\",\"value\":0.2}}}}}],\"toolbar\":{\"type\":\"object\",\"name\":\"Toolbar\",\"id\":\"p1602\",\"attributes\":{\"tools\":[{\"type\":\"object\",\"name\":\"PanTool\",\"id\":\"p1617\"},{\"type\":\"object\",\"name\":\"WheelZoomTool\",\"id\":\"p1618\",\"attributes\":{\"renderers\":\"auto\"}},{\"type\":\"object\",\"name\":\"BoxZoomTool\",\"id\":\"p1619\",\"attributes\":{\"overlay\":{\"type\":\"object\",\"name\":\"BoxAnnotation\",\"id\":\"p1620\",\"attributes\":{\"syncable\":false,\"level\":\"overlay\",\"visible\":false,\"left\":{\"type\":\"number\",\"value\":\"nan\"},\"right\":{\"type\":\"number\",\"value\":\"nan\"},\"top\":{\"type\":\"number\",\"value\":\"nan\"},\"bottom\":{\"type\":\"number\",\"value\":\"nan\"},\"left_units\":\"canvas\",\"right_units\":\"canvas\",\"top_units\":\"canvas\",\"bottom_units\":\"canvas\",\"line_color\":\"black\",\"line_alpha\":1.0,\"line_width\":2,\"line_dash\":[4,4],\"fill_color\":\"lightgrey\",\"fill_alpha\":0.5}}}},{\"type\":\"object\",\"name\":\"SaveTool\",\"id\":\"p1625\"},{\"type\":\"object\",\"name\":\"ResetTool\",\"id\":\"p1626\"},{\"type\":\"object\",\"name\":\"HelpTool\",\"id\":\"p1627\"}]}},\"left\":[{\"type\":\"object\",\"name\":\"LinearAxis\",\"id\":\"p1612\",\"attributes\":{\"ticker\":{\"type\":\"object\",\"name\":\"BasicTicker\",\"id\":\"p1613\",\"attributes\":{\"mantissas\":[1,2,5]}},\"formatter\":{\"type\":\"object\",\"name\":\"BasicTickFormatter\",\"id\":\"p1614\"},\"axis_label\":\"condifence when incorrect\",\"major_label_policy\":{\"type\":\"object\",\"name\":\"AllLabels\",\"id\":\"p1615\"}}}],\"right\":[{\"type\":\"object\",\"name\":\"Legend\",\"id\":\"p1652\",\"attributes\":{\"click_policy\":\"hide\",\"items\":[{\"type\":\"object\",\"name\":\"LegendItem\",\"id\":\"p1653\",\"attributes\":{\"label\":{\"type\":\"value\",\"value\":\"normal\"},\"renderers\":[{\"id\":\"p1640\"}]}},{\"type\":\"object\",\"name\":\"LegendItem\",\"id\":\"p1654\",\"attributes\":{\"label\":{\"type\":\"value\",\"value\":\"insomnia\"},\"renderers\":[{\"id\":\"p1649\"}]}}]}}],\"below\":[{\"type\":\"object\",\"name\":\"LinearAxis\",\"id\":\"p1607\",\"attributes\":{\"ticker\":{\"type\":\"object\",\"name\":\"BasicTicker\",\"id\":\"p1608\",\"attributes\":{\"mantissas\":[1,2,5]}},\"formatter\":{\"type\":\"object\",\"name\":\"BasicTickFormatter\",\"id\":\"p1609\"},\"axis_label\":\"confidence when correct\",\"major_label_policy\":{\"type\":\"object\",\"name\":\"AllLabels\",\"id\":\"p1610\"}}}],\"center\":[{\"type\":\"object\",\"name\":\"Grid\",\"id\":\"p1611\",\"attributes\":{\"axis\":{\"id\":\"p1607\"}}},{\"type\":\"object\",\"name\":\"Grid\",\"id\":\"p1616\",\"attributes\":{\"dimension\":1,\"axis\":{\"id\":\"p1612\"}}}],\"frame_width\":300,\"frame_height\":300}}]}};\n", " const render_items = [{\"docid\":\"e5f8de54-410f-4c24-bc90-63f232013747\",\"roots\":{\"p1593\":\"adf36220-1bb2-4942-9afa-2ca0653cd204\"},\"root_ids\":[\"p1593\"]}];\n", " void root.Bokeh.embed.embed_items_notebook(docs_json, render_items);\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": "p1593" } }, "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": 17, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "'helvetica'" ] }, "execution_count": 17, "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": 18, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "('italic', '13px')" ] }, "execution_count": 18, "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 is 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 two elements of the list of renderers, which contains the glyphs, and set the `level` attribute." ] }, { "cell_type": "code", "execution_count": 19, "metadata": {}, "outputs": [], "source": [ "p.renderers[0].level = 'overlay'\n", "p.renderers[1].level = 'overlay'" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Now we can proceed to make our obnoxious styling." ] }, { "cell_type": "code", "execution_count": 20, "metadata": {}, "outputs": [ { "data": { "text/html": [ "\n", "
\n" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "application/javascript": [ "(function(root) {\n", " function embed_document(root) {\n", " const docs_json = {\"f30d061c-9a9f-4e4b-8fa8-68a7bc237e09\":{\"version\":\"3.4.1\",\"title\":\"Bokeh Application\",\"roots\":[{\"type\":\"object\",\"name\":\"Figure\",\"id\":\"p1593\",\"attributes\":{\"x_range\":{\"type\":\"object\",\"name\":\"Range1d\",\"id\":\"p1603\",\"attributes\":{\"end\":100}},\"y_range\":{\"type\":\"object\",\"name\":\"Range1d\",\"id\":\"p1604\",\"attributes\":{\"end\":100}},\"x_scale\":{\"type\":\"object\",\"name\":\"LinearScale\",\"id\":\"p1605\"},\"y_scale\":{\"type\":\"object\",\"name\":\"LinearScale\",\"id\":\"p1606\"},\"title\":{\"type\":\"object\",\"name\":\"Title\",\"id\":\"p1596\",\"attributes\":{\"text\":\"GMFT with sleep conditions\",\"text_font\":\"papyrus\",\"text_font_size\":\"18pt\",\"align\":\"center\"}},\"renderers\":[{\"type\":\"object\",\"name\":\"GlyphRenderer\",\"id\":\"p1640\",\"attributes\":{\"level\":\"overlay\",\"data_source\":{\"type\":\"object\",\"name\":\"ColumnDataSource\",\"id\":\"p1631\",\"attributes\":{\"selected\":{\"type\":\"object\",\"name\":\"Selection\",\"id\":\"p1632\",\"attributes\":{\"indices\":[],\"line_indices\":[]}},\"selection_policy\":{\"type\":\"object\",\"name\":\"UnionRenderers\",\"id\":\"p1633\"},\"data\":{\"type\":\"map\",\"entries\":[[\"index\",{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"GQAAABoAAAAbAAAAHAAAAB0AAAAeAAAAHwAAACAAAAAhAAAAIgAAACMAAAAkAAAAJQAAACYAAAAnAAAAKAAAACkAAAAqAAAAKwAAACwAAAAtAAAALgAAAC8AAAAwAAAAMQAAADIAAAAzAAAANAAAADUAAAA2AAAANwAAADgAAAA5AAAAOgAAADsAAAA8AAAAPQAAAD4AAAA/AAAAQAAAAEEAAABCAAAAQwAAAEQAAABFAAAARgAAAEcAAABIAAAASQAAAEoAAABLAAAATAAAAE0AAABOAAAATwAAAFAAAABRAAAAUgAAAFMAAABUAAAAVQAAAFYAAABXAAAAWAAAAFkAAABaAAAAWwAAAFwAAABdAAAAXgAAAF8AAABgAAAAYQAAAGIAAABjAAAAZAAAAGUAAAA=\"},\"shape\":[77],\"dtype\":\"int32\",\"order\":\"little\"}],[\"participant number\",{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"AQAAAAIAAAADAAAABAAAAAUAAAAGAAAABwAAAAkAAAAKAAAACwAAAAwAAAANAAAADgAAAA8AAAARAAAAEwAAABQAAAAVAAAAFwAAABgAAAAZAAAAGgAAAB0AAAAfAAAAIAAAACQAAAAlAAAAJwAAACgAAAAqAAAAKwAAACwAAAAtAAAAMAAAADIAAAAzAAAANAAAADUAAAA2AAAAOAAAADkAAAA6AAAAOwAAADwAAAA9AAAAPgAAAD8AAABAAAAAQQAAAEIAAABDAAAARAAAAEUAAABGAAAASAAAAEkAAABKAAAASwAAAE8AAABRAAAAUgAAAFMAAABUAAAAVQAAAFYAAABXAAAAWAAAAFsAAABcAAAAXgAAAF8AAABgAAAAYQAAAGIAAABjAAAAZgAAAGcAAAA=\"},\"shape\":[77],\"dtype\":\"int32\",\"order\":\"little\"}],[\"gender\",{\"type\":\"ndarray\",\"array\":[\"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\"],\"shape\":[77],\"dtype\":\"object\",\"order\":\"little\"}],[\"age\",{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"KgAAAC0AAAAQAAAAFQAAABIAAAAcAAAAJgAAABEAAAAZAAAAFgAAACkAAAA1AAAAKwAAABcAAAATAAAALQAAACsAAAAjAAAAGAAAAEAAAAAkAAAAIwAAACsAAAAsAAAAHQAAABYAAAAuAAAAIwAAADUAAAAdAAAAHwAAABUAAAAqAAAAFwAAADYAAAAYAAAAFQAAABUAAAArAAAAMgAAADUAAAAQAAAAQwAAACQAAAAiAAAAKgAAAC4AAABFAAAAHwAAACwAAAAZAAAALQAAAC8AAAAhAAAAEgAAAEoAAAAVAAAALQAAACUAAAApAAAAKQAAACIAAAAnAAAAEgAAAB8AAAAaAAAAQgAAAD4AAAAWAAAAKQAAAC4AAAA4AAAAFwAAAEYAAAAYAAAAKAAAACEAAAA=\"},\"shape\":[77],\"dtype\":\"int32\",\"order\":\"little\"}],[\"correct hit percentage\",{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"UAAAAFAAAABGAAAARgAAAFoAAABfAAAAWgAAAFoAAABkAAAAUAAAAFoAAABfAAAAXwAAAFoAAAA3AAAAZAAAAEEAAABaAAAANwAAAEsAAABkAAAARgAAAFoAAABfAAAAXwAAAEYAAABQAAAAMgAAAEEAAABkAAAAVQAAAFUAAABaAAAAWgAAAFoAAABVAAAAVQAAAFoAAABfAAAARgAAAF8AAABVAAAAXwAAAFoAAABaAAAAZAAAAFAAAABfAAAAZAAAAFoAAABkAAAARgAAAFoAAABVAAAAUAAAAFUAAAAoAAAAUAAAAFoAAABaAAAAUAAAAFoAAABLAAAAVQAAAGQAAABfAAAAPAAAAGQAAABVAAAAIwAAAF8AAABGAAAARgAAAFoAAABGAAAASwAAAFUAAAA=\"},\"shape\":[77],\"dtype\":\"int32\",\"order\":\"little\"}],[\"correct reject percentage\",{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"QQAAAFoAAABQAAAAQQAAAGQAAABQAAAAXwAAAFoAAABkAAAAPAAAAFAAAAA8AAAAWgAAAFAAAAA8AAAAVQAAAEEAAABkAAAAZAAAAFUAAABQAAAAWgAAAFUAAABaAAAANwAAAEEAAABLAAAAXwAAAFAAAABGAAAAWgAAAFoAAABaAAAAVQAAAEYAAABfAAAASwAAAFAAAABLAAAAVQAAAEsAAABVAAAASwAAAEEAAABaAAAAZAAAAFoAAABQAAAAXwAAAF8AAABkAAAAMgAAAGQAAABGAAAASwAAAFAAAAAoAAAAXwAAAFAAAABVAAAASwAAACMAAABGAAAAVQAAAFUAAABLAAAAVQAAAFAAAABfAAAASwAAAFAAAAAyAAAAVQAAAFUAAABQAAAAQQAAACgAAAA=\"},\"shape\":[77],\"dtype\":\"int32\",\"order\":\"little\"}],[\"percent correct\",{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"AAAAAAAgUkAAAAAAAEBVQAAAAAAAwFJAAAAAAADgUEAAAAAAAMBXQAAAAAAA4FVAAAAAAAAgV0AAAAAAAIBWQAAAAAAAAFlAAAAAAACAUUAAAAAAAEBVQAAAAAAAYFNAAAAAAAAgV0AAAAAAAEBVQAAAAAAAwExAAAAAAAAgV0AAAAAAAEBQQAAAAAAAwFdAAAAAAABgU0AAAAAAAABUQAAAAAAAgFZAAAAAAAAAVEAAAAAAAOBVQAAAAAAAIFdAAAAAAADAUkAAAAAAAOBQQAAAAAAAYFNAAAAAAAAgUkAAAAAAACBSQAAAAAAAQFVAAAAAAADgVUAAAAAAAOBVQAAAAAAAgFZAAAAAAADgVUAAAAAAAABUQAAAAAAAgFZAAAAAAAAAVEAAAAAAAEBVQAAAAAAAQFVAAAAAAABgU0AAAAAAAEBVQAAAAAAAQFVAAAAAAABAVUAAAAAAAGBTQAAAAAAAgFZAAAAAAAAAWUAAAAAAAEBVQAAAAAAA4FVAAAAAAABgWEAAAAAAACBXQAAAAAAAAFlAAAAAAAAATkAAAAAAAMBXQAAAAAAAYFNAAAAAAABgU0AAAAAAAKBUQAAAAAAAAERAAAAAAADgVUAAAAAAAEBVQAAAAAAA4FVAAAAAAABgU0AAAAAAAEBPQAAAAAAAIFJAAAAAAABAVUAAAAAAACBXQAAAAAAAQFVAAAAAAAAgUkAAAAAAAIBWQAAAAAAAgFZAAAAAAACAS0AAAAAAAOBVQAAAAAAAAE5AAAAAAABgU0AAAAAAAOBVQAAAAAAAwFJAAAAAAACAUUAAAAAAAEBPQA==\"},\"shape\":[77],\"dtype\":\"float64\",\"order\":\"little\"}],[\"confidence when correct hit\",{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"AAAAAADASUAAAAAAAMBSQAAAAAAAgFFAAAAAAADAT0AAAAAAACBTQAAAAAAAAFlAAAAAAABAU0AAAAAAACBUQAAAAAAAgFZAAAAAAACAUUAAAAAAACBTQAAAAAAAAERAAAAAAAAASkAAAAAAAABWQAAAAAAAAE9AAAAAAAAAUUAAAAAAAIBNQAAAAAAA4FJAAAAAAAAAUUAAAAAAAABJQAAAAAAAAFZAAAAAAACAPUAAAAAAAGBQQAAAAAAAwFRAAAAAAADAUEAAAAAAAIBTQAAAAAAAIFJAAAAAAABAT0AAAAAAAABLQAAAAAAAwFJAAAAAAACAVEAAAAAAAIBQQAAAAAAAwFRAAAAAAADAUEAAAAAAAIBWQAAAAAAAQFhAAAAAAABAUEAAAAAAAABVQAAAAAAAgFJAAAAAAAAgV0AAAAAAAABVQAAAAAAAgEtAAAAAAACAUUAAAAAAAOBQQAAAAAAAQE1AAAAAAACgUkAAAAAAAABXQAAAAAAAAFRAAAAAAACAWEAAAAAAAMBVQAAAAAAAwE5AAAAAAAAgVEAAAAAAAABZQAAAAAAAgFFAAAAAAADgUEAAAAAAAIBQQAAAAAAAoFZAAAAAAACAUkAAAAAAAOBXQAAAAAAAAFRAAAAAAACgV0AAAAAAAEBUQAAAAAAAgExAAAAAAABAV0AAAAAAAABZQAAAAAAAQFVAAAAAAADgUEAAAAAAAEBUQAAAAAAAgFBAAAAAAACAS0AAAAAAAIBWQAAAAAAAgE9AAAAAAABAU0AAAAAAAGBQQAAAAAAAwE5AAAAAAACASkAAAAAAAABUQA==\"},\"shape\":[77],\"dtype\":\"float64\",\"order\":\"little\"}],[\"confidence when incorrect hit\",{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"AAAAAABARkAAAAAAAMBLQAAAAAAAgExAAAAAAAAAUEAAAAAAAMBUQAAAAAAAQFVAAAAAAADARUAAAAAAAOBVQAAAAAAAAPh/AAAAAACAUUAAAAAAAMBLQAAAAAAAgEBAAAAAAAAAPUAAAAAAAABEQAAAAAAAAElAAAAAAAAA+H8AAAAAAIBLQAAAAAAAwEFAAAAAAADAUEAAAAAAAAA5QAAAAAAAAPh/AAAAAACAPEAAAAAAAAA7QAAAAAAAAExAAAAAAACASkAAAAAAAABWQAAAAAAAAFJAAAAAAAAAPUAAAAAAAABAQAAAAAAAAPh/AAAAAACASEAAAAAAAAA9QAAAAAAAwFRAAAAAAACAR0AAAAAAAOBUQAAAAAAAgERAAAAAAABAUkAAAAAAAMBLQAAAAAAAQFZAAAAAAAAgUkAAAAAAAIBLQAAAAAAAAD5AAAAAAAAAHEAAAAAAAIA8QAAAAAAAgEVAAAAAAAAA+H8AAAAAAOBSQAAAAAAAQFBAAAAAAAAA+H8AAAAAAMBHQAAAAAAAAPh/AAAAAADASUAAAAAAAAD4fwAAAAAAAENAAAAAAADASUAAAAAAAIBLQAAAAAAAAFRAAAAAAADAUEAAAAAAAABRQAAAAAAAwE1AAAAAAADATkAAAAAAAABKQAAAAAAAgExAAAAAAAAAV0AAAAAAAAD4fwAAAAAAAFZAAAAAAACAUEAAAAAAAAD4fwAAAAAAAExAAAAAAACATkAAAAAAAMBSQAAAAAAAQEpAAAAAAACgUEAAAAAAAGBVQAAAAAAAQFRAAAAAAACAQkAAAAAAAAA7QA==\"},\"shape\":[77],\"dtype\":\"float64\",\"order\":\"little\"}],[\"confidence when correct reject\",{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"AAAAAACARUAAAAAAAABUQAAAAAAAAEtAAAAAAAAASUAAAAAAAABUQAAAAAAAgFdAAAAAAADAU0AAAAAAACBTQAAAAAAAQFVAAAAAAACAUUAAAAAAAOBQQAAAAAAAAExAAAAAAACASEAAAAAAAKBRQAAAAAAAgFBAAAAAAACATkAAAAAAAABQQAAAAAAAoFJAAAAAAAAAVEAAAAAAAIBQQAAAAAAAgFBAAAAAAAAAM0AAAAAAAIBEQAAAAAAAwFNAAAAAAABAUEAAAAAAAEBTQAAAAAAAAFlAAAAAAABAU0AAAAAAAMBHQAAAAAAAIFBAAAAAAABAVEAAAAAAAIBRQAAAAAAAIFRAAAAAAABAUUAAAAAAAGBTQAAAAAAAgFJAAAAAAAAATEAAAAAAAGBSQAAAAAAAAFFAAAAAAADAV0AAAAAAAABRQAAAAAAAAElAAAAAAABAUUAAAAAAAIBLQAAAAAAAYFJAAAAAAACAUkAAAAAAAABXQAAAAAAAoFNAAAAAAACAVkAAAAAAAEBRQAAAAAAAQE1AAAAAAACAT0AAAAAAAOBRQAAAAAAAQE1AAAAAAACAUEAAAAAAAIBPQAAAAAAAoFJAAAAAAAAAU0AAAAAAAOBUQAAAAAAAgFFAAAAAAACAVUAAAAAAAMBRQAAAAAAAwE1AAAAAAADAVkAAAAAAAABZQAAAAAAAgFRAAAAAAACAUkAAAAAAAKBSQAAAAAAAAFJAAAAAAAAAVEAAAAAAAABUQAAAAAAA4FBAAAAAAABAU0AAAAAAAMBVQAAAAAAAgFFAAAAAAAAAVUAAAAAAAAA/QA==\"},\"shape\":[77],\"dtype\":\"float64\",\"order\":\"little\"}],[\"confidence when incorrect reject\",{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"AAAAAACASEAAAAAAAMBSQAAAAAAAgEpAAAAAAAAASUAAAAAAAAD4fwAAAAAAgE5AAAAAAAAANUAAAAAAAAA7QAAAAAAAAPh/AAAAAABAUEAAAAAAAEBKQAAAAAAAgEhAAAAAAAAAQkAAAAAAAKBQQAAAAAAAQElAAAAAAAAAS0AAAAAAAIBNQAAAAAAAAPh/AAAAAAAA+H8AAAAAAAA4QAAAAAAAwE9AAAAAAADAREAAAAAAAIBGQAAAAAAAQEVAAAAAAACASkAAAAAAAABUQAAAAAAAwFZAAAAAAAAAQEAAAAAAAKBTQAAAAAAAgEVAAAAAAAAAQkAAAAAAAAA9QAAAAAAAAEJAAAAAAAAAREAAAAAAAEBRQAAAAAAAQFJAAAAAAAAAUUAAAAAAAIBRQAAAAAAAQFBAAAAAAABAUEAAAAAAAIBOQAAAAAAAAERAAAAAAAAATkAAAAAAAABKQAAAAAAAwEpAAAAAAAAA+H8AAAAAAIBPQAAAAAAAoFFAAAAAAAAAREAAAAAAAMBVQAAAAAAAAPh/AAAAAABAUUAAAAAAAMBUQAAAAAAAQFBAAAAAAACATEAAAAAAAEBJQAAAAAAAwFRAAAAAAAAAMUAAAAAAAMBUQAAAAAAAgERAAAAAAACAUkAAAAAAAABNQAAAAAAAAElAAAAAAABAVkAAAAAAAABJQAAAAAAAgFRAAAAAAACATEAAAAAAAIBUQAAAAAAAgE9AAAAAAACATEAAAAAAAABUQAAAAAAAYFBAAAAAAABgU0AAAAAAAABUQAAAAAAAgE5AAAAAAAAASkAAAAAAAKBUQA==\"},\"shape\":[77],\"dtype\":\"float64\",\"order\":\"little\"}],[\"confidence when correct\",{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"AAAAAACASUAAAAAAAKBTQAAAAAAAgExAAAAAAAAATkAAAAAAAABUQAAAAAAAwFhAAAAAAACAU0AAAAAAAKBTQAAAAAAAgFZAAAAAAACAUUAAAAAAAIBSQAAAAAAAgEdAAAAAAAAASkAAAAAAAABVQAAAAAAAgE9AAAAAAAAAT0AAAAAAAMBNQAAAAAAA4FJAAAAAAACAU0AAAAAAAIBPQAAAAAAAQFRAAAAAAAAAOEAAAAAAAABJQAAAAAAAQFRAAAAAAADAUEAAAAAAAEBTQAAAAAAAAFlAAAAAAAAAUUAAAAAAAABIQAAAAAAAgFJAAAAAAACAVEAAAAAAAMBQQAAAAAAAoFRAAAAAAADAUEAAAAAAAABWQAAAAAAAwFRAAAAAAADAT0AAAAAAACBUQAAAAAAAwFFAAAAAAADAV0AAAAAAAKBTQAAAAAAAQEpAAAAAAABAUUAAAAAAAIBOQAAAAAAAgFBAAAAAAACAUkAAAAAAAABXQAAAAAAAAFRAAAAAAAAAV0AAAAAAAMBUQAAAAAAAQE5AAAAAAAAgUkAAAAAAAGBYQAAAAAAAAFFAAAAAAADAUEAAAAAAAEBQQAAAAAAAgFRAAAAAAADAUkAAAAAAAIBXQAAAAAAAQFNAAAAAAAAAV0AAAAAAAEBUQAAAAAAAAE1AAAAAAADgVkAAAAAAAABZQAAAAAAAQFVAAAAAAACAUkAAAAAAAOBTQAAAAAAAoFFAAAAAAAAAUkAAAAAAAEBVQAAAAAAAAFBAAAAAAABAU0AAAAAAAIBSQAAAAAAAQFBAAAAAAABAVEAAAAAAAEBUQA==\"},\"shape\":[77],\"dtype\":\"float64\",\"order\":\"little\"}],[\"confidence when incorrect\",{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"AAAAAACASEAAAAAAAMBQQAAAAAAAQEtAAAAAAAAASUAAAAAAAMBUQAAAAAAAQFBAAAAAAAAAQkAAAAAAAOBQQAAAAAAAAPh/AAAAAACAUUAAAAAAAMBLQAAAAAAAAEZAAAAAAAAAPUAAAAAAAEBLQAAAAAAAAElAAAAAAAAAS0AAAAAAAIBMQAAAAAAAwEFAAAAAAADAUEAAAAAAAIA4QAAAAAAAwE9AAAAAAACAQUAAAAAAAIBGQAAAAAAAAEtAAAAAAACASkAAAAAAAABVQAAAAAAAwFZAAAAAAAAAP0AAAAAAAIBJQAAAAAAAgEVAAAAAAACASEAAAAAAAAA9QAAAAAAAAFNAAAAAAAAAREAAAAAAAMBTQAAAAAAAwEtAAAAAAAAAUUAAAAAAAEBQQAAAAAAAAFFAAAAAAABAUEAAAAAAAABNQAAAAAAAgEFAAAAAAADATUAAAAAAAABJQAAAAAAAwEdAAAAAAAAA+H8AAAAAAGBSQAAAAAAAgFFAAAAAAAAAREAAAAAAAMBQQAAAAAAAAPh/AAAAAADATkAAAAAAAMBUQAAAAAAAAERAAAAAAACASkAAAAAAAIBLQAAAAAAAQFRAAAAAAAAAUEAAAAAAAMBRQAAAAAAAgE1AAAAAAADAUEAAAAAAAABNQAAAAAAAAElAAAAAAADAVkAAAAAAAABJQAAAAAAAQFVAAAAAAAAAUEAAAAAAAIBUQAAAAAAAwE1AAAAAAAAATkAAAAAAAMBSQAAAAAAAwE1AAAAAAACAUkAAAAAAAABUQAAAAAAAQFRAAAAAAACASUAAAAAAAEBSQA==\"},\"shape\":[77],\"dtype\":\"float64\",\"order\":\"little\"}],[\"sci\",{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"HQAAABMAAAAXAAAAGgAAABUAAAATAAAAHAAAAB0AAAARAAAAFgAAABwAAAAfAAAAHwAAACAAAAAZAAAAHgAAABwAAAAeAAAAFgAAABQAAAAaAAAAIAAAACAAAAAYAAAAGgAAAB4AAAAcAAAAFQAAAB0AAAAgAAAAGgAAABoAAAAXAAAAEgAAABYAAAAdAAAAFAAAABsAAAATAAAAHQAAABgAAAAdAAAAEQAAABoAAAAeAAAAEQAAABkAAAAfAAAAGwAAACAAAAAcAAAAGQAAAB4AAAAVAAAAHQAAABQAAAAWAAAAFwAAABQAAAARAAAAGwAAABsAAAAWAAAAGQAAAB4AAAAgAAAAHgAAACAAAAAcAAAAHwAAAB0AAAAaAAAAFAAAABMAAAAfAAAAFgAAABgAAAA=\"},\"shape\":[77],\"dtype\":\"int32\",\"order\":\"little\"}],[\"psqi\",{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"AQAAAAUAAAABAAAABQAAAAcAAAAHAAAAAwAAAAMAAAAKAAAABAAAAAUAAAACAAAAAgAAAAIAAAAFAAAAAgAAAAMAAAADAAAABAAAAAkAAAAFAAAAAgAAAAEAAAAEAAAACAAAAAIAAAACAAAABgAAAAMAAAABAAAABQAAAAcAAAADAAAABgAAAAYAAAABAAAABgAAAAQAAAAEAAAAAwAAAAUAAAACAAAABwAAAAQAAAAAAAAABQAAAAEAAAABAAAABAAAAAEAAAAIAAAABAAAAAIAAAAHAAAABAAAAAEAAAAHAAAABAAAAAUAAAAGAAAABAAAAAIAAAADAAAABAAAAAMAAAABAAAABQAAAAIAAAABAAAAAQAAAAMAAAAGAAAACAAAAAgAAAACAAAABAAAAAUAAAA=\"},\"shape\":[77],\"dtype\":\"int32\",\"order\":\"little\"}],[\"ess\",{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"BQAAAAEAAAADAAAABAAAAAUAAAAMAAAABAAAAAQAAAALAAAABgAAAAMAAAALAAAACgAAAAwAAAAGAAAADQAAAAwAAAAFAAAACgAAAAQAAAAEAAAABgAAAAMAAAAAAAAADAAAAAYAAAAFAAAACQAAAAcAAAAGAAAACgAAABIAAAALAAAACAAAABAAAAAHAAAACQAAAAsAAAAEAAAABwAAAAQAAAALAAAADAAAAAMAAAADAAAABAAAAAsAAAABAAAABAAAAAIAAAAJAAAAAQAAAAIAAAAMAAAABgAAAAUAAAAFAAAABAAAAAkAAAADAAAACAAAAAYAAAAKAAAAFQAAAAUAAAAFAAAACQAAAAEAAAAIAAAACwAAAAUAAAAHAAAACgAAAAcAAAAPAAAABwAAAAcAAAA=\"},\"shape\":[77],\"dtype\":\"int32\",\"order\":\"little\"}],[\"insomnia\",{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=\"},\"shape\":[77],\"dtype\":\"bool\",\"order\":\"little\"}]]}}},\"view\":{\"type\":\"object\",\"name\":\"CDSView\",\"id\":\"p1641\",\"attributes\":{\"filter\":{\"type\":\"object\",\"name\":\"AllIndices\",\"id\":\"p1642\"}}},\"glyph\":{\"type\":\"object\",\"name\":\"Scatter\",\"id\":\"p1637\",\"attributes\":{\"x\":{\"type\":\"field\",\"field\":\"confidence when correct\"},\"y\":{\"type\":\"field\",\"field\":\"confidence when incorrect\"},\"line_color\":{\"type\":\"value\",\"value\":\"#1f77b3\"},\"fill_color\":{\"type\":\"value\",\"value\":\"#1f77b3\"},\"hatch_color\":{\"type\":\"value\",\"value\":\"#1f77b3\"}}},\"nonselection_glyph\":{\"type\":\"object\",\"name\":\"Scatter\",\"id\":\"p1638\",\"attributes\":{\"x\":{\"type\":\"field\",\"field\":\"confidence when correct\"},\"y\":{\"type\":\"field\",\"field\":\"confidence when incorrect\"},\"line_color\":{\"type\":\"value\",\"value\":\"#1f77b3\"},\"line_alpha\":{\"type\":\"value\",\"value\":0.1},\"fill_color\":{\"type\":\"value\",\"value\":\"#1f77b3\"},\"fill_alpha\":{\"type\":\"value\",\"value\":0.1},\"hatch_color\":{\"type\":\"value\",\"value\":\"#1f77b3\"},\"hatch_alpha\":{\"type\":\"value\",\"value\":0.1}}},\"muted_glyph\":{\"type\":\"object\",\"name\":\"Scatter\",\"id\":\"p1639\",\"attributes\":{\"x\":{\"type\":\"field\",\"field\":\"confidence when correct\"},\"y\":{\"type\":\"field\",\"field\":\"confidence when incorrect\"},\"line_color\":{\"type\":\"value\",\"value\":\"#1f77b3\"},\"line_alpha\":{\"type\":\"value\",\"value\":0.2},\"fill_color\":{\"type\":\"value\",\"value\":\"#1f77b3\"},\"fill_alpha\":{\"type\":\"value\",\"value\":0.2},\"hatch_color\":{\"type\":\"value\",\"value\":\"#1f77b3\"},\"hatch_alpha\":{\"type\":\"value\",\"value\":0.2}}}}},{\"type\":\"object\",\"name\":\"GlyphRenderer\",\"id\":\"p1649\",\"attributes\":{\"level\":\"overlay\",\"data_source\":{\"type\":\"object\",\"name\":\"ColumnDataSource\",\"id\":\"p1628\",\"attributes\":{\"selected\":{\"type\":\"object\",\"name\":\"Selection\",\"id\":\"p1629\",\"attributes\":{\"indices\":[],\"line_indices\":[]}},\"selection_policy\":{\"type\":\"object\",\"name\":\"UnionRenderers\",\"id\":\"p1630\"},\"data\":{\"type\":\"map\",\"entries\":[[\"index\",{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"AAAAAAEAAAACAAAAAwAAAAQAAAAFAAAABgAAAAcAAAAIAAAACQAAAAoAAAALAAAADAAAAA0AAAAOAAAADwAAABAAAAARAAAAEgAAABMAAAAUAAAAFQAAABYAAAAXAAAAGAAAAA==\"},\"shape\":[25],\"dtype\":\"int32\",\"order\":\"little\"}],[\"participant number\",{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"CAAAABAAAAASAAAAFgAAABsAAAAcAAAAHgAAACEAAAAiAAAAIwAAACYAAAApAAAALgAAADEAAAA3AAAARwAAAEwAAABNAAAATgAAAFAAAABZAAAAWgAAAF0AAABkAAAAZQAAAA==\"},\"shape\":[25],\"dtype\":\"int32\",\"order\":\"little\"}],[\"gender\",{\"type\":\"ndarray\",\"array\":[\"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\"],\"shape\":[25],\"dtype\":\"object\",\"order\":\"little\"}],[\"age\",{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"JwAAACoAAAAfAAAAIwAAAEoAAAA9AAAAIAAAAD4AAAAhAAAANQAAACkAAAAkAAAAKAAAABgAAAAgAAAAKAAAAD0AAAAqAAAAHwAAABwAAAAaAAAALQAAABwAAAAsAAAAHAAAAA==\"},\"shape\":[25],\"dtype\":\"int32\",\"order\":\"little\"}],[\"correct hit percentage\",{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"QQAAAFoAAABaAAAAZAAAADwAAABQAAAAWgAAAC0AAABQAAAAZAAAAEYAAABaAAAAXwAAAFUAAABLAAAAKAAAAGQAAABGAAAAZAAAAGQAAAA8AAAAZAAAAGQAAABBAAAAZAAAAA==\"},\"shape\":[25],\"dtype\":\"int32\",\"order\":\"little\"}],[\"correct reject percentage\",{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"UAAAAFoAAABfAAAASwAAAEEAAAAUAAAASwAAAFoAAABkAAAAMgAAADcAAABkAAAAQQAAAEsAAAA3AAAAZAAAACgAAABaAAAARgAAADIAAABQAAAAXwAAAEsAAAAZAAAAKAAAAA==\"},\"shape\":[25],\"dtype\":\"int32\",\"order\":\"little\"}],[\"percent correct\",{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"AAAAAAAgUkAAAAAAAIBWQAAAAAAAIFdAAAAAAADgVUAAAAAAAEBPQAAAAAAAAElAAAAAAACgVEAAAAAAAOBQQAAAAAAAgFZAAAAAAADAUkAAAAAAAEBPQAAAAAAAwFdAAAAAAAAAVEAAAAAAAABUQAAAAAAAQFBAAAAAAACAUUAAAAAAAIBRQAAAAAAAAFRAAAAAAABAVUAAAAAAAMBSQAAAAAAAgFFAAAAAAABgWEAAAAAAAOBVQAAAAAAAgEZAAAAAAACAUUA=\"},\"shape\":[25],\"dtype\":\"float64\",\"order\":\"little\"}],[\"confidence when correct hit\",{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"AAAAAADAVkAAAAAAAOBSQAAAAAAAYFZAAAAAAABgVkAAAAAAACBRQAAAAAAAwFFAAAAAAADAUEAAAAAAAABLQAAAAAAAoFFAAAAAAACgUkAAAAAAAIBUQAAAAAAAIFNAAAAAAAAAVEAAAAAAAABNQAAAAAAAQFVAAAAAAABAUUAAAAAAAGBRQAAAAAAAwFVAAAAAAAAAV0AAAAAAAABZQAAAAAAAgFFAAAAAAAAAWUAAAAAAAGBWQAAAAAAAAE9AAAAAAADAVUA=\"},\"shape\":[25],\"dtype\":\"float64\",\"order\":\"little\"}],[\"confidence when incorrect hit\",{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"AAAAAACAVkAAAAAAAMBLQAAAAAAAgFZAAAAAAAAA+H8AAAAAAIBIQAAAAAAAgE9AAAAAAABATEAAAAAAAIBCQAAAAAAAIFNAAAAAAAAA+H8AAAAAAMBOQAAAAAAA4FJAAAAAAABAVkAAAAAAAABJQAAAAAAAQFRAAAAAAAAATEAAAAAAAAD4fwAAAAAAAFJAAAAAAAAA+H8AAAAAAAD4fwAAAAAAQFNAAAAAAAAA+H8AAAAAAAD4fwAAAAAAAFJAAAAAAAAA+H8=\"},\"shape\":[25],\"dtype\":\"float64\",\"order\":\"little\"}],[\"confidence when correct reject\",{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"AAAAAABAV0AAAAAAAKBRQAAAAAAAgFVAAAAAAADAUUAAAAAAAIBOQAAAAAAAAD9AAAAAAACAUEAAAAAAAEBQQAAAAAAAIFBAAAAAAABATkAAAAAAAEBSQAAAAAAAwFJAAAAAAADAU0AAAAAAAIBIQAAAAAAAQFVAAAAAAACAUUAAAAAAAEBGQAAAAAAAoFZAAAAAAABAVEAAAAAAAABZQAAAAAAAgFRAAAAAAAAAWUAAAAAAAMBQQAAAAAAAwFVAAAAAAAAAUUA=\"},\"shape\":[25],\"dtype\":\"float64\",\"order\":\"little\"}],[\"confidence when incorrect reject\",{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"AAAAAADgVEAAAAAAAABJQAAAAAAAQFRAAAAAAAAAVEAAAAAAAIBIQAAAAAAAIFJAAAAAAABAUEAAAAAAAGBUQAAAAAAAAPh/AAAAAABAUEAAAAAAAEBRQAAAAAAAAPh/AAAAAABATUAAAAAAAABRQAAAAAAAgFVAAAAAAAAA+H8AAAAAAEBSQAAAAAAAwEVAAAAAAAAATkAAAAAAAABZQAAAAAAA4FBAAAAAAAAAWUAAAAAAAABOQAAAAAAAQFNAAAAAAAAAS0A=\"},\"shape\":[25],\"dtype\":\"float64\",\"order\":\"little\"}],[\"confidence when correct\",{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"AAAAAABAV0AAAAAAAMBSQAAAAAAAQFZAAAAAAAAAVkAAAAAAAEBQQAAAAAAAIFBAAAAAAACAUEAAAAAAAABPQAAAAAAAAFFAAAAAAADAUUAAAAAAAIBUQAAAAAAAAFNAAAAAAADgU0AAAAAAAIBLQAAAAAAAQFVAAAAAAACAUUAAAAAAAEBLQAAAAAAAIFZAAAAAAADgVUAAAAAAAABZQAAAAAAAQFNAAAAAAAAAWUAAAAAAAABUQAAAAAAAYFFAAAAAAABAVEA=\"},\"shape\":[25],\"dtype\":\"float64\",\"order\":\"little\"}],[\"confidence when incorrect\",{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"AAAAAACAVkAAAAAAAABJQAAAAAAAAFZAAAAAAAAAVEAAAAAAAIBIQAAAAAAAoFFAAAAAAAAAUEAAAAAAAIBOQAAAAAAAIFNAAAAAAABAUEAAAAAAAABQQAAAAAAA4FJAAAAAAACAT0AAAAAAAIBNQAAAAAAA4FRAAAAAAAAATEAAAAAAAEBSQAAAAAAAAFBAAAAAAAAATkAAAAAAAABZQAAAAAAAoFFAAAAAAAAAWUAAAAAAAABOQAAAAAAAYFJAAAAAAAAAS0A=\"},\"shape\":[25],\"dtype\":\"float64\",\"order\":\"little\"}],[\"sci\",{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"CQAAAAQAAAAKAAAADQAAAA0AAAAPAAAAEAAAAA4AAAAOAAAADgAAAA4AAAAPAAAACgAAAA4AAAAFAAAAAAAAABAAAAALAAAADgAAAAwAAAAOAAAADgAAABAAAAABAAAADgAAAA==\"},\"shape\":[25],\"dtype\":\"int32\",\"order\":\"little\"}],[\"psqi\",{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"DQAAAAsAAAAJAAAACAAAAAkAAAAOAAAACQAAAAkAAAAMAAAACAAAAAUAAAAHAAAADAAAAA0AAAANAAAACwAAAAQAAAAKAAAABgAAAAcAAAAIAAAACQAAAAcAAAAPAAAABwAAAA==\"},\"shape\":[25],\"dtype\":\"int32\",\"order\":\"little\"}],[\"ess\",{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"AgAAAAcAAAADAAAAFAAAAAwAAAACAAAAAwAAAAkAAAAKAAAABwAAABMAAAAAAAAACAAAAAQAAAAHAAAADgAAAAwAAAAKAAAACwAAAAwAAAABAAAABgAAAAQAAAAGAAAAAgAAAA==\"},\"shape\":[25],\"dtype\":\"int32\",\"order\":\"little\"}],[\"insomnia\",{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"AQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQ==\"},\"shape\":[25],\"dtype\":\"bool\",\"order\":\"little\"}]]}}},\"view\":{\"type\":\"object\",\"name\":\"CDSView\",\"id\":\"p1650\",\"attributes\":{\"filter\":{\"type\":\"object\",\"name\":\"AllIndices\",\"id\":\"p1651\"}}},\"glyph\":{\"type\":\"object\",\"name\":\"Scatter\",\"id\":\"p1646\",\"attributes\":{\"x\":{\"type\":\"field\",\"field\":\"confidence when correct\"},\"y\":{\"type\":\"field\",\"field\":\"confidence when incorrect\"},\"line_color\":{\"type\":\"value\",\"value\":\"#ff7e0e\"},\"fill_color\":{\"type\":\"value\",\"value\":\"#ff7e0e\"},\"hatch_color\":{\"type\":\"value\",\"value\":\"#ff7e0e\"}}},\"nonselection_glyph\":{\"type\":\"object\",\"name\":\"Scatter\",\"id\":\"p1647\",\"attributes\":{\"x\":{\"type\":\"field\",\"field\":\"confidence when correct\"},\"y\":{\"type\":\"field\",\"field\":\"confidence when incorrect\"},\"line_color\":{\"type\":\"value\",\"value\":\"#ff7e0e\"},\"line_alpha\":{\"type\":\"value\",\"value\":0.1},\"fill_color\":{\"type\":\"value\",\"value\":\"#ff7e0e\"},\"fill_alpha\":{\"type\":\"value\",\"value\":0.1},\"hatch_color\":{\"type\":\"value\",\"value\":\"#ff7e0e\"},\"hatch_alpha\":{\"type\":\"value\",\"value\":0.1}}},\"muted_glyph\":{\"type\":\"object\",\"name\":\"Scatter\",\"id\":\"p1648\",\"attributes\":{\"x\":{\"type\":\"field\",\"field\":\"confidence when correct\"},\"y\":{\"type\":\"field\",\"field\":\"confidence when incorrect\"},\"line_color\":{\"type\":\"value\",\"value\":\"#ff7e0e\"},\"line_alpha\":{\"type\":\"value\",\"value\":0.2},\"fill_color\":{\"type\":\"value\",\"value\":\"#ff7e0e\"},\"fill_alpha\":{\"type\":\"value\",\"value\":0.2},\"hatch_color\":{\"type\":\"value\",\"value\":\"#ff7e0e\"},\"hatch_alpha\":{\"type\":\"value\",\"value\":0.2}}}}}],\"toolbar\":{\"type\":\"object\",\"name\":\"Toolbar\",\"id\":\"p1602\",\"attributes\":{\"tools\":[{\"type\":\"object\",\"name\":\"PanTool\",\"id\":\"p1617\"},{\"type\":\"object\",\"name\":\"WheelZoomTool\",\"id\":\"p1618\",\"attributes\":{\"renderers\":\"auto\"}},{\"type\":\"object\",\"name\":\"BoxZoomTool\",\"id\":\"p1619\",\"attributes\":{\"overlay\":{\"type\":\"object\",\"name\":\"BoxAnnotation\",\"id\":\"p1620\",\"attributes\":{\"syncable\":false,\"level\":\"overlay\",\"visible\":false,\"left\":{\"type\":\"number\",\"value\":\"nan\"},\"right\":{\"type\":\"number\",\"value\":\"nan\"},\"top\":{\"type\":\"number\",\"value\":\"nan\"},\"bottom\":{\"type\":\"number\",\"value\":\"nan\"},\"left_units\":\"canvas\",\"right_units\":\"canvas\",\"top_units\":\"canvas\",\"bottom_units\":\"canvas\",\"line_color\":\"black\",\"line_alpha\":1.0,\"line_width\":2,\"line_dash\":[4,4],\"fill_color\":\"lightgrey\",\"fill_alpha\":0.5}}}},{\"type\":\"object\",\"name\":\"SaveTool\",\"id\":\"p1625\"},{\"type\":\"object\",\"name\":\"ResetTool\",\"id\":\"p1626\"},{\"type\":\"object\",\"name\":\"HelpTool\",\"id\":\"p1627\"}]}},\"left\":[{\"type\":\"object\",\"name\":\"LinearAxis\",\"id\":\"p1612\",\"attributes\":{\"ticker\":{\"type\":\"object\",\"name\":\"BasicTicker\",\"id\":\"p1613\",\"attributes\":{\"mantissas\":[1,2,5]}},\"formatter\":{\"type\":\"object\",\"name\":\"BasicTickFormatter\",\"id\":\"p1614\"},\"axis_label\":\"condifence when incorrect\",\"axis_label_text_font\":\"papyrus\",\"axis_label_text_font_size\":\"20pt\",\"axis_label_text_font_style\":\"normal\",\"major_label_policy\":{\"type\":\"object\",\"name\":\"AllLabels\",\"id\":\"p1615\"},\"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}}],\"right\":[{\"type\":\"object\",\"name\":\"Legend\",\"id\":\"p1652\",\"attributes\":{\"background_fill_color\":\"chartreuse\",\"click_policy\":\"hide\",\"label_text_font\":\"papyrus\",\"items\":[{\"type\":\"object\",\"name\":\"LegendItem\",\"id\":\"p1653\",\"attributes\":{\"label\":{\"type\":\"value\",\"value\":\"normal\"},\"renderers\":[{\"id\":\"p1640\"}]}},{\"type\":\"object\",\"name\":\"LegendItem\",\"id\":\"p1654\",\"attributes\":{\"label\":{\"type\":\"value\",\"value\":\"insomnia\"},\"renderers\":[{\"id\":\"p1649\"}]}}]}}],\"below\":[{\"type\":\"object\",\"name\":\"LinearAxis\",\"id\":\"p1607\",\"attributes\":{\"ticker\":{\"type\":\"object\",\"name\":\"BasicTicker\",\"id\":\"p1608\",\"attributes\":{\"mantissas\":[1,2,5]}},\"formatter\":{\"type\":\"object\",\"name\":\"BasicTickFormatter\",\"id\":\"p1609\"},\"axis_label\":\"confidence when correct\",\"axis_label_text_font\":\"papyrus\",\"axis_label_text_font_size\":\"20pt\",\"axis_label_text_font_style\":\"normal\",\"major_label_policy\":{\"type\":\"object\",\"name\":\"AllLabels\",\"id\":\"p1610\"},\"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}}],\"center\":[{\"type\":\"object\",\"name\":\"Grid\",\"id\":\"p1611\",\"attributes\":{\"axis\":{\"id\":\"p1607\"},\"grid_line_color\":\"azure\"}},{\"type\":\"object\",\"name\":\"Grid\",\"id\":\"p1616\",\"attributes\":{\"dimension\":1,\"axis\":{\"id\":\"p1612\"},\"grid_line_color\":\"azure\"}}],\"frame_width\":300,\"frame_height\":300,\"background_fill_color\":\"blanchedalmond\"}}]}};\n", " const render_items = [{\"docid\":\"f30d061c-9a9f-4e4b-8fa8-68a7bc237e09\",\"roots\":{\"p1593\":\"c7bae242-164e-4e98-beb9-ccc3b1a150b0\"},\"root_ids\":[\"p1593\"]}];\n", " void root.Bokeh.embed.embed_items_notebook(docs_json, render_items);\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": "p1593" } }, "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 [Vega-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": 21, "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", " \"Scatter\": {\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": 22, "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": 23, "metadata": {}, "outputs": [ { "data": { "text/html": [ "\n", "
\n" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "application/javascript": [ "(function(root) {\n", " function embed_document(root) {\n", " const docs_json = {\"9d93d9f4-e4d9-49e7-8918-f0fd554c4d11\":{\"version\":\"3.4.1\",\"title\":\"Bokeh Application\",\"roots\":[{\"type\":\"object\",\"name\":\"Figure\",\"id\":\"p1719\",\"attributes\":{\"x_range\":{\"type\":\"object\",\"name\":\"Range1d\",\"id\":\"p1729\",\"attributes\":{\"end\":100}},\"y_range\":{\"type\":\"object\",\"name\":\"Range1d\",\"id\":\"p1730\",\"attributes\":{\"end\":100}},\"x_scale\":{\"type\":\"object\",\"name\":\"LinearScale\",\"id\":\"p1731\"},\"y_scale\":{\"type\":\"object\",\"name\":\"LinearScale\",\"id\":\"p1732\"},\"title\":{\"type\":\"object\",\"name\":\"Title\",\"id\":\"p1722\",\"attributes\":{\"level\":\"overlay\",\"text\":\"GMFT with sleep conditions\",\"align\":\"center\"}},\"renderers\":[{\"type\":\"object\",\"name\":\"GlyphRenderer\",\"id\":\"p1760\",\"attributes\":{\"level\":\"overlay\",\"data_source\":{\"type\":\"object\",\"name\":\"ColumnDataSource\",\"id\":\"p1631\",\"attributes\":{\"selected\":{\"type\":\"object\",\"name\":\"Selection\",\"id\":\"p1632\",\"attributes\":{\"indices\":[],\"line_indices\":[]}},\"selection_policy\":{\"type\":\"object\",\"name\":\"UnionRenderers\",\"id\":\"p1633\"},\"data\":{\"type\":\"map\",\"entries\":[[\"index\",{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"GQAAABoAAAAbAAAAHAAAAB0AAAAeAAAAHwAAACAAAAAhAAAAIgAAACMAAAAkAAAAJQAAACYAAAAnAAAAKAAAACkAAAAqAAAAKwAAACwAAAAtAAAALgAAAC8AAAAwAAAAMQAAADIAAAAzAAAANAAAADUAAAA2AAAANwAAADgAAAA5AAAAOgAAADsAAAA8AAAAPQAAAD4AAAA/AAAAQAAAAEEAAABCAAAAQwAAAEQAAABFAAAARgAAAEcAAABIAAAASQAAAEoAAABLAAAATAAAAE0AAABOAAAATwAAAFAAAABRAAAAUgAAAFMAAABUAAAAVQAAAFYAAABXAAAAWAAAAFkAAABaAAAAWwAAAFwAAABdAAAAXgAAAF8AAABgAAAAYQAAAGIAAABjAAAAZAAAAGUAAAA=\"},\"shape\":[77],\"dtype\":\"int32\",\"order\":\"little\"}],[\"participant number\",{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"AQAAAAIAAAADAAAABAAAAAUAAAAGAAAABwAAAAkAAAAKAAAACwAAAAwAAAANAAAADgAAAA8AAAARAAAAEwAAABQAAAAVAAAAFwAAABgAAAAZAAAAGgAAAB0AAAAfAAAAIAAAACQAAAAlAAAAJwAAACgAAAAqAAAAKwAAACwAAAAtAAAAMAAAADIAAAAzAAAANAAAADUAAAA2AAAAOAAAADkAAAA6AAAAOwAAADwAAAA9AAAAPgAAAD8AAABAAAAAQQAAAEIAAABDAAAARAAAAEUAAABGAAAASAAAAEkAAABKAAAASwAAAE8AAABRAAAAUgAAAFMAAABUAAAAVQAAAFYAAABXAAAAWAAAAFsAAABcAAAAXgAAAF8AAABgAAAAYQAAAGIAAABjAAAAZgAAAGcAAAA=\"},\"shape\":[77],\"dtype\":\"int32\",\"order\":\"little\"}],[\"gender\",{\"type\":\"ndarray\",\"array\":[\"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\"],\"shape\":[77],\"dtype\":\"object\",\"order\":\"little\"}],[\"age\",{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"KgAAAC0AAAAQAAAAFQAAABIAAAAcAAAAJgAAABEAAAAZAAAAFgAAACkAAAA1AAAAKwAAABcAAAATAAAALQAAACsAAAAjAAAAGAAAAEAAAAAkAAAAIwAAACsAAAAsAAAAHQAAABYAAAAuAAAAIwAAADUAAAAdAAAAHwAAABUAAAAqAAAAFwAAADYAAAAYAAAAFQAAABUAAAArAAAAMgAAADUAAAAQAAAAQwAAACQAAAAiAAAAKgAAAC4AAABFAAAAHwAAACwAAAAZAAAALQAAAC8AAAAhAAAAEgAAAEoAAAAVAAAALQAAACUAAAApAAAAKQAAACIAAAAnAAAAEgAAAB8AAAAaAAAAQgAAAD4AAAAWAAAAKQAAAC4AAAA4AAAAFwAAAEYAAAAYAAAAKAAAACEAAAA=\"},\"shape\":[77],\"dtype\":\"int32\",\"order\":\"little\"}],[\"correct hit percentage\",{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"UAAAAFAAAABGAAAARgAAAFoAAABfAAAAWgAAAFoAAABkAAAAUAAAAFoAAABfAAAAXwAAAFoAAAA3AAAAZAAAAEEAAABaAAAANwAAAEsAAABkAAAARgAAAFoAAABfAAAAXwAAAEYAAABQAAAAMgAAAEEAAABkAAAAVQAAAFUAAABaAAAAWgAAAFoAAABVAAAAVQAAAFoAAABfAAAARgAAAF8AAABVAAAAXwAAAFoAAABaAAAAZAAAAFAAAABfAAAAZAAAAFoAAABkAAAARgAAAFoAAABVAAAAUAAAAFUAAAAoAAAAUAAAAFoAAABaAAAAUAAAAFoAAABLAAAAVQAAAGQAAABfAAAAPAAAAGQAAABVAAAAIwAAAF8AAABGAAAARgAAAFoAAABGAAAASwAAAFUAAAA=\"},\"shape\":[77],\"dtype\":\"int32\",\"order\":\"little\"}],[\"correct reject percentage\",{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"QQAAAFoAAABQAAAAQQAAAGQAAABQAAAAXwAAAFoAAABkAAAAPAAAAFAAAAA8AAAAWgAAAFAAAAA8AAAAVQAAAEEAAABkAAAAZAAAAFUAAABQAAAAWgAAAFUAAABaAAAANwAAAEEAAABLAAAAXwAAAFAAAABGAAAAWgAAAFoAAABaAAAAVQAAAEYAAABfAAAASwAAAFAAAABLAAAAVQAAAEsAAABVAAAASwAAAEEAAABaAAAAZAAAAFoAAABQAAAAXwAAAF8AAABkAAAAMgAAAGQAAABGAAAASwAAAFAAAAAoAAAAXwAAAFAAAABVAAAASwAAACMAAABGAAAAVQAAAFUAAABLAAAAVQAAAFAAAABfAAAASwAAAFAAAAAyAAAAVQAAAFUAAABQAAAAQQAAACgAAAA=\"},\"shape\":[77],\"dtype\":\"int32\",\"order\":\"little\"}],[\"percent correct\",{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"AAAAAAAgUkAAAAAAAEBVQAAAAAAAwFJAAAAAAADgUEAAAAAAAMBXQAAAAAAA4FVAAAAAAAAgV0AAAAAAAIBWQAAAAAAAAFlAAAAAAACAUUAAAAAAAEBVQAAAAAAAYFNAAAAAAAAgV0AAAAAAAEBVQAAAAAAAwExAAAAAAAAgV0AAAAAAAEBQQAAAAAAAwFdAAAAAAABgU0AAAAAAAABUQAAAAAAAgFZAAAAAAAAAVEAAAAAAAOBVQAAAAAAAIFdAAAAAAADAUkAAAAAAAOBQQAAAAAAAYFNAAAAAAAAgUkAAAAAAACBSQAAAAAAAQFVAAAAAAADgVUAAAAAAAOBVQAAAAAAAgFZAAAAAAADgVUAAAAAAAABUQAAAAAAAgFZAAAAAAAAAVEAAAAAAAEBVQAAAAAAAQFVAAAAAAABgU0AAAAAAAEBVQAAAAAAAQFVAAAAAAABAVUAAAAAAAGBTQAAAAAAAgFZAAAAAAAAAWUAAAAAAAEBVQAAAAAAA4FVAAAAAAABgWEAAAAAAACBXQAAAAAAAAFlAAAAAAAAATkAAAAAAAMBXQAAAAAAAYFNAAAAAAABgU0AAAAAAAKBUQAAAAAAAAERAAAAAAADgVUAAAAAAAEBVQAAAAAAA4FVAAAAAAABgU0AAAAAAAEBPQAAAAAAAIFJAAAAAAABAVUAAAAAAACBXQAAAAAAAQFVAAAAAAAAgUkAAAAAAAIBWQAAAAAAAgFZAAAAAAACAS0AAAAAAAOBVQAAAAAAAAE5AAAAAAABgU0AAAAAAAOBVQAAAAAAAwFJAAAAAAACAUUAAAAAAAEBPQA==\"},\"shape\":[77],\"dtype\":\"float64\",\"order\":\"little\"}],[\"confidence when correct hit\",{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"AAAAAADASUAAAAAAAMBSQAAAAAAAgFFAAAAAAADAT0AAAAAAACBTQAAAAAAAAFlAAAAAAABAU0AAAAAAACBUQAAAAAAAgFZAAAAAAACAUUAAAAAAACBTQAAAAAAAAERAAAAAAAAASkAAAAAAAABWQAAAAAAAAE9AAAAAAAAAUUAAAAAAAIBNQAAAAAAA4FJAAAAAAAAAUUAAAAAAAABJQAAAAAAAAFZAAAAAAACAPUAAAAAAAGBQQAAAAAAAwFRAAAAAAADAUEAAAAAAAIBTQAAAAAAAIFJAAAAAAABAT0AAAAAAAABLQAAAAAAAwFJAAAAAAACAVEAAAAAAAIBQQAAAAAAAwFRAAAAAAADAUEAAAAAAAIBWQAAAAAAAQFhAAAAAAABAUEAAAAAAAABVQAAAAAAAgFJAAAAAAAAgV0AAAAAAAABVQAAAAAAAgEtAAAAAAACAUUAAAAAAAOBQQAAAAAAAQE1AAAAAAACgUkAAAAAAAABXQAAAAAAAAFRAAAAAAACAWEAAAAAAAMBVQAAAAAAAwE5AAAAAAAAgVEAAAAAAAABZQAAAAAAAgFFAAAAAAADgUEAAAAAAAIBQQAAAAAAAoFZAAAAAAACAUkAAAAAAAOBXQAAAAAAAAFRAAAAAAACgV0AAAAAAAEBUQAAAAAAAgExAAAAAAABAV0AAAAAAAABZQAAAAAAAQFVAAAAAAADgUEAAAAAAAEBUQAAAAAAAgFBAAAAAAACAS0AAAAAAAIBWQAAAAAAAgE9AAAAAAABAU0AAAAAAAGBQQAAAAAAAwE5AAAAAAACASkAAAAAAAABUQA==\"},\"shape\":[77],\"dtype\":\"float64\",\"order\":\"little\"}],[\"confidence when incorrect hit\",{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"AAAAAABARkAAAAAAAMBLQAAAAAAAgExAAAAAAAAAUEAAAAAAAMBUQAAAAAAAQFVAAAAAAADARUAAAAAAAOBVQAAAAAAAAPh/AAAAAACAUUAAAAAAAMBLQAAAAAAAgEBAAAAAAAAAPUAAAAAAAABEQAAAAAAAAElAAAAAAAAA+H8AAAAAAIBLQAAAAAAAwEFAAAAAAADAUEAAAAAAAAA5QAAAAAAAAPh/AAAAAACAPEAAAAAAAAA7QAAAAAAAAExAAAAAAACASkAAAAAAAABWQAAAAAAAAFJAAAAAAAAAPUAAAAAAAABAQAAAAAAAAPh/AAAAAACASEAAAAAAAAA9QAAAAAAAwFRAAAAAAACAR0AAAAAAAOBUQAAAAAAAgERAAAAAAABAUkAAAAAAAMBLQAAAAAAAQFZAAAAAAAAgUkAAAAAAAIBLQAAAAAAAAD5AAAAAAAAAHEAAAAAAAIA8QAAAAAAAgEVAAAAAAAAA+H8AAAAAAOBSQAAAAAAAQFBAAAAAAAAA+H8AAAAAAMBHQAAAAAAAAPh/AAAAAADASUAAAAAAAAD4fwAAAAAAAENAAAAAAADASUAAAAAAAIBLQAAAAAAAAFRAAAAAAADAUEAAAAAAAABRQAAAAAAAwE1AAAAAAADATkAAAAAAAABKQAAAAAAAgExAAAAAAAAAV0AAAAAAAAD4fwAAAAAAAFZAAAAAAACAUEAAAAAAAAD4fwAAAAAAAExAAAAAAACATkAAAAAAAMBSQAAAAAAAQEpAAAAAAACgUEAAAAAAAGBVQAAAAAAAQFRAAAAAAACAQkAAAAAAAAA7QA==\"},\"shape\":[77],\"dtype\":\"float64\",\"order\":\"little\"}],[\"confidence when correct reject\",{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"AAAAAACARUAAAAAAAABUQAAAAAAAAEtAAAAAAAAASUAAAAAAAABUQAAAAAAAgFdAAAAAAADAU0AAAAAAACBTQAAAAAAAQFVAAAAAAACAUUAAAAAAAOBQQAAAAAAAAExAAAAAAACASEAAAAAAAKBRQAAAAAAAgFBAAAAAAACATkAAAAAAAABQQAAAAAAAoFJAAAAAAAAAVEAAAAAAAIBQQAAAAAAAgFBAAAAAAAAAM0AAAAAAAIBEQAAAAAAAwFNAAAAAAABAUEAAAAAAAEBTQAAAAAAAAFlAAAAAAABAU0AAAAAAAMBHQAAAAAAAIFBAAAAAAABAVEAAAAAAAIBRQAAAAAAAIFRAAAAAAABAUUAAAAAAAGBTQAAAAAAAgFJAAAAAAAAATEAAAAAAAGBSQAAAAAAAAFFAAAAAAADAV0AAAAAAAABRQAAAAAAAAElAAAAAAABAUUAAAAAAAIBLQAAAAAAAYFJAAAAAAACAUkAAAAAAAABXQAAAAAAAoFNAAAAAAACAVkAAAAAAAEBRQAAAAAAAQE1AAAAAAACAT0AAAAAAAOBRQAAAAAAAQE1AAAAAAACAUEAAAAAAAIBPQAAAAAAAoFJAAAAAAAAAU0AAAAAAAOBUQAAAAAAAgFFAAAAAAACAVUAAAAAAAMBRQAAAAAAAwE1AAAAAAADAVkAAAAAAAABZQAAAAAAAgFRAAAAAAACAUkAAAAAAAKBSQAAAAAAAAFJAAAAAAAAAVEAAAAAAAABUQAAAAAAA4FBAAAAAAABAU0AAAAAAAMBVQAAAAAAAgFFAAAAAAAAAVUAAAAAAAAA/QA==\"},\"shape\":[77],\"dtype\":\"float64\",\"order\":\"little\"}],[\"confidence when incorrect reject\",{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"AAAAAACASEAAAAAAAMBSQAAAAAAAgEpAAAAAAAAASUAAAAAAAAD4fwAAAAAAgE5AAAAAAAAANUAAAAAAAAA7QAAAAAAAAPh/AAAAAABAUEAAAAAAAEBKQAAAAAAAgEhAAAAAAAAAQkAAAAAAAKBQQAAAAAAAQElAAAAAAAAAS0AAAAAAAIBNQAAAAAAAAPh/AAAAAAAA+H8AAAAAAAA4QAAAAAAAwE9AAAAAAADAREAAAAAAAIBGQAAAAAAAQEVAAAAAAACASkAAAAAAAABUQAAAAAAAwFZAAAAAAAAAQEAAAAAAAKBTQAAAAAAAgEVAAAAAAAAAQkAAAAAAAAA9QAAAAAAAAEJAAAAAAAAAREAAAAAAAEBRQAAAAAAAQFJAAAAAAAAAUUAAAAAAAIBRQAAAAAAAQFBAAAAAAABAUEAAAAAAAIBOQAAAAAAAAERAAAAAAAAATkAAAAAAAABKQAAAAAAAwEpAAAAAAAAA+H8AAAAAAIBPQAAAAAAAoFFAAAAAAAAAREAAAAAAAMBVQAAAAAAAAPh/AAAAAABAUUAAAAAAAMBUQAAAAAAAQFBAAAAAAACATEAAAAAAAEBJQAAAAAAAwFRAAAAAAAAAMUAAAAAAAMBUQAAAAAAAgERAAAAAAACAUkAAAAAAAABNQAAAAAAAAElAAAAAAABAVkAAAAAAAABJQAAAAAAAgFRAAAAAAACATEAAAAAAAIBUQAAAAAAAgE9AAAAAAACATEAAAAAAAABUQAAAAAAAYFBAAAAAAABgU0AAAAAAAABUQAAAAAAAgE5AAAAAAAAASkAAAAAAAKBUQA==\"},\"shape\":[77],\"dtype\":\"float64\",\"order\":\"little\"}],[\"confidence when correct\",{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"AAAAAACASUAAAAAAAKBTQAAAAAAAgExAAAAAAAAATkAAAAAAAABUQAAAAAAAwFhAAAAAAACAU0AAAAAAAKBTQAAAAAAAgFZAAAAAAACAUUAAAAAAAIBSQAAAAAAAgEdAAAAAAAAASkAAAAAAAABVQAAAAAAAgE9AAAAAAAAAT0AAAAAAAMBNQAAAAAAA4FJAAAAAAACAU0AAAAAAAIBPQAAAAAAAQFRAAAAAAAAAOEAAAAAAAABJQAAAAAAAQFRAAAAAAADAUEAAAAAAAEBTQAAAAAAAAFlAAAAAAAAAUUAAAAAAAABIQAAAAAAAgFJAAAAAAACAVEAAAAAAAMBQQAAAAAAAoFRAAAAAAADAUEAAAAAAAABWQAAAAAAAwFRAAAAAAADAT0AAAAAAACBUQAAAAAAAwFFAAAAAAADAV0AAAAAAAKBTQAAAAAAAQEpAAAAAAABAUUAAAAAAAIBOQAAAAAAAgFBAAAAAAACAUkAAAAAAAABXQAAAAAAAAFRAAAAAAAAAV0AAAAAAAMBUQAAAAAAAQE5AAAAAAAAgUkAAAAAAAGBYQAAAAAAAAFFAAAAAAADAUEAAAAAAAEBQQAAAAAAAgFRAAAAAAADAUkAAAAAAAIBXQAAAAAAAQFNAAAAAAAAAV0AAAAAAAEBUQAAAAAAAAE1AAAAAAADgVkAAAAAAAABZQAAAAAAAQFVAAAAAAACAUkAAAAAAAOBTQAAAAAAAoFFAAAAAAAAAUkAAAAAAAEBVQAAAAAAAAFBAAAAAAABAU0AAAAAAAIBSQAAAAAAAQFBAAAAAAABAVEAAAAAAAEBUQA==\"},\"shape\":[77],\"dtype\":\"float64\",\"order\":\"little\"}],[\"confidence when incorrect\",{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"AAAAAACASEAAAAAAAMBQQAAAAAAAQEtAAAAAAAAASUAAAAAAAMBUQAAAAAAAQFBAAAAAAAAAQkAAAAAAAOBQQAAAAAAAAPh/AAAAAACAUUAAAAAAAMBLQAAAAAAAAEZAAAAAAAAAPUAAAAAAAEBLQAAAAAAAAElAAAAAAAAAS0AAAAAAAIBMQAAAAAAAwEFAAAAAAADAUEAAAAAAAIA4QAAAAAAAwE9AAAAAAACAQUAAAAAAAIBGQAAAAAAAAEtAAAAAAACASkAAAAAAAABVQAAAAAAAwFZAAAAAAAAAP0AAAAAAAIBJQAAAAAAAgEVAAAAAAACASEAAAAAAAAA9QAAAAAAAAFNAAAAAAAAAREAAAAAAAMBTQAAAAAAAwEtAAAAAAAAAUUAAAAAAAEBQQAAAAAAAAFFAAAAAAABAUEAAAAAAAABNQAAAAAAAgEFAAAAAAADATUAAAAAAAABJQAAAAAAAwEdAAAAAAAAA+H8AAAAAAGBSQAAAAAAAgFFAAAAAAAAAREAAAAAAAMBQQAAAAAAAAPh/AAAAAADATkAAAAAAAMBUQAAAAAAAAERAAAAAAACASkAAAAAAAIBLQAAAAAAAQFRAAAAAAAAAUEAAAAAAAMBRQAAAAAAAgE1AAAAAAADAUEAAAAAAAABNQAAAAAAAAElAAAAAAADAVkAAAAAAAABJQAAAAAAAQFVAAAAAAAAAUEAAAAAAAIBUQAAAAAAAwE1AAAAAAAAATkAAAAAAAMBSQAAAAAAAwE1AAAAAAACAUkAAAAAAAABUQAAAAAAAQFRAAAAAAACASUAAAAAAAEBSQA==\"},\"shape\":[77],\"dtype\":\"float64\",\"order\":\"little\"}],[\"sci\",{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"HQAAABMAAAAXAAAAGgAAABUAAAATAAAAHAAAAB0AAAARAAAAFgAAABwAAAAfAAAAHwAAACAAAAAZAAAAHgAAABwAAAAeAAAAFgAAABQAAAAaAAAAIAAAACAAAAAYAAAAGgAAAB4AAAAcAAAAFQAAAB0AAAAgAAAAGgAAABoAAAAXAAAAEgAAABYAAAAdAAAAFAAAABsAAAATAAAAHQAAABgAAAAdAAAAEQAAABoAAAAeAAAAEQAAABkAAAAfAAAAGwAAACAAAAAcAAAAGQAAAB4AAAAVAAAAHQAAABQAAAAWAAAAFwAAABQAAAARAAAAGwAAABsAAAAWAAAAGQAAAB4AAAAgAAAAHgAAACAAAAAcAAAAHwAAAB0AAAAaAAAAFAAAABMAAAAfAAAAFgAAABgAAAA=\"},\"shape\":[77],\"dtype\":\"int32\",\"order\":\"little\"}],[\"psqi\",{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"AQAAAAUAAAABAAAABQAAAAcAAAAHAAAAAwAAAAMAAAAKAAAABAAAAAUAAAACAAAAAgAAAAIAAAAFAAAAAgAAAAMAAAADAAAABAAAAAkAAAAFAAAAAgAAAAEAAAAEAAAACAAAAAIAAAACAAAABgAAAAMAAAABAAAABQAAAAcAAAADAAAABgAAAAYAAAABAAAABgAAAAQAAAAEAAAAAwAAAAUAAAACAAAABwAAAAQAAAAAAAAABQAAAAEAAAABAAAABAAAAAEAAAAIAAAABAAAAAIAAAAHAAAABAAAAAEAAAAHAAAABAAAAAUAAAAGAAAABAAAAAIAAAADAAAABAAAAAMAAAABAAAABQAAAAIAAAABAAAAAQAAAAMAAAAGAAAACAAAAAgAAAACAAAABAAAAAUAAAA=\"},\"shape\":[77],\"dtype\":\"int32\",\"order\":\"little\"}],[\"ess\",{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"BQAAAAEAAAADAAAABAAAAAUAAAAMAAAABAAAAAQAAAALAAAABgAAAAMAAAALAAAACgAAAAwAAAAGAAAADQAAAAwAAAAFAAAACgAAAAQAAAAEAAAABgAAAAMAAAAAAAAADAAAAAYAAAAFAAAACQAAAAcAAAAGAAAACgAAABIAAAALAAAACAAAABAAAAAHAAAACQAAAAsAAAAEAAAABwAAAAQAAAALAAAADAAAAAMAAAADAAAABAAAAAsAAAABAAAABAAAAAIAAAAJAAAAAQAAAAIAAAAMAAAABgAAAAUAAAAFAAAABAAAAAkAAAADAAAACAAAAAYAAAAKAAAAFQAAAAUAAAAFAAAACQAAAAEAAAAIAAAACwAAAAUAAAAHAAAACgAAAAcAAAAPAAAABwAAAAcAAAA=\"},\"shape\":[77],\"dtype\":\"int32\",\"order\":\"little\"}],[\"insomnia\",{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=\"},\"shape\":[77],\"dtype\":\"bool\",\"order\":\"little\"}]]}}},\"view\":{\"type\":\"object\",\"name\":\"CDSView\",\"id\":\"p1761\",\"attributes\":{\"filter\":{\"type\":\"object\",\"name\":\"AllIndices\",\"id\":\"p1762\"}}},\"glyph\":{\"type\":\"object\",\"name\":\"Scatter\",\"id\":\"p1757\",\"attributes\":{\"x\":{\"type\":\"field\",\"field\":\"confidence when correct\"},\"y\":{\"type\":\"field\",\"field\":\"confidence when incorrect\"},\"size\":{\"type\":\"value\",\"value\":5},\"line_color\":{\"type\":\"value\",\"value\":\"#1f77b3\"},\"line_alpha\":{\"type\":\"value\",\"value\":0.7},\"line_width\":{\"type\":\"value\",\"value\":2},\"fill_color\":{\"type\":\"value\",\"value\":\"#1f77b3\"},\"fill_alpha\":{\"type\":\"value\",\"value\":0},\"hatch_color\":{\"type\":\"value\",\"value\":\"#1f77b3\"}}},\"nonselection_glyph\":{\"type\":\"object\",\"name\":\"Scatter\",\"id\":\"p1758\",\"attributes\":{\"x\":{\"type\":\"field\",\"field\":\"confidence when correct\"},\"y\":{\"type\":\"field\",\"field\":\"confidence when incorrect\"},\"size\":{\"type\":\"value\",\"value\":5},\"line_color\":{\"type\":\"value\",\"value\":\"#1f77b3\"},\"line_alpha\":{\"type\":\"value\",\"value\":0.1},\"line_width\":{\"type\":\"value\",\"value\":2},\"fill_color\":{\"type\":\"value\",\"value\":\"#1f77b3\"},\"fill_alpha\":{\"type\":\"value\",\"value\":0.1},\"hatch_color\":{\"type\":\"value\",\"value\":\"#1f77b3\"},\"hatch_alpha\":{\"type\":\"value\",\"value\":0.1}}},\"muted_glyph\":{\"type\":\"object\",\"name\":\"Scatter\",\"id\":\"p1759\",\"attributes\":{\"x\":{\"type\":\"field\",\"field\":\"confidence when correct\"},\"y\":{\"type\":\"field\",\"field\":\"confidence when incorrect\"},\"size\":{\"type\":\"value\",\"value\":5},\"line_color\":{\"type\":\"value\",\"value\":\"#1f77b3\"},\"line_alpha\":{\"type\":\"value\",\"value\":0.2},\"line_width\":{\"type\":\"value\",\"value\":2},\"fill_color\":{\"type\":\"value\",\"value\":\"#1f77b3\"},\"fill_alpha\":{\"type\":\"value\",\"value\":0.2},\"hatch_color\":{\"type\":\"value\",\"value\":\"#1f77b3\"},\"hatch_alpha\":{\"type\":\"value\",\"value\":0.2}}}}},{\"type\":\"object\",\"name\":\"GlyphRenderer\",\"id\":\"p1769\",\"attributes\":{\"level\":\"overlay\",\"data_source\":{\"type\":\"object\",\"name\":\"ColumnDataSource\",\"id\":\"p1628\",\"attributes\":{\"selected\":{\"type\":\"object\",\"name\":\"Selection\",\"id\":\"p1629\",\"attributes\":{\"indices\":[],\"line_indices\":[]}},\"selection_policy\":{\"type\":\"object\",\"name\":\"UnionRenderers\",\"id\":\"p1630\"},\"data\":{\"type\":\"map\",\"entries\":[[\"index\",{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"AAAAAAEAAAACAAAAAwAAAAQAAAAFAAAABgAAAAcAAAAIAAAACQAAAAoAAAALAAAADAAAAA0AAAAOAAAADwAAABAAAAARAAAAEgAAABMAAAAUAAAAFQAAABYAAAAXAAAAGAAAAA==\"},\"shape\":[25],\"dtype\":\"int32\",\"order\":\"little\"}],[\"participant number\",{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"CAAAABAAAAASAAAAFgAAABsAAAAcAAAAHgAAACEAAAAiAAAAIwAAACYAAAApAAAALgAAADEAAAA3AAAARwAAAEwAAABNAAAATgAAAFAAAABZAAAAWgAAAF0AAABkAAAAZQAAAA==\"},\"shape\":[25],\"dtype\":\"int32\",\"order\":\"little\"}],[\"gender\",{\"type\":\"ndarray\",\"array\":[\"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\"],\"shape\":[25],\"dtype\":\"object\",\"order\":\"little\"}],[\"age\",{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"JwAAACoAAAAfAAAAIwAAAEoAAAA9AAAAIAAAAD4AAAAhAAAANQAAACkAAAAkAAAAKAAAABgAAAAgAAAAKAAAAD0AAAAqAAAAHwAAABwAAAAaAAAALQAAABwAAAAsAAAAHAAAAA==\"},\"shape\":[25],\"dtype\":\"int32\",\"order\":\"little\"}],[\"correct hit percentage\",{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"QQAAAFoAAABaAAAAZAAAADwAAABQAAAAWgAAAC0AAABQAAAAZAAAAEYAAABaAAAAXwAAAFUAAABLAAAAKAAAAGQAAABGAAAAZAAAAGQAAAA8AAAAZAAAAGQAAABBAAAAZAAAAA==\"},\"shape\":[25],\"dtype\":\"int32\",\"order\":\"little\"}],[\"correct reject percentage\",{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"UAAAAFoAAABfAAAASwAAAEEAAAAUAAAASwAAAFoAAABkAAAAMgAAADcAAABkAAAAQQAAAEsAAAA3AAAAZAAAACgAAABaAAAARgAAADIAAABQAAAAXwAAAEsAAAAZAAAAKAAAAA==\"},\"shape\":[25],\"dtype\":\"int32\",\"order\":\"little\"}],[\"percent correct\",{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"AAAAAAAgUkAAAAAAAIBWQAAAAAAAIFdAAAAAAADgVUAAAAAAAEBPQAAAAAAAAElAAAAAAACgVEAAAAAAAOBQQAAAAAAAgFZAAAAAAADAUkAAAAAAAEBPQAAAAAAAwFdAAAAAAAAAVEAAAAAAAABUQAAAAAAAQFBAAAAAAACAUUAAAAAAAIBRQAAAAAAAAFRAAAAAAABAVUAAAAAAAMBSQAAAAAAAgFFAAAAAAABgWEAAAAAAAOBVQAAAAAAAgEZAAAAAAACAUUA=\"},\"shape\":[25],\"dtype\":\"float64\",\"order\":\"little\"}],[\"confidence when correct hit\",{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"AAAAAADAVkAAAAAAAOBSQAAAAAAAYFZAAAAAAABgVkAAAAAAACBRQAAAAAAAwFFAAAAAAADAUEAAAAAAAABLQAAAAAAAoFFAAAAAAACgUkAAAAAAAIBUQAAAAAAAIFNAAAAAAAAAVEAAAAAAAABNQAAAAAAAQFVAAAAAAABAUUAAAAAAAGBRQAAAAAAAwFVAAAAAAAAAV0AAAAAAAABZQAAAAAAAgFFAAAAAAAAAWUAAAAAAAGBWQAAAAAAAAE9AAAAAAADAVUA=\"},\"shape\":[25],\"dtype\":\"float64\",\"order\":\"little\"}],[\"confidence when incorrect hit\",{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"AAAAAACAVkAAAAAAAMBLQAAAAAAAgFZAAAAAAAAA+H8AAAAAAIBIQAAAAAAAgE9AAAAAAABATEAAAAAAAIBCQAAAAAAAIFNAAAAAAAAA+H8AAAAAAMBOQAAAAAAA4FJAAAAAAABAVkAAAAAAAABJQAAAAAAAQFRAAAAAAAAATEAAAAAAAAD4fwAAAAAAAFJAAAAAAAAA+H8AAAAAAAD4fwAAAAAAQFNAAAAAAAAA+H8AAAAAAAD4fwAAAAAAAFJAAAAAAAAA+H8=\"},\"shape\":[25],\"dtype\":\"float64\",\"order\":\"little\"}],[\"confidence when correct reject\",{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"AAAAAABAV0AAAAAAAKBRQAAAAAAAgFVAAAAAAADAUUAAAAAAAIBOQAAAAAAAAD9AAAAAAACAUEAAAAAAAEBQQAAAAAAAIFBAAAAAAABATkAAAAAAAEBSQAAAAAAAwFJAAAAAAADAU0AAAAAAAIBIQAAAAAAAQFVAAAAAAACAUUAAAAAAAEBGQAAAAAAAoFZAAAAAAABAVEAAAAAAAABZQAAAAAAAgFRAAAAAAAAAWUAAAAAAAMBQQAAAAAAAwFVAAAAAAAAAUUA=\"},\"shape\":[25],\"dtype\":\"float64\",\"order\":\"little\"}],[\"confidence when incorrect reject\",{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"AAAAAADgVEAAAAAAAABJQAAAAAAAQFRAAAAAAAAAVEAAAAAAAIBIQAAAAAAAIFJAAAAAAABAUEAAAAAAAGBUQAAAAAAAAPh/AAAAAABAUEAAAAAAAEBRQAAAAAAAAPh/AAAAAABATUAAAAAAAABRQAAAAAAAgFVAAAAAAAAA+H8AAAAAAEBSQAAAAAAAwEVAAAAAAAAATkAAAAAAAABZQAAAAAAA4FBAAAAAAAAAWUAAAAAAAABOQAAAAAAAQFNAAAAAAAAAS0A=\"},\"shape\":[25],\"dtype\":\"float64\",\"order\":\"little\"}],[\"confidence when correct\",{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"AAAAAABAV0AAAAAAAMBSQAAAAAAAQFZAAAAAAAAAVkAAAAAAAEBQQAAAAAAAIFBAAAAAAACAUEAAAAAAAABPQAAAAAAAAFFAAAAAAADAUUAAAAAAAIBUQAAAAAAAAFNAAAAAAADgU0AAAAAAAIBLQAAAAAAAQFVAAAAAAACAUUAAAAAAAEBLQAAAAAAAIFZAAAAAAADgVUAAAAAAAABZQAAAAAAAQFNAAAAAAAAAWUAAAAAAAABUQAAAAAAAYFFAAAAAAABAVEA=\"},\"shape\":[25],\"dtype\":\"float64\",\"order\":\"little\"}],[\"confidence when incorrect\",{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"AAAAAACAVkAAAAAAAABJQAAAAAAAAFZAAAAAAAAAVEAAAAAAAIBIQAAAAAAAoFFAAAAAAAAAUEAAAAAAAIBOQAAAAAAAIFNAAAAAAABAUEAAAAAAAABQQAAAAAAA4FJAAAAAAACAT0AAAAAAAIBNQAAAAAAA4FRAAAAAAAAATEAAAAAAAEBSQAAAAAAAAFBAAAAAAAAATkAAAAAAAABZQAAAAAAAoFFAAAAAAAAAWUAAAAAAAABOQAAAAAAAYFJAAAAAAAAAS0A=\"},\"shape\":[25],\"dtype\":\"float64\",\"order\":\"little\"}],[\"sci\",{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"CQAAAAQAAAAKAAAADQAAAA0AAAAPAAAAEAAAAA4AAAAOAAAADgAAAA4AAAAPAAAACgAAAA4AAAAFAAAAAAAAABAAAAALAAAADgAAAAwAAAAOAAAADgAAABAAAAABAAAADgAAAA==\"},\"shape\":[25],\"dtype\":\"int32\",\"order\":\"little\"}],[\"psqi\",{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"DQAAAAsAAAAJAAAACAAAAAkAAAAOAAAACQAAAAkAAAAMAAAACAAAAAUAAAAHAAAADAAAAA0AAAANAAAACwAAAAQAAAAKAAAABgAAAAcAAAAIAAAACQAAAAcAAAAPAAAABwAAAA==\"},\"shape\":[25],\"dtype\":\"int32\",\"order\":\"little\"}],[\"ess\",{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"AgAAAAcAAAADAAAAFAAAAAwAAAACAAAAAwAAAAkAAAAKAAAABwAAABMAAAAAAAAACAAAAAQAAAAHAAAADgAAAAwAAAAKAAAACwAAAAwAAAABAAAABgAAAAQAAAAGAAAAAgAAAA==\"},\"shape\":[25],\"dtype\":\"int32\",\"order\":\"little\"}],[\"insomnia\",{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"AQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQ==\"},\"shape\":[25],\"dtype\":\"bool\",\"order\":\"little\"}]]}}},\"view\":{\"type\":\"object\",\"name\":\"CDSView\",\"id\":\"p1770\",\"attributes\":{\"filter\":{\"type\":\"object\",\"name\":\"AllIndices\",\"id\":\"p1771\"}}},\"glyph\":{\"type\":\"object\",\"name\":\"Scatter\",\"id\":\"p1766\",\"attributes\":{\"x\":{\"type\":\"field\",\"field\":\"confidence when correct\"},\"y\":{\"type\":\"field\",\"field\":\"confidence when incorrect\"},\"size\":{\"type\":\"value\",\"value\":5},\"line_color\":{\"type\":\"value\",\"value\":\"#ff7e0e\"},\"line_alpha\":{\"type\":\"value\",\"value\":0.7},\"line_width\":{\"type\":\"value\",\"value\":2},\"fill_color\":{\"type\":\"value\",\"value\":\"#ff7e0e\"},\"fill_alpha\":{\"type\":\"value\",\"value\":0},\"hatch_color\":{\"type\":\"value\",\"value\":\"#ff7e0e\"}}},\"nonselection_glyph\":{\"type\":\"object\",\"name\":\"Scatter\",\"id\":\"p1767\",\"attributes\":{\"x\":{\"type\":\"field\",\"field\":\"confidence when correct\"},\"y\":{\"type\":\"field\",\"field\":\"confidence when incorrect\"},\"size\":{\"type\":\"value\",\"value\":5},\"line_color\":{\"type\":\"value\",\"value\":\"#ff7e0e\"},\"line_alpha\":{\"type\":\"value\",\"value\":0.1},\"line_width\":{\"type\":\"value\",\"value\":2},\"fill_color\":{\"type\":\"value\",\"value\":\"#ff7e0e\"},\"fill_alpha\":{\"type\":\"value\",\"value\":0.1},\"hatch_color\":{\"type\":\"value\",\"value\":\"#ff7e0e\"},\"hatch_alpha\":{\"type\":\"value\",\"value\":0.1}}},\"muted_glyph\":{\"type\":\"object\",\"name\":\"Scatter\",\"id\":\"p1768\",\"attributes\":{\"x\":{\"type\":\"field\",\"field\":\"confidence when correct\"},\"y\":{\"type\":\"field\",\"field\":\"confidence when incorrect\"},\"size\":{\"type\":\"value\",\"value\":5},\"line_color\":{\"type\":\"value\",\"value\":\"#ff7e0e\"},\"line_alpha\":{\"type\":\"value\",\"value\":0.2},\"line_width\":{\"type\":\"value\",\"value\":2},\"fill_color\":{\"type\":\"value\",\"value\":\"#ff7e0e\"},\"fill_alpha\":{\"type\":\"value\",\"value\":0.2},\"hatch_color\":{\"type\":\"value\",\"value\":\"#ff7e0e\"},\"hatch_alpha\":{\"type\":\"value\",\"value\":0.2}}}}}],\"toolbar\":{\"type\":\"object\",\"name\":\"Toolbar\",\"id\":\"p1728\",\"attributes\":{\"tools\":[{\"type\":\"object\",\"name\":\"PanTool\",\"id\":\"p1743\"},{\"type\":\"object\",\"name\":\"WheelZoomTool\",\"id\":\"p1744\",\"attributes\":{\"renderers\":\"auto\"}},{\"type\":\"object\",\"name\":\"BoxZoomTool\",\"id\":\"p1745\",\"attributes\":{\"overlay\":{\"type\":\"object\",\"name\":\"BoxAnnotation\",\"id\":\"p1746\",\"attributes\":{\"syncable\":false,\"level\":\"overlay\",\"visible\":false,\"left\":{\"type\":\"number\",\"value\":\"nan\"},\"right\":{\"type\":\"number\",\"value\":\"nan\"},\"top\":{\"type\":\"number\",\"value\":\"nan\"},\"bottom\":{\"type\":\"number\",\"value\":\"nan\"},\"left_units\":\"canvas\",\"right_units\":\"canvas\",\"top_units\":\"canvas\",\"bottom_units\":\"canvas\",\"line_color\":\"black\",\"line_alpha\":1.0,\"line_width\":2,\"line_dash\":[4,4],\"fill_color\":\"lightgrey\",\"fill_alpha\":0.5}}}},{\"type\":\"object\",\"name\":\"SaveTool\",\"id\":\"p1751\"},{\"type\":\"object\",\"name\":\"ResetTool\",\"id\":\"p1752\"},{\"type\":\"object\",\"name\":\"HelpTool\",\"id\":\"p1753\"}]}},\"left\":[{\"type\":\"object\",\"name\":\"LinearAxis\",\"id\":\"p1738\",\"attributes\":{\"level\":\"overlay\",\"ticker\":{\"type\":\"object\",\"name\":\"BasicTicker\",\"id\":\"p1739\",\"attributes\":{\"desired_num_ticks\":10,\"mantissas\":[1,2,5]}},\"formatter\":{\"type\":\"object\",\"name\":\"BasicTickFormatter\",\"id\":\"p1740\"},\"axis_label\":\"condifence when incorrect\",\"axis_label_text_font_size\":\"8pt\",\"axis_label_text_font_style\":\"bold\",\"major_label_policy\":{\"type\":\"object\",\"name\":\"AllLabels\",\"id\":\"p1741\"},\"major_label_text_font_size\":\"7.5pt\",\"axis_line_color\":\"dimgray\",\"major_tick_line_color\":\"dimgray\",\"major_tick_in\":0,\"minor_tick_out\":0}}],\"right\":[{\"type\":\"object\",\"name\":\"Legend\",\"id\":\"p1772\",\"attributes\":{\"level\":\"overlay\",\"title_text_font_size\":\"8pt\",\"title_text_font_style\":\"bold\",\"border_line_color\":null,\"background_fill_color\":null,\"click_policy\":\"hide\",\"label_text_font_size\":\"7.5pt\",\"items\":[{\"type\":\"object\",\"name\":\"LegendItem\",\"id\":\"p1773\",\"attributes\":{\"label\":{\"type\":\"value\",\"value\":\"normal\"},\"renderers\":[{\"id\":\"p1760\"}]}},{\"type\":\"object\",\"name\":\"LegendItem\",\"id\":\"p1774\",\"attributes\":{\"label\":{\"type\":\"value\",\"value\":\"insomnia\"},\"renderers\":[{\"id\":\"p1769\"}]}}]}}],\"below\":[{\"type\":\"object\",\"name\":\"LinearAxis\",\"id\":\"p1733\",\"attributes\":{\"level\":\"overlay\",\"ticker\":{\"type\":\"object\",\"name\":\"BasicTicker\",\"id\":\"p1734\",\"attributes\":{\"desired_num_ticks\":10,\"mantissas\":[1,2,5]}},\"formatter\":{\"type\":\"object\",\"name\":\"BasicTickFormatter\",\"id\":\"p1735\"},\"axis_label\":\"confidence when correct\",\"axis_label_text_font_size\":\"8pt\",\"axis_label_text_font_style\":\"bold\",\"major_label_policy\":{\"type\":\"object\",\"name\":\"AllLabels\",\"id\":\"p1736\"},\"major_label_text_font_size\":\"7.5pt\",\"axis_line_color\":\"dimgray\",\"major_tick_line_color\":\"dimgray\",\"major_tick_in\":0,\"minor_tick_out\":0}}],\"center\":[{\"type\":\"object\",\"name\":\"Grid\",\"id\":\"p1737\",\"attributes\":{\"level\":\"underlay\",\"axis\":{\"id\":\"p1733\"},\"grid_line_color\":\"lightgray\"}},{\"type\":\"object\",\"name\":\"Grid\",\"id\":\"p1742\",\"attributes\":{\"level\":\"underlay\",\"dimension\":1,\"axis\":{\"id\":\"p1738\"},\"grid_line_color\":\"lightgray\"}}],\"frame_width\":300,\"frame_height\":300}}]}};\n", " const render_items = [{\"docid\":\"9d93d9f4-e4d9-49e7-8918-f0fd554c4d11\",\"roots\":{\"p1719\":\"edc35149-bfe4-45fe-a51c-cfc586cafba7\"},\"root_ids\":[\"p1719\"]}];\n", " void root.Bokeh.embed.embed_items_notebook(docs_json, render_items);\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": "p1719" } }, "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.scatter(\n", " source=source_normal,\n", " x=\"confidence when correct\",\n", " y=\"confidence when incorrect\",\n", " marker=\"circle\",\n", " color=cat_colors[0],\n", " )\n", "\n", " insom_glyph = p.scatter(\n", " source=source_insomnia,\n", " x=\"confidence when correct\",\n", " y=\"confidence when incorrect\",\n", " marker=\"circle\",\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", " 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": 24, "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": 25, "metadata": {}, "outputs": [ { "data": { "text/html": [ "\n", "
\n" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "application/javascript": [ "(function(root) {\n", " function embed_document(root) {\n", " const docs_json = {\"377896d6-e49a-4d48-8e89-a3fb6997cc2c\":{\"version\":\"3.4.1\",\"title\":\"Bokeh Application\",\"roots\":[{\"type\":\"object\",\"name\":\"Figure\",\"id\":\"p1807\",\"attributes\":{\"x_range\":{\"type\":\"object\",\"name\":\"Range1d\",\"id\":\"p1817\",\"attributes\":{\"end\":100}},\"y_range\":{\"type\":\"object\",\"name\":\"Range1d\",\"id\":\"p1818\",\"attributes\":{\"end\":100}},\"x_scale\":{\"type\":\"object\",\"name\":\"LinearScale\",\"id\":\"p1819\"},\"y_scale\":{\"type\":\"object\",\"name\":\"LinearScale\",\"id\":\"p1820\"},\"title\":{\"type\":\"object\",\"name\":\"Title\",\"id\":\"p1810\",\"attributes\":{\"text\":\"GMFT with sleep conditions\",\"text_font_size\":\"8pt\",\"text_font_style\":\"normal\",\"align\":\"center\"}},\"renderers\":[{\"type\":\"object\",\"name\":\"GlyphRenderer\",\"id\":\"p1848\",\"attributes\":{\"data_source\":{\"type\":\"object\",\"name\":\"ColumnDataSource\",\"id\":\"p1631\",\"attributes\":{\"selected\":{\"type\":\"object\",\"name\":\"Selection\",\"id\":\"p1632\",\"attributes\":{\"indices\":[],\"line_indices\":[]}},\"selection_policy\":{\"type\":\"object\",\"name\":\"UnionRenderers\",\"id\":\"p1633\"},\"data\":{\"type\":\"map\",\"entries\":[[\"index\",{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"GQAAABoAAAAbAAAAHAAAAB0AAAAeAAAAHwAAACAAAAAhAAAAIgAAACMAAAAkAAAAJQAAACYAAAAnAAAAKAAAACkAAAAqAAAAKwAAACwAAAAtAAAALgAAAC8AAAAwAAAAMQAAADIAAAAzAAAANAAAADUAAAA2AAAANwAAADgAAAA5AAAAOgAAADsAAAA8AAAAPQAAAD4AAAA/AAAAQAAAAEEAAABCAAAAQwAAAEQAAABFAAAARgAAAEcAAABIAAAASQAAAEoAAABLAAAATAAAAE0AAABOAAAATwAAAFAAAABRAAAAUgAAAFMAAABUAAAAVQAAAFYAAABXAAAAWAAAAFkAAABaAAAAWwAAAFwAAABdAAAAXgAAAF8AAABgAAAAYQAAAGIAAABjAAAAZAAAAGUAAAA=\"},\"shape\":[77],\"dtype\":\"int32\",\"order\":\"little\"}],[\"participant number\",{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"AQAAAAIAAAADAAAABAAAAAUAAAAGAAAABwAAAAkAAAAKAAAACwAAAAwAAAANAAAADgAAAA8AAAARAAAAEwAAABQAAAAVAAAAFwAAABgAAAAZAAAAGgAAAB0AAAAfAAAAIAAAACQAAAAlAAAAJwAAACgAAAAqAAAAKwAAACwAAAAtAAAAMAAAADIAAAAzAAAANAAAADUAAAA2AAAAOAAAADkAAAA6AAAAOwAAADwAAAA9AAAAPgAAAD8AAABAAAAAQQAAAEIAAABDAAAARAAAAEUAAABGAAAASAAAAEkAAABKAAAASwAAAE8AAABRAAAAUgAAAFMAAABUAAAAVQAAAFYAAABXAAAAWAAAAFsAAABcAAAAXgAAAF8AAABgAAAAYQAAAGIAAABjAAAAZgAAAGcAAAA=\"},\"shape\":[77],\"dtype\":\"int32\",\"order\":\"little\"}],[\"gender\",{\"type\":\"ndarray\",\"array\":[\"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\"],\"shape\":[77],\"dtype\":\"object\",\"order\":\"little\"}],[\"age\",{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"KgAAAC0AAAAQAAAAFQAAABIAAAAcAAAAJgAAABEAAAAZAAAAFgAAACkAAAA1AAAAKwAAABcAAAATAAAALQAAACsAAAAjAAAAGAAAAEAAAAAkAAAAIwAAACsAAAAsAAAAHQAAABYAAAAuAAAAIwAAADUAAAAdAAAAHwAAABUAAAAqAAAAFwAAADYAAAAYAAAAFQAAABUAAAArAAAAMgAAADUAAAAQAAAAQwAAACQAAAAiAAAAKgAAAC4AAABFAAAAHwAAACwAAAAZAAAALQAAAC8AAAAhAAAAEgAAAEoAAAAVAAAALQAAACUAAAApAAAAKQAAACIAAAAnAAAAEgAAAB8AAAAaAAAAQgAAAD4AAAAWAAAAKQAAAC4AAAA4AAAAFwAAAEYAAAAYAAAAKAAAACEAAAA=\"},\"shape\":[77],\"dtype\":\"int32\",\"order\":\"little\"}],[\"correct hit percentage\",{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"UAAAAFAAAABGAAAARgAAAFoAAABfAAAAWgAAAFoAAABkAAAAUAAAAFoAAABfAAAAXwAAAFoAAAA3AAAAZAAAAEEAAABaAAAANwAAAEsAAABkAAAARgAAAFoAAABfAAAAXwAAAEYAAABQAAAAMgAAAEEAAABkAAAAVQAAAFUAAABaAAAAWgAAAFoAAABVAAAAVQAAAFoAAABfAAAARgAAAF8AAABVAAAAXwAAAFoAAABaAAAAZAAAAFAAAABfAAAAZAAAAFoAAABkAAAARgAAAFoAAABVAAAAUAAAAFUAAAAoAAAAUAAAAFoAAABaAAAAUAAAAFoAAABLAAAAVQAAAGQAAABfAAAAPAAAAGQAAABVAAAAIwAAAF8AAABGAAAARgAAAFoAAABGAAAASwAAAFUAAAA=\"},\"shape\":[77],\"dtype\":\"int32\",\"order\":\"little\"}],[\"correct reject percentage\",{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"QQAAAFoAAABQAAAAQQAAAGQAAABQAAAAXwAAAFoAAABkAAAAPAAAAFAAAAA8AAAAWgAAAFAAAAA8AAAAVQAAAEEAAABkAAAAZAAAAFUAAABQAAAAWgAAAFUAAABaAAAANwAAAEEAAABLAAAAXwAAAFAAAABGAAAAWgAAAFoAAABaAAAAVQAAAEYAAABfAAAASwAAAFAAAABLAAAAVQAAAEsAAABVAAAASwAAAEEAAABaAAAAZAAAAFoAAABQAAAAXwAAAF8AAABkAAAAMgAAAGQAAABGAAAASwAAAFAAAAAoAAAAXwAAAFAAAABVAAAASwAAACMAAABGAAAAVQAAAFUAAABLAAAAVQAAAFAAAABfAAAASwAAAFAAAAAyAAAAVQAAAFUAAABQAAAAQQAAACgAAAA=\"},\"shape\":[77],\"dtype\":\"int32\",\"order\":\"little\"}],[\"percent correct\",{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"AAAAAAAgUkAAAAAAAEBVQAAAAAAAwFJAAAAAAADgUEAAAAAAAMBXQAAAAAAA4FVAAAAAAAAgV0AAAAAAAIBWQAAAAAAAAFlAAAAAAACAUUAAAAAAAEBVQAAAAAAAYFNAAAAAAAAgV0AAAAAAAEBVQAAAAAAAwExAAAAAAAAgV0AAAAAAAEBQQAAAAAAAwFdAAAAAAABgU0AAAAAAAABUQAAAAAAAgFZAAAAAAAAAVEAAAAAAAOBVQAAAAAAAIFdAAAAAAADAUkAAAAAAAOBQQAAAAAAAYFNAAAAAAAAgUkAAAAAAACBSQAAAAAAAQFVAAAAAAADgVUAAAAAAAOBVQAAAAAAAgFZAAAAAAADgVUAAAAAAAABUQAAAAAAAgFZAAAAAAAAAVEAAAAAAAEBVQAAAAAAAQFVAAAAAAABgU0AAAAAAAEBVQAAAAAAAQFVAAAAAAABAVUAAAAAAAGBTQAAAAAAAgFZAAAAAAAAAWUAAAAAAAEBVQAAAAAAA4FVAAAAAAABgWEAAAAAAACBXQAAAAAAAAFlAAAAAAAAATkAAAAAAAMBXQAAAAAAAYFNAAAAAAABgU0AAAAAAAKBUQAAAAAAAAERAAAAAAADgVUAAAAAAAEBVQAAAAAAA4FVAAAAAAABgU0AAAAAAAEBPQAAAAAAAIFJAAAAAAABAVUAAAAAAACBXQAAAAAAAQFVAAAAAAAAgUkAAAAAAAIBWQAAAAAAAgFZAAAAAAACAS0AAAAAAAOBVQAAAAAAAAE5AAAAAAABgU0AAAAAAAOBVQAAAAAAAwFJAAAAAAACAUUAAAAAAAEBPQA==\"},\"shape\":[77],\"dtype\":\"float64\",\"order\":\"little\"}],[\"confidence when correct hit\",{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"AAAAAADASUAAAAAAAMBSQAAAAAAAgFFAAAAAAADAT0AAAAAAACBTQAAAAAAAAFlAAAAAAABAU0AAAAAAACBUQAAAAAAAgFZAAAAAAACAUUAAAAAAACBTQAAAAAAAAERAAAAAAAAASkAAAAAAAABWQAAAAAAAAE9AAAAAAAAAUUAAAAAAAIBNQAAAAAAA4FJAAAAAAAAAUUAAAAAAAABJQAAAAAAAAFZAAAAAAACAPUAAAAAAAGBQQAAAAAAAwFRAAAAAAADAUEAAAAAAAIBTQAAAAAAAIFJAAAAAAABAT0AAAAAAAABLQAAAAAAAwFJAAAAAAACAVEAAAAAAAIBQQAAAAAAAwFRAAAAAAADAUEAAAAAAAIBWQAAAAAAAQFhAAAAAAABAUEAAAAAAAABVQAAAAAAAgFJAAAAAAAAgV0AAAAAAAABVQAAAAAAAgEtAAAAAAACAUUAAAAAAAOBQQAAAAAAAQE1AAAAAAACgUkAAAAAAAABXQAAAAAAAAFRAAAAAAACAWEAAAAAAAMBVQAAAAAAAwE5AAAAAAAAgVEAAAAAAAABZQAAAAAAAgFFAAAAAAADgUEAAAAAAAIBQQAAAAAAAoFZAAAAAAACAUkAAAAAAAOBXQAAAAAAAAFRAAAAAAACgV0AAAAAAAEBUQAAAAAAAgExAAAAAAABAV0AAAAAAAABZQAAAAAAAQFVAAAAAAADgUEAAAAAAAEBUQAAAAAAAgFBAAAAAAACAS0AAAAAAAIBWQAAAAAAAgE9AAAAAAABAU0AAAAAAAGBQQAAAAAAAwE5AAAAAAACASkAAAAAAAABUQA==\"},\"shape\":[77],\"dtype\":\"float64\",\"order\":\"little\"}],[\"confidence when incorrect hit\",{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"AAAAAABARkAAAAAAAMBLQAAAAAAAgExAAAAAAAAAUEAAAAAAAMBUQAAAAAAAQFVAAAAAAADARUAAAAAAAOBVQAAAAAAAAPh/AAAAAACAUUAAAAAAAMBLQAAAAAAAgEBAAAAAAAAAPUAAAAAAAABEQAAAAAAAAElAAAAAAAAA+H8AAAAAAIBLQAAAAAAAwEFAAAAAAADAUEAAAAAAAAA5QAAAAAAAAPh/AAAAAACAPEAAAAAAAAA7QAAAAAAAAExAAAAAAACASkAAAAAAAABWQAAAAAAAAFJAAAAAAAAAPUAAAAAAAABAQAAAAAAAAPh/AAAAAACASEAAAAAAAAA9QAAAAAAAwFRAAAAAAACAR0AAAAAAAOBUQAAAAAAAgERAAAAAAABAUkAAAAAAAMBLQAAAAAAAQFZAAAAAAAAgUkAAAAAAAIBLQAAAAAAAAD5AAAAAAAAAHEAAAAAAAIA8QAAAAAAAgEVAAAAAAAAA+H8AAAAAAOBSQAAAAAAAQFBAAAAAAAAA+H8AAAAAAMBHQAAAAAAAAPh/AAAAAADASUAAAAAAAAD4fwAAAAAAAENAAAAAAADASUAAAAAAAIBLQAAAAAAAAFRAAAAAAADAUEAAAAAAAABRQAAAAAAAwE1AAAAAAADATkAAAAAAAABKQAAAAAAAgExAAAAAAAAAV0AAAAAAAAD4fwAAAAAAAFZAAAAAAACAUEAAAAAAAAD4fwAAAAAAAExAAAAAAACATkAAAAAAAMBSQAAAAAAAQEpAAAAAAACgUEAAAAAAAGBVQAAAAAAAQFRAAAAAAACAQkAAAAAAAAA7QA==\"},\"shape\":[77],\"dtype\":\"float64\",\"order\":\"little\"}],[\"confidence when correct reject\",{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"AAAAAACARUAAAAAAAABUQAAAAAAAAEtAAAAAAAAASUAAAAAAAABUQAAAAAAAgFdAAAAAAADAU0AAAAAAACBTQAAAAAAAQFVAAAAAAACAUUAAAAAAAOBQQAAAAAAAAExAAAAAAACASEAAAAAAAKBRQAAAAAAAgFBAAAAAAACATkAAAAAAAABQQAAAAAAAoFJAAAAAAAAAVEAAAAAAAIBQQAAAAAAAgFBAAAAAAAAAM0AAAAAAAIBEQAAAAAAAwFNAAAAAAABAUEAAAAAAAEBTQAAAAAAAAFlAAAAAAABAU0AAAAAAAMBHQAAAAAAAIFBAAAAAAABAVEAAAAAAAIBRQAAAAAAAIFRAAAAAAABAUUAAAAAAAGBTQAAAAAAAgFJAAAAAAAAATEAAAAAAAGBSQAAAAAAAAFFAAAAAAADAV0AAAAAAAABRQAAAAAAAAElAAAAAAABAUUAAAAAAAIBLQAAAAAAAYFJAAAAAAACAUkAAAAAAAABXQAAAAAAAoFNAAAAAAACAVkAAAAAAAEBRQAAAAAAAQE1AAAAAAACAT0AAAAAAAOBRQAAAAAAAQE1AAAAAAACAUEAAAAAAAIBPQAAAAAAAoFJAAAAAAAAAU0AAAAAAAOBUQAAAAAAAgFFAAAAAAACAVUAAAAAAAMBRQAAAAAAAwE1AAAAAAADAVkAAAAAAAABZQAAAAAAAgFRAAAAAAACAUkAAAAAAAKBSQAAAAAAAAFJAAAAAAAAAVEAAAAAAAABUQAAAAAAA4FBAAAAAAABAU0AAAAAAAMBVQAAAAAAAgFFAAAAAAAAAVUAAAAAAAAA/QA==\"},\"shape\":[77],\"dtype\":\"float64\",\"order\":\"little\"}],[\"confidence when incorrect reject\",{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"AAAAAACASEAAAAAAAMBSQAAAAAAAgEpAAAAAAAAASUAAAAAAAAD4fwAAAAAAgE5AAAAAAAAANUAAAAAAAAA7QAAAAAAAAPh/AAAAAABAUEAAAAAAAEBKQAAAAAAAgEhAAAAAAAAAQkAAAAAAAKBQQAAAAAAAQElAAAAAAAAAS0AAAAAAAIBNQAAAAAAAAPh/AAAAAAAA+H8AAAAAAAA4QAAAAAAAwE9AAAAAAADAREAAAAAAAIBGQAAAAAAAQEVAAAAAAACASkAAAAAAAABUQAAAAAAAwFZAAAAAAAAAQEAAAAAAAKBTQAAAAAAAgEVAAAAAAAAAQkAAAAAAAAA9QAAAAAAAAEJAAAAAAAAAREAAAAAAAEBRQAAAAAAAQFJAAAAAAAAAUUAAAAAAAIBRQAAAAAAAQFBAAAAAAABAUEAAAAAAAIBOQAAAAAAAAERAAAAAAAAATkAAAAAAAABKQAAAAAAAwEpAAAAAAAAA+H8AAAAAAIBPQAAAAAAAoFFAAAAAAAAAREAAAAAAAMBVQAAAAAAAAPh/AAAAAABAUUAAAAAAAMBUQAAAAAAAQFBAAAAAAACATEAAAAAAAEBJQAAAAAAAwFRAAAAAAAAAMUAAAAAAAMBUQAAAAAAAgERAAAAAAACAUkAAAAAAAABNQAAAAAAAAElAAAAAAABAVkAAAAAAAABJQAAAAAAAgFRAAAAAAACATEAAAAAAAIBUQAAAAAAAgE9AAAAAAACATEAAAAAAAABUQAAAAAAAYFBAAAAAAABgU0AAAAAAAABUQAAAAAAAgE5AAAAAAAAASkAAAAAAAKBUQA==\"},\"shape\":[77],\"dtype\":\"float64\",\"order\":\"little\"}],[\"confidence when correct\",{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"AAAAAACASUAAAAAAAKBTQAAAAAAAgExAAAAAAAAATkAAAAAAAABUQAAAAAAAwFhAAAAAAACAU0AAAAAAAKBTQAAAAAAAgFZAAAAAAACAUUAAAAAAAIBSQAAAAAAAgEdAAAAAAAAASkAAAAAAAABVQAAAAAAAgE9AAAAAAAAAT0AAAAAAAMBNQAAAAAAA4FJAAAAAAACAU0AAAAAAAIBPQAAAAAAAQFRAAAAAAAAAOEAAAAAAAABJQAAAAAAAQFRAAAAAAADAUEAAAAAAAEBTQAAAAAAAAFlAAAAAAAAAUUAAAAAAAABIQAAAAAAAgFJAAAAAAACAVEAAAAAAAMBQQAAAAAAAoFRAAAAAAADAUEAAAAAAAABWQAAAAAAAwFRAAAAAAADAT0AAAAAAACBUQAAAAAAAwFFAAAAAAADAV0AAAAAAAKBTQAAAAAAAQEpAAAAAAABAUUAAAAAAAIBOQAAAAAAAgFBAAAAAAACAUkAAAAAAAABXQAAAAAAAAFRAAAAAAAAAV0AAAAAAAMBUQAAAAAAAQE5AAAAAAAAgUkAAAAAAAGBYQAAAAAAAAFFAAAAAAADAUEAAAAAAAEBQQAAAAAAAgFRAAAAAAADAUkAAAAAAAIBXQAAAAAAAQFNAAAAAAAAAV0AAAAAAAEBUQAAAAAAAAE1AAAAAAADgVkAAAAAAAABZQAAAAAAAQFVAAAAAAACAUkAAAAAAAOBTQAAAAAAAoFFAAAAAAAAAUkAAAAAAAEBVQAAAAAAAAFBAAAAAAABAU0AAAAAAAIBSQAAAAAAAQFBAAAAAAABAVEAAAAAAAEBUQA==\"},\"shape\":[77],\"dtype\":\"float64\",\"order\":\"little\"}],[\"confidence when incorrect\",{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"AAAAAACASEAAAAAAAMBQQAAAAAAAQEtAAAAAAAAASUAAAAAAAMBUQAAAAAAAQFBAAAAAAAAAQkAAAAAAAOBQQAAAAAAAAPh/AAAAAACAUUAAAAAAAMBLQAAAAAAAAEZAAAAAAAAAPUAAAAAAAEBLQAAAAAAAAElAAAAAAAAAS0AAAAAAAIBMQAAAAAAAwEFAAAAAAADAUEAAAAAAAIA4QAAAAAAAwE9AAAAAAACAQUAAAAAAAIBGQAAAAAAAAEtAAAAAAACASkAAAAAAAABVQAAAAAAAwFZAAAAAAAAAP0AAAAAAAIBJQAAAAAAAgEVAAAAAAACASEAAAAAAAAA9QAAAAAAAAFNAAAAAAAAAREAAAAAAAMBTQAAAAAAAwEtAAAAAAAAAUUAAAAAAAEBQQAAAAAAAAFFAAAAAAABAUEAAAAAAAABNQAAAAAAAgEFAAAAAAADATUAAAAAAAABJQAAAAAAAwEdAAAAAAAAA+H8AAAAAAGBSQAAAAAAAgFFAAAAAAAAAREAAAAAAAMBQQAAAAAAAAPh/AAAAAADATkAAAAAAAMBUQAAAAAAAAERAAAAAAACASkAAAAAAAIBLQAAAAAAAQFRAAAAAAAAAUEAAAAAAAMBRQAAAAAAAgE1AAAAAAADAUEAAAAAAAABNQAAAAAAAAElAAAAAAADAVkAAAAAAAABJQAAAAAAAQFVAAAAAAAAAUEAAAAAAAIBUQAAAAAAAwE1AAAAAAAAATkAAAAAAAMBSQAAAAAAAwE1AAAAAAACAUkAAAAAAAABUQAAAAAAAQFRAAAAAAACASUAAAAAAAEBSQA==\"},\"shape\":[77],\"dtype\":\"float64\",\"order\":\"little\"}],[\"sci\",{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"HQAAABMAAAAXAAAAGgAAABUAAAATAAAAHAAAAB0AAAARAAAAFgAAABwAAAAfAAAAHwAAACAAAAAZAAAAHgAAABwAAAAeAAAAFgAAABQAAAAaAAAAIAAAACAAAAAYAAAAGgAAAB4AAAAcAAAAFQAAAB0AAAAgAAAAGgAAABoAAAAXAAAAEgAAABYAAAAdAAAAFAAAABsAAAATAAAAHQAAABgAAAAdAAAAEQAAABoAAAAeAAAAEQAAABkAAAAfAAAAGwAAACAAAAAcAAAAGQAAAB4AAAAVAAAAHQAAABQAAAAWAAAAFwAAABQAAAARAAAAGwAAABsAAAAWAAAAGQAAAB4AAAAgAAAAHgAAACAAAAAcAAAAHwAAAB0AAAAaAAAAFAAAABMAAAAfAAAAFgAAABgAAAA=\"},\"shape\":[77],\"dtype\":\"int32\",\"order\":\"little\"}],[\"psqi\",{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"AQAAAAUAAAABAAAABQAAAAcAAAAHAAAAAwAAAAMAAAAKAAAABAAAAAUAAAACAAAAAgAAAAIAAAAFAAAAAgAAAAMAAAADAAAABAAAAAkAAAAFAAAAAgAAAAEAAAAEAAAACAAAAAIAAAACAAAABgAAAAMAAAABAAAABQAAAAcAAAADAAAABgAAAAYAAAABAAAABgAAAAQAAAAEAAAAAwAAAAUAAAACAAAABwAAAAQAAAAAAAAABQAAAAEAAAABAAAABAAAAAEAAAAIAAAABAAAAAIAAAAHAAAABAAAAAEAAAAHAAAABAAAAAUAAAAGAAAABAAAAAIAAAADAAAABAAAAAMAAAABAAAABQAAAAIAAAABAAAAAQAAAAMAAAAGAAAACAAAAAgAAAACAAAABAAAAAUAAAA=\"},\"shape\":[77],\"dtype\":\"int32\",\"order\":\"little\"}],[\"ess\",{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"BQAAAAEAAAADAAAABAAAAAUAAAAMAAAABAAAAAQAAAALAAAABgAAAAMAAAALAAAACgAAAAwAAAAGAAAADQAAAAwAAAAFAAAACgAAAAQAAAAEAAAABgAAAAMAAAAAAAAADAAAAAYAAAAFAAAACQAAAAcAAAAGAAAACgAAABIAAAALAAAACAAAABAAAAAHAAAACQAAAAsAAAAEAAAABwAAAAQAAAALAAAADAAAAAMAAAADAAAABAAAAAsAAAABAAAABAAAAAIAAAAJAAAAAQAAAAIAAAAMAAAABgAAAAUAAAAFAAAABAAAAAkAAAADAAAACAAAAAYAAAAKAAAAFQAAAAUAAAAFAAAACQAAAAEAAAAIAAAACwAAAAUAAAAHAAAACgAAAAcAAAAPAAAABwAAAAcAAAA=\"},\"shape\":[77],\"dtype\":\"int32\",\"order\":\"little\"}],[\"insomnia\",{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=\"},\"shape\":[77],\"dtype\":\"bool\",\"order\":\"little\"}]]}}},\"view\":{\"type\":\"object\",\"name\":\"CDSView\",\"id\":\"p1849\",\"attributes\":{\"filter\":{\"type\":\"object\",\"name\":\"AllIndices\",\"id\":\"p1850\"}}},\"glyph\":{\"type\":\"object\",\"name\":\"Scatter\",\"id\":\"p1845\",\"attributes\":{\"x\":{\"type\":\"field\",\"field\":\"confidence when correct\"},\"y\":{\"type\":\"field\",\"field\":\"confidence when incorrect\"},\"line_color\":{\"type\":\"value\",\"value\":\"#1f77b3\"},\"fill_color\":{\"type\":\"value\",\"value\":\"#1f77b3\"},\"hatch_color\":{\"type\":\"value\",\"value\":\"#1f77b3\"}}},\"nonselection_glyph\":{\"type\":\"object\",\"name\":\"Scatter\",\"id\":\"p1846\",\"attributes\":{\"x\":{\"type\":\"field\",\"field\":\"confidence when correct\"},\"y\":{\"type\":\"field\",\"field\":\"confidence when incorrect\"},\"line_color\":{\"type\":\"value\",\"value\":\"#1f77b3\"},\"line_alpha\":{\"type\":\"value\",\"value\":0.1},\"fill_color\":{\"type\":\"value\",\"value\":\"#1f77b3\"},\"fill_alpha\":{\"type\":\"value\",\"value\":0.1},\"hatch_color\":{\"type\":\"value\",\"value\":\"#1f77b3\"},\"hatch_alpha\":{\"type\":\"value\",\"value\":0.1}}},\"muted_glyph\":{\"type\":\"object\",\"name\":\"Scatter\",\"id\":\"p1847\",\"attributes\":{\"x\":{\"type\":\"field\",\"field\":\"confidence when correct\"},\"y\":{\"type\":\"field\",\"field\":\"confidence when incorrect\"},\"line_color\":{\"type\":\"value\",\"value\":\"#1f77b3\"},\"line_alpha\":{\"type\":\"value\",\"value\":0.2},\"fill_color\":{\"type\":\"value\",\"value\":\"#1f77b3\"},\"fill_alpha\":{\"type\":\"value\",\"value\":0.2},\"hatch_color\":{\"type\":\"value\",\"value\":\"#1f77b3\"},\"hatch_alpha\":{\"type\":\"value\",\"value\":0.2}}}}},{\"type\":\"object\",\"name\":\"GlyphRenderer\",\"id\":\"p1857\",\"attributes\":{\"data_source\":{\"type\":\"object\",\"name\":\"ColumnDataSource\",\"id\":\"p1628\",\"attributes\":{\"selected\":{\"type\":\"object\",\"name\":\"Selection\",\"id\":\"p1629\",\"attributes\":{\"indices\":[],\"line_indices\":[]}},\"selection_policy\":{\"type\":\"object\",\"name\":\"UnionRenderers\",\"id\":\"p1630\"},\"data\":{\"type\":\"map\",\"entries\":[[\"index\",{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"AAAAAAEAAAACAAAAAwAAAAQAAAAFAAAABgAAAAcAAAAIAAAACQAAAAoAAAALAAAADAAAAA0AAAAOAAAADwAAABAAAAARAAAAEgAAABMAAAAUAAAAFQAAABYAAAAXAAAAGAAAAA==\"},\"shape\":[25],\"dtype\":\"int32\",\"order\":\"little\"}],[\"participant number\",{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"CAAAABAAAAASAAAAFgAAABsAAAAcAAAAHgAAACEAAAAiAAAAIwAAACYAAAApAAAALgAAADEAAAA3AAAARwAAAEwAAABNAAAATgAAAFAAAABZAAAAWgAAAF0AAABkAAAAZQAAAA==\"},\"shape\":[25],\"dtype\":\"int32\",\"order\":\"little\"}],[\"gender\",{\"type\":\"ndarray\",\"array\":[\"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\"],\"shape\":[25],\"dtype\":\"object\",\"order\":\"little\"}],[\"age\",{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"JwAAACoAAAAfAAAAIwAAAEoAAAA9AAAAIAAAAD4AAAAhAAAANQAAACkAAAAkAAAAKAAAABgAAAAgAAAAKAAAAD0AAAAqAAAAHwAAABwAAAAaAAAALQAAABwAAAAsAAAAHAAAAA==\"},\"shape\":[25],\"dtype\":\"int32\",\"order\":\"little\"}],[\"correct hit percentage\",{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"QQAAAFoAAABaAAAAZAAAADwAAABQAAAAWgAAAC0AAABQAAAAZAAAAEYAAABaAAAAXwAAAFUAAABLAAAAKAAAAGQAAABGAAAAZAAAAGQAAAA8AAAAZAAAAGQAAABBAAAAZAAAAA==\"},\"shape\":[25],\"dtype\":\"int32\",\"order\":\"little\"}],[\"correct reject percentage\",{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"UAAAAFoAAABfAAAASwAAAEEAAAAUAAAASwAAAFoAAABkAAAAMgAAADcAAABkAAAAQQAAAEsAAAA3AAAAZAAAACgAAABaAAAARgAAADIAAABQAAAAXwAAAEsAAAAZAAAAKAAAAA==\"},\"shape\":[25],\"dtype\":\"int32\",\"order\":\"little\"}],[\"percent correct\",{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"AAAAAAAgUkAAAAAAAIBWQAAAAAAAIFdAAAAAAADgVUAAAAAAAEBPQAAAAAAAAElAAAAAAACgVEAAAAAAAOBQQAAAAAAAgFZAAAAAAADAUkAAAAAAAEBPQAAAAAAAwFdAAAAAAAAAVEAAAAAAAABUQAAAAAAAQFBAAAAAAACAUUAAAAAAAIBRQAAAAAAAAFRAAAAAAABAVUAAAAAAAMBSQAAAAAAAgFFAAAAAAABgWEAAAAAAAOBVQAAAAAAAgEZAAAAAAACAUUA=\"},\"shape\":[25],\"dtype\":\"float64\",\"order\":\"little\"}],[\"confidence when correct hit\",{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"AAAAAADAVkAAAAAAAOBSQAAAAAAAYFZAAAAAAABgVkAAAAAAACBRQAAAAAAAwFFAAAAAAADAUEAAAAAAAABLQAAAAAAAoFFAAAAAAACgUkAAAAAAAIBUQAAAAAAAIFNAAAAAAAAAVEAAAAAAAABNQAAAAAAAQFVAAAAAAABAUUAAAAAAAGBRQAAAAAAAwFVAAAAAAAAAV0AAAAAAAABZQAAAAAAAgFFAAAAAAAAAWUAAAAAAAGBWQAAAAAAAAE9AAAAAAADAVUA=\"},\"shape\":[25],\"dtype\":\"float64\",\"order\":\"little\"}],[\"confidence when incorrect hit\",{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"AAAAAACAVkAAAAAAAMBLQAAAAAAAgFZAAAAAAAAA+H8AAAAAAIBIQAAAAAAAgE9AAAAAAABATEAAAAAAAIBCQAAAAAAAIFNAAAAAAAAA+H8AAAAAAMBOQAAAAAAA4FJAAAAAAABAVkAAAAAAAABJQAAAAAAAQFRAAAAAAAAATEAAAAAAAAD4fwAAAAAAAFJAAAAAAAAA+H8AAAAAAAD4fwAAAAAAQFNAAAAAAAAA+H8AAAAAAAD4fwAAAAAAAFJAAAAAAAAA+H8=\"},\"shape\":[25],\"dtype\":\"float64\",\"order\":\"little\"}],[\"confidence when correct reject\",{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"AAAAAABAV0AAAAAAAKBRQAAAAAAAgFVAAAAAAADAUUAAAAAAAIBOQAAAAAAAAD9AAAAAAACAUEAAAAAAAEBQQAAAAAAAIFBAAAAAAABATkAAAAAAAEBSQAAAAAAAwFJAAAAAAADAU0AAAAAAAIBIQAAAAAAAQFVAAAAAAACAUUAAAAAAAEBGQAAAAAAAoFZAAAAAAABAVEAAAAAAAABZQAAAAAAAgFRAAAAAAAAAWUAAAAAAAMBQQAAAAAAAwFVAAAAAAAAAUUA=\"},\"shape\":[25],\"dtype\":\"float64\",\"order\":\"little\"}],[\"confidence when incorrect reject\",{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"AAAAAADgVEAAAAAAAABJQAAAAAAAQFRAAAAAAAAAVEAAAAAAAIBIQAAAAAAAIFJAAAAAAABAUEAAAAAAAGBUQAAAAAAAAPh/AAAAAABAUEAAAAAAAEBRQAAAAAAAAPh/AAAAAABATUAAAAAAAABRQAAAAAAAgFVAAAAAAAAA+H8AAAAAAEBSQAAAAAAAwEVAAAAAAAAATkAAAAAAAABZQAAAAAAA4FBAAAAAAAAAWUAAAAAAAABOQAAAAAAAQFNAAAAAAAAAS0A=\"},\"shape\":[25],\"dtype\":\"float64\",\"order\":\"little\"}],[\"confidence when correct\",{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"AAAAAABAV0AAAAAAAMBSQAAAAAAAQFZAAAAAAAAAVkAAAAAAAEBQQAAAAAAAIFBAAAAAAACAUEAAAAAAAABPQAAAAAAAAFFAAAAAAADAUUAAAAAAAIBUQAAAAAAAAFNAAAAAAADgU0AAAAAAAIBLQAAAAAAAQFVAAAAAAACAUUAAAAAAAEBLQAAAAAAAIFZAAAAAAADgVUAAAAAAAABZQAAAAAAAQFNAAAAAAAAAWUAAAAAAAABUQAAAAAAAYFFAAAAAAABAVEA=\"},\"shape\":[25],\"dtype\":\"float64\",\"order\":\"little\"}],[\"confidence when incorrect\",{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"AAAAAACAVkAAAAAAAABJQAAAAAAAAFZAAAAAAAAAVEAAAAAAAIBIQAAAAAAAoFFAAAAAAAAAUEAAAAAAAIBOQAAAAAAAIFNAAAAAAABAUEAAAAAAAABQQAAAAAAA4FJAAAAAAACAT0AAAAAAAIBNQAAAAAAA4FRAAAAAAAAATEAAAAAAAEBSQAAAAAAAAFBAAAAAAAAATkAAAAAAAABZQAAAAAAAoFFAAAAAAAAAWUAAAAAAAABOQAAAAAAAYFJAAAAAAAAAS0A=\"},\"shape\":[25],\"dtype\":\"float64\",\"order\":\"little\"}],[\"sci\",{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"CQAAAAQAAAAKAAAADQAAAA0AAAAPAAAAEAAAAA4AAAAOAAAADgAAAA4AAAAPAAAACgAAAA4AAAAFAAAAAAAAABAAAAALAAAADgAAAAwAAAAOAAAADgAAABAAAAABAAAADgAAAA==\"},\"shape\":[25],\"dtype\":\"int32\",\"order\":\"little\"}],[\"psqi\",{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"DQAAAAsAAAAJAAAACAAAAAkAAAAOAAAACQAAAAkAAAAMAAAACAAAAAUAAAAHAAAADAAAAA0AAAANAAAACwAAAAQAAAAKAAAABgAAAAcAAAAIAAAACQAAAAcAAAAPAAAABwAAAA==\"},\"shape\":[25],\"dtype\":\"int32\",\"order\":\"little\"}],[\"ess\",{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"AgAAAAcAAAADAAAAFAAAAAwAAAACAAAAAwAAAAkAAAAKAAAABwAAABMAAAAAAAAACAAAAAQAAAAHAAAADgAAAAwAAAAKAAAACwAAAAwAAAABAAAABgAAAAQAAAAGAAAAAgAAAA==\"},\"shape\":[25],\"dtype\":\"int32\",\"order\":\"little\"}],[\"insomnia\",{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"AQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQ==\"},\"shape\":[25],\"dtype\":\"bool\",\"order\":\"little\"}]]}}},\"view\":{\"type\":\"object\",\"name\":\"CDSView\",\"id\":\"p1858\",\"attributes\":{\"filter\":{\"type\":\"object\",\"name\":\"AllIndices\",\"id\":\"p1859\"}}},\"glyph\":{\"type\":\"object\",\"name\":\"Scatter\",\"id\":\"p1854\",\"attributes\":{\"x\":{\"type\":\"field\",\"field\":\"confidence when correct\"},\"y\":{\"type\":\"field\",\"field\":\"confidence when incorrect\"},\"line_color\":{\"type\":\"value\",\"value\":\"#ff7e0e\"},\"fill_color\":{\"type\":\"value\",\"value\":\"#ff7e0e\"},\"hatch_color\":{\"type\":\"value\",\"value\":\"#ff7e0e\"}}},\"nonselection_glyph\":{\"type\":\"object\",\"name\":\"Scatter\",\"id\":\"p1855\",\"attributes\":{\"x\":{\"type\":\"field\",\"field\":\"confidence when correct\"},\"y\":{\"type\":\"field\",\"field\":\"confidence when incorrect\"},\"line_color\":{\"type\":\"value\",\"value\":\"#ff7e0e\"},\"line_alpha\":{\"type\":\"value\",\"value\":0.1},\"fill_color\":{\"type\":\"value\",\"value\":\"#ff7e0e\"},\"fill_alpha\":{\"type\":\"value\",\"value\":0.1},\"hatch_color\":{\"type\":\"value\",\"value\":\"#ff7e0e\"},\"hatch_alpha\":{\"type\":\"value\",\"value\":0.1}}},\"muted_glyph\":{\"type\":\"object\",\"name\":\"Scatter\",\"id\":\"p1856\",\"attributes\":{\"x\":{\"type\":\"field\",\"field\":\"confidence when correct\"},\"y\":{\"type\":\"field\",\"field\":\"confidence when incorrect\"},\"line_color\":{\"type\":\"value\",\"value\":\"#ff7e0e\"},\"line_alpha\":{\"type\":\"value\",\"value\":0.2},\"fill_color\":{\"type\":\"value\",\"value\":\"#ff7e0e\"},\"fill_alpha\":{\"type\":\"value\",\"value\":0.2},\"hatch_color\":{\"type\":\"value\",\"value\":\"#ff7e0e\"},\"hatch_alpha\":{\"type\":\"value\",\"value\":0.2}}}}}],\"toolbar\":{\"type\":\"object\",\"name\":\"Toolbar\",\"id\":\"p1816\",\"attributes\":{\"tools\":[{\"type\":\"object\",\"name\":\"PanTool\",\"id\":\"p1831\"},{\"type\":\"object\",\"name\":\"WheelZoomTool\",\"id\":\"p1832\",\"attributes\":{\"renderers\":\"auto\"}},{\"type\":\"object\",\"name\":\"BoxZoomTool\",\"id\":\"p1833\",\"attributes\":{\"overlay\":{\"type\":\"object\",\"name\":\"BoxAnnotation\",\"id\":\"p1834\",\"attributes\":{\"syncable\":false,\"level\":\"overlay\",\"visible\":false,\"left\":{\"type\":\"number\",\"value\":\"nan\"},\"right\":{\"type\":\"number\",\"value\":\"nan\"},\"top\":{\"type\":\"number\",\"value\":\"nan\"},\"bottom\":{\"type\":\"number\",\"value\":\"nan\"},\"left_units\":\"canvas\",\"right_units\":\"canvas\",\"top_units\":\"canvas\",\"bottom_units\":\"canvas\",\"line_color\":\"black\",\"line_alpha\":1.0,\"line_width\":2,\"line_dash\":[4,4],\"fill_color\":\"lightgrey\",\"fill_alpha\":0.5}}}},{\"type\":\"object\",\"name\":\"SaveTool\",\"id\":\"p1839\"},{\"type\":\"object\",\"name\":\"ResetTool\",\"id\":\"p1840\"},{\"type\":\"object\",\"name\":\"HelpTool\",\"id\":\"p1841\"}]}},\"left\":[{\"type\":\"object\",\"name\":\"LinearAxis\",\"id\":\"p1826\",\"attributes\":{\"ticker\":{\"type\":\"object\",\"name\":\"BasicTicker\",\"id\":\"p1827\",\"attributes\":{\"mantissas\":[1,2,5]}},\"formatter\":{\"type\":\"object\",\"name\":\"BasicTickFormatter\",\"id\":\"p1828\"},\"axis_label\":\"condifence when incorrect\",\"axis_label_text_font_size\":\"7.5pt\",\"axis_label_text_font_style\":\"normal\",\"major_label_policy\":{\"type\":\"object\",\"name\":\"AllLabels\",\"id\":\"p1829\"},\"major_label_text_font_size\":\"7.5pt\",\"axis_line_color\":null,\"major_tick_in\":0,\"major_tick_out\":0,\"minor_tick_out\":0}}],\"right\":[{\"type\":\"object\",\"name\":\"Legend\",\"id\":\"p1860\",\"attributes\":{\"border_line_color\":\"darkgray\",\"border_line_width\":0.75,\"background_fill_color\":\"#eaeaf2\",\"click_policy\":\"hide\",\"label_text_font_size\":\"7.5pt\",\"items\":[{\"type\":\"object\",\"name\":\"LegendItem\",\"id\":\"p1861\",\"attributes\":{\"label\":{\"type\":\"value\",\"value\":\"normal\"},\"renderers\":[{\"id\":\"p1848\"}]}},{\"type\":\"object\",\"name\":\"LegendItem\",\"id\":\"p1862\",\"attributes\":{\"label\":{\"type\":\"value\",\"value\":\"insomnia\"},\"renderers\":[{\"id\":\"p1857\"}]}}]}}],\"below\":[{\"type\":\"object\",\"name\":\"LinearAxis\",\"id\":\"p1821\",\"attributes\":{\"ticker\":{\"type\":\"object\",\"name\":\"BasicTicker\",\"id\":\"p1822\",\"attributes\":{\"mantissas\":[1,2,5]}},\"formatter\":{\"type\":\"object\",\"name\":\"BasicTickFormatter\",\"id\":\"p1823\"},\"axis_label\":\"confidence when correct\",\"axis_label_text_font_size\":\"7.5pt\",\"axis_label_text_font_style\":\"normal\",\"major_label_policy\":{\"type\":\"object\",\"name\":\"AllLabels\",\"id\":\"p1824\"},\"major_label_text_font_size\":\"7.5pt\",\"axis_line_color\":null,\"major_tick_in\":0,\"major_tick_out\":0,\"minor_tick_out\":0}}],\"center\":[{\"type\":\"object\",\"name\":\"Grid\",\"id\":\"p1825\",\"attributes\":{\"axis\":{\"id\":\"p1821\"},\"grid_line_color\":\"#FFFFFF\",\"grid_line_width\":0.75}},{\"type\":\"object\",\"name\":\"Grid\",\"id\":\"p1830\",\"attributes\":{\"dimension\":1,\"axis\":{\"id\":\"p1826\"},\"grid_line_color\":\"#FFFFFF\",\"grid_line_width\":0.75}}],\"frame_width\":300,\"frame_height\":300,\"background_fill_color\":\"#eaeaf2\"}}]}};\n", " const render_items = [{\"docid\":\"377896d6-e49a-4d48-8e89-a3fb6997cc2c\",\"roots\":{\"p1807\":\"f4037073-35ee-48d3-a65b-913a2249b7ad\"},\"root_ids\":[\"p1807\"]}];\n", " void root.Bokeh.embed.embed_items_notebook(docs_json, render_items);\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": "p1807" } }, "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": 26, "metadata": {}, "outputs": [ { "data": { "text/html": [ "\n", "
\n" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "application/javascript": [ "(function(root) {\n", " function embed_document(root) {\n", " const docs_json = {\"119431c6-12e0-49d0-afd4-f73c1ced9225\":{\"version\":\"3.4.1\",\"title\":\"Bokeh Application\",\"roots\":[{\"type\":\"object\",\"name\":\"Figure\",\"id\":\"p1895\",\"attributes\":{\"x_range\":{\"type\":\"object\",\"name\":\"Range1d\",\"id\":\"p1905\",\"attributes\":{\"end\":100}},\"y_range\":{\"type\":\"object\",\"name\":\"Range1d\",\"id\":\"p1906\",\"attributes\":{\"end\":100}},\"x_scale\":{\"type\":\"object\",\"name\":\"LinearScale\",\"id\":\"p1907\"},\"y_scale\":{\"type\":\"object\",\"name\":\"LinearScale\",\"id\":\"p1908\"},\"title\":{\"type\":\"object\",\"name\":\"Title\",\"id\":\"p1898\",\"attributes\":{\"level\":\"overlay\",\"text\":\"GMFT with sleep conditions\",\"text_font\":\"helvetica\",\"text_font_size\":\"10pt\",\"text_font_style\":\"bold\"}},\"renderers\":[{\"type\":\"object\",\"name\":\"GlyphRenderer\",\"id\":\"p1936\",\"attributes\":{\"level\":\"overlay\",\"data_source\":{\"type\":\"object\",\"name\":\"ColumnDataSource\",\"id\":\"p1631\",\"attributes\":{\"selected\":{\"type\":\"object\",\"name\":\"Selection\",\"id\":\"p1632\",\"attributes\":{\"indices\":[],\"line_indices\":[]}},\"selection_policy\":{\"type\":\"object\",\"name\":\"UnionRenderers\",\"id\":\"p1633\"},\"data\":{\"type\":\"map\",\"entries\":[[\"index\",{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"GQAAABoAAAAbAAAAHAAAAB0AAAAeAAAAHwAAACAAAAAhAAAAIgAAACMAAAAkAAAAJQAAACYAAAAnAAAAKAAAACkAAAAqAAAAKwAAACwAAAAtAAAALgAAAC8AAAAwAAAAMQAAADIAAAAzAAAANAAAADUAAAA2AAAANwAAADgAAAA5AAAAOgAAADsAAAA8AAAAPQAAAD4AAAA/AAAAQAAAAEEAAABCAAAAQwAAAEQAAABFAAAARgAAAEcAAABIAAAASQAAAEoAAABLAAAATAAAAE0AAABOAAAATwAAAFAAAABRAAAAUgAAAFMAAABUAAAAVQAAAFYAAABXAAAAWAAAAFkAAABaAAAAWwAAAFwAAABdAAAAXgAAAF8AAABgAAAAYQAAAGIAAABjAAAAZAAAAGUAAAA=\"},\"shape\":[77],\"dtype\":\"int32\",\"order\":\"little\"}],[\"participant number\",{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"AQAAAAIAAAADAAAABAAAAAUAAAAGAAAABwAAAAkAAAAKAAAACwAAAAwAAAANAAAADgAAAA8AAAARAAAAEwAAABQAAAAVAAAAFwAAABgAAAAZAAAAGgAAAB0AAAAfAAAAIAAAACQAAAAlAAAAJwAAACgAAAAqAAAAKwAAACwAAAAtAAAAMAAAADIAAAAzAAAANAAAADUAAAA2AAAAOAAAADkAAAA6AAAAOwAAADwAAAA9AAAAPgAAAD8AAABAAAAAQQAAAEIAAABDAAAARAAAAEUAAABGAAAASAAAAEkAAABKAAAASwAAAE8AAABRAAAAUgAAAFMAAABUAAAAVQAAAFYAAABXAAAAWAAAAFsAAABcAAAAXgAAAF8AAABgAAAAYQAAAGIAAABjAAAAZgAAAGcAAAA=\"},\"shape\":[77],\"dtype\":\"int32\",\"order\":\"little\"}],[\"gender\",{\"type\":\"ndarray\",\"array\":[\"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\"],\"shape\":[77],\"dtype\":\"object\",\"order\":\"little\"}],[\"age\",{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"KgAAAC0AAAAQAAAAFQAAABIAAAAcAAAAJgAAABEAAAAZAAAAFgAAACkAAAA1AAAAKwAAABcAAAATAAAALQAAACsAAAAjAAAAGAAAAEAAAAAkAAAAIwAAACsAAAAsAAAAHQAAABYAAAAuAAAAIwAAADUAAAAdAAAAHwAAABUAAAAqAAAAFwAAADYAAAAYAAAAFQAAABUAAAArAAAAMgAAADUAAAAQAAAAQwAAACQAAAAiAAAAKgAAAC4AAABFAAAAHwAAACwAAAAZAAAALQAAAC8AAAAhAAAAEgAAAEoAAAAVAAAALQAAACUAAAApAAAAKQAAACIAAAAnAAAAEgAAAB8AAAAaAAAAQgAAAD4AAAAWAAAAKQAAAC4AAAA4AAAAFwAAAEYAAAAYAAAAKAAAACEAAAA=\"},\"shape\":[77],\"dtype\":\"int32\",\"order\":\"little\"}],[\"correct hit percentage\",{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"UAAAAFAAAABGAAAARgAAAFoAAABfAAAAWgAAAFoAAABkAAAAUAAAAFoAAABfAAAAXwAAAFoAAAA3AAAAZAAAAEEAAABaAAAANwAAAEsAAABkAAAARgAAAFoAAABfAAAAXwAAAEYAAABQAAAAMgAAAEEAAABkAAAAVQAAAFUAAABaAAAAWgAAAFoAAABVAAAAVQAAAFoAAABfAAAARgAAAF8AAABVAAAAXwAAAFoAAABaAAAAZAAAAFAAAABfAAAAZAAAAFoAAABkAAAARgAAAFoAAABVAAAAUAAAAFUAAAAoAAAAUAAAAFoAAABaAAAAUAAAAFoAAABLAAAAVQAAAGQAAABfAAAAPAAAAGQAAABVAAAAIwAAAF8AAABGAAAARgAAAFoAAABGAAAASwAAAFUAAAA=\"},\"shape\":[77],\"dtype\":\"int32\",\"order\":\"little\"}],[\"correct reject percentage\",{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"QQAAAFoAAABQAAAAQQAAAGQAAABQAAAAXwAAAFoAAABkAAAAPAAAAFAAAAA8AAAAWgAAAFAAAAA8AAAAVQAAAEEAAABkAAAAZAAAAFUAAABQAAAAWgAAAFUAAABaAAAANwAAAEEAAABLAAAAXwAAAFAAAABGAAAAWgAAAFoAAABaAAAAVQAAAEYAAABfAAAASwAAAFAAAABLAAAAVQAAAEsAAABVAAAASwAAAEEAAABaAAAAZAAAAFoAAABQAAAAXwAAAF8AAABkAAAAMgAAAGQAAABGAAAASwAAAFAAAAAoAAAAXwAAAFAAAABVAAAASwAAACMAAABGAAAAVQAAAFUAAABLAAAAVQAAAFAAAABfAAAASwAAAFAAAAAyAAAAVQAAAFUAAABQAAAAQQAAACgAAAA=\"},\"shape\":[77],\"dtype\":\"int32\",\"order\":\"little\"}],[\"percent correct\",{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"AAAAAAAgUkAAAAAAAEBVQAAAAAAAwFJAAAAAAADgUEAAAAAAAMBXQAAAAAAA4FVAAAAAAAAgV0AAAAAAAIBWQAAAAAAAAFlAAAAAAACAUUAAAAAAAEBVQAAAAAAAYFNAAAAAAAAgV0AAAAAAAEBVQAAAAAAAwExAAAAAAAAgV0AAAAAAAEBQQAAAAAAAwFdAAAAAAABgU0AAAAAAAABUQAAAAAAAgFZAAAAAAAAAVEAAAAAAAOBVQAAAAAAAIFdAAAAAAADAUkAAAAAAAOBQQAAAAAAAYFNAAAAAAAAgUkAAAAAAACBSQAAAAAAAQFVAAAAAAADgVUAAAAAAAOBVQAAAAAAAgFZAAAAAAADgVUAAAAAAAABUQAAAAAAAgFZAAAAAAAAAVEAAAAAAAEBVQAAAAAAAQFVAAAAAAABgU0AAAAAAAEBVQAAAAAAAQFVAAAAAAABAVUAAAAAAAGBTQAAAAAAAgFZAAAAAAAAAWUAAAAAAAEBVQAAAAAAA4FVAAAAAAABgWEAAAAAAACBXQAAAAAAAAFlAAAAAAAAATkAAAAAAAMBXQAAAAAAAYFNAAAAAAABgU0AAAAAAAKBUQAAAAAAAAERAAAAAAADgVUAAAAAAAEBVQAAAAAAA4FVAAAAAAABgU0AAAAAAAEBPQAAAAAAAIFJAAAAAAABAVUAAAAAAACBXQAAAAAAAQFVAAAAAAAAgUkAAAAAAAIBWQAAAAAAAgFZAAAAAAACAS0AAAAAAAOBVQAAAAAAAAE5AAAAAAABgU0AAAAAAAOBVQAAAAAAAwFJAAAAAAACAUUAAAAAAAEBPQA==\"},\"shape\":[77],\"dtype\":\"float64\",\"order\":\"little\"}],[\"confidence when correct hit\",{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"AAAAAADASUAAAAAAAMBSQAAAAAAAgFFAAAAAAADAT0AAAAAAACBTQAAAAAAAAFlAAAAAAABAU0AAAAAAACBUQAAAAAAAgFZAAAAAAACAUUAAAAAAACBTQAAAAAAAAERAAAAAAAAASkAAAAAAAABWQAAAAAAAAE9AAAAAAAAAUUAAAAAAAIBNQAAAAAAA4FJAAAAAAAAAUUAAAAAAAABJQAAAAAAAAFZAAAAAAACAPUAAAAAAAGBQQAAAAAAAwFRAAAAAAADAUEAAAAAAAIBTQAAAAAAAIFJAAAAAAABAT0AAAAAAAABLQAAAAAAAwFJAAAAAAACAVEAAAAAAAIBQQAAAAAAAwFRAAAAAAADAUEAAAAAAAIBWQAAAAAAAQFhAAAAAAABAUEAAAAAAAABVQAAAAAAAgFJAAAAAAAAgV0AAAAAAAABVQAAAAAAAgEtAAAAAAACAUUAAAAAAAOBQQAAAAAAAQE1AAAAAAACgUkAAAAAAAABXQAAAAAAAAFRAAAAAAACAWEAAAAAAAMBVQAAAAAAAwE5AAAAAAAAgVEAAAAAAAABZQAAAAAAAgFFAAAAAAADgUEAAAAAAAIBQQAAAAAAAoFZAAAAAAACAUkAAAAAAAOBXQAAAAAAAAFRAAAAAAACgV0AAAAAAAEBUQAAAAAAAgExAAAAAAABAV0AAAAAAAABZQAAAAAAAQFVAAAAAAADgUEAAAAAAAEBUQAAAAAAAgFBAAAAAAACAS0AAAAAAAIBWQAAAAAAAgE9AAAAAAABAU0AAAAAAAGBQQAAAAAAAwE5AAAAAAACASkAAAAAAAABUQA==\"},\"shape\":[77],\"dtype\":\"float64\",\"order\":\"little\"}],[\"confidence when incorrect hit\",{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"AAAAAABARkAAAAAAAMBLQAAAAAAAgExAAAAAAAAAUEAAAAAAAMBUQAAAAAAAQFVAAAAAAADARUAAAAAAAOBVQAAAAAAAAPh/AAAAAACAUUAAAAAAAMBLQAAAAAAAgEBAAAAAAAAAPUAAAAAAAABEQAAAAAAAAElAAAAAAAAA+H8AAAAAAIBLQAAAAAAAwEFAAAAAAADAUEAAAAAAAAA5QAAAAAAAAPh/AAAAAACAPEAAAAAAAAA7QAAAAAAAAExAAAAAAACASkAAAAAAAABWQAAAAAAAAFJAAAAAAAAAPUAAAAAAAABAQAAAAAAAAPh/AAAAAACASEAAAAAAAAA9QAAAAAAAwFRAAAAAAACAR0AAAAAAAOBUQAAAAAAAgERAAAAAAABAUkAAAAAAAMBLQAAAAAAAQFZAAAAAAAAgUkAAAAAAAIBLQAAAAAAAAD5AAAAAAAAAHEAAAAAAAIA8QAAAAAAAgEVAAAAAAAAA+H8AAAAAAOBSQAAAAAAAQFBAAAAAAAAA+H8AAAAAAMBHQAAAAAAAAPh/AAAAAADASUAAAAAAAAD4fwAAAAAAAENAAAAAAADASUAAAAAAAIBLQAAAAAAAAFRAAAAAAADAUEAAAAAAAABRQAAAAAAAwE1AAAAAAADATkAAAAAAAABKQAAAAAAAgExAAAAAAAAAV0AAAAAAAAD4fwAAAAAAAFZAAAAAAACAUEAAAAAAAAD4fwAAAAAAAExAAAAAAACATkAAAAAAAMBSQAAAAAAAQEpAAAAAAACgUEAAAAAAAGBVQAAAAAAAQFRAAAAAAACAQkAAAAAAAAA7QA==\"},\"shape\":[77],\"dtype\":\"float64\",\"order\":\"little\"}],[\"confidence when correct reject\",{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"AAAAAACARUAAAAAAAABUQAAAAAAAAEtAAAAAAAAASUAAAAAAAABUQAAAAAAAgFdAAAAAAADAU0AAAAAAACBTQAAAAAAAQFVAAAAAAACAUUAAAAAAAOBQQAAAAAAAAExAAAAAAACASEAAAAAAAKBRQAAAAAAAgFBAAAAAAACATkAAAAAAAABQQAAAAAAAoFJAAAAAAAAAVEAAAAAAAIBQQAAAAAAAgFBAAAAAAAAAM0AAAAAAAIBEQAAAAAAAwFNAAAAAAABAUEAAAAAAAEBTQAAAAAAAAFlAAAAAAABAU0AAAAAAAMBHQAAAAAAAIFBAAAAAAABAVEAAAAAAAIBRQAAAAAAAIFRAAAAAAABAUUAAAAAAAGBTQAAAAAAAgFJAAAAAAAAATEAAAAAAAGBSQAAAAAAAAFFAAAAAAADAV0AAAAAAAABRQAAAAAAAAElAAAAAAABAUUAAAAAAAIBLQAAAAAAAYFJAAAAAAACAUkAAAAAAAABXQAAAAAAAoFNAAAAAAACAVkAAAAAAAEBRQAAAAAAAQE1AAAAAAACAT0AAAAAAAOBRQAAAAAAAQE1AAAAAAACAUEAAAAAAAIBPQAAAAAAAoFJAAAAAAAAAU0AAAAAAAOBUQAAAAAAAgFFAAAAAAACAVUAAAAAAAMBRQAAAAAAAwE1AAAAAAADAVkAAAAAAAABZQAAAAAAAgFRAAAAAAACAUkAAAAAAAKBSQAAAAAAAAFJAAAAAAAAAVEAAAAAAAABUQAAAAAAA4FBAAAAAAABAU0AAAAAAAMBVQAAAAAAAgFFAAAAAAAAAVUAAAAAAAAA/QA==\"},\"shape\":[77],\"dtype\":\"float64\",\"order\":\"little\"}],[\"confidence when incorrect reject\",{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"AAAAAACASEAAAAAAAMBSQAAAAAAAgEpAAAAAAAAASUAAAAAAAAD4fwAAAAAAgE5AAAAAAAAANUAAAAAAAAA7QAAAAAAAAPh/AAAAAABAUEAAAAAAAEBKQAAAAAAAgEhAAAAAAAAAQkAAAAAAAKBQQAAAAAAAQElAAAAAAAAAS0AAAAAAAIBNQAAAAAAAAPh/AAAAAAAA+H8AAAAAAAA4QAAAAAAAwE9AAAAAAADAREAAAAAAAIBGQAAAAAAAQEVAAAAAAACASkAAAAAAAABUQAAAAAAAwFZAAAAAAAAAQEAAAAAAAKBTQAAAAAAAgEVAAAAAAAAAQkAAAAAAAAA9QAAAAAAAAEJAAAAAAAAAREAAAAAAAEBRQAAAAAAAQFJAAAAAAAAAUUAAAAAAAIBRQAAAAAAAQFBAAAAAAABAUEAAAAAAAIBOQAAAAAAAAERAAAAAAAAATkAAAAAAAABKQAAAAAAAwEpAAAAAAAAA+H8AAAAAAIBPQAAAAAAAoFFAAAAAAAAAREAAAAAAAMBVQAAAAAAAAPh/AAAAAABAUUAAAAAAAMBUQAAAAAAAQFBAAAAAAACATEAAAAAAAEBJQAAAAAAAwFRAAAAAAAAAMUAAAAAAAMBUQAAAAAAAgERAAAAAAACAUkAAAAAAAABNQAAAAAAAAElAAAAAAABAVkAAAAAAAABJQAAAAAAAgFRAAAAAAACATEAAAAAAAIBUQAAAAAAAgE9AAAAAAACATEAAAAAAAABUQAAAAAAAYFBAAAAAAABgU0AAAAAAAABUQAAAAAAAgE5AAAAAAAAASkAAAAAAAKBUQA==\"},\"shape\":[77],\"dtype\":\"float64\",\"order\":\"little\"}],[\"confidence when correct\",{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"AAAAAACASUAAAAAAAKBTQAAAAAAAgExAAAAAAAAATkAAAAAAAABUQAAAAAAAwFhAAAAAAACAU0AAAAAAAKBTQAAAAAAAgFZAAAAAAACAUUAAAAAAAIBSQAAAAAAAgEdAAAAAAAAASkAAAAAAAABVQAAAAAAAgE9AAAAAAAAAT0AAAAAAAMBNQAAAAAAA4FJAAAAAAACAU0AAAAAAAIBPQAAAAAAAQFRAAAAAAAAAOEAAAAAAAABJQAAAAAAAQFRAAAAAAADAUEAAAAAAAEBTQAAAAAAAAFlAAAAAAAAAUUAAAAAAAABIQAAAAAAAgFJAAAAAAACAVEAAAAAAAMBQQAAAAAAAoFRAAAAAAADAUEAAAAAAAABWQAAAAAAAwFRAAAAAAADAT0AAAAAAACBUQAAAAAAAwFFAAAAAAADAV0AAAAAAAKBTQAAAAAAAQEpAAAAAAABAUUAAAAAAAIBOQAAAAAAAgFBAAAAAAACAUkAAAAAAAABXQAAAAAAAAFRAAAAAAAAAV0AAAAAAAMBUQAAAAAAAQE5AAAAAAAAgUkAAAAAAAGBYQAAAAAAAAFFAAAAAAADAUEAAAAAAAEBQQAAAAAAAgFRAAAAAAADAUkAAAAAAAIBXQAAAAAAAQFNAAAAAAAAAV0AAAAAAAEBUQAAAAAAAAE1AAAAAAADgVkAAAAAAAABZQAAAAAAAQFVAAAAAAACAUkAAAAAAAOBTQAAAAAAAoFFAAAAAAAAAUkAAAAAAAEBVQAAAAAAAAFBAAAAAAABAU0AAAAAAAIBSQAAAAAAAQFBAAAAAAABAVEAAAAAAAEBUQA==\"},\"shape\":[77],\"dtype\":\"float64\",\"order\":\"little\"}],[\"confidence when incorrect\",{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"AAAAAACASEAAAAAAAMBQQAAAAAAAQEtAAAAAAAAASUAAAAAAAMBUQAAAAAAAQFBAAAAAAAAAQkAAAAAAAOBQQAAAAAAAAPh/AAAAAACAUUAAAAAAAMBLQAAAAAAAAEZAAAAAAAAAPUAAAAAAAEBLQAAAAAAAAElAAAAAAAAAS0AAAAAAAIBMQAAAAAAAwEFAAAAAAADAUEAAAAAAAIA4QAAAAAAAwE9AAAAAAACAQUAAAAAAAIBGQAAAAAAAAEtAAAAAAACASkAAAAAAAABVQAAAAAAAwFZAAAAAAAAAP0AAAAAAAIBJQAAAAAAAgEVAAAAAAACASEAAAAAAAAA9QAAAAAAAAFNAAAAAAAAAREAAAAAAAMBTQAAAAAAAwEtAAAAAAAAAUUAAAAAAAEBQQAAAAAAAAFFAAAAAAABAUEAAAAAAAABNQAAAAAAAgEFAAAAAAADATUAAAAAAAABJQAAAAAAAwEdAAAAAAAAA+H8AAAAAAGBSQAAAAAAAgFFAAAAAAAAAREAAAAAAAMBQQAAAAAAAAPh/AAAAAADATkAAAAAAAMBUQAAAAAAAAERAAAAAAACASkAAAAAAAIBLQAAAAAAAQFRAAAAAAAAAUEAAAAAAAMBRQAAAAAAAgE1AAAAAAADAUEAAAAAAAABNQAAAAAAAAElAAAAAAADAVkAAAAAAAABJQAAAAAAAQFVAAAAAAAAAUEAAAAAAAIBUQAAAAAAAwE1AAAAAAAAATkAAAAAAAMBSQAAAAAAAwE1AAAAAAACAUkAAAAAAAABUQAAAAAAAQFRAAAAAAACASUAAAAAAAEBSQA==\"},\"shape\":[77],\"dtype\":\"float64\",\"order\":\"little\"}],[\"sci\",{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"HQAAABMAAAAXAAAAGgAAABUAAAATAAAAHAAAAB0AAAARAAAAFgAAABwAAAAfAAAAHwAAACAAAAAZAAAAHgAAABwAAAAeAAAAFgAAABQAAAAaAAAAIAAAACAAAAAYAAAAGgAAAB4AAAAcAAAAFQAAAB0AAAAgAAAAGgAAABoAAAAXAAAAEgAAABYAAAAdAAAAFAAAABsAAAATAAAAHQAAABgAAAAdAAAAEQAAABoAAAAeAAAAEQAAABkAAAAfAAAAGwAAACAAAAAcAAAAGQAAAB4AAAAVAAAAHQAAABQAAAAWAAAAFwAAABQAAAARAAAAGwAAABsAAAAWAAAAGQAAAB4AAAAgAAAAHgAAACAAAAAcAAAAHwAAAB0AAAAaAAAAFAAAABMAAAAfAAAAFgAAABgAAAA=\"},\"shape\":[77],\"dtype\":\"int32\",\"order\":\"little\"}],[\"psqi\",{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"AQAAAAUAAAABAAAABQAAAAcAAAAHAAAAAwAAAAMAAAAKAAAABAAAAAUAAAACAAAAAgAAAAIAAAAFAAAAAgAAAAMAAAADAAAABAAAAAkAAAAFAAAAAgAAAAEAAAAEAAAACAAAAAIAAAACAAAABgAAAAMAAAABAAAABQAAAAcAAAADAAAABgAAAAYAAAABAAAABgAAAAQAAAAEAAAAAwAAAAUAAAACAAAABwAAAAQAAAAAAAAABQAAAAEAAAABAAAABAAAAAEAAAAIAAAABAAAAAIAAAAHAAAABAAAAAEAAAAHAAAABAAAAAUAAAAGAAAABAAAAAIAAAADAAAABAAAAAMAAAABAAAABQAAAAIAAAABAAAAAQAAAAMAAAAGAAAACAAAAAgAAAACAAAABAAAAAUAAAA=\"},\"shape\":[77],\"dtype\":\"int32\",\"order\":\"little\"}],[\"ess\",{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"BQAAAAEAAAADAAAABAAAAAUAAAAMAAAABAAAAAQAAAALAAAABgAAAAMAAAALAAAACgAAAAwAAAAGAAAADQAAAAwAAAAFAAAACgAAAAQAAAAEAAAABgAAAAMAAAAAAAAADAAAAAYAAAAFAAAACQAAAAcAAAAGAAAACgAAABIAAAALAAAACAAAABAAAAAHAAAACQAAAAsAAAAEAAAABwAAAAQAAAALAAAADAAAAAMAAAADAAAABAAAAAsAAAABAAAABAAAAAIAAAAJAAAAAQAAAAIAAAAMAAAABgAAAAUAAAAFAAAABAAAAAkAAAADAAAACAAAAAYAAAAKAAAAFQAAAAUAAAAFAAAACQAAAAEAAAAIAAAACwAAAAUAAAAHAAAACgAAAAcAAAAPAAAABwAAAAcAAAA=\"},\"shape\":[77],\"dtype\":\"int32\",\"order\":\"little\"}],[\"insomnia\",{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=\"},\"shape\":[77],\"dtype\":\"bool\",\"order\":\"little\"}]]}}},\"view\":{\"type\":\"object\",\"name\":\"CDSView\",\"id\":\"p1937\",\"attributes\":{\"filter\":{\"type\":\"object\",\"name\":\"AllIndices\",\"id\":\"p1938\"}}},\"glyph\":{\"type\":\"object\",\"name\":\"Scatter\",\"id\":\"p1933\",\"attributes\":{\"x\":{\"type\":\"field\",\"field\":\"confidence when correct\"},\"y\":{\"type\":\"field\",\"field\":\"confidence when incorrect\"},\"size\":{\"type\":\"value\",\"value\":5},\"line_color\":{\"type\":\"value\",\"value\":\"#1f77b3\"},\"line_width\":{\"type\":\"value\",\"value\":0},\"fill_color\":{\"type\":\"value\",\"value\":\"#1f77b3\"},\"fill_alpha\":{\"type\":\"value\",\"value\":0.8},\"hatch_color\":{\"type\":\"value\",\"value\":\"#1f77b3\"}}},\"nonselection_glyph\":{\"type\":\"object\",\"name\":\"Scatter\",\"id\":\"p1934\",\"attributes\":{\"x\":{\"type\":\"field\",\"field\":\"confidence when correct\"},\"y\":{\"type\":\"field\",\"field\":\"confidence when incorrect\"},\"size\":{\"type\":\"value\",\"value\":5},\"line_color\":{\"type\":\"value\",\"value\":\"#1f77b3\"},\"line_alpha\":{\"type\":\"value\",\"value\":0.1},\"line_width\":{\"type\":\"value\",\"value\":0},\"fill_color\":{\"type\":\"value\",\"value\":\"#1f77b3\"},\"fill_alpha\":{\"type\":\"value\",\"value\":0.1},\"hatch_color\":{\"type\":\"value\",\"value\":\"#1f77b3\"},\"hatch_alpha\":{\"type\":\"value\",\"value\":0.1}}},\"muted_glyph\":{\"type\":\"object\",\"name\":\"Scatter\",\"id\":\"p1935\",\"attributes\":{\"x\":{\"type\":\"field\",\"field\":\"confidence when correct\"},\"y\":{\"type\":\"field\",\"field\":\"confidence when incorrect\"},\"size\":{\"type\":\"value\",\"value\":5},\"line_color\":{\"type\":\"value\",\"value\":\"#1f77b3\"},\"line_alpha\":{\"type\":\"value\",\"value\":0.2},\"line_width\":{\"type\":\"value\",\"value\":0},\"fill_color\":{\"type\":\"value\",\"value\":\"#1f77b3\"},\"fill_alpha\":{\"type\":\"value\",\"value\":0.2},\"hatch_color\":{\"type\":\"value\",\"value\":\"#1f77b3\"},\"hatch_alpha\":{\"type\":\"value\",\"value\":0.2}}}}},{\"type\":\"object\",\"name\":\"GlyphRenderer\",\"id\":\"p1945\",\"attributes\":{\"level\":\"overlay\",\"data_source\":{\"type\":\"object\",\"name\":\"ColumnDataSource\",\"id\":\"p1628\",\"attributes\":{\"selected\":{\"type\":\"object\",\"name\":\"Selection\",\"id\":\"p1629\",\"attributes\":{\"indices\":[],\"line_indices\":[]}},\"selection_policy\":{\"type\":\"object\",\"name\":\"UnionRenderers\",\"id\":\"p1630\"},\"data\":{\"type\":\"map\",\"entries\":[[\"index\",{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"AAAAAAEAAAACAAAAAwAAAAQAAAAFAAAABgAAAAcAAAAIAAAACQAAAAoAAAALAAAADAAAAA0AAAAOAAAADwAAABAAAAARAAAAEgAAABMAAAAUAAAAFQAAABYAAAAXAAAAGAAAAA==\"},\"shape\":[25],\"dtype\":\"int32\",\"order\":\"little\"}],[\"participant number\",{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"CAAAABAAAAASAAAAFgAAABsAAAAcAAAAHgAAACEAAAAiAAAAIwAAACYAAAApAAAALgAAADEAAAA3AAAARwAAAEwAAABNAAAATgAAAFAAAABZAAAAWgAAAF0AAABkAAAAZQAAAA==\"},\"shape\":[25],\"dtype\":\"int32\",\"order\":\"little\"}],[\"gender\",{\"type\":\"ndarray\",\"array\":[\"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\"],\"shape\":[25],\"dtype\":\"object\",\"order\":\"little\"}],[\"age\",{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"JwAAACoAAAAfAAAAIwAAAEoAAAA9AAAAIAAAAD4AAAAhAAAANQAAACkAAAAkAAAAKAAAABgAAAAgAAAAKAAAAD0AAAAqAAAAHwAAABwAAAAaAAAALQAAABwAAAAsAAAAHAAAAA==\"},\"shape\":[25],\"dtype\":\"int32\",\"order\":\"little\"}],[\"correct hit percentage\",{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"QQAAAFoAAABaAAAAZAAAADwAAABQAAAAWgAAAC0AAABQAAAAZAAAAEYAAABaAAAAXwAAAFUAAABLAAAAKAAAAGQAAABGAAAAZAAAAGQAAAA8AAAAZAAAAGQAAABBAAAAZAAAAA==\"},\"shape\":[25],\"dtype\":\"int32\",\"order\":\"little\"}],[\"correct reject percentage\",{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"UAAAAFoAAABfAAAASwAAAEEAAAAUAAAASwAAAFoAAABkAAAAMgAAADcAAABkAAAAQQAAAEsAAAA3AAAAZAAAACgAAABaAAAARgAAADIAAABQAAAAXwAAAEsAAAAZAAAAKAAAAA==\"},\"shape\":[25],\"dtype\":\"int32\",\"order\":\"little\"}],[\"percent correct\",{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"AAAAAAAgUkAAAAAAAIBWQAAAAAAAIFdAAAAAAADgVUAAAAAAAEBPQAAAAAAAAElAAAAAAACgVEAAAAAAAOBQQAAAAAAAgFZAAAAAAADAUkAAAAAAAEBPQAAAAAAAwFdAAAAAAAAAVEAAAAAAAABUQAAAAAAAQFBAAAAAAACAUUAAAAAAAIBRQAAAAAAAAFRAAAAAAABAVUAAAAAAAMBSQAAAAAAAgFFAAAAAAABgWEAAAAAAAOBVQAAAAAAAgEZAAAAAAACAUUA=\"},\"shape\":[25],\"dtype\":\"float64\",\"order\":\"little\"}],[\"confidence when correct hit\",{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"AAAAAADAVkAAAAAAAOBSQAAAAAAAYFZAAAAAAABgVkAAAAAAACBRQAAAAAAAwFFAAAAAAADAUEAAAAAAAABLQAAAAAAAoFFAAAAAAACgUkAAAAAAAIBUQAAAAAAAIFNAAAAAAAAAVEAAAAAAAABNQAAAAAAAQFVAAAAAAABAUUAAAAAAAGBRQAAAAAAAwFVAAAAAAAAAV0AAAAAAAABZQAAAAAAAgFFAAAAAAAAAWUAAAAAAAGBWQAAAAAAAAE9AAAAAAADAVUA=\"},\"shape\":[25],\"dtype\":\"float64\",\"order\":\"little\"}],[\"confidence when incorrect hit\",{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"AAAAAACAVkAAAAAAAMBLQAAAAAAAgFZAAAAAAAAA+H8AAAAAAIBIQAAAAAAAgE9AAAAAAABATEAAAAAAAIBCQAAAAAAAIFNAAAAAAAAA+H8AAAAAAMBOQAAAAAAA4FJAAAAAAABAVkAAAAAAAABJQAAAAAAAQFRAAAAAAAAATEAAAAAAAAD4fwAAAAAAAFJAAAAAAAAA+H8AAAAAAAD4fwAAAAAAQFNAAAAAAAAA+H8AAAAAAAD4fwAAAAAAAFJAAAAAAAAA+H8=\"},\"shape\":[25],\"dtype\":\"float64\",\"order\":\"little\"}],[\"confidence when correct reject\",{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"AAAAAABAV0AAAAAAAKBRQAAAAAAAgFVAAAAAAADAUUAAAAAAAIBOQAAAAAAAAD9AAAAAAACAUEAAAAAAAEBQQAAAAAAAIFBAAAAAAABATkAAAAAAAEBSQAAAAAAAwFJAAAAAAADAU0AAAAAAAIBIQAAAAAAAQFVAAAAAAACAUUAAAAAAAEBGQAAAAAAAoFZAAAAAAABAVEAAAAAAAABZQAAAAAAAgFRAAAAAAAAAWUAAAAAAAMBQQAAAAAAAwFVAAAAAAAAAUUA=\"},\"shape\":[25],\"dtype\":\"float64\",\"order\":\"little\"}],[\"confidence when incorrect reject\",{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"AAAAAADgVEAAAAAAAABJQAAAAAAAQFRAAAAAAAAAVEAAAAAAAIBIQAAAAAAAIFJAAAAAAABAUEAAAAAAAGBUQAAAAAAAAPh/AAAAAABAUEAAAAAAAEBRQAAAAAAAAPh/AAAAAABATUAAAAAAAABRQAAAAAAAgFVAAAAAAAAA+H8AAAAAAEBSQAAAAAAAwEVAAAAAAAAATkAAAAAAAABZQAAAAAAA4FBAAAAAAAAAWUAAAAAAAABOQAAAAAAAQFNAAAAAAAAAS0A=\"},\"shape\":[25],\"dtype\":\"float64\",\"order\":\"little\"}],[\"confidence when correct\",{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"AAAAAABAV0AAAAAAAMBSQAAAAAAAQFZAAAAAAAAAVkAAAAAAAEBQQAAAAAAAIFBAAAAAAACAUEAAAAAAAABPQAAAAAAAAFFAAAAAAADAUUAAAAAAAIBUQAAAAAAAAFNAAAAAAADgU0AAAAAAAIBLQAAAAAAAQFVAAAAAAACAUUAAAAAAAEBLQAAAAAAAIFZAAAAAAADgVUAAAAAAAABZQAAAAAAAQFNAAAAAAAAAWUAAAAAAAABUQAAAAAAAYFFAAAAAAABAVEA=\"},\"shape\":[25],\"dtype\":\"float64\",\"order\":\"little\"}],[\"confidence when incorrect\",{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"AAAAAACAVkAAAAAAAABJQAAAAAAAAFZAAAAAAAAAVEAAAAAAAIBIQAAAAAAAoFFAAAAAAAAAUEAAAAAAAIBOQAAAAAAAIFNAAAAAAABAUEAAAAAAAABQQAAAAAAA4FJAAAAAAACAT0AAAAAAAIBNQAAAAAAA4FRAAAAAAAAATEAAAAAAAEBSQAAAAAAAAFBAAAAAAAAATkAAAAAAAABZQAAAAAAAoFFAAAAAAAAAWUAAAAAAAABOQAAAAAAAYFJAAAAAAAAAS0A=\"},\"shape\":[25],\"dtype\":\"float64\",\"order\":\"little\"}],[\"sci\",{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"CQAAAAQAAAAKAAAADQAAAA0AAAAPAAAAEAAAAA4AAAAOAAAADgAAAA4AAAAPAAAACgAAAA4AAAAFAAAAAAAAABAAAAALAAAADgAAAAwAAAAOAAAADgAAABAAAAABAAAADgAAAA==\"},\"shape\":[25],\"dtype\":\"int32\",\"order\":\"little\"}],[\"psqi\",{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"DQAAAAsAAAAJAAAACAAAAAkAAAAOAAAACQAAAAkAAAAMAAAACAAAAAUAAAAHAAAADAAAAA0AAAANAAAACwAAAAQAAAAKAAAABgAAAAcAAAAIAAAACQAAAAcAAAAPAAAABwAAAA==\"},\"shape\":[25],\"dtype\":\"int32\",\"order\":\"little\"}],[\"ess\",{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"AgAAAAcAAAADAAAAFAAAAAwAAAACAAAAAwAAAAkAAAAKAAAABwAAABMAAAAAAAAACAAAAAQAAAAHAAAADgAAAAwAAAAKAAAACwAAAAwAAAABAAAABgAAAAQAAAAGAAAAAgAAAA==\"},\"shape\":[25],\"dtype\":\"int32\",\"order\":\"little\"}],[\"insomnia\",{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"AQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQ==\"},\"shape\":[25],\"dtype\":\"bool\",\"order\":\"little\"}]]}}},\"view\":{\"type\":\"object\",\"name\":\"CDSView\",\"id\":\"p1946\",\"attributes\":{\"filter\":{\"type\":\"object\",\"name\":\"AllIndices\",\"id\":\"p1947\"}}},\"glyph\":{\"type\":\"object\",\"name\":\"Scatter\",\"id\":\"p1942\",\"attributes\":{\"x\":{\"type\":\"field\",\"field\":\"confidence when correct\"},\"y\":{\"type\":\"field\",\"field\":\"confidence when incorrect\"},\"size\":{\"type\":\"value\",\"value\":5},\"line_color\":{\"type\":\"value\",\"value\":\"#ff7e0e\"},\"line_width\":{\"type\":\"value\",\"value\":0},\"fill_color\":{\"type\":\"value\",\"value\":\"#ff7e0e\"},\"fill_alpha\":{\"type\":\"value\",\"value\":0.8},\"hatch_color\":{\"type\":\"value\",\"value\":\"#ff7e0e\"}}},\"nonselection_glyph\":{\"type\":\"object\",\"name\":\"Scatter\",\"id\":\"p1943\",\"attributes\":{\"x\":{\"type\":\"field\",\"field\":\"confidence when correct\"},\"y\":{\"type\":\"field\",\"field\":\"confidence when incorrect\"},\"size\":{\"type\":\"value\",\"value\":5},\"line_color\":{\"type\":\"value\",\"value\":\"#ff7e0e\"},\"line_alpha\":{\"type\":\"value\",\"value\":0.1},\"line_width\":{\"type\":\"value\",\"value\":0},\"fill_color\":{\"type\":\"value\",\"value\":\"#ff7e0e\"},\"fill_alpha\":{\"type\":\"value\",\"value\":0.1},\"hatch_color\":{\"type\":\"value\",\"value\":\"#ff7e0e\"},\"hatch_alpha\":{\"type\":\"value\",\"value\":0.1}}},\"muted_glyph\":{\"type\":\"object\",\"name\":\"Scatter\",\"id\":\"p1944\",\"attributes\":{\"x\":{\"type\":\"field\",\"field\":\"confidence when correct\"},\"y\":{\"type\":\"field\",\"field\":\"confidence when incorrect\"},\"size\":{\"type\":\"value\",\"value\":5},\"line_color\":{\"type\":\"value\",\"value\":\"#ff7e0e\"},\"line_alpha\":{\"type\":\"value\",\"value\":0.2},\"line_width\":{\"type\":\"value\",\"value\":0},\"fill_color\":{\"type\":\"value\",\"value\":\"#ff7e0e\"},\"fill_alpha\":{\"type\":\"value\",\"value\":0.2},\"hatch_color\":{\"type\":\"value\",\"value\":\"#ff7e0e\"},\"hatch_alpha\":{\"type\":\"value\",\"value\":0.2}}}}}],\"toolbar\":{\"type\":\"object\",\"name\":\"Toolbar\",\"id\":\"p1904\",\"attributes\":{\"tools\":[{\"type\":\"object\",\"name\":\"PanTool\",\"id\":\"p1919\"},{\"type\":\"object\",\"name\":\"WheelZoomTool\",\"id\":\"p1920\",\"attributes\":{\"renderers\":\"auto\"}},{\"type\":\"object\",\"name\":\"BoxZoomTool\",\"id\":\"p1921\",\"attributes\":{\"overlay\":{\"type\":\"object\",\"name\":\"BoxAnnotation\",\"id\":\"p1922\",\"attributes\":{\"syncable\":false,\"level\":\"overlay\",\"visible\":false,\"left\":{\"type\":\"number\",\"value\":\"nan\"},\"right\":{\"type\":\"number\",\"value\":\"nan\"},\"top\":{\"type\":\"number\",\"value\":\"nan\"},\"bottom\":{\"type\":\"number\",\"value\":\"nan\"},\"left_units\":\"canvas\",\"right_units\":\"canvas\",\"top_units\":\"canvas\",\"bottom_units\":\"canvas\",\"line_color\":\"black\",\"line_alpha\":1.0,\"line_width\":2,\"line_dash\":[4,4],\"fill_color\":\"lightgrey\",\"fill_alpha\":0.5}}}},{\"type\":\"object\",\"name\":\"SaveTool\",\"id\":\"p1927\"},{\"type\":\"object\",\"name\":\"ResetTool\",\"id\":\"p1928\"},{\"type\":\"object\",\"name\":\"HelpTool\",\"id\":\"p1929\"}]}},\"toolbar_location\":\"above\",\"left\":[{\"type\":\"object\",\"name\":\"LinearAxis\",\"id\":\"p1914\",\"attributes\":{\"level\":\"overlay\",\"ticker\":{\"type\":\"object\",\"name\":\"BasicTicker\",\"id\":\"p1915\",\"attributes\":{\"mantissas\":[1,2,5]}},\"formatter\":{\"type\":\"object\",\"name\":\"BasicTickFormatter\",\"id\":\"p1916\"},\"axis_label\":\"condifence when incorrect\",\"axis_label_text_font_size\":\"9pt\",\"axis_label_text_font_style\":\"bold\",\"major_label_policy\":{\"type\":\"object\",\"name\":\"AllLabels\",\"id\":\"p1917\"},\"major_label_text_font_size\":\"7.5pt\",\"axis_line_color\":\"dimgray\",\"major_tick_line_color\":\"dimgray\"}}],\"right\":[{\"type\":\"object\",\"name\":\"Legend\",\"id\":\"p1948\",\"attributes\":{\"level\":\"overlay\",\"title_text_font\":\"helvetica\",\"title_text_font_size\":\"8pt\",\"title_text_font_style\":\"bold\",\"border_line_color\":\"darkgray\",\"border_line_width\":0.75,\"background_fill_color\":\"#ffffff\",\"background_fill_alpha\":0.7,\"click_policy\":\"hide\",\"label_text_font\":\"helvetica\",\"label_text_font_size\":\"7.5pt\",\"items\":[{\"type\":\"object\",\"name\":\"LegendItem\",\"id\":\"p1949\",\"attributes\":{\"label\":{\"type\":\"value\",\"value\":\"normal\"},\"renderers\":[{\"id\":\"p1936\"}]}},{\"type\":\"object\",\"name\":\"LegendItem\",\"id\":\"p1950\",\"attributes\":{\"label\":{\"type\":\"value\",\"value\":\"insomnia\"},\"renderers\":[{\"id\":\"p1945\"}]}}]}}],\"below\":[{\"type\":\"object\",\"name\":\"LinearAxis\",\"id\":\"p1909\",\"attributes\":{\"level\":\"overlay\",\"ticker\":{\"type\":\"object\",\"name\":\"BasicTicker\",\"id\":\"p1910\",\"attributes\":{\"mantissas\":[1,2,5]}},\"formatter\":{\"type\":\"object\",\"name\":\"BasicTickFormatter\",\"id\":\"p1911\"},\"axis_label\":\"confidence when correct\",\"axis_label_text_font_size\":\"9pt\",\"axis_label_text_font_style\":\"bold\",\"major_label_policy\":{\"type\":\"object\",\"name\":\"AllLabels\",\"id\":\"p1912\"},\"major_label_text_font_size\":\"7.5pt\",\"axis_line_color\":\"dimgray\",\"major_tick_line_color\":\"dimgray\"}}],\"center\":[{\"type\":\"object\",\"name\":\"Grid\",\"id\":\"p1913\",\"attributes\":{\"level\":\"underlay\",\"axis\":{\"id\":\"p1909\"},\"grid_line_color\":\"lightgray\"}},{\"type\":\"object\",\"name\":\"Grid\",\"id\":\"p1918\",\"attributes\":{\"level\":\"underlay\",\"dimension\":1,\"axis\":{\"id\":\"p1914\"},\"grid_line_color\":\"lightgray\"}}],\"frame_width\":300,\"frame_height\":300}}]}};\n", " const render_items = [{\"docid\":\"119431c6-12e0-49d0-afd4-f73c1ced9225\",\"roots\":{\"p1895\":\"d1c73b73-0d1e-4a64-8286-f4b6dec7492a\"},\"root_ids\":[\"p1895\"]}];\n", " void root.Bokeh.embed.embed_items_notebook(docs_json, render_items);\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": "p1895" } }, "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", " \"Scatter\": {\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", " \"Grid\": {\n", " \"grid_line_color\": \"lightgray\",\n", " \"level\": \"underlay\",\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", " \"Renderer\": {\n", " \"level\": \"overlay\"\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": 27, "metadata": {}, "outputs": [ { "data": { "text/html": [ "\n", "
\n" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "application/javascript": [ "(function(root) {\n", " function embed_document(root) {\n", " const docs_json = {\"13afe487-adda-4918-9e9b-2cb79871c41f\":{\"version\":\"3.4.1\",\"title\":\"Bokeh Application\",\"roots\":[{\"type\":\"object\",\"name\":\"Figure\",\"id\":\"p1983\",\"attributes\":{\"x_range\":{\"type\":\"object\",\"name\":\"Range1d\",\"id\":\"p1992\",\"attributes\":{\"start\":-2.5,\"end\":102.5}},\"y_range\":{\"type\":\"object\",\"name\":\"Range1d\",\"id\":\"p1993\",\"attributes\":{\"start\":-2.5,\"end\":102.5}},\"x_scale\":{\"type\":\"object\",\"name\":\"LinearScale\",\"id\":\"p1994\"},\"y_scale\":{\"type\":\"object\",\"name\":\"LinearScale\",\"id\":\"p1995\"},\"title\":{\"type\":\"object\",\"name\":\"Title\",\"id\":\"p1990\",\"attributes\":{\"level\":\"overlay\",\"text_font\":\"helvetica\",\"text_font_size\":\"10pt\",\"text_font_style\":\"bold\"}},\"renderers\":[{\"type\":\"object\",\"name\":\"GlyphRenderer\",\"id\":\"p2023\",\"attributes\":{\"level\":\"overlay\",\"data_source\":{\"type\":\"object\",\"name\":\"ColumnDataSource\",\"id\":\"p1631\",\"attributes\":{\"selected\":{\"type\":\"object\",\"name\":\"Selection\",\"id\":\"p1632\",\"attributes\":{\"indices\":[],\"line_indices\":[]}},\"selection_policy\":{\"type\":\"object\",\"name\":\"UnionRenderers\",\"id\":\"p1633\"},\"data\":{\"type\":\"map\",\"entries\":[[\"index\",{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"GQAAABoAAAAbAAAAHAAAAB0AAAAeAAAAHwAAACAAAAAhAAAAIgAAACMAAAAkAAAAJQAAACYAAAAnAAAAKAAAACkAAAAqAAAAKwAAACwAAAAtAAAALgAAAC8AAAAwAAAAMQAAADIAAAAzAAAANAAAADUAAAA2AAAANwAAADgAAAA5AAAAOgAAADsAAAA8AAAAPQAAAD4AAAA/AAAAQAAAAEEAAABCAAAAQwAAAEQAAABFAAAARgAAAEcAAABIAAAASQAAAEoAAABLAAAATAAAAE0AAABOAAAATwAAAFAAAABRAAAAUgAAAFMAAABUAAAAVQAAAFYAAABXAAAAWAAAAFkAAABaAAAAWwAAAFwAAABdAAAAXgAAAF8AAABgAAAAYQAAAGIAAABjAAAAZAAAAGUAAAA=\"},\"shape\":[77],\"dtype\":\"int32\",\"order\":\"little\"}],[\"participant number\",{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"AQAAAAIAAAADAAAABAAAAAUAAAAGAAAABwAAAAkAAAAKAAAACwAAAAwAAAANAAAADgAAAA8AAAARAAAAEwAAABQAAAAVAAAAFwAAABgAAAAZAAAAGgAAAB0AAAAfAAAAIAAAACQAAAAlAAAAJwAAACgAAAAqAAAAKwAAACwAAAAtAAAAMAAAADIAAAAzAAAANAAAADUAAAA2AAAAOAAAADkAAAA6AAAAOwAAADwAAAA9AAAAPgAAAD8AAABAAAAAQQAAAEIAAABDAAAARAAAAEUAAABGAAAASAAAAEkAAABKAAAASwAAAE8AAABRAAAAUgAAAFMAAABUAAAAVQAAAFYAAABXAAAAWAAAAFsAAABcAAAAXgAAAF8AAABgAAAAYQAAAGIAAABjAAAAZgAAAGcAAAA=\"},\"shape\":[77],\"dtype\":\"int32\",\"order\":\"little\"}],[\"gender\",{\"type\":\"ndarray\",\"array\":[\"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\"],\"shape\":[77],\"dtype\":\"object\",\"order\":\"little\"}],[\"age\",{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"KgAAAC0AAAAQAAAAFQAAABIAAAAcAAAAJgAAABEAAAAZAAAAFgAAACkAAAA1AAAAKwAAABcAAAATAAAALQAAACsAAAAjAAAAGAAAAEAAAAAkAAAAIwAAACsAAAAsAAAAHQAAABYAAAAuAAAAIwAAADUAAAAdAAAAHwAAABUAAAAqAAAAFwAAADYAAAAYAAAAFQAAABUAAAArAAAAMgAAADUAAAAQAAAAQwAAACQAAAAiAAAAKgAAAC4AAABFAAAAHwAAACwAAAAZAAAALQAAAC8AAAAhAAAAEgAAAEoAAAAVAAAALQAAACUAAAApAAAAKQAAACIAAAAnAAAAEgAAAB8AAAAaAAAAQgAAAD4AAAAWAAAAKQAAAC4AAAA4AAAAFwAAAEYAAAAYAAAAKAAAACEAAAA=\"},\"shape\":[77],\"dtype\":\"int32\",\"order\":\"little\"}],[\"correct hit percentage\",{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"UAAAAFAAAABGAAAARgAAAFoAAABfAAAAWgAAAFoAAABkAAAAUAAAAFoAAABfAAAAXwAAAFoAAAA3AAAAZAAAAEEAAABaAAAANwAAAEsAAABkAAAARgAAAFoAAABfAAAAXwAAAEYAAABQAAAAMgAAAEEAAABkAAAAVQAAAFUAAABaAAAAWgAAAFoAAABVAAAAVQAAAFoAAABfAAAARgAAAF8AAABVAAAAXwAAAFoAAABaAAAAZAAAAFAAAABfAAAAZAAAAFoAAABkAAAARgAAAFoAAABVAAAAUAAAAFUAAAAoAAAAUAAAAFoAAABaAAAAUAAAAFoAAABLAAAAVQAAAGQAAABfAAAAPAAAAGQAAABVAAAAIwAAAF8AAABGAAAARgAAAFoAAABGAAAASwAAAFUAAAA=\"},\"shape\":[77],\"dtype\":\"int32\",\"order\":\"little\"}],[\"correct reject percentage\",{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"QQAAAFoAAABQAAAAQQAAAGQAAABQAAAAXwAAAFoAAABkAAAAPAAAAFAAAAA8AAAAWgAAAFAAAAA8AAAAVQAAAEEAAABkAAAAZAAAAFUAAABQAAAAWgAAAFUAAABaAAAANwAAAEEAAABLAAAAXwAAAFAAAABGAAAAWgAAAFoAAABaAAAAVQAAAEYAAABfAAAASwAAAFAAAABLAAAAVQAAAEsAAABVAAAASwAAAEEAAABaAAAAZAAAAFoAAABQAAAAXwAAAF8AAABkAAAAMgAAAGQAAABGAAAASwAAAFAAAAAoAAAAXwAAAFAAAABVAAAASwAAACMAAABGAAAAVQAAAFUAAABLAAAAVQAAAFAAAABfAAAASwAAAFAAAAAyAAAAVQAAAFUAAABQAAAAQQAAACgAAAA=\"},\"shape\":[77],\"dtype\":\"int32\",\"order\":\"little\"}],[\"percent correct\",{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"AAAAAAAgUkAAAAAAAEBVQAAAAAAAwFJAAAAAAADgUEAAAAAAAMBXQAAAAAAA4FVAAAAAAAAgV0AAAAAAAIBWQAAAAAAAAFlAAAAAAACAUUAAAAAAAEBVQAAAAAAAYFNAAAAAAAAgV0AAAAAAAEBVQAAAAAAAwExAAAAAAAAgV0AAAAAAAEBQQAAAAAAAwFdAAAAAAABgU0AAAAAAAABUQAAAAAAAgFZAAAAAAAAAVEAAAAAAAOBVQAAAAAAAIFdAAAAAAADAUkAAAAAAAOBQQAAAAAAAYFNAAAAAAAAgUkAAAAAAACBSQAAAAAAAQFVAAAAAAADgVUAAAAAAAOBVQAAAAAAAgFZAAAAAAADgVUAAAAAAAABUQAAAAAAAgFZAAAAAAAAAVEAAAAAAAEBVQAAAAAAAQFVAAAAAAABgU0AAAAAAAEBVQAAAAAAAQFVAAAAAAABAVUAAAAAAAGBTQAAAAAAAgFZAAAAAAAAAWUAAAAAAAEBVQAAAAAAA4FVAAAAAAABgWEAAAAAAACBXQAAAAAAAAFlAAAAAAAAATkAAAAAAAMBXQAAAAAAAYFNAAAAAAABgU0AAAAAAAKBUQAAAAAAAAERAAAAAAADgVUAAAAAAAEBVQAAAAAAA4FVAAAAAAABgU0AAAAAAAEBPQAAAAAAAIFJAAAAAAABAVUAAAAAAACBXQAAAAAAAQFVAAAAAAAAgUkAAAAAAAIBWQAAAAAAAgFZAAAAAAACAS0AAAAAAAOBVQAAAAAAAAE5AAAAAAABgU0AAAAAAAOBVQAAAAAAAwFJAAAAAAACAUUAAAAAAAEBPQA==\"},\"shape\":[77],\"dtype\":\"float64\",\"order\":\"little\"}],[\"confidence when correct hit\",{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"AAAAAADASUAAAAAAAMBSQAAAAAAAgFFAAAAAAADAT0AAAAAAACBTQAAAAAAAAFlAAAAAAABAU0AAAAAAACBUQAAAAAAAgFZAAAAAAACAUUAAAAAAACBTQAAAAAAAAERAAAAAAAAASkAAAAAAAABWQAAAAAAAAE9AAAAAAAAAUUAAAAAAAIBNQAAAAAAA4FJAAAAAAAAAUUAAAAAAAABJQAAAAAAAAFZAAAAAAACAPUAAAAAAAGBQQAAAAAAAwFRAAAAAAADAUEAAAAAAAIBTQAAAAAAAIFJAAAAAAABAT0AAAAAAAABLQAAAAAAAwFJAAAAAAACAVEAAAAAAAIBQQAAAAAAAwFRAAAAAAADAUEAAAAAAAIBWQAAAAAAAQFhAAAAAAABAUEAAAAAAAABVQAAAAAAAgFJAAAAAAAAgV0AAAAAAAABVQAAAAAAAgEtAAAAAAACAUUAAAAAAAOBQQAAAAAAAQE1AAAAAAACgUkAAAAAAAABXQAAAAAAAAFRAAAAAAACAWEAAAAAAAMBVQAAAAAAAwE5AAAAAAAAgVEAAAAAAAABZQAAAAAAAgFFAAAAAAADgUEAAAAAAAIBQQAAAAAAAoFZAAAAAAACAUkAAAAAAAOBXQAAAAAAAAFRAAAAAAACgV0AAAAAAAEBUQAAAAAAAgExAAAAAAABAV0AAAAAAAABZQAAAAAAAQFVAAAAAAADgUEAAAAAAAEBUQAAAAAAAgFBAAAAAAACAS0AAAAAAAIBWQAAAAAAAgE9AAAAAAABAU0AAAAAAAGBQQAAAAAAAwE5AAAAAAACASkAAAAAAAABUQA==\"},\"shape\":[77],\"dtype\":\"float64\",\"order\":\"little\"}],[\"confidence when incorrect hit\",{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"AAAAAABARkAAAAAAAMBLQAAAAAAAgExAAAAAAAAAUEAAAAAAAMBUQAAAAAAAQFVAAAAAAADARUAAAAAAAOBVQAAAAAAAAPh/AAAAAACAUUAAAAAAAMBLQAAAAAAAgEBAAAAAAAAAPUAAAAAAAABEQAAAAAAAAElAAAAAAAAA+H8AAAAAAIBLQAAAAAAAwEFAAAAAAADAUEAAAAAAAAA5QAAAAAAAAPh/AAAAAACAPEAAAAAAAAA7QAAAAAAAAExAAAAAAACASkAAAAAAAABWQAAAAAAAAFJAAAAAAAAAPUAAAAAAAABAQAAAAAAAAPh/AAAAAACASEAAAAAAAAA9QAAAAAAAwFRAAAAAAACAR0AAAAAAAOBUQAAAAAAAgERAAAAAAABAUkAAAAAAAMBLQAAAAAAAQFZAAAAAAAAgUkAAAAAAAIBLQAAAAAAAAD5AAAAAAAAAHEAAAAAAAIA8QAAAAAAAgEVAAAAAAAAA+H8AAAAAAOBSQAAAAAAAQFBAAAAAAAAA+H8AAAAAAMBHQAAAAAAAAPh/AAAAAADASUAAAAAAAAD4fwAAAAAAAENAAAAAAADASUAAAAAAAIBLQAAAAAAAAFRAAAAAAADAUEAAAAAAAABRQAAAAAAAwE1AAAAAAADATkAAAAAAAABKQAAAAAAAgExAAAAAAAAAV0AAAAAAAAD4fwAAAAAAAFZAAAAAAACAUEAAAAAAAAD4fwAAAAAAAExAAAAAAACATkAAAAAAAMBSQAAAAAAAQEpAAAAAAACgUEAAAAAAAGBVQAAAAAAAQFRAAAAAAACAQkAAAAAAAAA7QA==\"},\"shape\":[77],\"dtype\":\"float64\",\"order\":\"little\"}],[\"confidence when correct reject\",{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"AAAAAACARUAAAAAAAABUQAAAAAAAAEtAAAAAAAAASUAAAAAAAABUQAAAAAAAgFdAAAAAAADAU0AAAAAAACBTQAAAAAAAQFVAAAAAAACAUUAAAAAAAOBQQAAAAAAAAExAAAAAAACASEAAAAAAAKBRQAAAAAAAgFBAAAAAAACATkAAAAAAAABQQAAAAAAAoFJAAAAAAAAAVEAAAAAAAIBQQAAAAAAAgFBAAAAAAAAAM0AAAAAAAIBEQAAAAAAAwFNAAAAAAABAUEAAAAAAAEBTQAAAAAAAAFlAAAAAAABAU0AAAAAAAMBHQAAAAAAAIFBAAAAAAABAVEAAAAAAAIBRQAAAAAAAIFRAAAAAAABAUUAAAAAAAGBTQAAAAAAAgFJAAAAAAAAATEAAAAAAAGBSQAAAAAAAAFFAAAAAAADAV0AAAAAAAABRQAAAAAAAAElAAAAAAABAUUAAAAAAAIBLQAAAAAAAYFJAAAAAAACAUkAAAAAAAABXQAAAAAAAoFNAAAAAAACAVkAAAAAAAEBRQAAAAAAAQE1AAAAAAACAT0AAAAAAAOBRQAAAAAAAQE1AAAAAAACAUEAAAAAAAIBPQAAAAAAAoFJAAAAAAAAAU0AAAAAAAOBUQAAAAAAAgFFAAAAAAACAVUAAAAAAAMBRQAAAAAAAwE1AAAAAAADAVkAAAAAAAABZQAAAAAAAgFRAAAAAAACAUkAAAAAAAKBSQAAAAAAAAFJAAAAAAAAAVEAAAAAAAABUQAAAAAAA4FBAAAAAAABAU0AAAAAAAMBVQAAAAAAAgFFAAAAAAAAAVUAAAAAAAAA/QA==\"},\"shape\":[77],\"dtype\":\"float64\",\"order\":\"little\"}],[\"confidence when incorrect reject\",{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"AAAAAACASEAAAAAAAMBSQAAAAAAAgEpAAAAAAAAASUAAAAAAAAD4fwAAAAAAgE5AAAAAAAAANUAAAAAAAAA7QAAAAAAAAPh/AAAAAABAUEAAAAAAAEBKQAAAAAAAgEhAAAAAAAAAQkAAAAAAAKBQQAAAAAAAQElAAAAAAAAAS0AAAAAAAIBNQAAAAAAAAPh/AAAAAAAA+H8AAAAAAAA4QAAAAAAAwE9AAAAAAADAREAAAAAAAIBGQAAAAAAAQEVAAAAAAACASkAAAAAAAABUQAAAAAAAwFZAAAAAAAAAQEAAAAAAAKBTQAAAAAAAgEVAAAAAAAAAQkAAAAAAAAA9QAAAAAAAAEJAAAAAAAAAREAAAAAAAEBRQAAAAAAAQFJAAAAAAAAAUUAAAAAAAIBRQAAAAAAAQFBAAAAAAABAUEAAAAAAAIBOQAAAAAAAAERAAAAAAAAATkAAAAAAAABKQAAAAAAAwEpAAAAAAAAA+H8AAAAAAIBPQAAAAAAAoFFAAAAAAAAAREAAAAAAAMBVQAAAAAAAAPh/AAAAAABAUUAAAAAAAMBUQAAAAAAAQFBAAAAAAACATEAAAAAAAEBJQAAAAAAAwFRAAAAAAAAAMUAAAAAAAMBUQAAAAAAAgERAAAAAAACAUkAAAAAAAABNQAAAAAAAAElAAAAAAABAVkAAAAAAAABJQAAAAAAAgFRAAAAAAACATEAAAAAAAIBUQAAAAAAAgE9AAAAAAACATEAAAAAAAABUQAAAAAAAYFBAAAAAAABgU0AAAAAAAABUQAAAAAAAgE5AAAAAAAAASkAAAAAAAKBUQA==\"},\"shape\":[77],\"dtype\":\"float64\",\"order\":\"little\"}],[\"confidence when correct\",{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"AAAAAACASUAAAAAAAKBTQAAAAAAAgExAAAAAAAAATkAAAAAAAABUQAAAAAAAwFhAAAAAAACAU0AAAAAAAKBTQAAAAAAAgFZAAAAAAACAUUAAAAAAAIBSQAAAAAAAgEdAAAAAAAAASkAAAAAAAABVQAAAAAAAgE9AAAAAAAAAT0AAAAAAAMBNQAAAAAAA4FJAAAAAAACAU0AAAAAAAIBPQAAAAAAAQFRAAAAAAAAAOEAAAAAAAABJQAAAAAAAQFRAAAAAAADAUEAAAAAAAEBTQAAAAAAAAFlAAAAAAAAAUUAAAAAAAABIQAAAAAAAgFJAAAAAAACAVEAAAAAAAMBQQAAAAAAAoFRAAAAAAADAUEAAAAAAAABWQAAAAAAAwFRAAAAAAADAT0AAAAAAACBUQAAAAAAAwFFAAAAAAADAV0AAAAAAAKBTQAAAAAAAQEpAAAAAAABAUUAAAAAAAIBOQAAAAAAAgFBAAAAAAACAUkAAAAAAAABXQAAAAAAAAFRAAAAAAAAAV0AAAAAAAMBUQAAAAAAAQE5AAAAAAAAgUkAAAAAAAGBYQAAAAAAAAFFAAAAAAADAUEAAAAAAAEBQQAAAAAAAgFRAAAAAAADAUkAAAAAAAIBXQAAAAAAAQFNAAAAAAAAAV0AAAAAAAEBUQAAAAAAAAE1AAAAAAADgVkAAAAAAAABZQAAAAAAAQFVAAAAAAACAUkAAAAAAAOBTQAAAAAAAoFFAAAAAAAAAUkAAAAAAAEBVQAAAAAAAAFBAAAAAAABAU0AAAAAAAIBSQAAAAAAAQFBAAAAAAABAVEAAAAAAAEBUQA==\"},\"shape\":[77],\"dtype\":\"float64\",\"order\":\"little\"}],[\"confidence when incorrect\",{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"AAAAAACASEAAAAAAAMBQQAAAAAAAQEtAAAAAAAAASUAAAAAAAMBUQAAAAAAAQFBAAAAAAAAAQkAAAAAAAOBQQAAAAAAAAPh/AAAAAACAUUAAAAAAAMBLQAAAAAAAAEZAAAAAAAAAPUAAAAAAAEBLQAAAAAAAAElAAAAAAAAAS0AAAAAAAIBMQAAAAAAAwEFAAAAAAADAUEAAAAAAAIA4QAAAAAAAwE9AAAAAAACAQUAAAAAAAIBGQAAAAAAAAEtAAAAAAACASkAAAAAAAABVQAAAAAAAwFZAAAAAAAAAP0AAAAAAAIBJQAAAAAAAgEVAAAAAAACASEAAAAAAAAA9QAAAAAAAAFNAAAAAAAAAREAAAAAAAMBTQAAAAAAAwEtAAAAAAAAAUUAAAAAAAEBQQAAAAAAAAFFAAAAAAABAUEAAAAAAAABNQAAAAAAAgEFAAAAAAADATUAAAAAAAABJQAAAAAAAwEdAAAAAAAAA+H8AAAAAAGBSQAAAAAAAgFFAAAAAAAAAREAAAAAAAMBQQAAAAAAAAPh/AAAAAADATkAAAAAAAMBUQAAAAAAAAERAAAAAAACASkAAAAAAAIBLQAAAAAAAQFRAAAAAAAAAUEAAAAAAAMBRQAAAAAAAgE1AAAAAAADAUEAAAAAAAABNQAAAAAAAAElAAAAAAADAVkAAAAAAAABJQAAAAAAAQFVAAAAAAAAAUEAAAAAAAIBUQAAAAAAAwE1AAAAAAAAATkAAAAAAAMBSQAAAAAAAwE1AAAAAAACAUkAAAAAAAABUQAAAAAAAQFRAAAAAAACASUAAAAAAAEBSQA==\"},\"shape\":[77],\"dtype\":\"float64\",\"order\":\"little\"}],[\"sci\",{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"HQAAABMAAAAXAAAAGgAAABUAAAATAAAAHAAAAB0AAAARAAAAFgAAABwAAAAfAAAAHwAAACAAAAAZAAAAHgAAABwAAAAeAAAAFgAAABQAAAAaAAAAIAAAACAAAAAYAAAAGgAAAB4AAAAcAAAAFQAAAB0AAAAgAAAAGgAAABoAAAAXAAAAEgAAABYAAAAdAAAAFAAAABsAAAATAAAAHQAAABgAAAAdAAAAEQAAABoAAAAeAAAAEQAAABkAAAAfAAAAGwAAACAAAAAcAAAAGQAAAB4AAAAVAAAAHQAAABQAAAAWAAAAFwAAABQAAAARAAAAGwAAABsAAAAWAAAAGQAAAB4AAAAgAAAAHgAAACAAAAAcAAAAHwAAAB0AAAAaAAAAFAAAABMAAAAfAAAAFgAAABgAAAA=\"},\"shape\":[77],\"dtype\":\"int32\",\"order\":\"little\"}],[\"psqi\",{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"AQAAAAUAAAABAAAABQAAAAcAAAAHAAAAAwAAAAMAAAAKAAAABAAAAAUAAAACAAAAAgAAAAIAAAAFAAAAAgAAAAMAAAADAAAABAAAAAkAAAAFAAAAAgAAAAEAAAAEAAAACAAAAAIAAAACAAAABgAAAAMAAAABAAAABQAAAAcAAAADAAAABgAAAAYAAAABAAAABgAAAAQAAAAEAAAAAwAAAAUAAAACAAAABwAAAAQAAAAAAAAABQAAAAEAAAABAAAABAAAAAEAAAAIAAAABAAAAAIAAAAHAAAABAAAAAEAAAAHAAAABAAAAAUAAAAGAAAABAAAAAIAAAADAAAABAAAAAMAAAABAAAABQAAAAIAAAABAAAAAQAAAAMAAAAGAAAACAAAAAgAAAACAAAABAAAAAUAAAA=\"},\"shape\":[77],\"dtype\":\"int32\",\"order\":\"little\"}],[\"ess\",{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"BQAAAAEAAAADAAAABAAAAAUAAAAMAAAABAAAAAQAAAALAAAABgAAAAMAAAALAAAACgAAAAwAAAAGAAAADQAAAAwAAAAFAAAACgAAAAQAAAAEAAAABgAAAAMAAAAAAAAADAAAAAYAAAAFAAAACQAAAAcAAAAGAAAACgAAABIAAAALAAAACAAAABAAAAAHAAAACQAAAAsAAAAEAAAABwAAAAQAAAALAAAADAAAAAMAAAADAAAABAAAAAsAAAABAAAABAAAAAIAAAAJAAAAAQAAAAIAAAAMAAAABgAAAAUAAAAFAAAABAAAAAkAAAADAAAACAAAAAYAAAAKAAAAFQAAAAUAAAAFAAAACQAAAAEAAAAIAAAACwAAAAUAAAAHAAAACgAAAAcAAAAPAAAABwAAAAcAAAA=\"},\"shape\":[77],\"dtype\":\"int32\",\"order\":\"little\"}],[\"insomnia\",{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=\"},\"shape\":[77],\"dtype\":\"bool\",\"order\":\"little\"}]]}}},\"view\":{\"type\":\"object\",\"name\":\"CDSView\",\"id\":\"p2024\",\"attributes\":{\"filter\":{\"type\":\"object\",\"name\":\"AllIndices\",\"id\":\"p2025\"}}},\"glyph\":{\"type\":\"object\",\"name\":\"Scatter\",\"id\":\"p2020\",\"attributes\":{\"x\":{\"type\":\"field\",\"field\":\"confidence when correct\"},\"y\":{\"type\":\"field\",\"field\":\"confidence when incorrect\"},\"size\":{\"type\":\"value\",\"value\":5},\"line_color\":{\"type\":\"value\",\"value\":\"#1f77b3\"},\"line_width\":{\"type\":\"value\",\"value\":0},\"fill_color\":{\"type\":\"value\",\"value\":\"#1f77b3\"},\"fill_alpha\":{\"type\":\"value\",\"value\":0.8},\"hatch_color\":{\"type\":\"value\",\"value\":\"#1f77b3\"}}},\"nonselection_glyph\":{\"type\":\"object\",\"name\":\"Scatter\",\"id\":\"p2021\",\"attributes\":{\"x\":{\"type\":\"field\",\"field\":\"confidence when correct\"},\"y\":{\"type\":\"field\",\"field\":\"confidence when incorrect\"},\"size\":{\"type\":\"value\",\"value\":5},\"line_color\":{\"type\":\"value\",\"value\":\"#1f77b3\"},\"line_alpha\":{\"type\":\"value\",\"value\":0.1},\"line_width\":{\"type\":\"value\",\"value\":0},\"fill_color\":{\"type\":\"value\",\"value\":\"#1f77b3\"},\"fill_alpha\":{\"type\":\"value\",\"value\":0.1},\"hatch_color\":{\"type\":\"value\",\"value\":\"#1f77b3\"},\"hatch_alpha\":{\"type\":\"value\",\"value\":0.1}}},\"muted_glyph\":{\"type\":\"object\",\"name\":\"Scatter\",\"id\":\"p2022\",\"attributes\":{\"x\":{\"type\":\"field\",\"field\":\"confidence when correct\"},\"y\":{\"type\":\"field\",\"field\":\"confidence when incorrect\"},\"size\":{\"type\":\"value\",\"value\":5},\"line_color\":{\"type\":\"value\",\"value\":\"#1f77b3\"},\"line_alpha\":{\"type\":\"value\",\"value\":0.2},\"line_width\":{\"type\":\"value\",\"value\":0},\"fill_color\":{\"type\":\"value\",\"value\":\"#1f77b3\"},\"fill_alpha\":{\"type\":\"value\",\"value\":0.2},\"hatch_color\":{\"type\":\"value\",\"value\":\"#1f77b3\"},\"hatch_alpha\":{\"type\":\"value\",\"value\":0.2}}}}},{\"type\":\"object\",\"name\":\"GlyphRenderer\",\"id\":\"p2032\",\"attributes\":{\"level\":\"overlay\",\"data_source\":{\"type\":\"object\",\"name\":\"ColumnDataSource\",\"id\":\"p1628\",\"attributes\":{\"selected\":{\"type\":\"object\",\"name\":\"Selection\",\"id\":\"p1629\",\"attributes\":{\"indices\":[],\"line_indices\":[]}},\"selection_policy\":{\"type\":\"object\",\"name\":\"UnionRenderers\",\"id\":\"p1630\"},\"data\":{\"type\":\"map\",\"entries\":[[\"index\",{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"AAAAAAEAAAACAAAAAwAAAAQAAAAFAAAABgAAAAcAAAAIAAAACQAAAAoAAAALAAAADAAAAA0AAAAOAAAADwAAABAAAAARAAAAEgAAABMAAAAUAAAAFQAAABYAAAAXAAAAGAAAAA==\"},\"shape\":[25],\"dtype\":\"int32\",\"order\":\"little\"}],[\"participant number\",{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"CAAAABAAAAASAAAAFgAAABsAAAAcAAAAHgAAACEAAAAiAAAAIwAAACYAAAApAAAALgAAADEAAAA3AAAARwAAAEwAAABNAAAATgAAAFAAAABZAAAAWgAAAF0AAABkAAAAZQAAAA==\"},\"shape\":[25],\"dtype\":\"int32\",\"order\":\"little\"}],[\"gender\",{\"type\":\"ndarray\",\"array\":[\"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\"],\"shape\":[25],\"dtype\":\"object\",\"order\":\"little\"}],[\"age\",{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"JwAAACoAAAAfAAAAIwAAAEoAAAA9AAAAIAAAAD4AAAAhAAAANQAAACkAAAAkAAAAKAAAABgAAAAgAAAAKAAAAD0AAAAqAAAAHwAAABwAAAAaAAAALQAAABwAAAAsAAAAHAAAAA==\"},\"shape\":[25],\"dtype\":\"int32\",\"order\":\"little\"}],[\"correct hit percentage\",{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"QQAAAFoAAABaAAAAZAAAADwAAABQAAAAWgAAAC0AAABQAAAAZAAAAEYAAABaAAAAXwAAAFUAAABLAAAAKAAAAGQAAABGAAAAZAAAAGQAAAA8AAAAZAAAAGQAAABBAAAAZAAAAA==\"},\"shape\":[25],\"dtype\":\"int32\",\"order\":\"little\"}],[\"correct reject percentage\",{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"UAAAAFoAAABfAAAASwAAAEEAAAAUAAAASwAAAFoAAABkAAAAMgAAADcAAABkAAAAQQAAAEsAAAA3AAAAZAAAACgAAABaAAAARgAAADIAAABQAAAAXwAAAEsAAAAZAAAAKAAAAA==\"},\"shape\":[25],\"dtype\":\"int32\",\"order\":\"little\"}],[\"percent correct\",{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"AAAAAAAgUkAAAAAAAIBWQAAAAAAAIFdAAAAAAADgVUAAAAAAAEBPQAAAAAAAAElAAAAAAACgVEAAAAAAAOBQQAAAAAAAgFZAAAAAAADAUkAAAAAAAEBPQAAAAAAAwFdAAAAAAAAAVEAAAAAAAABUQAAAAAAAQFBAAAAAAACAUUAAAAAAAIBRQAAAAAAAAFRAAAAAAABAVUAAAAAAAMBSQAAAAAAAgFFAAAAAAABgWEAAAAAAAOBVQAAAAAAAgEZAAAAAAACAUUA=\"},\"shape\":[25],\"dtype\":\"float64\",\"order\":\"little\"}],[\"confidence when correct hit\",{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"AAAAAADAVkAAAAAAAOBSQAAAAAAAYFZAAAAAAABgVkAAAAAAACBRQAAAAAAAwFFAAAAAAADAUEAAAAAAAABLQAAAAAAAoFFAAAAAAACgUkAAAAAAAIBUQAAAAAAAIFNAAAAAAAAAVEAAAAAAAABNQAAAAAAAQFVAAAAAAABAUUAAAAAAAGBRQAAAAAAAwFVAAAAAAAAAV0AAAAAAAABZQAAAAAAAgFFAAAAAAAAAWUAAAAAAAGBWQAAAAAAAAE9AAAAAAADAVUA=\"},\"shape\":[25],\"dtype\":\"float64\",\"order\":\"little\"}],[\"confidence when incorrect hit\",{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"AAAAAACAVkAAAAAAAMBLQAAAAAAAgFZAAAAAAAAA+H8AAAAAAIBIQAAAAAAAgE9AAAAAAABATEAAAAAAAIBCQAAAAAAAIFNAAAAAAAAA+H8AAAAAAMBOQAAAAAAA4FJAAAAAAABAVkAAAAAAAABJQAAAAAAAQFRAAAAAAAAATEAAAAAAAAD4fwAAAAAAAFJAAAAAAAAA+H8AAAAAAAD4fwAAAAAAQFNAAAAAAAAA+H8AAAAAAAD4fwAAAAAAAFJAAAAAAAAA+H8=\"},\"shape\":[25],\"dtype\":\"float64\",\"order\":\"little\"}],[\"confidence when correct reject\",{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"AAAAAABAV0AAAAAAAKBRQAAAAAAAgFVAAAAAAADAUUAAAAAAAIBOQAAAAAAAAD9AAAAAAACAUEAAAAAAAEBQQAAAAAAAIFBAAAAAAABATkAAAAAAAEBSQAAAAAAAwFJAAAAAAADAU0AAAAAAAIBIQAAAAAAAQFVAAAAAAACAUUAAAAAAAEBGQAAAAAAAoFZAAAAAAABAVEAAAAAAAABZQAAAAAAAgFRAAAAAAAAAWUAAAAAAAMBQQAAAAAAAwFVAAAAAAAAAUUA=\"},\"shape\":[25],\"dtype\":\"float64\",\"order\":\"little\"}],[\"confidence when incorrect reject\",{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"AAAAAADgVEAAAAAAAABJQAAAAAAAQFRAAAAAAAAAVEAAAAAAAIBIQAAAAAAAIFJAAAAAAABAUEAAAAAAAGBUQAAAAAAAAPh/AAAAAABAUEAAAAAAAEBRQAAAAAAAAPh/AAAAAABATUAAAAAAAABRQAAAAAAAgFVAAAAAAAAA+H8AAAAAAEBSQAAAAAAAwEVAAAAAAAAATkAAAAAAAABZQAAAAAAA4FBAAAAAAAAAWUAAAAAAAABOQAAAAAAAQFNAAAAAAAAAS0A=\"},\"shape\":[25],\"dtype\":\"float64\",\"order\":\"little\"}],[\"confidence when correct\",{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"AAAAAABAV0AAAAAAAMBSQAAAAAAAQFZAAAAAAAAAVkAAAAAAAEBQQAAAAAAAIFBAAAAAAACAUEAAAAAAAABPQAAAAAAAAFFAAAAAAADAUUAAAAAAAIBUQAAAAAAAAFNAAAAAAADgU0AAAAAAAIBLQAAAAAAAQFVAAAAAAACAUUAAAAAAAEBLQAAAAAAAIFZAAAAAAADgVUAAAAAAAABZQAAAAAAAQFNAAAAAAAAAWUAAAAAAAABUQAAAAAAAYFFAAAAAAABAVEA=\"},\"shape\":[25],\"dtype\":\"float64\",\"order\":\"little\"}],[\"confidence when incorrect\",{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"AAAAAACAVkAAAAAAAABJQAAAAAAAAFZAAAAAAAAAVEAAAAAAAIBIQAAAAAAAoFFAAAAAAAAAUEAAAAAAAIBOQAAAAAAAIFNAAAAAAABAUEAAAAAAAABQQAAAAAAA4FJAAAAAAACAT0AAAAAAAIBNQAAAAAAA4FRAAAAAAAAATEAAAAAAAEBSQAAAAAAAAFBAAAAAAAAATkAAAAAAAABZQAAAAAAAoFFAAAAAAAAAWUAAAAAAAABOQAAAAAAAYFJAAAAAAAAAS0A=\"},\"shape\":[25],\"dtype\":\"float64\",\"order\":\"little\"}],[\"sci\",{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"CQAAAAQAAAAKAAAADQAAAA0AAAAPAAAAEAAAAA4AAAAOAAAADgAAAA4AAAAPAAAACgAAAA4AAAAFAAAAAAAAABAAAAALAAAADgAAAAwAAAAOAAAADgAAABAAAAABAAAADgAAAA==\"},\"shape\":[25],\"dtype\":\"int32\",\"order\":\"little\"}],[\"psqi\",{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"DQAAAAsAAAAJAAAACAAAAAkAAAAOAAAACQAAAAkAAAAMAAAACAAAAAUAAAAHAAAADAAAAA0AAAANAAAACwAAAAQAAAAKAAAABgAAAAcAAAAIAAAACQAAAAcAAAAPAAAABwAAAA==\"},\"shape\":[25],\"dtype\":\"int32\",\"order\":\"little\"}],[\"ess\",{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"AgAAAAcAAAADAAAAFAAAAAwAAAACAAAAAwAAAAkAAAAKAAAABwAAABMAAAAAAAAACAAAAAQAAAAHAAAADgAAAAwAAAAKAAAACwAAAAwAAAABAAAABgAAAAQAAAAGAAAAAgAAAA==\"},\"shape\":[25],\"dtype\":\"int32\",\"order\":\"little\"}],[\"insomnia\",{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"AQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQ==\"},\"shape\":[25],\"dtype\":\"bool\",\"order\":\"little\"}]]}}},\"view\":{\"type\":\"object\",\"name\":\"CDSView\",\"id\":\"p2033\",\"attributes\":{\"filter\":{\"type\":\"object\",\"name\":\"AllIndices\",\"id\":\"p2034\"}}},\"glyph\":{\"type\":\"object\",\"name\":\"Scatter\",\"id\":\"p2029\",\"attributes\":{\"x\":{\"type\":\"field\",\"field\":\"confidence when correct\"},\"y\":{\"type\":\"field\",\"field\":\"confidence when incorrect\"},\"size\":{\"type\":\"value\",\"value\":5},\"line_color\":{\"type\":\"value\",\"value\":\"#ff7e0e\"},\"line_width\":{\"type\":\"value\",\"value\":0},\"fill_color\":{\"type\":\"value\",\"value\":\"#ff7e0e\"},\"fill_alpha\":{\"type\":\"value\",\"value\":0.8},\"hatch_color\":{\"type\":\"value\",\"value\":\"#ff7e0e\"}}},\"nonselection_glyph\":{\"type\":\"object\",\"name\":\"Scatter\",\"id\":\"p2030\",\"attributes\":{\"x\":{\"type\":\"field\",\"field\":\"confidence when correct\"},\"y\":{\"type\":\"field\",\"field\":\"confidence when incorrect\"},\"size\":{\"type\":\"value\",\"value\":5},\"line_color\":{\"type\":\"value\",\"value\":\"#ff7e0e\"},\"line_alpha\":{\"type\":\"value\",\"value\":0.1},\"line_width\":{\"type\":\"value\",\"value\":0},\"fill_color\":{\"type\":\"value\",\"value\":\"#ff7e0e\"},\"fill_alpha\":{\"type\":\"value\",\"value\":0.1},\"hatch_color\":{\"type\":\"value\",\"value\":\"#ff7e0e\"},\"hatch_alpha\":{\"type\":\"value\",\"value\":0.1}}},\"muted_glyph\":{\"type\":\"object\",\"name\":\"Scatter\",\"id\":\"p2031\",\"attributes\":{\"x\":{\"type\":\"field\",\"field\":\"confidence when correct\"},\"y\":{\"type\":\"field\",\"field\":\"confidence when incorrect\"},\"size\":{\"type\":\"value\",\"value\":5},\"line_color\":{\"type\":\"value\",\"value\":\"#ff7e0e\"},\"line_alpha\":{\"type\":\"value\",\"value\":0.2},\"line_width\":{\"type\":\"value\",\"value\":0},\"fill_color\":{\"type\":\"value\",\"value\":\"#ff7e0e\"},\"fill_alpha\":{\"type\":\"value\",\"value\":0.2},\"hatch_color\":{\"type\":\"value\",\"value\":\"#ff7e0e\"},\"hatch_alpha\":{\"type\":\"value\",\"value\":0.2}}}}}],\"toolbar\":{\"type\":\"object\",\"name\":\"Toolbar\",\"id\":\"p1991\",\"attributes\":{\"tools\":[{\"type\":\"object\",\"name\":\"PanTool\",\"id\":\"p2006\"},{\"type\":\"object\",\"name\":\"WheelZoomTool\",\"id\":\"p2007\",\"attributes\":{\"renderers\":\"auto\"}},{\"type\":\"object\",\"name\":\"BoxZoomTool\",\"id\":\"p2008\",\"attributes\":{\"overlay\":{\"type\":\"object\",\"name\":\"BoxAnnotation\",\"id\":\"p2009\",\"attributes\":{\"syncable\":false,\"level\":\"overlay\",\"visible\":false,\"left\":{\"type\":\"number\",\"value\":\"nan\"},\"right\":{\"type\":\"number\",\"value\":\"nan\"},\"top\":{\"type\":\"number\",\"value\":\"nan\"},\"bottom\":{\"type\":\"number\",\"value\":\"nan\"},\"left_units\":\"canvas\",\"right_units\":\"canvas\",\"top_units\":\"canvas\",\"bottom_units\":\"canvas\",\"line_color\":\"black\",\"line_alpha\":1.0,\"line_width\":2,\"line_dash\":[4,4],\"fill_color\":\"lightgrey\",\"fill_alpha\":0.5}}}},{\"type\":\"object\",\"name\":\"SaveTool\",\"id\":\"p2014\"},{\"type\":\"object\",\"name\":\"ResetTool\",\"id\":\"p2015\"},{\"type\":\"object\",\"name\":\"HelpTool\",\"id\":\"p2016\"}]}},\"toolbar_location\":\"above\",\"left\":[{\"type\":\"object\",\"name\":\"LinearAxis\",\"id\":\"p2001\",\"attributes\":{\"level\":\"overlay\",\"ticker\":{\"type\":\"object\",\"name\":\"BasicTicker\",\"id\":\"p2002\",\"attributes\":{\"mantissas\":[1,2,5]}},\"formatter\":{\"type\":\"object\",\"name\":\"BasicTickFormatter\",\"id\":\"p2003\"},\"axis_label\":\"condifence when incorrect\",\"axis_label_text_font_size\":\"9pt\",\"axis_label_text_font_style\":\"bold\",\"major_label_policy\":{\"type\":\"object\",\"name\":\"AllLabels\",\"id\":\"p2004\"},\"major_label_text_font_size\":\"7.5pt\",\"axis_line_color\":\"dimgray\",\"major_tick_line_color\":\"dimgray\"}}],\"right\":[{\"type\":\"object\",\"name\":\"Legend\",\"id\":\"p2035\",\"attributes\":{\"level\":\"overlay\",\"title_text_font\":\"helvetica\",\"title_text_font_size\":\"8pt\",\"title_text_font_style\":\"bold\",\"border_line_color\":\"darkgray\",\"border_line_width\":0.75,\"background_fill_color\":\"#ffffff\",\"background_fill_alpha\":0.7,\"click_policy\":\"hide\",\"label_text_font\":\"helvetica\",\"label_text_font_size\":\"7.5pt\",\"items\":[{\"type\":\"object\",\"name\":\"LegendItem\",\"id\":\"p2036\",\"attributes\":{\"label\":{\"type\":\"value\",\"value\":\"normal\"},\"renderers\":[{\"id\":\"p2023\"}]}},{\"type\":\"object\",\"name\":\"LegendItem\",\"id\":\"p2037\",\"attributes\":{\"label\":{\"type\":\"value\",\"value\":\"insomnia\"},\"renderers\":[{\"id\":\"p2032\"}]}}]}}],\"below\":[{\"type\":\"object\",\"name\":\"LinearAxis\",\"id\":\"p1996\",\"attributes\":{\"level\":\"overlay\",\"ticker\":{\"type\":\"object\",\"name\":\"BasicTicker\",\"id\":\"p1997\",\"attributes\":{\"mantissas\":[1,2,5]}},\"formatter\":{\"type\":\"object\",\"name\":\"BasicTickFormatter\",\"id\":\"p1998\"},\"axis_label\":\"confidence when correct\",\"axis_label_text_font_size\":\"9pt\",\"axis_label_text_font_style\":\"bold\",\"major_label_policy\":{\"type\":\"object\",\"name\":\"AllLabels\",\"id\":\"p1999\"},\"major_label_text_font_size\":\"7.5pt\",\"axis_line_color\":\"dimgray\",\"major_tick_line_color\":\"dimgray\"}}],\"center\":[{\"type\":\"object\",\"name\":\"Grid\",\"id\":\"p2000\",\"attributes\":{\"level\":\"underlay\",\"axis\":{\"id\":\"p1996\"},\"grid_line_color\":\"lightgray\"}},{\"type\":\"object\",\"name\":\"Grid\",\"id\":\"p2005\",\"attributes\":{\"level\":\"underlay\",\"dimension\":1,\"axis\":{\"id\":\"p2001\"},\"grid_line_color\":\"lightgray\"}}],\"frame_width\":300,\"frame_height\":300}}]}};\n", " const render_items = [{\"docid\":\"13afe487-adda-4918-9e9b-2cb79871c41f\",\"roots\":{\"p1983\":\"ef584116-f82c-419a-994b-f2e8910aa459\"},\"root_ids\":[\"p1983\"]}];\n", " void root.Bokeh.embed.embed_items_notebook(docs_json, render_items);\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": "p1983" } }, "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.scatter(\n", " source=source_normal,\n", " x=\"confidence when correct\",\n", " y=\"confidence when incorrect\",\n", " marker=\"circle\",\n", " color=cat_colors[0],\n", ")\n", "\n", "insom_glyph = p.scatter(\n", " source=source_insomnia,\n", " x=\"confidence when correct\",\n", " y=\"confidence when incorrect\",\n", " marker=\"circle\",\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": 28, "metadata": { "tags": [ "hide-input" ] }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Python implementation: CPython\n", "Python version : 3.11.9\n", "IPython version : 8.20.0\n", "\n", "numpy : 1.26.4\n", "pandas : 2.2.1\n", "bokeh : 3.4.1\n", "iqplot : 0.3.6\n", "jupyterlab: 4.0.13\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.11.9" } }, "nbformat": 4, "nbformat_minor": 4 }