{ "cells": [ { "cell_type": "markdown", "id": "9a51a013-8798-4327-bd2b-5aaf0427cda4", "metadata": {}, "source": [ "# pvanalytics" ] }, { "cell_type": "code", "execution_count": 1, "id": "50531b9f-821b-4f17-ae11-535b6241dee6", "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "C:\\Users\\KANDERSO\\Software\\Anaconda3\\envs\\dev\\lib\\site-packages\\numpy\\_distributor_init.py:30: UserWarning: loaded more than 1 DLL from .libs:\n", "C:\\Users\\KANDERSO\\Software\\Anaconda3\\envs\\dev\\lib\\site-packages\\numpy\\.libs\\libopenblas.EL2C6PLE4ZYW3ECEVIV3OXXGRN2NRFM2.gfortran-win_amd64.dll\n", "C:\\Users\\KANDERSO\\Software\\Anaconda3\\envs\\dev\\lib\\site-packages\\numpy\\.libs\\libopenblas.FB5AE2TYXYH2IJRDKGDGQ3XBKLKTF43H.gfortran-win_amd64.dll\n", " warnings.warn(\"loaded more than 1 DLL from .libs:\"\n" ] } ], "source": [ "import utils\n", "import pandas as pd\n", "\n", "from bokeh.plotting import figure, show\n", "from bokeh.models import HoverTool\n", "from bokeh.transform import jitter\n", "from bokeh.io import output_notebook" ] }, { "cell_type": "code", "execution_count": 2, "id": "c987023b-ca0a-4ebf-9b9d-33793d3cf8f8", "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", " \n", " Loading BokehJS ...\n", "
\n" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "application/javascript": [ "(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", " 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", " 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-2.4.3.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-gl-2.4.3.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-widgets-2.4.3.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-tables-2.4.3.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-mathjax-2.4.3.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", " 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", " 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": "(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() {\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 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-2.4.3.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-gl-2.4.3.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-widgets-2.4.3.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-tables-2.4.3.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-mathjax-2.4.3.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 for (let i = 0; i < inline_js.length; i++) {\n inline_js[i].call(root, root.Bokeh);\n }\nif (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 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": [ "output_notebook()" ] }, { "cell_type": "markdown", "id": "10d7f560-2768-42ac-a21a-258c6b2ffdbe", "metadata": {}, "source": [ "## ReadTheDocs" ] }, { "cell_type": "code", "execution_count": 3, "id": "6c7a30e9-97a4-4344-b832-ba526d2836e9", "metadata": {}, "outputs": [], "source": [ "df = utils.get_rtd_analytics_data('pvanalytics')\n", "data_period = df['Date'].min().strftime('%Y-%m-%d') + ' to ' + df['Date'].max().strftime('%Y-%m-%d')" ] }, { "cell_type": "code", "execution_count": 4, "id": "60c947c9-f9c2-4ccf-b5e7-c9c9f3359e05", "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 = {\"ed9168e0-31e6-4895-84fc-347f9c383e3a\":{\"defs\":[],\"roots\":{\"references\":[{\"attributes\":{\"below\":[{\"id\":\"1014\"}],\"center\":[{\"id\":\"1016\"},{\"id\":\"1020\"}],\"height\":350,\"left\":[{\"id\":\"1017\"}],\"renderers\":[{\"id\":\"1042\"}],\"title\":{\"id\":\"1004\"},\"toolbar\":{\"id\":\"1029\"},\"x_range\":{\"id\":\"1006\"},\"x_scale\":{\"id\":\"1010\"},\"y_range\":{\"id\":\"1008\"},\"y_scale\":{\"id\":\"1012\"}},\"id\":\"1003\",\"subtype\":\"Figure\",\"type\":\"Plot\"},{\"attributes\":{},\"id\":\"1049\",\"type\":\"CategoricalTickFormatter\"},{\"attributes\":{},\"id\":\"1010\",\"type\":\"CategoricalScale\"},{\"attributes\":{\"overlay\":{\"id\":\"1027\"}},\"id\":\"1023\",\"type\":\"BoxZoomTool\"},{\"attributes\":{\"axis_label\":\"Total page views\",\"coordinates\":null,\"formatter\":{\"id\":\"1046\"},\"group\":null,\"major_label_policy\":{\"id\":\"1047\"},\"ticker\":{\"id\":\"1018\"}},\"id\":\"1017\",\"type\":\"LinearAxis\"},{\"attributes\":{},\"id\":\"1051\",\"type\":\"UnionRenderers\"},{\"attributes\":{\"source\":{\"id\":\"1037\"}},\"id\":\"1043\",\"type\":\"CDSView\"},{\"attributes\":{},\"id\":\"1052\",\"type\":\"Selection\"},{\"attributes\":{\"fill_color\":{\"value\":\"#1f77b4\"},\"line_color\":{\"value\":\"white\"},\"top\":{\"field\":\"Views\"},\"width\":{\"value\":0.75},\"x\":{\"field\":\"Version\"}},\"id\":\"1039\",\"type\":\"VBar\"},{\"attributes\":{\"coordinates\":null,\"formatter\":{\"id\":\"1049\"},\"group\":null,\"major_label_orientation\":1.57,\"major_label_policy\":{\"id\":\"1050\"},\"ticker\":{\"id\":\"1015\"}},\"id\":\"1014\",\"type\":\"CategoricalAxis\"},{\"attributes\":{},\"id\":\"1050\",\"type\":\"AllLabels\"},{\"attributes\":{},\"id\":\"1018\",\"type\":\"BasicTicker\"},{\"attributes\":{\"coordinates\":null,\"data_source\":{\"id\":\"1037\"},\"glyph\":{\"id\":\"1039\"},\"group\":null,\"hover_glyph\":null,\"muted_glyph\":{\"id\":\"1041\"},\"nonselection_glyph\":{\"id\":\"1040\"},\"view\":{\"id\":\"1043\"}},\"id\":\"1042\",\"type\":\"GlyphRenderer\"},{\"attributes\":{},\"id\":\"1024\",\"type\":\"SaveTool\"},{\"attributes\":{\"data\":{\"Version\":[\"latest\",\"stable\",\"v0.1.0\",\"v0.1.1\",\"v0.1.2\",\"v0.1.3\"],\"Views\":[223,3080,18,11,39,21],\"index\":[0,1,2,3,4,5]},\"selected\":{\"id\":\"1052\"},\"selection_policy\":{\"id\":\"1051\"}},\"id\":\"1037\",\"type\":\"ColumnDataSource\"},{\"attributes\":{\"factors\":[\"latest\",\"stable\",\"v0.1.0\",\"v0.1.1\",\"v0.1.2\",\"v0.1.3\"]},\"id\":\"1006\",\"type\":\"FactorRange\"},{\"attributes\":{\"tools\":[{\"id\":\"1021\"},{\"id\":\"1022\"},{\"id\":\"1023\"},{\"id\":\"1024\"},{\"id\":\"1025\"},{\"id\":\"1026\"},{\"id\":\"1028\"}]},\"id\":\"1029\",\"type\":\"Toolbar\"},{\"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\":\"1027\",\"type\":\"BoxAnnotation\"},{\"attributes\":{\"fill_alpha\":{\"value\":0.2},\"fill_color\":{\"value\":\"#1f77b4\"},\"hatch_alpha\":{\"value\":0.2},\"line_alpha\":{\"value\":0.2},\"line_color\":{\"value\":\"white\"},\"top\":{\"field\":\"Views\"},\"width\":{\"value\":0.75},\"x\":{\"field\":\"Version\"}},\"id\":\"1041\",\"type\":\"VBar\"},{\"attributes\":{\"fill_alpha\":{\"value\":0.1},\"fill_color\":{\"value\":\"#1f77b4\"},\"hatch_alpha\":{\"value\":0.1},\"line_alpha\":{\"value\":0.1},\"line_color\":{\"value\":\"white\"},\"top\":{\"field\":\"Views\"},\"width\":{\"value\":0.75},\"x\":{\"field\":\"Version\"}},\"id\":\"1040\",\"type\":\"VBar\"},{\"attributes\":{},\"id\":\"1012\",\"type\":\"LinearScale\"},{\"attributes\":{\"axis\":{\"id\":\"1017\"},\"coordinates\":null,\"dimension\":1,\"group\":null,\"ticker\":null},\"id\":\"1020\",\"type\":\"Grid\"},{\"attributes\":{\"callback\":null,\"tooltips\":[[\"Version\",\"@Version\"],[\"Views\",\"@Views\"]]},\"id\":\"1028\",\"type\":\"HoverTool\"},{\"attributes\":{},\"id\":\"1015\",\"type\":\"CategoricalTicker\"},{\"attributes\":{\"axis\":{\"id\":\"1014\"},\"coordinates\":null,\"group\":null,\"ticker\":null},\"id\":\"1016\",\"type\":\"Grid\"},{\"attributes\":{},\"id\":\"1021\",\"type\":\"PanTool\"},{\"attributes\":{},\"id\":\"1046\",\"type\":\"BasicTickFormatter\"},{\"attributes\":{},\"id\":\"1025\",\"type\":\"ResetTool\"},{\"attributes\":{\"coordinates\":null,\"group\":null,\"text\":\"Page views by RTD version (2022-06-15 to 2022-12-28)\"},\"id\":\"1004\",\"type\":\"Title\"},{\"attributes\":{},\"id\":\"1022\",\"type\":\"WheelZoomTool\"},{\"attributes\":{},\"id\":\"1026\",\"type\":\"HelpTool\"},{\"attributes\":{},\"id\":\"1047\",\"type\":\"AllLabels\"},{\"attributes\":{},\"id\":\"1008\",\"type\":\"DataRange1d\"}],\"root_ids\":[\"1003\"]},\"title\":\"Bokeh Application\",\"version\":\"2.4.3\"}};\n", " const render_items = [{\"docid\":\"ed9168e0-31e6-4895-84fc-347f9c383e3a\",\"root_ids\":[\"1003\"],\"roots\":{\"1003\":\"eb7a25f5-1792-44a3-92db-cf1e36e9effe\"}}];\n", " 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": "1003" } }, "output_type": "display_data" } ], "source": [ "total_by_version = df.groupby('Version')['Views'].sum().reset_index()\n", "\n", "p = figure(x_range=total_by_version['Version'], height=350, tooltips=[(\"Version\", \"@Version\"), (\"Views\", \"@Views\")],\n", " title=f\"Page views by RTD version ({data_period})\",)\n", "p.vbar(x='Version', top='Views', width=0.75, source=total_by_version,\n", " line_color='white')\n", "p.xaxis.major_label_orientation = 3.14/2\n", "p.yaxis.axis_label = 'Total page views'\n", "show(p)" ] }, { "cell_type": "code", "execution_count": 5, "id": "2104961b-ff35-43b3-bf0b-dfdf7c932c55", "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 = {\"61ba8371-03e7-4a6f-9221-57213bddcaf4\":{\"defs\":[],\"roots\":{\"references\":[{\"attributes\":{\"below\":[{\"id\":\"1115\"}],\"center\":[{\"id\":\"1118\"},{\"id\":\"1122\"},{\"id\":\"1167\"}],\"height\":350,\"left\":[{\"id\":\"1119\"}],\"renderers\":[{\"id\":\"1143\"},{\"id\":\"1173\"}],\"title\":{\"id\":\"1105\"},\"toolbar\":{\"id\":\"1130\"},\"x_range\":{\"id\":\"1107\"},\"x_scale\":{\"id\":\"1111\"},\"y_range\":{\"id\":\"1109\"},\"y_scale\":{\"id\":\"1113\"}},\"id\":\"1104\",\"subtype\":\"Figure\",\"type\":\"Plot\"},{\"attributes\":{},\"id\":\"1124\",\"type\":\"WheelZoomTool\"},{\"attributes\":{},\"id\":\"1152\",\"type\":\"UnionRenderers\"},{\"attributes\":{},\"id\":\"1147\",\"type\":\"BasicTickFormatter\"},{\"attributes\":{},\"id\":\"1153\",\"type\":\"Selection\"},{\"attributes\":{},\"id\":\"1148\",\"type\":\"AllLabels\"},{\"attributes\":{\"data\":{\"x\":{\"__ndarray__\":\"AACAjkoWeEIAAABa7xZ4QgAAwL9BF3hCAACAJZQXeEIAAECL5hd4QgAAAPE4GHhCAACAvN0YeEIAAEAiMBl4QgAAwO3UGXhCAACAUycaeEIAAEC5eRp4QgAAAB/MGnhCAADAhB4beEIAAIDqcBt4QgAAQFDDG3hCAACAgboceEIAAEDnDB14QgAAAE1fHXhCAADAsrEdeEIAAIAYBB54QgAAQH5WHnhCAAAA5KgeeEIAAMBJ+x54QgAAgK9NH3hCAABAFaAfeEIAAAB78h94QgAAwOBEIHhCAACARpcgeEIAAECs6SB4QgAAABI8IXhCAADAd44heEIAAIDd4CF4QgAAQEMzInhCAADADtgieEIAAIB0KiN4QgAAQNp8I3hCAAAAQM8jeEIAAMClISR4QgAAgAt0JHhCAABAccYkeEIAAADXGCV4QgAAwDxrJXhCAACAor0leEIAAEAIECZ4QgAAAG5iJnhCAADA07QmeEIAAECfWSd4QgAAAAWsJ3hCAADAav4neEIAAIDQUCh4QgAAQDajKHhCAAAAnPUoeEIAAMABSCl4QgAAQM3sKXhCAAAAMz8qeEIAAMCYkSp4QgAAgP7jKnhCAABAZDYreEIAAADKiCt4QgAAwC/bK3hCAACAlS0seEIAAED7fyx4QgAAAGHSLHhCAADAxiQteEIAAIAsdy14QgAAQJLJLXhCAAAA+BsueEIAAMBdbi54QgAAgMPALnhCAABAKRMveEIAAACPZS94QgAAwPS3L3hCAACAWgoweEIAAEDAXDB4QgAAACavMHhCAADAiwExeEIAAIDxUzF4QgAAQFemMXhCAAAAvfgxeEIAAMAiSzJ4QgAAgIidMnhCAABA7u8yeEIAAABUQjN4QgAAwLmUM3hCAACAH+czeEIAAECFOTR4QgAAAOuLNHhCAADAUN40eEIAAIC2MDV4QgAAQByDNXhCAAAAgtU1eEIAAMDnJzZ4QgAAgE16NnhCAABAs8w2eEIAAAAZHzd4QgAAwH5xN3hCAACA5MM3eEIAAEBKFjh4QgAAALBoOHhCAADAFbs4eEIAAIB7DTl4QgAAQOFfOXhCAAAAR7I5eEIAAMCsBDp4QgAAgBJXOnhCAABAeKk6eEIAAADe+zp4QgAAwENOO3hCAACAqaA7eEIAAEAP8zt4QgAAAHVFPHhCAADA2pc8eEIAAIBA6jx4QgAAQKY8PXhCAAAADI89eEIAAMBx4T14QgAAgNczPnhCAABAPYY+eEIAAACj2D54QgAAwAgrP3hCAACAbn0/eEIAAAA6IkB4QgAAwJ90QHhCAACABcdAeEIAAEBrGUF4QgAAANFrQXhCAADANr5BeEIAAICcEEJ4QgAAQAJjQnhCAAAAaLVCeEIAAMDNB0N4QgAAgDNaQ3hCAABAmaxDeEIAAAD//kN4QgAAwGRRRHhCAACAyqNEeEIAAEAw9kR4QgAAAJZIRXhCAADA+5pFeEIAAIBh7UV4QgAAQMc/RnhCAAAALZJGeEIAAMCS5EZ4QgAAgPg2R3hCAABAXolHeEIAAADE20d4QgAAwCkuSHhCAACAj4BIeEIAAED10kh4QgAAAFslSXhCAADAwHdJeEIAAIAmykl4QgAAQIwcSnhCAAAA8m5KeEIAAMBXwUp4QgAAQCNmS3hCAAAAibhLeEIAAMDuCkx4QgAAgFRdTHhCAABAuq9MeEIAAAAgAk14QgAAwIVUTXhCAABAUflNeEIAAAC3S054QgAAwByeTnhCAACAgvBOeEIAAEDoQk94QgAAAE6VT3hCAADAs+dPeEIAAIAZOlB4QgAAQH+MUHhCAAAA5d5QeEIAAMBKMVF4QgAAgLCDUXhCAABAFtZReEIAAAB8KFJ4QgAAwOF6UnhCAACAR81SeEIAAECtH1N4QgAAABNyU3hCAADAeMRTeEIAAIDeFlR4QgAAQERpVHhCAAAAqrtUeEIAAMAPDlV4QgAAgHVgVXhC\",\"dtype\":\"float64\",\"order\":\"little\",\"shape\":[186]},\"y\":{\"__ndarray__\":\"AAAAAAAAGEAAAAAAAADwPwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA8D8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADwPwAAAAAAAPA/AAAAAAAAIEAAAAAAAAAoQAAAAAAAAPA/AAAAAAAACEAAAAAAAADwPwAAAAAAAAAAAAAAAAAAEEAAAAAAAAAAAAAAAAAAABhAAAAAAAAAAAAAAAAAAADwPwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAYQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUQAAAAAAAAAAAAAAAAAAAAAAAAAAAAADwPwAAAAAAAAAAAAAAAAAA8D8AAAAAAAAAAAAAAAAAAAAAAAAAAAAACEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADwPwAAAAAAAPA/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPA/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPA/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAPA/AAAAAAAACEAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAADwPwAAAAAAAPA/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcQAAAAAAAAABAAAAAAAAAGEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgERAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPA/AAAAAAAA8D8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADwPwAAAAAAAPA/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKkAAAAAAAAAAAAAAAAAAAPA/AAAAAAAA8D8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADwPwAAAAAAAPA/AAAAAAAA8D8AAAAAAAAAAAAAAAAAAPA/AAAAAAAAAAAAAAAAAADwPwAAAAAAAAAAAAAAAAAAAAAAAAAAAADwPwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPA/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA8D8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADwPwAAAAAAAAAAAAAAAAAAHEAAAAAAAAAAAAAAAAAAAPA/AAAAAAAA8D8AAAAAAAAAAAAAAAAAAAhAAAAAAAAA8D8AAAAAAADwPwAAAAAAAPA/AAAAAAAA8D8AAAAAAAAAAAAAAAAAAABAAAAAAAAA8D8AAAAAAAAAAAAAAAAAAPA/AAAAAAAA8D8AAAAAAAAIQAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA8D8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAGEAAAAAAAAAIQAAAAAAAAAhAAAAAAAAA8D8AAAAAAAAAAAAAAAAAAABAAAAAAAAAHEAAAAAAAAAAQAAAAAAAABRAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPA/AAAAAAAA8D8AAAAAAAAIQAAAAAAAAAAA\",\"dtype\":\"float64\",\"order\":\"little\",\"shape\":[186]}},\"selected\":{\"id\":\"1185\"},\"selection_policy\":{\"id\":\"1184\"}},\"id\":\"1169\",\"type\":\"ColumnDataSource\"},{\"attributes\":{\"tools\":[{\"id\":\"1123\"},{\"id\":\"1124\"},{\"id\":\"1125\"},{\"id\":\"1126\"},{\"id\":\"1127\"},{\"id\":\"1128\"},{\"id\":\"1137\"}]},\"id\":\"1130\",\"type\":\"Toolbar\"},{\"attributes\":{\"coordinates\":null,\"formatter\":{\"id\":\"1150\"},\"group\":null,\"major_label_policy\":{\"id\":\"1151\"},\"ticker\":{\"id\":\"1116\"}},\"id\":\"1115\",\"type\":\"DatetimeAxis\"},{\"attributes\":{},\"id\":\"1120\",\"type\":\"BasicTicker\"},{\"attributes\":{\"coordinates\":null,\"data_source\":{\"id\":\"1169\"},\"glyph\":{\"id\":\"1170\"},\"group\":null,\"hover_glyph\":null,\"muted_glyph\":{\"id\":\"1172\"},\"nonselection_glyph\":{\"id\":\"1171\"},\"view\":{\"id\":\"1174\"}},\"id\":\"1173\",\"type\":\"GlyphRenderer\"},{\"attributes\":{\"axis\":{\"id\":\"1119\"},\"coordinates\":null,\"dimension\":1,\"group\":null,\"ticker\":null},\"id\":\"1122\",\"type\":\"Grid\"},{\"attributes\":{\"axis\":{\"id\":\"1115\"},\"coordinates\":null,\"group\":null,\"ticker\":null},\"id\":\"1118\",\"type\":\"Grid\"},{\"attributes\":{},\"id\":\"1151\",\"type\":\"AllLabels\"},{\"attributes\":{},\"id\":\"1111\",\"type\":\"LinearScale\"},{\"attributes\":{\"source\":{\"id\":\"1169\"}},\"id\":\"1174\",\"type\":\"CDSView\"},{\"attributes\":{},\"id\":\"1107\",\"type\":\"DataRange1d\"},{\"attributes\":{\"data\":{\"x\":{\"__ndarray__\":\"AACAjkoWeEIAAABa7xZ4QgAAwL9BF3hCAACAJZQXeEIAAECL5hd4QgAAAPE4GHhCAACAvN0YeEIAAEAiMBl4QgAAwO3UGXhCAACAUycaeEIAAEC5eRp4QgAAAB/MGnhCAADAhB4beEIAAIDqcBt4QgAAQFDDG3hCAACAgboceEIAAEDnDB14QgAAAE1fHXhCAADAsrEdeEIAAIAYBB54QgAAQH5WHnhCAAAA5KgeeEIAAMBJ+x54QgAAgK9NH3hCAABAFaAfeEIAAAB78h94QgAAwOBEIHhCAACARpcgeEIAAECs6SB4QgAAABI8IXhCAADAd44heEIAAIDd4CF4QgAAQEMzInhCAADADtgieEIAAIB0KiN4QgAAQNp8I3hCAAAAQM8jeEIAAMClISR4QgAAgAt0JHhCAABAccYkeEIAAADXGCV4QgAAwDxrJXhCAACAor0leEIAAEAIECZ4QgAAAG5iJnhCAADA07QmeEIAAECfWSd4QgAAAAWsJ3hCAADAav4neEIAAIDQUCh4QgAAQDajKHhCAAAAnPUoeEIAAMABSCl4QgAAQM3sKXhCAAAAMz8qeEIAAMCYkSp4QgAAgP7jKnhCAABAZDYreEIAAADKiCt4QgAAwC/bK3hCAACAlS0seEIAAED7fyx4QgAAAGHSLHhCAADAxiQteEIAAIAsdy14QgAAQJLJLXhCAAAA+BsueEIAAMBdbi54QgAAgMPALnhCAABAKRMveEIAAACPZS94QgAAwPS3L3hCAACAWgoweEIAAEDAXDB4QgAAACavMHhCAADAiwExeEIAAIDxUzF4QgAAQFemMXhCAAAAvfgxeEIAAMAiSzJ4QgAAgIidMnhCAABA7u8yeEIAAABUQjN4QgAAwLmUM3hCAACAH+czeEIAAECFOTR4QgAAAOuLNHhCAADAUN40eEIAAIC2MDV4QgAAQByDNXhCAAAAgtU1eEIAAMDnJzZ4QgAAgE16NnhCAABAs8w2eEIAAAAZHzd4QgAAwH5xN3hCAACA5MM3eEIAAEBKFjh4QgAAALBoOHhCAADAFbs4eEIAAIB7DTl4QgAAQOFfOXhCAAAAR7I5eEIAAMCsBDp4QgAAgBJXOnhCAABAeKk6eEIAAADe+zp4QgAAwENOO3hCAACAqaA7eEIAAEAP8zt4QgAAAHVFPHhCAADA2pc8eEIAAIBA6jx4QgAAQKY8PXhCAAAADI89eEIAAMBx4T14QgAAgNczPnhCAABAPYY+eEIAAACj2D54QgAAwAgrP3hCAACAbn0/eEIAAAA6IkB4QgAAwJ90QHhCAACABcdAeEIAAEBrGUF4QgAAANFrQXhCAADANr5BeEIAAICcEEJ4QgAAQAJjQnhCAAAAaLVCeEIAAMDNB0N4QgAAgDNaQ3hCAABAmaxDeEIAAAD//kN4QgAAwGRRRHhCAACAyqNEeEIAAEAw9kR4QgAAAJZIRXhCAADA+5pFeEIAAIBh7UV4QgAAQMc/RnhCAAAALZJGeEIAAMCS5EZ4QgAAgPg2R3hCAABAXolHeEIAAADE20d4QgAAwCkuSHhCAACAj4BIeEIAAED10kh4QgAAAFslSXhCAADAwHdJeEIAAIAmykl4QgAAQIwcSnhCAAAA8m5KeEIAAMBXwUp4QgAAQCNmS3hCAAAAibhLeEIAAMDuCkx4QgAAgFRdTHhCAABAuq9MeEIAAAAgAk14QgAAwIVUTXhCAABAUflNeEIAAAC3S054QgAAwByeTnhCAACAgvBOeEIAAEDoQk94QgAAAE6VT3hCAADAs+dPeEIAAIAZOlB4QgAAQH+MUHhCAAAA5d5QeEIAAMBKMVF4QgAAgLCDUXhCAABAFtZReEIAAAB8KFJ4QgAAwOF6UnhCAACAR81SeEIAAECtH1N4QgAAABNyU3hCAADAeMRTeEIAAIDeFlR4QgAAQERpVHhCAAAAqrtUeEIAAMAPDlV4QgAAgHVgVXhC\",\"dtype\":\"float64\",\"order\":\"little\",\"shape\":[186]},\"y\":{\"__ndarray__\":\"AAAAAAAAGEAAAAAAAAAUQAAAAAAAAAhAAAAAAAAACEAAAAAAAAAAQAAAAAAAADBAAAAAAAAAIkAAAAAAAAAUQAAAAAAAAABAAAAAAAAAHEAAAAAAAAAsQAAAAAAAAEVAAAAAAAAAOkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAM0AAAAAAAAAkQAAAAAAAABhAAAAAAAAALkAAAAAAAADwPwAAAAAAAC5AAAAAAAAAHEAAAAAAAAAoQAAAAAAAACBAAAAAAAAAIEAAAAAAAADwPwAAAAAAAAhAAAAAAAAAFEAAAAAAAAAYQAAAAAAAADBAAAAAAAAACEAAAAAAAAAmQAAAAAAAACJAAAAAAAAAFEAAAAAAAABAQAAAAAAAABhAAAAAAAAAO0AAAAAAAAAYQAAAAAAAACJAAAAAAAAAFEAAAAAAAABDQAAAAAAAADxAAAAAAAAAKkAAAAAAAAAqQAAAAAAAAAhAAAAAAAAAGEAAAAAAAAAQQAAAAAAAABRAAAAAAAAASUAAAAAAAAAkQAAAAAAAABxAAAAAAAAAHEAAAAAAAAAAQAAAAAAAADhAAAAAAACAQkAAAAAAAABCQAAAAAAAACpAAAAAAAAARUAAAAAAAAAAQAAAAAAAAPA/AAAAAAAAGEAAAAAAAAAmQAAAAAAAQFNAAAAAAAAAQ0AAAAAAAIBOQAAAAAAAACZAAAAAAAAAJEAAAAAAAABGQAAAAAAAQFBAAAAAAABAU0AAAAAAAIBRQAAAAAAAADJAAAAAAAAAAAAAAAAAAAAIQAAAAAAAACRAAAAAAAAAMUAAAAAAAAAUQAAAAAAAAENAAAAAAAAAOUAAAAAAAAAAQAAAAAAAABBAAAAAAAAAQEAAAAAAAABCQAAAAAAAADFAAAAAAAAALkAAAAAAAAAAQAAAAAAAAAhAAAAAAAAAHEAAAAAAAAAmQAAAAAAAADBAAAAAAACASEAAAAAAAAA9QAAAAAAAADFAAAAAAAAAEEAAAAAAAADwPwAAAAAAABxAAAAAAAAANEAAAAAAAAA3QAAAAAAAACpAAAAAAAAAKkAAAAAAAAAIQAAAAAAAAPA/AAAAAAAAFEAAAAAAAABJQAAAAAAAACJAAAAAAAAAOEAAAAAAAAA1QAAAAAAAAAAAAAAAAAAA8D8AAAAAAAAqQAAAAAAAACZAAAAAAAAAJkAAAAAAAABEQAAAAAAAACxAAAAAAAAAIEAAAAAAAAAUQAAAAAAAADBAAAAAAAAAKEAAAAAAAAAwQAAAAAAAACpAAAAAAAAA8D8AAAAAAAAAAAAAAAAAABRAAAAAAAAAO0AAAAAAAEBQQAAAAAAAADNAAAAAAAAASUAAAAAAAAAgQAAAAAAAADRAAAAAAAAAKkAAAAAAAABBQAAAAAAAAC5AAAAAAAAAOUAAAAAAAAAwQAAAAAAAAC5AAAAAAAAAFEAAAAAAAIBIQAAAAAAAAChAAAAAAAAAM0AAAAAAAAAwQAAAAAAAACRAAAAAAAAAKkAAAAAAAAAxQAAAAAAAADFAAAAAAAAANkAAAAAAAIBBQAAAAAAAgE1AAAAAAAAAJkAAAAAAAAAIQAAAAAAAAABAAAAAAAAAOUAAAAAAAAA1QAAAAAAAAC5AAAAAAAAALEAAAAAAAAAwQAAAAAAAAAhAAAAAAACAREAAAAAAAABAQAAAAAAAABxAAAAAAAAAOEAAAAAAAAA7QAAAAAAAACBAAAAAAAAAIEAAAAAAAAAxQAAAAAAAADRAAAAAAAAALEAAAAAAAAAmQAAAAAAAABBAAAAAAAAA8D8AAAAAAAAxQAAAAAAAADVAAAAAAAAAMUAAAAAAAAAQQAAAAAAAAFhAAAAAAAAANUAAAAAAAAAYQAAAAAAAAChAAAAAAAAAKEAAAAAAAAAkQAAAAAAAAC5AAAAAAAAAEEAAAAAAAAAiQAAAAAAAACBAAAAAAAAAAEAAAAAAAAAYQAAAAAAAAAhA\",\"dtype\":\"float64\",\"order\":\"little\",\"shape\":[186]}},\"selected\":{\"id\":\"1153\"},\"selection_policy\":{\"id\":\"1152\"}},\"id\":\"1139\",\"type\":\"ColumnDataSource\"},{\"attributes\":{},\"id\":\"1113\",\"type\":\"LinearScale\"},{\"attributes\":{\"line_alpha\":0.2,\"line_color\":\"#1f77b4\",\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"1142\",\"type\":\"Line\"},{\"attributes\":{\"line_alpha\":0.2,\"line_color\":\"#ff7f0e\",\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"1172\",\"type\":\"Line\"},{\"attributes\":{\"coordinates\":null,\"group\":null,\"text\":\"Daily views by RTD version\"},\"id\":\"1105\",\"type\":\"Title\"},{\"attributes\":{},\"id\":\"1127\",\"type\":\"ResetTool\"},{\"attributes\":{\"line_alpha\":0.1,\"line_color\":\"#ff7f0e\",\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"1171\",\"type\":\"Line\"},{\"attributes\":{\"coordinates\":null,\"group\":null,\"items\":[{\"id\":\"1168\"},{\"id\":\"1199\"}]},\"id\":\"1167\",\"type\":\"Legend\"},{\"attributes\":{\"mantissas\":[1,2,5],\"max_interval\":500.0,\"num_minor_ticks\":0},\"id\":\"1155\",\"type\":\"AdaptiveTicker\"},{\"attributes\":{\"line_color\":\"#ff7f0e\",\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"1170\",\"type\":\"Line\"},{\"attributes\":{\"callback\":null,\"formatters\":{\"@x\":\"datetime\"},\"tooltips\":[[\"Date\",\"@x{%Y-%m-%d}\"],[\"Views\",\"@y\"]]},\"id\":\"1137\",\"type\":\"HoverTool\"},{\"attributes\":{\"base\":60,\"mantissas\":[1,2,5,10,15,20,30],\"max_interval\":1800000.0,\"min_interval\":1000.0,\"num_minor_ticks\":0},\"id\":\"1156\",\"type\":\"AdaptiveTicker\"},{\"attributes\":{\"axis_label\":\"Daily page views\",\"coordinates\":null,\"formatter\":{\"id\":\"1147\"},\"group\":null,\"major_label_policy\":{\"id\":\"1148\"},\"ticker\":{\"id\":\"1120\"}},\"id\":\"1119\",\"type\":\"LinearAxis\"},{\"attributes\":{\"label\":{\"value\":\"latest\"},\"renderers\":[{\"id\":\"1173\"}]},\"id\":\"1199\",\"type\":\"LegendItem\"},{\"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\":\"1129\",\"type\":\"BoxAnnotation\"},{\"attributes\":{\"base\":24,\"mantissas\":[1,2,4,6,8,12],\"max_interval\":43200000.0,\"min_interval\":3600000.0,\"num_minor_ticks\":0},\"id\":\"1157\",\"type\":\"AdaptiveTicker\"},{\"attributes\":{},\"id\":\"1128\",\"type\":\"HelpTool\"},{\"attributes\":{},\"id\":\"1166\",\"type\":\"YearsTicker\"},{\"attributes\":{},\"id\":\"1184\",\"type\":\"UnionRenderers\"},{\"attributes\":{\"months\":[0,1,2,3,4,5,6,7,8,9,10,11]},\"id\":\"1162\",\"type\":\"MonthsTicker\"},{\"attributes\":{\"days\":[1,15]},\"id\":\"1161\",\"type\":\"DaysTicker\"},{\"attributes\":{\"num_minor_ticks\":5,\"tickers\":[{\"id\":\"1155\"},{\"id\":\"1156\"},{\"id\":\"1157\"},{\"id\":\"1158\"},{\"id\":\"1159\"},{\"id\":\"1160\"},{\"id\":\"1161\"},{\"id\":\"1162\"},{\"id\":\"1163\"},{\"id\":\"1164\"},{\"id\":\"1165\"},{\"id\":\"1166\"}]},\"id\":\"1116\",\"type\":\"DatetimeTicker\"},{\"attributes\":{\"days\":[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31]},\"id\":\"1158\",\"type\":\"DaysTicker\"},{\"attributes\":{},\"id\":\"1185\",\"type\":\"Selection\"},{\"attributes\":{},\"id\":\"1109\",\"type\":\"DataRange1d\"},{\"attributes\":{\"overlay\":{\"id\":\"1129\"}},\"id\":\"1125\",\"type\":\"BoxZoomTool\"},{\"attributes\":{\"days\":[1,4,7,10,13,16,19,22,25,28]},\"id\":\"1159\",\"type\":\"DaysTicker\"},{\"attributes\":{\"coordinates\":null,\"data_source\":{\"id\":\"1139\"},\"glyph\":{\"id\":\"1140\"},\"group\":null,\"hover_glyph\":null,\"muted_glyph\":{\"id\":\"1142\"},\"nonselection_glyph\":{\"id\":\"1141\"},\"view\":{\"id\":\"1144\"}},\"id\":\"1143\",\"type\":\"GlyphRenderer\"},{\"attributes\":{},\"id\":\"1150\",\"type\":\"DatetimeTickFormatter\"},{\"attributes\":{\"days\":[1,8,15,22]},\"id\":\"1160\",\"type\":\"DaysTicker\"},{\"attributes\":{\"line_color\":\"#1f77b4\",\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"1140\",\"type\":\"Line\"},{\"attributes\":{},\"id\":\"1126\",\"type\":\"SaveTool\"},{\"attributes\":{\"months\":[0,2,4,6,8,10]},\"id\":\"1163\",\"type\":\"MonthsTicker\"},{\"attributes\":{\"months\":[0,6]},\"id\":\"1165\",\"type\":\"MonthsTicker\"},{\"attributes\":{\"months\":[0,4,8]},\"id\":\"1164\",\"type\":\"MonthsTicker\"},{\"attributes\":{\"source\":{\"id\":\"1139\"}},\"id\":\"1144\",\"type\":\"CDSView\"},{\"attributes\":{\"label\":{\"value\":\"stable\"},\"renderers\":[{\"id\":\"1143\"}]},\"id\":\"1168\",\"type\":\"LegendItem\"},{\"attributes\":{\"line_alpha\":0.1,\"line_color\":\"#1f77b4\",\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"1141\",\"type\":\"Line\"},{\"attributes\":{},\"id\":\"1123\",\"type\":\"PanTool\"}],\"root_ids\":[\"1104\"]},\"title\":\"Bokeh Application\",\"version\":\"2.4.3\"}};\n", " const render_items = [{\"docid\":\"61ba8371-03e7-4a6f-9221-57213bddcaf4\",\"root_ids\":[\"1104\"],\"roots\":{\"1104\":\"b4c62d91-5c01-40f4-bf90-6c5c029fa097\"}}];\n", " 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": "1104" } }, "output_type": "display_data" } ], "source": [ "daily_views = df.pivot_table(values='Views', index='Date', columns='Version', aggfunc='sum')[['stable', 'latest']].fillna(0)\n", "\n", "p = figure(x_axis_type=\"datetime\", height=350, title=f\"Daily views by RTD version\")\n", "hover_tool = HoverTool(tooltips=[('Date', '@x{%Y-%m-%d}'), ('Views', '@y')],\n", " formatters={'@x': 'datetime'})\n", "hover_tool.point_policy = 'snap_to_data'\n", "p.add_tools(hover_tool)\n", "p.line(daily_views.index, daily_views['stable'], legend_label='stable')\n", "p.line(daily_views.index, daily_views['latest'], legend_label='latest', color='#ff7f0e')\n", "p.yaxis.axis_label = 'Daily page views'\n", "show(p)" ] }, { "cell_type": "code", "execution_count": 6, "id": "2413e533-b4fa-4b2b-b308-a4bd9a4254d0", "metadata": {}, "outputs": [], "source": [ "df2 = df.loc[df['Version'] == 'stable', :].copy()\n", "pathviews = df2.groupby('Path')['Views'].sum().reset_index()" ] }, { "cell_type": "code", "execution_count": 7, "id": "29f9acd5-f445-4aa9-a0c8-aa80b7af611d", "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 = {\"5f17e5aa-8b86-4347-bd6b-51a08455ce3e\":{\"defs\":[],\"roots\":{\"references\":[{\"attributes\":{\"below\":[{\"id\":\"1365\"}],\"center\":[{\"id\":\"1368\"},{\"id\":\"1371\"}],\"height\":400,\"left\":[{\"id\":\"1369\"}],\"renderers\":[{\"id\":\"1393\"}],\"title\":{\"id\":\"1355\"},\"toolbar\":{\"id\":\"1380\"},\"x_range\":{\"id\":\"1357\"},\"x_scale\":{\"id\":\"1361\"},\"y_range\":{\"id\":\"1359\"},\"y_scale\":{\"id\":\"1363\"}},\"id\":\"1354\",\"subtype\":\"Figure\",\"type\":\"Plot\"},{\"attributes\":{\"coordinates\":null,\"data_source\":{\"id\":\"1388\"},\"glyph\":{\"id\":\"1390\"},\"group\":null,\"hover_glyph\":null,\"muted_glyph\":{\"id\":\"1392\"},\"nonselection_glyph\":{\"id\":\"1391\"},\"view\":{\"id\":\"1394\"}},\"id\":\"1393\",\"type\":\"GlyphRenderer\"},{\"attributes\":{},\"id\":\"1431\",\"type\":\"CategoricalTickFormatter\"},{\"attributes\":{},\"id\":\"1370\",\"type\":\"CategoricalTicker\"},{\"attributes\":{},\"id\":\"1432\",\"type\":\"AllLabels\"},{\"attributes\":{},\"id\":\"1434\",\"type\":\"BasicTickFormatter\"},{\"attributes\":{\"coordinates\":null,\"formatter\":{\"id\":\"1431\"},\"group\":null,\"major_label_policy\":{\"id\":\"1432\"},\"ticker\":{\"id\":\"1370\"}},\"id\":\"1369\",\"type\":\"CategoricalAxis\"},{\"attributes\":{\"source\":{\"id\":\"1388\"}},\"id\":\"1394\",\"type\":\"CDSView\"},{\"attributes\":{},\"id\":\"1435\",\"type\":\"AllLabels\"},{\"attributes\":{},\"id\":\"1377\",\"type\":\"HelpTool\"},{\"attributes\":{\"overlay\":{\"id\":\"1378\"}},\"id\":\"1374\",\"type\":\"BoxZoomTool\"},{\"attributes\":{},\"id\":\"1363\",\"type\":\"CategoricalScale\"},{\"attributes\":{},\"id\":\"1357\",\"type\":\"DataRange1d\"},{\"attributes\":{\"coordinates\":null,\"group\":null,\"text\":\"Views by URL (Top 20, 2022-06-15 to 2022-12-28)\"},\"id\":\"1355\",\"type\":\"Title\"},{\"attributes\":{},\"id\":\"1361\",\"type\":\"LinearScale\"},{\"attributes\":{\"axis\":{\"id\":\"1369\"},\"coordinates\":null,\"dimension\":1,\"group\":null,\"ticker\":null},\"id\":\"1371\",\"type\":\"Grid\"},{\"attributes\":{\"factors\":[\"/index.html\",\"/api.html\",\"/generated/gallery/index.html\",\"/generated/gallery/clearsky-detection.html\",\"/generated/pvanalytics.metrics.performance_ratio_nrel.html\",\"/generated/gallery/zscore-outlier-detection.html\",\"/generated/gallery/clipping.html\",\"/generated/gallery/data-shifts.html\",\"/generated/gallery/tukey-outlier-detection.html\",\"/generated/pvanalytics.quality.outliers.tukey.html\",\"/generated/gallery/stale-data.html\",\"/generated/pvanalytics.features.shading.fixed.html\",\"/generated/pvanalytics.quality.irradiance.check_ghi_limits_qcrad.html\",\"/generated/gallery/data-completeness.html\",\"/generated/pvanalytics.features.clearsky.reno.html\",\"/whatsnew/index.html\",\"/generated/gallery/day-night-masking.html\",\"/generated/gallery/fixed-nrel.html\",\"/generated/pvanalytics.quality.outliers.zscore.html\",\"/generated/gallery/hampel-outlier-detection.html\"]},\"id\":\"1359\",\"type\":\"FactorRange\"},{\"attributes\":{\"tools\":[{\"id\":\"1372\"},{\"id\":\"1373\"},{\"id\":\"1374\"},{\"id\":\"1375\"},{\"id\":\"1376\"},{\"id\":\"1377\"},{\"id\":\"1379\"}]},\"id\":\"1380\",\"type\":\"Toolbar\"},{\"attributes\":{},\"id\":\"1436\",\"type\":\"UnionRenderers\"},{\"attributes\":{\"fill_color\":{\"value\":\"#1f77b4\"},\"height\":{\"value\":0.75},\"line_color\":{\"value\":\"white\"},\"right\":{\"field\":\"Views\"},\"y\":{\"field\":\"Path\"}},\"id\":\"1390\",\"type\":\"HBar\"},{\"attributes\":{},\"id\":\"1366\",\"type\":\"BasicTicker\"},{\"attributes\":{},\"id\":\"1437\",\"type\":\"Selection\"},{\"attributes\":{\"fill_alpha\":{\"value\":0.2},\"fill_color\":{\"value\":\"#1f77b4\"},\"hatch_alpha\":{\"value\":0.2},\"height\":{\"value\":0.75},\"line_alpha\":{\"value\":0.2},\"line_color\":{\"value\":\"white\"},\"right\":{\"field\":\"Views\"},\"y\":{\"field\":\"Path\"}},\"id\":\"1392\",\"type\":\"HBar\"},{\"attributes\":{\"axis_label\":\"Total page views\",\"coordinates\":null,\"formatter\":{\"id\":\"1434\"},\"group\":null,\"major_label_policy\":{\"id\":\"1435\"},\"ticker\":{\"id\":\"1366\"}},\"id\":\"1365\",\"type\":\"LinearAxis\"},{\"attributes\":{},\"id\":\"1372\",\"type\":\"PanTool\"},{\"attributes\":{\"data\":{\"Path\":[\"/index.html\",\"/api.html\",\"/generated/gallery/index.html\",\"/generated/gallery/clearsky-detection.html\",\"/generated/pvanalytics.metrics.performance_ratio_nrel.html\",\"/generated/gallery/zscore-outlier-detection.html\",\"/generated/gallery/clipping.html\",\"/generated/gallery/data-shifts.html\",\"/generated/gallery/tukey-outlier-detection.html\",\"/generated/pvanalytics.quality.outliers.tukey.html\",\"/generated/gallery/stale-data.html\",\"/generated/pvanalytics.features.shading.fixed.html\",\"/generated/pvanalytics.quality.irradiance.check_ghi_limits_qcrad.html\",\"/generated/gallery/data-completeness.html\",\"/generated/pvanalytics.features.clearsky.reno.html\",\"/whatsnew/index.html\",\"/generated/gallery/day-night-masking.html\",\"/generated/gallery/fixed-nrel.html\",\"/generated/pvanalytics.quality.outliers.zscore.html\",\"/generated/gallery/hampel-outlier-detection.html\"],\"Views\":[759,575,273,101,62,56,51,45,45,44,40,40,39,36,36,34,34,33,29,28],\"index\":[77,0,14,1,41,32,4,7,29,61,25,40,55,6,33,84,9,10,62,13]},\"selected\":{\"id\":\"1437\"},\"selection_policy\":{\"id\":\"1436\"}},\"id\":\"1388\",\"type\":\"ColumnDataSource\"},{\"attributes\":{},\"id\":\"1376\",\"type\":\"ResetTool\"},{\"attributes\":{},\"id\":\"1373\",\"type\":\"WheelZoomTool\"},{\"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\":\"1378\",\"type\":\"BoxAnnotation\"},{\"attributes\":{\"fill_alpha\":{\"value\":0.1},\"fill_color\":{\"value\":\"#1f77b4\"},\"hatch_alpha\":{\"value\":0.1},\"height\":{\"value\":0.75},\"line_alpha\":{\"value\":0.1},\"line_color\":{\"value\":\"white\"},\"right\":{\"field\":\"Views\"},\"y\":{\"field\":\"Path\"}},\"id\":\"1391\",\"type\":\"HBar\"},{\"attributes\":{\"axis\":{\"id\":\"1365\"},\"coordinates\":null,\"group\":null,\"ticker\":null},\"id\":\"1368\",\"type\":\"Grid\"},{\"attributes\":{\"callback\":null,\"tooltips\":[[\"URL\",\"@Path\"],[\"Views\",\"@Views\"]]},\"id\":\"1379\",\"type\":\"HoverTool\"},{\"attributes\":{},\"id\":\"1375\",\"type\":\"SaveTool\"}],\"root_ids\":[\"1354\"]},\"title\":\"Bokeh Application\",\"version\":\"2.4.3\"}};\n", " const render_items = [{\"docid\":\"5f17e5aa-8b86-4347-bd6b-51a08455ce3e\",\"root_ids\":[\"1354\"],\"roots\":{\"1354\":\"c5e6f9d7-ae81-4e6a-8da1-59a3f846035a\"}}];\n", " 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": "1354" } }, "output_type": "display_data" } ], "source": [ "n = 20\n", "subset = pathviews.sort_values('Views', ascending=False)[:n]\n", "p = figure(y_range=subset['Path'], height=400, tooltips=[(\"URL\", \"@Path\"), (\"Views\", \"@Views\")],\n", " title=f\"Views by URL (Top {n}, {data_period})\")\n", "p.hbar(y='Path', right='Views', source=subset, height=0.75,\n", " line_color='white')\n", "p.xaxis.axis_label = 'Total page views'\n", "show(p)" ] }, { "cell_type": "code", "execution_count": 8, "id": "b5d056f6-793c-4423-9598-c97349def706", "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 = {\"f8161248-9a86-4b76-bba6-3aa0147e8cd2\":{\"defs\":[],\"roots\":{\"references\":[{\"attributes\":{\"below\":[{\"id\":\"1500\"}],\"center\":[{\"id\":\"1502\"},{\"id\":\"1506\"}],\"height\":350,\"left\":[{\"id\":\"1503\"}],\"renderers\":[{\"id\":\"1528\"}],\"title\":{\"id\":\"1490\"},\"toolbar\":{\"id\":\"1515\"},\"x_range\":{\"id\":\"1492\"},\"x_scale\":{\"id\":\"1496\"},\"y_range\":{\"id\":\"1494\"},\"y_scale\":{\"id\":\"1498\"}},\"id\":\"1489\",\"subtype\":\"Figure\",\"type\":\"Plot\"},{\"attributes\":{},\"id\":\"1581\",\"type\":\"UnionRenderers\"},{\"attributes\":{\"axis_label\":\"Total page views\",\"coordinates\":null,\"formatter\":{\"id\":\"1576\"},\"group\":null,\"major_label_policy\":{\"id\":\"1577\"},\"ticker\":{\"id\":\"1504\"}},\"id\":\"1503\",\"type\":\"LinearAxis\"},{\"attributes\":{},\"id\":\"1577\",\"type\":\"AllLabels\"},{\"attributes\":{},\"id\":\"1508\",\"type\":\"WheelZoomTool\"},{\"attributes\":{},\"id\":\"1582\",\"type\":\"Selection\"},{\"attributes\":{},\"id\":\"1512\",\"type\":\"HelpTool\"},{\"attributes\":{},\"id\":\"1507\",\"type\":\"PanTool\"},{\"attributes\":{\"source\":{\"id\":\"1523\"}},\"id\":\"1529\",\"type\":\"CDSView\"},{\"attributes\":{\"factors\":[\"/generated\",\"/generated/gallery\"]},\"id\":\"1492\",\"type\":\"FactorRange\"},{\"attributes\":{},\"id\":\"1576\",\"type\":\"BasicTickFormatter\"},{\"attributes\":{\"data\":{\"Prefix\":[\"/generated\",\"/generated/gallery\"],\"Views\":[745,862],\"index\":[0,1]},\"selected\":{\"id\":\"1582\"},\"selection_policy\":{\"id\":\"1581\"}},\"id\":\"1523\",\"type\":\"ColumnDataSource\"},{\"attributes\":{},\"id\":\"1504\",\"type\":\"BasicTicker\"},{\"attributes\":{\"overlay\":{\"id\":\"1513\"}},\"id\":\"1509\",\"type\":\"BoxZoomTool\"},{\"attributes\":{},\"id\":\"1510\",\"type\":\"SaveTool\"},{\"attributes\":{},\"id\":\"1511\",\"type\":\"ResetTool\"},{\"attributes\":{\"coordinates\":null,\"data_source\":{\"id\":\"1523\"},\"glyph\":{\"id\":\"1525\"},\"group\":null,\"hover_glyph\":null,\"muted_glyph\":{\"id\":\"1527\"},\"nonselection_glyph\":{\"id\":\"1526\"},\"view\":{\"id\":\"1529\"}},\"id\":\"1528\",\"type\":\"GlyphRenderer\"},{\"attributes\":{\"bottom_units\":\"screen\",\"coordinates\":null,\"fill_alpha\":0.5,\"fill_color\":\"lightgrey\",\"group\":null,\"left_units\":\"screen\",\"level\":\"overlay\",\"line_alpha\":1.0,\"line_color\":\"black\",\"line_dash\":[4,4],\"line_width\":2,\"right_units\":\"screen\",\"syncable\":false,\"top_units\":\"screen\"},\"id\":\"1513\",\"type\":\"BoxAnnotation\"},{\"attributes\":{\"fill_alpha\":{\"value\":0.1},\"fill_color\":{\"value\":\"#1f77b4\"},\"hatch_alpha\":{\"value\":0.1},\"line_alpha\":{\"value\":0.1},\"line_color\":{\"value\":\"#1f77b4\"},\"top\":{\"field\":\"Views\"},\"width\":{\"value\":0.75},\"x\":{\"field\":\"Prefix\"}},\"id\":\"1526\",\"type\":\"VBar\"},{\"attributes\":{\"coordinates\":null,\"group\":null,\"text\":\"Page views by docs section (2022-06-15 to 2022-12-28)\"},\"id\":\"1490\",\"type\":\"Title\"},{\"attributes\":{\"fill_alpha\":{\"value\":0.2},\"fill_color\":{\"value\":\"#1f77b4\"},\"hatch_alpha\":{\"value\":0.2},\"line_alpha\":{\"value\":0.2},\"line_color\":{\"value\":\"#1f77b4\"},\"top\":{\"field\":\"Views\"},\"width\":{\"value\":0.75},\"x\":{\"field\":\"Prefix\"}},\"id\":\"1527\",\"type\":\"VBar\"},{\"attributes\":{},\"id\":\"1579\",\"type\":\"CategoricalTickFormatter\"},{\"attributes\":{\"fill_color\":{\"value\":\"#1f77b4\"},\"line_color\":{\"value\":\"#1f77b4\"},\"top\":{\"field\":\"Views\"},\"width\":{\"value\":0.75},\"x\":{\"field\":\"Prefix\"}},\"id\":\"1525\",\"type\":\"VBar\"},{\"attributes\":{\"coordinates\":null,\"formatter\":{\"id\":\"1579\"},\"group\":null,\"major_label_policy\":{\"id\":\"1580\"},\"ticker\":{\"id\":\"1501\"}},\"id\":\"1500\",\"type\":\"CategoricalAxis\"},{\"attributes\":{},\"id\":\"1580\",\"type\":\"AllLabels\"},{\"attributes\":{\"tools\":[{\"id\":\"1507\"},{\"id\":\"1508\"},{\"id\":\"1509\"},{\"id\":\"1510\"},{\"id\":\"1511\"},{\"id\":\"1512\"},{\"id\":\"1514\"}]},\"id\":\"1515\",\"type\":\"Toolbar\"},{\"attributes\":{\"axis\":{\"id\":\"1500\"},\"coordinates\":null,\"group\":null,\"ticker\":null},\"id\":\"1502\",\"type\":\"Grid\"},{\"attributes\":{\"callback\":null,\"tooltips\":[[\"Section\",\"@Prefix\"],[\"Views\",\"@Views\"]]},\"id\":\"1514\",\"type\":\"HoverTool\"},{\"attributes\":{},\"id\":\"1498\",\"type\":\"LinearScale\"},{\"attributes\":{},\"id\":\"1496\",\"type\":\"CategoricalScale\"},{\"attributes\":{},\"id\":\"1494\",\"type\":\"DataRange1d\"},{\"attributes\":{},\"id\":\"1501\",\"type\":\"CategoricalTicker\"},{\"attributes\":{\"axis\":{\"id\":\"1503\"},\"coordinates\":null,\"dimension\":1,\"group\":null,\"ticker\":null},\"id\":\"1506\",\"type\":\"Grid\"}],\"root_ids\":[\"1489\"]},\"title\":\"Bokeh Application\",\"version\":\"2.4.3\"}};\n", " const render_items = [{\"docid\":\"f8161248-9a86-4b76-bba6-3aa0147e8cd2\",\"root_ids\":[\"1489\"],\"roots\":{\"1489\":\"c83ab81c-a843-40af-9e9d-286cea73e92b\"}}];\n", " 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": "1489" } }, "output_type": "display_data" } ], "source": [ "prefixes = ['/generated', '/generated/gallery']\n", "pathviews['Prefix'] = pathviews['Path'].str.rsplit(\"/\", 1).str[0]\n", "groupviews = pathviews.loc[pathviews['Prefix'].isin(prefixes), :].groupby('Prefix')['Views'].sum().loc[prefixes].sort_values().reset_index()\n", "\n", "p = figure(x_range=groupviews['Prefix'], height=350, tooltips=[(\"Section\", \"@Prefix\"), (\"Views\", \"@Views\")],\n", " title=f\"Page views by docs section ({data_period})\")\n", "p.vbar(x='Prefix', top='Views', width=0.75, source=groupviews)\n", "p.yaxis.axis_label = 'Total page views'\n", "show(p)" ] }, { "cell_type": "code", "execution_count": 9, "id": "b9cd913d-b115-4212-880a-4d86dbe05d62", "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 = {\"8ba5ea0b-a9aa-4472-bcd5-5ba8a18475c2\":{\"defs\":[],\"roots\":{\"references\":[{\"attributes\":{\"below\":[{\"id\":\"1645\"}],\"center\":[{\"id\":\"1647\"},{\"id\":\"1651\"}],\"height\":350,\"left\":[{\"id\":\"1648\"}],\"renderers\":[{\"id\":\"1674\"}],\"title\":{\"id\":\"1635\"},\"toolbar\":{\"id\":\"1660\"},\"x_range\":{\"id\":\"1637\"},\"x_scale\":{\"id\":\"1641\"},\"y_range\":{\"id\":\"1639\"},\"y_scale\":{\"id\":\"1643\"}},\"id\":\"1634\",\"subtype\":\"Figure\",\"type\":\"Plot\"},{\"attributes\":{\"data\":{\"Path\":[\"/generated/gallery/clearsky-detection.html\",\"/generated/gallery/clearsky-limits-irradiance.html\",\"/generated/gallery/clipping.html\",\"/generated/gallery/daily-insolation-limits-irradiance.html\",\"/generated/gallery/data-completeness.html\",\"/generated/gallery/data-shifts.html\",\"/generated/gallery/day-night-masking.html\",\"/generated/gallery/fixed-nrel.html\",\"/generated/gallery/hampel-outlier-detection.html\",\"/generated/gallery/index.html\",\"/generated/gallery/interpolated-periods.html\",\"/generated/gallery/qcrad-consistency-irradiance.html\",\"/generated/gallery/qcrad-limits-irradiance.html\",\"/generated/gallery/stale-data.html\",\"/generated/gallery/tracking-nrel.html\",\"/generated/gallery/tukey-outlier-detection.html\",\"/generated/gallery/zscore-outlier-detection.html\",\"/generated/pvanalytics.features.clearsky.reno.html\",\"/generated/pvanalytics.features.clipping.geometric.html\",\"/generated/pvanalytics.features.clipping.levels.html\",\"/generated/pvanalytics.features.clipping.threshold.html\",\"/generated/pvanalytics.features.daytime.power_or_irradiance.html\",\"/generated/pvanalytics.features.orientation.fixed_nrel.html\",\"/generated/pvanalytics.features.orientation.tracking_nrel.html\",\"/generated/pvanalytics.features.shading.fixed.html\",\"/generated/pvanalytics.metrics.performance_ratio_nrel.html\",\"/generated/pvanalytics.metrics.variability_index.html\",\"/generated/pvanalytics.quality.data_shifts.detect_data_shifts.html\",\"/generated/pvanalytics.quality.data_shifts.get_longest_shift_segment_dates.html\",\"/generated/pvanalytics.quality.gaps.complete.html\",\"/generated/pvanalytics.quality.gaps.completeness_score.html\",\"/generated/pvanalytics.quality.gaps.interpolation_diff.html\",\"/generated/pvanalytics.quality.gaps.stale_values_diff.html\",\"/generated/pvanalytics.quality.gaps.stale_values_round.html\",\"/generated/pvanalytics.quality.gaps.start_stop_dates.html\",\"/generated/pvanalytics.quality.gaps.trim_incomplete.html\",\"/generated/pvanalytics.quality.irradiance.calculate_component_sum_series.html\",\"/generated/pvanalytics.quality.irradiance.check_dhi_limits_qcrad.html\",\"/generated/pvanalytics.quality.irradiance.check_dni_limits_qcrad.html\",\"/generated/pvanalytics.quality.irradiance.check_ghi_limits_qcrad.html\",\"/generated/pvanalytics.quality.irradiance.check_irradiance_consistency_qcrad.html\",\"/generated/pvanalytics.quality.irradiance.check_irradiance_limits_qcrad.html\",\"/generated/pvanalytics.quality.irradiance.clearsky_limits.html\",\"/generated/pvanalytics.quality.irradiance.daily_insolation_limits.html\",\"/generated/pvanalytics.quality.outliers.hampel.html\",\"/generated/pvanalytics.quality.outliers.tukey.html\",\"/generated/pvanalytics.quality.outliers.zscore.html\",\"/generated/pvanalytics.quality.time.has_dst.html\",\"/generated/pvanalytics.quality.time.shifts_ruptures.html\",\"/generated/pvanalytics.quality.time.spacing.html\",\"/generated/pvanalytics.quality.util.check_limits.html\",\"/generated/pvanalytics.quality.util.daily_min.html\",\"/generated/pvanalytics.quality.weather.module_temperature_check.html\",\"/generated/pvanalytics.quality.weather.relative_humidity_limits.html\",\"/generated/pvanalytics.quality.weather.temperature_limits.html\",\"/generated/pvanalytics.quality.weather.wind_limits.html\",\"/generated/pvanalytics.system.Tracker.html\",\"/generated/pvanalytics.system.infer_orientation_daily_peak.html\",\"/generated/pvanalytics.system.infer_orientation_fit_pvwatts.html\",\"/generated/pvanalytics.system.is_tracking_envelope.html\"],\"Prefix\":[\"/generated/gallery\",\"/generated/gallery\",\"/generated/gallery\",\"/generated/gallery\",\"/generated/gallery\",\"/generated/gallery\",\"/generated/gallery\",\"/generated/gallery\",\"/generated/gallery\",\"/generated/gallery\",\"/generated/gallery\",\"/generated/gallery\",\"/generated/gallery\",\"/generated/gallery\",\"/generated/gallery\",\"/generated/gallery\",\"/generated/gallery\",\"/generated\",\"/generated\",\"/generated\",\"/generated\",\"/generated\",\"/generated\",\"/generated\",\"/generated\",\"/generated\",\"/generated\",\"/generated\",\"/generated\",\"/generated\",\"/generated\",\"/generated\",\"/generated\",\"/generated\",\"/generated\",\"/generated\",\"/generated\",\"/generated\",\"/generated\",\"/generated\",\"/generated\",\"/generated\",\"/generated\",\"/generated\",\"/generated\",\"/generated\",\"/generated\",\"/generated\",\"/generated\",\"/generated\",\"/generated\",\"/generated\",\"/generated\",\"/generated\",\"/generated\",\"/generated\",\"/generated\",\"/generated\",\"/generated\",\"/generated\"],\"Views\":[101,18,51,14,36,45,34,33,28,273,27,18,20,40,23,45,56,36,18,20,19,25,14,10,40,62,23,18,5,8,20,25,19,6,2,6,1,8,8,39,21,27,25,9,24,44,29,4,7,5,8,5,11,10,11,8,10,23,18,14],\"index\":[1,3,4,5,6,7,9,10,13,14,15,23,24,25,28,29,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75]},\"selected\":{\"id\":\"1738\"},\"selection_policy\":{\"id\":\"1737\"}},\"id\":\"1669\",\"type\":\"ColumnDataSource\"},{\"attributes\":{\"source\":{\"id\":\"1669\"}},\"id\":\"1675\",\"type\":\"CDSView\"},{\"attributes\":{\"fill_color\":{\"value\":\"#1f77b4\"},\"line_color\":{\"value\":\"#1f77b4\"},\"x\":{\"field\":\"Prefix\",\"transform\":{\"id\":\"1668\"}},\"y\":{\"field\":\"Views\"}},\"id\":\"1671\",\"type\":\"Scatter\"},{\"attributes\":{},\"id\":\"1641\",\"type\":\"CategoricalScale\"},{\"attributes\":{\"coordinates\":null,\"data_source\":{\"id\":\"1669\"},\"glyph\":{\"id\":\"1671\"},\"group\":null,\"hover_glyph\":null,\"muted_glyph\":{\"id\":\"1673\"},\"nonselection_glyph\":{\"id\":\"1672\"},\"view\":{\"id\":\"1675\"}},\"id\":\"1674\",\"type\":\"GlyphRenderer\"},{\"attributes\":{},\"id\":\"1646\",\"type\":\"CategoricalTicker\"},{\"attributes\":{},\"id\":\"1732\",\"type\":\"BasicTickFormatter\"},{\"attributes\":{\"tools\":[{\"id\":\"1652\"},{\"id\":\"1653\"},{\"id\":\"1654\"},{\"id\":\"1655\"},{\"id\":\"1656\"},{\"id\":\"1657\"},{\"id\":\"1659\"}]},\"id\":\"1660\",\"type\":\"Toolbar\"},{\"attributes\":{},\"id\":\"1733\",\"type\":\"AllLabels\"},{\"attributes\":{\"factors\":[\"/generated\",\"/generated/gallery\"]},\"id\":\"1637\",\"type\":\"FactorRange\"},{\"attributes\":{\"coordinates\":null,\"formatter\":{\"id\":\"1735\"},\"group\":null,\"major_label_policy\":{\"id\":\"1736\"},\"ticker\":{\"id\":\"1646\"}},\"id\":\"1645\",\"type\":\"CategoricalAxis\"},{\"attributes\":{},\"id\":\"1735\",\"type\":\"CategoricalTickFormatter\"},{\"attributes\":{\"callback\":null,\"tooltips\":[[\"URL\",\"@Path\"],[\"Views\",\"@Views\"]]},\"id\":\"1659\",\"type\":\"HoverTool\"},{\"attributes\":{},\"id\":\"1653\",\"type\":\"WheelZoomTool\"},{\"attributes\":{},\"id\":\"1736\",\"type\":\"AllLabels\"},{\"attributes\":{},\"id\":\"1652\",\"type\":\"PanTool\"},{\"attributes\":{},\"id\":\"1657\",\"type\":\"HelpTool\"},{\"attributes\":{\"fill_alpha\":{\"value\":0.1},\"fill_color\":{\"value\":\"#1f77b4\"},\"hatch_alpha\":{\"value\":0.1},\"line_alpha\":{\"value\":0.1},\"line_color\":{\"value\":\"#1f77b4\"},\"x\":{\"field\":\"Prefix\",\"transform\":{\"id\":\"1668\"}},\"y\":{\"field\":\"Views\"}},\"id\":\"1672\",\"type\":\"Scatter\"},{\"attributes\":{\"overlay\":{\"id\":\"1658\"}},\"id\":\"1654\",\"type\":\"BoxZoomTool\"},{\"attributes\":{},\"id\":\"1655\",\"type\":\"SaveTool\"},{\"attributes\":{\"coordinates\":null,\"group\":null,\"text\":\"Page views by docs page (2022-06-15 to 2022-12-28)\"},\"id\":\"1635\",\"type\":\"Title\"},{\"attributes\":{\"axis\":{\"id\":\"1645\"},\"coordinates\":null,\"group\":null,\"ticker\":null},\"id\":\"1647\",\"type\":\"Grid\"},{\"attributes\":{\"axis_label\":\"Total page views\",\"coordinates\":null,\"formatter\":{\"id\":\"1732\"},\"group\":null,\"major_label_policy\":{\"id\":\"1733\"},\"ticker\":{\"id\":\"1649\"}},\"id\":\"1648\",\"type\":\"LinearAxis\"},{\"attributes\":{},\"id\":\"1737\",\"type\":\"UnionRenderers\"},{\"attributes\":{},\"id\":\"1656\",\"type\":\"ResetTool\"},{\"attributes\":{},\"id\":\"1738\",\"type\":\"Selection\"},{\"attributes\":{\"bottom_units\":\"screen\",\"coordinates\":null,\"fill_alpha\":0.5,\"fill_color\":\"lightgrey\",\"group\":null,\"left_units\":\"screen\",\"level\":\"overlay\",\"line_alpha\":1.0,\"line_color\":\"black\",\"line_dash\":[4,4],\"line_width\":2,\"right_units\":\"screen\",\"syncable\":false,\"top_units\":\"screen\"},\"id\":\"1658\",\"type\":\"BoxAnnotation\"},{\"attributes\":{},\"id\":\"1643\",\"type\":\"LinearScale\"},{\"attributes\":{\"distribution\":\"normal\",\"range\":{\"id\":\"1637\"},\"width\":0.1},\"id\":\"1668\",\"type\":\"Jitter\"},{\"attributes\":{\"axis\":{\"id\":\"1648\"},\"coordinates\":null,\"dimension\":1,\"group\":null,\"ticker\":null},\"id\":\"1651\",\"type\":\"Grid\"},{\"attributes\":{\"fill_alpha\":{\"value\":0.2},\"fill_color\":{\"value\":\"#1f77b4\"},\"hatch_alpha\":{\"value\":0.2},\"line_alpha\":{\"value\":0.2},\"line_color\":{\"value\":\"#1f77b4\"},\"x\":{\"field\":\"Prefix\",\"transform\":{\"id\":\"1668\"}},\"y\":{\"field\":\"Views\"}},\"id\":\"1673\",\"type\":\"Scatter\"},{\"attributes\":{},\"id\":\"1649\",\"type\":\"BasicTicker\"},{\"attributes\":{},\"id\":\"1639\",\"type\":\"DataRange1d\"}],\"root_ids\":[\"1634\"]},\"title\":\"Bokeh Application\",\"version\":\"2.4.3\"}};\n", " const render_items = [{\"docid\":\"8ba5ea0b-a9aa-4472-bcd5-5ba8a18475c2\",\"root_ids\":[\"1634\"],\"roots\":{\"1634\":\"83b4c130-581f-456e-a292-b133c44bc91d\"}}];\n", " 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": "1634" } }, "output_type": "display_data" } ], "source": [ "subset = pathviews.loc[pathviews['Prefix'].isin(prefixes), :]\n", "\n", "p = figure(x_range=prefixes, height=350, tooltips=[(\"URL\", \"@Path\"), (\"Views\", \"@Views\")],\n", " title=f\"Page views by docs page ({data_period})\")\n", "p.scatter(x=jitter('Prefix', width=0.1, range=p.x_range, distribution='normal'),\n", " y='Views', source=subset)\n", "p.yaxis.axis_label = 'Total page views'\n", "show(p)" ] }, { "cell_type": "code", "execution_count": 10, "id": "a3ef457c-5c98-4250-9507-bff27d257b69", "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 = {\"3c882372-fb13-4f39-a277-9308461e35e5\":{\"defs\":[],\"roots\":{\"references\":[{\"attributes\":{\"below\":[{\"id\":\"1801\"}],\"center\":[{\"id\":\"1804\"},{\"id\":\"1807\"}],\"height\":400,\"left\":[{\"id\":\"1805\"}],\"renderers\":[{\"id\":\"1829\"}],\"title\":{\"id\":\"1791\"},\"toolbar\":{\"id\":\"1816\"},\"width\":750,\"x_range\":{\"id\":\"1793\"},\"x_scale\":{\"id\":\"1797\"},\"y_range\":{\"id\":\"1795\"},\"y_scale\":{\"id\":\"1799\"}},\"id\":\"1790\",\"subtype\":\"Figure\",\"type\":\"Plot\"},{\"attributes\":{},\"id\":\"1900\",\"type\":\"BasicTickFormatter\"},{\"attributes\":{},\"id\":\"1797\",\"type\":\"LinearScale\"},{\"attributes\":{\"axis\":{\"id\":\"1801\"},\"coordinates\":null,\"group\":null,\"ticker\":null},\"id\":\"1804\",\"type\":\"Grid\"},{\"attributes\":{},\"id\":\"1897\",\"type\":\"CategoricalTickFormatter\"},{\"attributes\":{},\"id\":\"1802\",\"type\":\"BasicTicker\"},{\"attributes\":{\"coordinates\":null,\"formatter\":{\"id\":\"1897\"},\"group\":null,\"major_label_policy\":{\"id\":\"1898\"},\"ticker\":{\"id\":\"1806\"}},\"id\":\"1805\",\"type\":\"CategoricalAxis\"},{\"attributes\":{\"coordinates\":null,\"group\":null,\"text\":\"/generated: Views by URL (Top 20, 2022-06-15 to 2022-12-28)\"},\"id\":\"1791\",\"type\":\"Title\"},{\"attributes\":{\"data\":{\"Path\":[\"/generated/pvanalytics.metrics.performance_ratio_nrel.html\",\"/generated/pvanalytics.quality.outliers.tukey.html\",\"/generated/pvanalytics.features.shading.fixed.html\",\"/generated/pvanalytics.quality.irradiance.check_ghi_limits_qcrad.html\",\"/generated/pvanalytics.features.clearsky.reno.html\",\"/generated/pvanalytics.quality.outliers.zscore.html\",\"/generated/pvanalytics.quality.irradiance.check_irradiance_limits_qcrad.html\",\"/generated/pvanalytics.features.daytime.power_or_irradiance.html\",\"/generated/pvanalytics.quality.gaps.interpolation_diff.html\",\"/generated/pvanalytics.quality.irradiance.clearsky_limits.html\",\"/generated/pvanalytics.quality.outliers.hampel.html\",\"/generated/pvanalytics.system.infer_orientation_daily_peak.html\",\"/generated/pvanalytics.metrics.variability_index.html\",\"/generated/pvanalytics.quality.irradiance.check_irradiance_consistency_qcrad.html\",\"/generated/pvanalytics.features.clipping.levels.html\",\"/generated/pvanalytics.quality.gaps.completeness_score.html\",\"/generated/pvanalytics.features.clipping.threshold.html\",\"/generated/pvanalytics.quality.gaps.stale_values_diff.html\",\"/generated/pvanalytics.system.infer_orientation_fit_pvwatts.html\",\"/generated/pvanalytics.features.clipping.geometric.html\"],\"Path_Clean\":[\"pvanalytics.metrics.performance_ratio_nrel.html\",\"pvanalytics.quality.outliers.tukey.html\",\"pvanalytics.features.shading.fixed.html\",\"pvanalytics.quality.irradiance.check_ghi_limits_qcrad.html\",\"pvanalytics.features.clearsky.reno.html\",\"pvanalytics.quality.outliers.zscore.html\",\"pvanalytics.quality.irradiance.check_irradiance_limits_qcrad.html\",\"pvanalytics.features.daytime.power_or_irradiance.html\",\"pvanalytics.quality.gaps.interpolation_diff.html\",\"pvanalytics.quality.irradiance.clearsky_limits.html\",\"pvanalytics.quality.outliers.hampel.html\",\"pvanalytics.system.infer_orientation_daily_peak.html\",\"pvanalytics.metrics.variability_index.html\",\"pvanalytics.quality.irradiance.check_irradiance_consistency_qcrad.html\",\"pvanalytics.features.clipping.levels.html\",\"pvanalytics.quality.gaps.completeness_score.html\",\"pvanalytics.features.clipping.threshold.html\",\"pvanalytics.quality.gaps.stale_values_diff.html\",\"pvanalytics.system.infer_orientation_fit_pvwatts.html\",\"pvanalytics.features.clipping.geometric.html\"],\"Prefix\":[\"/generated\",\"/generated\",\"/generated\",\"/generated\",\"/generated\",\"/generated\",\"/generated\",\"/generated\",\"/generated\",\"/generated\",\"/generated\",\"/generated\",\"/generated\",\"/generated\",\"/generated\",\"/generated\",\"/generated\",\"/generated\",\"/generated\",\"/generated\"],\"Views\":[62,44,40,39,36,29,27,25,25,25,24,23,23,21,20,20,19,19,18,18],\"index\":[41,61,40,55,33,62,57,37,47,58,60,73,42,56,35,46,36,48,74,34]},\"selected\":{\"id\":\"1903\"},\"selection_policy\":{\"id\":\"1902\"}},\"id\":\"1824\",\"type\":\"ColumnDataSource\"},{\"attributes\":{},\"id\":\"1813\",\"type\":\"HelpTool\"},{\"attributes\":{},\"id\":\"1903\",\"type\":\"Selection\"},{\"attributes\":{\"tools\":[{\"id\":\"1808\"},{\"id\":\"1809\"},{\"id\":\"1810\"},{\"id\":\"1811\"},{\"id\":\"1812\"},{\"id\":\"1813\"},{\"id\":\"1815\"}]},\"id\":\"1816\",\"type\":\"Toolbar\"},{\"attributes\":{},\"id\":\"1799\",\"type\":\"CategoricalScale\"},{\"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\":\"1814\",\"type\":\"BoxAnnotation\"},{\"attributes\":{\"fill_alpha\":{\"value\":0.1},\"fill_color\":{\"value\":\"#1f77b4\"},\"hatch_alpha\":{\"value\":0.1},\"height\":{\"value\":0.75},\"line_alpha\":{\"value\":0.1},\"line_color\":{\"value\":\"white\"},\"right\":{\"field\":\"Views\"},\"y\":{\"field\":\"Path_Clean\"}},\"id\":\"1827\",\"type\":\"HBar\"},{\"attributes\":{\"fill_alpha\":{\"value\":0.2},\"fill_color\":{\"value\":\"#1f77b4\"},\"hatch_alpha\":{\"value\":0.2},\"height\":{\"value\":0.75},\"line_alpha\":{\"value\":0.2},\"line_color\":{\"value\":\"white\"},\"right\":{\"field\":\"Views\"},\"y\":{\"field\":\"Path_Clean\"}},\"id\":\"1828\",\"type\":\"HBar\"},{\"attributes\":{},\"id\":\"1812\",\"type\":\"ResetTool\"},{\"attributes\":{},\"id\":\"1811\",\"type\":\"SaveTool\"},{\"attributes\":{},\"id\":\"1902\",\"type\":\"UnionRenderers\"},{\"attributes\":{\"overlay\":{\"id\":\"1814\"}},\"id\":\"1810\",\"type\":\"BoxZoomTool\"},{\"attributes\":{},\"id\":\"1898\",\"type\":\"AllLabels\"},{\"attributes\":{},\"id\":\"1808\",\"type\":\"PanTool\"},{\"attributes\":{\"coordinates\":null,\"data_source\":{\"id\":\"1824\"},\"glyph\":{\"id\":\"1826\"},\"group\":null,\"hover_glyph\":null,\"muted_glyph\":{\"id\":\"1828\"},\"nonselection_glyph\":{\"id\":\"1827\"},\"view\":{\"id\":\"1830\"}},\"id\":\"1829\",\"type\":\"GlyphRenderer\"},{\"attributes\":{},\"id\":\"1809\",\"type\":\"WheelZoomTool\"},{\"attributes\":{},\"id\":\"1806\",\"type\":\"CategoricalTicker\"},{\"attributes\":{},\"id\":\"1901\",\"type\":\"AllLabels\"},{\"attributes\":{\"axis_label\":\"Total page views\",\"coordinates\":null,\"formatter\":{\"id\":\"1900\"},\"group\":null,\"major_label_policy\":{\"id\":\"1901\"},\"ticker\":{\"id\":\"1802\"}},\"id\":\"1801\",\"type\":\"LinearAxis\"},{\"attributes\":{\"axis\":{\"id\":\"1805\"},\"coordinates\":null,\"dimension\":1,\"group\":null,\"ticker\":null},\"id\":\"1807\",\"type\":\"Grid\"},{\"attributes\":{\"callback\":null,\"tooltips\":[[\"URL\",\"@Path\"],[\"Views\",\"@Views\"]]},\"id\":\"1815\",\"type\":\"HoverTool\"},{\"attributes\":{\"fill_color\":{\"value\":\"#1f77b4\"},\"height\":{\"value\":0.75},\"line_color\":{\"value\":\"white\"},\"right\":{\"field\":\"Views\"},\"y\":{\"field\":\"Path_Clean\"}},\"id\":\"1826\",\"type\":\"HBar\"},{\"attributes\":{\"factors\":[\"pvanalytics.metrics.performance_ratio_nrel.html\",\"pvanalytics.quality.outliers.tukey.html\",\"pvanalytics.features.shading.fixed.html\",\"pvanalytics.quality.irradiance.check_ghi_limits_qcrad.html\",\"pvanalytics.features.clearsky.reno.html\",\"pvanalytics.quality.outliers.zscore.html\",\"pvanalytics.quality.irradiance.check_irradiance_limits_qcrad.html\",\"pvanalytics.features.daytime.power_or_irradiance.html\",\"pvanalytics.quality.gaps.interpolation_diff.html\",\"pvanalytics.quality.irradiance.clearsky_limits.html\",\"pvanalytics.quality.outliers.hampel.html\",\"pvanalytics.system.infer_orientation_daily_peak.html\",\"pvanalytics.metrics.variability_index.html\",\"pvanalytics.quality.irradiance.check_irradiance_consistency_qcrad.html\",\"pvanalytics.features.clipping.levels.html\",\"pvanalytics.quality.gaps.completeness_score.html\",\"pvanalytics.features.clipping.threshold.html\",\"pvanalytics.quality.gaps.stale_values_diff.html\",\"pvanalytics.system.infer_orientation_fit_pvwatts.html\",\"pvanalytics.features.clipping.geometric.html\"]},\"id\":\"1795\",\"type\":\"FactorRange\"},{\"attributes\":{\"source\":{\"id\":\"1824\"}},\"id\":\"1830\",\"type\":\"CDSView\"},{\"attributes\":{},\"id\":\"1793\",\"type\":\"DataRange1d\"}],\"root_ids\":[\"1790\"]},\"title\":\"Bokeh Application\",\"version\":\"2.4.3\"}};\n", " const render_items = [{\"docid\":\"3c882372-fb13-4f39-a277-9308461e35e5\",\"root_ids\":[\"1790\"],\"roots\":{\"1790\":\"a4fc73b7-8ac3-4750-b8ed-96e771b437f2\"}}];\n", " 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": "1790" } }, "output_type": "display_data" }, { "data": { "text/html": [ "\n", "
\n" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "application/javascript": [ "(function(root) {\n", " function embed_document(root) {\n", " const docs_json = {\"2b908ccf-af70-48bb-a9a8-3453b08f3ec7\":{\"defs\":[],\"roots\":{\"references\":[{\"attributes\":{\"below\":[{\"id\":\"1966\"}],\"center\":[{\"id\":\"1969\"},{\"id\":\"1972\"}],\"height\":320,\"left\":[{\"id\":\"1970\"}],\"renderers\":[{\"id\":\"1994\"}],\"title\":{\"id\":\"1956\"},\"toolbar\":{\"id\":\"1981\"},\"width\":750,\"x_range\":{\"id\":\"1958\"},\"x_scale\":{\"id\":\"1962\"},\"y_range\":{\"id\":\"1960\"},\"y_scale\":{\"id\":\"1964\"}},\"id\":\"1955\",\"subtype\":\"Figure\",\"type\":\"Plot\"},{\"attributes\":{\"factors\":[\"clearsky-detection.html\",\"zscore-outlier-detection.html\",\"clipping.html\",\"data-shifts.html\",\"tukey-outlier-detection.html\",\"stale-data.html\",\"data-completeness.html\",\"day-night-masking.html\",\"fixed-nrel.html\",\"hampel-outlier-detection.html\",\"interpolated-periods.html\",\"tracking-nrel.html\",\"qcrad-limits-irradiance.html\",\"clearsky-limits-irradiance.html\",\"qcrad-consistency-irradiance.html\",\"daily-insolation-limits-irradiance.html\"]},\"id\":\"1960\",\"type\":\"FactorRange\"},{\"attributes\":{\"coordinates\":null,\"formatter\":{\"id\":\"2072\"},\"group\":null,\"major_label_policy\":{\"id\":\"2073\"},\"ticker\":{\"id\":\"1971\"}},\"id\":\"1970\",\"type\":\"CategoricalAxis\"},{\"attributes\":{\"axis\":{\"id\":\"1966\"},\"coordinates\":null,\"group\":null,\"ticker\":null},\"id\":\"1969\",\"type\":\"Grid\"},{\"attributes\":{},\"id\":\"1962\",\"type\":\"LinearScale\"},{\"attributes\":{\"fill_alpha\":{\"value\":0.1},\"fill_color\":{\"value\":\"#1f77b4\"},\"hatch_alpha\":{\"value\":0.1},\"height\":{\"value\":0.75},\"line_alpha\":{\"value\":0.1},\"line_color\":{\"value\":\"white\"},\"right\":{\"field\":\"Views\"},\"y\":{\"field\":\"Path_Clean\"}},\"id\":\"1992\",\"type\":\"HBar\"},{\"attributes\":{},\"id\":\"1978\",\"type\":\"HelpTool\"},{\"attributes\":{},\"id\":\"1964\",\"type\":\"CategoricalScale\"},{\"attributes\":{\"callback\":null,\"tooltips\":[[\"URL\",\"@Path\"],[\"Views\",\"@Views\"]]},\"id\":\"1980\",\"type\":\"HoverTool\"},{\"attributes\":{\"axis\":{\"id\":\"1970\"},\"coordinates\":null,\"dimension\":1,\"group\":null,\"ticker\":null},\"id\":\"1972\",\"type\":\"Grid\"},{\"attributes\":{},\"id\":\"1971\",\"type\":\"CategoricalTicker\"},{\"attributes\":{},\"id\":\"2077\",\"type\":\"UnionRenderers\"},{\"attributes\":{\"tools\":[{\"id\":\"1973\"},{\"id\":\"1974\"},{\"id\":\"1975\"},{\"id\":\"1976\"},{\"id\":\"1977\"},{\"id\":\"1978\"},{\"id\":\"1980\"}]},\"id\":\"1981\",\"type\":\"Toolbar\"},{\"attributes\":{\"coordinates\":null,\"group\":null,\"text\":\"/generated/gallery: Views by URL (2022-06-15 to 2022-12-28)\"},\"id\":\"1956\",\"type\":\"Title\"},{\"attributes\":{},\"id\":\"1974\",\"type\":\"WheelZoomTool\"},{\"attributes\":{},\"id\":\"2078\",\"type\":\"Selection\"},{\"attributes\":{},\"id\":\"1973\",\"type\":\"PanTool\"},{\"attributes\":{\"overlay\":{\"id\":\"1979\"}},\"id\":\"1975\",\"type\":\"BoxZoomTool\"},{\"attributes\":{},\"id\":\"1976\",\"type\":\"SaveTool\"},{\"attributes\":{\"axis_label\":\"Total page views\",\"coordinates\":null,\"formatter\":{\"id\":\"2075\"},\"group\":null,\"major_label_policy\":{\"id\":\"2076\"},\"ticker\":{\"id\":\"1967\"}},\"id\":\"1966\",\"type\":\"LinearAxis\"},{\"attributes\":{},\"id\":\"1977\",\"type\":\"ResetTool\"},{\"attributes\":{},\"id\":\"2076\",\"type\":\"AllLabels\"},{\"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\":\"1979\",\"type\":\"BoxAnnotation\"},{\"attributes\":{\"fill_alpha\":{\"value\":0.2},\"fill_color\":{\"value\":\"#1f77b4\"},\"hatch_alpha\":{\"value\":0.2},\"height\":{\"value\":0.75},\"line_alpha\":{\"value\":0.2},\"line_color\":{\"value\":\"white\"},\"right\":{\"field\":\"Views\"},\"y\":{\"field\":\"Path_Clean\"}},\"id\":\"1993\",\"type\":\"HBar\"},{\"attributes\":{\"coordinates\":null,\"data_source\":{\"id\":\"1989\"},\"glyph\":{\"id\":\"1991\"},\"group\":null,\"hover_glyph\":null,\"muted_glyph\":{\"id\":\"1993\"},\"nonselection_glyph\":{\"id\":\"1992\"},\"view\":{\"id\":\"1995\"}},\"id\":\"1994\",\"type\":\"GlyphRenderer\"},{\"attributes\":{\"data\":{\"Path\":[\"/generated/gallery/clearsky-detection.html\",\"/generated/gallery/zscore-outlier-detection.html\",\"/generated/gallery/clipping.html\",\"/generated/gallery/data-shifts.html\",\"/generated/gallery/tukey-outlier-detection.html\",\"/generated/gallery/stale-data.html\",\"/generated/gallery/data-completeness.html\",\"/generated/gallery/day-night-masking.html\",\"/generated/gallery/fixed-nrel.html\",\"/generated/gallery/hampel-outlier-detection.html\",\"/generated/gallery/interpolated-periods.html\",\"/generated/gallery/tracking-nrel.html\",\"/generated/gallery/qcrad-limits-irradiance.html\",\"/generated/gallery/clearsky-limits-irradiance.html\",\"/generated/gallery/qcrad-consistency-irradiance.html\",\"/generated/gallery/daily-insolation-limits-irradiance.html\"],\"Path_Clean\":[\"clearsky-detection.html\",\"zscore-outlier-detection.html\",\"clipping.html\",\"data-shifts.html\",\"tukey-outlier-detection.html\",\"stale-data.html\",\"data-completeness.html\",\"day-night-masking.html\",\"fixed-nrel.html\",\"hampel-outlier-detection.html\",\"interpolated-periods.html\",\"tracking-nrel.html\",\"qcrad-limits-irradiance.html\",\"clearsky-limits-irradiance.html\",\"qcrad-consistency-irradiance.html\",\"daily-insolation-limits-irradiance.html\"],\"Prefix\":[\"/generated/gallery\",\"/generated/gallery\",\"/generated/gallery\",\"/generated/gallery\",\"/generated/gallery\",\"/generated/gallery\",\"/generated/gallery\",\"/generated/gallery\",\"/generated/gallery\",\"/generated/gallery\",\"/generated/gallery\",\"/generated/gallery\",\"/generated/gallery\",\"/generated/gallery\",\"/generated/gallery\",\"/generated/gallery\"],\"Views\":[101,56,51,45,45,40,36,34,33,28,27,23,20,18,18,14],\"index\":[1,32,4,7,29,25,6,9,10,13,15,28,24,3,23,5]},\"selected\":{\"id\":\"2078\"},\"selection_policy\":{\"id\":\"2077\"}},\"id\":\"1989\",\"type\":\"ColumnDataSource\"},{\"attributes\":{},\"id\":\"2073\",\"type\":\"AllLabels\"},{\"attributes\":{},\"id\":\"1967\",\"type\":\"BasicTicker\"},{\"attributes\":{},\"id\":\"2075\",\"type\":\"BasicTickFormatter\"},{\"attributes\":{},\"id\":\"1958\",\"type\":\"DataRange1d\"},{\"attributes\":{},\"id\":\"2072\",\"type\":\"CategoricalTickFormatter\"},{\"attributes\":{\"fill_color\":{\"value\":\"#1f77b4\"},\"height\":{\"value\":0.75},\"line_color\":{\"value\":\"white\"},\"right\":{\"field\":\"Views\"},\"y\":{\"field\":\"Path_Clean\"}},\"id\":\"1991\",\"type\":\"HBar\"},{\"attributes\":{\"source\":{\"id\":\"1989\"}},\"id\":\"1995\",\"type\":\"CDSView\"}],\"root_ids\":[\"1955\"]},\"title\":\"Bokeh Application\",\"version\":\"2.4.3\"}};\n", " const render_items = [{\"docid\":\"2b908ccf-af70-48bb-a9a8-3453b08f3ec7\",\"root_ids\":[\"1955\"],\"roots\":{\"1955\":\"d98b248c-1d25-49cc-8cd9-99ac9d0ff81e\"}}];\n", " 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": "1955" } }, "output_type": "display_data" } ], "source": [ "for prefix in prefixes:\n", " subset = pathviews.loc[pathviews['Prefix'] == prefix, :]\n", " subset = subset.loc[~subset['Path'].str.endswith('/index.html'), :]\n", " subset = subset.sort_values('Views', ascending=False)[:n]\n", " subset['Path_Clean'] = subset['Path'].str.replace('^'+prefix+'/', '', regex=True)\n", "\n", " height = (400 // 20) * len(subset)\n", " extra = f\"Top {n}, \" if len(subset) == n else ''\n", " p = figure(y_range=subset['Path_Clean'], width=750, height=height, tooltips=[(\"URL\", \"@Path\"), (\"Views\", \"@Views\")],\n", " title=f\"{prefix}: Views by URL ({extra}{data_period})\")\n", " p.hbar(y='Path_Clean', right='Views', source=subset, height=0.75,\n", " line_color='white')\n", " p.xaxis.axis_label = 'Total page views'\n", " show(p)" ] }, { "cell_type": "code", "execution_count": 11, "id": "5451b58c-6550-41c1-849d-afb5bc1260a1", "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 = {\"03b37980-ada1-4761-9950-c1336664d3f3\":{\"defs\":[],\"roots\":{\"references\":[{\"attributes\":{\"below\":[{\"id\":\"2141\"}],\"center\":[{\"id\":\"2144\"},{\"id\":\"2148\"},{\"id\":\"2181\"}],\"height\":350,\"left\":[{\"id\":\"2145\"}],\"renderers\":[{\"id\":\"2169\"},{\"id\":\"2187\"},{\"id\":\"2206\"}],\"title\":{\"id\":\"2131\"},\"toolbar\":{\"id\":\"2156\"},\"x_range\":{\"id\":\"2133\"},\"x_scale\":{\"id\":\"2137\"},\"y_range\":{\"id\":\"2135\"},\"y_scale\":{\"id\":\"2139\"}},\"id\":\"2130\",\"subtype\":\"Figure\",\"type\":\"Plot\"},{\"attributes\":{\"coordinates\":null,\"group\":null,\"items\":[{\"id\":\"2182\"},{\"id\":\"2201\"},{\"id\":\"2222\"}],\"location\":\"top_left\"},\"id\":\"2181\",\"type\":\"Legend\"},{\"attributes\":{\"line_alpha\":0.2,\"line_color\":\"#1f77b4\",\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"2168\",\"type\":\"Line\"},{\"attributes\":{\"coordinates\":null,\"data_source\":{\"id\":\"2165\"},\"glyph\":{\"id\":\"2166\"},\"group\":null,\"hover_glyph\":null,\"muted_glyph\":{\"id\":\"2168\"},\"nonselection_glyph\":{\"id\":\"2167\"},\"view\":{\"id\":\"2170\"}},\"id\":\"2169\",\"type\":\"GlyphRenderer\"},{\"attributes\":{},\"id\":\"2154\",\"type\":\"HelpTool\"},{\"attributes\":{},\"id\":\"2179\",\"type\":\"Selection\"},{\"attributes\":{},\"id\":\"2153\",\"type\":\"ResetTool\"},{\"attributes\":{\"label\":{\"value\":\"v0.1.1 (partial)\"},\"renderers\":[{\"id\":\"2169\"}]},\"id\":\"2182\",\"type\":\"LegendItem\"},{\"attributes\":{\"source\":{\"id\":\"2165\"}},\"id\":\"2170\",\"type\":\"CDSView\"},{\"attributes\":{},\"id\":\"2149\",\"type\":\"PanTool\"},{\"attributes\":{\"data\":{\"x\":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,52,53,54,55,56,57,58,59,60,61,62,63,64,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,101,102,103,104,105,106,107,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,156,157,158,159,160,161,162,163,164,165,166,167,168,170,171,172,173,174,175,176,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,233,234,235,236,237,238,239,240,241,242,243,244,245,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,282,283,284,285,286,287,288,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313],\"y\":{\"__ndarray__\":\"AAAAAAAAKkAAAAAAAIBLQAAAAAAAgExAAAAAAAAATUAAAAAAAABQQAAAAAAAwFJAAAAAAAAAY0AAAAAAAMBnQAAAAAAAYG9AAAAAAABgcEAAAAAAAABxQAAAAAAAwHNAAAAAAADQd0AAAAAAAKB8QAAAAAAAgIBAAAAAAAAQgUAAAAAAACiBQAAAAAAAeIFAAAAAAAAAgkAAAAAAACiCQAAAAAAAWINAAAAAAAAghEAAAAAAADCEQAAAAAAAUIRAAAAAAABQhUAAAAAAAHCGQAAAAAAA+IZAAAAAAABwh0AAAAAAAICHQAAAAAAAmIdAAAAAAADQh0AAAAAAACiIQAAAAAAAqIhAAAAAAAAwikAAAAAAABiLQAAAAAAAoItAAAAAAADAi0AAAAAAAMiLQAAAAAAAAIxAAAAAAACgjEAAAAAAAFiNQAAAAAAAwI1AAAAAAAAojkAAAAAAAECOQAAAAAAASI5AAAAAAABwjkAAAAAAAACQQAAAAAAAJJBAAAAAAACEkEAAAAAAANiQQAAAAAAA3JBAAAAAAAAQkUAAAAAAADyRQAAAAAAAaJFAAAAAAAAIkkAAAAAAAECSQAAAAAAAYJJAAAAAAAB0kkAAAAAAALSSQAAAAAAA5JJAAAAAAAAkk0AAAAAAAFiTQAAAAAAAXJNAAAAAAABwk0AAAAAAANyTQAAAAAAA4JRAAAAAAAAslUAAAAAAAPSVQAAAAAAAFJZAAAAAAABklkAAAAAAAJiWQAAAAAAAIJdAAAAAAABcl0AAAAAAAMCXQAAAAAAAAJhAAAAAAAA8mEAAAAAAAFCYQAAAAAAAFJlAAAAAAABEmUAAAAAAAJCZQAAAAAAA0JlAAAAAAAD4mUAAAAAAACyaQAAAAAAAcJpAAAAAAAC0mkAAAAAAAAybQAAAAAAAmJtAAAAAAACEnEAAAAAAALCcQAAAAAAAvJxAAAAAAADEnEAAAAAAACidQAAAAAAAfJ1AAAAAAAC4nUAAAAAAAPCdQAAAAAAAMJ5AAAAAAAA8nkAAAAAAAOCeQAAAAAAAYJ9AAAAAAAB8n0AAAAAAANyfQAAAAAAAJKBAAAAAAAA0oEAAAAAAAESgQAAAAAAAZqBAAAAAAACOoEAAAAAAAKqgQAAAAAAAwKBAAAAAAADIoEAAAAAAAMqgQAAAAAAA7KBAAAAAAAAWoUAAAAAAADihQAAAAAAAQKFAAAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8=\",\"dtype\":\"float64\",\"order\":\"little\",\"shape\":[295]}},\"selected\":{\"id\":\"2199\"},\"selection_policy\":{\"id\":\"2198\"}},\"id\":\"2183\",\"type\":\"ColumnDataSource\"},{\"attributes\":{},\"id\":\"2174\",\"type\":\"AllLabels\"},{\"attributes\":{\"coordinates\":null,\"data_source\":{\"id\":\"2183\"},\"glyph\":{\"id\":\"2184\"},\"group\":null,\"hover_glyph\":null,\"muted_glyph\":{\"id\":\"2186\"},\"nonselection_glyph\":{\"id\":\"2185\"},\"view\":{\"id\":\"2188\"}},\"id\":\"2187\",\"type\":\"GlyphRenderer\"},{\"attributes\":{\"axis\":{\"id\":\"2145\"},\"coordinates\":null,\"dimension\":1,\"group\":null,\"ticker\":null},\"id\":\"2148\",\"type\":\"Grid\"},{\"attributes\":{\"overlay\":{\"id\":\"2155\"}},\"id\":\"2151\",\"type\":\"BoxZoomTool\"},{\"attributes\":{},\"id\":\"2152\",\"type\":\"SaveTool\"},{\"attributes\":{},\"id\":\"2173\",\"type\":\"BasicTickFormatter\"},{\"attributes\":{},\"id\":\"2142\",\"type\":\"BasicTicker\"},{\"attributes\":{\"coordinates\":null,\"group\":null,\"text\":\"Cumulative views since release date (2022-06-15 to 2022-12-28)\"},\"id\":\"2131\",\"type\":\"Title\"},{\"attributes\":{\"axis_label\":\"Total page views\",\"coordinates\":null,\"formatter\":{\"id\":\"2173\"},\"group\":null,\"major_label_policy\":{\"id\":\"2174\"},\"ticker\":{\"id\":\"2146\"}},\"id\":\"2145\",\"type\":\"LinearAxis\"},{\"attributes\":{\"line_alpha\":0.1,\"line_color\":\"#ff7f0e\",\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"2185\",\"type\":\"Line\"},{\"attributes\":{\"data\":{\"x\":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,52,53,54,55,56,57,58,59,60,61,62,63,64,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,101,102,103,104,105,106,107,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,156,157,158,159,160,161,162,163,164,165,166,167,168,170,171,172,173,174,175,176,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,233,234,235,236,237,238,239,240,241,242,243,244,245,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,282,283,284,285,286,287,288,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313],\"y\":{\"__ndarray__\":\"AAAAAAAAWEAAAAAAAEBdQAAAAAAAwF5AAAAAAADgYEAAAAAAAGBiQAAAAAAAoGNAAAAAAACAZUAAAAAAAABmQAAAAAAAIGdAAAAAAAAgaEAAAAAAAGBoQAAAAAAAIGlAAAAAAACAaUAAAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8=\",\"dtype\":\"float64\",\"order\":\"little\",\"shape\":[295]}},\"selected\":{\"id\":\"2220\"},\"selection_policy\":{\"id\":\"2219\"}},\"id\":\"2202\",\"type\":\"ColumnDataSource\"},{\"attributes\":{},\"id\":\"2176\",\"type\":\"BasicTickFormatter\"},{\"attributes\":{},\"id\":\"2135\",\"type\":\"DataRange1d\"},{\"attributes\":{\"source\":{\"id\":\"2183\"}},\"id\":\"2188\",\"type\":\"CDSView\"},{\"attributes\":{\"coordinates\":null,\"data_source\":{\"id\":\"2202\"},\"glyph\":{\"id\":\"2203\"},\"group\":null,\"hover_glyph\":null,\"muted_glyph\":{\"id\":\"2205\"},\"nonselection_glyph\":{\"id\":\"2204\"},\"view\":{\"id\":\"2207\"}},\"id\":\"2206\",\"type\":\"GlyphRenderer\"},{\"attributes\":{\"tools\":[{\"id\":\"2149\"},{\"id\":\"2150\"},{\"id\":\"2151\"},{\"id\":\"2152\"},{\"id\":\"2153\"},{\"id\":\"2154\"},{\"id\":\"2163\"}]},\"id\":\"2156\",\"type\":\"Toolbar\"},{\"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\":\"2155\",\"type\":\"BoxAnnotation\"},{\"attributes\":{\"line_alpha\":0.2,\"line_color\":\"#ff7f0e\",\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"2186\",\"type\":\"Line\"},{\"attributes\":{\"data\":{\"x\":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,52,53,54,55,56,57,58,59,60,61,62,63,64,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,101,102,103,104,105,106,107,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,156,157,158,159,160,161,162,163,164,165,166,167,168,170,171,172,173,174,175,176,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,233,234,235,236,237,238,239,240,241,242,243,244,245,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,282,283,284,285,286,287,288,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313],\"y\":{\"__ndarray__\":\"AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAAGEAAAAAAAAD4fwAAAAAAACZAAAAAAAAALEAAAAAAAAAxQAAAAAAAADNAAAAAAACAQUAAAAAAAAD4fwAAAAAAAEZAAAAAAACASEAAAAAAAAD4fwAAAAAAgElAAAAAAAAATUAAAAAAAABSQAAAAAAAgFxAAAAAAACAYUAAAAAAAOBjQAAAAAAAIGVAAAAAAADgZUAAAAAAAMBnQAAAAAAA4GdAAAAAAADAaUAAAAAAAKBqQAAAAAAAIGxAAAAAAAAgbUAAAAAAACBuQAAAAAAAQG5AAAAAAACgbkAAAAAAAEBvQAAAAAAAAHBAAAAAAAAAcUAAAAAAADBxQAAAAAAA4HFAAAAAAABwckAAAAAAAMByQAAAAAAAwHRAAAAAAAAgdUAAAAAAANB2QAAAAAAAMHdAAAAAAADAd0AAAAAAABB4QAAAAAAAcHpAAAAAAAAwfEAAAAAAAAB9QAAAAAAA0H1AAAAAAAAAfkAAAAAAAGB+QAAAAAAAoH5AAAAAAADwfkAAAAAAAAiBQAAAAAAAWIFAAAAAAACQgUAAAAAAAMiBQAAAAAAA2IFAAAAAAACYgkAAAAAAAMCDQAAAAAAA4IRAAAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8=\",\"dtype\":\"float64\",\"order\":\"little\",\"shape\":[295]}},\"selected\":{\"id\":\"2179\"},\"selection_policy\":{\"id\":\"2178\"}},\"id\":\"2165\",\"type\":\"ColumnDataSource\"},{\"attributes\":{},\"id\":\"2219\",\"type\":\"UnionRenderers\"},{\"attributes\":{\"axis\":{\"id\":\"2141\"},\"coordinates\":null,\"group\":null,\"ticker\":null},\"id\":\"2144\",\"type\":\"Grid\"},{\"attributes\":{\"line_color\":\"#ff7f0e\",\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"2184\",\"type\":\"Line\"},{\"attributes\":{},\"id\":\"2177\",\"type\":\"AllLabels\"},{\"attributes\":{\"line_alpha\":0.1,\"line_color\":\"#1f77b4\",\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"2167\",\"type\":\"Line\"},{\"attributes\":{\"line_alpha\":0.1,\"line_color\":\"#2ca02c\",\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"2204\",\"type\":\"Line\"},{\"attributes\":{\"callback\":null,\"tooltips\":[[\"Days since release\",\"@x\"],[\"Cumulative Views\",\"@y\"]]},\"id\":\"2163\",\"type\":\"HoverTool\"},{\"attributes\":{\"source\":{\"id\":\"2202\"}},\"id\":\"2207\",\"type\":\"CDSView\"},{\"attributes\":{},\"id\":\"2139\",\"type\":\"LinearScale\"},{\"attributes\":{},\"id\":\"2146\",\"type\":\"BasicTicker\"},{\"attributes\":{},\"id\":\"2133\",\"type\":\"DataRange1d\"},{\"attributes\":{\"label\":{\"value\":\"v0.1.2\"},\"renderers\":[{\"id\":\"2187\"}]},\"id\":\"2201\",\"type\":\"LegendItem\"},{\"attributes\":{},\"id\":\"2178\",\"type\":\"UnionRenderers\"},{\"attributes\":{\"line_alpha\":0.2,\"line_color\":\"#2ca02c\",\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"2205\",\"type\":\"Line\"},{\"attributes\":{},\"id\":\"2150\",\"type\":\"WheelZoomTool\"},{\"attributes\":{},\"id\":\"2198\",\"type\":\"UnionRenderers\"},{\"attributes\":{\"axis_label\":\"Days since release\",\"coordinates\":null,\"formatter\":{\"id\":\"2176\"},\"group\":null,\"major_label_policy\":{\"id\":\"2177\"},\"ticker\":{\"id\":\"2142\"}},\"id\":\"2141\",\"type\":\"LinearAxis\"},{\"attributes\":{\"line_color\":\"#2ca02c\",\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"2203\",\"type\":\"Line\"},{\"attributes\":{},\"id\":\"2137\",\"type\":\"LinearScale\"},{\"attributes\":{},\"id\":\"2199\",\"type\":\"Selection\"},{\"attributes\":{\"label\":{\"value\":\"v0.1.3\"},\"renderers\":[{\"id\":\"2206\"}]},\"id\":\"2222\",\"type\":\"LegendItem\"},{\"attributes\":{},\"id\":\"2220\",\"type\":\"Selection\"},{\"attributes\":{\"line_color\":\"#1f77b4\",\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"2166\",\"type\":\"Line\"}],\"root_ids\":[\"2130\"]},\"title\":\"Bokeh Application\",\"version\":\"2.4.3\"}};\n", " const render_items = [{\"docid\":\"03b37980-ada1-4761-9950-c1336664d3f3\",\"root_ids\":[\"2130\"],\"roots\":{\"2130\":\"93b6aebd-47fd-4557-bae3-5a742b54ea51\"}}];\n", " 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": "2130" } }, "output_type": "display_data" } ], "source": [ "release_dates = {\n", " 'v0.1.1': '2022-02-18',\n", " 'v0.1.2': '2022-08-18',\n", " 'v0.1.3': '2022-12-16',\n", "}\n", "stable = df.loc[df['Version'] == 'stable', :].copy()\n", "stable['Real_Version'] = '?'\n", "for version, date in release_dates.items():\n", " stable.loc[stable['Date'] >= date, 'Real_Version'] = version\n", "\n", "pivot = stable.pivot_table(values='Views', index='Date', columns='Real_Version', aggfunc='sum')\n", "realigned = pd.DataFrame({\n", " version: pd.Series(pivot.loc[date:, version].values, index=(pivot.loc[date:, :].index - pd.to_datetime(date)).days)\n", " for version, date in release_dates.items()\n", "}).cumsum()\n", "\n", "tab10 = ['#1f77b4', '#ff7f0e', '#2ca02c', '#d62728', '#9467bd', '#8c564b', '#e377c2', '#7f7f7f', '#bcbd22', '#17becf']\n", "\n", "p = figure(height=350, title=f\"Cumulative views since release date ({data_period})\")\n", "hover_tool = HoverTool(tooltips=[('Days since release', '@x'), ('Cumulative Views', '@y')])\n", "hover_tool.point_policy = 'snap_to_data'\n", "p.add_tools(hover_tool)\n", "\n", "for i, column in enumerate(realigned.columns):\n", " label = column\n", " if column == 'v0.1.1':\n", " label = label + ' (partial)'\n", " p.line(realigned.index, realigned[column], legend_label=label, color=tab10[i])\n", "\n", "p.yaxis.axis_label = 'Total page views'\n", "p.xaxis.axis_label = 'Days since release'\n", "p.legend.location = \"top_left\"\n", "show(p)" ] }, { "cell_type": "markdown", "id": "23e08435-cb15-4c27-93db-2c7a9617a77f", "metadata": {}, "source": [ "## GitHub" ] }, { "cell_type": "code", "execution_count": 12, "id": "0a7abd61-24ed-46e1-9686-4af7333fbf76", "metadata": {}, "outputs": [], "source": [ "gh = utils.get_github_stars('pvlib/pvanalytics')" ] }, { "cell_type": "code", "execution_count": 13, "id": "8c18098d-7eb0-4a4b-b807-4bcbe74d8f48", "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 = {\"128c6a53-0b84-4e1c-ba56-f7e3dea02ccc\":{\"defs\":[],\"roots\":{\"references\":[{\"attributes\":{\"below\":[{\"id\":\"2400\"}],\"center\":[{\"id\":\"2403\"},{\"id\":\"2407\"}],\"height\":350,\"left\":[{\"id\":\"2404\"}],\"renderers\":[{\"id\":\"2428\"}],\"title\":{\"id\":\"2528\"},\"toolbar\":{\"id\":\"2415\"},\"x_range\":{\"id\":\"2392\"},\"x_scale\":{\"id\":\"2396\"},\"y_range\":{\"id\":\"2394\"},\"y_scale\":{\"id\":\"2398\"}},\"id\":\"2391\",\"subtype\":\"Figure\",\"type\":\"Plot\"},{\"attributes\":{},\"id\":\"2409\",\"type\":\"WheelZoomTool\"},{\"attributes\":{},\"id\":\"2531\",\"type\":\"BasicTickFormatter\"},{\"attributes\":{},\"id\":\"2413\",\"type\":\"HelpTool\"},{\"attributes\":{},\"id\":\"2532\",\"type\":\"AllLabels\"},{\"attributes\":{\"line_alpha\":0.1,\"line_color\":\"#1f77b4\",\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"2426\",\"type\":\"Line\"},{\"attributes\":{},\"id\":\"2408\",\"type\":\"PanTool\"},{\"attributes\":{\"overlay\":{\"id\":\"2414\"}},\"id\":\"2410\",\"type\":\"BoxZoomTool\"},{\"attributes\":{},\"id\":\"2534\",\"type\":\"DatetimeTickFormatter\"},{\"attributes\":{},\"id\":\"2411\",\"type\":\"SaveTool\"},{\"attributes\":{\"axis_label\":\"Date\",\"coordinates\":null,\"formatter\":{\"id\":\"2534\"},\"group\":null,\"major_label_policy\":{\"id\":\"2535\"},\"ticker\":{\"id\":\"2401\"}},\"id\":\"2400\",\"type\":\"DatetimeAxis\"},{\"attributes\":{\"callback\":null,\"formatters\":{\"@x\":\"datetime\"},\"tooltips\":[[\"Date\",\"@x{%Y-%m-%d}\"],[\"Total Stars\",\"@y\"]]},\"id\":\"2422\",\"type\":\"HoverTool\"},{\"attributes\":{},\"id\":\"2412\",\"type\":\"ResetTool\"},{\"attributes\":{\"mantissas\":[1,2,5],\"max_interval\":500.0,\"num_minor_ticks\":0},\"id\":\"2539\",\"type\":\"AdaptiveTicker\"},{\"attributes\":{},\"id\":\"2392\",\"type\":\"DataRange1d\"},{\"attributes\":{},\"id\":\"2535\",\"type\":\"AllLabels\"},{\"attributes\":{\"months\":[0,6]},\"id\":\"2549\",\"type\":\"MonthsTicker\"},{\"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\":\"2414\",\"type\":\"BoxAnnotation\"},{\"attributes\":{\"months\":[0,1,2,3,4,5,6,7,8,9,10,11]},\"id\":\"2546\",\"type\":\"MonthsTicker\"},{\"attributes\":{},\"id\":\"2550\",\"type\":\"YearsTicker\"},{\"attributes\":{\"days\":[1,15]},\"id\":\"2545\",\"type\":\"DaysTicker\"},{\"attributes\":{\"months\":[0,2,4,6,8,10]},\"id\":\"2547\",\"type\":\"MonthsTicker\"},{\"attributes\":{\"data\":{\"x\":{\"__ndarray__\":\"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\",\"dtype\":\"float64\",\"order\":\"little\",\"shape\":[1043]},\"y\":{\"__ndarray__\":\"AAAAAAAACEAAAAAAAAAYQAAAAAAAABhAAAAAAAAAGEAAAAAAAAAYQAAAAAAAABhAAAAAAAAAGEAAAAAAAAAYQAAAAAAAABhAAAAAAAAAGEAAAAAAAAAYQAAAAAAAABhAAAAAAAAAGEAAAAAAAAAYQAAAAAAAABhAAAAAAAAAGEAAAAAAAAAYQAAAAAAAABhAAAAAAAAAGEAAAAAAAAAYQAAAAAAAABhAAAAAAAAAGEAAAAAAAAAYQAAAAAAAABhAAAAAAAAAGEAAAAAAAAAYQAAAAAAAABhAAAAAAAAAGEAAAAAAAAAYQAAAAAAAABhAAAAAAAAAGEAAAAAAAAAYQAAAAAAAABhAAAAAAAAAGEAAAAAAAAAYQAAAAAAAABhAAAAAAAAAGEAAAAAAAAAYQAAAAAAAABhAAAAAAAAAGEAAAAAAAAAYQAAAAAAAABhAAAAAAAAAGEAAAAAAAAAYQAAAAAAAABhAAAAAAAAAGEAAAAAAAAAYQAAAAAAAABhAAAAAAAAAGEAAAAAAAAAYQAAAAAAAABhAAAAAAAAAGEAAAAAAAAAYQAAAAAAAABhAAAAAAAAAGEAAAAAAAAAYQAAAAAAAABhAAAAAAAAAGEAAAAAAAAAYQAAAAAAAABhAAAAAAAAAGEAAAAAAAAAYQAAAAAAAABhAAAAAAAAAGEAAAAAAAAAYQAAAAAAAABxAAAAAAAAAHEAAAAAAAAAcQAAAAAAAABxAAAAAAAAAHEAAAAAAAAAcQAAAAAAAABxAAAAAAAAAHEAAAAAAAAAcQAAAAAAAABxAAAAAAAAAHEAAAAAAAAAcQAAAAAAAABxAAAAAAAAAHEAAAAAAAAAcQAAAAAAAABxAAAAAAAAAIEAAAAAAAAAgQAAAAAAAACBAAAAAAAAAIEAAAAAAAAAgQAAAAAAAACBAAAAAAAAAIEAAAAAAAAAgQAAAAAAAACBAAAAAAAAAIEAAAAAAAAAgQAAAAAAAACBAAAAAAAAAIEAAAAAAAAAgQAAAAAAAACBAAAAAAAAAIEAAAAAAAAAgQAAAAAAAACBAAAAAAAAAIEAAAAAAAAAgQAAAAAAAACJAAAAAAAAAIkAAAAAAAAAiQAAAAAAAACJAAAAAAAAAIkAAAAAAAAAiQAAAAAAAACJAAAAAAAAAIkAAAAAAAAAiQAAAAAAAACJAAAAAAAAAIkAAAAAAAAAiQAAAAAAAACJAAAAAAAAAIkAAAAAAAAAkQAAAAAAAACRAAAAAAAAAJEAAAAAAAAAkQAAAAAAAACRAAAAAAAAAJEAAAAAAAAAkQAAAAAAAACRAAAAAAAAAJEAAAAAAAAAkQAAAAAAAACRAAAAAAAAAJEAAAAAAAAAkQAAAAAAAACRAAAAAAAAAJEAAAAAAAAAkQAAAAAAAACRAAAAAAAAAJEAAAAAAAAAkQAAAAAAAACRAAAAAAAAAJEAAAAAAAAAkQAAAAAAAACRAAAAAAAAAJEAAAAAAAAAkQAAAAAAAACRAAAAAAAAAJEAAAAAAAAAkQAAAAAAAACZAAAAAAAAAKEAAAAAAAAAoQAAAAAAAAChAAAAAAAAAKEAAAAAAAAAoQAAAAAAAAChAAAAAAAAAKEAAAAAAAAAoQAAAAAAAAChAAAAAAAAAKkAAAAAAAAAqQAAAAAAAACxAAAAAAAAALEAAAAAAAAAsQAAAAAAAACxAAAAAAAAALEAAAAAAAAAsQAAAAAAAACxAAAAAAAAALEAAAAAAAAAsQAAAAAAAACxAAAAAAAAALEAAAAAAAAAsQAAAAAAAACxAAAAAAAAALEAAAAAAAAAsQAAAAAAAACxAAAAAAAAALEAAAAAAAAAsQAAAAAAAACxAAAAAAAAALEAAAAAAAAAsQAAAAAAAACxAAAAAAAAALkAAAAAAAAAuQAAAAAAAAC5AAAAAAAAALkAAAAAAAAAuQAAAAAAAAC5AAAAAAAAALkAAAAAAAAAuQAAAAAAAAC5AAAAAAAAALkAAAAAAAAAuQAAAAAAAAC5AAAAAAAAALkAAAAAAAAAuQAAAAAAAAC5AAAAAAAAALkAAAAAAAAAuQAAAAAAAAC5AAAAAAAAALkAAAAAAAAAuQAAAAAAAADBAAAAAAAAAMEAAAAAAAAAwQAAAAAAAADBAAAAAAAAAMEAAAAAAAAAwQAAAAAAAADBAAAAAAAAAMUAAAAAAAAAyQAAAAAAAADJAAAAAAAAAMkAAAAAAAAAyQAAAAAAAADJAAAAAAAAAMkAAAAAAAAAyQAAAAAAAADJAAAAAAAAAMkAAAAAAAAAyQAAAAAAAADJAAAAAAAAAMkAAAAAAAAAzQAAAAAAAADNAAAAAAAAAM0AAAAAAAAAzQAAAAAAAADNAAAAAAAAAM0AAAAAAAAAzQAAAAAAAADNAAAAAAAAAM0AAAAAAAAA0QAAAAAAAADRAAAAAAAAANEAAAAAAAAA0QAAAAAAAADRAAAAAAAAANEAAAAAAAAA0QAAAAAAAADRAAAAAAAAANEAAAAAAAAA0QAAAAAAAADRAAAAAAAAANEAAAAAAAAA0QAAAAAAAADRAAAAAAAAANEAAAAAAAAA0QAAAAAAAADRAAAAAAAAANUAAAAAAAAA1QAAAAAAAADVAAAAAAAAANUAAAAAAAAA1QAAAAAAAADVAAAAAAAAANUAAAAAAAAA1QAAAAAAAADVAAAAAAAAANUAAAAAAAAA1QAAAAAAAADVAAAAAAAAANUAAAAAAAAA1QAAAAAAAADVAAAAAAAAANUAAAAAAAAA1QAAAAAAAADZAAAAAAAAANkAAAAAAAAA2QAAAAAAAADZAAAAAAAAANkAAAAAAAAA2QAAAAAAAADZAAAAAAAAANkAAAAAAAAA2QAAAAAAAADZAAAAAAAAANkAAAAAAAAA2QAAAAAAAADZAAAAAAAAANkAAAAAAAAA2QAAAAAAAADZAAAAAAAAANkAAAAAAAAA2QAAAAAAAADZAAAAAAAAANkAAAAAAAAA2QAAAAAAAADZAAAAAAAAANkAAAAAAAAA2QAAAAAAAADZAAAAAAAAANkAAAAAAAAA2QAAAAAAAADZAAAAAAAAANkAAAAAAAAA3QAAAAAAAADdAAAAAAAAAN0AAAAAAAAA3QAAAAAAAADdAAAAAAAAAN0AAAAAAAAA3QAAAAAAAADhAAAAAAAAAOEAAAAAAAAA4QAAAAAAAADhAAAAAAAAAOEAAAAAAAAA4QAAAAAAAADhAAAAAAAAAOEAAAAAAAAA4QAAAAAAAADhAAAAAAAAAOEAAAAAAAAA4QAAAAAAAADhAAAAAAAAAOEAAAAAAAAA4QAAAAAAAADhAAAAAAAAAOEAAAAAAAAA4QAAAAAAAADhAAAAAAAAAOEAAAAAAAAA4QAAAAAAAADhAAAAAAAAAOEAAAAAAAAA4QAAAAAAAADhAAAAAAAAAOEAAAAAAAAA4QAAAAAAAADhAAAAAAAAAOEAAAAAAAAA4QAAAAAAAADhAAAAAAAAAOEAAAAAAAAA4QAAAAAAAADhAAAAAAAAAOEAAAAAAAAA4QAAAAAAAADhAAAAAAAAAOEAAAAAAAAA4QAAAAAAAADhAAAAAAAAAOEAAAAAAAAA4QAAAAAAAADhAAAAAAAAAOEAAAAAAAAA4QAAAAAAAADhAAAAAAAAAOEAAAAAAAAA4QAAAAAAAADhAAAAAAAAAOEAAAAAAAAA4QAAAAAAAADhAAAAAAAAAOEAAAAAAAAA4QAAAAAAAADhAAAAAAAAAOEAAAAAAAAA4QAAAAAAAADhAAAAAAAAAOEAAAAAAAAA4QAAAAAAAADhAAAAAAAAAOEAAAAAAAAA4QAAAAAAAADhAAAAAAAAAOEAAAAAAAAA4QAAAAAAAADhAAAAAAAAAOEAAAAAAAAA4QAAAAAAAADhAAAAAAAAAOEAAAAAAAAA4QAAAAAAAADhAAAAAAAAAOEAAAAAAAAA4QAAAAAAAADhAAAAAAAAAOEAAAAAAAAA4QAAAAAAAADhAAAAAAAAAOEAAAAAAAAA4QAAAAAAAADhAAAAAAAAAOEAAAAAAAAA4QAAAAAAAADlAAAAAAAAAOkAAAAAAAAA6QAAAAAAAADpAAAAAAAAAOkAAAAAAAAA6QAAAAAAAADpAAAAAAAAAO0AAAAAAAAA7QAAAAAAAADtAAAAAAAAAO0AAAAAAAAA7QAAAAAAAADtAAAAAAAAAO0AAAAAAAAA7QAAAAAAAADtAAAAAAAAAO0AAAAAAAAA7QAAAAAAAADtAAAAAAAAAO0AAAAAAAAA7QAAAAAAAADtAAAAAAAAAO0AAAAAAAAA7QAAAAAAAADtAAAAAAAAAO0AAAAAAAAA7QAAAAAAAADtAAAAAAAAAO0AAAAAAAAA7QAAAAAAAADtAAAAAAAAAO0AAAAAAAAA7QAAAAAAAADtAAAAAAAAAPEAAAAAAAAA8QAAAAAAAADxAAAAAAAAAPEAAAAAAAAA8QAAAAAAAADxAAAAAAAAAPEAAAAAAAAA8QAAAAAAAADxAAAAAAAAAPEAAAAAAAAA8QAAAAAAAADxAAAAAAAAAPEAAAAAAAAA8QAAAAAAAADxAAAAAAAAAPEAAAAAAAAA8QAAAAAAAADxAAAAAAAAAPEAAAAAAAAA8QAAAAAAAADxAAAAAAAAAPEAAAAAAAAA8QAAAAAAAADxAAAAAAAAAPEAAAAAAAAA8QAAAAAAAADxAAAAAAAAAPEAAAAAAAAA9QAAAAAAAAD1AAAAAAAAAPUAAAAAAAAA9QAAAAAAAAD1AAAAAAAAAPUAAAAAAAAA9QAAAAAAAAD1AAAAAAAAAPkAAAAAAAAA+QAAAAAAAAD5AAAAAAAAAPkAAAAAAAAA+QAAAAAAAAD5AAAAAAAAAPkAAAAAAAAA+QAAAAAAAAD5AAAAAAAAAPkAAAAAAAAA+QAAAAAAAAD9AAAAAAAAAP0AAAAAAAAA/QAAAAAAAAD9AAAAAAAAAP0AAAAAAAAA/QAAAAAAAAEBAAAAAAAAAQEAAAAAAAABAQAAAAAAAAEBAAAAAAAAAQEAAAAAAAABAQAAAAAAAAEBAAAAAAAAAQEAAAAAAAABAQAAAAAAAAEBAAAAAAAAAQEAAAAAAAABAQAAAAAAAAEBAAAAAAAAAQEAAAAAAAABAQAAAAAAAgEBAAAAAAACAQEAAAAAAAIBAQAAAAAAAgEBAAAAAAACAQEAAAAAAAIBAQAAAAAAAgEBAAAAAAACAQEAAAAAAAIBAQAAAAAAAgEBAAAAAAACAQEAAAAAAAIBAQAAAAAAAgEBAAAAAAACAQEAAAAAAAIBAQAAAAAAAgEBAAAAAAACAQEAAAAAAAIBAQAAAAAAAgEBAAAAAAACAQEAAAAAAAABBQAAAAAAAAEFAAAAAAAAAQUAAAAAAAABBQAAAAAAAAEFAAAAAAAAAQUAAAAAAAABBQAAAAAAAAEFAAAAAAAAAQUAAAAAAAABBQAAAAAAAAEFAAAAAAAAAQUAAAAAAAABBQAAAAAAAAEFAAAAAAAAAQUAAAAAAAABBQAAAAAAAAEFAAAAAAAAAQUAAAAAAAABBQAAAAAAAAEFAAAAAAAAAQUAAAAAAAABBQAAAAAAAAEFAAAAAAAAAQUAAAAAAAABBQAAAAAAAAEFAAAAAAAAAQUAAAAAAAABBQAAAAAAAAEFAAAAAAAAAQUAAAAAAAABBQAAAAAAAAEFAAAAAAAAAQUAAAAAAAABBQAAAAAAAAEFAAAAAAAAAQUAAAAAAAABBQAAAAAAAAEFAAAAAAAAAQUAAAAAAAABBQAAAAAAAAEFAAAAAAAAAQUAAAAAAAABBQAAAAAAAAEFAAAAAAAAAQUAAAAAAAABBQAAAAAAAAEFAAAAAAAAAQUAAAAAAAABBQAAAAAAAAEFAAAAAAAAAQUAAAAAAAABBQAAAAAAAAEFAAAAAAAAAQUAAAAAAAABBQAAAAAAAAEFAAAAAAAAAQUAAAAAAAABBQAAAAAAAAEFAAAAAAAAAQUAAAAAAAABBQAAAAAAAAEFAAAAAAAAAQUAAAAAAAABBQAAAAAAAAEFAAAAAAAAAQUAAAAAAAABBQAAAAAAAAEFAAAAAAAAAQUAAAAAAAABBQAAAAAAAAEFAAAAAAAAAQUAAAAAAAABBQAAAAAAAAEFAAAAAAAAAQUAAAAAAAABBQAAAAAAAAEFAAAAAAAAAQUAAAAAAAABBQAAAAAAAAEFAAAAAAAAAQUAAAAAAAABBQAAAAAAAAEFAAAAAAAAAQUAAAAAAAABBQAAAAAAAAEFAAAAAAAAAQUAAAAAAAABBQAAAAAAAAEFAAAAAAAAAQUAAAAAAAABBQAAAAAAAAEFAAAAAAAAAQUAAAAAAAABBQAAAAAAAAEFAAAAAAAAAQUAAAAAAAABBQAAAAAAAAEFAAAAAAAAAQUAAAAAAAABBQAAAAAAAAEFAAAAAAAAAQUAAAAAAAABBQAAAAAAAAEFAAAAAAAAAQUAAAAAAAABBQAAAAAAAAEFAAAAAAAAAQUAAAAAAAABBQAAAAAAAAEFAAAAAAAAAQUAAAAAAAABBQAAAAAAAAEFAAAAAAAAAQUAAAAAAAABBQAAAAAAAAEFAAAAAAAAAQUAAAAAAAABBQAAAAAAAAEFAAAAAAAAAQUAAAAAAAABBQAAAAAAAAEFAAAAAAAAAQUAAAAAAAABBQAAAAAAAAEFAAAAAAAAAQUAAAAAAAABBQAAAAAAAAEFAAAAAAAAAQUAAAAAAAABBQAAAAAAAAEFAAAAAAACAQUAAAAAAAIBBQAAAAAAAgEFAAAAAAACAQUAAAAAAAIBBQAAAAAAAgEFAAAAAAACAQUAAAAAAAIBBQAAAAAAAgEFAAAAAAACAQUAAAAAAAIBBQAAAAAAAgEFAAAAAAACAQUAAAAAAAIBBQAAAAAAAgEFAAAAAAACAQUAAAAAAAIBBQAAAAAAAgEFAAAAAAACAQUAAAAAAAIBBQAAAAAAAgEFAAAAAAACAQUAAAAAAAIBBQAAAAAAAgEFAAAAAAACAQUAAAAAAAIBBQAAAAAAAgEFAAAAAAACAQUAAAAAAAIBBQAAAAAAAAEJAAAAAAAAAQkAAAAAAAABCQAAAAAAAAEJAAAAAAAAAQkAAAAAAAIBCQAAAAAAAgEJAAAAAAACAQkAAAAAAAIBCQAAAAAAAgEJAAAAAAACAQkAAAAAAAIBCQAAAAAAAgEJAAAAAAACAQkAAAAAAAIBCQAAAAAAAgEJAAAAAAACAQkAAAAAAAIBCQAAAAAAAgEJAAAAAAACAQkAAAAAAAIBCQAAAAAAAgEJAAAAAAACAQkAAAAAAAIBCQAAAAAAAgEJAAAAAAACAQkAAAAAAAIBCQAAAAAAAgEJAAAAAAACAQkAAAAAAAABDQAAAAAAAAENAAAAAAAAAQ0AAAAAAAABDQAAAAAAAAENAAAAAAAAAQ0AAAAAAAABDQAAAAAAAAENAAAAAAAAAQ0AAAAAAAABDQAAAAAAAAENAAAAAAACAQ0AAAAAAAIBDQAAAAAAAgENAAAAAAACAQ0AAAAAAAIBDQAAAAAAAgENAAAAAAACAQ0AAAAAAAIBDQAAAAAAAgENAAAAAAACAQ0AAAAAAAIBDQAAAAAAAgENAAAAAAACAQ0AAAAAAAIBDQAAAAAAAgENAAAAAAACAQ0AAAAAAAIBDQAAAAAAAgENAAAAAAACAQ0AAAAAAAIBDQAAAAAAAgENAAAAAAACAQ0AAAAAAAIBDQAAAAAAAgENAAAAAAACAQ0AAAAAAAIBDQAAAAAAAgENAAAAAAACAQ0AAAAAAAIBDQAAAAAAAgENAAAAAAACAQ0AAAAAAAIBDQAAAAAAAAERAAAAAAAAARUAAAAAAAABFQAAAAAAAAEVAAAAAAACARUAAAAAAAIBFQAAAAAAAgEVAAAAAAACARUAAAAAAAIBFQAAAAAAAgEVAAAAAAACARUAAAAAAAIBFQAAAAAAAgEVAAAAAAACARUAAAAAAAIBFQAAAAAAAAEZAAAAAAAAARkAAAAAAAABGQAAAAAAAAEZAAAAAAAAARkAAAAAAAABGQAAAAAAAAEZAAAAAAAAARkAAAAAAAABGQAAAAAAAAEZAAAAAAAAARkAAAAAAAABGQAAAAAAAAEZAAAAAAAAARkAAAAAAAABGQAAAAAAAAEZAAAAAAAAARkAAAAAAAIBGQAAAAAAAgEZAAAAAAACARkAAAAAAAIBGQAAAAAAAgEZAAAAAAACARkAAAAAAAIBGQAAAAAAAgEZAAAAAAACARkAAAAAAAIBGQAAAAAAAgEZAAAAAAAAAR0AAAAAAAABHQAAAAAAAAEdAAAAAAAAAR0AAAAAAAABHQAAAAAAAAEdAAAAAAAAAR0AAAAAAAABHQAAAAAAAAEdAAAAAAAAAR0AAAAAAAABHQAAAAAAAAEdAAAAAAAAAR0AAAAAAAABHQAAAAAAAAEdAAAAAAAAAR0AAAAAAAABHQAAAAAAAAEdAAAAAAAAAR0AAAAAAAABHQAAAAAAAAEdAAAAAAAAAR0AAAAAAAABHQAAAAAAAAEdAAAAAAAAAR0AAAAAAAABHQAAAAAAAAEdAAAAAAAAAR0AAAAAAAABHQAAAAAAAAEdAAAAAAAAAR0AAAAAAAABHQAAAAAAAAEdAAAAAAAAAR0AAAAAAAABHQAAAAAAAAEdAAAAAAAAAR0AAAAAAAABHQAAAAAAAAEdAAAAAAAAAR0AAAAAAAABHQAAAAAAAAEdAAAAAAAAAR0AAAAAAAABHQAAAAAAAAEdAAAAAAAAAR0AAAAAAAABHQAAAAAAAAEdAAAAAAAAAR0AAAAAAAABHQAAAAAAAgEdAAAAAAACAR0AAAAAAAIBHQAAAAAAAgEdAAAAAAACAR0AAAAAAAIBHQAAAAAAAAEhAAAAAAAAASEAAAAAAAABIQAAAAAAAAEhAAAAAAAAASEAAAAAAAABIQAAAAAAAAEhAAAAAAAAASEAAAAAAAABIQAAAAAAAAEhAAAAAAAAASEAAAAAAAABIQAAAAAAAAEhAAAAAAAAASEAAAAAAAABIQAAAAAAAAEhAAAAAAAAASEAAAAAAAABIQAAAAAAAAEhAAAAAAAAASEAAAAAAAABIQAAAAAAAAEhAAAAAAAAASEAAAAAAAABIQAAAAAAAAEhAAAAAAAAASEAAAAAAAABIQAAAAAAAAEhAAAAAAAAASEAAAAAAAABIQAAAAAAAAEhAAAAAAAAASEAAAAAAAABIQAAAAAAAAEhAAAAAAAAASEAAAAAAAABIQAAAAAAAAEhAAAAAAAAASEAAAAAAAABIQAAAAAAAAEhAAAAAAAAASEAAAAAAAABIQAAAAAAAAEhAAAAAAAAASEAAAAAAAABIQAAAAAAAAEhAAAAAAAAASEAAAAAAAABIQAAAAAAAAEhAAAAAAAAASEAAAAAAAABIQAAAAAAAAEhAAAAAAAAASEAAAAAAAABIQAAAAAAAAEhAAAAAAAAASEAAAAAAAABIQAAAAAAAAEhAAAAAAAAASEAAAAAAAABIQAAAAAAAAEhAAAAAAAAASEAAAAAAAABIQAAAAAAAAEhAAAAAAACASEAAAAAAAIBIQAAAAAAAgEhAAAAAAACASEAAAAAAAIBIQAAAAAAAgEhAAAAAAACASEAAAAAAAIBIQAAAAAAAgEhAAAAAAACASEAAAAAAAIBIQAAAAAAAgEhAAAAAAACASEAAAAAAAIBIQAAAAAAAgEhAAAAAAACASEAAAAAAAIBIQAAAAAAAgEhAAAAAAAAASUAAAAAAAABJQAAAAAAAAEtAAAAAAAAAS0AAAAAAAABLQAAAAAAAAEtAAAAAAAAAS0AAAAAAAABLQAAAAAAAAEtAAAAAAAAAS0AAAAAAAABLQAAAAAAAAEtAAAAAAAAAS0AAAAAAAABLQAAAAAAAAEtAAAAAAAAAS0AAAAAAAABLQAAAAAAAAEtAAAAAAAAAS0AAAAAAAABLQAAAAAAAAEtAAAAAAAAAS0AAAAAAAABLQAAAAAAAAEtAAAAAAAAAS0AAAAAAAABLQAAAAAAAAEtAAAAAAAAAS0AAAAAAAABLQAAAAAAAAEtAAAAAAACAS0AAAAAAAIBLQAAAAAAAgEtAAAAAAACAS0AAAAAAAIBLQAAAAAAAgEtAAAAAAACAS0AAAAAAAIBLQAAAAAAAgEtAAAAAAACAS0AAAAAAAABMQAAAAAAAAExAAAAAAAAATEAAAAAAAABMQAAAAAAAAExAAAAAAAAATEAAAAAAAABMQAAAAAAAAExAAAAAAAAATEAAAAAAAABMQAAAAAAAAExAAAAAAACATEAAAAAAAIBMQAAAAAAAgExAAAAAAACATEAAAAAAAABNQAAAAAAAAE1AAAAAAACATUAAAAAAAIBNQAAAAAAAgE1AAAAAAACATUAAAAAAAIBNQAAAAAAAgE1AAAAAAACATUAAAAAAAIBNQAAAAAAAgE1AAAAAAACATUAAAAAAAIBNQAAAAAAAgE1AAAAAAACATUAAAAAAAIBNQAAAAAAAgE1AAAAAAACATUAAAAAAAIBNQAAAAAAAgE1AAAAAAACATUAAAAAAAIBNQAAAAAAAAE5AAAAAAACATkAAAAAAAABPQAAAAAAAAE9AAAAAAAAAT0AAAAAAAABPQAAAAAAAAE9AAAAAAAAAT0AAAAAAAABPQAAAAAAAAE9AAAAAAAAAT0AAAAAAAABPQAAAAAAAAE9AAAAAAAAAT0AAAAAAAABPQAAAAAAAAE9AAAAAAAAAT0AAAAAAAABPQAAAAAAAAE9AAAAAAAAAT0AAAAAAAABPQAAAAAAAgE9AAAAAAACAT0AAAAAAAIBPQAAAAAAAgE9AAAAAAACAT0AAAAAAAIBPQAAAAAAAgE9AAAAAAACAT0AAAAAAAIBPQAAAAAAAgE9AAAAAAACAT0AAAAAAAIBPQAAAAAAAgE9AAAAAAACAT0AAAAAAAIBPQAAAAAAAgE9AAAAAAACAT0AAAAAAAIBPQAAAAAAAgE9AAAAAAACAT0AAAAAAAIBPQAAAAAAAgE9AAAAAAACAT0AAAAAAAIBPQAAAAAAAgE9AAAAAAACAT0AAAAAAAIBPQAAAAAAAgE9AAAAAAAAAUEAAAAAAAABQQA==\",\"dtype\":\"float64\",\"order\":\"little\",\"shape\":[1043]}},\"selected\":{\"id\":\"2537\"},\"selection_policy\":{\"id\":\"2536\"}},\"id\":\"2424\",\"type\":\"ColumnDataSource\"},{\"attributes\":{\"months\":[0,4,8]},\"id\":\"2548\",\"type\":\"MonthsTicker\"},{\"attributes\":{\"source\":{\"id\":\"2424\"}},\"id\":\"2429\",\"type\":\"CDSView\"},{\"attributes\":{\"days\":[1,8,15,22]},\"id\":\"2544\",\"type\":\"DaysTicker\"},{\"attributes\":{},\"id\":\"2536\",\"type\":\"UnionRenderers\"},{\"attributes\":{},\"id\":\"2398\",\"type\":\"LinearScale\"},{\"attributes\":{\"axis\":{\"id\":\"2400\"},\"coordinates\":null,\"group\":null,\"ticker\":null},\"id\":\"2403\",\"type\":\"Grid\"},{\"attributes\":{},\"id\":\"2405\",\"type\":\"BasicTicker\"},{\"attributes\":{\"base\":24,\"mantissas\":[1,2,4,6,8,12],\"max_interval\":43200000.0,\"min_interval\":3600000.0,\"num_minor_ticks\":0},\"id\":\"2541\",\"type\":\"AdaptiveTicker\"},{\"attributes\":{\"days\":[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31]},\"id\":\"2542\",\"type\":\"DaysTicker\"},{\"attributes\":{},\"id\":\"2537\",\"type\":\"Selection\"},{\"attributes\":{\"axis_label\":\"Total Stars\",\"coordinates\":null,\"formatter\":{\"id\":\"2531\"},\"group\":null,\"major_label_policy\":{\"id\":\"2532\"},\"ticker\":{\"id\":\"2405\"}},\"id\":\"2404\",\"type\":\"LinearAxis\"},{\"attributes\":{\"base\":60,\"mantissas\":[1,2,5,10,15,20,30],\"max_interval\":1800000.0,\"min_interval\":1000.0,\"num_minor_ticks\":0},\"id\":\"2540\",\"type\":\"AdaptiveTicker\"},{\"attributes\":{\"tools\":[{\"id\":\"2408\"},{\"id\":\"2409\"},{\"id\":\"2410\"},{\"id\":\"2411\"},{\"id\":\"2412\"},{\"id\":\"2413\"},{\"id\":\"2422\"}]},\"id\":\"2415\",\"type\":\"Toolbar\"},{\"attributes\":{},\"id\":\"2396\",\"type\":\"LinearScale\"},{\"attributes\":{\"coordinates\":null,\"data_source\":{\"id\":\"2424\"},\"glyph\":{\"id\":\"2425\"},\"group\":null,\"hover_glyph\":null,\"muted_glyph\":{\"id\":\"2427\"},\"nonselection_glyph\":{\"id\":\"2426\"},\"view\":{\"id\":\"2429\"}},\"id\":\"2428\",\"type\":\"GlyphRenderer\"},{\"attributes\":{},\"id\":\"2394\",\"type\":\"DataRange1d\"},{\"attributes\":{\"axis\":{\"id\":\"2404\"},\"coordinates\":null,\"dimension\":1,\"group\":null,\"ticker\":null},\"id\":\"2407\",\"type\":\"Grid\"},{\"attributes\":{\"line_alpha\":0.2,\"line_color\":\"#1f77b4\",\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"2427\",\"type\":\"Line\"},{\"attributes\":{\"days\":[1,4,7,10,13,16,19,22,25,28]},\"id\":\"2543\",\"type\":\"DaysTicker\"},{\"attributes\":{\"line_color\":\"#1f77b4\",\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"2425\",\"type\":\"Line\"},{\"attributes\":{\"coordinates\":null,\"group\":null},\"id\":\"2528\",\"type\":\"Title\"},{\"attributes\":{\"num_minor_ticks\":5,\"tickers\":[{\"id\":\"2539\"},{\"id\":\"2540\"},{\"id\":\"2541\"},{\"id\":\"2542\"},{\"id\":\"2543\"},{\"id\":\"2544\"},{\"id\":\"2545\"},{\"id\":\"2546\"},{\"id\":\"2547\"},{\"id\":\"2548\"},{\"id\":\"2549\"},{\"id\":\"2550\"}]},\"id\":\"2401\",\"type\":\"DatetimeTicker\"}],\"root_ids\":[\"2391\"]},\"title\":\"Bokeh Application\",\"version\":\"2.4.3\"}};\n", " const render_items = [{\"docid\":\"128c6a53-0b84-4e1c-ba56-f7e3dea02ccc\",\"root_ids\":[\"2391\"],\"roots\":{\"2391\":\"f806fac2-b2cd-40d1-be63-af4f30be324e\"}}];\n", " 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": "2391" } }, "output_type": "display_data" } ], "source": [ "p = utils.plot_github_stars_timeseries(gh)\n", "show(p)" ] }, { "cell_type": "code", "execution_count": 14, "id": "f8de7c4e-b91e-4c6d-971f-3ff0cf6a3a5d", "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 = {\"1c8abf97-50ce-42e9-97ef-05f58f46e0b7\":{\"defs\":[],\"roots\":{\"references\":[{\"attributes\":{\"below\":[{\"id\":\"2675\"}],\"center\":[{\"id\":\"2678\"},{\"id\":\"2682\"}],\"height\":350,\"left\":[{\"id\":\"2679\"}],\"renderers\":[{\"id\":\"2703\"}],\"title\":{\"id\":\"2826\"},\"toolbar\":{\"id\":\"2690\"},\"x_range\":{\"id\":\"2667\"},\"x_scale\":{\"id\":\"2671\"},\"y_range\":{\"id\":\"2669\"},\"y_scale\":{\"id\":\"2673\"}},\"id\":\"2666\",\"subtype\":\"Figure\",\"type\":\"Plot\"},{\"attributes\":{},\"id\":\"2833\",\"type\":\"AllLabels\"},{\"attributes\":{\"base\":60,\"mantissas\":[1,2,5,10,15,20,30],\"max_interval\":1800000.0,\"min_interval\":1000.0,\"num_minor_ticks\":0},\"id\":\"2838\",\"type\":\"AdaptiveTicker\"},{\"attributes\":{\"callback\":null,\"formatters\":{\"@x\":\"datetime\"},\"tooltips\":[[\"Date\",\"@x{%Y-%m-%d}\"],[\"Total Contributors\",\"@y\"]]},\"id\":\"2697\",\"type\":\"HoverTool\"},{\"attributes\":{\"base\":24,\"mantissas\":[1,2,4,6,8,12],\"max_interval\":43200000.0,\"min_interval\":3600000.0,\"num_minor_ticks\":0},\"id\":\"2839\",\"type\":\"AdaptiveTicker\"},{\"attributes\":{},\"id\":\"2848\",\"type\":\"YearsTicker\"},{\"attributes\":{\"months\":[0,1,2,3,4,5,6,7,8,9,10,11]},\"id\":\"2844\",\"type\":\"MonthsTicker\"},{\"attributes\":{},\"id\":\"2830\",\"type\":\"AllLabels\"},{\"attributes\":{\"days\":[1,15]},\"id\":\"2843\",\"type\":\"DaysTicker\"},{\"attributes\":{\"days\":[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31]},\"id\":\"2840\",\"type\":\"DaysTicker\"},{\"attributes\":{\"days\":[1,4,7,10,13,16,19,22,25,28]},\"id\":\"2841\",\"type\":\"DaysTicker\"},{\"attributes\":{},\"id\":\"2667\",\"type\":\"DataRange1d\"},{\"attributes\":{\"days\":[1,8,15,22]},\"id\":\"2842\",\"type\":\"DaysTicker\"},{\"attributes\":{\"months\":[0,6]},\"id\":\"2847\",\"type\":\"MonthsTicker\"},{\"attributes\":{\"months\":[0,2,4,6,8,10]},\"id\":\"2845\",\"type\":\"MonthsTicker\"},{\"attributes\":{},\"id\":\"2834\",\"type\":\"UnionRenderers\"},{\"attributes\":{\"data\":{\"x\":{\"__ndarray__\":\"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\",\"dtype\":\"float64\",\"order\":\"little\",\"shape\":[688]},\"y\":{\"__ndarray__\":\"AAAAAAAAAEAAAAAAAAAAQAAAAAAAAABAAAAAAAAAAEAAAAAAAAAAQAAAAAAAAABAAAAAAAAAAEAAAAAAAAAAQAAAAAAAAABAAAAAAAAAAEAAAAAAAAAAQAAAAAAAAABAAAAAAAAAAEAAAAAAAAAAQAAAAAAAAABAAAAAAAAAAEAAAAAAAAAAQAAAAAAAAABAAAAAAAAAAEAAAAAAAAAAQAAAAAAAAABAAAAAAAAAAEAAAAAAAAAAQAAAAAAAAABAAAAAAAAAAEAAAAAAAAAAQAAAAAAAAABAAAAAAAAAAEAAAAAAAAAAQAAAAAAAAABAAAAAAAAAAEAAAAAAAAAAQAAAAAAAAABAAAAAAAAAAEAAAAAAAAAAQAAAAAAAAABAAAAAAAAAAEAAAAAAAAAAQAAAAAAAAABAAAAAAAAAAEAAAAAAAAAAQAAAAAAAAABAAAAAAAAAAEAAAAAAAAAAQAAAAAAAAABAAAAAAAAAAEAAAAAAAAAAQAAAAAAAAABAAAAAAAAAAEAAAAAAAAAAQAAAAAAAAABAAAAAAAAAAEAAAAAAAAAAQAAAAAAAAABAAAAAAAAAAEAAAAAAAAAAQAAAAAAAAABAAAAAAAAAAEAAAAAAAAAAQAAAAAAAAABAAAAAAAAAAEAAAAAAAAAAQAAAAAAAAABAAAAAAAAAAEAAAAAAAAAAQAAAAAAAAABAAAAAAAAAAEAAAAAAAAAAQAAAAAAAAABAAAAAAAAAAEAAAAAAAAAAQAAAAAAAAABAAAAAAAAAAEAAAAAAAAAAQAAAAAAAAABAAAAAAAAAAEAAAAAAAAAAQAAAAAAAAABAAAAAAAAAAEAAAAAAAAAAQAAAAAAAAABAAAAAAAAAAEAAAAAAAAAAQAAAAAAAAABAAAAAAAAAAEAAAAAAAAAAQAAAAAAAAABAAAAAAAAAAEAAAAAAAAAAQAAAAAAAAABAAAAAAAAAAEAAAAAAAAAAQAAAAAAAAABAAAAAAAAAAEAAAAAAAAAAQAAAAAAAAABAAAAAAAAAAEAAAAAAAAAAQAAAAAAAAABAAAAAAAAAAEAAAAAAAAAAQAAAAAAAAABAAAAAAAAAAEAAAAAAAAAAQAAAAAAAAABAAAAAAAAAAEAAAAAAAAAAQAAAAAAAAABAAAAAAAAAAEAAAAAAAAAAQAAAAAAAAABAAAAAAAAAAEAAAAAAAAAAQAAAAAAAAABAAAAAAAAAAEAAAAAAAAAAQAAAAAAAAABAAAAAAAAAAEAAAAAAAAAAQAAAAAAAAABAAAAAAAAAAEAAAAAAAAAAQAAAAAAAAABAAAAAAAAAAEAAAAAAAAAAQAAAAAAAAABAAAAAAAAAAEAAAAAAAAAAQAAAAAAAAABAAAAAAAAAAEAAAAAAAAAAQAAAAAAAAABAAAAAAAAAAEAAAAAAAAAAQAAAAAAAAABAAAAAAAAAAEAAAAAAAAAAQAAAAAAAAABAAAAAAAAAAEAAAAAAAAAAQAAAAAAAAABAAAAAAAAAAEAAAAAAAAAAQAAAAAAAAABAAAAAAAAAAEAAAAAAAAAAQAAAAAAAAABAAAAAAAAAAEAAAAAAAAAAQAAAAAAAAABAAAAAAAAAAEAAAAAAAAAAQAAAAAAAAABAAAAAAAAAAEAAAAAAAAAAQAAAAAAAAABAAAAAAAAAAEAAAAAAAAAAQAAAAAAAAABAAAAAAAAAAEAAAAAAAAAAQAAAAAAAAABAAAAAAAAAAEAAAAAAAAAAQAAAAAAAAABAAAAAAAAAAEAAAAAAAAAAQAAAAAAAAABAAAAAAAAAAEAAAAAAAAAAQAAAAAAAAABAAAAAAAAAAEAAAAAAAAAAQAAAAAAAAABAAAAAAAAAAEAAAAAAAAAAQAAAAAAAAABAAAAAAAAAAEAAAAAAAAAAQAAAAAAAAABAAAAAAAAAAEAAAAAAAAAAQAAAAAAAAABAAAAAAAAAAEAAAAAAAAAAQAAAAAAAAABAAAAAAAAAAEAAAAAAAAAAQAAAAAAAAABAAAAAAAAAAEAAAAAAAAAAQAAAAAAAAABAAAAAAAAAAEAAAAAAAAAAQAAAAAAAAABAAAAAAAAAAEAAAAAAAAAIQAAAAAAAAAhAAAAAAAAACEAAAAAAAAAIQAAAAAAAAAhAAAAAAAAACEAAAAAAAAAIQAAAAAAAAAhAAAAAAAAACEAAAAAAAAAIQAAAAAAAAAhAAAAAAAAACEAAAAAAAAAIQAAAAAAAAAhAAAAAAAAACEAAAAAAAAAIQAAAAAAAAAhAAAAAAAAACEAAAAAAAAAIQAAAAAAAAAhAAAAAAAAACEAAAAAAAAAIQAAAAAAAAAhAAAAAAAAACEAAAAAAAAAIQAAAAAAAAAhAAAAAAAAACEAAAAAAAAAIQAAAAAAAAAhAAAAAAAAACEAAAAAAAAAIQAAAAAAAAAhAAAAAAAAACEAAAAAAAAAIQAAAAAAAAAhAAAAAAAAACEAAAAAAAAAIQAAAAAAAAAhAAAAAAAAACEAAAAAAAAAIQAAAAAAAAAhAAAAAAAAACEAAAAAAAAAIQAAAAAAAAAhAAAAAAAAACEAAAAAAAAAIQAAAAAAAAAhAAAAAAAAACEAAAAAAAAAIQAAAAAAAAAhAAAAAAAAACEAAAAAAAAAIQAAAAAAAAAhAAAAAAAAACEAAAAAAAAAIQAAAAAAAAAhAAAAAAAAACEAAAAAAAAAIQAAAAAAAAAhAAAAAAAAACEAAAAAAAAAIQAAAAAAAAAhAAAAAAAAACEAAAAAAAAAIQAAAAAAAAAhAAAAAAAAACEAAAAAAAAAIQAAAAAAAAAhAAAAAAAAACEAAAAAAAAAIQAAAAAAAAAhAAAAAAAAACEAAAAAAAAAIQAAAAAAAAAhAAAAAAAAACEAAAAAAAAAIQAAAAAAAAAhAAAAAAAAACEAAAAAAAAAIQAAAAAAAAAhAAAAAAAAACEAAAAAAAAAIQAAAAAAAAAhAAAAAAAAACEAAAAAAAAAIQAAAAAAAAAhAAAAAAAAACEAAAAAAAAAIQAAAAAAAAAhAAAAAAAAACEAAAAAAAAAIQAAAAAAAAAhAAAAAAAAACEAAAAAAAAAIQAAAAAAAAAhAAAAAAAAACEAAAAAAAAAIQAAAAAAAAAhAAAAAAAAACEAAAAAAAAAIQAAAAAAAAAhAAAAAAAAACEAAAAAAAAAIQAAAAAAAAAhAAAAAAAAACEAAAAAAAAAIQAAAAAAAAAhAAAAAAAAACEAAAAAAAAAIQAAAAAAAAAhAAAAAAAAACEAAAAAAAAAIQAAAAAAAAAhAAAAAAAAACEAAAAAAAAAIQAAAAAAAAAhAAAAAAAAACEAAAAAAAAAIQAAAAAAAAAhAAAAAAAAACEAAAAAAAAAIQAAAAAAAAAhAAAAAAAAACEAAAAAAAAAIQAAAAAAAAAhAAAAAAAAACEAAAAAAAAAIQAAAAAAAAAhAAAAAAAAACEAAAAAAAAAIQAAAAAAAAAhAAAAAAAAACEAAAAAAAAAIQAAAAAAAAAhAAAAAAAAACEAAAAAAAAAIQAAAAAAAAAhAAAAAAAAACEAAAAAAAAAIQAAAAAAAAAhAAAAAAAAACEAAAAAAAAAIQAAAAAAAAAhAAAAAAAAACEAAAAAAAAAIQAAAAAAAAAhAAAAAAAAACEAAAAAAAAAIQAAAAAAAAAhAAAAAAAAACEAAAAAAAAAIQAAAAAAAAAhAAAAAAAAACEAAAAAAAAAIQAAAAAAAAAhAAAAAAAAACEAAAAAAAAAIQAAAAAAAAAhAAAAAAAAACEAAAAAAAAAIQAAAAAAAAAhAAAAAAAAACEAAAAAAAAAIQAAAAAAAAAhAAAAAAAAACEAAAAAAAAAIQAAAAAAAAAhAAAAAAAAACEAAAAAAAAAIQAAAAAAAAAhAAAAAAAAACEAAAAAAAAAIQAAAAAAAAAhAAAAAAAAACEAAAAAAAAAIQAAAAAAAAAhAAAAAAAAACEAAAAAAAAAIQAAAAAAAAAhAAAAAAAAACEAAAAAAAAAIQAAAAAAAAAhAAAAAAAAACEAAAAAAAAAIQAAAAAAAAAhAAAAAAAAACEAAAAAAAAAIQAAAAAAAAAhAAAAAAAAACEAAAAAAAAAIQAAAAAAAAAhAAAAAAAAACEAAAAAAAAAIQAAAAAAAAAhAAAAAAAAACEAAAAAAAAAIQAAAAAAAAAhAAAAAAAAACEAAAAAAAAAIQAAAAAAAAAhAAAAAAAAACEAAAAAAAAAIQAAAAAAAAAhAAAAAAAAACEAAAAAAAAAIQAAAAAAAAAhAAAAAAAAACEAAAAAAAAAIQAAAAAAAAAhAAAAAAAAACEAAAAAAAAAIQAAAAAAAAAhAAAAAAAAACEAAAAAAAAAIQAAAAAAAAAhAAAAAAAAACEAAAAAAAAAIQAAAAAAAAAhAAAAAAAAACEAAAAAAAAAIQAAAAAAAAAhAAAAAAAAACEAAAAAAAAAIQAAAAAAAAAhAAAAAAAAACEAAAAAAAAAIQAAAAAAAAAhAAAAAAAAACEAAAAAAAAAIQAAAAAAAAAhAAAAAAAAACEAAAAAAAAAIQAAAAAAAAAhAAAAAAAAACEAAAAAAAAAIQAAAAAAAAAhAAAAAAAAACEAAAAAAAAAIQAAAAAAAABBAAAAAAAAAEEAAAAAAAAAQQAAAAAAAABBAAAAAAAAAEEAAAAAAAAAQQAAAAAAAABBAAAAAAAAAEEAAAAAAAAAQQAAAAAAAABBAAAAAAAAAEEAAAAAAAAAQQAAAAAAAABBAAAAAAAAAEEAAAAAAAAAQQAAAAAAAABBAAAAAAAAAEEAAAAAAAAAQQAAAAAAAABBAAAAAAAAAEEAAAAAAAAAQQAAAAAAAABRAAAAAAAAAFEAAAAAAAAAUQAAAAAAAABRAAAAAAAAAFEAAAAAAAAAUQAAAAAAAABRAAAAAAAAAFEAAAAAAAAAUQAAAAAAAABRAAAAAAAAAFEAAAAAAAAAUQAAAAAAAABRAAAAAAAAAFEAAAAAAAAAUQAAAAAAAABRAAAAAAAAAFEAAAAAAAAAUQAAAAAAAABRAAAAAAAAAFEAAAAAAAAAUQAAAAAAAABRAAAAAAAAAFEAAAAAAAAAUQAAAAAAAABRAAAAAAAAAFEAAAAAAAAAUQAAAAAAAABRAAAAAAAAAFEAAAAAAAAAUQAAAAAAAABRAAAAAAAAAFEAAAAAAAAAUQAAAAAAAABRAAAAAAAAAFEAAAAAAAAAUQAAAAAAAABRAAAAAAAAAFEAAAAAAAAAUQAAAAAAAABRAAAAAAAAAFEAAAAAAAAAUQAAAAAAAABRAAAAAAAAAFEAAAAAAAAAUQAAAAAAAABRAAAAAAAAAFEAAAAAAAAAUQAAAAAAAABRAAAAAAAAAFEAAAAAAAAAUQAAAAAAAABRAAAAAAAAAFEAAAAAAAAAUQAAAAAAAABRAAAAAAAAAFEAAAAAAAAAUQAAAAAAAABRAAAAAAAAAFEAAAAAAAAAUQAAAAAAAABRAAAAAAAAAFEAAAAAAAAAUQAAAAAAAABRAAAAAAAAAFEAAAAAAAAAUQAAAAAAAABRAAAAAAAAAFEAAAAAAAAAUQAAAAAAAABRAAAAAAAAAFEAAAAAAAAAUQAAAAAAAABRAAAAAAAAAFEAAAAAAAAAUQAAAAAAAABRAAAAAAAAAFEAAAAAAAAAUQAAAAAAAABRAAAAAAAAAFEAAAAAAAAAUQAAAAAAAABRAAAAAAAAAFEAAAAAAAAAUQAAAAAAAABRAAAAAAAAAFEAAAAAAAAAUQAAAAAAAABRAAAAAAAAAFEAAAAAAAAAUQAAAAAAAABRAAAAAAAAAFEAAAAAAAAAUQAAAAAAAABRAAAAAAAAAFEAAAAAAAAAUQAAAAAAAABRAAAAAAAAAFEAAAAAAAAAUQAAAAAAAABRAAAAAAAAAFEAAAAAAAAAUQAAAAAAAABRAAAAAAAAAFEAAAAAAAAAUQAAAAAAAABRAAAAAAAAAFEAAAAAAAAAUQAAAAAAAABRAAAAAAAAAFEAAAAAAAAAUQAAAAAAAABRAAAAAAAAAFEAAAAAAAAAUQAAAAAAAABRAAAAAAAAAFEAAAAAAAAAUQAAAAAAAABRAAAAAAAAAFEAAAAAAAAAUQAAAAAAAABRAAAAAAAAAFEAAAAAAAAAUQAAAAAAAABRAAAAAAAAAFEAAAAAAAAAUQAAAAAAAABRAAAAAAAAAFEAAAAAAAAAUQAAAAAAAABRAAAAAAAAAFEAAAAAAAAAUQAAAAAAAABRAAAAAAAAAFEAAAAAAAAAUQAAAAAAAABRAAAAAAAAAFEAAAAAAAAAUQAAAAAAAABRAAAAAAAAAFEAAAAAAAAAUQAAAAAAAABRAAAAAAAAAFEAAAAAAAAAUQAAAAAAAABRAAAAAAAAAFEAAAAAAAAAUQAAAAAAAABRAAAAAAAAAFEAAAAAAAAAUQAAAAAAAABRAAAAAAAAAFEAAAAAAAAAUQAAAAAAAABRAAAAAAAAAFEAAAAAAAAAUQAAAAAAAABRAAAAAAAAAFEAAAAAAAAAUQAAAAAAAABRAAAAAAAAAFEAAAAAAAAAUQAAAAAAAABRAAAAAAAAAFEAAAAAAAAAUQAAAAAAAABRAAAAAAAAAFEAAAAAAAAAUQAAAAAAAABRAAAAAAAAAFEAAAAAAAAAUQAAAAAAAABRAAAAAAAAAFEAAAAAAAAAUQAAAAAAAABRAAAAAAAAAFEAAAAAAAAAUQAAAAAAAABRAAAAAAAAAFEAAAAAAAAAUQAAAAAAAABRAAAAAAAAAFEAAAAAAAAAUQAAAAAAAABRAAAAAAAAAFEAAAAAAAAAUQAAAAAAAABRAAAAAAAAAFEAAAAAAAAAUQAAAAAAAABRAAAAAAAAAFEAAAAAAAAAUQAAAAAAAABRAAAAAAAAAFEAAAAAAAAAUQAAAAAAAABRAAAAAAAAAFEAAAAAAAAAUQAAAAAAAABRAAAAAAAAAFEAAAAAAAAAUQAAAAAAAABRAAAAAAAAAFEAAAAAAAAAUQAAAAAAAABRAAAAAAAAAFEAAAAAAAAAUQAAAAAAAABRAAAAAAAAAFEAAAAAAAAAUQAAAAAAAABRAAAAAAAAAFEAAAAAAAAAUQAAAAAAAABRAAAAAAAAAFEAAAAAAAAAUQAAAAAAAABRAAAAAAAAAFEAAAAAAAAAUQAAAAAAAABRAAAAAAAAAFEAAAAAAAAAUQAAAAAAAABRAAAAAAAAAFEAAAAAAAAAUQAAAAAAAABRAAAAAAAAAFEAAAAAAAAAUQAAAAAAAABRAAAAAAAAAFEAAAAAAAAAUQAAAAAAAABhAAAAAAAAAGEA=\",\"dtype\":\"float64\",\"order\":\"little\",\"shape\":[688]}},\"selected\":{\"id\":\"2835\"},\"selection_policy\":{\"id\":\"2834\"}},\"id\":\"2699\",\"type\":\"ColumnDataSource\"},{\"attributes\":{\"months\":[0,4,8]},\"id\":\"2846\",\"type\":\"MonthsTicker\"},{\"attributes\":{},\"id\":\"2835\",\"type\":\"Selection\"},{\"attributes\":{\"line_alpha\":0.2,\"line_color\":\"#1f77b4\",\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"2702\",\"type\":\"Line\"},{\"attributes\":{},\"id\":\"2671\",\"type\":\"LinearScale\"},{\"attributes\":{\"mantissas\":[1,2,5],\"max_interval\":500.0,\"num_minor_ticks\":0},\"id\":\"2837\",\"type\":\"AdaptiveTicker\"},{\"attributes\":{\"line_alpha\":0.1,\"line_color\":\"#1f77b4\",\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"2701\",\"type\":\"Line\"},{\"attributes\":{\"axis_label\":\"Date\",\"coordinates\":null,\"formatter\":{\"id\":\"2832\"},\"group\":null,\"major_label_policy\":{\"id\":\"2833\"},\"ticker\":{\"id\":\"2676\"}},\"id\":\"2675\",\"type\":\"DatetimeAxis\"},{\"attributes\":{\"tools\":[{\"id\":\"2683\"},{\"id\":\"2684\"},{\"id\":\"2685\"},{\"id\":\"2686\"},{\"id\":\"2687\"},{\"id\":\"2688\"},{\"id\":\"2697\"}]},\"id\":\"2690\",\"type\":\"Toolbar\"},{\"attributes\":{\"axis\":{\"id\":\"2679\"},\"coordinates\":null,\"dimension\":1,\"group\":null,\"ticker\":null},\"id\":\"2682\",\"type\":\"Grid\"},{\"attributes\":{\"coordinates\":null,\"group\":null},\"id\":\"2826\",\"type\":\"Title\"},{\"attributes\":{},\"id\":\"2686\",\"type\":\"SaveTool\"},{\"attributes\":{},\"id\":\"2680\",\"type\":\"BasicTicker\"},{\"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\":\"2689\",\"type\":\"BoxAnnotation\"},{\"attributes\":{\"axis\":{\"id\":\"2675\"},\"coordinates\":null,\"group\":null,\"ticker\":null},\"id\":\"2678\",\"type\":\"Grid\"},{\"attributes\":{\"coordinates\":null,\"data_source\":{\"id\":\"2699\"},\"glyph\":{\"id\":\"2700\"},\"group\":null,\"hover_glyph\":null,\"muted_glyph\":{\"id\":\"2702\"},\"nonselection_glyph\":{\"id\":\"2701\"},\"view\":{\"id\":\"2704\"}},\"id\":\"2703\",\"type\":\"GlyphRenderer\"},{\"attributes\":{},\"id\":\"2669\",\"type\":\"DataRange1d\"},{\"attributes\":{\"num_minor_ticks\":5,\"tickers\":[{\"id\":\"2837\"},{\"id\":\"2838\"},{\"id\":\"2839\"},{\"id\":\"2840\"},{\"id\":\"2841\"},{\"id\":\"2842\"},{\"id\":\"2843\"},{\"id\":\"2844\"},{\"id\":\"2845\"},{\"id\":\"2846\"},{\"id\":\"2847\"},{\"id\":\"2848\"}]},\"id\":\"2676\",\"type\":\"DatetimeTicker\"},{\"attributes\":{\"line_color\":\"#1f77b4\",\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"2700\",\"type\":\"Line\"},{\"attributes\":{},\"id\":\"2687\",\"type\":\"ResetTool\"},{\"attributes\":{},\"id\":\"2832\",\"type\":\"DatetimeTickFormatter\"},{\"attributes\":{},\"id\":\"2684\",\"type\":\"WheelZoomTool\"},{\"attributes\":{},\"id\":\"2688\",\"type\":\"HelpTool\"},{\"attributes\":{},\"id\":\"2829\",\"type\":\"BasicTickFormatter\"},{\"attributes\":{},\"id\":\"2673\",\"type\":\"LinearScale\"},{\"attributes\":{\"overlay\":{\"id\":\"2689\"}},\"id\":\"2685\",\"type\":\"BoxZoomTool\"},{\"attributes\":{\"axis_label\":\"Total Contributors\",\"coordinates\":null,\"formatter\":{\"id\":\"2829\"},\"group\":null,\"major_label_policy\":{\"id\":\"2830\"},\"ticker\":{\"id\":\"2680\"}},\"id\":\"2679\",\"type\":\"LinearAxis\"},{\"attributes\":{},\"id\":\"2683\",\"type\":\"PanTool\"},{\"attributes\":{\"source\":{\"id\":\"2699\"}},\"id\":\"2704\",\"type\":\"CDSView\"}],\"root_ids\":[\"2666\"]},\"title\":\"Bokeh Application\",\"version\":\"2.4.3\"}};\n", " const render_items = [{\"docid\":\"1c8abf97-50ce-42e9-97ef-05f58f46e0b7\",\"root_ids\":[\"2666\"],\"roots\":{\"2666\":\"53f10160-0cb7-44ed-927a-6d3c3a4e3cc7\"}}];\n", " 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": "2666" } }, "output_type": "display_data" } ], "source": [ "contributor_ts, _ = utils.get_github_contributor_timeseries(\"pvlib/pvanalytics\")\n", "p = utils.plot_github_contributors_timeseries(contributor_ts)\n", "show(p)" ] }, { "cell_type": "code", "execution_count": 15, "id": "a3aa29df-57d2-442d-bc0f-857b0904efa0", "metadata": {}, "outputs": [], "source": [ "contributors = utils.get_github_contributors('pvlib/pvanalytics')" ] }, { "cell_type": "code", "execution_count": 16, "id": "805f57a0-2301-4fb8-8e17-92c038d06c90", "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "" ] }, "execution_count": 16, "metadata": {}, "output_type": "execute_result" } ], "source": [ "mosaic = utils.make_github_contributors_mosaic(contributors)\n", "mosaic" ] }, { "cell_type": "code", "execution_count": null, "id": "8ffaad0a-3e35-4c90-85ac-1056e3ab5611", "metadata": {}, "outputs": [], "source": [] } ], "metadata": { "kernelspec": { "display_name": "Python 3 (ipykernel)", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.9.12" } }, "nbformat": 4, "nbformat_minor": 5 }