{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Confidence interval of an ECDF\n", "\n", "[Dataset download](https://s3.amazonaws.com/bebi103.caltech.edu/data/bee_sperm.csv)\n", "\n", "
" ] }, { "cell_type": "code", "execution_count": 1, "metadata": { "tags": [] }, "outputs": [ { "data": { "text/html": [ "\n", "
\n", " \n", " Loading BokehJS ...\n", "
" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "application/javascript": [ "\n", "(function(root) {\n", " function now() {\n", " return new Date();\n", " }\n", "\n", " const force = true;\n", "\n", " if (typeof root._bokeh_onload_callbacks === \"undefined\" || force === true) {\n", " root._bokeh_onload_callbacks = [];\n", " root._bokeh_is_loading = undefined;\n", " }\n", "\n", " const JS_MIME_TYPE = 'application/javascript';\n", " const HTML_MIME_TYPE = 'text/html';\n", " const EXEC_MIME_TYPE = 'application/vnd.bokehjs_exec.v0+json';\n", " const CLASS_NAME = 'output_bokeh rendered_html';\n", "\n", " /**\n", " * Render data to the DOM node\n", " */\n", " function render(props, node) {\n", " const script = document.createElement(\"script\");\n", " node.appendChild(script);\n", " }\n", "\n", " /**\n", " * Handle when an output is cleared or removed\n", " */\n", " function handleClearOutput(event, handle) {\n", " const cell = handle.cell;\n", "\n", " const id = cell.output_area._bokeh_element_id;\n", " const server_id = cell.output_area._bokeh_server_id;\n", " // Clean up Bokeh references\n", " if (id != null && id in Bokeh.index) {\n", " Bokeh.index[id].model.document.clear();\n", " delete Bokeh.index[id];\n", " }\n", "\n", " if (server_id !== undefined) {\n", " // Clean up Bokeh references\n", " const cmd_clean = \"from bokeh.io.state import curstate; print(curstate().uuid_to_server['\" + server_id + \"'].get_sessions()[0].document.roots[0]._id)\";\n", " cell.notebook.kernel.execute(cmd_clean, {\n", " iopub: {\n", " output: function(msg) {\n", " const id = msg.content.text.trim();\n", " if (id in Bokeh.index) {\n", " Bokeh.index[id].model.document.clear();\n", " delete Bokeh.index[id];\n", " }\n", " }\n", " }\n", " });\n", " // Destroy server and session\n", " const cmd_destroy = \"import bokeh.io.notebook as ion; ion.destroy_server('\" + server_id + \"')\";\n", " cell.notebook.kernel.execute(cmd_destroy);\n", " }\n", " }\n", "\n", " /**\n", " * Handle when a new output is added\n", " */\n", " function handleAddOutput(event, handle) {\n", " const output_area = handle.output_area;\n", " const output = handle.output;\n", "\n", " // limit handleAddOutput to display_data with EXEC_MIME_TYPE content only\n", " if ((output.output_type != \"display_data\") || (!Object.prototype.hasOwnProperty.call(output.data, EXEC_MIME_TYPE))) {\n", " return\n", " }\n", "\n", " const toinsert = output_area.element.find(\".\" + CLASS_NAME.split(' ')[0]);\n", "\n", " if (output.metadata[EXEC_MIME_TYPE][\"id\"] !== undefined) {\n", " toinsert[toinsert.length - 1].firstChild.textContent = output.data[JS_MIME_TYPE];\n", " // store reference to embed id on output_area\n", " output_area._bokeh_element_id = output.metadata[EXEC_MIME_TYPE][\"id\"];\n", " }\n", " if (output.metadata[EXEC_MIME_TYPE][\"server_id\"] !== undefined) {\n", " const bk_div = document.createElement(\"div\");\n", " bk_div.innerHTML = output.data[HTML_MIME_TYPE];\n", " const script_attrs = bk_div.children[0].attributes;\n", " for (let i = 0; i < script_attrs.length; i++) {\n", " toinsert[toinsert.length - 1].firstChild.setAttribute(script_attrs[i].name, script_attrs[i].value);\n", " toinsert[toinsert.length - 1].firstChild.textContent = bk_div.children[0].textContent\n", " }\n", " // store reference to server id on output_area\n", " output_area._bokeh_server_id = output.metadata[EXEC_MIME_TYPE][\"server_id\"];\n", " }\n", " }\n", "\n", " function register_renderer(events, OutputArea) {\n", "\n", " function append_mime(data, metadata, element) {\n", " // create a DOM node to render to\n", " const toinsert = this.create_output_subarea(\n", " metadata,\n", " CLASS_NAME,\n", " EXEC_MIME_TYPE\n", " );\n", " this.keyboard_manager.register_events(toinsert);\n", " // Render to node\n", " const props = {data: data, metadata: metadata[EXEC_MIME_TYPE]};\n", " render(props, toinsert[toinsert.length - 1]);\n", " element.append(toinsert);\n", " return toinsert\n", " }\n", "\n", " /* Handle when an output is cleared or removed */\n", " events.on('clear_output.CodeCell', handleClearOutput);\n", " events.on('delete.Cell', handleClearOutput);\n", "\n", " /* Handle when a new output is added */\n", " events.on('output_added.OutputArea', handleAddOutput);\n", "\n", " /**\n", " * Register the mime type and append_mime function with output_area\n", " */\n", " OutputArea.prototype.register_mime_type(EXEC_MIME_TYPE, append_mime, {\n", " /* Is output safe? */\n", " safe: true,\n", " /* Index of renderer in `output_area.display_order` */\n", " index: 0\n", " });\n", " }\n", "\n", " // register the mime type if in Jupyter Notebook environment and previously unregistered\n", " if (root.Jupyter !== undefined) {\n", " const events = require('base/js/events');\n", " const OutputArea = require('notebook/js/outputarea').OutputArea;\n", "\n", " if (OutputArea.prototype.mime_types().indexOf(EXEC_MIME_TYPE) == -1) {\n", " register_renderer(events, OutputArea);\n", " }\n", " }\n", "\n", " \n", " if (typeof (root._bokeh_timeout) === \"undefined\" || force === true) {\n", " root._bokeh_timeout = Date.now() + 5000;\n", " root._bokeh_failed_load = false;\n", " }\n", "\n", " const NB_LOAD_WARNING = {'data': {'text/html':\n", " \"
\\n\"+\n", " \"

\\n\"+\n", " \"BokehJS does not appear to have successfully loaded. If loading BokehJS from CDN, this \\n\"+\n", " \"may be due to a slow or bad network connection. Possible fixes:\\n\"+\n", " \"

\\n\"+\n", " \"\\n\"+\n", " \"\\n\"+\n", " \"from bokeh.resources import INLINE\\n\"+\n", " \"output_notebook(resources=INLINE)\\n\"+\n", " \"\\n\"+\n", " \"
\"}};\n", "\n", " function display_loaded() {\n", " const el = document.getElementById(\"1002\");\n", " if (el != null) {\n", " el.textContent = \"BokehJS is loading...\";\n", " }\n", " if (root.Bokeh !== undefined) {\n", " if (el != null) {\n", " el.textContent = \"BokehJS \" + root.Bokeh.version + \" successfully loaded.\";\n", " }\n", " } else if (Date.now() < root._bokeh_timeout) {\n", " setTimeout(display_loaded, 100)\n", " }\n", " }\n", "\n", "\n", " function run_callbacks() {\n", " try {\n", " root._bokeh_onload_callbacks.forEach(function(callback) {\n", " if (callback != null)\n", " callback();\n", " });\n", " } finally {\n", " delete root._bokeh_onload_callbacks\n", " }\n", " console.debug(\"Bokeh: all callbacks have finished\");\n", " }\n", "\n", " function load_libs(css_urls, js_urls, callback) {\n", " if (css_urls == null) css_urls = [];\n", " if (js_urls == null) js_urls = [];\n", "\n", " root._bokeh_onload_callbacks.push(callback);\n", " if (root._bokeh_is_loading > 0) {\n", " console.debug(\"Bokeh: BokehJS is being loaded, scheduling callback at\", now());\n", " return null;\n", " }\n", " if (js_urls == null || js_urls.length === 0) {\n", " run_callbacks();\n", " return null;\n", " }\n", " console.debug(\"Bokeh: BokehJS not loaded, scheduling load and callback at\", now());\n", " root._bokeh_is_loading = css_urls.length + js_urls.length;\n", "\n", " function on_load() {\n", " root._bokeh_is_loading--;\n", " if (root._bokeh_is_loading === 0) {\n", " console.debug(\"Bokeh: all BokehJS libraries/stylesheets loaded\");\n", " run_callbacks()\n", " }\n", " }\n", "\n", " function on_error(url) {\n", " console.error(\"failed to load \" + url);\n", " }\n", "\n", " for (let i = 0; i < css_urls.length; i++) {\n", " const url = css_urls[i];\n", " const element = document.createElement(\"link\");\n", " element.onload = on_load;\n", " element.onerror = on_error.bind(null, url);\n", " element.rel = \"stylesheet\";\n", " element.type = \"text/css\";\n", " element.href = url;\n", " console.debug(\"Bokeh: injecting link tag for BokehJS stylesheet: \", url);\n", " document.body.appendChild(element);\n", " }\n", "\n", " for (let i = 0; i < js_urls.length; i++) {\n", " const url = js_urls[i];\n", " const element = document.createElement('script');\n", " element.onload = on_load;\n", " element.onerror = on_error.bind(null, url);\n", " element.async = false;\n", " element.src = url;\n", " console.debug(\"Bokeh: injecting script tag for BokehJS library: \", url);\n", " document.head.appendChild(element);\n", " }\n", " };\n", "\n", " function inject_raw_css(css) {\n", " const element = document.createElement(\"style\");\n", " element.appendChild(document.createTextNode(css));\n", " document.body.appendChild(element);\n", " }\n", "\n", " \n", " const js_urls = [\"https://cdn.bokeh.org/bokeh/release/bokeh-2.4.2.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-gl-2.4.2.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-widgets-2.4.2.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-tables-2.4.2.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-mathjax-2.4.2.min.js\"];\n", " const css_urls = [];\n", " \n", "\n", " const inline_js = [\n", " function(Bokeh) {\n", " Bokeh.set_log_level(\"info\");\n", " },\n", " function(Bokeh) {\n", " \n", " \n", " }\n", " ];\n", "\n", " function run_inline_js() {\n", " \n", " if (root.Bokeh !== undefined || force === true) {\n", " \n", " for (let i = 0; i < inline_js.length; i++) {\n", " inline_js[i].call(root, root.Bokeh);\n", " }\n", " if (force === true) {\n", " display_loaded();\n", " }} else if (Date.now() < root._bokeh_timeout) {\n", " setTimeout(run_inline_js, 100);\n", " } else if (!root._bokeh_failed_load) {\n", " console.log(\"Bokeh: BokehJS failed to load within specified timeout.\");\n", " root._bokeh_failed_load = true;\n", " } else if (force !== true) {\n", " const cell = $(document.getElementById(\"1002\")).parents('.cell').data().cell;\n", " cell.output_area.append_execute_result(NB_LOAD_WARNING)\n", " }\n", "\n", " }\n", "\n", " if (root._bokeh_is_loading === 0) {\n", " console.debug(\"Bokeh: BokehJS loaded, going straight to plotting\");\n", " run_inline_js();\n", " } else {\n", " load_libs(css_urls, js_urls, function() {\n", " console.debug(\"Bokeh: BokehJS plotting callback run at\", now());\n", " run_inline_js();\n", " });\n", " }\n", "}(window));" ], "application/vnd.bokehjs_load.v0+json": "\n(function(root) {\n function now() {\n return new Date();\n }\n\n const force = true;\n\n if (typeof root._bokeh_onload_callbacks === \"undefined\" || force === true) {\n root._bokeh_onload_callbacks = [];\n root._bokeh_is_loading = undefined;\n }\n\n \n\n \n if (typeof (root._bokeh_timeout) === \"undefined\" || force === true) {\n root._bokeh_timeout = Date.now() + 5000;\n root._bokeh_failed_load = false;\n }\n\n const NB_LOAD_WARNING = {'data': {'text/html':\n \"
\\n\"+\n \"

\\n\"+\n \"BokehJS does not appear to have successfully loaded. If loading BokehJS from CDN, this \\n\"+\n \"may be due to a slow or bad network connection. Possible fixes:\\n\"+\n \"

\\n\"+\n \"\\n\"+\n \"\\n\"+\n \"from bokeh.resources import INLINE\\n\"+\n \"output_notebook(resources=INLINE)\\n\"+\n \"\\n\"+\n \"
\"}};\n\n function display_loaded() {\n const el = document.getElementById(\"1002\");\n if (el != null) {\n el.textContent = \"BokehJS is loading...\";\n }\n if (root.Bokeh !== undefined) {\n if (el != null) {\n el.textContent = \"BokehJS \" + root.Bokeh.version + \" successfully loaded.\";\n }\n } else if (Date.now() < root._bokeh_timeout) {\n setTimeout(display_loaded, 100)\n }\n }\n\n\n function run_callbacks() {\n try {\n root._bokeh_onload_callbacks.forEach(function(callback) {\n if (callback != null)\n callback();\n });\n } finally {\n delete root._bokeh_onload_callbacks\n }\n console.debug(\"Bokeh: all callbacks have finished\");\n }\n\n function load_libs(css_urls, js_urls, callback) {\n if (css_urls == null) css_urls = [];\n if (js_urls == null) js_urls = [];\n\n root._bokeh_onload_callbacks.push(callback);\n if (root._bokeh_is_loading > 0) {\n console.debug(\"Bokeh: BokehJS is being loaded, scheduling callback at\", now());\n return null;\n }\n if (js_urls == null || js_urls.length === 0) {\n run_callbacks();\n return null;\n }\n console.debug(\"Bokeh: BokehJS not loaded, scheduling load and callback at\", now());\n root._bokeh_is_loading = css_urls.length + js_urls.length;\n\n function on_load() {\n root._bokeh_is_loading--;\n if (root._bokeh_is_loading === 0) {\n console.debug(\"Bokeh: all BokehJS libraries/stylesheets loaded\");\n run_callbacks()\n }\n }\n\n function on_error(url) {\n console.error(\"failed to load \" + url);\n }\n\n for (let i = 0; i < css_urls.length; i++) {\n const url = css_urls[i];\n const element = document.createElement(\"link\");\n element.onload = on_load;\n element.onerror = on_error.bind(null, url);\n element.rel = \"stylesheet\";\n element.type = \"text/css\";\n element.href = url;\n console.debug(\"Bokeh: injecting link tag for BokehJS stylesheet: \", url);\n document.body.appendChild(element);\n }\n\n for (let i = 0; i < js_urls.length; i++) {\n const url = js_urls[i];\n const element = document.createElement('script');\n element.onload = on_load;\n element.onerror = on_error.bind(null, url);\n element.async = false;\n element.src = url;\n console.debug(\"Bokeh: injecting script tag for BokehJS library: \", url);\n document.head.appendChild(element);\n }\n };\n\n function inject_raw_css(css) {\n const element = document.createElement(\"style\");\n element.appendChild(document.createTextNode(css));\n document.body.appendChild(element);\n }\n\n \n const js_urls = [\"https://cdn.bokeh.org/bokeh/release/bokeh-2.4.2.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-gl-2.4.2.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-widgets-2.4.2.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-tables-2.4.2.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-mathjax-2.4.2.min.js\"];\n const css_urls = [];\n \n\n const inline_js = [\n function(Bokeh) {\n Bokeh.set_log_level(\"info\");\n },\n function(Bokeh) {\n \n \n }\n ];\n\n function run_inline_js() {\n \n if (root.Bokeh !== undefined || force === true) {\n \n for (let i = 0; i < inline_js.length; i++) {\n inline_js[i].call(root, root.Bokeh);\n }\n if (force === true) {\n display_loaded();\n }} else if (Date.now() < root._bokeh_timeout) {\n setTimeout(run_inline_js, 100);\n } else if (!root._bokeh_failed_load) {\n console.log(\"Bokeh: BokehJS failed to load within specified timeout.\");\n root._bokeh_failed_load = true;\n } else if (force !== true) {\n const cell = $(document.getElementById(\"1002\")).parents('.cell').data().cell;\n cell.output_area.append_execute_result(NB_LOAD_WARNING)\n }\n\n }\n\n if (root._bokeh_is_loading === 0) {\n console.debug(\"Bokeh: BokehJS loaded, going straight to plotting\");\n run_inline_js();\n } else {\n load_libs(css_urls, js_urls, function() {\n console.debug(\"Bokeh: BokehJS plotting callback run at\", now());\n run_inline_js();\n });\n }\n}(window));" }, "metadata": {}, "output_type": "display_data" } ], "source": [ "import pandas as pd\n", "\n", "import iqplot\n", "\n", "import bokeh.io\n", "bokeh.io.output_notebook()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "
\n", "\n", "We can compute confidence intervals for anything directly computed from the data. This includes the value of an ECDF for an arbitrary x. Here is how we can compute the confidence interval for the ECDF.\n", "\n", "1. Generate a bootstrap sample of the data.\n", "2. For each value x of your data set, evaluate the value of the ECDF at that point and record it. This is a bootstrap replicate of the ECDF at x.\n", "3. Do steps 1 and 2 over and over until you get your desired number of bootstrap replicates.\n", "4. For each value of x in your data set, compute the appropriate percentiles of your ECDF replicates. This gives you the ECDF confidence interval at x.\n", "\n", "Step 2 is kind of tricky, since not all of your measured data points are present in each bootstrap sample and you have to use the formal definition of the ECDF to get a replicate of the ECDF. Fortunately, this is done for you in the `iqplot.ecdf()` function using the `conf_int=True` kwarg. I will now use it to plot an ECDFs of the bee sperm data set." ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [ { "data": { "text/html": [ "\n", "\n", "\n", "\n", "\n", "\n", "
\n" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "application/javascript": [ "(function(root) {\n", " function embed_document(root) {\n", " \n", " const docs_json = {\"6d95d6c3-7bdd-40d7-a226-10f9e04d9cfc\":{\"defs\":[],\"roots\":{\"references\":[{\"attributes\":{\"below\":[{\"id\":\"1012\"}],\"center\":[{\"id\":\"1015\"},{\"id\":\"1019\"}],\"frame_height\":275,\"frame_width\":375,\"left\":[{\"id\":\"1016\"}],\"renderers\":[{\"id\":\"1038\"},{\"id\":\"1045\"},{\"id\":\"1051\"},{\"id\":\"1058\"}],\"right\":[{\"id\":\"1060\"}],\"title\":{\"id\":\"1063\"},\"toolbar\":{\"id\":\"1027\"},\"toolbar_location\":\"above\",\"x_range\":{\"id\":\"1004\"},\"x_scale\":{\"id\":\"1008\"},\"y_range\":{\"id\":\"1006\"},\"y_scale\":{\"id\":\"1010\"}},\"id\":\"1003\",\"subtype\":\"Figure\",\"type\":\"Plot\"},{\"attributes\":{},\"id\":\"1025\",\"type\":\"HelpTool\"},{\"attributes\":{\"coordinates\":null,\"data_source\":{\"id\":\"1053\"},\"glyph\":{\"id\":\"1055\"},\"group\":null,\"hover_glyph\":null,\"muted_glyph\":{\"id\":\"1057\"},\"nonselection_glyph\":{\"id\":\"1056\"},\"view\":{\"id\":\"1059\"}},\"id\":\"1058\",\"type\":\"GlyphRenderer\"},{\"attributes\":{\"overlay\":{\"id\":\"1026\"}},\"id\":\"1022\",\"type\":\"BoxZoomTool\"},{\"attributes\":{},\"id\":\"1023\",\"type\":\"SaveTool\"},{\"attributes\":{\"axis_label\":\"ECDF\",\"coordinates\":null,\"formatter\":{\"id\":\"1066\"},\"group\":null,\"major_label_policy\":{\"id\":\"1067\"},\"ticker\":{\"id\":\"1017\"}},\"id\":\"1016\",\"type\":\"LinearAxis\"},{\"attributes\":{},\"id\":\"1008\",\"type\":\"LinearScale\"},{\"attributes\":{\"axis_label\":\"Alive Sperm Millions\",\"coordinates\":null,\"formatter\":{\"id\":\"1069\"},\"group\":null,\"major_label_policy\":{\"id\":\"1070\"},\"ticker\":{\"id\":\"1013\"}},\"id\":\"1012\",\"type\":\"LinearAxis\"},{\"attributes\":{},\"id\":\"1024\",\"type\":\"ResetTool\"},{\"attributes\":{\"coordinates\":null,\"group\":null},\"id\":\"1063\",\"type\":\"Title\"},{\"attributes\":{},\"id\":\"1071\",\"type\":\"UnionRenderers\"},{\"attributes\":{\"coordinates\":null,\"data_source\":{\"id\":\"1034\"},\"glyph\":{\"id\":\"1035\"},\"group\":null,\"hover_glyph\":null,\"muted_glyph\":{\"id\":\"1037\"},\"nonselection_glyph\":{\"id\":\"1036\"},\"view\":{\"id\":\"1039\"}},\"id\":\"1038\",\"type\":\"GlyphRenderer\"},{\"attributes\":{},\"id\":\"1074\",\"type\":\"Selection\"},{\"attributes\":{},\"id\":\"1072\",\"type\":\"Selection\"},{\"attributes\":{},\"id\":\"1021\",\"type\":\"WheelZoomTool\"},{\"attributes\":{},\"id\":\"1013\",\"type\":\"BasicTicker\"},{\"attributes\":{\"fill_alpha\":0.1,\"fill_color\":\"#ff7e0e\",\"hatch_alpha\":0.1,\"line_alpha\":0.1,\"line_color\":\"#1f77b4\",\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"1049\",\"type\":\"Patch\"},{\"attributes\":{},\"id\":\"1077\",\"type\":\"UnionRenderers\"},{\"attributes\":{\"click_policy\":\"hide\",\"coordinates\":null,\"group\":null,\"items\":[{\"id\":\"1061\"},{\"id\":\"1062\"}],\"location\":\"center\"},\"id\":\"1060\",\"type\":\"Legend\"},{\"attributes\":{\"source\":{\"id\":\"1047\"}},\"id\":\"1052\",\"type\":\"CDSView\"},{\"attributes\":{},\"id\":\"1006\",\"type\":\"DataRange1d\"},{\"attributes\":{},\"id\":\"1004\",\"type\":\"DataRange1d\"},{\"attributes\":{},\"id\":\"1017\",\"type\":\"BasicTicker\"},{\"attributes\":{},\"id\":\"1070\",\"type\":\"AllLabels\"},{\"attributes\":{\"fill_alpha\":0.2,\"fill_color\":\"#ff7e0e\",\"hatch_alpha\":0.2,\"line_alpha\":0.2,\"line_color\":\"#1f77b4\",\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"1050\",\"type\":\"Patch\"},{\"attributes\":{\"fill_alpha\":0.1,\"fill_color\":\"#1f77b3\",\"hatch_alpha\":0.1,\"line_alpha\":0.1,\"line_color\":\"#1f77b4\",\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"1036\",\"type\":\"Patch\"},{\"attributes\":{\"fill_alpha\":0.5,\"fill_color\":\"#ff7e0e\",\"line_alpha\":0,\"line_color\":\"#1f77b4\",\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"1048\",\"type\":\"Patch\"},{\"attributes\":{\"fill_color\":{\"value\":\"#ff7e0e\"},\"hatch_color\":{\"value\":\"#ff7e0e\"},\"line_color\":{\"value\":\"#ff7e0e\"},\"x\":{\"field\":\"Alive Sperm Millions\"},\"y\":{\"field\":\"__ECDF\"}},\"id\":\"1055\",\"type\":\"Circle\"},{\"attributes\":{\"data\":{\"x\":{\"__ndarray__\":\"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\",\"dtype\":\"float64\",\"order\":\"little\",\"shape\":[360]},\"y\":{\"__ndarray__\":\"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\",\"dtype\":\"float64\",\"order\":\"little\",\"shape\":[360]}},\"selected\":{\"id\":\"1076\"},\"selection_policy\":{\"id\":\"1075\"}},\"id\":\"1047\",\"type\":\"ColumnDataSource\"},{\"attributes\":{\"bottom_units\":\"screen\",\"coordinates\":null,\"fill_alpha\":0.5,\"fill_color\":\"lightgrey\",\"group\":null,\"left_units\":\"screen\",\"level\":\"overlay\",\"line_alpha\":1.0,\"line_color\":\"black\",\"line_dash\":[4,4],\"line_width\":2,\"right_units\":\"screen\",\"syncable\":false,\"top_units\":\"screen\"},\"id\":\"1026\",\"type\":\"BoxAnnotation\"},{\"attributes\":{\"coordinates\":null,\"data_source\":{\"id\":\"1047\"},\"glyph\":{\"id\":\"1048\"},\"group\":null,\"hover_glyph\":null,\"muted_glyph\":{\"id\":\"1050\"},\"nonselection_glyph\":{\"id\":\"1049\"},\"view\":{\"id\":\"1052\"}},\"id\":\"1051\",\"type\":\"GlyphRenderer\"},{\"attributes\":{\"source\":{\"id\":\"1034\"}},\"id\":\"1039\",\"type\":\"CDSView\"},{\"attributes\":{\"fill_alpha\":{\"value\":0.2},\"fill_color\":{\"value\":\"#ff7e0e\"},\"hatch_alpha\":{\"value\":0.2},\"hatch_color\":{\"value\":\"#ff7e0e\"},\"line_alpha\":{\"value\":0.2},\"line_color\":{\"value\":\"#ff7e0e\"},\"x\":{\"field\":\"Alive Sperm Millions\"},\"y\":{\"field\":\"__ECDF\"}},\"id\":\"1057\",\"type\":\"Circle\"},{\"attributes\":{\"fill_color\":{\"value\":\"#1f77b3\"},\"hatch_color\":{\"value\":\"#1f77b3\"},\"line_color\":{\"value\":\"#1f77b3\"},\"x\":{\"field\":\"Alive Sperm Millions\"},\"y\":{\"field\":\"__ECDF\"}},\"id\":\"1042\",\"type\":\"Circle\"},{\"attributes\":{\"fill_alpha\":0.5,\"fill_color\":\"#1f77b3\",\"line_alpha\":0,\"line_color\":\"#1f77b4\",\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"1035\",\"type\":\"Patch\"},{\"attributes\":{\"data\":{\"Age (d)\":[14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14],\"Alive Sperm Millions\":{\"__ndarray__\":\"vsCsUKR75T9FnbmHhO/gP1u0AG2rWf4/AFKbOLnfyT84ZW6+ER0CQP2Es1vLJPE/YK+w4H6A/z+amZmZmZmxP2ak3lM5rQtAAAAAAAAAAAA1QGmoUcj8P1yv6UFByQRAVHQkl/9Q9j/3Bl+YTJXyP7Bx/bs+c+E/w5rKorBLBUAvFLAdjFjgP9uIJ7uZ0d0/PQrXo3A99j91IVZ/hGHKP13Aywwb5eI/OGdEaW/w9j8AAAAAAAAAAI7lXfWAeaA/ZOWXwRgR+D8n+RG/Yg3cPwAAAAAAAAAA5IV0eAjjA0BtcY3PZB8NQHHJcad0MANAtMpMaf2t8D+f46PFGQP6Pz81XrpJDO8//Bu0Vx8P6T+4zOmymNjSPxU42Qbu4ARAkLsIU5RL3z/D1mzlJf/4P5p4B3jSwuQ/sg5HV+nu5j9hTzv8NfkAQMuBHmrbMNw/x0j2CDUD8z9Robq5+Bv+P8+8HHbfse4/7FG4HoXr/T8Ni1HX2rv+P83km21uzAJA323eOCmMAUAAAAAAAAAAAAVsByP2CeI/mWclrfiG7T/5Eb9iDRfWP+1JYHMOvgBAVP8gkiFH8j8+527XS/MMQMRb598ue/E/8parH5tk9j/a4a/JGnX7P6Cmlq31RdQ/Gvm84qlH4j+Nl24Sg8DSP25qoPmc+/I/A1slWBzO7D86AyMva6L6P9f5t8t+HQBADp4JTRLL+z8vGcdI9ggOQPUwtDo5Q/A/eVxUi4hi5T/tRh/zAYHuP8dim1Q0VuY/0F/oEaPn8z80vi8uVQkDQP0TXKyoQeE/Y5eo3hqY+T/pnnWNloP+P0jBU8iVGgFALgH4p1SJ9j/aVN0jm6vRPz7L8+DuLPo/vHSTGAR2BEBCP1OvW4TwPwAAAAAAAAAAJt9sc2O6+j/8cfvlk7UIQAAAAAAAAAAAcRsN4C1Q/T8kRPmCFtLyP8+fNqrTgeg/\",\"dtype\":\"float64\",\"order\":\"little\",\"shape\":[90]},\"AliveSperm\":[671343,529238,1896892,202140,2264194,1071483,1968871,68750,3459582,0,1798906,2598269,1394775,1161450,545318,2661958,510809,465918,1390000,206101,590467,1433700,0,32177,1504174,438317,0,2485856,3640329,2398660,1042478,1625757,970250,783096,294470,2609829,488988,1562292,648782,716664,2121685,440482,1188283,1881829,959213,1870000,1920863,2349820,2193438,0,563716,922726,345157,2092801,1142366,3618797,1092574,1399562,1716090,316770,571248,293000,1186429,900160,1664653,2014402,1737078,3754376,1016412,668278,953248,698023,1244052,2379557,539265,1599635,1907126,2137981,1408528,276099,1635970,2557625,1032314,0,1670505,3088661,0,1832075,1176291,765848],\"Cage\":[7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,9,9,9,9,9,9,9,9,9,10,10,10,10,10,10,10,10,11,11,11,11,11,11,11,11,11,11,12,12,12,12,12,12,12,16,16,16,16,16,16,17,17,17,17,17,26,26,26,26,26,26,26,26,26,26,27,27,27,27,27,27,27,27,27,28,28,28,28,28,28,28,28],\"Colony\":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,27,27,27,27,27,27,27,27,27,27,27,84,84,84,84,84,84,84,84,84,84,84,84,84,84,84,84,84,84,84,84,84,84,84,84,84,84,84],\"Dead Sperm Millions\":{\"__ndarray__\":\"q5MzFHe8vT+Piv87okKVP4XtJ2N8mL0//1vJjo1AvD/gEoB/SpXEP/p8lBEXgLo/GtzWFp6X1z+amZmZmZmxP2x2pPrOL9Q/AAAAAAAAAACHMenvpfDEP4wUysLX17Y/YVRSJ6CJtD/ysFBrmnfWP8ix9QzhmKU/S5ARUOEI3D9SK0zfawi6P2GpLuBlhrU/PQrXo3A91j8WvVMB9zy7P4knu5nRj5Y/kst/SL99nT8AAAAAAAAAACZtqu6RzXU/bmqg+Zy70z/LgR5q2zC2PzMzMzMzM8M/n1p9dVWg8T/Kp8e2DDjeP98a2CrB4tw/MgQAx5495D/0a+un/yzhPzeJQWDl0Lo/3Vz8bU+QwD9IMxZNZyfVPxKGAUuu4uo/ngjiPJzA6j/huIybGmjqP0CIZMixNQJATvG4qBYR4T/X+iKhLafwP6DFUiRfCbw/LiC0Hr5Mxj98KxIT1LDwP2KGxhNBnNo/7FG4HoXr3T8ZHZCEfbvvP1Fmg0wycrY/2SH+YUuPpj8zMzMzMzMJQKRskbQbfbw/nP2Bctu+1T+1UZ0OZD2xP5qw/WSMD94/Rpp4B3hS9T+mXyLeOv/ZP7tDigESTbg/1a4JaY1Bwz8XK2owDcOnP8Cy0qQUdM8/yk4/qIsUyj956SYxCKx8Pw3+fjFbspo/MbYQ5KCEqT8lk1M7w1TqP14vTRHg9Mo/YCFzZVBt2j/iOVtAaD3EP7fwvFRszLs/hPQUOUTcyD/zPo7myMrXP3E6yVaXU9c/5Gcj100pxz/MttPWiCD1P/yMCwdCsqg/bATidf0C5D9+x/DYz+LxP771Yb1RK98/FcjsLHqn0j+Uv3tHjQmpP3QMyF7v/sw/DAIrhxbZuj/Ez38PXrvaPwAAAAAAAAAAAB3mywuw2j8icCTQYFPaP83MzMzMTAJAQfFjzF1Lyj9GRZxOstXHP5BN8iN+xcI/\",\"dtype\":\"float64\",\"order\":\"little\",\"shape\":[90]},\"Environment\":[\"Cage\",\"Cage\",\"Cage\",\"Cage\",\"Cage\",\"Cage\",\"Cage\",\"Cage\",\"Cage\",\"Cage\",\"Cage\",\"Cage\",\"Cage\",\"Cage\",\"Cage\",\"Cage\",\"Cage\",\"Cage\",\"Cage\",\"Cage\",\"Cage\",\"Cage\",\"Cage\",\"Cage\",\"Cage\",\"Cage\",\"Cage\",\"Cage\",\"Cage\",\"Cage\",\"Cage\",\"Cage\",\"Cage\",\"Cage\",\"Cage\",\"Cage\",\"Cage\",\"Cage\",\"Cage\",\"Cage\",\"Cage\",\"Cage\",\"Cage\",\"Cage\",\"Cage\",\"Cage\",\"Cage\",\"Cage\",\"Cage\",\"Cage\",\"Cage\",\"Cage\",\"Cage\",\"Cage\",\"Cage\",\"Cage\",\"Cage\",\"Cage\",\"Cage\",\"Cage\",\"Cage\",\"Cage\",\"Cage\",\"Cage\",\"Cage\",\"Cage\",\"Cage\",\"Cage\",\"Cage\",\"Cage\",\"Cage\",\"Cage\",\"Cage\",\"Cage\",\"Cage\",\"Cage\",\"Cage\",\"Cage\",\"Cage\",\"Cage\",\"Cage\",\"Cage\",\"Cage\",\"Cage\",\"Cage\",\"Cage\",\"Cage\",\"Cage\",\"Cage\",\"Cage\"],\"Infertil\":[0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0],\"Quality\":{\"__ndarray__\":\"AAAAAABQVUCqIDpYag5YQFbegONakFdAvtZrvdYrUEAir74Dm1dXQKlw89kqzFZAZZtLDbUOVUAAAAAAAABJQI7ohalA6VZAAAAAAAAA+H/briNBf+pWQIixItuBK1hAEZGEweijV0DSrflhkTJTQHRr9N1+NFdAIRbzJqh3VUCXb/mWb9lUQBpr86aZLVVAAAAAAAAAVEDT8zzP83xQQAfJ+QXJGVhAHfiBH/iBWEAAAAAAAAD4f7buZ56Rc1VAhGzVhUq/VEAs1QW8TN9UQAAAAAAAAPh/3I9897JSUUBceiCVMSFWQKjGCRt3ClVAvENrPWceT0C5wmmHfctSQI5jjWxgkFZAUlwR+2Z0VUCG6M4bwI5HQDhIRlJs6VJAPM/zPM9zQkC66Z4F7VtQQJOt0yo7LjZAePT21qOqTEDKzycisMVQQEVeYrmeBVRA6pc+wKnNVUBO+pgLghVQQAq0QAu0cFFAAAAAAAAAVEBXZTrP83xQQHiS+AXJGVhAriSBH/iBWEAAAAAAAAAAAKz9QjTf4FRAvW/fF5VFUkAYtl2lKutUQOkZXnLmalRAPqalqP4TR0Ch2BDQHHpWQMvwNYZmAFdA+pduMdeSVkD5Q6vceVdYQNDIgFhMKExAP7WPT2dtUkDtPq6qqmpYQGpjNmZjdlhAVFCTET6wV0D7VUZE7bpQQJ1dCIM8olZA45U9bNYyVECJDmAVWP1XQNW/NcFBllZATbwkStJeU0DNvOo7XvxRQAnCNl6RbFBAfDFKhlLTVUDgckis/RNQQD1vtvuN8lZA7Dpt8DL5UUB87dtB04VPQI1HBD6aXFRACg/9h7K2VECY6rjQCz1VQNbYDA2X9VVAwn1PcugDWEArT//da8xRQAAAAAAAAPh/AJilfIwBVEDsrHGR1g9WQAAAAAAAAAAA54JlMr16VkATwVFVVZVVQMLavYFu+1RA\",\"dtype\":\"float64\",\"order\":\"little\",\"shape\":[90]},\"Quantity\":[787500,550000,2012500,312500,2425000,1175000,2337500,137500,3775000,0,1962500,2687500,1475000,1512500,587500,3100000,612500,550000,1737500,312500,612500,1462500,0,37500,1812500,525000,150000,3587500,4112500,2850000,1675000,2162500,1075000,912500,625000,3450000,1325000,2387500,2925000,1250000,3162500,550000,1362500,2925000,1375000,2337500,2912500,2437500,2237500,3150000,675000,1262500,412500,2562500,2475000,4025000,1187500,1550000,1762500,562500,775000,300000,1212500,950000,2487500,2225000,2150000,3912500,1125000,862500,1325000,1062500,1425000,3700000,587500,2225000,3025000,2625000,1700000,325000,1862500,2662500,1450000,0,2087500,3500000,2287500,2037500,1362500,912500],\"Quantity Millions\":{\"__ndarray__\":\"MzMzMzMz6T+amZmZmZnhP5qZmZmZGQBAAAAAAAAA1D9mZmZmZmYDQM3MzMzMzPI/MzMzMzOzAkCamZmZmZnBPzMzMzMzMw5AAAAAAAAAAABmZmZmZmb/PwAAAAAAgAVAmpmZmZmZ9z8zMzMzMzP4P83MzMzMzOI/zczMzMzMCECamZmZmZnjP5qZmZmZmeE/zczMzMzM+z8AAAAAAADUP5qZmZmZmeM/ZmZmZmZm9z8AAAAAAAAAADMzMzMzM6M/AAAAAAAA/T/NzMzMzMzgPzMzMzMzM8M/MzMzMzOzDEAzMzMzM3MQQM3MzMzMzAZAzczMzMzM+j/NzMzMzEwBQDMzMzMzM/E/MzMzMzMz7T8AAAAAAADkP5qZmZmZmQtAMzMzMzMz9T+amZmZmRkDQGZmZmZmZgdAAAAAAAAA9D/NzMzMzEwJQJqZmZmZmeE/zczMzMzM9T9mZmZmZmYHQAAAAAAAAPY/MzMzMzOzAkDNzMzMzEwHQAAAAAAAgANAZmZmZmbmAUAzMzMzMzMJQJqZmZmZmeU/MzMzMzMz9D9mZmZmZmbaPwAAAAAAgARAzczMzMzMA0CamZmZmRkQQAAAAAAAAPM/zczMzMzM+D8zMzMzMzP8PwAAAAAAAOI/zczMzMzM6D8zMzMzMzPTP2ZmZmZmZvM/ZmZmZmZm7j9mZmZmZuYDQM3MzMzMzAFAMzMzMzMzAUDNzMzMzEwPQAAAAAAAAPI/mpmZmZmZ6z8zMzMzMzP1PwAAAAAAAPE/zczMzMzM9j+amZmZmZkNQM3MzMzMzOI/zczMzMzMAUAzMzMzMzMIQAAAAAAAAAVAMzMzMzMz+z/NzMzMzMzUP83MzMzMzP0/zczMzMxMBUAzMzMzMzP3PwAAAAAAAAAAMzMzMzOzAEAAAAAAAAAMQM3MzMzMTAJAzczMzMxMAEDNzMzMzMz1PzMzMzMzM+0/\",\"dtype\":\"float64\",\"order\":\"little\",\"shape\":[90]},\"Sample\":[1,10,2,3,4,5,6,7,8,9,1,10,4,5,6,7,8,9,1,2,3,4,5,6,7,8,9,1,2,3,4,5,6,7,8,1,10,2,3,4,5,6,7,8,9,1,2,3,4,5,6,7,1,2,3,4,5,6,1,2,3,4,5,1,10,2,3,4,5,6,7,8,9,1,2,3,4,5,6,7,8,9,1,2,3,4,5,6,7,8],\"Sample ID\":[\"P9-1-1\",\"P9-1-10\",\"P9-1-2\",\"P9-1-3\",\"P9-1-4\",\"P9-1-5\",\"P9-1-6\",\"P9-1-7\",\"P9-1-8\",\"P9-1-9\",\"P9-2-1\",\"P9-2-10\",\"P9-2-4\",\"P9-2-5\",\"P9-2-6\",\"P9-2-7\",\"P9-2-8\",\"P9-2-9\",\"P9-3-1\",\"P9-3-2\",\"P9-3-3\",\"P9-3-4\",\"P9-3-5\",\"P9-3-6\",\"P9-3-7\",\"P9-3-8\",\"P9-3-9\",\"P10-1-1\",\"P10-1-2\",\"P10-1-3\",\"P10-1-4\",\"P10-1-5\",\"P10-1-6\",\"P10-1-7\",\"P10-1-8\",\"P10-2-1\",\"P10-2-10\",\"P10-2-2\",\"P10-2-3\",\"P10-2-4\",\"P10-2-5\",\"P10-2-6\",\"P10-2-7\",\"P10-2-8\",\"P10-2-9\",\"P10-3-1\",\"P10-3-2\",\"P10-3-3\",\"P10-3-4\",\"P10-3-5\",\"P10-3-6\",\"P10-3-7\",\"P27-2-1\",\"P27-2-2\",\"P27-2-3\",\"P27-2-4\",\"P27-2-5\",\"P27-2-6\",\"P27-3-1\",\"P27-3-2\",\"P27-3-3\",\"P27-3-4\",\"P27-3-5\",\"P84-1-1\",\"P84-1-10\",\"P84-1-2\",\"P84-1-3\",\"P84-1-4\",\"P84-1-5\",\"P84-1-6\",\"P84-1-7\",\"P84-1-8\",\"P84-1-9\",\"P84-2-1\",\"P84-2-2\",\"P84-2-3\",\"P84-2-4\",\"P84-2-5\",\"P84-2-6\",\"P84-2-7\",\"P84-2-8\",\"P84-2-9\",\"P84-3-1\",\"P84-3-2\",\"P84-3-3\",\"P84-3-4\",\"P84-3-5\",\"P84-3-6\",\"P84-3-7\",\"P84-3-8\"],\"Specimen\":[16,19,17,21,22,23,24,25,26,18,33,104,34,35,36,20,101,103,99,38,98,37,40,39,92,93,94,45,44,135,64,67,46,63,156,60,87,56,55,54,53,49,89,88,57,72,73,74,75,76,137,136,27,28,29,30,31,32,97,102,95,96,100,138,147,139,140,141,142,143,144,145,146,118,119,120,121,122,123,124,125,126,148,149,150,151,152,153,154,155],\"Sperm Volume per 500 ul\":[787500,550000,2012500,312500,2425000,1175000,2337500,137500,3775000,0,1962500,2687500,1475000,1512500,587500,3100000,612500,550000,1737500,312500,612500,1462500,0,37500,1812500,525000,150000,3587500,4112500,2850000,1675000,2162500,1075000,912500,625000,3450000,1325000,2387500,2925000,1250000,3162500,550000,1362500,2925000,1375000,2337500,2912500,2437500,2237500,3150000,675000,1262500,412500,2562500,2475000,4025000,1187500,1550000,1762500,562500,775000,300000,1212500,950000,2487500,2225000,2150000,3912500,1125000,862500,1325000,1062500,1425000,3700000,587500,2225000,3025000,2625000,1700000,325000,1862500,2662500,1450000,0,2087500,3500000,2287500,2037500,1362500,912500],\"Treatment\":[\"Pesticide\",\"Pesticide\",\"Pesticide\",\"Pesticide\",\"Pesticide\",\"Pesticide\",\"Pesticide\",\"Pesticide\",\"Pesticide\",\"Pesticide\",\"Pesticide\",\"Pesticide\",\"Pesticide\",\"Pesticide\",\"Pesticide\",\"Pesticide\",\"Pesticide\",\"Pesticide\",\"Pesticide\",\"Pesticide\",\"Pesticide\",\"Pesticide\",\"Pesticide\",\"Pesticide\",\"Pesticide\",\"Pesticide\",\"Pesticide\",\"Pesticide\",\"Pesticide\",\"Pesticide\",\"Pesticide\",\"Pesticide\",\"Pesticide\",\"Pesticide\",\"Pesticide\",\"Pesticide\",\"Pesticide\",\"Pesticide\",\"Pesticide\",\"Pesticide\",\"Pesticide\",\"Pesticide\",\"Pesticide\",\"Pesticide\",\"Pesticide\",\"Pesticide\",\"Pesticide\",\"Pesticide\",\"Pesticide\",\"Pesticide\",\"Pesticide\",\"Pesticide\",\"Pesticide\",\"Pesticide\",\"Pesticide\",\"Pesticide\",\"Pesticide\",\"Pesticide\",\"Pesticide\",\"Pesticide\",\"Pesticide\",\"Pesticide\",\"Pesticide\",\"Pesticide\",\"Pesticide\",\"Pesticide\",\"Pesticide\",\"Pesticide\",\"Pesticide\",\"Pesticide\",\"Pesticide\",\"Pesticide\",\"Pesticide\",\"Pesticide\",\"Pesticide\",\"Pesticide\",\"Pesticide\",\"Pesticide\",\"Pesticide\",\"Pesticide\",\"Pesticide\",\"Pesticide\",\"Pesticide\",\"Pesticide\",\"Pesticide\",\"Pesticide\",\"Pesticide\",\"Pesticide\",\"Pesticide\",\"Pesticide\"],\"TreatmentNCSS\":[2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2],\"ViabilityRaw (%)\":[\"85.25\",\"96.225240761533\",\"94.2555474050981\",\"64.6849816849817\",\"93.3688363420629\",\"91.1901154401154\",\"84.2298005331373\",\"50\",\"91.6445716674518\",\"76.3333333333333\",\"91.6640169952838\",\"96.6798007811359\",\"94.5610812944981\",\"76.7901234567901\",\"92.8202433478271\",\"85.8696381925479\",\"83.3974358974359\",\"84.7125031830914\",\"80\",\"65.952380952381\",\"96.4028944911298\",\"98.0307692307692\",\"0\",\"85.8057628645864\",\"82.98892351\",\"83.4890585\",\"0\",\"69.2921732632089\",\"88.518651277272\",\"84.16351963\",\"62.2375256322625\",\"75.1795366795367\",\"90.2558852558852\",\"85.8187854451692\",\"47.11523769\",\"75.6472364126538\",\"36.9047619047619\",\"65.4363416721234\",\"22.1805903212349\",\"57.3331249910197\",\"67.0888753308092\",\"80.0878127537372\",\"87.2134857760681\",\"64.3360623353885\",\"69.760989010989\",\"80\",\"65.95238095\",\"96.40289449\",\"98.03076923\",\"0\",\"83.5136233\",\"73.08722493\",\"83.6744779029035\",\"81.6703153532941\",\"46.1562090691409\",\"89.9080085911287\",\"92.0062575842632\",\"90.2943843441025\",\"97.3668128654971\",\"56.3148298863249\",\"73.70943059\",\"97.66666667\",\"97.8498168498169\",\"94.75378837\",\"66.92073161\",\"90.53494335\",\"80.79433733\",\"95.95850119\",\"90.34776335\",\"77.48158506\",\"71.94325159\",\"65.69637256\",\"87.3019119\",\"64.31235797\",\"91.78991597\",\"71.89373408\",\"63.04550956\",\"81.4469142\",\"82.85464668\",\"84.95384615\",\"87.83734442\",\"96.06106241\",\"71.19408369\",\"NO SPERM\",\"80.02419964\",\"88.2474712\",\"0\",\"89.91779766\",\"86.33333333\",\"83.9286198\"],\"__ECDF\":{\"__ndarray__\":\"9Umf9Emf1D/e3d3d3d3NP9iCLdiCLeg/mpmZmZmZuT8LtmALtmDrP97d3d3d3d0/6ZM+6ZM+6T8XbMEWbMG2P+/u7u7u7u4/F2zBFmzBhj8XbMEWbMHmPy7Ygi3Ygu0/IiIiIiIi4j8AAAAAAADgP7AFW7AFW9A/juM4juM47j8cx3Ecx3HMP5qZmZmZmck/chzHcRzH4T8cx3Ecx3G8P9InfdInfdI/MzMzMzMz4z8XbMEWbMGWP5Q+6ZM+6bM/5DiO4ziO4z8XbMEWbMHGPxEREREREaE/zczMzMzM7D9Q+qRP+qTvPxzHcRzHcew/fdInfdIn3T/1SZ/0SZ/kP1uwBVuwBds/d3d3d3d31z/SJ33SJ33CP97d3d3d3e0/W7AFW7AFyz+UPumTPunjPzMzMzMzM9M/tmALtmAL1j/6pE/6pE/qP9iCLdiCLcg/ERERERER4T8ofdInfdLnP/qkT/qkT9o/d3d3d3d35z85juM4juPoP7y7u7u7u+s/W7AFW7AF6z8XbMEWbMGmPxEREREREdE/OY7jOI7j2D9VVVVVVVXFP0qf9Emf9Ok/n/RJn/RJ3z+f9Emf9EnvPz/pkz7pk94/0id90id94j+2YAu2YAvmP5Q+6ZM+6cM/chzHcRzH0T8RERERERHBP2ELtmALtuA/2IIt2IIt2D9VVVVVVVXlP5qZmZmZmek/ZmZmZmZm5j8AAAAAAADwP7y7u7u7u9s/lD7pkz7p0z+amZmZmZnZP1VVVVVVVdU/wRZswRZs4T9swRZswRbsP5/0SZ/0Sc8/RERERERE5D+JiIiIiIjoP6uqqqqqquo/gy3Ygi3Y4j+f9Emf9Em/P6VP+qRP+uQ/fdInfdIn7T8cx3Ecx3HcPxzHcRzHcaw/BluwBVuw5T8/6ZM+6ZPuPxEREREREbE/x3Ecx3Ec5z+wBVuwBVvgPxdswRZswdY/\",\"dtype\":\"float64\",\"order\":\"little\",\"shape\":[90]},\"__label\":[\"Pesticide\",\"Pesticide\",\"Pesticide\",\"Pesticide\",\"Pesticide\",\"Pesticide\",\"Pesticide\",\"Pesticide\",\"Pesticide\",\"Pesticide\",\"Pesticide\",\"Pesticide\",\"Pesticide\",\"Pesticide\",\"Pesticide\",\"Pesticide\",\"Pesticide\",\"Pesticide\",\"Pesticide\",\"Pesticide\",\"Pesticide\",\"Pesticide\",\"Pesticide\",\"Pesticide\",\"Pesticide\",\"Pesticide\",\"Pesticide\",\"Pesticide\",\"Pesticide\",\"Pesticide\",\"Pesticide\",\"Pesticide\",\"Pesticide\",\"Pesticide\",\"Pesticide\",\"Pesticide\",\"Pesticide\",\"Pesticide\",\"Pesticide\",\"Pesticide\",\"Pesticide\",\"Pesticide\",\"Pesticide\",\"Pesticide\",\"Pesticide\",\"Pesticide\",\"Pesticide\",\"Pesticide\",\"Pesticide\",\"Pesticide\",\"Pesticide\",\"Pesticide\",\"Pesticide\",\"Pesticide\",\"Pesticide\",\"Pesticide\",\"Pesticide\",\"Pesticide\",\"Pesticide\",\"Pesticide\",\"Pesticide\",\"Pesticide\",\"Pesticide\",\"Pesticide\",\"Pesticide\",\"Pesticide\",\"Pesticide\",\"Pesticide\",\"Pesticide\",\"Pesticide\",\"Pesticide\",\"Pesticide\",\"Pesticide\",\"Pesticide\",\"Pesticide\",\"Pesticide\",\"Pesticide\",\"Pesticide\",\"Pesticide\",\"Pesticide\",\"Pesticide\",\"Pesticide\",\"Pesticide\",\"Pesticide\",\"Pesticide\",\"Pesticide\",\"Pesticide\",\"Pesticide\",\"Pesticide\",\"Pesticide\"],\"index\":[47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,128,129,130,131,132,133,134,135,136,137,138,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234]},\"selected\":{\"id\":\"1078\"},\"selection_policy\":{\"id\":\"1077\"}},\"id\":\"1053\",\"type\":\"ColumnDataSource\"},{\"attributes\":{},\"id\":\"1066\",\"type\":\"BasicTickFormatter\"},{\"attributes\":{\"label\":{\"value\":\"Pesticide\"},\"renderers\":[{\"id\":\"1058\"},{\"id\":\"1051\"}]},\"id\":\"1062\",\"type\":\"LegendItem\"},{\"attributes\":{},\"id\":\"1069\",\"type\":\"BasicTickFormatter\"},{\"attributes\":{\"axis\":{\"id\":\"1012\"},\"coordinates\":null,\"group\":null,\"ticker\":null},\"id\":\"1015\",\"type\":\"Grid\"},{\"attributes\":{\"tools\":[{\"id\":\"1020\"},{\"id\":\"1021\"},{\"id\":\"1022\"},{\"id\":\"1023\"},{\"id\":\"1024\"},{\"id\":\"1025\"}]},\"id\":\"1027\",\"type\":\"Toolbar\"},{\"attributes\":{},\"id\":\"1067\",\"type\":\"AllLabels\"},{\"attributes\":{},\"id\":\"1073\",\"type\":\"UnionRenderers\"},{\"attributes\":{},\"id\":\"1020\",\"type\":\"PanTool\"},{\"attributes\":{},\"id\":\"1075\",\"type\":\"UnionRenderers\"},{\"attributes\":{\"data\":{\"x\":{\"__ndarray__\":\"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\",\"dtype\":\"float64\",\"order\":\"little\",\"shape\":[580]},\"y\":{\"__ndarray__\":\"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\",\"dtype\":\"float64\",\"order\":\"little\",\"shape\":[580]}},\"selected\":{\"id\":\"1072\"},\"selection_policy\":{\"id\":\"1071\"}},\"id\":\"1034\",\"type\":\"ColumnDataSource\"},{\"attributes\":{\"source\":{\"id\":\"1053\"}},\"id\":\"1059\",\"type\":\"CDSView\"},{\"attributes\":{\"data\":{\"Age (d)\":[14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14],\"Alive Sperm Millions\":{\"__ndarray__\":\"IqXZPA6jAEB0z7pGy6EBQPGcLSC0HrY/wocSLXn8+z/jqUca3Nb4P/1pozodqARA3+LhPQd2CkCR1hh0QogCQLwGfentz7U/MzMzMzMz9T9mZmZmZmamP1NZFHZR9O8/220Xmuu0C0AMsmX5ukwCQLjOv132K/8/xvgwe9nWBEBmZmZmZqb9PwAAAAAAAAAA/yH99nWAAkCvCP63kh34P/Eqa5vicdc/mpmZmZmZyT8dVyO70hIKQGZmZmZm5gRA6Qsh5/3fCEBWurvOhlwLQHUhVn+EYeM/IPEr1nCRxz/PoKF/gsv8P81WXvI/2QBAc/ON6J41CEC8IY0KnOzwP0IhAg6hagpAQgkzbf8KBUBfB84ZUToIQO8AT1q47AlAKVsk7UZf+T/rUiP0M3X4P5w0DYrmAbw/m+jzUUbcBEA6lQwAVdwBQBzO/GoOUPI/9bhvtU7c/T+u8C4X8V3xP2w9QzhmWe0/RdrGn6hMCEBTzhd7L14HQDPd66S+DBFADhKifEHLAkCU3GETmbn3P/hVuVD5l/I/Obh0zHlG+z9ivyfWqVIDQJqZmZmZmak/AAAAAAAAAABNEkvK3WcAQAaFQZlG0/s/TZ6ymq4n4D8vGFxzR/8DQAt72uGvSQFAtyqJ7IMswz/CoiJOJ9n8PwxZ3eo5KQ5AzR39L9ciAUDqtG6D2m+dPyk900uMJQhADw72JoZk9z8zw0ZZv5kAQKDf929eHOQ/198SgH+qAkBrmQzH8zkDQFDCTNu/MvQ/JNQMqaI48D8C8bp+wS70PxUDJJpA8QJAG2ZoPBFE8D8AAAAAAAAAAKwb746MtQhAiPccWI7Q9D82ct2U8lr8P7x0kxgE1vw/7GrylNUUBkC1GhL3WDoDQAithy8TBfg/ZTiez4B6/D8sZK4Mqk0MQAAAAAAAABRA6MByhAzksT+rlQm/1K8IQPZE14UfnPk/5gMCnUnrEEDs+gW7Ydu2PzcWFAZlWgxA76mc9pT8BUAdHOxNDKkFQD1kyoeg6u4/Q+IeSx86+D96jV2ieusNQMy0/Ssrze0/rws/OJ9aD0BINIEiFvHxPwPQKF36V/o/54u9F190CUAejUP9LowBQIidKXRe8xBAmu/gJw6gAEASh2wgXWznP2jr4GBvIgJA1NFxNbJLBkBK0jWTb7bkP3y3eeOkMA5A2VpfJLRl/z8lIZG28UcHQBFtx9RdeQBAAAAAAACAAED9oC5SKEvyPxDqIoWy8NI/Ewt8Rbde5D8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQ5EnSNXMYQDaSBOEKaA5A2iCTjJxFBkAPe6GA7eDqP18M5US7ihFADTSfc7dLB0DCvwgaM4nAPwAAAAAAAAAAHottUtGYB0B6HXHIBvIFQFDIztvYbPA/JZLoZRQL+j8DWyVYHM71Py2vXG+b6fo/RRK9jGJ58z9qM05DVCEFQBgjEoWWtf8/kE5d+SzPvz8mVHB4QUTGP1uzlZf8LwBAycnErYLYBUAFiljEsEMAQAAAAAAAAAAApHA9CtejoD8=\",\"dtype\":\"float64\",\"order\":\"little\",\"shape\":[145]},\"AliveSperm\":[2079617,2204001,86406,1749139,1552456,2582087,3307631,2316533,85204,1325000,43750,998574,3463340,2287466,1948233,2604907,1853125,0,2312725,1507220,366326,200000,3259191,2612500,3109371,3420179,605654,184126,1799685,2106079,3026182,1057766,3302065,2630370,3028475,3240586,1585761,1528614,109404,2607556,2232584,1144545,1866286,1085435,917163,3037431,2920989,4262446,2349246,1482812,1162103,1704706,2415363,50000,0,2050716,1739081,504844,2499648,2160980,149796,1803016,3770130,2142012,28747,3018334,1462042,2075072,628463,2333251,2403297,1262390,1013827,1261415,2367799,1016618,0,3088647,1300917,1772204,1802250,2760173,2403490,1501239,1779908,3537922,5000000,69886,3085855,1600616,4229773,89285,3544138,2748331,2707543,966141,1514190,3739980,931295,3919249,1121359,1646479,3181822,2193449,4237665,2078152,731978,2266814,2786961,647270,3773752,1962330,2910129,2059261,2062500,1143349,295941,636562,0,0,0,6112510,3800802,2783990,839957,4385480,2911971,129187,0,2949618,2743177,1026574,1627705,1362820,1682033,1217135,2641274,1981833,124255,173958,2023431,2730718,2033052,0,32500],\"Cage\":[1,1,1,1,1,1,1,1,1,2,2,2,2,2,2,2,2,2,3,3,3,3,3,3,3,3,3,3,4,4,4,4,4,4,4,4,5,5,5,5,5,5,5,6,6,6,6,13,13,13,13,13,13,13,13,13,13,14,14,14,14,14,14,14,14,14,15,15,15,15,15,15,15,15,15,15,18,18,18,18,18,18,18,19,19,19,19,19,19,19,19,19,20,20,20,20,20,20,20,20,20,21,21,21,21,21,21,22,22,22,22,22,22,22,22,22,22,23,23,23,23,23,23,23,23,24,24,24,24,24,24,24,24,24,24,25,25,25,25,25,25,25,25,25,25],\"Colony\":[2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80],\"Dead Sperm Millions\":{\"__ndarray__\":\"GsIxy54Esj8Rqz/CMGC1P0pdMo6R7FE/8MFrlzYcwD91kNeDSfGhP+xnsRTJV5I/yT1d3bHYuj/2lnK+2HvPP1H1K50Pz2I/AAAAAAAAAABmZmZmZmamPy9vDtdqD5s/TIkkehnFoj/mWrQAbauJP7tHNlfNc7A/nE1HADeLuz/NzMzMzMzKPwAAAAAAAAAAtFn1udqKuT/bbRea6zSSP7gdGhajrpU/AAAAAAAAAAAp6WFodXK6PwAAAAAAAAAAC7YRT3Yztz889N2tLNHLP2fROxVwz5M/0ENtG0ZBkD+YLy/APpoBQMMstHOaBcw/mpfD7juG1T9DrP4Iw4DTPxVXlX1XxPY/tvgUAOMZlD88vVKWIY7HPw/xD1t6NMk/j8ahfhe20T+G56ViY17RPyFblq/L8I8/LLtgcM0d2T8Zq83/q47oP25RZoNMMr4/rye6Lvzg5T/rqGqCqDv1P9BHGXEBaLg/3C3JAbua1T8bLQd6qO3qP5j5Dn7iANg/yLd3DfrS5D99WkV/aObVP9wNorWizak/jo8WZwxz4T+y1lBqL6LPPwAAAAAAAAAAAAAAAAAAAABlUG1wIvrhP1BSYAFMGdc/Yto391ePuz8SbFz/rs/gPwZHyatzDOI/xt0gWivavD/3dHXHYpvYP9CbilQYW+k/lBEXgEbp3j/6Yu/FF+2BP/SkTGpoA+M/SFLSw9DqvD9nJhjONczkPzI5tTNMbaE/5ZoCmZ1F1D9enznrU461PyVdM/lmm9k/ca/MW3Ud1z9eonprYKvdP1FoWfePhcI/jzUjg9xFzD+amZmZmZmJPzi8ICI17dc/qKj6lc6Hrz/mB67yBMLGP9NNYhBYObw/wy0fSUkPvz8bu0T11sDCP3nlettMhdE/0Chd+pek6j86eCY0SSzbPwAAAAAAAAAAtyQH7GrydD+oUrMHWoHeP0iphCf0+uc/zuDvF7Ol4D9v9Zz0vvGFPxCxwcJJmp8/cceb/Badxj9ccXFUbqLIP5oiwOldvKc/ZHWr56T3tT+WW1oNiXvEP+2ZJQFqank/yCO4kbJFvj8TYi6p2m7XP5/MP/omTbc/BabTug1qnz/o9SfxuRO4P/GdmPViKLM/s5lDUgslgz/hQ4mWPJ52P5SFr691qeI/H0lJD0OryT+lg/V/DvPJP+0Q/7ClR98/NSkF3V7SzD8VVFT9SufBP9wQ4zWv6pw/AAAAAAAAAAALfEW3XtPSP9hIEoQroHA/yk4/qIsUqj9mZmZmZmb1PwAAAAAAAAAAmpmZmZmZqT+RYRVvZB7NP8akv5fCg74/Crq9pDFa5D/xhF5/Eh/lPx8RUyKJXt4/L/mf/N070z8rNBDLZg6hPwAAAAAAAAAAI04n2epyxj+Qozmy8svfP7fwvFRszMc/CqLuA5Dayj+y9KEL6lvOP/XZAdcVM74/0h3EzhQ6pz8v+Z/83TuyP8AGRIgrZ58/KLhYUYNpSD86IAn7dhJRP8FxGTc10Iw/uLHZkeo72T9TPgRVo1fjP3sUrkfhepQ/SOF6FK5HsT8=\",\"dtype\":\"float64\",\"order\":\"little\",\"shape\":[145]},\"Environment\":[\"Cage\",\"Cage\",\"Cage\",\"Cage\",\"Cage\",\"Cage\",\"Cage\",\"Cage\",\"Cage\",\"Cage\",\"Cage\",\"Cage\",\"Cage\",\"Cage\",\"Cage\",\"Cage\",\"Cage\",\"Cage\",\"Cage\",\"Cage\",\"Cage\",\"Cage\",\"Cage\",\"Cage\",\"Cage\",\"Cage\",\"Cage\",\"Cage\",\"Cage\",\"Cage\",\"Cage\",\"Cage\",\"Cage\",\"Cage\",\"Cage\",\"Cage\",\"Cage\",\"Cage\",\"Cage\",\"Cage\",\"Cage\",\"Cage\",\"Cage\",\"Cage\",\"Cage\",\"Cage\",\"Cage\",\"Cage\",\"Cage\",\"Cage\",\"Cage\",\"Cage\",\"Cage\",\"Cage\",\"Cage\",\"Cage\",\"Cage\",\"Cage\",\"Cage\",\"Cage\",\"Cage\",\"Cage\",\"Cage\",\"Cage\",\"Cage\",\"Cage\",\"Cage\",\"Cage\",\"Cage\",\"Cage\",\"Cage\",\"Cage\",\"Cage\",\"Cage\",\"Cage\",\"Cage\",\"Cage\",\"Cage\",\"Cage\",\"Cage\",\"Cage\",\"Cage\",\"Cage\",\"Cage\",\"Cage\",\"Cage\",\"Cage\",\"Cage\",\"Cage\",\"Cage\",\"Cage\",\"Cage\",\"Cage\",\"Cage\",\"Cage\",\"Cage\",\"Cage\",\"Cage\",\"Cage\",\"Cage\",\"Cage\",\"Cage\",\"Cage\",\"Cage\",\"Cage\",\"Cage\",\"Cage\",\"Cage\",\"Cage\",\"Cage\",\"Cage\",\"Cage\",\"Cage\",\"Cage\",\"Cage\",\"Cage\",\"Cage\",\"Cage\",\"Cage\",\"Cage\",\"Cage\",\"Cage\",\"Cage\",\"Cage\",\"Cage\",\"Cage\",\"Cage\",\"Cage\",\"Cage\",\"Cage\",\"Cage\",\"Cage\",\"Cage\",\"Cage\",\"Cage\",\"Cage\",\"Cage\",\"Cage\",\"Cage\",\"Cage\",\"Cage\",\"Cage\",\"Cage\",\"Cage\",\"Cage\"],\"Infertil\":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],\"Quality\":{\"__ndarray__\":\"UJSrCH0uWECNQ/5AYxZYQAAAAAAAsFhA7zlaGmVSV0BruIZruHJYQC1KRiPo01hAbH91yVI7WEDbLf8jr5lWQNT8sEgZWFhAAAAAAAAAWUAAAAAAAABJQEro0CIBW1hAFHG1Uve8WEBtTEHoH91YQH/OLfSfM1hA2c5MLCQCWEAz2WSTTXZWQAAAAAAAAPh/P1mMFVD3V0A8RO3IYrVYQLigjCtNoldAAAAAAAAAWUCg8rdWXjtYQAAAAAAAAFlAe3VEdL5KWEAJ2NSaooFXQK3KdJ7nOVhAXVAAQRAEV0B4s0gL/n5GQOCMcTBhpVZAl5cV7d5/VkCjl2rJl2hTQNm/gJijeFFAprgmtJfQWEC8jXLVYZFXQLyNctVhkVdA9XC4RQ9JVUBkJSAFEztVQPHXAWN/4VVAnMC2dsm6VUCsbnnV2JpSQI7ZJ7oNqlZAFmRwOQNMUkCfaz4L/n5GQK1PczBhpVZA+TwT7d5/VkCz8mvJl2hTQAngzv9n+lZABUJ1AbqTU0AAAAAAAFBUQO8XCOb99VdAT9q3L/HwUkDVDKSR8a1WQAAAAAAAAFlAAAAAAAAA+H+upHCYw59TQCnD7bgOtFRAiwGpfhybVEA6gtj2gqhUQBxYE3tU01NAGpceC1mITEAzTqZ+HJtUQO1e1faCqFRA8aYR6W1mVEDQ9uCcLipTQEWLhYRc41RAJzfEV/80V0CDYvG8kAlTQJeTDt4wt1dAd9E+8wUDVkB11TTWWydYQL4uw3+6+1JADMQ20uduUkAcJY7ACEhSQJjBGJFoj1dAnSci7KmJVEAAAAAAAAAAAJRGKRr7TFZAvg05z7veV0Ao+jIHd7hWQBCZijAPj1dAJ6+hvIbyV0AQYbf9SZBXQNjV5CnrJFVApWo30VkIUUDjIjEgP1JWQAAAAAAAAFlAbdYqC7BLV0Cd7dmMtqdVQCIE3NofB1FAGJRIJhBDVkDjIjEgP1JWQInACIzAyFhANzMLOnF9V0C3KdGmRFdXQGbstoz42ldAtEH5oMKoV0BnyAKXZ/lXQAgkRkuk1VhAAQhXoo5EWEA+4Gzgq9hSQCK2qyK7sFdAcQICXOLCWEDD3AWU3fhXQDAs2RPxkFhAUc5u4VfjWEDPuFvnFdBYQEo7PQhk4lNA7zlaGmVSV0A0UfC8kAlTQFB6tnkpIlZA+5tIFzhtVkA486s5gNpXQKJ7GFJsqVhAAAAAAAAAWUBaNT0IZOJTQAAEGVJsqVhAYh1cdNElV0AAAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H9w6bGKWxpYQO6rLm9kPVhAAOpEXM5ZVECCd/yXov9LQMhJ1CYej1ZAIZ2YM0ipVkAAAAAAAOBTQAAAAAAAAPh/Tt4lytGYV0CQKPobnypVQJAo+hufKlVA746lpkklVkBXCzj8R0tVQCgogUOQXFdAKOeW+AcaWEArPZh28ldYQOl5nud5nlhAnud5nufZWECe53me59lYQDzP8zzP01hAgjLz1ILYVUAJHh3PSEVTQAAAAAAAAAAAAAAAAABAQEA=\",\"dtype\":\"float64\",\"order\":\"little\",\"shape\":[145]},\"Quantity\":[2150000,2287500,87500,1875000,1587500,2600000,3412500,2562500,87500,1325000,87500,1025000,3500000,2300000,2012500,2712500,2062500,0,2412500,1525000,387500,200000,3362500,2612500,3200000,3637500,625000,200000,4000000,2325000,3362500,1362500,4725000,2650000,3212500,3437500,1862500,1800000,125000,3000000,3000000,1262500,2550000,2412500,1012500,3375000,3762500,4637500,3000000,1825000,1212500,2250000,2662500,50000,0,2612500,2100000,612500,3025000,2725000,262500,2187500,4562500,2625000,37500,3612500,1575000,2725000,662500,2650000,2487500,1662500,1375000,1725000,2512500,1237500,12500,3462500,1362500,1950000,1912500,2881500,2550000,1775000,2612500,3962500,5000000,75000,3562500,2350000,4750000,100000,3575000,2925000,2900000,1012500,1600000,3900000,937500,4037500,1487500,1737500,3212500,2287500,4312500,2087500,737500,2850000,2987500,850000,4262500,2187500,3050000,2087500,2062500,1437500,300000,687500,1337500,0,50000,6340000,3920000,3420000,1500000,4860000,3212500,162500,0,3125000,3240000,1212500,1837500,1600000,1800000,1262500,2712500,2012500,125000,175000,2037500,3125000,2637500,20000,100000],\"Quantity Millions\":{\"__ndarray__\":\"MzMzMzMzAUDNzMzMzEwCQGZmZmZmZrY/AAAAAAAA/j9mZmZmZmb5P83MzMzMzARAzczMzMxMC0AAAAAAAIAEQGZmZmZmZrY/MzMzMzMz9T9mZmZmZma2P2ZmZmZmZvA/AAAAAAAADEBmZmZmZmYCQJqZmZmZGQBAMzMzMzOzBUAAAAAAAIAAQAAAAAAAAAAAzczMzMxMA0BmZmZmZmb4P83MzMzMzNg/mpmZmZmZyT9mZmZmZuYKQGZmZmZm5gRAmpmZmZmZCUCamZmZmRkNQAAAAAAAAOQ/mpmZmZmZyT8AAAAAAAAQQJqZmZmZmQJAZmZmZmbmCkDNzMzMzMz1P2ZmZmZm5hJAMzMzMzMzBUAzMzMzM7MJQAAAAAAAgAtAzczMzMzM/T/NzMzMzMz8PwAAAAAAAMA/AAAAAAAACEAAAAAAAAAIQDMzMzMzM/Q/ZmZmZmZmBEDNzMzMzEwDQDMzMzMzM/A/AAAAAAAAC0CamZmZmRkOQM3MzMzMjBJAAAAAAAAACEAzMzMzMzP9P2ZmZmZmZvM/AAAAAAAAAkDNzMzMzEwFQJqZmZmZmak/AAAAAAAAAABmZmZmZuYEQM3MzMzMzABAmpmZmZmZ4z8zMzMzMzMIQM3MzMzMzAVAzczMzMzM0D8AAAAAAIABQAAAAAAAQBJAAAAAAAAABUAzMzMzMzOjP2ZmZmZm5gxAMzMzMzMz+T/NzMzMzMwFQDMzMzMzM+U/MzMzMzMzBUBmZmZmZuYDQJqZmZmZmfo/AAAAAAAA9j+amZmZmZn7P5qZmZmZGQRAzczMzMzM8z+amZmZmZmJPzMzMzMzswtAzczMzMzM9T8zMzMzMzP/P5qZmZmZmf4/WmQ7308NB0BmZmZmZmYEQGZmZmZmZvw/ZmZmZmbmBEAzMzMzM7MPQAAAAAAAABRAMzMzMzMzsz8AAAAAAIAMQM3MzMzMzAJAAAAAAAAAE0CamZmZmZm5P5qZmZmZmQxAZmZmZmZmB0AzMzMzMzMHQDMzMzMzM/A/mpmZmZmZ+T8zMzMzMzMPQAAAAAAAAO4/ZmZmZmYmEEDNzMzMzMz3P83MzMzMzPs/MzMzMzOzCUDNzMzMzEwCQAAAAAAAQBFAMzMzMzOzAECamZmZmZnnP83MzMzMzAZAZmZmZmbmB0AzMzMzMzPrP83MzMzMDBFAAAAAAACAAUBmZmZmZmYIQDMzMzMzswBAAAAAAACAAEAAAAAAAAD3PzMzMzMzM9M/AAAAAAAA5j9mZmZmZmb1PwAAAAAAAAAAmpmZmZmZqT9cj8L1KFwZQFyPwvUoXA9AXI/C9ShcC0AAAAAAAAD4P3E9CtejcBNAMzMzMzOzCUDNzMzMzMzEPwAAAAAAAAAAAAAAAAAACUDsUbgehesJQGZmZmZmZvM/ZmZmZmZm/T+amZmZmZn5P83MzMzMzPw/MzMzMzMz9D8zMzMzM7MFQJqZmZmZGQBAAAAAAAAAwD9mZmZmZmbGP83MzMzMTABAAAAAAAAACUCamZmZmRkFQHsUrkfhepQ/mpmZmZmZuT8=\",\"dtype\":\"float64\",\"order\":\"little\",\"shape\":[145]},\"Sample\":[1,2,3,4,5,6,7,8,9,1,10,2,3,4,5,6,7,8,1,10,2,3,4,5,6,7,8,9,1,2,3,4,5,6,7,8,1,2,3,4,5,6,7,1,2,3,4,1,10,2,3,4,5,6,7,8,9,1,2,3,4,5,6,7,8,9,1,10,2,3,4,5,6,7,8,9,2,5,1,3,4,6,7,1,2,3,4,5,6,7,8,9,1,2,3,4,5,6,7,8,9,1,2,3,4,5,6,5,1,10,2,3,4,6,7,8,9,1,2,4,5,6,7,8,9,1,10,2,3,4,5,6,7,8,9,3,1,2,3,4,5,6,7,8,9],\"Sample ID\":[\"C2-1-1\",\"C2-1-2\",\"C2-1-3\",\"C2-1-4\",\"C2-1-5\",\"C2-1-6\",\"C2-1-7\",\"C2-1-8\",\"C2-1-9\",\"C2-2-1\",\"C2-2-10\",\"C2-2-2\",\"C2-2-3\",\"C2-2-4\",\"C2-2-5\",\"C2-2-6\",\"C2-2-7\",\"C2-2-8\",\"C2-3-1\",\"C2-3-10\",\"C2-3-2\",\"C2-3-3\",\"C2-3-4\",\"C2-3-5\",\"C2-3-6\",\"C2-3-7\",\"C2-3-8\",\"C2-3-9\",\"C5-1-1\",\"C5-1-2\",\"C5-1-3\",\"C5-1-4\",\"C5-1-5\",\"C5-1-6\",\"C5-1-7\",\"C5-1-8\",\"C5-2-1\",\"C5-2-2\",\"C5-2-3\",\"C5-2-4\",\"C5-2-5\",\"C5-2-6\",\"C5-2-7\",\"C5-3-1\",\"C5-3-2\",\"C5-3-3\",\"C5-3-4\",\"C26-1-1\",\"C26-1-10\",\"C26-1-2\",\"C26-1-3\",\"C26-1-4\",\"C26-1-5\",\"C26-1-6\",\"C26-1-7\",\"C26-1-8\",\"C26-1-9\",\"C26-2-1\",\"C26-2-2\",\"C26-2-3\",\"C26-2-4\",\"C26-2-5\",\"C26-2-6\",\"C26-2-7\",\"C26-2-8\",\"C26-2-9\",\"C26-3-1\",\"C26-3-10\",\"C26-3-2\",\"C26-3-3\",\"C26-3-4\",\"C26-3-5\",\"C26-3-6\",\"C26-3-7\",\"C26-3-8\",\"C26-3-9\",\"51-1-2\",\"51-1-5\",\"C51-1-1\",\"c51-1-3\",\"C51-1-4\",\"C51-1-6\",\"C51-1-7\",\"C51-2-1\",\"C51-2-2\",\"C51-2-3\",\"C51-2-4\",\"C51-2-5\",\"C51-2-6\",\"C51-2-7\",\"C51-2-8\",\"C51-2-9\",\"77-1-1\",\"77-1-2\",\"77-1-3\",\"77-1-4\",\"77-1-5\",\"77-1-6\",\"77-1-7\",\"77-1-8\",\"77-1-9\",\"77-2-1\",\"77-2-2\",\"77-2-3\",\"77-2-4\",\"77-2-5\",\"77-2-6\",\"77-3-5\",\"C77-3-1\",\"C77-3-10\",\"C77-3-2\",\"C77-3-3\",\"C77-3-4\",\"C77-3-6\",\"C77-3-7\",\"C77-3-8\",\"C77-3-9\",\"C80-1-1\",\"C80-1-2\",\"C80-1-4\",\"C80-1-5\",\"C80-1-6\",\"C80-1-7\",\"C80-1-8\",\"C80-1-9\",\"C80-2-1\",\"C80-2-10\",\"C80-2-2\",\"C80-2-3\",\"C80-2-4\",\"C80-2-5\",\"C80-2-6\",\"C80-2-7\",\"C80-2-8\",\"C80-2-9\",\"C80-1-3\",\"C80-3-1\",\"C80-3-2\",\"C80-3-3\",\"C80-3-4\",\"C80-3-5\",\"C80-3-6\",\"C80-3-7\",\"C80-3-8\",\"C80-3-9\"],\"Specimen\":[227,228,229,230,231,232,233,234,235,236,244,237,238,239,240,241,242,243,247,255,248,249,250,256,251,252,253,254,167,168,169,170,171,172,173,174,127,128,129,130,131,132,134,71,70,69,68,47,199,186,59,196,61,197,198,133,50,65,62,66,175,176,177,48,178,179,157,166,158,159,160,161,162,163,164,165,43,41,185,108,224,217,51,117,116,115,114,113,112,111,110,109,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,42,91,52,180,181,182,183,184,90,58,258,105,107,257,220,221,222,223,218,86,200,201,202,219,203,204,205,206,106,77,78,79,80,81,82,83,84,85],\"Sperm Volume per 500 ul\":[2150000,2287500,87500,1875000,1587500,2600000,3412500,2562500,87500,1325000,87500,1025000,3500000,2300000,2012500,2712500,2062500,0,2412500,1525000,387500,200000,3362500,2612500,3200000,3637500,625000,200000,4000000,2325000,3362500,1362500,4725000,2650000,3212500,3437500,1862500,1800000,125000,3000000,3000000,1262500,2550000,2412500,1012500,3375000,3762500,4637500,3000000,1825000,1212500,2250000,2662500,50000,0,2612500,2100000,612500,3025000,2725000,262500,2187500,4562500,2625000,37500,3612500,1575000,2725000,662500,2650000,2487500,1662500,1375000,1725000,2512500,1237500,12500,3462500,1362500,1950000,1912500,2881500,2550000,1775000,2612500,3962500,5000000,75000,3562500,2350000,4750000,100000,3575000,2925000,2900000,1012500,1600000,3900000,937500,4037500,1487500,1737500,3212500,2287500,4312500,2087500,737500,2850000,2987500,850000,4262500,2187500,3050000,2087500,2062500,1437500,300000,687500,1337500,0,50000,6340000,3920000,3420000,1500000,4860000,3212500,162500,0,3125000,3240000,1212500,1837500,1600000,1800000,1262500,2712500,2012500,125000,175000,2037500,3125000,2637500,20000,100000],\"Treatment\":[\"Control\",\"Control\",\"Control\",\"Control\",\"Control\",\"Control\",\"Control\",\"Control\",\"Control\",\"Control\",\"Control\",\"Control\",\"Control\",\"Control\",\"Control\",\"Control\",\"Control\",\"Control\",\"Control\",\"Control\",\"Control\",\"Control\",\"Control\",\"Control\",\"Control\",\"Control\",\"Control\",\"Control\",\"Control\",\"Control\",\"Control\",\"Control\",\"Control\",\"Control\",\"Control\",\"Control\",\"Control\",\"Control\",\"Control\",\"Control\",\"Control\",\"Control\",\"Control\",\"Control\",\"Control\",\"Control\",\"Control\",\"Control\",\"Control\",\"Control\",\"Control\",\"Control\",\"Control\",\"Control\",\"Control\",\"Control\",\"Control\",\"Control\",\"Control\",\"Control\",\"Control\",\"Control\",\"Control\",\"Control\",\"Control\",\"Control\",\"Control\",\"Control\",\"Control\",\"Control\",\"Control\",\"Control\",\"Control\",\"Control\",\"Control\",\"Control\",\"Control\",\"Control\",\"Control\",\"Control\",\"Control\",\"Control\",\"Control\",\"Control\",\"Control\",\"Control\",\"Control\",\"Control\",\"Control\",\"Control\",\"Control\",\"Control\",\"Control\",\"Control\",\"Control\",\"Control\",\"Control\",\"Control\",\"Control\",\"Control\",\"Control\",\"Control\",\"Control\",\"Control\",\"Control\",\"Control\",\"Control\",\"Control\",\"Control\",\"Control\",\"Control\",\"Control\",\"Control\",\"Control\",\"Control\",\"Control\",\"Control\",\"Control\",\"Control\",\"Control\",\"Control\",\"Control\",\"Control\",\"Control\",\"Control\",\"Control\",\"Control\",\"Control\",\"Control\",\"Control\",\"Control\",\"Control\",\"Control\",\"Control\",\"Control\",\"Control\",\"Control\",\"Control\",\"Control\",\"Control\",\"Control\",\"Control\",\"Control\",\"Control\",\"Control\"],\"TreatmentNCSS\":[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],\"ViabilityRaw (%)\":[\"96.7263814616756\",\"96.3498079760595\",\"98.75\",\"93.2874208336941\",\"97.7925061050061\",\"99.3110435663627\",\"96.9269279143752\",\"90.4013147346481\",\"97.3765432098765\",\"100\",\"50\",\"97.4219443359481\",\"98.952595402898\",\"99.4550724637681\",\"96.8066378066378\",\"96.0334578275755\",\"89.8484848484848\",\"97.1783101955516\",\"95.86426295\",\"98.83415435\",\"94.53596009\",\"100\",\"96.92763298\",\"100\",\"97.1678744\",\"94.02554961\",\"96.9047619\",\"92.06349206\",\"44.99212781\",\"90.58405696\",\"89.99798133\",\"77.63426433\",\"69.88498509\",\"99.25925926\",\"94.2715963\",\"94.2715963\",\"85.14155715\",\"84.92303589\",\"87.52340007\",\"86.91854637\",\"74.41948449\",\"90.65708784\",\"73.1876968\",\"44.9921278052127\",\"90.58405696164\",\"89.9979813278077\",\"77.6342643312626\",\"91.9125976104989\",\"78.308227886686\",\"81.25\",\"95.8436217383421\",\"75.7647208495557\",\"90.7178691961338\",\"100\",\"0\",\"78.4963132\",\"82.8133985826395\",\"82.4236141825151\",\"82.6329934229224\",\"79.3020312966259\",\"57.06521739\",\"82.42361418\",\"82.63299342\",\"81.6004584\",\"76.65909502\",\"83.55252183\",\"92.82808489\",\"76.14945911\",\"94.86235763\",\"88.04723817\",\"96.61498027\",\"75.933258\",\"73.73289924\",\"73.12553419\",\"94.24075725\",\"82.15099624\",\"0\",\"89.2028260615428\",\"95.48021298\",\"90.8822649\",\"94.2353021005149\",\"95.7894736842105\",\"94.2545160570919\",\"84.57685325\",\"68.13048201\",\"89.28510289\",\"100\",\"93.18261985\",\"86.62051698\",\"68.11131927\",\"89.04786069\",\"89.28510289\",\"99.1367521367521\",\"93.9600358113647\",\"93.3635651629073\",\"95.4214202677118\",\"94.6368791994235\",\"95.8969476248909\",\"99.3381527123421\",\"97.0712056970515\",\"75.3854905188791\",\"94.7614218403692\",\"99.0450658816933\",\"95.8885240609407\",\"98.264714204867\",\"99.5522388059701\",\"99.2513368983957\",\"79.53735548\",\"93.2874208336941\",\"76.1494591090057\",\"88.53378146\",\"89.70654852\",\"95.41407625\",\"98.64723637\",\"100\",\"79.5373554799784\",\"98.6472363704961\",\"92.59090909\",\"NO SPERM\",\"No Sperm\",\"NO SPERM\",\"96.411837266676\",\"96.9592550235536\",\"81.403220240878\",\"55.997149465823\",\"90.2362153123023\",\"90.6450318327302\",\"79.5\",\"No Sperm\",\"94.3878045434769\",\"84.6659612601236\",\"84.6659612601236\",\"88.5826202980786\",\"85.176268629771\",\"93.4463051568315\",\"96.4067365144407\",\"97.3741737829884\",\"98.4761904761905\",\"99.4047619047619\",\"99.4047619047619\",\"99.3095238095238\",\"87.3829853415464\",\"77.0825689110135\",\"0\",\"32.5\"],\"__ECDF\":{\"__ndarray__\":\"Xpso2bWJ4j8XQzpvMaTjP2G5pxGWe7o/uBjSeYsh3T+amZmZmZnZP18qaPWlguY/1AjLPY2w7D/Q6ksFrb7kP9J5iyGdt7g/fBphuacR1j8luzZRsmuzPw54/OGAx88/uBjSeYsh7T/t2kTJrk3kP+tLBa2+VOA/UbJrEyW75j8OePzhgMffP/D4wwGPP3w/3mJI5y2G5D/uaYTlnkbYP3waYbmnEcY/7dpEya5NxD/w+MMBjz/sPzXCck8jLOc/GmG5pxGW6z/GkM5bDOnsPwtafamg1cc/Jbs2UbJrwz9jSOcthnTeP08jLPc0wuI/YbmnEZZ76j+WexphuafRP+KAxx8OeOw/J0p2baJk5z9TQasvFbTqP/5wwOMPB+w/famg1ZcK2j+2iZJdmyjZP3844PGHA74/QzpvMaTz5j8Jyz2NsNzjPyW7NlGya9M/+cMBjz8c4D96iyGdtxjSP7gY0nmLIc0/RcmuTZTs6j+LIZ23GNLpPypo9aWCVu8/tPpSQasv5T8nSnZtomTXPwnLPY2w3NM/8PjDAY8/3D98GmG5pxHmP7T6UkGrL7U/8PjDAY8/jD+k8xZDOm/hP9QIyz2NsNw/QzpvMaTzxj9tomTXJkrmPzMzMzMzM+M/lnsaYbmnwT8qaPWlglbfP3844PGHA+4/QasvFbT64j8OePzhgMevP28xpPMWQ+o/QzpvMaTz1j96iyGdtxjiP9J5iyGdt8g/wnJPIyz35D+YClp9qaDlP7T6UkGrL9U/60sFrb5U0D/Q6ksFrb7UP6aCVl8qaOU/z1sM6bzF0D+0+lJBqy+VPynZtYmSXes/mApafamg1T+bKNm1iZLdP0dY7mmE5d4/0nmLIZ236D+Kkl2bKNnlPwtafamg1dc/fzjg8YcD3j+poNWXClrtPw54/OGAx+8/QzpvMaTztj83UbJrEyXrP2G5pxGWe9o/R1juaYTl7j/w+MMBjz+8P5so2bWJku0/4PGHAx5/6D8LWn2poNXnP0dY7mmE5c4/0nmLIZ232D+NsNzTCMvtP3844PGHA84/VdDqSwWt7j9emyjZtYnSPynZtYmSXds/DOm8xZDO6z8luzZRsmvjPzjg8YcDHu8/bBMluzZR4j8p2bWJkl3LP/tSQasvFeQ/tomSXZso6T9huacRlnvKP3HA4w8HPO4/3dMIyz2N4D+oEZZ7GmHpP5Z7GmG5p+E/iAMefzjg4T9Bqy8VtPrSP7T6UkGrL8U/mpmZmZmZyT/w+MMBjz+cP5Z7GmG5p6E/tPpSQasvpT8AAAAAAADwP2NI5y2GdO4/xAGPPxzw6D/w+MMBjz/MPxzw+MMBj+8/mpmZmZmZ6T/PWwzpvMXAP9J5iyGdt6g/famg1ZcK6j/uaYTlnkboP7JrEyW7NtE/RcmuTZTs2j9fKmj1pYLWPwzpvMWQzts/7dpEya5N1D8Z0nmLIZ3nP89bDOm8xeA/Dnj84YDHvz9emyjZtYnCP8DjDwc8/uA//OGAxx8O6D+yaxMluzbhP/D4wwGPP6w/lnsaYbmnsT8=\",\"dtype\":\"float64\",\"order\":\"little\",\"shape\":[145]},\"__label\":[\"Control\",\"Control\",\"Control\",\"Control\",\"Control\",\"Control\",\"Control\",\"Control\",\"Control\",\"Control\",\"Control\",\"Control\",\"Control\",\"Control\",\"Control\",\"Control\",\"Control\",\"Control\",\"Control\",\"Control\",\"Control\",\"Control\",\"Control\",\"Control\",\"Control\",\"Control\",\"Control\",\"Control\",\"Control\",\"Control\",\"Control\",\"Control\",\"Control\",\"Control\",\"Control\",\"Control\",\"Control\",\"Control\",\"Control\",\"Control\",\"Control\",\"Control\",\"Control\",\"Control\",\"Control\",\"Control\",\"Control\",\"Control\",\"Control\",\"Control\",\"Control\",\"Control\",\"Control\",\"Control\",\"Control\",\"Control\",\"Control\",\"Control\",\"Control\",\"Control\",\"Control\",\"Control\",\"Control\",\"Control\",\"Control\",\"Control\",\"Control\",\"Control\",\"Control\",\"Control\",\"Control\",\"Control\",\"Control\",\"Control\",\"Control\",\"Control\",\"Control\",\"Control\",\"Control\",\"Control\",\"Control\",\"Control\",\"Control\",\"Control\",\"Control\",\"Control\",\"Control\",\"Control\",\"Control\",\"Control\",\"Control\",\"Control\",\"Control\",\"Control\",\"Control\",\"Control\",\"Control\",\"Control\",\"Control\",\"Control\",\"Control\",\"Control\",\"Control\",\"Control\",\"Control\",\"Control\",\"Control\",\"Control\",\"Control\",\"Control\",\"Control\",\"Control\",\"Control\",\"Control\",\"Control\",\"Control\",\"Control\",\"Control\",\"Control\",\"Control\",\"Control\",\"Control\",\"Control\",\"Control\",\"Control\",\"Control\",\"Control\",\"Control\",\"Control\",\"Control\",\"Control\",\"Control\",\"Control\",\"Control\",\"Control\",\"Control\",\"Control\",\"Control\",\"Control\",\"Control\",\"Control\",\"Control\",\"Control\",\"Control\",\"Control\"],\"index\":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207]},\"selected\":{\"id\":\"1074\"},\"selection_policy\":{\"id\":\"1073\"}},\"id\":\"1040\",\"type\":\"ColumnDataSource\"},{\"attributes\":{\"label\":{\"value\":\"Control\"},\"renderers\":[{\"id\":\"1045\"},{\"id\":\"1038\"}]},\"id\":\"1061\",\"type\":\"LegendItem\"},{\"attributes\":{\"fill_alpha\":0.2,\"fill_color\":\"#1f77b3\",\"hatch_alpha\":0.2,\"line_alpha\":0.2,\"line_color\":\"#1f77b4\",\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"1037\",\"type\":\"Patch\"},{\"attributes\":{\"fill_alpha\":{\"value\":0.2},\"fill_color\":{\"value\":\"#1f77b3\"},\"hatch_alpha\":{\"value\":0.2},\"hatch_color\":{\"value\":\"#1f77b3\"},\"line_alpha\":{\"value\":0.2},\"line_color\":{\"value\":\"#1f77b3\"},\"x\":{\"field\":\"Alive Sperm Millions\"},\"y\":{\"field\":\"__ECDF\"}},\"id\":\"1044\",\"type\":\"Circle\"},{\"attributes\":{},\"id\":\"1076\",\"type\":\"Selection\"},{\"attributes\":{\"source\":{\"id\":\"1040\"}},\"id\":\"1046\",\"type\":\"CDSView\"},{\"attributes\":{\"fill_alpha\":{\"value\":0.1},\"fill_color\":{\"value\":\"#ff7e0e\"},\"hatch_alpha\":{\"value\":0.1},\"hatch_color\":{\"value\":\"#ff7e0e\"},\"line_alpha\":{\"value\":0.1},\"line_color\":{\"value\":\"#ff7e0e\"},\"x\":{\"field\":\"Alive Sperm Millions\"},\"y\":{\"field\":\"__ECDF\"}},\"id\":\"1056\",\"type\":\"Circle\"},{\"attributes\":{},\"id\":\"1078\",\"type\":\"Selection\"},{\"attributes\":{\"axis\":{\"id\":\"1016\"},\"coordinates\":null,\"dimension\":1,\"group\":null,\"ticker\":null},\"id\":\"1019\",\"type\":\"Grid\"},{\"attributes\":{\"coordinates\":null,\"data_source\":{\"id\":\"1040\"},\"glyph\":{\"id\":\"1042\"},\"group\":null,\"hover_glyph\":null,\"muted_glyph\":{\"id\":\"1044\"},\"nonselection_glyph\":{\"id\":\"1043\"},\"view\":{\"id\":\"1046\"}},\"id\":\"1045\",\"type\":\"GlyphRenderer\"},{\"attributes\":{\"fill_alpha\":{\"value\":0.1},\"fill_color\":{\"value\":\"#1f77b3\"},\"hatch_alpha\":{\"value\":0.1},\"hatch_color\":{\"value\":\"#1f77b3\"},\"line_alpha\":{\"value\":0.1},\"line_color\":{\"value\":\"#1f77b3\"},\"x\":{\"field\":\"Alive Sperm Millions\"},\"y\":{\"field\":\"__ECDF\"}},\"id\":\"1043\",\"type\":\"Circle\"},{\"attributes\":{},\"id\":\"1010\",\"type\":\"LinearScale\"}],\"root_ids\":[\"1003\"]},\"title\":\"Bokeh Application\",\"version\":\"2.4.2\"}};\n", " const render_items = [{\"docid\":\"6d95d6c3-7bdd-40d7-a226-10f9e04d9cfc\",\"root_ids\":[\"1003\"],\"roots\":{\"1003\":\"568b6e1b-3b40-424f-9790-4bfd54bddff6\"}}];\n", " root.Bokeh.embed.embed_items_notebook(docs_json, render_items);\n", "\n", " }\n", " if (root.Bokeh !== undefined) {\n", " embed_document(root);\n", " } else {\n", " let attempts = 0;\n", " const timer = setInterval(function(root) {\n", " if (root.Bokeh !== undefined) {\n", " clearInterval(timer);\n", " embed_document(root);\n", " } else {\n", " attempts++;\n", " if (attempts > 100) {\n", " clearInterval(timer);\n", " console.log(\"Bokeh: ERROR: Unable to run BokehJS code because BokehJS library is missing\");\n", " }\n", " }\n", " }, 10, root)\n", " }\n", "})(window);" ], "application/vnd.bokehjs_exec.v0+json": "" }, "metadata": { "application/vnd.bokehjs_exec.v0+json": { "id": "1003" } }, "output_type": "display_data" } ], "source": [ "df = pd.read_csv(\"../data/bee_sperm.csv\", comment=\"#\")\n", "\n", "bokeh.io.show(\n", " iqplot.ecdf(df, q=\"Alive Sperm Millions\", cats=\"Treatment\", conf_int=True)\n", ")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "There is a clear separation of the ECDFs, suggesting that the control and pesticide-treated bees are indeed distributed differently, with pesticide-treated sperm counts shifted toward fewer alive sperm." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Computing environment" ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Python implementation: CPython\n", "Python version : 3.9.12\n", "IPython version : 8.3.0\n", "\n", "pandas : 1.4.2\n", "bokeh : 2.4.2\n", "iqplot : 0.2.5\n", "jupyterlab: 3.3.2\n", "\n" ] } ], "source": [ "%load_ext watermark\n", "%watermark -v -p 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.4" } }, "nbformat": 4, "nbformat_minor": 4 }