Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save FinanceData/c6c336c4727386810bec9264e81f6bba to your computer and use it in GitHub Desktop.
Save FinanceData/c6c336c4727386810bec9264e81f6bba to your computer and use it in GitHub Desktop.
FinanceDataReader Tutorial - 차트 그리기와 활용하기.ipynb
{"nbformat":4,"nbformat_minor":0,"metadata":{"colab":{"name":"FinanceDataReader Tutorial - 차트 그리기와 활용하기.ipynb","provenance":[],"collapsed_sections":[],"authorship_tag":"ABX9TyOkr/QxiMdkZs38q2Fpud6q"},"kernelspec":{"name":"python3","display_name":"Python 3"}},"cells":[{"cell_type":"markdown","metadata":{"id":"joJxpbs2LhYB"},"source":["# FinanceDataReader Tutorial \n","## 차트 그리기와 활용하기\n","\n","<img width='320' src=\"https://i.imgur.com/r0YE5Xs.png\" >\n","\n","**2021 [FinanceData.KR](http://financedata.kr) | [facebook.com/financedata](http://facebook.com/financedata)**"]},{"cell_type":"markdown","metadata":{"id":"LFeolFMbgvN9"},"source":["## FinanceDataReader 설치 (구글 Colab 경우)"]},{"cell_type":"code","metadata":{"id":"cAgcFyMZkgby","executionInfo":{"status":"ok","timestamp":1613821292605,"user_tz":-540,"elapsed":3797,"user":{"displayName":"Sean-June Lee","photoUrl":"https://lh3.googleusercontent.com/a-/AOh14Gj6rvtcx9Gy8VOzzw2LH1hYtnxIuHBDw8qnYK9SAuY=s64","userId":"12576390002043678893"}}},"source":["!pip install -q finance-datareader"],"execution_count":1,"outputs":[]},{"cell_type":"markdown","metadata":{"id":"vcJBMTZ_AadC"},"source":["FinanceDataReader는 [Bokeh](https://bokeh.org/) 기반의 캔들 차트를 지원합니다.\n","\n","구글 Colab에는 이미 [Bokeh](https://bokeh.org/)가 있기 때문에 별도의 설치는 필요하지 않습니다. \n","\n","로컬 PC의 경우, bokeh가 설치되어 있지 않아면 명령창에서 다음과 같이 bokeh를 설치하세요\n","\n","```\n","pip install bokeh\n","```"]},{"cell_type":"markdown","metadata":{"id":"RasvlL_uBAEc"},"source":["## FinanceDataReader.chart\n","\n","FinanceDataReader의 chart 객체를 사용하여 차트를 그립니다.\n","\n","다음은 2021-01-01 ~ 2021-02-15 (1.5개월)간의 삼성전자 캔틀차트 입니다.\n","\n","`fdr.DataReader()`에서 가져온 가격 데이터(df)를 `fdr.chart.plot(df)`에 전달해주면 됩니다. 차트 내에서 확대/축소, 이미지 저장, 이동 등을 자체지원합니다.\n"]},{"cell_type":"code","metadata":{"colab":{"base_uri":"https://localhost:8080/","height":528},"id":"AyQhUzAjAaZm","executionInfo":{"status":"ok","timestamp":1613821295261,"user_tz":-540,"elapsed":6447,"user":{"displayName":"Sean-June Lee","photoUrl":"https://lh3.googleusercontent.com/a-/AOh14Gj6rvtcx9Gy8VOzzw2LH1hYtnxIuHBDw8qnYK9SAuY=s64","userId":"12576390002043678893"}},"outputId":"ee8a964d-a286-4063-9c5d-1bcae4a631e8"},"source":["import FinanceDataReader as fdr\n","\n","df = fdr.DataReader('005930', '2021-01-01', '2021-02-15')\n","fdr.chart.plot(df)"],"execution_count":2,"outputs":[{"output_type":"display_data","data":{"application/javascript":["\n","(function(root) {\n"," function now() {\n"," return new Date();\n"," }\n","\n"," var force = true;\n","\n"," if (typeof root._bokeh_onload_callbacks === \"undefined\" || force === true) {\n"," root._bokeh_onload_callbacks = [];\n"," root._bokeh_is_loading = undefined;\n"," }\n","\n"," var JS_MIME_TYPE = 'application/javascript';\n"," var HTML_MIME_TYPE = 'text/html';\n"," var EXEC_MIME_TYPE = 'application/vnd.bokehjs_exec.v0+json';\n"," var CLASS_NAME = 'output_bokeh rendered_html';\n","\n"," /**\n"," * Render data to the DOM node\n"," */\n"," function render(props, node) {\n"," var script = document.createElement(\"script\");\n"," node.appendChild(script);\n"," }\n","\n"," /**\n"," * Handle when an output is cleared or removed\n"," */\n"," function handleClearOutput(event, handle) {\n"," var cell = handle.cell;\n","\n"," var id = cell.output_area._bokeh_element_id;\n"," var server_id = cell.output_area._bokeh_server_id;\n"," // Clean up Bokeh references\n"," if (id != null && id in Bokeh.index) {\n"," Bokeh.index[id].model.document.clear();\n"," delete Bokeh.index[id];\n"," }\n","\n"," if (server_id !== undefined) {\n"," // Clean up Bokeh references\n"," var cmd = \"from bokeh.io.state import curstate; print(curstate().uuid_to_server['\" + server_id + \"'].get_sessions()[0].document.roots[0]._id)\";\n"," cell.notebook.kernel.execute(cmd, {\n"," iopub: {\n"," output: function(msg) {\n"," var id = msg.content.text.trim();\n"," if (id in Bokeh.index) {\n"," Bokeh.index[id].model.document.clear();\n"," delete Bokeh.index[id];\n"," }\n"," }\n"," }\n"," });\n"," // Destroy server and session\n"," var cmd = \"import bokeh.io.notebook as ion; ion.destroy_server('\" + server_id + \"')\";\n"," cell.notebook.kernel.execute(cmd);\n"," }\n"," }\n","\n"," /**\n"," * Handle when a new output is added\n"," */\n"," function handleAddOutput(event, handle) {\n"," var output_area = handle.output_area;\n"," var output = handle.output;\n","\n"," // limit handleAddOutput to display_data with EXEC_MIME_TYPE content only\n"," if ((output.output_type != \"display_data\") || (!output.data.hasOwnProperty(EXEC_MIME_TYPE))) {\n"," return\n"," }\n","\n"," var toinsert = output_area.element.find(\".\" + CLASS_NAME.split(' ')[0]);\n","\n"," if (output.metadata[EXEC_MIME_TYPE][\"id\"] !== undefined) {\n"," toinsert[toinsert.length - 1].firstChild.textContent = output.data[JS_MIME_TYPE];\n"," // store reference to embed id on output_area\n"," output_area._bokeh_element_id = output.metadata[EXEC_MIME_TYPE][\"id\"];\n"," }\n"," if (output.metadata[EXEC_MIME_TYPE][\"server_id\"] !== undefined) {\n"," var bk_div = document.createElement(\"div\");\n"," bk_div.innerHTML = output.data[HTML_MIME_TYPE];\n"," var script_attrs = bk_div.children[0].attributes;\n"," for (var i = 0; i < script_attrs.length; i++) {\n"," toinsert[toinsert.length - 1].firstChild.setAttribute(script_attrs[i].name, script_attrs[i].value);\n"," 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"," var toinsert = this.create_output_subarea(\n"," metadata,\n"," CLASS_NAME,\n"," EXEC_MIME_TYPE\n"," );\n"," this.keyboard_manager.register_events(toinsert);\n"," // Render to node\n"," var props = {data: data, metadata: metadata[EXEC_MIME_TYPE]};\n"," render(props, toinsert[toinsert.length - 1]);\n"," element.append(toinsert);\n"," return toinsert\n"," }\n","\n"," /* Handle when an output is cleared or removed */\n"," events.on('clear_output.CodeCell', handleClearOutput);\n"," events.on('delete.Cell', handleClearOutput);\n","\n"," /* Handle when a new output is added */\n"," events.on('output_added.OutputArea', handleAddOutput);\n","\n"," /**\n"," * Register the mime type and append_mime function with output_area\n"," */\n"," OutputArea.prototype.register_mime_type(EXEC_MIME_TYPE, append_mime, {\n"," /* Is output safe? */\n"," safe: true,\n"," /* Index of renderer in `output_area.display_order` */\n"," index: 0\n"," });\n"," }\n","\n"," // register the mime type if in Jupyter Notebook environment and previously unregistered\n"," if (root.Jupyter !== undefined) {\n"," var events = require('base/js/events');\n"," var OutputArea = require('notebook/js/outputarea').OutputArea;\n","\n"," if (OutputArea.prototype.mime_types().indexOf(EXEC_MIME_TYPE) == -1) {\n"," register_renderer(events, OutputArea);\n"," }\n"," }\n","\n"," \n"," if (typeof (root._bokeh_timeout) === \"undefined\" || force === true) {\n"," root._bokeh_timeout = Date.now() + 5000;\n"," root._bokeh_failed_load = false;\n"," }\n","\n"," var NB_LOAD_WARNING = {'data': {'text/html':\n"," \"<div style='background-color: #fdd'>\\n\"+\n"," \"<p>\\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"," \"</p>\\n\"+\n"," \"<ul>\\n\"+\n"," \"<li>re-rerun `output_notebook()` to attempt to load from CDN again, or</li>\\n\"+\n"," \"<li>use INLINE resources instead, as so:</li>\\n\"+\n"," \"</ul>\\n\"+\n"," \"<code>\\n\"+\n"," \"from bokeh.resources import INLINE\\n\"+\n"," \"output_notebook(resources=INLINE)\\n\"+\n"," \"</code>\\n\"+\n"," \"</div>\"}};\n","\n"," function display_loaded() {\n"," var el = document.getElementById(null);\n"," if (el != null) {\n"," el.textContent = \"BokehJS is loading...\";\n"," }\n"," if (root.Bokeh !== undefined) {\n"," if (el != null) {\n"," el.textContent = \"BokehJS \" + root.Bokeh.version + \" successfully loaded.\";\n"," }\n"," } else if (Date.now() < root._bokeh_timeout) {\n"," setTimeout(display_loaded, 100)\n"," }\n"," }\n","\n","\n"," function run_callbacks() {\n"," try {\n"," root._bokeh_onload_callbacks.forEach(function(callback) {\n"," if (callback != null)\n"," callback();\n"," });\n"," } finally {\n"," delete root._bokeh_onload_callbacks\n"," }\n"," console.debug(\"Bokeh: all callbacks have finished\");\n"," }\n","\n"," function load_libs(css_urls, js_urls, callback) {\n"," if (css_urls == null) css_urls = [];\n"," if (js_urls == null) js_urls = [];\n","\n"," root._bokeh_onload_callbacks.push(callback);\n"," if (root._bokeh_is_loading > 0) {\n"," console.debug(\"Bokeh: BokehJS is being loaded, scheduling callback at\", now());\n"," return null;\n"," }\n"," if (js_urls == null || js_urls.length === 0) {\n"," run_callbacks();\n"," return null;\n"," }\n"," console.debug(\"Bokeh: BokehJS not loaded, scheduling load and callback at\", now());\n"," root._bokeh_is_loading = css_urls.length + js_urls.length;\n","\n"," function on_load() {\n"," root._bokeh_is_loading--;\n"," if (root._bokeh_is_loading === 0) {\n"," console.debug(\"Bokeh: all BokehJS libraries/stylesheets loaded\");\n"," run_callbacks()\n"," }\n"," }\n","\n"," function on_error() {\n"," console.error(\"failed to load \" + url);\n"," }\n","\n"," for (var i = 0; i < css_urls.length; i++) {\n"," var url = css_urls[i];\n"," const element = document.createElement(\"link\");\n"," element.onload = on_load;\n"," element.onerror = on_error;\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"," const hashes = {\"https://cdn.bokeh.org/bokeh/release/bokeh-2.1.1.min.js\": \"kLr4fYcqcSpbuI95brIH3vnnYCquzzSxHPU6XGQCIkQRGJwhg0StNbj1eegrHs12\", \"https://cdn.bokeh.org/bokeh/release/bokeh-widgets-2.1.1.min.js\": \"xIGPmVtaOm+z0BqfSOMn4lOR6ciex448GIKG4eE61LsAvmGj48XcMQZtKcE/UXZe\", \"https://cdn.bokeh.org/bokeh/release/bokeh-tables-2.1.1.min.js\": \"Dc9u1wF/0zApGIWoBbH77iWEHtdmkuYWG839Uzmv8y8yBLXebjO9ZnERsde5Ln/P\", \"https://cdn.bokeh.org/bokeh/release/bokeh-gl-2.1.1.min.js\": \"cT9JaBz7GiRXdENrJLZNSC6eMNF3nh3fa5fTF51Svp+ukxPdwcU5kGXGPBgDCa2j\"};\n","\n"," for (var i = 0; i < js_urls.length; i++) {\n"," var url = js_urls[i];\n"," var element = document.createElement('script');\n"," element.onload = on_load;\n"," element.onerror = on_error;\n"," element.async = false;\n"," element.src = url;\n"," if (url in hashes) {\n"," element.crossOrigin = \"anonymous\";\n"," element.integrity = \"sha384-\" + hashes[url];\n"," }\n"," console.debug(\"Bokeh: injecting script tag for BokehJS library: \", url);\n"," document.head.appendChild(element);\n"," }\n"," };\n","\n"," function inject_raw_css(css) {\n"," const element = document.createElement(\"style\");\n"," element.appendChild(document.createTextNode(css));\n"," document.body.appendChild(element);\n"," }\n","\n"," \n"," var js_urls = [\"https://cdn.bokeh.org/bokeh/release/bokeh-2.1.1.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-widgets-2.1.1.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-tables-2.1.1.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-gl-2.1.1.min.js\"];\n"," var css_urls = [];\n"," \n","\n"," var inline_js = [\n"," function(Bokeh) {\n"," Bokeh.set_log_level(\"info\");\n"," },\n"," function(Bokeh) {\n"," \n"," \n"," }\n"," ];\n","\n"," function run_inline_js() {\n"," \n"," if (root.Bokeh !== undefined || force === true) {\n"," \n"," for (var i = 0; i < inline_js.length; i++) {\n"," inline_js[i].call(root, root.Bokeh);\n"," }\n"," } else if (Date.now() < root._bokeh_timeout) {\n"," setTimeout(run_inline_js, 100);\n"," } else if (!root._bokeh_failed_load) {\n"," console.log(\"Bokeh: BokehJS failed to load within specified timeout.\");\n"," root._bokeh_failed_load = true;\n"," } else if (force !== true) {\n"," var cell = $(document.getElementById(null)).parents('.cell').data().cell;\n"," cell.output_area.append_execute_result(NB_LOAD_WARNING)\n"," }\n","\n"," }\n","\n"," if (root._bokeh_is_loading === 0) {\n"," console.debug(\"Bokeh: BokehJS loaded, going straight to plotting\");\n"," run_inline_js();\n"," } else {\n"," load_libs(css_urls, js_urls, function() {\n"," console.debug(\"Bokeh: BokehJS plotting callback run at\", now());\n"," run_inline_js();\n"," });\n"," }\n","}(window));"],"application/vnd.bokehjs_load.v0+json":"\n(function(root) {\n function now() {\n return new Date();\n }\n\n var force = true;\n\n if (typeof root._bokeh_onload_callbacks === \"undefined\" || force === true) {\n root._bokeh_onload_callbacks = [];\n root._bokeh_is_loading = undefined;\n }\n\n \n\n \n if (typeof (root._bokeh_timeout) === \"undefined\" || force === true) {\n root._bokeh_timeout = Date.now() + 5000;\n root._bokeh_failed_load = false;\n }\n\n var NB_LOAD_WARNING = {'data': {'text/html':\n \"<div style='background-color: #fdd'>\\n\"+\n \"<p>\\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 \"</p>\\n\"+\n \"<ul>\\n\"+\n \"<li>re-rerun `output_notebook()` to attempt to load from CDN again, or</li>\\n\"+\n \"<li>use INLINE resources instead, as so:</li>\\n\"+\n \"</ul>\\n\"+\n \"<code>\\n\"+\n \"from bokeh.resources import INLINE\\n\"+\n \"output_notebook(resources=INLINE)\\n\"+\n \"</code>\\n\"+\n \"</div>\"}};\n\n function display_loaded() {\n var el = document.getElementById(null);\n if (el != null) {\n el.textContent = \"BokehJS is loading...\";\n }\n if (root.Bokeh !== undefined) {\n if (el != null) {\n el.textContent = \"BokehJS \" + root.Bokeh.version + \" successfully loaded.\";\n }\n } else if (Date.now() < root._bokeh_timeout) {\n setTimeout(display_loaded, 100)\n }\n }\n\n\n function run_callbacks() {\n try {\n root._bokeh_onload_callbacks.forEach(function(callback) {\n if (callback != null)\n callback();\n });\n } finally {\n delete root._bokeh_onload_callbacks\n }\n console.debug(\"Bokeh: all callbacks have finished\");\n }\n\n function load_libs(css_urls, js_urls, callback) {\n if (css_urls == null) css_urls = [];\n if (js_urls == null) js_urls = [];\n\n root._bokeh_onload_callbacks.push(callback);\n if (root._bokeh_is_loading > 0) {\n console.debug(\"Bokeh: BokehJS is being loaded, scheduling callback at\", now());\n return null;\n }\n if (js_urls == null || js_urls.length === 0) {\n run_callbacks();\n return null;\n }\n console.debug(\"Bokeh: BokehJS not loaded, scheduling load and callback at\", now());\n root._bokeh_is_loading = css_urls.length + js_urls.length;\n\n function on_load() {\n root._bokeh_is_loading--;\n if (root._bokeh_is_loading === 0) {\n console.debug(\"Bokeh: all BokehJS libraries/stylesheets loaded\");\n run_callbacks()\n }\n }\n\n function on_error() {\n console.error(\"failed to load \" + url);\n }\n\n for (var i = 0; i < css_urls.length; i++) {\n var url = css_urls[i];\n const element = document.createElement(\"link\");\n element.onload = on_load;\n element.onerror = on_error;\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 const hashes = {\"https://cdn.bokeh.org/bokeh/release/bokeh-2.1.1.min.js\": \"kLr4fYcqcSpbuI95brIH3vnnYCquzzSxHPU6XGQCIkQRGJwhg0StNbj1eegrHs12\", \"https://cdn.bokeh.org/bokeh/release/bokeh-widgets-2.1.1.min.js\": \"xIGPmVtaOm+z0BqfSOMn4lOR6ciex448GIKG4eE61LsAvmGj48XcMQZtKcE/UXZe\", \"https://cdn.bokeh.org/bokeh/release/bokeh-tables-2.1.1.min.js\": \"Dc9u1wF/0zApGIWoBbH77iWEHtdmkuYWG839Uzmv8y8yBLXebjO9ZnERsde5Ln/P\", \"https://cdn.bokeh.org/bokeh/release/bokeh-gl-2.1.1.min.js\": \"cT9JaBz7GiRXdENrJLZNSC6eMNF3nh3fa5fTF51Svp+ukxPdwcU5kGXGPBgDCa2j\"};\n\n for (var i = 0; i < js_urls.length; i++) {\n var url = js_urls[i];\n var element = document.createElement('script');\n element.onload = on_load;\n element.onerror = on_error;\n element.async = false;\n element.src = url;\n if (url in hashes) {\n element.crossOrigin = \"anonymous\";\n element.integrity = \"sha384-\" + hashes[url];\n }\n console.debug(\"Bokeh: injecting script tag for BokehJS library: \", url);\n document.head.appendChild(element);\n }\n };\n\n function inject_raw_css(css) {\n const element = document.createElement(\"style\");\n element.appendChild(document.createTextNode(css));\n document.body.appendChild(element);\n }\n\n \n var js_urls = [\"https://cdn.bokeh.org/bokeh/release/bokeh-2.1.1.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-widgets-2.1.1.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-tables-2.1.1.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-gl-2.1.1.min.js\"];\n var css_urls = [];\n \n\n var inline_js = [\n function(Bokeh) {\n Bokeh.set_log_level(\"info\");\n },\n function(Bokeh) {\n \n \n }\n ];\n\n function run_inline_js() {\n \n if (root.Bokeh !== undefined || force === true) {\n \n for (var i = 0; i < inline_js.length; i++) {\n inline_js[i].call(root, root.Bokeh);\n }\n } else if (Date.now() < root._bokeh_timeout) {\n setTimeout(run_inline_js, 100);\n } else if (!root._bokeh_failed_load) {\n console.log(\"Bokeh: BokehJS failed to load within specified timeout.\");\n root._bokeh_failed_load = true;\n } else if (force !== true) {\n var cell = $(document.getElementById(null)).parents('.cell').data().cell;\n cell.output_area.append_execute_result(NB_LOAD_WARNING)\n }\n\n }\n\n if (root._bokeh_is_loading === 0) {\n console.debug(\"Bokeh: BokehJS loaded, going straight to plotting\");\n run_inline_js();\n } else {\n load_libs(css_urls, js_urls, function() {\n console.debug(\"Bokeh: BokehJS plotting callback run at\", now());\n run_inline_js();\n });\n }\n}(window));"},"metadata":{"tags":[]}},{"output_type":"display_data","data":{"text/html":["\n","\n","\n","\n","\n","\n"," <div class=\"bk-root\" id=\"5cfb6aec-386f-469b-bd73-a94e0362fac9\" data-root-id=\"1148\"></div>\n"]},"metadata":{"tags":[]}},{"output_type":"display_data","data":{"application/javascript":["(function(root) {\n"," function embed_document(root) {\n"," \n"," var docs_json = {\"7fb49e47-14b8-401d-a51b-b4dad1f39343\":{\"roots\":{\"references\":[{\"attributes\":{\"children\":[{\"id\":\"1147\"},{\"id\":\"1145\"}]},\"id\":\"1148\",\"type\":\"Column\"},{\"attributes\":{},\"id\":\"1142\",\"type\":\"Selection\"},{\"attributes\":{\"end\":29,\"start\":-1},\"id\":\"1004\",\"type\":\"Range1d\"},{\"attributes\":{\"data_source\":{\"id\":\"1056\"},\"glyph\":{\"id\":\"1057\"},\"hover_glyph\":null,\"muted_glyph\":null,\"nonselection_glyph\":{\"id\":\"1058\"},\"selection_glyph\":null,\"view\":{\"id\":\"1060\"}},\"id\":\"1059\",\"type\":\"GlyphRenderer\"},{\"attributes\":{},\"id\":\"1120\",\"type\":\"Selection\"},{\"attributes\":{\"toolbars\":[{\"id\":\"1027\"},{\"id\":\"1094\"}],\"tools\":[{\"id\":\"1020\"},{\"id\":\"1021\"},{\"id\":\"1022\"},{\"id\":\"1023\"},{\"id\":\"1024\"},{\"id\":\"1025\"},{\"id\":\"1087\"},{\"id\":\"1088\"},{\"id\":\"1089\"},{\"id\":\"1090\"},{\"id\":\"1091\"},{\"id\":\"1092\"}]},\"id\":\"1146\",\"type\":\"ProxyToolbar\"},{\"attributes\":{\"data\":{\"x\":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28],\"y\":{\"__ndarray__\":\"AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAIz0QAAAAAAA8PRAAAAAAMBD9UAAAAAAgKH1QAAAAACA9vVAAAAAAIDs9UAAAAAAgKH1QAAAAACAdPVAAAAAAEBV9UAAAAAAQEH1QAAAAABAMvVAAAAAAEBp9UAAAAAAgGX1QAAAAACAUfVAAAAAAIAa9UAAAAAAgN70QAAAAACAjvRAAAAAAMBx9EAAAAAAQGX0QAAAAABAVvRAAAAAAABp9EAAAAAAAGn0QAAAAADAU/RAAAAAAEAu9EAAAAAAgEP0QA==\",\"dtype\":\"float64\",\"order\":\"little\",\"shape\":[29]}},\"selected\":{\"id\":\"1128\"},\"selection_policy\":{\"id\":\"1127\"}},\"id\":\"1056\",\"type\":\"ColumnDataSource\"},{\"attributes\":{\"source\":{\"id\":\"1056\"}},\"id\":\"1060\",\"type\":\"CDSView\"},{\"attributes\":{\"toolbar\":{\"id\":\"1146\"},\"toolbar_location\":\"above\"},\"id\":\"1147\",\"type\":\"ToolbarBox\"},{\"attributes\":{\"bottom_units\":\"screen\",\"fill_alpha\":0.5,\"fill_color\":\"lightgrey\",\"left_units\":\"screen\",\"level\":\"overlay\",\"line_alpha\":1.0,\"line_color\":\"black\",\"line_dash\":[4,4],\"line_width\":2,\"right_units\":\"screen\",\"top_units\":\"screen\"},\"id\":\"1026\",\"type\":\"BoxAnnotation\"},{\"attributes\":{\"line_alpha\":0.1,\"line_color\":\"#1f77b4\",\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"1058\",\"type\":\"Line\"},{\"attributes\":{\"data\":{\"x0\":[0,1,3,4,5,6,8,11,13,15,18,20,21,24,28],\"x1\":[0,1,3,4,5,6,8,11,13,15,18,20,21,24,28],\"y0\":[84400,83900,84200,90000,96800,91400,90000,88000,88600,89900,85600,83400,86400,84000,84500],\"y1\":[80200,81600,82700,83000,89500,87800,88700,83600,86500,86300,83200,81000,83700,82500,83300]},\"selected\":{\"id\":\"1120\"},\"selection_policy\":{\"id\":\"1119\"}},\"id\":\"1034\",\"type\":\"ColumnDataSource\"},{\"attributes\":{\"source\":{\"id\":\"1034\"}},\"id\":\"1038\",\"type\":\"CDSView\"},{\"attributes\":{\"data\":{\"x\":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28],\"y\":{\"__ndarray__\":\"AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAUCL1QAAAAABQIvVAAAAAAOAj9UAAAAAAYCv1QAAAAAAgKvVAAAAAAJAZ9UAAAAAAkAD1QAAAAADg5/RAAAAAAJDO9EAAAAAAYL30QA==\",\"dtype\":\"float64\",\"order\":\"little\",\"shape\":[29]}},\"selected\":{\"id\":\"1130\"},\"selection_policy\":{\"id\":\"1129\"}},\"id\":\"1061\",\"type\":\"ColumnDataSource\"},{\"attributes\":{},\"id\":\"1119\",\"type\":\"UnionRenderers\"},{\"attributes\":{},\"id\":\"1121\",\"type\":\"UnionRenderers\"},{\"attributes\":{\"bottom_units\":\"screen\",\"fill_alpha\":0.5,\"fill_color\":\"lightgrey\",\"left_units\":\"screen\",\"level\":\"overlay\",\"line_alpha\":1.0,\"line_color\":\"black\",\"line_dash\":[4,4],\"line_width\":2,\"right_units\":\"screen\",\"top_units\":\"screen\"},\"id\":\"1093\",\"type\":\"BoxAnnotation\"},{\"attributes\":{\"data_source\":{\"id\":\"1034\"},\"glyph\":{\"id\":\"1035\"},\"hover_glyph\":null,\"muted_glyph\":null,\"nonselection_glyph\":{\"id\":\"1036\"},\"selection_glyph\":null,\"view\":{\"id\":\"1038\"}},\"id\":\"1037\",\"type\":\"GlyphRenderer\"},{\"attributes\":{\"line_color\":\"#ff7f0e\",\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"1062\",\"type\":\"Line\"},{\"attributes\":{\"line_alpha\":0.1,\"line_color\":\"#ff7f0e\",\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"1063\",\"type\":\"Line\"},{\"attributes\":{\"source\":{\"id\":\"1101\"}},\"id\":\"1105\",\"type\":\"CDSView\"},{\"attributes\":{\"source\":{\"id\":\"1061\"}},\"id\":\"1065\",\"type\":\"CDSView\"},{\"attributes\":{\"fill_alpha\":{\"value\":0.1},\"fill_color\":{\"value\":\"red\"},\"line_alpha\":{\"value\":0.1},\"top\":{\"field\":\"top\"},\"width\":{\"value\":0.8},\"x\":{\"field\":\"x\"}},\"id\":\"1103\",\"type\":\"VBar\"},{\"attributes\":{\"data_source\":{\"id\":\"1101\"},\"glyph\":{\"id\":\"1102\"},\"hover_glyph\":null,\"muted_glyph\":null,\"nonselection_glyph\":{\"id\":\"1103\"},\"selection_glyph\":null,\"view\":{\"id\":\"1105\"}},\"id\":\"1104\",\"type\":\"GlyphRenderer\"},{\"attributes\":{\"data_source\":{\"id\":\"1061\"},\"glyph\":{\"id\":\"1062\"},\"hover_glyph\":null,\"muted_glyph\":null,\"nonselection_glyph\":{\"id\":\"1063\"},\"selection_glyph\":null,\"view\":{\"id\":\"1065\"}},\"id\":\"1064\",\"type\":\"GlyphRenderer\"},{\"attributes\":{\"line_alpha\":{\"value\":0.1},\"line_color\":{\"value\":\"red\"},\"x0\":{\"field\":\"x0\"},\"x1\":{\"field\":\"x1\"},\"y0\":{\"field\":\"y0\"},\"y1\":{\"field\":\"y1\"}},\"id\":\"1036\",\"type\":\"Segment\"},{\"attributes\":{\"below\":[{\"id\":\"1012\"}],\"center\":[{\"id\":\"1015\"},{\"id\":\"1019\"}],\"left\":[{\"id\":\"1016\"}],\"plot_height\":336,\"plot_width\":800,\"renderers\":[{\"id\":\"1037\"},{\"id\":\"1042\"},{\"id\":\"1047\"},{\"id\":\"1052\"},{\"id\":\"1059\"},{\"id\":\"1064\"},{\"id\":\"1069\"}],\"title\":{\"id\":\"1002\"},\"toolbar\":{\"id\":\"1027\"},\"toolbar_location\":null,\"x_range\":{\"id\":\"1004\"},\"x_scale\":{\"id\":\"1008\"},\"y_range\":{\"id\":\"1006\"},\"y_scale\":{\"id\":\"1010\"}},\"id\":\"1001\",\"subtype\":\"Figure\",\"type\":\"Plot\"},{\"attributes\":{\"data\":{\"x\":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28],\"y\":{\"__ndarray__\":\"AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fw==\",\"dtype\":\"float64\",\"order\":\"little\",\"shape\":[29]}},\"selected\":{\"id\":\"1132\"},\"selection_policy\":{\"id\":\"1131\"}},\"id\":\"1066\",\"type\":\"ColumnDataSource\"},{\"attributes\":{\"text\":\"\"},\"id\":\"1002\",\"type\":\"Title\"},{\"attributes\":{\"line_color\":\"#2ca02c\",\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"1067\",\"type\":\"Line\"},{\"attributes\":{\"data\":{\"top\":[35335669,32644642,48682416,36068848,26393970,39895044,25211127,27258534,26423070,28046832,26302077,22112205,18036835,15338765],\"x\":[1,3,6,7,8,11,12,15,17,20,21,22,24,25]},\"selected\":{\"id\":\"1142\"},\"selection_policy\":{\"id\":\"1141\"}},\"id\":\"1106\",\"type\":\"ColumnDataSource\"},{\"attributes\":{\"line_alpha\":0.1,\"line_color\":\"#2ca02c\",\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"1068\",\"type\":\"Line\"},{\"attributes\":{\"data\":{\"x0\":[2,7,9,10,12,14,16,17,19,22,23,25,26,27],\"x1\":[2,7,9,10,12,14,16,17,19,22,23,25,26,27],\"y0\":[84500,91200,91800,87300,89000,89700,89200,87700,85000,85400,83800,84200,84800,82600],\"y1\":[82100,89100,88000,84100,86500,86800,86500,85600,82000,83400,82100,83000,82700,81600]},\"selected\":{\"id\":\"1122\"},\"selection_policy\":{\"id\":\"1121\"}},\"id\":\"1039\",\"type\":\"ColumnDataSource\"},{\"attributes\":{},\"id\":\"1111\",\"type\":\"NumeralTickFormatter\"},{\"attributes\":{\"line_color\":{\"value\":\"red\"},\"x0\":{\"field\":\"x0\"},\"x1\":{\"field\":\"x1\"},\"y0\":{\"field\":\"y0\"},\"y1\":{\"field\":\"y1\"}},\"id\":\"1035\",\"type\":\"Segment\"},{\"attributes\":{\"fill_alpha\":{\"value\":0.1},\"fill_color\":{\"value\":\"blue\"},\"line_alpha\":{\"value\":0.1},\"top\":{\"field\":\"top\"},\"width\":{\"value\":0.8},\"x\":{\"field\":\"x\"}},\"id\":\"1108\",\"type\":\"VBar\"},{\"attributes\":{\"end\":96800,\"start\":80200},\"id\":\"1006\",\"type\":\"Range1d\"},{\"attributes\":{\"data_source\":{\"id\":\"1106\"},\"glyph\":{\"id\":\"1107\"},\"hover_glyph\":null,\"muted_glyph\":null,\"nonselection_glyph\":{\"id\":\"1108\"},\"selection_glyph\":null,\"view\":{\"id\":\"1110\"}},\"id\":\"1109\",\"type\":\"GlyphRenderer\"},{\"attributes\":{\"line_color\":{\"value\":\"blue\"},\"x0\":{\"field\":\"x0\"},\"x1\":{\"field\":\"x1\"},\"y0\":{\"field\":\"y0\"},\"y1\":{\"field\":\"y1\"}},\"id\":\"1040\",\"type\":\"Segment\"},{\"attributes\":{\"source\":{\"id\":\"1066\"}},\"id\":\"1070\",\"type\":\"CDSView\"},{\"attributes\":{},\"id\":\"1008\",\"type\":\"LinearScale\"},{\"attributes\":{\"line_alpha\":{\"value\":0.1},\"line_color\":{\"value\":\"blue\"},\"x0\":{\"field\":\"x0\"},\"x1\":{\"field\":\"x1\"},\"y0\":{\"field\":\"y0\"},\"y1\":{\"field\":\"y1\"}},\"id\":\"1041\",\"type\":\"Segment\"},{\"attributes\":{\"fill_color\":{\"value\":\"blue\"},\"top\":{\"field\":\"top\"},\"width\":{\"value\":0.8},\"x\":{\"field\":\"x\"}},\"id\":\"1107\",\"type\":\"VBar\"},{\"attributes\":{\"data_source\":{\"id\":\"1066\"},\"glyph\":{\"id\":\"1067\"},\"hover_glyph\":null,\"muted_glyph\":null,\"nonselection_glyph\":{\"id\":\"1068\"},\"selection_glyph\":null,\"view\":{\"id\":\"1070\"}},\"id\":\"1069\",\"type\":\"GlyphRenderer\"},{\"attributes\":{},\"id\":\"1010\",\"type\":\"LinearScale\"},{\"attributes\":{\"source\":{\"id\":\"1106\"}},\"id\":\"1110\",\"type\":\"CDSView\"},{\"attributes\":{\"source\":{\"id\":\"1039\"}},\"id\":\"1043\",\"type\":\"CDSView\"},{\"attributes\":{\"range_padding\":0},\"id\":\"1073\",\"type\":\"DataRange1d\"},{\"attributes\":{\"formatter\":{\"id\":\"1116\"},\"ticker\":{\"id\":\"1013\"},\"visible\":false},\"id\":\"1012\",\"type\":\"LinearAxis\"},{\"attributes\":{},\"id\":\"1075\",\"type\":\"LinearScale\"},{\"attributes\":{},\"id\":\"1013\",\"type\":\"BasicTicker\"},{\"attributes\":{\"data_source\":{\"id\":\"1039\"},\"glyph\":{\"id\":\"1040\"},\"hover_glyph\":null,\"muted_glyph\":null,\"nonselection_glyph\":{\"id\":\"1041\"},\"selection_glyph\":null,\"view\":{\"id\":\"1043\"}},\"id\":\"1042\",\"type\":\"GlyphRenderer\"},{\"attributes\":{\"days\":[\"%Y-%m-%d\"],\"hours\":[\"%H:%M\"]},\"id\":\"1113\",\"type\":\"DatetimeTickFormatter\"},{\"attributes\":{\"children\":[[{\"id\":\"1001\"},0,0],[{\"id\":\"1071\"},1,0]]},\"id\":\"1145\",\"type\":\"GridBox\"},{\"attributes\":{\"axis\":{\"id\":\"1012\"},\"ticker\":null},\"id\":\"1015\",\"type\":\"Grid\"},{\"attributes\":{},\"id\":\"1077\",\"type\":\"LinearScale\"},{\"attributes\":{\"formatter\":{\"id\":\"1054\"},\"ticker\":{\"id\":\"1017\"}},\"id\":\"1016\",\"type\":\"LinearAxis\"},{\"attributes\":{\"formatter\":{\"id\":\"1113\"},\"major_label_orientation\":0.6283185307179586,\"major_label_overrides\":{\"0\":\"2021-01-04\",\"1\":\"2021-01-05\",\"10\":\"2021-01-18\",\"11\":\"2021-01-19\",\"12\":\"2021-01-20\",\"13\":\"2021-01-21\",\"14\":\"2021-01-22\",\"15\":\"2021-01-25\",\"16\":\"2021-01-26\",\"17\":\"2021-01-27\",\"18\":\"2021-01-28\",\"19\":\"2021-01-29\",\"2\":\"2021-01-06\",\"20\":\"2021-02-01\",\"21\":\"2021-02-02\",\"22\":\"2021-02-03\",\"23\":\"2021-02-04\",\"24\":\"2021-02-05\",\"25\":\"2021-02-08\",\"26\":\"2021-02-09\",\"27\":\"2021-02-10\",\"28\":\"2021-02-15\",\"29\":\"\",\"3\":\"2021-01-07\",\"4\":\"2021-01-08\",\"5\":\"2021-01-11\",\"6\":\"2021-01-12\",\"7\":\"2021-01-13\",\"8\":\"2021-01-14\",\"9\":\"2021-01-15\"},\"ticker\":{\"id\":\"1080\"}},\"id\":\"1079\",\"type\":\"LinearAxis\"},{\"attributes\":{},\"id\":\"1122\",\"type\":\"Selection\"},{\"attributes\":{},\"id\":\"1017\",\"type\":\"BasicTicker\"},{\"attributes\":{},\"id\":\"1080\",\"type\":\"BasicTicker\"},{\"attributes\":{\"data\":{\"bottom\":[83000,83900,82900,88800,91000,90600,89700,87000,88100,89400,83700,83000,84400,83500,84200],\"top\":[81000,81600,82800,83300,90000,90300,88700,84500,87500,87000,83200,81700,84100,83100,83800],\"x\":[0,1,3,4,5,6,8,11,13,15,18,20,21,24,28]},\"selected\":{\"id\":\"1124\"},\"selection_policy\":{\"id\":\"1123\"}},\"id\":\"1044\",\"type\":\"ColumnDataSource\"},{\"attributes\":{\"axis\":{\"id\":\"1016\"},\"dimension\":1,\"ticker\":null},\"id\":\"1019\",\"type\":\"Grid\"},{\"attributes\":{\"axis\":{\"id\":\"1079\"},\"ticker\":null},\"id\":\"1082\",\"type\":\"Grid\"},{\"attributes\":{},\"id\":\"1123\",\"type\":\"UnionRenderers\"},{\"attributes\":{\"below\":[{\"id\":\"1079\"}],\"center\":[{\"id\":\"1082\"},{\"id\":\"1086\"}],\"left\":[{\"id\":\"1083\"}],\"plot_height\":144,\"plot_width\":800,\"renderers\":[{\"id\":\"1104\"},{\"id\":\"1109\"}],\"title\":{\"id\":\"1136\"},\"toolbar\":{\"id\":\"1094\"},\"toolbar_location\":null,\"x_range\":{\"id\":\"1004\"},\"x_scale\":{\"id\":\"1075\"},\"y_range\":{\"id\":\"1073\"},\"y_scale\":{\"id\":\"1077\"}},\"id\":\"1071\",\"subtype\":\"Figure\",\"type\":\"Plot\"},{\"attributes\":{\"formatter\":{\"id\":\"1111\"},\"ticker\":{\"id\":\"1084\"}},\"id\":\"1083\",\"type\":\"LinearAxis\"},{\"attributes\":{\"bottom\":{\"field\":\"bottom\"},\"fill_alpha\":{\"value\":0.1},\"fill_color\":{\"value\":\"red\"},\"line_alpha\":{\"value\":0.1},\"line_color\":{\"value\":\"red\"},\"top\":{\"field\":\"top\"},\"width\":{\"value\":0.8},\"x\":{\"field\":\"x\"}},\"id\":\"1046\",\"type\":\"VBar\"},{\"attributes\":{},\"id\":\"1124\",\"type\":\"Selection\"},{\"attributes\":{\"data_source\":{\"id\":\"1044\"},\"glyph\":{\"id\":\"1045\"},\"hover_glyph\":null,\"muted_glyph\":null,\"nonselection_glyph\":{\"id\":\"1046\"},\"selection_glyph\":null,\"view\":{\"id\":\"1048\"}},\"id\":\"1047\",\"type\":\"GlyphRenderer\"},{\"attributes\":{},\"id\":\"1084\",\"type\":\"BasicTicker\"},{\"attributes\":{},\"id\":\"1125\",\"type\":\"UnionRenderers\"},{\"attributes\":{\"bottom\":{\"field\":\"bottom\"},\"fill_color\":{\"value\":\"red\"},\"line_color\":{\"value\":\"red\"},\"top\":{\"field\":\"top\"},\"width\":{\"value\":0.8},\"x\":{\"field\":\"x\"}},\"id\":\"1045\",\"type\":\"VBar\"},{\"attributes\":{\"axis\":{\"id\":\"1083\"},\"dimension\":1,\"ticker\":null},\"id\":\"1086\",\"type\":\"Grid\"},{\"attributes\":{},\"id\":\"1126\",\"type\":\"Selection\"},{\"attributes\":{},\"id\":\"1020\",\"type\":\"PanTool\"},{\"attributes\":{\"source\":{\"id\":\"1044\"}},\"id\":\"1048\",\"type\":\"CDSView\"},{\"attributes\":{\"data\":{\"top\":[42089013,59013307,90306177,33431809,43227951,25318011,30861661,33178936,31859808,39615978,24171688,20898332,23025766,23529706],\"x\":[2,4,5,9,10,13,14,16,18,19,23,26,27,28]},\"selected\":{\"id\":\"1140\"},\"selection_policy\":{\"id\":\"1139\"}},\"id\":\"1101\",\"type\":\"ColumnDataSource\"},{\"attributes\":{},\"id\":\"1127\",\"type\":\"UnionRenderers\"},{\"attributes\":{},\"id\":\"1021\",\"type\":\"WheelZoomTool\"},{\"attributes\":{},\"id\":\"1128\",\"type\":\"Selection\"},{\"attributes\":{\"overlay\":{\"id\":\"1026\"}},\"id\":\"1022\",\"type\":\"BoxZoomTool\"},{\"attributes\":{},\"id\":\"1129\",\"type\":\"UnionRenderers\"},{\"attributes\":{},\"id\":\"1023\",\"type\":\"SaveTool\"},{\"attributes\":{},\"id\":\"1087\",\"type\":\"PanTool\"},{\"attributes\":{},\"id\":\"1130\",\"type\":\"Selection\"},{\"attributes\":{},\"id\":\"1024\",\"type\":\"ResetTool\"},{\"attributes\":{},\"id\":\"1088\",\"type\":\"WheelZoomTool\"},{\"attributes\":{},\"id\":\"1131\",\"type\":\"UnionRenderers\"},{\"attributes\":{},\"id\":\"1025\",\"type\":\"HelpTool\"},{\"attributes\":{\"overlay\":{\"id\":\"1093\"}},\"id\":\"1089\",\"type\":\"BoxZoomTool\"},{\"attributes\":{\"data\":{\"bottom\":[82200,89700,88000,85000,87200,86800,86700,85600,82000,84600,82500,83000,82700,81600],\"top\":[83300,89800,89800,86600,89000,89000,88800,86600,84500,84800,83500,83800,84000,82600],\"x\":[2,7,9,10,12,14,16,17,19,22,23,25,26,27]},\"selected\":{\"id\":\"1126\"},\"selection_policy\":{\"id\":\"1125\"}},\"id\":\"1049\",\"type\":\"ColumnDataSource\"},{\"attributes\":{},\"id\":\"1132\",\"type\":\"Selection\"},{\"attributes\":{},\"id\":\"1090\",\"type\":\"SaveTool\"},{\"attributes\":{\"line_color\":\"#1f77b4\",\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"1057\",\"type\":\"Line\"},{\"attributes\":{\"text\":\"\"},\"id\":\"1136\",\"type\":\"Title\"},{\"attributes\":{\"bottom\":{\"field\":\"bottom\"},\"fill_alpha\":{\"value\":0.1},\"fill_color\":{\"value\":\"blue\"},\"line_alpha\":{\"value\":0.1},\"line_color\":{\"value\":\"blue\"},\"top\":{\"field\":\"top\"},\"width\":{\"value\":0.8},\"x\":{\"field\":\"x\"}},\"id\":\"1051\",\"type\":\"VBar\"},{\"attributes\":{},\"id\":\"1116\",\"type\":\"BasicTickFormatter\"},{\"attributes\":{},\"id\":\"1091\",\"type\":\"ResetTool\"},{\"attributes\":{\"active_drag\":\"auto\",\"active_inspect\":\"auto\",\"active_multi\":null,\"active_scroll\":\"auto\",\"active_tap\":\"auto\",\"tools\":[{\"id\":\"1020\"},{\"id\":\"1021\"},{\"id\":\"1022\"},{\"id\":\"1023\"},{\"id\":\"1024\"},{\"id\":\"1025\"}]},\"id\":\"1027\",\"type\":\"Toolbar\"},{\"attributes\":{\"data_source\":{\"id\":\"1049\"},\"glyph\":{\"id\":\"1050\"},\"hover_glyph\":null,\"muted_glyph\":null,\"nonselection_glyph\":{\"id\":\"1051\"},\"selection_glyph\":null,\"view\":{\"id\":\"1053\"}},\"id\":\"1052\",\"type\":\"GlyphRenderer\"},{\"attributes\":{},\"id\":\"1139\",\"type\":\"UnionRenderers\"},{\"attributes\":{},\"id\":\"1092\",\"type\":\"HelpTool\"},{\"attributes\":{\"bottom\":{\"field\":\"bottom\"},\"fill_color\":{\"value\":\"blue\"},\"line_color\":{\"value\":\"blue\"},\"top\":{\"field\":\"top\"},\"width\":{\"value\":0.8},\"x\":{\"field\":\"x\"}},\"id\":\"1050\",\"type\":\"VBar\"},{\"attributes\":{\"source\":{\"id\":\"1049\"}},\"id\":\"1053\",\"type\":\"CDSView\"},{\"attributes\":{},\"id\":\"1140\",\"type\":\"Selection\"},{\"attributes\":{\"fill_color\":{\"value\":\"red\"},\"top\":{\"field\":\"top\"},\"width\":{\"value\":0.8},\"x\":{\"field\":\"x\"}},\"id\":\"1102\",\"type\":\"VBar\"},{\"attributes\":{},\"id\":\"1141\",\"type\":\"UnionRenderers\"},{\"attributes\":{\"active_drag\":\"auto\",\"active_inspect\":\"auto\",\"active_multi\":null,\"active_scroll\":\"auto\",\"active_tap\":\"auto\",\"tools\":[{\"id\":\"1087\"},{\"id\":\"1088\"},{\"id\":\"1089\"},{\"id\":\"1090\"},{\"id\":\"1091\"},{\"id\":\"1092\"}]},\"id\":\"1094\",\"type\":\"Toolbar\"},{\"attributes\":{},\"id\":\"1054\",\"type\":\"NumeralTickFormatter\"}],\"root_ids\":[\"1148\"]},\"title\":\"Bokeh Application\",\"version\":\"2.1.1\"}};\n"," var render_items = [{\"docid\":\"7fb49e47-14b8-401d-a51b-b4dad1f39343\",\"root_ids\":[\"1148\"],\"roots\":{\"1148\":\"5cfb6aec-386f-469b-bd73-a94e0362fac9\"}}];\n"," root.Bokeh.embed.embed_items_notebook(docs_json, render_items);\n","\n"," }\n"," if (root.Bokeh !== undefined) {\n"," embed_document(root);\n"," } else {\n"," var attempts = 0;\n"," var timer = setInterval(function(root) {\n"," if (root.Bokeh !== undefined) {\n"," 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":{"tags":[],"application/vnd.bokehjs_exec.v0+json":{"id":"1148"}}}]},{"cell_type":"markdown","metadata":{"id":"V-rHd0VqAaUs"},"source":["## fdr.chart.plot() 파라미터\n","\n","fdr.chart.plot()는 다양한 파라미터가 있으며, 원하는 값들을 지정할 수 있습니다. "]},{"cell_type":"code","metadata":{"colab":{"base_uri":"https://localhost:8080/","height":528},"id":"o5HRwZseD9v9","executionInfo":{"status":"ok","timestamp":1613821295262,"user_tz":-540,"elapsed":6443,"user":{"displayName":"Sean-June Lee","photoUrl":"https://lh3.googleusercontent.com/a-/AOh14Gj6rvtcx9Gy8VOzzw2LH1hYtnxIuHBDw8qnYK9SAuY=s64","userId":"12576390002043678893"}},"outputId":"f6facf04-ca90-448f-d01f-5a1614764fa7"},"source":["fdr.chart.plot(df, title='삼성전자(005930)')"],"execution_count":3,"outputs":[{"output_type":"display_data","data":{"application/javascript":["\n","(function(root) {\n"," function now() {\n"," return new Date();\n"," }\n","\n"," var force = true;\n","\n"," if (typeof root._bokeh_onload_callbacks === \"undefined\" || force === true) {\n"," root._bokeh_onload_callbacks = [];\n"," root._bokeh_is_loading = undefined;\n"," }\n","\n"," var JS_MIME_TYPE = 'application/javascript';\n"," var HTML_MIME_TYPE = 'text/html';\n"," var EXEC_MIME_TYPE = 'application/vnd.bokehjs_exec.v0+json';\n"," var CLASS_NAME = 'output_bokeh rendered_html';\n","\n"," /**\n"," * Render data to the DOM node\n"," */\n"," function render(props, node) {\n"," var script = document.createElement(\"script\");\n"," node.appendChild(script);\n"," }\n","\n"," /**\n"," * Handle when an output is cleared or removed\n"," */\n"," function handleClearOutput(event, handle) {\n"," var cell = handle.cell;\n","\n"," var id = cell.output_area._bokeh_element_id;\n"," var server_id = cell.output_area._bokeh_server_id;\n"," // Clean up Bokeh references\n"," if (id != null && id in Bokeh.index) {\n"," Bokeh.index[id].model.document.clear();\n"," delete Bokeh.index[id];\n"," }\n","\n"," if (server_id !== undefined) {\n"," // Clean up Bokeh references\n"," var cmd = \"from bokeh.io.state import curstate; print(curstate().uuid_to_server['\" + server_id + \"'].get_sessions()[0].document.roots[0]._id)\";\n"," cell.notebook.kernel.execute(cmd, {\n"," iopub: {\n"," output: function(msg) {\n"," var id = msg.content.text.trim();\n"," if (id in Bokeh.index) {\n"," Bokeh.index[id].model.document.clear();\n"," delete Bokeh.index[id];\n"," }\n"," }\n"," }\n"," });\n"," // Destroy server and session\n"," var cmd = \"import bokeh.io.notebook as ion; ion.destroy_server('\" + server_id + \"')\";\n"," cell.notebook.kernel.execute(cmd);\n"," }\n"," }\n","\n"," /**\n"," * Handle when a new output is added\n"," */\n"," function handleAddOutput(event, handle) {\n"," var output_area = handle.output_area;\n"," var output = handle.output;\n","\n"," // limit handleAddOutput to display_data with EXEC_MIME_TYPE content only\n"," if ((output.output_type != \"display_data\") || (!output.data.hasOwnProperty(EXEC_MIME_TYPE))) {\n"," return\n"," }\n","\n"," var toinsert = output_area.element.find(\".\" + CLASS_NAME.split(' ')[0]);\n","\n"," if (output.metadata[EXEC_MIME_TYPE][\"id\"] !== undefined) {\n"," toinsert[toinsert.length - 1].firstChild.textContent = output.data[JS_MIME_TYPE];\n"," // store reference to embed id on output_area\n"," output_area._bokeh_element_id = output.metadata[EXEC_MIME_TYPE][\"id\"];\n"," }\n"," if (output.metadata[EXEC_MIME_TYPE][\"server_id\"] !== undefined) {\n"," var bk_div = document.createElement(\"div\");\n"," bk_div.innerHTML = output.data[HTML_MIME_TYPE];\n"," var script_attrs = bk_div.children[0].attributes;\n"," for (var i = 0; i < script_attrs.length; i++) {\n"," toinsert[toinsert.length - 1].firstChild.setAttribute(script_attrs[i].name, script_attrs[i].value);\n"," 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"," var toinsert = this.create_output_subarea(\n"," metadata,\n"," CLASS_NAME,\n"," EXEC_MIME_TYPE\n"," );\n"," this.keyboard_manager.register_events(toinsert);\n"," // Render to node\n"," var props = {data: data, metadata: metadata[EXEC_MIME_TYPE]};\n"," render(props, toinsert[toinsert.length - 1]);\n"," element.append(toinsert);\n"," return toinsert\n"," }\n","\n"," /* Handle when an output is cleared or removed */\n"," events.on('clear_output.CodeCell', handleClearOutput);\n"," events.on('delete.Cell', handleClearOutput);\n","\n"," /* Handle when a new output is added */\n"," events.on('output_added.OutputArea', handleAddOutput);\n","\n"," /**\n"," * Register the mime type and append_mime function with output_area\n"," */\n"," OutputArea.prototype.register_mime_type(EXEC_MIME_TYPE, append_mime, {\n"," /* Is output safe? */\n"," safe: true,\n"," /* Index of renderer in `output_area.display_order` */\n"," index: 0\n"," });\n"," }\n","\n"," // register the mime type if in Jupyter Notebook environment and previously unregistered\n"," if (root.Jupyter !== undefined) {\n"," var events = require('base/js/events');\n"," var OutputArea = require('notebook/js/outputarea').OutputArea;\n","\n"," if (OutputArea.prototype.mime_types().indexOf(EXEC_MIME_TYPE) == -1) {\n"," register_renderer(events, OutputArea);\n"," }\n"," }\n","\n"," \n"," if (typeof (root._bokeh_timeout) === \"undefined\" || force === true) {\n"," root._bokeh_timeout = Date.now() + 5000;\n"," root._bokeh_failed_load = false;\n"," }\n","\n"," var NB_LOAD_WARNING = {'data': {'text/html':\n"," \"<div style='background-color: #fdd'>\\n\"+\n"," \"<p>\\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"," \"</p>\\n\"+\n"," \"<ul>\\n\"+\n"," \"<li>re-rerun `output_notebook()` to attempt to load from CDN again, or</li>\\n\"+\n"," \"<li>use INLINE resources instead, as so:</li>\\n\"+\n"," \"</ul>\\n\"+\n"," \"<code>\\n\"+\n"," \"from bokeh.resources import INLINE\\n\"+\n"," \"output_notebook(resources=INLINE)\\n\"+\n"," \"</code>\\n\"+\n"," \"</div>\"}};\n","\n"," function display_loaded() {\n"," var el = document.getElementById(null);\n"," if (el != null) {\n"," el.textContent = \"BokehJS is loading...\";\n"," }\n"," if (root.Bokeh !== undefined) {\n"," if (el != null) {\n"," el.textContent = \"BokehJS \" + root.Bokeh.version + \" successfully loaded.\";\n"," }\n"," } else if (Date.now() < root._bokeh_timeout) {\n"," setTimeout(display_loaded, 100)\n"," }\n"," }\n","\n","\n"," function run_callbacks() {\n"," try {\n"," root._bokeh_onload_callbacks.forEach(function(callback) {\n"," if (callback != null)\n"," callback();\n"," });\n"," } finally {\n"," delete root._bokeh_onload_callbacks\n"," }\n"," console.debug(\"Bokeh: all callbacks have finished\");\n"," }\n","\n"," function load_libs(css_urls, js_urls, callback) {\n"," if (css_urls == null) css_urls = [];\n"," if (js_urls == null) js_urls = [];\n","\n"," root._bokeh_onload_callbacks.push(callback);\n"," if (root._bokeh_is_loading > 0) {\n"," console.debug(\"Bokeh: BokehJS is being loaded, scheduling callback at\", now());\n"," return null;\n"," }\n"," if (js_urls == null || js_urls.length === 0) {\n"," run_callbacks();\n"," return null;\n"," }\n"," console.debug(\"Bokeh: BokehJS not loaded, scheduling load and callback at\", now());\n"," root._bokeh_is_loading = css_urls.length + js_urls.length;\n","\n"," function on_load() {\n"," root._bokeh_is_loading--;\n"," if (root._bokeh_is_loading === 0) {\n"," console.debug(\"Bokeh: all BokehJS libraries/stylesheets loaded\");\n"," run_callbacks()\n"," }\n"," }\n","\n"," function on_error() {\n"," console.error(\"failed to load \" + url);\n"," }\n","\n"," for (var i = 0; i < css_urls.length; i++) {\n"," var url = css_urls[i];\n"," const element = document.createElement(\"link\");\n"," element.onload = on_load;\n"," element.onerror = on_error;\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"," const hashes = {\"https://cdn.bokeh.org/bokeh/release/bokeh-2.1.1.min.js\": \"kLr4fYcqcSpbuI95brIH3vnnYCquzzSxHPU6XGQCIkQRGJwhg0StNbj1eegrHs12\", \"https://cdn.bokeh.org/bokeh/release/bokeh-widgets-2.1.1.min.js\": \"xIGPmVtaOm+z0BqfSOMn4lOR6ciex448GIKG4eE61LsAvmGj48XcMQZtKcE/UXZe\", \"https://cdn.bokeh.org/bokeh/release/bokeh-tables-2.1.1.min.js\": \"Dc9u1wF/0zApGIWoBbH77iWEHtdmkuYWG839Uzmv8y8yBLXebjO9ZnERsde5Ln/P\", \"https://cdn.bokeh.org/bokeh/release/bokeh-gl-2.1.1.min.js\": \"cT9JaBz7GiRXdENrJLZNSC6eMNF3nh3fa5fTF51Svp+ukxPdwcU5kGXGPBgDCa2j\"};\n","\n"," for (var i = 0; i < js_urls.length; i++) {\n"," var url = js_urls[i];\n"," var element = document.createElement('script');\n"," element.onload = on_load;\n"," element.onerror = on_error;\n"," element.async = false;\n"," element.src = url;\n"," if (url in hashes) {\n"," element.crossOrigin = \"anonymous\";\n"," element.integrity = \"sha384-\" + hashes[url];\n"," }\n"," console.debug(\"Bokeh: injecting script tag for BokehJS library: \", url);\n"," document.head.appendChild(element);\n"," }\n"," };\n","\n"," function inject_raw_css(css) {\n"," const element = document.createElement(\"style\");\n"," element.appendChild(document.createTextNode(css));\n"," document.body.appendChild(element);\n"," }\n","\n"," \n"," var js_urls = [\"https://cdn.bokeh.org/bokeh/release/bokeh-2.1.1.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-widgets-2.1.1.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-tables-2.1.1.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-gl-2.1.1.min.js\"];\n"," var css_urls = [];\n"," \n","\n"," var inline_js = [\n"," function(Bokeh) {\n"," Bokeh.set_log_level(\"info\");\n"," },\n"," function(Bokeh) {\n"," \n"," \n"," }\n"," ];\n","\n"," function run_inline_js() {\n"," \n"," if (root.Bokeh !== undefined || force === true) {\n"," \n"," for (var i = 0; i < inline_js.length; i++) {\n"," inline_js[i].call(root, root.Bokeh);\n"," }\n"," } else if (Date.now() < root._bokeh_timeout) {\n"," setTimeout(run_inline_js, 100);\n"," } else if (!root._bokeh_failed_load) {\n"," console.log(\"Bokeh: BokehJS failed to load within specified timeout.\");\n"," root._bokeh_failed_load = true;\n"," } else if (force !== true) {\n"," var cell = $(document.getElementById(null)).parents('.cell').data().cell;\n"," cell.output_area.append_execute_result(NB_LOAD_WARNING)\n"," }\n","\n"," }\n","\n"," if (root._bokeh_is_loading === 0) {\n"," console.debug(\"Bokeh: BokehJS loaded, going straight to plotting\");\n"," run_inline_js();\n"," } else {\n"," load_libs(css_urls, js_urls, function() {\n"," console.debug(\"Bokeh: BokehJS plotting callback run at\", now());\n"," run_inline_js();\n"," });\n"," }\n","}(window));"],"application/vnd.bokehjs_load.v0+json":"\n(function(root) {\n function now() {\n return new Date();\n }\n\n var force = true;\n\n if (typeof root._bokeh_onload_callbacks === \"undefined\" || force === true) {\n root._bokeh_onload_callbacks = [];\n root._bokeh_is_loading = undefined;\n }\n\n \n\n \n if (typeof (root._bokeh_timeout) === \"undefined\" || force === true) {\n root._bokeh_timeout = Date.now() + 5000;\n root._bokeh_failed_load = false;\n }\n\n var NB_LOAD_WARNING = {'data': {'text/html':\n \"<div style='background-color: #fdd'>\\n\"+\n \"<p>\\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 \"</p>\\n\"+\n \"<ul>\\n\"+\n \"<li>re-rerun `output_notebook()` to attempt to load from CDN again, or</li>\\n\"+\n \"<li>use INLINE resources instead, as so:</li>\\n\"+\n \"</ul>\\n\"+\n \"<code>\\n\"+\n \"from bokeh.resources import INLINE\\n\"+\n \"output_notebook(resources=INLINE)\\n\"+\n \"</code>\\n\"+\n \"</div>\"}};\n\n function display_loaded() {\n var el = document.getElementById(null);\n if (el != null) {\n el.textContent = \"BokehJS is loading...\";\n }\n if (root.Bokeh !== undefined) {\n if (el != null) {\n el.textContent = \"BokehJS \" + root.Bokeh.version + \" successfully loaded.\";\n }\n } else if (Date.now() < root._bokeh_timeout) {\n setTimeout(display_loaded, 100)\n }\n }\n\n\n function run_callbacks() {\n try {\n root._bokeh_onload_callbacks.forEach(function(callback) {\n if (callback != null)\n callback();\n });\n } finally {\n delete root._bokeh_onload_callbacks\n }\n console.debug(\"Bokeh: all callbacks have finished\");\n }\n\n function load_libs(css_urls, js_urls, callback) {\n if (css_urls == null) css_urls = [];\n if (js_urls == null) js_urls = [];\n\n root._bokeh_onload_callbacks.push(callback);\n if (root._bokeh_is_loading > 0) {\n console.debug(\"Bokeh: BokehJS is being loaded, scheduling callback at\", now());\n return null;\n }\n if (js_urls == null || js_urls.length === 0) {\n run_callbacks();\n return null;\n }\n console.debug(\"Bokeh: BokehJS not loaded, scheduling load and callback at\", now());\n root._bokeh_is_loading = css_urls.length + js_urls.length;\n\n function on_load() {\n root._bokeh_is_loading--;\n if (root._bokeh_is_loading === 0) {\n console.debug(\"Bokeh: all BokehJS libraries/stylesheets loaded\");\n run_callbacks()\n }\n }\n\n function on_error() {\n console.error(\"failed to load \" + url);\n }\n\n for (var i = 0; i < css_urls.length; i++) {\n var url = css_urls[i];\n const element = document.createElement(\"link\");\n element.onload = on_load;\n element.onerror = on_error;\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 const hashes = {\"https://cdn.bokeh.org/bokeh/release/bokeh-2.1.1.min.js\": \"kLr4fYcqcSpbuI95brIH3vnnYCquzzSxHPU6XGQCIkQRGJwhg0StNbj1eegrHs12\", \"https://cdn.bokeh.org/bokeh/release/bokeh-widgets-2.1.1.min.js\": \"xIGPmVtaOm+z0BqfSOMn4lOR6ciex448GIKG4eE61LsAvmGj48XcMQZtKcE/UXZe\", \"https://cdn.bokeh.org/bokeh/release/bokeh-tables-2.1.1.min.js\": \"Dc9u1wF/0zApGIWoBbH77iWEHtdmkuYWG839Uzmv8y8yBLXebjO9ZnERsde5Ln/P\", \"https://cdn.bokeh.org/bokeh/release/bokeh-gl-2.1.1.min.js\": \"cT9JaBz7GiRXdENrJLZNSC6eMNF3nh3fa5fTF51Svp+ukxPdwcU5kGXGPBgDCa2j\"};\n\n for (var i = 0; i < js_urls.length; i++) {\n var url = js_urls[i];\n var element = document.createElement('script');\n element.onload = on_load;\n element.onerror = on_error;\n element.async = false;\n element.src = url;\n if (url in hashes) {\n element.crossOrigin = \"anonymous\";\n element.integrity = \"sha384-\" + hashes[url];\n }\n console.debug(\"Bokeh: injecting script tag for BokehJS library: \", url);\n document.head.appendChild(element);\n }\n };\n\n function inject_raw_css(css) {\n const element = document.createElement(\"style\");\n element.appendChild(document.createTextNode(css));\n document.body.appendChild(element);\n }\n\n \n var js_urls = [\"https://cdn.bokeh.org/bokeh/release/bokeh-2.1.1.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-widgets-2.1.1.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-tables-2.1.1.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-gl-2.1.1.min.js\"];\n var css_urls = [];\n \n\n var inline_js = [\n function(Bokeh) {\n Bokeh.set_log_level(\"info\");\n },\n function(Bokeh) {\n \n \n }\n ];\n\n function run_inline_js() {\n \n if (root.Bokeh !== undefined || force === true) {\n \n for (var i = 0; i < inline_js.length; i++) {\n inline_js[i].call(root, root.Bokeh);\n }\n } else if (Date.now() < root._bokeh_timeout) {\n setTimeout(run_inline_js, 100);\n } else if (!root._bokeh_failed_load) {\n console.log(\"Bokeh: BokehJS failed to load within specified timeout.\");\n root._bokeh_failed_load = true;\n } else if (force !== true) {\n var cell = $(document.getElementById(null)).parents('.cell').data().cell;\n cell.output_area.append_execute_result(NB_LOAD_WARNING)\n }\n\n }\n\n if (root._bokeh_is_loading === 0) {\n console.debug(\"Bokeh: BokehJS loaded, going straight to plotting\");\n run_inline_js();\n } else {\n load_libs(css_urls, js_urls, function() {\n console.debug(\"Bokeh: BokehJS plotting callback run at\", now());\n run_inline_js();\n });\n }\n}(window));"},"metadata":{"tags":[]}},{"output_type":"display_data","data":{"text/html":["\n","\n","\n","\n","\n","\n"," <div class=\"bk-root\" id=\"2bbc22ed-0c9d-4c69-b925-604c495eb4cb\" data-root-id=\"1492\"></div>\n"]},"metadata":{"tags":[]}},{"output_type":"display_data","data":{"application/javascript":["(function(root) {\n"," function embed_document(root) {\n"," \n"," var docs_json = {\"a4a6a244-00fa-478f-84c3-fe3cc4e6aee0\":{\"roots\":{\"references\":[{\"attributes\":{\"children\":[{\"id\":\"1491\"},{\"id\":\"1489\"}]},\"id\":\"1492\",\"type\":\"Column\"},{\"attributes\":{\"line_color\":{\"value\":\"blue\"},\"x0\":{\"field\":\"x0\"},\"x1\":{\"field\":\"x1\"},\"y0\":{\"field\":\"y0\"},\"y1\":{\"field\":\"y1\"}},\"id\":\"1384\",\"type\":\"Segment\"},{\"attributes\":{\"line_alpha\":{\"value\":0.1},\"line_color\":{\"value\":\"blue\"},\"x0\":{\"field\":\"x0\"},\"x1\":{\"field\":\"x1\"},\"y0\":{\"field\":\"y0\"},\"y1\":{\"field\":\"y1\"}},\"id\":\"1385\",\"type\":\"Segment\"},{\"attributes\":{\"data\":{\"x0\":[2,7,9,10,12,14,16,17,19,22,23,25,26,27],\"x1\":[2,7,9,10,12,14,16,17,19,22,23,25,26,27],\"y0\":[84500,91200,91800,87300,89000,89700,89200,87700,85000,85400,83800,84200,84800,82600],\"y1\":[82100,89100,88000,84100,86500,86800,86500,85600,82000,83400,82100,83000,82700,81600]},\"selected\":{\"id\":\"1466\"},\"selection_policy\":{\"id\":\"1465\"}},\"id\":\"1383\",\"type\":\"ColumnDataSource\"},{\"attributes\":{\"source\":{\"id\":\"1400\"}},\"id\":\"1404\",\"type\":\"CDSView\"},{\"attributes\":{\"line_alpha\":{\"value\":0.1},\"line_color\":{\"value\":\"red\"},\"x0\":{\"field\":\"x0\"},\"x1\":{\"field\":\"x1\"},\"y0\":{\"field\":\"y0\"},\"y1\":{\"field\":\"y1\"}},\"id\":\"1380\",\"type\":\"Segment\"},{\"attributes\":{\"data_source\":{\"id\":\"1400\"},\"glyph\":{\"id\":\"1401\"},\"hover_glyph\":null,\"muted_glyph\":null,\"nonselection_glyph\":{\"id\":\"1402\"},\"selection_glyph\":null,\"view\":{\"id\":\"1404\"}},\"id\":\"1403\",\"type\":\"GlyphRenderer\"},{\"attributes\":{\"data_source\":{\"id\":\"1378\"},\"glyph\":{\"id\":\"1379\"},\"hover_glyph\":null,\"muted_glyph\":null,\"nonselection_glyph\":{\"id\":\"1380\"},\"selection_glyph\":null,\"view\":{\"id\":\"1382\"}},\"id\":\"1381\",\"type\":\"GlyphRenderer\"},{\"attributes\":{\"source\":{\"id\":\"1378\"}},\"id\":\"1382\",\"type\":\"CDSView\"},{\"attributes\":{\"bottom\":{\"field\":\"bottom\"},\"fill_alpha\":{\"value\":0.1},\"fill_color\":{\"value\":\"red\"},\"line_alpha\":{\"value\":0.1},\"line_color\":{\"value\":\"red\"},\"top\":{\"field\":\"top\"},\"width\":{\"value\":0.8},\"x\":{\"field\":\"x\"}},\"id\":\"1390\",\"type\":\"VBar\"},{\"attributes\":{\"data_source\":{\"id\":\"1383\"},\"glyph\":{\"id\":\"1384\"},\"hover_glyph\":null,\"muted_glyph\":null,\"nonselection_glyph\":{\"id\":\"1385\"},\"selection_glyph\":null,\"view\":{\"id\":\"1387\"}},\"id\":\"1386\",\"type\":\"GlyphRenderer\"},{\"attributes\":{\"data\":{\"bottom\":[83000,83900,82900,88800,91000,90600,89700,87000,88100,89400,83700,83000,84400,83500,84200],\"top\":[81000,81600,82800,83300,90000,90300,88700,84500,87500,87000,83200,81700,84100,83100,83800],\"x\":[0,1,3,4,5,6,8,11,13,15,18,20,21,24,28]},\"selected\":{\"id\":\"1468\"},\"selection_policy\":{\"id\":\"1467\"}},\"id\":\"1388\",\"type\":\"ColumnDataSource\"},{\"attributes\":{\"source\":{\"id\":\"1383\"}},\"id\":\"1387\",\"type\":\"CDSView\"},{\"attributes\":{\"source\":{\"id\":\"1388\"}},\"id\":\"1392\",\"type\":\"CDSView\"},{\"attributes\":{\"data_source\":{\"id\":\"1388\"},\"glyph\":{\"id\":\"1389\"},\"hover_glyph\":null,\"muted_glyph\":null,\"nonselection_glyph\":{\"id\":\"1390\"},\"selection_glyph\":null,\"view\":{\"id\":\"1392\"}},\"id\":\"1391\",\"type\":\"GlyphRenderer\"},{\"attributes\":{\"bottom\":{\"field\":\"bottom\"},\"fill_color\":{\"value\":\"red\"},\"line_color\":{\"value\":\"red\"},\"top\":{\"field\":\"top\"},\"width\":{\"value\":0.8},\"x\":{\"field\":\"x\"}},\"id\":\"1389\",\"type\":\"VBar\"},{\"attributes\":{\"line_color\":\"#1f77b4\",\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"1401\",\"type\":\"Line\"},{\"attributes\":{\"data\":{\"x\":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28],\"y\":{\"__ndarray__\":\"AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAIz0QAAAAAAA8PRAAAAAAMBD9UAAAAAAgKH1QAAAAACA9vVAAAAAAIDs9UAAAAAAgKH1QAAAAACAdPVAAAAAAEBV9UAAAAAAQEH1QAAAAABAMvVAAAAAAEBp9UAAAAAAgGX1QAAAAACAUfVAAAAAAIAa9UAAAAAAgN70QAAAAACAjvRAAAAAAMBx9EAAAAAAQGX0QAAAAABAVvRAAAAAAABp9EAAAAAAAGn0QAAAAADAU/RAAAAAAEAu9EAAAAAAgEP0QA==\",\"dtype\":\"float64\",\"order\":\"little\",\"shape\":[29]}},\"selected\":{\"id\":\"1472\"},\"selection_policy\":{\"id\":\"1471\"}},\"id\":\"1400\",\"type\":\"ColumnDataSource\"},{\"attributes\":{\"data\":{\"bottom\":[82200,89700,88000,85000,87200,86800,86700,85600,82000,84600,82500,83000,82700,81600],\"top\":[83300,89800,89800,86600,89000,89000,88800,86600,84500,84800,83500,83800,84000,82600],\"x\":[2,7,9,10,12,14,16,17,19,22,23,25,26,27]},\"selected\":{\"id\":\"1470\"},\"selection_policy\":{\"id\":\"1469\"}},\"id\":\"1393\",\"type\":\"ColumnDataSource\"},{\"attributes\":{\"line_alpha\":0.1,\"line_color\":\"#1f77b4\",\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"1402\",\"type\":\"Line\"},{\"attributes\":{},\"id\":\"1467\",\"type\":\"UnionRenderers\"},{\"attributes\":{\"data\":{\"x\":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28],\"y\":{\"__ndarray__\":\"AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAUCL1QAAAAABQIvVAAAAAAOAj9UAAAAAAYCv1QAAAAAAgKvVAAAAAAJAZ9UAAAAAAkAD1QAAAAADg5/RAAAAAAJDO9EAAAAAAYL30QA==\",\"dtype\":\"float64\",\"order\":\"little\",\"shape\":[29]}},\"selected\":{\"id\":\"1474\"},\"selection_policy\":{\"id\":\"1473\"}},\"id\":\"1405\",\"type\":\"ColumnDataSource\"},{\"attributes\":{\"bottom_units\":\"screen\",\"fill_alpha\":0.5,\"fill_color\":\"lightgrey\",\"left_units\":\"screen\",\"level\":\"overlay\",\"line_alpha\":1.0,\"line_color\":\"black\",\"line_dash\":[4,4],\"line_width\":2,\"right_units\":\"screen\",\"top_units\":\"screen\"},\"id\":\"1437\",\"type\":\"BoxAnnotation\"},{\"attributes\":{\"line_color\":\"#ff7f0e\",\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"1406\",\"type\":\"Line\"},{\"attributes\":{\"data\":{\"x0\":[0,1,3,4,5,6,8,11,13,15,18,20,21,24,28],\"x1\":[0,1,3,4,5,6,8,11,13,15,18,20,21,24,28],\"y0\":[84400,83900,84200,90000,96800,91400,90000,88000,88600,89900,85600,83400,86400,84000,84500],\"y1\":[80200,81600,82700,83000,89500,87800,88700,83600,86500,86300,83200,81000,83700,82500,83300]},\"selected\":{\"id\":\"1464\"},\"selection_policy\":{\"id\":\"1463\"}},\"id\":\"1378\",\"type\":\"ColumnDataSource\"},{\"attributes\":{\"line_alpha\":0.1,\"line_color\":\"#ff7f0e\",\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"1407\",\"type\":\"Line\"},{\"attributes\":{\"source\":{\"id\":\"1445\"}},\"id\":\"1449\",\"type\":\"CDSView\"},{\"attributes\":{\"source\":{\"id\":\"1393\"}},\"id\":\"1397\",\"type\":\"CDSView\"},{\"attributes\":{\"source\":{\"id\":\"1405\"}},\"id\":\"1409\",\"type\":\"CDSView\"},{\"attributes\":{\"fill_alpha\":{\"value\":0.1},\"fill_color\":{\"value\":\"red\"},\"line_alpha\":{\"value\":0.1},\"top\":{\"field\":\"top\"},\"width\":{\"value\":0.8},\"x\":{\"field\":\"x\"}},\"id\":\"1447\",\"type\":\"VBar\"},{\"attributes\":{\"data_source\":{\"id\":\"1445\"},\"glyph\":{\"id\":\"1446\"},\"hover_glyph\":null,\"muted_glyph\":null,\"nonselection_glyph\":{\"id\":\"1447\"},\"selection_glyph\":null,\"view\":{\"id\":\"1449\"}},\"id\":\"1448\",\"type\":\"GlyphRenderer\"},{\"attributes\":{\"data_source\":{\"id\":\"1405\"},\"glyph\":{\"id\":\"1406\"},\"hover_glyph\":null,\"muted_glyph\":null,\"nonselection_glyph\":{\"id\":\"1407\"},\"selection_glyph\":null,\"view\":{\"id\":\"1409\"}},\"id\":\"1408\",\"type\":\"GlyphRenderer\"},{\"attributes\":{\"line_color\":{\"value\":\"red\"},\"x0\":{\"field\":\"x0\"},\"x1\":{\"field\":\"x1\"},\"y0\":{\"field\":\"y0\"},\"y1\":{\"field\":\"y1\"}},\"id\":\"1379\",\"type\":\"Segment\"},{\"attributes\":{\"data\":{\"x\":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28],\"y\":{\"__ndarray__\":\"AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fw==\",\"dtype\":\"float64\",\"order\":\"little\",\"shape\":[29]}},\"selected\":{\"id\":\"1476\"},\"selection_policy\":{\"id\":\"1475\"}},\"id\":\"1410\",\"type\":\"ColumnDataSource\"},{\"attributes\":{},\"id\":\"1398\",\"type\":\"NumeralTickFormatter\"},{\"attributes\":{\"line_color\":\"#2ca02c\",\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"1411\",\"type\":\"Line\"},{\"attributes\":{\"data\":{\"top\":[35335669,32644642,48682416,36068848,26393970,39895044,25211127,27258534,26423070,28046832,26302077,22112205,18036835,15338765],\"x\":[1,3,6,7,8,11,12,15,17,20,21,22,24,25]},\"selected\":{\"id\":\"1486\"},\"selection_policy\":{\"id\":\"1485\"}},\"id\":\"1450\",\"type\":\"ColumnDataSource\"},{\"attributes\":{\"line_alpha\":0.1,\"line_color\":\"#2ca02c\",\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"1412\",\"type\":\"Line\"},{\"attributes\":{},\"id\":\"1455\",\"type\":\"NumeralTickFormatter\"},{\"attributes\":{\"fill_alpha\":{\"value\":0.1},\"fill_color\":{\"value\":\"blue\"},\"line_alpha\":{\"value\":0.1},\"top\":{\"field\":\"top\"},\"width\":{\"value\":0.8},\"x\":{\"field\":\"x\"}},\"id\":\"1452\",\"type\":\"VBar\"},{\"attributes\":{\"end\":29,\"start\":-1},\"id\":\"1348\",\"type\":\"Range1d\"},{\"attributes\":{\"data_source\":{\"id\":\"1450\"},\"glyph\":{\"id\":\"1451\"},\"hover_glyph\":null,\"muted_glyph\":null,\"nonselection_glyph\":{\"id\":\"1452\"},\"selection_glyph\":null,\"view\":{\"id\":\"1454\"}},\"id\":\"1453\",\"type\":\"GlyphRenderer\"},{\"attributes\":{\"source\":{\"id\":\"1410\"}},\"id\":\"1414\",\"type\":\"CDSView\"},{\"attributes\":{\"bottom_units\":\"screen\",\"fill_alpha\":0.5,\"fill_color\":\"lightgrey\",\"left_units\":\"screen\",\"level\":\"overlay\",\"line_alpha\":1.0,\"line_color\":\"black\",\"line_dash\":[4,4],\"line_width\":2,\"right_units\":\"screen\",\"top_units\":\"screen\"},\"id\":\"1370\",\"type\":\"BoxAnnotation\"},{\"attributes\":{\"fill_color\":{\"value\":\"blue\"},\"top\":{\"field\":\"top\"},\"width\":{\"value\":0.8},\"x\":{\"field\":\"x\"}},\"id\":\"1451\",\"type\":\"VBar\"},{\"attributes\":{\"data_source\":{\"id\":\"1410\"},\"glyph\":{\"id\":\"1411\"},\"hover_glyph\":null,\"muted_glyph\":null,\"nonselection_glyph\":{\"id\":\"1412\"},\"selection_glyph\":null,\"view\":{\"id\":\"1414\"}},\"id\":\"1413\",\"type\":\"GlyphRenderer\"},{\"attributes\":{\"data_source\":{\"id\":\"1393\"},\"glyph\":{\"id\":\"1394\"},\"hover_glyph\":null,\"muted_glyph\":null,\"nonselection_glyph\":{\"id\":\"1395\"},\"selection_glyph\":null,\"view\":{\"id\":\"1397\"}},\"id\":\"1396\",\"type\":\"GlyphRenderer\"},{\"attributes\":{\"source\":{\"id\":\"1450\"}},\"id\":\"1454\",\"type\":\"CDSView\"},{\"attributes\":{\"end\":96800,\"start\":80200},\"id\":\"1350\",\"type\":\"Range1d\"},{\"attributes\":{\"range_padding\":0},\"id\":\"1417\",\"type\":\"DataRange1d\"},{\"attributes\":{\"text\":\"\\uc0bc\\uc131\\uc804\\uc790(005930)\"},\"id\":\"1346\",\"type\":\"Title\"},{\"attributes\":{},\"id\":\"1419\",\"type\":\"LinearScale\"},{\"attributes\":{\"days\":[\"%Y-%m-%d\"],\"hours\":[\"%H:%M\"]},\"id\":\"1457\",\"type\":\"DatetimeTickFormatter\"},{\"attributes\":{\"children\":[[{\"id\":\"1345\"},0,0],[{\"id\":\"1415\"},1,0]]},\"id\":\"1489\",\"type\":\"GridBox\"},{\"attributes\":{\"below\":[{\"id\":\"1356\"}],\"center\":[{\"id\":\"1359\"},{\"id\":\"1363\"}],\"left\":[{\"id\":\"1360\"}],\"plot_height\":336,\"plot_width\":800,\"renderers\":[{\"id\":\"1381\"},{\"id\":\"1386\"},{\"id\":\"1391\"},{\"id\":\"1396\"},{\"id\":\"1403\"},{\"id\":\"1408\"},{\"id\":\"1413\"}],\"title\":{\"id\":\"1346\"},\"toolbar\":{\"id\":\"1371\"},\"toolbar_location\":null,\"x_range\":{\"id\":\"1348\"},\"x_scale\":{\"id\":\"1352\"},\"y_range\":{\"id\":\"1350\"},\"y_scale\":{\"id\":\"1354\"}},\"id\":\"1345\",\"subtype\":\"Figure\",\"type\":\"Plot\"},{\"attributes\":{},\"id\":\"1421\",\"type\":\"LinearScale\"},{\"attributes\":{\"formatter\":{\"id\":\"1457\"},\"major_label_orientation\":0.6283185307179586,\"major_label_overrides\":{\"0\":\"2021-01-04\",\"1\":\"2021-01-05\",\"10\":\"2021-01-18\",\"11\":\"2021-01-19\",\"12\":\"2021-01-20\",\"13\":\"2021-01-21\",\"14\":\"2021-01-22\",\"15\":\"2021-01-25\",\"16\":\"2021-01-26\",\"17\":\"2021-01-27\",\"18\":\"2021-01-28\",\"19\":\"2021-01-29\",\"2\":\"2021-01-06\",\"20\":\"2021-02-01\",\"21\":\"2021-02-02\",\"22\":\"2021-02-03\",\"23\":\"2021-02-04\",\"24\":\"2021-02-05\",\"25\":\"2021-02-08\",\"26\":\"2021-02-09\",\"27\":\"2021-02-10\",\"28\":\"2021-02-15\",\"29\":\"\",\"3\":\"2021-01-07\",\"4\":\"2021-01-08\",\"5\":\"2021-01-11\",\"6\":\"2021-01-12\",\"7\":\"2021-01-13\",\"8\":\"2021-01-14\",\"9\":\"2021-01-15\"},\"ticker\":{\"id\":\"1424\"}},\"id\":\"1423\",\"type\":\"LinearAxis\"},{\"attributes\":{},\"id\":\"1460\",\"type\":\"BasicTickFormatter\"},{\"attributes\":{},\"id\":\"1357\",\"type\":\"BasicTicker\"},{\"attributes\":{},\"id\":\"1424\",\"type\":\"BasicTicker\"},{\"attributes\":{\"formatter\":{\"id\":\"1460\"},\"ticker\":{\"id\":\"1357\"},\"visible\":false},\"id\":\"1356\",\"type\":\"LinearAxis\"},{\"attributes\":{},\"id\":\"1463\",\"type\":\"UnionRenderers\"},{\"attributes\":{\"axis\":{\"id\":\"1423\"},\"ticker\":null},\"id\":\"1426\",\"type\":\"Grid\"},{\"attributes\":{},\"id\":\"1466\",\"type\":\"Selection\"},{\"attributes\":{},\"id\":\"1354\",\"type\":\"LinearScale\"},{\"attributes\":{\"formatter\":{\"id\":\"1455\"},\"ticker\":{\"id\":\"1428\"}},\"id\":\"1427\",\"type\":\"LinearAxis\"},{\"attributes\":{},\"id\":\"1468\",\"type\":\"Selection\"},{\"attributes\":{},\"id\":\"1352\",\"type\":\"LinearScale\"},{\"attributes\":{},\"id\":\"1428\",\"type\":\"BasicTicker\"},{\"attributes\":{},\"id\":\"1469\",\"type\":\"UnionRenderers\"},{\"attributes\":{},\"id\":\"1365\",\"type\":\"WheelZoomTool\"},{\"attributes\":{\"axis\":{\"id\":\"1427\"},\"dimension\":1,\"ticker\":null},\"id\":\"1430\",\"type\":\"Grid\"},{\"attributes\":{},\"id\":\"1470\",\"type\":\"Selection\"},{\"attributes\":{\"below\":[{\"id\":\"1423\"}],\"center\":[{\"id\":\"1426\"},{\"id\":\"1430\"}],\"left\":[{\"id\":\"1427\"}],\"plot_height\":144,\"plot_width\":800,\"renderers\":[{\"id\":\"1448\"},{\"id\":\"1453\"}],\"title\":{\"id\":\"1480\"},\"toolbar\":{\"id\":\"1438\"},\"toolbar_location\":null,\"x_range\":{\"id\":\"1348\"},\"x_scale\":{\"id\":\"1419\"},\"y_range\":{\"id\":\"1417\"},\"y_scale\":{\"id\":\"1421\"}},\"id\":\"1415\",\"subtype\":\"Figure\",\"type\":\"Plot\"},{\"attributes\":{\"data\":{\"top\":[42089013,59013307,90306177,33431809,43227951,25318011,30861661,33178936,31859808,39615978,24171688,20898332,23025766,23529706],\"x\":[2,4,5,9,10,13,14,16,18,19,23,26,27,28]},\"selected\":{\"id\":\"1484\"},\"selection_policy\":{\"id\":\"1483\"}},\"id\":\"1445\",\"type\":\"ColumnDataSource\"},{\"attributes\":{},\"id\":\"1471\",\"type\":\"UnionRenderers\"},{\"attributes\":{\"formatter\":{\"id\":\"1398\"},\"ticker\":{\"id\":\"1361\"}},\"id\":\"1360\",\"type\":\"LinearAxis\"},{\"attributes\":{},\"id\":\"1364\",\"type\":\"PanTool\"},{\"attributes\":{},\"id\":\"1472\",\"type\":\"Selection\"},{\"attributes\":{},\"id\":\"1473\",\"type\":\"UnionRenderers\"},{\"attributes\":{},\"id\":\"1431\",\"type\":\"PanTool\"},{\"attributes\":{},\"id\":\"1361\",\"type\":\"BasicTicker\"},{\"attributes\":{},\"id\":\"1474\",\"type\":\"Selection\"},{\"attributes\":{},\"id\":\"1432\",\"type\":\"WheelZoomTool\"},{\"attributes\":{\"axis\":{\"id\":\"1360\"},\"dimension\":1,\"ticker\":null},\"id\":\"1363\",\"type\":\"Grid\"},{\"attributes\":{},\"id\":\"1475\",\"type\":\"UnionRenderers\"},{\"attributes\":{\"overlay\":{\"id\":\"1437\"}},\"id\":\"1433\",\"type\":\"BoxZoomTool\"},{\"attributes\":{},\"id\":\"1476\",\"type\":\"Selection\"},{\"attributes\":{},\"id\":\"1434\",\"type\":\"SaveTool\"},{\"attributes\":{\"axis\":{\"id\":\"1356\"},\"ticker\":null},\"id\":\"1359\",\"type\":\"Grid\"},{\"attributes\":{\"text\":\"\"},\"id\":\"1480\",\"type\":\"Title\"},{\"attributes\":{},\"id\":\"1435\",\"type\":\"ResetTool\"},{\"attributes\":{},\"id\":\"1369\",\"type\":\"HelpTool\"},{\"attributes\":{},\"id\":\"1483\",\"type\":\"UnionRenderers\"},{\"attributes\":{},\"id\":\"1436\",\"type\":\"HelpTool\"},{\"attributes\":{\"bottom\":{\"field\":\"bottom\"},\"fill_color\":{\"value\":\"blue\"},\"line_color\":{\"value\":\"blue\"},\"top\":{\"field\":\"top\"},\"width\":{\"value\":0.8},\"x\":{\"field\":\"x\"}},\"id\":\"1394\",\"type\":\"VBar\"},{\"attributes\":{},\"id\":\"1484\",\"type\":\"Selection\"},{\"attributes\":{},\"id\":\"1368\",\"type\":\"ResetTool\"},{\"attributes\":{\"fill_color\":{\"value\":\"red\"},\"top\":{\"field\":\"top\"},\"width\":{\"value\":0.8},\"x\":{\"field\":\"x\"}},\"id\":\"1446\",\"type\":\"VBar\"},{\"attributes\":{},\"id\":\"1485\",\"type\":\"UnionRenderers\"},{\"attributes\":{\"active_drag\":\"auto\",\"active_inspect\":\"auto\",\"active_multi\":null,\"active_scroll\":\"auto\",\"active_tap\":\"auto\",\"tools\":[{\"id\":\"1431\"},{\"id\":\"1432\"},{\"id\":\"1433\"},{\"id\":\"1434\"},{\"id\":\"1435\"},{\"id\":\"1436\"}]},\"id\":\"1438\",\"type\":\"Toolbar\"},{\"attributes\":{},\"id\":\"1367\",\"type\":\"SaveTool\"},{\"attributes\":{},\"id\":\"1486\",\"type\":\"Selection\"},{\"attributes\":{},\"id\":\"1464\",\"type\":\"Selection\"},{\"attributes\":{\"toolbars\":[{\"id\":\"1371\"},{\"id\":\"1438\"}],\"tools\":[{\"id\":\"1364\"},{\"id\":\"1365\"},{\"id\":\"1366\"},{\"id\":\"1367\"},{\"id\":\"1368\"},{\"id\":\"1369\"},{\"id\":\"1431\"},{\"id\":\"1432\"},{\"id\":\"1433\"},{\"id\":\"1434\"},{\"id\":\"1435\"},{\"id\":\"1436\"}]},\"id\":\"1490\",\"type\":\"ProxyToolbar\"},{\"attributes\":{\"overlay\":{\"id\":\"1370\"}},\"id\":\"1366\",\"type\":\"BoxZoomTool\"},{\"attributes\":{\"toolbar\":{\"id\":\"1490\"},\"toolbar_location\":\"above\"},\"id\":\"1491\",\"type\":\"ToolbarBox\"},{\"attributes\":{\"bottom\":{\"field\":\"bottom\"},\"fill_alpha\":{\"value\":0.1},\"fill_color\":{\"value\":\"blue\"},\"line_alpha\":{\"value\":0.1},\"line_color\":{\"value\":\"blue\"},\"top\":{\"field\":\"top\"},\"width\":{\"value\":0.8},\"x\":{\"field\":\"x\"}},\"id\":\"1395\",\"type\":\"VBar\"},{\"attributes\":{\"active_drag\":\"auto\",\"active_inspect\":\"auto\",\"active_multi\":null,\"active_scroll\":\"auto\",\"active_tap\":\"auto\",\"tools\":[{\"id\":\"1364\"},{\"id\":\"1365\"},{\"id\":\"1366\"},{\"id\":\"1367\"},{\"id\":\"1368\"},{\"id\":\"1369\"}]},\"id\":\"1371\",\"type\":\"Toolbar\"},{\"attributes\":{},\"id\":\"1465\",\"type\":\"UnionRenderers\"}],\"root_ids\":[\"1492\"]},\"title\":\"Bokeh Application\",\"version\":\"2.1.1\"}};\n"," var render_items = [{\"docid\":\"a4a6a244-00fa-478f-84c3-fe3cc4e6aee0\",\"root_ids\":[\"1492\"],\"roots\":{\"1492\":\"2bbc22ed-0c9d-4c69-b925-604c495eb4cb\"}}];\n"," root.Bokeh.embed.embed_items_notebook(docs_json, render_items);\n","\n"," }\n"," if (root.Bokeh !== undefined) {\n"," embed_document(root);\n"," } else {\n"," var attempts = 0;\n"," var timer = setInterval(function(root) {\n"," if (root.Bokeh !== undefined) {\n"," 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":{"tags":[],"application/vnd.bokehjs_exec.v0+json":{"id":"1492"}}}]},{"cell_type":"markdown","metadata":{"id":"kabPZ6r_Dttt"},"source":["`fdr.chart.plot(df)` 에 지정 가능한 인자와 기본값\n","\n","* `width`: 차트의 너비를 지정합니다 (pixel값) (기본값: 800)\n","* `height`: 차트의 높이를 지정합니다 (pixel값) (기본값: 480)\n","* `volume_height`: 0.3, # 30% size of figure height\n","* `recent_high`: 이전 고점을 표시할지 여부(기본값: False)\n","* `volume`: 거래량 막대를 표시할지 여부 (기본값: True)\n","* `title`: 제목을 지정합니다. 차트 왼쪽 상단에 표시됩니다 (기본값: '')\n","* `ylabel`: y축의 레이블을 지정합니다. 차트 왼쪽에 표시됩니다 (기본값: '')\n","* `moving_average_type`: 이동평균을 표시합니다. 'SMA', 'WMA', 'EMA', 'None'중 하나를 지정할 수 있습니다. (기본값: 'SMA')\n","* `moving_average_lines`: 이동평균선의 데이터 개수와 몇개캔들을 사용할지 지정합니다. (기본값: (5, 20, 60) - 즉, 5일, 20일, 60일을 표시합니다)\n","* `color_up`: 상승캔들의 색상 (기본값:'red')\n","* `color_down`: 하락캔들의 색상 (기본값:'blue')\n","* `color_volume_up`: 전일거래량 대비 상승 막대의 색상 (기본값:'red')\n","* `color_volume_down`: 전일거래량 대비 하락 막대의 색상 (기본값:'blue')\n","\n","`moving_average_type`은 이동평균선의 종류를 지정합니다. 종류는 다음과 같습니다.\n","* 'SMA'(Simple Moving Average, 단순 이동평균) - 기본값\n","* 'WMA'(Weighted Moving Average, 가중 이동평균)\n","* 'EMA'(Exponential Moving Average, 지수 이동평균)\n","* 'None'(표시하지 않음)\n","\n","`moving_average_lines`는 이동평균선의 데이터 개수와 몇개캔들을 사용할지 튜플값으로 지정합니다. 예를 들어, (5, 20)으로 지정하면 5일 이동평균선과 20일 이동평균선 2개 선이 표시됩니다.\n","\n","이동평균선의 색상 순서는 다음과 같습니다. (참고로 색상의 tab의 의미는 tablue 표준색상을 의미합니다)\n","\n","```python\n","['tab:blue', 'tab:orange', 'tab:green', 'tab:red', 'tab:purple', 'tab:brown', 'tab:pink', 'tab:gray', 'tab:olive', 'tab:cyan']\n","```\n","\n","거래량 막대의 색상은 가격의 상승 혹은 하락(시가대비 종가)을 표시하는 것이 아니라, 전일 거래량 대비 상승과 하락을 표현합니다."]},{"cell_type":"markdown","metadata":{"id":"eNiqypw8H9a5"},"source":["## 차트 설정 다루기\n","\n","차트 그리기에 사용되는 기본 값을 바꿀 수 있습니다. \n","\n","예를 들어, 차트의 기본 크기를 지정하고 싶은 경우 다음과 같이 `fdr.chart.config()` 를 사용하여 지정할 수 있습니다.\n","\n","```python\n","fdr.chart.config(width=400, height=200)\n","```\n","\n","title, width, height, volume 등 plot()에 가능한 설정을 지정할 수 있습니다."]},{"cell_type":"code","metadata":{"colab":{"base_uri":"https://localhost:8080/","height":248},"id":"uqV4jMp8H9WM","executionInfo":{"status":"ok","timestamp":1613821295646,"user_tz":-540,"elapsed":6823,"user":{"displayName":"Sean-June Lee","photoUrl":"https://lh3.googleusercontent.com/a-/AOh14Gj6rvtcx9Gy8VOzzw2LH1hYtnxIuHBDw8qnYK9SAuY=s64","userId":"12576390002043678893"}},"outputId":"242733e7-64fa-480b-eb28-6ecdea0ba935"},"source":["fdr.chart.config(title='삼성전자(005930) 2021년')\n","fdr.chart.config(width=400, height=200)\n","fdr.chart.config(volume=False)\n","\n","fdr.chart.plot(df)"],"execution_count":4,"outputs":[{"output_type":"display_data","data":{"application/javascript":["\n","(function(root) {\n"," function now() {\n"," return new Date();\n"," }\n","\n"," var force = true;\n","\n"," if (typeof root._bokeh_onload_callbacks === \"undefined\" || force === true) {\n"," root._bokeh_onload_callbacks = [];\n"," root._bokeh_is_loading = undefined;\n"," }\n","\n"," var JS_MIME_TYPE = 'application/javascript';\n"," var HTML_MIME_TYPE = 'text/html';\n"," var EXEC_MIME_TYPE = 'application/vnd.bokehjs_exec.v0+json';\n"," var CLASS_NAME = 'output_bokeh rendered_html';\n","\n"," /**\n"," * Render data to the DOM node\n"," */\n"," function render(props, node) {\n"," var script = document.createElement(\"script\");\n"," node.appendChild(script);\n"," }\n","\n"," /**\n"," * Handle when an output is cleared or removed\n"," */\n"," function handleClearOutput(event, handle) {\n"," var cell = handle.cell;\n","\n"," var id = cell.output_area._bokeh_element_id;\n"," var server_id = cell.output_area._bokeh_server_id;\n"," // Clean up Bokeh references\n"," if (id != null && id in Bokeh.index) {\n"," Bokeh.index[id].model.document.clear();\n"," delete Bokeh.index[id];\n"," }\n","\n"," if (server_id !== undefined) {\n"," // Clean up Bokeh references\n"," var cmd = \"from bokeh.io.state import curstate; print(curstate().uuid_to_server['\" + server_id + \"'].get_sessions()[0].document.roots[0]._id)\";\n"," cell.notebook.kernel.execute(cmd, {\n"," iopub: {\n"," output: function(msg) {\n"," var id = msg.content.text.trim();\n"," if (id in Bokeh.index) {\n"," Bokeh.index[id].model.document.clear();\n"," delete Bokeh.index[id];\n"," }\n"," }\n"," }\n"," });\n"," // Destroy server and session\n"," var cmd = \"import bokeh.io.notebook as ion; ion.destroy_server('\" + server_id + \"')\";\n"," cell.notebook.kernel.execute(cmd);\n"," }\n"," }\n","\n"," /**\n"," * Handle when a new output is added\n"," */\n"," function handleAddOutput(event, handle) {\n"," var output_area = handle.output_area;\n"," var output = handle.output;\n","\n"," // limit handleAddOutput to display_data with EXEC_MIME_TYPE content only\n"," if ((output.output_type != \"display_data\") || (!output.data.hasOwnProperty(EXEC_MIME_TYPE))) {\n"," return\n"," }\n","\n"," var toinsert = output_area.element.find(\".\" + CLASS_NAME.split(' ')[0]);\n","\n"," if (output.metadata[EXEC_MIME_TYPE][\"id\"] !== undefined) {\n"," toinsert[toinsert.length - 1].firstChild.textContent = output.data[JS_MIME_TYPE];\n"," // store reference to embed id on output_area\n"," output_area._bokeh_element_id = output.metadata[EXEC_MIME_TYPE][\"id\"];\n"," }\n"," if (output.metadata[EXEC_MIME_TYPE][\"server_id\"] !== undefined) {\n"," var bk_div = document.createElement(\"div\");\n"," bk_div.innerHTML = output.data[HTML_MIME_TYPE];\n"," var script_attrs = bk_div.children[0].attributes;\n"," for (var i = 0; i < script_attrs.length; i++) {\n"," toinsert[toinsert.length - 1].firstChild.setAttribute(script_attrs[i].name, script_attrs[i].value);\n"," 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"," var toinsert = this.create_output_subarea(\n"," metadata,\n"," CLASS_NAME,\n"," EXEC_MIME_TYPE\n"," );\n"," this.keyboard_manager.register_events(toinsert);\n"," // Render to node\n"," var props = {data: data, metadata: metadata[EXEC_MIME_TYPE]};\n"," render(props, toinsert[toinsert.length - 1]);\n"," element.append(toinsert);\n"," return toinsert\n"," }\n","\n"," /* Handle when an output is cleared or removed */\n"," events.on('clear_output.CodeCell', handleClearOutput);\n"," events.on('delete.Cell', handleClearOutput);\n","\n"," /* Handle when a new output is added */\n"," events.on('output_added.OutputArea', handleAddOutput);\n","\n"," /**\n"," * Register the mime type and append_mime function with output_area\n"," */\n"," OutputArea.prototype.register_mime_type(EXEC_MIME_TYPE, append_mime, {\n"," /* Is output safe? */\n"," safe: true,\n"," /* Index of renderer in `output_area.display_order` */\n"," index: 0\n"," });\n"," }\n","\n"," // register the mime type if in Jupyter Notebook environment and previously unregistered\n"," if (root.Jupyter !== undefined) {\n"," var events = require('base/js/events');\n"," var OutputArea = require('notebook/js/outputarea').OutputArea;\n","\n"," if (OutputArea.prototype.mime_types().indexOf(EXEC_MIME_TYPE) == -1) {\n"," register_renderer(events, OutputArea);\n"," }\n"," }\n","\n"," \n"," if (typeof (root._bokeh_timeout) === \"undefined\" || force === true) {\n"," root._bokeh_timeout = Date.now() + 5000;\n"," root._bokeh_failed_load = false;\n"," }\n","\n"," var NB_LOAD_WARNING = {'data': {'text/html':\n"," \"<div style='background-color: #fdd'>\\n\"+\n"," \"<p>\\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"," \"</p>\\n\"+\n"," \"<ul>\\n\"+\n"," \"<li>re-rerun `output_notebook()` to attempt to load from CDN again, or</li>\\n\"+\n"," \"<li>use INLINE resources instead, as so:</li>\\n\"+\n"," \"</ul>\\n\"+\n"," \"<code>\\n\"+\n"," \"from bokeh.resources import INLINE\\n\"+\n"," \"output_notebook(resources=INLINE)\\n\"+\n"," \"</code>\\n\"+\n"," \"</div>\"}};\n","\n"," function display_loaded() {\n"," var el = document.getElementById(null);\n"," if (el != null) {\n"," el.textContent = \"BokehJS is loading...\";\n"," }\n"," if (root.Bokeh !== undefined) {\n"," if (el != null) {\n"," el.textContent = \"BokehJS \" + root.Bokeh.version + \" successfully loaded.\";\n"," }\n"," } else if (Date.now() < root._bokeh_timeout) {\n"," setTimeout(display_loaded, 100)\n"," }\n"," }\n","\n","\n"," function run_callbacks() {\n"," try {\n"," root._bokeh_onload_callbacks.forEach(function(callback) {\n"," if (callback != null)\n"," callback();\n"," });\n"," } finally {\n"," delete root._bokeh_onload_callbacks\n"," }\n"," console.debug(\"Bokeh: all callbacks have finished\");\n"," }\n","\n"," function load_libs(css_urls, js_urls, callback) {\n"," if (css_urls == null) css_urls = [];\n"," if (js_urls == null) js_urls = [];\n","\n"," root._bokeh_onload_callbacks.push(callback);\n"," if (root._bokeh_is_loading > 0) {\n"," console.debug(\"Bokeh: BokehJS is being loaded, scheduling callback at\", now());\n"," return null;\n"," }\n"," if (js_urls == null || js_urls.length === 0) {\n"," run_callbacks();\n"," return null;\n"," }\n"," console.debug(\"Bokeh: BokehJS not loaded, scheduling load and callback at\", now());\n"," root._bokeh_is_loading = css_urls.length + js_urls.length;\n","\n"," function on_load() {\n"," root._bokeh_is_loading--;\n"," if (root._bokeh_is_loading === 0) {\n"," console.debug(\"Bokeh: all BokehJS libraries/stylesheets loaded\");\n"," run_callbacks()\n"," }\n"," }\n","\n"," function on_error() {\n"," console.error(\"failed to load \" + url);\n"," }\n","\n"," for (var i = 0; i < css_urls.length; i++) {\n"," var url = css_urls[i];\n"," const element = document.createElement(\"link\");\n"," element.onload = on_load;\n"," element.onerror = on_error;\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"," const hashes = {\"https://cdn.bokeh.org/bokeh/release/bokeh-2.1.1.min.js\": \"kLr4fYcqcSpbuI95brIH3vnnYCquzzSxHPU6XGQCIkQRGJwhg0StNbj1eegrHs12\", \"https://cdn.bokeh.org/bokeh/release/bokeh-widgets-2.1.1.min.js\": \"xIGPmVtaOm+z0BqfSOMn4lOR6ciex448GIKG4eE61LsAvmGj48XcMQZtKcE/UXZe\", \"https://cdn.bokeh.org/bokeh/release/bokeh-tables-2.1.1.min.js\": \"Dc9u1wF/0zApGIWoBbH77iWEHtdmkuYWG839Uzmv8y8yBLXebjO9ZnERsde5Ln/P\", \"https://cdn.bokeh.org/bokeh/release/bokeh-gl-2.1.1.min.js\": \"cT9JaBz7GiRXdENrJLZNSC6eMNF3nh3fa5fTF51Svp+ukxPdwcU5kGXGPBgDCa2j\"};\n","\n"," for (var i = 0; i < js_urls.length; i++) {\n"," var url = js_urls[i];\n"," var element = document.createElement('script');\n"," element.onload = on_load;\n"," element.onerror = on_error;\n"," element.async = false;\n"," element.src = url;\n"," if (url in hashes) {\n"," element.crossOrigin = \"anonymous\";\n"," element.integrity = \"sha384-\" + hashes[url];\n"," }\n"," console.debug(\"Bokeh: injecting script tag for BokehJS library: \", url);\n"," document.head.appendChild(element);\n"," }\n"," };\n","\n"," function inject_raw_css(css) {\n"," const element = document.createElement(\"style\");\n"," element.appendChild(document.createTextNode(css));\n"," document.body.appendChild(element);\n"," }\n","\n"," \n"," var js_urls = [\"https://cdn.bokeh.org/bokeh/release/bokeh-2.1.1.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-widgets-2.1.1.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-tables-2.1.1.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-gl-2.1.1.min.js\"];\n"," var css_urls = [];\n"," \n","\n"," var inline_js = [\n"," function(Bokeh) {\n"," Bokeh.set_log_level(\"info\");\n"," },\n"," function(Bokeh) {\n"," \n"," \n"," }\n"," ];\n","\n"," function run_inline_js() {\n"," \n"," if (root.Bokeh !== undefined || force === true) {\n"," \n"," for (var i = 0; i < inline_js.length; i++) {\n"," inline_js[i].call(root, root.Bokeh);\n"," }\n"," } else if (Date.now() < root._bokeh_timeout) {\n"," setTimeout(run_inline_js, 100);\n"," } else if (!root._bokeh_failed_load) {\n"," console.log(\"Bokeh: BokehJS failed to load within specified timeout.\");\n"," root._bokeh_failed_load = true;\n"," } else if (force !== true) {\n"," var cell = $(document.getElementById(null)).parents('.cell').data().cell;\n"," cell.output_area.append_execute_result(NB_LOAD_WARNING)\n"," }\n","\n"," }\n","\n"," if (root._bokeh_is_loading === 0) {\n"," console.debug(\"Bokeh: BokehJS loaded, going straight to plotting\");\n"," run_inline_js();\n"," } else {\n"," load_libs(css_urls, js_urls, function() {\n"," console.debug(\"Bokeh: BokehJS plotting callback run at\", now());\n"," run_inline_js();\n"," });\n"," }\n","}(window));"],"application/vnd.bokehjs_load.v0+json":"\n(function(root) {\n function now() {\n return new Date();\n }\n\n var force = true;\n\n if (typeof root._bokeh_onload_callbacks === \"undefined\" || force === true) {\n root._bokeh_onload_callbacks = [];\n root._bokeh_is_loading = undefined;\n }\n\n \n\n \n if (typeof (root._bokeh_timeout) === \"undefined\" || force === true) {\n root._bokeh_timeout = Date.now() + 5000;\n root._bokeh_failed_load = false;\n }\n\n var NB_LOAD_WARNING = {'data': {'text/html':\n \"<div style='background-color: #fdd'>\\n\"+\n \"<p>\\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 \"</p>\\n\"+\n \"<ul>\\n\"+\n \"<li>re-rerun `output_notebook()` to attempt to load from CDN again, or</li>\\n\"+\n \"<li>use INLINE resources instead, as so:</li>\\n\"+\n \"</ul>\\n\"+\n \"<code>\\n\"+\n \"from bokeh.resources import INLINE\\n\"+\n \"output_notebook(resources=INLINE)\\n\"+\n \"</code>\\n\"+\n \"</div>\"}};\n\n function display_loaded() {\n var el = document.getElementById(null);\n if (el != null) {\n el.textContent = \"BokehJS is loading...\";\n }\n if (root.Bokeh !== undefined) {\n if (el != null) {\n el.textContent = \"BokehJS \" + root.Bokeh.version + \" successfully loaded.\";\n }\n } else if (Date.now() < root._bokeh_timeout) {\n setTimeout(display_loaded, 100)\n }\n }\n\n\n function run_callbacks() {\n try {\n root._bokeh_onload_callbacks.forEach(function(callback) {\n if (callback != null)\n callback();\n });\n } finally {\n delete root._bokeh_onload_callbacks\n }\n console.debug(\"Bokeh: all callbacks have finished\");\n }\n\n function load_libs(css_urls, js_urls, callback) {\n if (css_urls == null) css_urls = [];\n if (js_urls == null) js_urls = [];\n\n root._bokeh_onload_callbacks.push(callback);\n if (root._bokeh_is_loading > 0) {\n console.debug(\"Bokeh: BokehJS is being loaded, scheduling callback at\", now());\n return null;\n }\n if (js_urls == null || js_urls.length === 0) {\n run_callbacks();\n return null;\n }\n console.debug(\"Bokeh: BokehJS not loaded, scheduling load and callback at\", now());\n root._bokeh_is_loading = css_urls.length + js_urls.length;\n\n function on_load() {\n root._bokeh_is_loading--;\n if (root._bokeh_is_loading === 0) {\n console.debug(\"Bokeh: all BokehJS libraries/stylesheets loaded\");\n run_callbacks()\n }\n }\n\n function on_error() {\n console.error(\"failed to load \" + url);\n }\n\n for (var i = 0; i < css_urls.length; i++) {\n var url = css_urls[i];\n const element = document.createElement(\"link\");\n element.onload = on_load;\n element.onerror = on_error;\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 const hashes = {\"https://cdn.bokeh.org/bokeh/release/bokeh-2.1.1.min.js\": \"kLr4fYcqcSpbuI95brIH3vnnYCquzzSxHPU6XGQCIkQRGJwhg0StNbj1eegrHs12\", \"https://cdn.bokeh.org/bokeh/release/bokeh-widgets-2.1.1.min.js\": \"xIGPmVtaOm+z0BqfSOMn4lOR6ciex448GIKG4eE61LsAvmGj48XcMQZtKcE/UXZe\", \"https://cdn.bokeh.org/bokeh/release/bokeh-tables-2.1.1.min.js\": \"Dc9u1wF/0zApGIWoBbH77iWEHtdmkuYWG839Uzmv8y8yBLXebjO9ZnERsde5Ln/P\", \"https://cdn.bokeh.org/bokeh/release/bokeh-gl-2.1.1.min.js\": \"cT9JaBz7GiRXdENrJLZNSC6eMNF3nh3fa5fTF51Svp+ukxPdwcU5kGXGPBgDCa2j\"};\n\n for (var i = 0; i < js_urls.length; i++) {\n var url = js_urls[i];\n var element = document.createElement('script');\n element.onload = on_load;\n element.onerror = on_error;\n element.async = false;\n element.src = url;\n if (url in hashes) {\n element.crossOrigin = \"anonymous\";\n element.integrity = \"sha384-\" + hashes[url];\n }\n console.debug(\"Bokeh: injecting script tag for BokehJS library: \", url);\n document.head.appendChild(element);\n }\n };\n\n function inject_raw_css(css) {\n const element = document.createElement(\"style\");\n element.appendChild(document.createTextNode(css));\n document.body.appendChild(element);\n }\n\n \n var js_urls = [\"https://cdn.bokeh.org/bokeh/release/bokeh-2.1.1.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-widgets-2.1.1.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-tables-2.1.1.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-gl-2.1.1.min.js\"];\n var css_urls = [];\n \n\n var inline_js = [\n function(Bokeh) {\n Bokeh.set_log_level(\"info\");\n },\n function(Bokeh) {\n \n \n }\n ];\n\n function run_inline_js() {\n \n if (root.Bokeh !== undefined || force === true) {\n \n for (var i = 0; i < inline_js.length; i++) {\n inline_js[i].call(root, root.Bokeh);\n }\n } else if (Date.now() < root._bokeh_timeout) {\n setTimeout(run_inline_js, 100);\n } else if (!root._bokeh_failed_load) {\n console.log(\"Bokeh: BokehJS failed to load within specified timeout.\");\n root._bokeh_failed_load = true;\n } else if (force !== true) {\n var cell = $(document.getElementById(null)).parents('.cell').data().cell;\n cell.output_area.append_execute_result(NB_LOAD_WARNING)\n }\n\n }\n\n if (root._bokeh_is_loading === 0) {\n console.debug(\"Bokeh: BokehJS loaded, going straight to plotting\");\n run_inline_js();\n } else {\n load_libs(css_urls, js_urls, function() {\n console.debug(\"Bokeh: BokehJS plotting callback run at\", now());\n run_inline_js();\n });\n }\n}(window));"},"metadata":{"tags":[]}},{"output_type":"display_data","data":{"text/html":["\n","\n","\n","\n","\n","\n"," <div class=\"bk-root\" id=\"5aad7b64-c6bf-46c8-a026-b4a14a26bad2\" data-root-id=\"1811\"></div>\n"]},"metadata":{"tags":[]}},{"output_type":"display_data","data":{"application/javascript":["(function(root) {\n"," function embed_document(root) {\n"," \n"," var docs_json = {\"5437f71f-cf10-4092-bddf-175c0c285b31\":{\"roots\":{\"references\":[{\"attributes\":{\"children\":[{\"id\":\"1810\"},{\"id\":\"1808\"}]},\"id\":\"1811\",\"type\":\"Column\"},{\"attributes\":{\"source\":{\"id\":\"1755\"}},\"id\":\"1759\",\"type\":\"CDSView\"},{\"attributes\":{},\"id\":\"1792\",\"type\":\"UnionRenderers\"},{\"attributes\":{\"data\":{\"x\":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28],\"y\":{\"__ndarray__\":\"AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAIz0QAAAAAAA8PRAAAAAAMBD9UAAAAAAgKH1QAAAAACA9vVAAAAAAIDs9UAAAAAAgKH1QAAAAACAdPVAAAAAAEBV9UAAAAAAQEH1QAAAAABAMvVAAAAAAEBp9UAAAAAAgGX1QAAAAACAUfVAAAAAAIAa9UAAAAAAgN70QAAAAACAjvRAAAAAAMBx9EAAAAAAQGX0QAAAAABAVvRAAAAAAABp9EAAAAAAAGn0QAAAAADAU/RAAAAAAEAu9EAAAAAAgEP0QA==\",\"dtype\":\"float64\",\"order\":\"little\",\"shape\":[29]}},\"selected\":{\"id\":\"1801\"},\"selection_policy\":{\"id\":\"1800\"}},\"id\":\"1774\",\"type\":\"ColumnDataSource\"},{\"attributes\":{\"data_source\":{\"id\":\"1755\"},\"glyph\":{\"id\":\"1756\"},\"hover_glyph\":null,\"muted_glyph\":null,\"nonselection_glyph\":{\"id\":\"1757\"},\"selection_glyph\":null,\"view\":{\"id\":\"1759\"}},\"id\":\"1758\",\"type\":\"GlyphRenderer\"},{\"attributes\":{\"text\":\"\\uc0bc\\uc131\\uc804\\uc790(005930) 2021\\ub144\"},\"id\":\"1718\",\"type\":\"Title\"},{\"attributes\":{\"active_drag\":\"auto\",\"active_inspect\":\"auto\",\"active_multi\":null,\"active_scroll\":\"auto\",\"active_tap\":\"auto\",\"tools\":[{\"id\":\"1736\"},{\"id\":\"1737\"},{\"id\":\"1738\"},{\"id\":\"1739\"},{\"id\":\"1740\"},{\"id\":\"1741\"}]},\"id\":\"1743\",\"type\":\"Toolbar\"},{\"attributes\":{},\"id\":\"1793\",\"type\":\"Selection\"},{\"attributes\":{},\"id\":\"1794\",\"type\":\"UnionRenderers\"},{\"attributes\":{\"line_color\":\"#1f77b4\",\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"1775\",\"type\":\"Line\"},{\"attributes\":{\"line_alpha\":0.1,\"line_color\":\"#1f77b4\",\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"1776\",\"type\":\"Line\"},{\"attributes\":{\"end\":29,\"start\":-1},\"id\":\"1720\",\"type\":\"Range1d\"},{\"attributes\":{},\"id\":\"1770\",\"type\":\"NumeralTickFormatter\"},{\"attributes\":{\"children\":[[{\"id\":\"1717\"},0,0]]},\"id\":\"1808\",\"type\":\"GridBox\"},{\"attributes\":{},\"id\":\"1795\",\"type\":\"Selection\"},{\"attributes\":{},\"id\":\"1726\",\"type\":\"LinearScale\"},{\"attributes\":{\"source\":{\"id\":\"1765\"}},\"id\":\"1769\",\"type\":\"CDSView\"},{\"attributes\":{},\"id\":\"1796\",\"type\":\"UnionRenderers\"},{\"attributes\":{\"days\":[\"%Y-%m-%d\"],\"hours\":[\"%H:%M\"]},\"id\":\"1772\",\"type\":\"DatetimeTickFormatter\"},{\"attributes\":{\"data\":{\"bottom\":[83000,83900,82900,88800,91000,90600,89700,87000,88100,89400,83700,83000,84400,83500,84200],\"top\":[81000,81600,82800,83300,90000,90300,88700,84500,87500,87000,83200,81700,84100,83100,83800],\"x\":[0,1,3,4,5,6,8,11,13,15,18,20,21,24,28]},\"selected\":{\"id\":\"1797\"},\"selection_policy\":{\"id\":\"1796\"}},\"id\":\"1760\",\"type\":\"ColumnDataSource\"},{\"attributes\":{\"bottom_units\":\"screen\",\"fill_alpha\":0.5,\"fill_color\":\"lightgrey\",\"left_units\":\"screen\",\"level\":\"overlay\",\"line_alpha\":1.0,\"line_color\":\"black\",\"line_dash\":[4,4],\"line_width\":2,\"right_units\":\"screen\",\"top_units\":\"screen\"},\"id\":\"1742\",\"type\":\"BoxAnnotation\"},{\"attributes\":{\"source\":{\"id\":\"1774\"}},\"id\":\"1778\",\"type\":\"CDSView\"},{\"attributes\":{},\"id\":\"1797\",\"type\":\"Selection\"},{\"attributes\":{},\"id\":\"1740\",\"type\":\"ResetTool\"},{\"attributes\":{\"data_source\":{\"id\":\"1774\"},\"glyph\":{\"id\":\"1775\"},\"hover_glyph\":null,\"muted_glyph\":null,\"nonselection_glyph\":{\"id\":\"1776\"},\"selection_glyph\":null,\"view\":{\"id\":\"1778\"}},\"id\":\"1777\",\"type\":\"GlyphRenderer\"},{\"attributes\":{},\"id\":\"1724\",\"type\":\"LinearScale\"},{\"attributes\":{\"data_source\":{\"id\":\"1765\"},\"glyph\":{\"id\":\"1766\"},\"hover_glyph\":null,\"muted_glyph\":null,\"nonselection_glyph\":{\"id\":\"1767\"},\"selection_glyph\":null,\"view\":{\"id\":\"1769\"}},\"id\":\"1768\",\"type\":\"GlyphRenderer\"},{\"attributes\":{\"bottom\":{\"field\":\"bottom\"},\"fill_alpha\":{\"value\":0.1},\"fill_color\":{\"value\":\"red\"},\"line_alpha\":{\"value\":0.1},\"line_color\":{\"value\":\"red\"},\"top\":{\"field\":\"top\"},\"width\":{\"value\":0.8},\"x\":{\"field\":\"x\"}},\"id\":\"1762\",\"type\":\"VBar\"},{\"attributes\":{\"formatter\":{\"id\":\"1770\"},\"ticker\":{\"id\":\"1733\"}},\"id\":\"1732\",\"type\":\"LinearAxis\"},{\"attributes\":{},\"id\":\"1798\",\"type\":\"UnionRenderers\"},{\"attributes\":{\"data\":{\"x0\":[0,1,3,4,5,6,8,11,13,15,18,20,21,24,28],\"x1\":[0,1,3,4,5,6,8,11,13,15,18,20,21,24,28],\"y0\":[84400,83900,84200,90000,96800,91400,90000,88000,88600,89900,85600,83400,86400,84000,84500],\"y1\":[80200,81600,82700,83000,89500,87800,88700,83600,86500,86300,83200,81000,83700,82500,83300]},\"selected\":{\"id\":\"1793\"},\"selection_policy\":{\"id\":\"1792\"}},\"id\":\"1750\",\"type\":\"ColumnDataSource\"},{\"attributes\":{\"data_source\":{\"id\":\"1760\"},\"glyph\":{\"id\":\"1761\"},\"hover_glyph\":null,\"muted_glyph\":null,\"nonselection_glyph\":{\"id\":\"1762\"},\"selection_glyph\":null,\"view\":{\"id\":\"1764\"}},\"id\":\"1763\",\"type\":\"GlyphRenderer\"},{\"attributes\":{\"end\":96800,\"start\":80200},\"id\":\"1722\",\"type\":\"Range1d\"},{\"attributes\":{\"data\":{\"x\":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28],\"y\":{\"__ndarray__\":\"AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAUCL1QAAAAABQIvVAAAAAAOAj9UAAAAAAYCv1QAAAAAAgKvVAAAAAAJAZ9UAAAAAAkAD1QAAAAADg5/RAAAAAAJDO9EAAAAAAYL30QA==\",\"dtype\":\"float64\",\"order\":\"little\",\"shape\":[29]}},\"selected\":{\"id\":\"1803\"},\"selection_policy\":{\"id\":\"1802\"}},\"id\":\"1779\",\"type\":\"ColumnDataSource\"},{\"attributes\":{},\"id\":\"1799\",\"type\":\"Selection\"},{\"attributes\":{\"bottom\":{\"field\":\"bottom\"},\"fill_color\":{\"value\":\"red\"},\"line_color\":{\"value\":\"red\"},\"top\":{\"field\":\"top\"},\"width\":{\"value\":0.8},\"x\":{\"field\":\"x\"}},\"id\":\"1761\",\"type\":\"VBar\"},{\"attributes\":{\"line_color\":{\"value\":\"red\"},\"x0\":{\"field\":\"x0\"},\"x1\":{\"field\":\"x1\"},\"y0\":{\"field\":\"y0\"},\"y1\":{\"field\":\"y1\"}},\"id\":\"1751\",\"type\":\"Segment\"},{\"attributes\":{},\"id\":\"1729\",\"type\":\"BasicTicker\"},{\"attributes\":{},\"id\":\"1800\",\"type\":\"UnionRenderers\"},{\"attributes\":{\"line_alpha\":{\"value\":0.1},\"line_color\":{\"value\":\"red\"},\"x0\":{\"field\":\"x0\"},\"x1\":{\"field\":\"x1\"},\"y0\":{\"field\":\"y0\"},\"y1\":{\"field\":\"y1\"}},\"id\":\"1752\",\"type\":\"Segment\"},{\"attributes\":{\"line_color\":\"#ff7f0e\",\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"1780\",\"type\":\"Line\"},{\"attributes\":{\"line_alpha\":0.1,\"line_color\":\"#ff7f0e\",\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"1781\",\"type\":\"Line\"},{\"attributes\":{\"axis\":{\"id\":\"1728\"},\"ticker\":null},\"id\":\"1731\",\"type\":\"Grid\"},{\"attributes\":{\"source\":{\"id\":\"1760\"}},\"id\":\"1764\",\"type\":\"CDSView\"},{\"attributes\":{},\"id\":\"1801\",\"type\":\"Selection\"},{\"attributes\":{},\"id\":\"1741\",\"type\":\"HelpTool\"},{\"attributes\":{},\"id\":\"1802\",\"type\":\"UnionRenderers\"},{\"attributes\":{\"source\":{\"id\":\"1750\"}},\"id\":\"1754\",\"type\":\"CDSView\"},{\"attributes\":{\"formatter\":{\"id\":\"1772\"},\"major_label_orientation\":0.6283185307179586,\"major_label_overrides\":{\"0\":\"2021-01-04\",\"1\":\"2021-01-05\",\"10\":\"2021-01-18\",\"11\":\"2021-01-19\",\"12\":\"2021-01-20\",\"13\":\"2021-01-21\",\"14\":\"2021-01-22\",\"15\":\"2021-01-25\",\"16\":\"2021-01-26\",\"17\":\"2021-01-27\",\"18\":\"2021-01-28\",\"19\":\"2021-01-29\",\"2\":\"2021-01-06\",\"20\":\"2021-02-01\",\"21\":\"2021-02-02\",\"22\":\"2021-02-03\",\"23\":\"2021-02-04\",\"24\":\"2021-02-05\",\"25\":\"2021-02-08\",\"26\":\"2021-02-09\",\"27\":\"2021-02-10\",\"28\":\"2021-02-15\",\"29\":\"\",\"3\":\"2021-01-07\",\"4\":\"2021-01-08\",\"5\":\"2021-01-11\",\"6\":\"2021-01-12\",\"7\":\"2021-01-13\",\"8\":\"2021-01-14\",\"9\":\"2021-01-15\"},\"ticker\":{\"id\":\"1729\"}},\"id\":\"1728\",\"type\":\"LinearAxis\"},{\"attributes\":{\"source\":{\"id\":\"1779\"}},\"id\":\"1783\",\"type\":\"CDSView\"},{\"attributes\":{},\"id\":\"1736\",\"type\":\"PanTool\"},{\"attributes\":{},\"id\":\"1803\",\"type\":\"Selection\"},{\"attributes\":{\"data_source\":{\"id\":\"1750\"},\"glyph\":{\"id\":\"1751\"},\"hover_glyph\":null,\"muted_glyph\":null,\"nonselection_glyph\":{\"id\":\"1752\"},\"selection_glyph\":null,\"view\":{\"id\":\"1754\"}},\"id\":\"1753\",\"type\":\"GlyphRenderer\"},{\"attributes\":{\"data_source\":{\"id\":\"1779\"},\"glyph\":{\"id\":\"1780\"},\"hover_glyph\":null,\"muted_glyph\":null,\"nonselection_glyph\":{\"id\":\"1781\"},\"selection_glyph\":null,\"view\":{\"id\":\"1783\"}},\"id\":\"1782\",\"type\":\"GlyphRenderer\"},{\"attributes\":{\"axis\":{\"id\":\"1732\"},\"dimension\":1,\"ticker\":null},\"id\":\"1735\",\"type\":\"Grid\"},{\"attributes\":{},\"id\":\"1804\",\"type\":\"UnionRenderers\"},{\"attributes\":{\"data\":{\"x\":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28],\"y\":{\"__ndarray__\":\"AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fw==\",\"dtype\":\"float64\",\"order\":\"little\",\"shape\":[29]}},\"selected\":{\"id\":\"1805\"},\"selection_policy\":{\"id\":\"1804\"}},\"id\":\"1784\",\"type\":\"ColumnDataSource\"},{\"attributes\":{},\"id\":\"1733\",\"type\":\"BasicTicker\"},{\"attributes\":{},\"id\":\"1805\",\"type\":\"Selection\"},{\"attributes\":{\"data\":{\"bottom\":[82200,89700,88000,85000,87200,86800,86700,85600,82000,84600,82500,83000,82700,81600],\"top\":[83300,89800,89800,86600,89000,89000,88800,86600,84500,84800,83500,83800,84000,82600],\"x\":[2,7,9,10,12,14,16,17,19,22,23,25,26,27]},\"selected\":{\"id\":\"1799\"},\"selection_policy\":{\"id\":\"1798\"}},\"id\":\"1765\",\"type\":\"ColumnDataSource\"},{\"attributes\":{\"toolbars\":[{\"id\":\"1743\"}],\"tools\":[{\"id\":\"1736\"},{\"id\":\"1737\"},{\"id\":\"1738\"},{\"id\":\"1739\"},{\"id\":\"1740\"},{\"id\":\"1741\"}]},\"id\":\"1809\",\"type\":\"ProxyToolbar\"},{\"attributes\":{\"data\":{\"x0\":[2,7,9,10,12,14,16,17,19,22,23,25,26,27],\"x1\":[2,7,9,10,12,14,16,17,19,22,23,25,26,27],\"y0\":[84500,91200,91800,87300,89000,89700,89200,87700,85000,85400,83800,84200,84800,82600],\"y1\":[82100,89100,88000,84100,86500,86800,86500,85600,82000,83400,82100,83000,82700,81600]},\"selected\":{\"id\":\"1795\"},\"selection_policy\":{\"id\":\"1794\"}},\"id\":\"1755\",\"type\":\"ColumnDataSource\"},{\"attributes\":{\"line_color\":\"#2ca02c\",\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"1785\",\"type\":\"Line\"},{\"attributes\":{\"line_alpha\":0.1,\"line_color\":\"#2ca02c\",\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"1786\",\"type\":\"Line\"},{\"attributes\":{\"toolbar\":{\"id\":\"1809\"},\"toolbar_location\":\"above\"},\"id\":\"1810\",\"type\":\"ToolbarBox\"},{\"attributes\":{},\"id\":\"1739\",\"type\":\"SaveTool\"},{\"attributes\":{\"line_color\":{\"value\":\"blue\"},\"x0\":{\"field\":\"x0\"},\"x1\":{\"field\":\"x1\"},\"y0\":{\"field\":\"y0\"},\"y1\":{\"field\":\"y1\"}},\"id\":\"1756\",\"type\":\"Segment\"},{\"attributes\":{\"bottom\":{\"field\":\"bottom\"},\"fill_alpha\":{\"value\":0.1},\"fill_color\":{\"value\":\"blue\"},\"line_alpha\":{\"value\":0.1},\"line_color\":{\"value\":\"blue\"},\"top\":{\"field\":\"top\"},\"width\":{\"value\":0.8},\"x\":{\"field\":\"x\"}},\"id\":\"1767\",\"type\":\"VBar\"},{\"attributes\":{\"line_alpha\":{\"value\":0.1},\"line_color\":{\"value\":\"blue\"},\"x0\":{\"field\":\"x0\"},\"x1\":{\"field\":\"x1\"},\"y0\":{\"field\":\"y0\"},\"y1\":{\"field\":\"y1\"}},\"id\":\"1757\",\"type\":\"Segment\"},{\"attributes\":{\"overlay\":{\"id\":\"1742\"}},\"id\":\"1738\",\"type\":\"BoxZoomTool\"},{\"attributes\":{\"source\":{\"id\":\"1784\"}},\"id\":\"1788\",\"type\":\"CDSView\"},{\"attributes\":{\"bottom\":{\"field\":\"bottom\"},\"fill_color\":{\"value\":\"blue\"},\"line_color\":{\"value\":\"blue\"},\"top\":{\"field\":\"top\"},\"width\":{\"value\":0.8},\"x\":{\"field\":\"x\"}},\"id\":\"1766\",\"type\":\"VBar\"},{\"attributes\":{\"below\":[{\"id\":\"1728\"}],\"center\":[{\"id\":\"1731\"},{\"id\":\"1735\"}],\"left\":[{\"id\":\"1732\"}],\"plot_height\":200,\"plot_width\":400,\"renderers\":[{\"id\":\"1753\"},{\"id\":\"1758\"},{\"id\":\"1763\"},{\"id\":\"1768\"},{\"id\":\"1777\"},{\"id\":\"1782\"},{\"id\":\"1787\"}],\"title\":{\"id\":\"1718\"},\"toolbar\":{\"id\":\"1743\"},\"toolbar_location\":null,\"x_range\":{\"id\":\"1720\"},\"x_scale\":{\"id\":\"1724\"},\"y_range\":{\"id\":\"1722\"},\"y_scale\":{\"id\":\"1726\"}},\"id\":\"1717\",\"subtype\":\"Figure\",\"type\":\"Plot\"},{\"attributes\":{},\"id\":\"1737\",\"type\":\"WheelZoomTool\"},{\"attributes\":{\"data_source\":{\"id\":\"1784\"},\"glyph\":{\"id\":\"1785\"},\"hover_glyph\":null,\"muted_glyph\":null,\"nonselection_glyph\":{\"id\":\"1786\"},\"selection_glyph\":null,\"view\":{\"id\":\"1788\"}},\"id\":\"1787\",\"type\":\"GlyphRenderer\"}],\"root_ids\":[\"1811\"]},\"title\":\"Bokeh Application\",\"version\":\"2.1.1\"}};\n"," var render_items = [{\"docid\":\"5437f71f-cf10-4092-bddf-175c0c285b31\",\"root_ids\":[\"1811\"],\"roots\":{\"1811\":\"5aad7b64-c6bf-46c8-a026-b4a14a26bad2\"}}];\n"," root.Bokeh.embed.embed_items_notebook(docs_json, render_items);\n","\n"," }\n"," if (root.Bokeh !== undefined) {\n"," embed_document(root);\n"," } else {\n"," var attempts = 0;\n"," var timer = setInterval(function(root) {\n"," if (root.Bokeh !== undefined) {\n"," 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":{"tags":[],"application/vnd.bokehjs_exec.v0+json":{"id":"1811"}}}]},{"cell_type":"markdown","metadata":{"id":"M_oig5KcH9SU"},"source":["다음과 같이 dict를 사용하여 다양할 설정을 한번에 지정할 수 있습니다"]},{"cell_type":"code","metadata":{"id":"fpeCo8APH9NV","executionInfo":{"status":"ok","timestamp":1613821295647,"user_tz":-540,"elapsed":6818,"user":{"displayName":"Sean-June Lee","photoUrl":"https://lh3.googleusercontent.com/a-/AOh14Gj6rvtcx9Gy8VOzzw2LH1hYtnxIuHBDw8qnYK9SAuY=s64","userId":"12576390002043678893"}}},"source":["config = {'title':'fdr.chart.config()를 사용하여 설정을 한번에 지정할 수 있습니다', \n"," 'width': 600, \n"," 'height': 300,\n"," 'volume': True,\n","}\n","\n","fdr.chart.config(config=config)"],"execution_count":5,"outputs":[]},{"cell_type":"code","metadata":{"colab":{"base_uri":"https://localhost:8080/","height":348},"id":"CsHY-iqNJCli","executionInfo":{"status":"ok","timestamp":1613821295648,"user_tz":-540,"elapsed":6813,"user":{"displayName":"Sean-June Lee","photoUrl":"https://lh3.googleusercontent.com/a-/AOh14Gj6rvtcx9Gy8VOzzw2LH1hYtnxIuHBDw8qnYK9SAuY=s64","userId":"12576390002043678893"}},"outputId":"d3d985bc-b0f6-49b7-fcf9-a6a0fc7ac92f"},"source":["fdr.chart.plot(df)"],"execution_count":6,"outputs":[{"output_type":"display_data","data":{"application/javascript":["\n","(function(root) {\n"," function now() {\n"," return new Date();\n"," }\n","\n"," var force = true;\n","\n"," if (typeof root._bokeh_onload_callbacks === \"undefined\" || force === true) {\n"," root._bokeh_onload_callbacks = [];\n"," root._bokeh_is_loading = undefined;\n"," }\n","\n"," var JS_MIME_TYPE = 'application/javascript';\n"," var HTML_MIME_TYPE = 'text/html';\n"," var EXEC_MIME_TYPE = 'application/vnd.bokehjs_exec.v0+json';\n"," var CLASS_NAME = 'output_bokeh rendered_html';\n","\n"," /**\n"," * Render data to the DOM node\n"," */\n"," function render(props, node) {\n"," var script = document.createElement(\"script\");\n"," node.appendChild(script);\n"," }\n","\n"," /**\n"," * Handle when an output is cleared or removed\n"," */\n"," function handleClearOutput(event, handle) {\n"," var cell = handle.cell;\n","\n"," var id = cell.output_area._bokeh_element_id;\n"," var server_id = cell.output_area._bokeh_server_id;\n"," // Clean up Bokeh references\n"," if (id != null && id in Bokeh.index) {\n"," Bokeh.index[id].model.document.clear();\n"," delete Bokeh.index[id];\n"," }\n","\n"," if (server_id !== undefined) {\n"," // Clean up Bokeh references\n"," var cmd = \"from bokeh.io.state import curstate; print(curstate().uuid_to_server['\" + server_id + \"'].get_sessions()[0].document.roots[0]._id)\";\n"," cell.notebook.kernel.execute(cmd, {\n"," iopub: {\n"," output: function(msg) {\n"," var id = msg.content.text.trim();\n"," if (id in Bokeh.index) {\n"," Bokeh.index[id].model.document.clear();\n"," delete Bokeh.index[id];\n"," }\n"," }\n"," }\n"," });\n"," // Destroy server and session\n"," var cmd = \"import bokeh.io.notebook as ion; ion.destroy_server('\" + server_id + \"')\";\n"," cell.notebook.kernel.execute(cmd);\n"," }\n"," }\n","\n"," /**\n"," * Handle when a new output is added\n"," */\n"," function handleAddOutput(event, handle) {\n"," var output_area = handle.output_area;\n"," var output = handle.output;\n","\n"," // limit handleAddOutput to display_data with EXEC_MIME_TYPE content only\n"," if ((output.output_type != \"display_data\") || (!output.data.hasOwnProperty(EXEC_MIME_TYPE))) {\n"," return\n"," }\n","\n"," var toinsert = output_area.element.find(\".\" + CLASS_NAME.split(' ')[0]);\n","\n"," if (output.metadata[EXEC_MIME_TYPE][\"id\"] !== undefined) {\n"," toinsert[toinsert.length - 1].firstChild.textContent = output.data[JS_MIME_TYPE];\n"," // store reference to embed id on output_area\n"," output_area._bokeh_element_id = output.metadata[EXEC_MIME_TYPE][\"id\"];\n"," }\n"," if (output.metadata[EXEC_MIME_TYPE][\"server_id\"] !== undefined) {\n"," var bk_div = document.createElement(\"div\");\n"," bk_div.innerHTML = output.data[HTML_MIME_TYPE];\n"," var script_attrs = bk_div.children[0].attributes;\n"," for (var i = 0; i < script_attrs.length; i++) {\n"," toinsert[toinsert.length - 1].firstChild.setAttribute(script_attrs[i].name, script_attrs[i].value);\n"," 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"," var toinsert = this.create_output_subarea(\n"," metadata,\n"," CLASS_NAME,\n"," EXEC_MIME_TYPE\n"," );\n"," this.keyboard_manager.register_events(toinsert);\n"," // Render to node\n"," var props = {data: data, metadata: metadata[EXEC_MIME_TYPE]};\n"," render(props, toinsert[toinsert.length - 1]);\n"," element.append(toinsert);\n"," return toinsert\n"," }\n","\n"," /* Handle when an output is cleared or removed */\n"," events.on('clear_output.CodeCell', handleClearOutput);\n"," events.on('delete.Cell', handleClearOutput);\n","\n"," /* Handle when a new output is added */\n"," events.on('output_added.OutputArea', handleAddOutput);\n","\n"," /**\n"," * Register the mime type and append_mime function with output_area\n"," */\n"," OutputArea.prototype.register_mime_type(EXEC_MIME_TYPE, append_mime, {\n"," /* Is output safe? */\n"," safe: true,\n"," /* Index of renderer in `output_area.display_order` */\n"," index: 0\n"," });\n"," }\n","\n"," // register the mime type if in Jupyter Notebook environment and previously unregistered\n"," if (root.Jupyter !== undefined) {\n"," var events = require('base/js/events');\n"," var OutputArea = require('notebook/js/outputarea').OutputArea;\n","\n"," if (OutputArea.prototype.mime_types().indexOf(EXEC_MIME_TYPE) == -1) {\n"," register_renderer(events, OutputArea);\n"," }\n"," }\n","\n"," \n"," if (typeof (root._bokeh_timeout) === \"undefined\" || force === true) {\n"," root._bokeh_timeout = Date.now() + 5000;\n"," root._bokeh_failed_load = false;\n"," }\n","\n"," var NB_LOAD_WARNING = {'data': {'text/html':\n"," \"<div style='background-color: #fdd'>\\n\"+\n"," \"<p>\\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"," \"</p>\\n\"+\n"," \"<ul>\\n\"+\n"," \"<li>re-rerun `output_notebook()` to attempt to load from CDN again, or</li>\\n\"+\n"," \"<li>use INLINE resources instead, as so:</li>\\n\"+\n"," \"</ul>\\n\"+\n"," \"<code>\\n\"+\n"," \"from bokeh.resources import INLINE\\n\"+\n"," \"output_notebook(resources=INLINE)\\n\"+\n"," \"</code>\\n\"+\n"," \"</div>\"}};\n","\n"," function display_loaded() {\n"," var el = document.getElementById(null);\n"," if (el != null) {\n"," el.textContent = \"BokehJS is loading...\";\n"," }\n"," if (root.Bokeh !== undefined) {\n"," if (el != null) {\n"," el.textContent = \"BokehJS \" + root.Bokeh.version + \" successfully loaded.\";\n"," }\n"," } else if (Date.now() < root._bokeh_timeout) {\n"," setTimeout(display_loaded, 100)\n"," }\n"," }\n","\n","\n"," function run_callbacks() {\n"," try {\n"," root._bokeh_onload_callbacks.forEach(function(callback) {\n"," if (callback != null)\n"," callback();\n"," });\n"," } finally {\n"," delete root._bokeh_onload_callbacks\n"," }\n"," console.debug(\"Bokeh: all callbacks have finished\");\n"," }\n","\n"," function load_libs(css_urls, js_urls, callback) {\n"," if (css_urls == null) css_urls = [];\n"," if (js_urls == null) js_urls = [];\n","\n"," root._bokeh_onload_callbacks.push(callback);\n"," if (root._bokeh_is_loading > 0) {\n"," console.debug(\"Bokeh: BokehJS is being loaded, scheduling callback at\", now());\n"," return null;\n"," }\n"," if (js_urls == null || js_urls.length === 0) {\n"," run_callbacks();\n"," return null;\n"," }\n"," console.debug(\"Bokeh: BokehJS not loaded, scheduling load and callback at\", now());\n"," root._bokeh_is_loading = css_urls.length + js_urls.length;\n","\n"," function on_load() {\n"," root._bokeh_is_loading--;\n"," if (root._bokeh_is_loading === 0) {\n"," console.debug(\"Bokeh: all BokehJS libraries/stylesheets loaded\");\n"," run_callbacks()\n"," }\n"," }\n","\n"," function on_error() {\n"," console.error(\"failed to load \" + url);\n"," }\n","\n"," for (var i = 0; i < css_urls.length; i++) {\n"," var url = css_urls[i];\n"," const element = document.createElement(\"link\");\n"," element.onload = on_load;\n"," element.onerror = on_error;\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"," const hashes = {\"https://cdn.bokeh.org/bokeh/release/bokeh-2.1.1.min.js\": \"kLr4fYcqcSpbuI95brIH3vnnYCquzzSxHPU6XGQCIkQRGJwhg0StNbj1eegrHs12\", \"https://cdn.bokeh.org/bokeh/release/bokeh-widgets-2.1.1.min.js\": \"xIGPmVtaOm+z0BqfSOMn4lOR6ciex448GIKG4eE61LsAvmGj48XcMQZtKcE/UXZe\", \"https://cdn.bokeh.org/bokeh/release/bokeh-tables-2.1.1.min.js\": \"Dc9u1wF/0zApGIWoBbH77iWEHtdmkuYWG839Uzmv8y8yBLXebjO9ZnERsde5Ln/P\", \"https://cdn.bokeh.org/bokeh/release/bokeh-gl-2.1.1.min.js\": \"cT9JaBz7GiRXdENrJLZNSC6eMNF3nh3fa5fTF51Svp+ukxPdwcU5kGXGPBgDCa2j\"};\n","\n"," for (var i = 0; i < js_urls.length; i++) {\n"," var url = js_urls[i];\n"," var element = document.createElement('script');\n"," element.onload = on_load;\n"," element.onerror = on_error;\n"," element.async = false;\n"," element.src = url;\n"," if (url in hashes) {\n"," element.crossOrigin = \"anonymous\";\n"," element.integrity = \"sha384-\" + hashes[url];\n"," }\n"," console.debug(\"Bokeh: injecting script tag for BokehJS library: \", url);\n"," document.head.appendChild(element);\n"," }\n"," };\n","\n"," function inject_raw_css(css) {\n"," const element = document.createElement(\"style\");\n"," element.appendChild(document.createTextNode(css));\n"," document.body.appendChild(element);\n"," }\n","\n"," \n"," var js_urls = [\"https://cdn.bokeh.org/bokeh/release/bokeh-2.1.1.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-widgets-2.1.1.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-tables-2.1.1.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-gl-2.1.1.min.js\"];\n"," var css_urls = [];\n"," \n","\n"," var inline_js = [\n"," function(Bokeh) {\n"," Bokeh.set_log_level(\"info\");\n"," },\n"," function(Bokeh) {\n"," \n"," \n"," }\n"," ];\n","\n"," function run_inline_js() {\n"," \n"," if (root.Bokeh !== undefined || force === true) {\n"," \n"," for (var i = 0; i < inline_js.length; i++) {\n"," inline_js[i].call(root, root.Bokeh);\n"," }\n"," } else if (Date.now() < root._bokeh_timeout) {\n"," setTimeout(run_inline_js, 100);\n"," } else if (!root._bokeh_failed_load) {\n"," console.log(\"Bokeh: BokehJS failed to load within specified timeout.\");\n"," root._bokeh_failed_load = true;\n"," } else if (force !== true) {\n"," var cell = $(document.getElementById(null)).parents('.cell').data().cell;\n"," cell.output_area.append_execute_result(NB_LOAD_WARNING)\n"," }\n","\n"," }\n","\n"," if (root._bokeh_is_loading === 0) {\n"," console.debug(\"Bokeh: BokehJS loaded, going straight to plotting\");\n"," run_inline_js();\n"," } else {\n"," load_libs(css_urls, js_urls, function() {\n"," console.debug(\"Bokeh: BokehJS plotting callback run at\", now());\n"," run_inline_js();\n"," });\n"," }\n","}(window));"],"application/vnd.bokehjs_load.v0+json":"\n(function(root) {\n function now() {\n return new Date();\n }\n\n var force = true;\n\n if (typeof root._bokeh_onload_callbacks === \"undefined\" || force === true) {\n root._bokeh_onload_callbacks = [];\n root._bokeh_is_loading = undefined;\n }\n\n \n\n \n if (typeof (root._bokeh_timeout) === \"undefined\" || force === true) {\n root._bokeh_timeout = Date.now() + 5000;\n root._bokeh_failed_load = false;\n }\n\n var NB_LOAD_WARNING = {'data': {'text/html':\n \"<div style='background-color: #fdd'>\\n\"+\n \"<p>\\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 \"</p>\\n\"+\n \"<ul>\\n\"+\n \"<li>re-rerun `output_notebook()` to attempt to load from CDN again, or</li>\\n\"+\n \"<li>use INLINE resources instead, as so:</li>\\n\"+\n \"</ul>\\n\"+\n \"<code>\\n\"+\n \"from bokeh.resources import INLINE\\n\"+\n \"output_notebook(resources=INLINE)\\n\"+\n \"</code>\\n\"+\n \"</div>\"}};\n\n function display_loaded() {\n var el = document.getElementById(null);\n if (el != null) {\n el.textContent = \"BokehJS is loading...\";\n }\n if (root.Bokeh !== undefined) {\n if (el != null) {\n el.textContent = \"BokehJS \" + root.Bokeh.version + \" successfully loaded.\";\n }\n } else if (Date.now() < root._bokeh_timeout) {\n setTimeout(display_loaded, 100)\n }\n }\n\n\n function run_callbacks() {\n try {\n root._bokeh_onload_callbacks.forEach(function(callback) {\n if (callback != null)\n callback();\n });\n } finally {\n delete root._bokeh_onload_callbacks\n }\n console.debug(\"Bokeh: all callbacks have finished\");\n }\n\n function load_libs(css_urls, js_urls, callback) {\n if (css_urls == null) css_urls = [];\n if (js_urls == null) js_urls = [];\n\n root._bokeh_onload_callbacks.push(callback);\n if (root._bokeh_is_loading > 0) {\n console.debug(\"Bokeh: BokehJS is being loaded, scheduling callback at\", now());\n return null;\n }\n if (js_urls == null || js_urls.length === 0) {\n run_callbacks();\n return null;\n }\n console.debug(\"Bokeh: BokehJS not loaded, scheduling load and callback at\", now());\n root._bokeh_is_loading = css_urls.length + js_urls.length;\n\n function on_load() {\n root._bokeh_is_loading--;\n if (root._bokeh_is_loading === 0) {\n console.debug(\"Bokeh: all BokehJS libraries/stylesheets loaded\");\n run_callbacks()\n }\n }\n\n function on_error() {\n console.error(\"failed to load \" + url);\n }\n\n for (var i = 0; i < css_urls.length; i++) {\n var url = css_urls[i];\n const element = document.createElement(\"link\");\n element.onload = on_load;\n element.onerror = on_error;\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 const hashes = {\"https://cdn.bokeh.org/bokeh/release/bokeh-2.1.1.min.js\": \"kLr4fYcqcSpbuI95brIH3vnnYCquzzSxHPU6XGQCIkQRGJwhg0StNbj1eegrHs12\", \"https://cdn.bokeh.org/bokeh/release/bokeh-widgets-2.1.1.min.js\": \"xIGPmVtaOm+z0BqfSOMn4lOR6ciex448GIKG4eE61LsAvmGj48XcMQZtKcE/UXZe\", \"https://cdn.bokeh.org/bokeh/release/bokeh-tables-2.1.1.min.js\": \"Dc9u1wF/0zApGIWoBbH77iWEHtdmkuYWG839Uzmv8y8yBLXebjO9ZnERsde5Ln/P\", \"https://cdn.bokeh.org/bokeh/release/bokeh-gl-2.1.1.min.js\": \"cT9JaBz7GiRXdENrJLZNSC6eMNF3nh3fa5fTF51Svp+ukxPdwcU5kGXGPBgDCa2j\"};\n\n for (var i = 0; i < js_urls.length; i++) {\n var url = js_urls[i];\n var element = document.createElement('script');\n element.onload = on_load;\n element.onerror = on_error;\n element.async = false;\n element.src = url;\n if (url in hashes) {\n element.crossOrigin = \"anonymous\";\n element.integrity = \"sha384-\" + hashes[url];\n }\n console.debug(\"Bokeh: injecting script tag for BokehJS library: \", url);\n document.head.appendChild(element);\n }\n };\n\n function inject_raw_css(css) {\n const element = document.createElement(\"style\");\n element.appendChild(document.createTextNode(css));\n document.body.appendChild(element);\n }\n\n \n var js_urls = [\"https://cdn.bokeh.org/bokeh/release/bokeh-2.1.1.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-widgets-2.1.1.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-tables-2.1.1.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-gl-2.1.1.min.js\"];\n var css_urls = [];\n \n\n var inline_js = [\n function(Bokeh) {\n Bokeh.set_log_level(\"info\");\n },\n function(Bokeh) {\n \n \n }\n ];\n\n function run_inline_js() {\n \n if (root.Bokeh !== undefined || force === true) {\n \n for (var i = 0; i < inline_js.length; i++) {\n inline_js[i].call(root, root.Bokeh);\n }\n } else if (Date.now() < root._bokeh_timeout) {\n setTimeout(run_inline_js, 100);\n } else if (!root._bokeh_failed_load) {\n console.log(\"Bokeh: BokehJS failed to load within specified timeout.\");\n root._bokeh_failed_load = true;\n } else if (force !== true) {\n var cell = $(document.getElementById(null)).parents('.cell').data().cell;\n cell.output_area.append_execute_result(NB_LOAD_WARNING)\n }\n\n }\n\n if (root._bokeh_is_loading === 0) {\n console.debug(\"Bokeh: BokehJS loaded, going straight to plotting\");\n run_inline_js();\n } else {\n load_libs(css_urls, js_urls, function() {\n console.debug(\"Bokeh: BokehJS plotting callback run at\", now());\n run_inline_js();\n });\n }\n}(window));"},"metadata":{"tags":[]}},{"output_type":"display_data","data":{"text/html":["\n","\n","\n","\n","\n","\n"," <div class=\"bk-root\" id=\"2f9f8cee-6dd9-402a-b0d6-f5c8bbf84ae2\" data-root-id=\"2141\"></div>\n"]},"metadata":{"tags":[]}},{"output_type":"display_data","data":{"application/javascript":["(function(root) {\n"," function embed_document(root) {\n"," \n"," var docs_json = {\"620401bb-2e8e-439d-a50e-fd5e04bef2ad\":{\"roots\":{\"references\":[{\"attributes\":{\"children\":[{\"id\":\"2140\"},{\"id\":\"2138\"}]},\"id\":\"2141\",\"type\":\"Column\"},{\"attributes\":{\"bottom\":{\"field\":\"bottom\"},\"fill_color\":{\"value\":\"red\"},\"line_color\":{\"value\":\"red\"},\"top\":{\"field\":\"top\"},\"width\":{\"value\":0.8},\"x\":{\"field\":\"x\"}},\"id\":\"2038\",\"type\":\"VBar\"},{\"attributes\":{\"formatter\":{\"id\":\"2106\"},\"major_label_orientation\":0.6283185307179586,\"major_label_overrides\":{\"0\":\"2021-01-04\",\"1\":\"2021-01-05\",\"10\":\"2021-01-18\",\"11\":\"2021-01-19\",\"12\":\"2021-01-20\",\"13\":\"2021-01-21\",\"14\":\"2021-01-22\",\"15\":\"2021-01-25\",\"16\":\"2021-01-26\",\"17\":\"2021-01-27\",\"18\":\"2021-01-28\",\"19\":\"2021-01-29\",\"2\":\"2021-01-06\",\"20\":\"2021-02-01\",\"21\":\"2021-02-02\",\"22\":\"2021-02-03\",\"23\":\"2021-02-04\",\"24\":\"2021-02-05\",\"25\":\"2021-02-08\",\"26\":\"2021-02-09\",\"27\":\"2021-02-10\",\"28\":\"2021-02-15\",\"29\":\"\",\"3\":\"2021-01-07\",\"4\":\"2021-01-08\",\"5\":\"2021-01-11\",\"6\":\"2021-01-12\",\"7\":\"2021-01-13\",\"8\":\"2021-01-14\",\"9\":\"2021-01-15\"},\"ticker\":{\"id\":\"2073\"}},\"id\":\"2072\",\"type\":\"LinearAxis\"},{\"attributes\":{\"days\":[\"%Y-%m-%d\"],\"hours\":[\"%H:%M\"]},\"id\":\"2106\",\"type\":\"DatetimeTickFormatter\"},{\"attributes\":{\"line_color\":{\"value\":\"red\"},\"x0\":{\"field\":\"x0\"},\"x1\":{\"field\":\"x1\"},\"y0\":{\"field\":\"y0\"},\"y1\":{\"field\":\"y1\"}},\"id\":\"2028\",\"type\":\"Segment\"},{\"attributes\":{\"children\":[[{\"id\":\"1994\"},0,0],[{\"id\":\"2064\"},1,0]]},\"id\":\"2138\",\"type\":\"GridBox\"},{\"attributes\":{\"data\":{\"top\":[42089013,59013307,90306177,33431809,43227951,25318011,30861661,33178936,31859808,39615978,24171688,20898332,23025766,23529706],\"x\":[2,4,5,9,10,13,14,16,18,19,23,26,27,28]},\"selected\":{\"id\":\"2133\"},\"selection_policy\":{\"id\":\"2132\"}},\"id\":\"2094\",\"type\":\"ColumnDataSource\"},{\"attributes\":{\"below\":[{\"id\":\"2005\"}],\"center\":[{\"id\":\"2008\"},{\"id\":\"2012\"}],\"left\":[{\"id\":\"2009\"}],\"plot_height\":210,\"renderers\":[{\"id\":\"2030\"},{\"id\":\"2035\"},{\"id\":\"2040\"},{\"id\":\"2045\"},{\"id\":\"2052\"},{\"id\":\"2057\"},{\"id\":\"2062\"}],\"title\":{\"id\":\"1995\"},\"toolbar\":{\"id\":\"2020\"},\"toolbar_location\":null,\"x_range\":{\"id\":\"1997\"},\"x_scale\":{\"id\":\"2001\"},\"y_range\":{\"id\":\"1999\"},\"y_scale\":{\"id\":\"2003\"}},\"id\":\"1994\",\"subtype\":\"Figure\",\"type\":\"Plot\"},{\"attributes\":{\"axis\":{\"id\":\"2072\"},\"ticker\":null},\"id\":\"2075\",\"type\":\"Grid\"},{\"attributes\":{},\"id\":\"2073\",\"type\":\"BasicTicker\"},{\"attributes\":{},\"id\":\"2115\",\"type\":\"Selection\"},{\"attributes\":{\"data\":{\"x0\":[0,1,3,4,5,6,8,11,13,15,18,20,21,24,28],\"x1\":[0,1,3,4,5,6,8,11,13,15,18,20,21,24,28],\"y0\":[84400,83900,84200,90000,96800,91400,90000,88000,88600,89900,85600,83400,86400,84000,84500],\"y1\":[80200,81600,82700,83000,89500,87800,88700,83600,86500,86300,83200,81000,83700,82500,83300]},\"selected\":{\"id\":\"2113\"},\"selection_policy\":{\"id\":\"2112\"}},\"id\":\"2027\",\"type\":\"ColumnDataSource\"},{\"attributes\":{},\"id\":\"2116\",\"type\":\"UnionRenderers\"},{\"attributes\":{\"formatter\":{\"id\":\"2104\"},\"ticker\":{\"id\":\"2077\"}},\"id\":\"2076\",\"type\":\"LinearAxis\"},{\"attributes\":{\"source\":{\"id\":\"2027\"}},\"id\":\"2031\",\"type\":\"CDSView\"},{\"attributes\":{},\"id\":\"2117\",\"type\":\"Selection\"},{\"attributes\":{},\"id\":\"2077\",\"type\":\"BasicTicker\"},{\"attributes\":{},\"id\":\"2118\",\"type\":\"UnionRenderers\"},{\"attributes\":{\"axis\":{\"id\":\"2076\"},\"dimension\":1,\"ticker\":null},\"id\":\"2079\",\"type\":\"Grid\"},{\"attributes\":{\"below\":[{\"id\":\"2072\"}],\"center\":[{\"id\":\"2075\"},{\"id\":\"2079\"}],\"left\":[{\"id\":\"2076\"}],\"plot_height\":90,\"renderers\":[{\"id\":\"2097\"},{\"id\":\"2102\"}],\"title\":{\"id\":\"2129\"},\"toolbar\":{\"id\":\"2087\"},\"toolbar_location\":null,\"x_range\":{\"id\":\"1997\"},\"x_scale\":{\"id\":\"2068\"},\"y_range\":{\"id\":\"2066\"},\"y_scale\":{\"id\":\"2070\"}},\"id\":\"2064\",\"subtype\":\"Figure\",\"type\":\"Plot\"},{\"attributes\":{\"line_alpha\":{\"value\":0.1},\"line_color\":{\"value\":\"red\"},\"x0\":{\"field\":\"x0\"},\"x1\":{\"field\":\"x1\"},\"y0\":{\"field\":\"y0\"},\"y1\":{\"field\":\"y1\"}},\"id\":\"2029\",\"type\":\"Segment\"},{\"attributes\":{},\"id\":\"2119\",\"type\":\"Selection\"},{\"attributes\":{\"data_source\":{\"id\":\"2027\"},\"glyph\":{\"id\":\"2028\"},\"hover_glyph\":null,\"muted_glyph\":null,\"nonselection_glyph\":{\"id\":\"2029\"},\"selection_glyph\":null,\"view\":{\"id\":\"2031\"}},\"id\":\"2030\",\"type\":\"GlyphRenderer\"},{\"attributes\":{},\"id\":\"2120\",\"type\":\"UnionRenderers\"},{\"attributes\":{},\"id\":\"2001\",\"type\":\"LinearScale\"},{\"attributes\":{},\"id\":\"2121\",\"type\":\"Selection\"},{\"attributes\":{},\"id\":\"2080\",\"type\":\"PanTool\"},{\"attributes\":{},\"id\":\"2003\",\"type\":\"LinearScale\"},{\"attributes\":{},\"id\":\"2122\",\"type\":\"UnionRenderers\"},{\"attributes\":{},\"id\":\"2081\",\"type\":\"WheelZoomTool\"},{\"attributes\":{\"end\":96800,\"start\":80200},\"id\":\"1999\",\"type\":\"Range1d\"},{\"attributes\":{\"line_color\":{\"value\":\"blue\"},\"x0\":{\"field\":\"x0\"},\"x1\":{\"field\":\"x1\"},\"y0\":{\"field\":\"y0\"},\"y1\":{\"field\":\"y1\"}},\"id\":\"2033\",\"type\":\"Segment\"},{\"attributes\":{},\"id\":\"2123\",\"type\":\"Selection\"},{\"attributes\":{\"overlay\":{\"id\":\"2086\"}},\"id\":\"2082\",\"type\":\"BoxZoomTool\"},{\"attributes\":{\"end\":29,\"start\":-1},\"id\":\"1997\",\"type\":\"Range1d\"},{\"attributes\":{\"text\":\"fdr.chart.config()\\ub97c \\uc0ac\\uc6a9\\ud558\\uc5ec \\uc124\\uc815\\uc744 \\ud55c\\ubc88\\uc5d0 \\uc9c0\\uc815\\ud560 \\uc218 \\uc788\\uc2b5\\ub2c8\\ub2e4\"},\"id\":\"1995\",\"type\":\"Title\"},{\"attributes\":{},\"id\":\"2124\",\"type\":\"UnionRenderers\"},{\"attributes\":{},\"id\":\"2083\",\"type\":\"SaveTool\"},{\"attributes\":{},\"id\":\"2085\",\"type\":\"HelpTool\"},{\"attributes\":{},\"id\":\"2125\",\"type\":\"Selection\"},{\"attributes\":{},\"id\":\"2084\",\"type\":\"ResetTool\"},{\"attributes\":{\"text\":\"\"},\"id\":\"2129\",\"type\":\"Title\"},{\"attributes\":{\"active_drag\":\"auto\",\"active_inspect\":\"auto\",\"active_multi\":null,\"active_scroll\":\"auto\",\"active_tap\":\"auto\",\"tools\":[{\"id\":\"2080\"},{\"id\":\"2081\"},{\"id\":\"2082\"},{\"id\":\"2083\"},{\"id\":\"2084\"},{\"id\":\"2085\"}]},\"id\":\"2087\",\"type\":\"Toolbar\"},{\"attributes\":{\"axis\":{\"id\":\"2005\"},\"ticker\":null},\"id\":\"2008\",\"type\":\"Grid\"},{\"attributes\":{\"data_source\":{\"id\":\"2032\"},\"glyph\":{\"id\":\"2033\"},\"hover_glyph\":null,\"muted_glyph\":null,\"nonselection_glyph\":{\"id\":\"2034\"},\"selection_glyph\":null,\"view\":{\"id\":\"2036\"}},\"id\":\"2035\",\"type\":\"GlyphRenderer\"},{\"attributes\":{},\"id\":\"2132\",\"type\":\"UnionRenderers\"},{\"attributes\":{\"data\":{\"x0\":[2,7,9,10,12,14,16,17,19,22,23,25,26,27],\"x1\":[2,7,9,10,12,14,16,17,19,22,23,25,26,27],\"y0\":[84500,91200,91800,87300,89000,89700,89200,87700,85000,85400,83800,84200,84800,82600],\"y1\":[82100,89100,88000,84100,86500,86800,86500,85600,82000,83400,82100,83000,82700,81600]},\"selected\":{\"id\":\"2115\"},\"selection_policy\":{\"id\":\"2114\"}},\"id\":\"2032\",\"type\":\"ColumnDataSource\"},{\"attributes\":{},\"id\":\"2006\",\"type\":\"BasicTicker\"},{\"attributes\":{},\"id\":\"2114\",\"type\":\"UnionRenderers\"},{\"attributes\":{},\"id\":\"2133\",\"type\":\"Selection\"},{\"attributes\":{\"formatter\":{\"id\":\"2109\"},\"ticker\":{\"id\":\"2006\"},\"visible\":false},\"id\":\"2005\",\"type\":\"LinearAxis\"},{\"attributes\":{},\"id\":\"2134\",\"type\":\"UnionRenderers\"},{\"attributes\":{\"line_alpha\":{\"value\":0.1},\"line_color\":{\"value\":\"blue\"},\"x0\":{\"field\":\"x0\"},\"x1\":{\"field\":\"x1\"},\"y0\":{\"field\":\"y0\"},\"y1\":{\"field\":\"y1\"}},\"id\":\"2034\",\"type\":\"Segment\"},{\"attributes\":{},\"id\":\"2010\",\"type\":\"BasicTicker\"},{\"attributes\":{},\"id\":\"2135\",\"type\":\"Selection\"},{\"attributes\":{\"formatter\":{\"id\":\"2047\"},\"ticker\":{\"id\":\"2010\"}},\"id\":\"2009\",\"type\":\"LinearAxis\"},{\"attributes\":{},\"id\":\"2112\",\"type\":\"UnionRenderers\"},{\"attributes\":{\"toolbars\":[{\"id\":\"2020\"},{\"id\":\"2087\"}],\"tools\":[{\"id\":\"2013\"},{\"id\":\"2014\"},{\"id\":\"2015\"},{\"id\":\"2016\"},{\"id\":\"2017\"},{\"id\":\"2018\"},{\"id\":\"2080\"},{\"id\":\"2081\"},{\"id\":\"2082\"},{\"id\":\"2083\"},{\"id\":\"2084\"},{\"id\":\"2085\"}]},\"id\":\"2139\",\"type\":\"ProxyToolbar\"},{\"attributes\":{\"overlay\":{\"id\":\"2019\"}},\"id\":\"2015\",\"type\":\"BoxZoomTool\"},{\"attributes\":{\"toolbar\":{\"id\":\"2139\"},\"toolbar_location\":\"above\"},\"id\":\"2140\",\"type\":\"ToolbarBox\"},{\"attributes\":{},\"id\":\"2014\",\"type\":\"WheelZoomTool\"},{\"attributes\":{},\"id\":\"2013\",\"type\":\"PanTool\"},{\"attributes\":{},\"id\":\"2113\",\"type\":\"Selection\"},{\"attributes\":{\"source\":{\"id\":\"2099\"}},\"id\":\"2103\",\"type\":\"CDSView\"},{\"attributes\":{},\"id\":\"2109\",\"type\":\"BasicTickFormatter\"},{\"attributes\":{\"axis\":{\"id\":\"2009\"},\"dimension\":1,\"ticker\":null},\"id\":\"2012\",\"type\":\"Grid\"},{\"attributes\":{\"bottom_units\":\"screen\",\"fill_alpha\":0.5,\"fill_color\":\"lightgrey\",\"left_units\":\"screen\",\"level\":\"overlay\",\"line_alpha\":1.0,\"line_color\":\"black\",\"line_dash\":[4,4],\"line_width\":2,\"right_units\":\"screen\",\"top_units\":\"screen\"},\"id\":\"2086\",\"type\":\"BoxAnnotation\"},{\"attributes\":{},\"id\":\"2016\",\"type\":\"SaveTool\"},{\"attributes\":{},\"id\":\"2018\",\"type\":\"HelpTool\"},{\"attributes\":{\"fill_alpha\":{\"value\":0.1},\"fill_color\":{\"value\":\"red\"},\"line_alpha\":{\"value\":0.1},\"top\":{\"field\":\"top\"},\"width\":{\"value\":0.8},\"x\":{\"field\":\"x\"}},\"id\":\"2096\",\"type\":\"VBar\"},{\"attributes\":{},\"id\":\"2017\",\"type\":\"ResetTool\"},{\"attributes\":{\"data_source\":{\"id\":\"2094\"},\"glyph\":{\"id\":\"2095\"},\"hover_glyph\":null,\"muted_glyph\":null,\"nonselection_glyph\":{\"id\":\"2096\"},\"selection_glyph\":null,\"view\":{\"id\":\"2098\"}},\"id\":\"2097\",\"type\":\"GlyphRenderer\"},{\"attributes\":{\"active_drag\":\"auto\",\"active_inspect\":\"auto\",\"active_multi\":null,\"active_scroll\":\"auto\",\"active_tap\":\"auto\",\"tools\":[{\"id\":\"2013\"},{\"id\":\"2014\"},{\"id\":\"2015\"},{\"id\":\"2016\"},{\"id\":\"2017\"},{\"id\":\"2018\"}]},\"id\":\"2020\",\"type\":\"Toolbar\"},{\"attributes\":{\"fill_color\":{\"value\":\"red\"},\"top\":{\"field\":\"top\"},\"width\":{\"value\":0.8},\"x\":{\"field\":\"x\"}},\"id\":\"2095\",\"type\":\"VBar\"},{\"attributes\":{\"data\":{\"bottom\":[83000,83900,82900,88800,91000,90600,89700,87000,88100,89400,83700,83000,84400,83500,84200],\"top\":[81000,81600,82800,83300,90000,90300,88700,84500,87500,87000,83200,81700,84100,83100,83800],\"x\":[0,1,3,4,5,6,8,11,13,15,18,20,21,24,28]},\"selected\":{\"id\":\"2117\"},\"selection_policy\":{\"id\":\"2116\"}},\"id\":\"2037\",\"type\":\"ColumnDataSource\"},{\"attributes\":{\"source\":{\"id\":\"2094\"}},\"id\":\"2098\",\"type\":\"CDSView\"},{\"attributes\":{\"data\":{\"top\":[35335669,32644642,48682416,36068848,26393970,39895044,25211127,27258534,26423070,28046832,26302077,22112205,18036835,15338765],\"x\":[1,3,6,7,8,11,12,15,17,20,21,22,24,25]},\"selected\":{\"id\":\"2135\"},\"selection_policy\":{\"id\":\"2134\"}},\"id\":\"2099\",\"type\":\"ColumnDataSource\"},{\"attributes\":{\"fill_alpha\":{\"value\":0.1},\"fill_color\":{\"value\":\"blue\"},\"line_alpha\":{\"value\":0.1},\"top\":{\"field\":\"top\"},\"width\":{\"value\":0.8},\"x\":{\"field\":\"x\"}},\"id\":\"2101\",\"type\":\"VBar\"},{\"attributes\":{},\"id\":\"2104\",\"type\":\"NumeralTickFormatter\"},{\"attributes\":{\"fill_color\":{\"value\":\"blue\"},\"top\":{\"field\":\"top\"},\"width\":{\"value\":0.8},\"x\":{\"field\":\"x\"}},\"id\":\"2100\",\"type\":\"VBar\"},{\"attributes\":{\"bottom_units\":\"screen\",\"fill_alpha\":0.5,\"fill_color\":\"lightgrey\",\"left_units\":\"screen\",\"level\":\"overlay\",\"line_alpha\":1.0,\"line_color\":\"black\",\"line_dash\":[4,4],\"line_width\":2,\"right_units\":\"screen\",\"top_units\":\"screen\"},\"id\":\"2019\",\"type\":\"BoxAnnotation\"},{\"attributes\":{\"data_source\":{\"id\":\"2099\"},\"glyph\":{\"id\":\"2100\"},\"hover_glyph\":null,\"muted_glyph\":null,\"nonselection_glyph\":{\"id\":\"2101\"},\"selection_glyph\":null,\"view\":{\"id\":\"2103\"}},\"id\":\"2102\",\"type\":\"GlyphRenderer\"},{\"attributes\":{\"source\":{\"id\":\"2032\"}},\"id\":\"2036\",\"type\":\"CDSView\"},{\"attributes\":{\"source\":{\"id\":\"2037\"}},\"id\":\"2041\",\"type\":\"CDSView\"},{\"attributes\":{\"bottom\":{\"field\":\"bottom\"},\"fill_alpha\":{\"value\":0.1},\"fill_color\":{\"value\":\"red\"},\"line_alpha\":{\"value\":0.1},\"line_color\":{\"value\":\"red\"},\"top\":{\"field\":\"top\"},\"width\":{\"value\":0.8},\"x\":{\"field\":\"x\"}},\"id\":\"2039\",\"type\":\"VBar\"},{\"attributes\":{\"data_source\":{\"id\":\"2037\"},\"glyph\":{\"id\":\"2038\"},\"hover_glyph\":null,\"muted_glyph\":null,\"nonselection_glyph\":{\"id\":\"2039\"},\"selection_glyph\":null,\"view\":{\"id\":\"2041\"}},\"id\":\"2040\",\"type\":\"GlyphRenderer\"},{\"attributes\":{\"data\":{\"bottom\":[82200,89700,88000,85000,87200,86800,86700,85600,82000,84600,82500,83000,82700,81600],\"top\":[83300,89800,89800,86600,89000,89000,88800,86600,84500,84800,83500,83800,84000,82600],\"x\":[2,7,9,10,12,14,16,17,19,22,23,25,26,27]},\"selected\":{\"id\":\"2119\"},\"selection_policy\":{\"id\":\"2118\"}},\"id\":\"2042\",\"type\":\"ColumnDataSource\"},{\"attributes\":{},\"id\":\"2047\",\"type\":\"NumeralTickFormatter\"},{\"attributes\":{\"bottom\":{\"field\":\"bottom\"},\"fill_alpha\":{\"value\":0.1},\"fill_color\":{\"value\":\"blue\"},\"line_alpha\":{\"value\":0.1},\"line_color\":{\"value\":\"blue\"},\"top\":{\"field\":\"top\"},\"width\":{\"value\":0.8},\"x\":{\"field\":\"x\"}},\"id\":\"2044\",\"type\":\"VBar\"},{\"attributes\":{\"data_source\":{\"id\":\"2042\"},\"glyph\":{\"id\":\"2043\"},\"hover_glyph\":null,\"muted_glyph\":null,\"nonselection_glyph\":{\"id\":\"2044\"},\"selection_glyph\":null,\"view\":{\"id\":\"2046\"}},\"id\":\"2045\",\"type\":\"GlyphRenderer\"},{\"attributes\":{\"bottom\":{\"field\":\"bottom\"},\"fill_color\":{\"value\":\"blue\"},\"line_color\":{\"value\":\"blue\"},\"top\":{\"field\":\"top\"},\"width\":{\"value\":0.8},\"x\":{\"field\":\"x\"}},\"id\":\"2043\",\"type\":\"VBar\"},{\"attributes\":{\"source\":{\"id\":\"2042\"}},\"id\":\"2046\",\"type\":\"CDSView\"},{\"attributes\":{\"data\":{\"x\":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28],\"y\":{\"__ndarray__\":\"AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAIz0QAAAAAAA8PRAAAAAAMBD9UAAAAAAgKH1QAAAAACA9vVAAAAAAIDs9UAAAAAAgKH1QAAAAACAdPVAAAAAAEBV9UAAAAAAQEH1QAAAAABAMvVAAAAAAEBp9UAAAAAAgGX1QAAAAACAUfVAAAAAAIAa9UAAAAAAgN70QAAAAACAjvRAAAAAAMBx9EAAAAAAQGX0QAAAAABAVvRAAAAAAABp9EAAAAAAAGn0QAAAAADAU/RAAAAAAEAu9EAAAAAAgEP0QA==\",\"dtype\":\"float64\",\"order\":\"little\",\"shape\":[29]}},\"selected\":{\"id\":\"2121\"},\"selection_policy\":{\"id\":\"2120\"}},\"id\":\"2049\",\"type\":\"ColumnDataSource\"},{\"attributes\":{\"line_color\":\"#1f77b4\",\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"2050\",\"type\":\"Line\"},{\"attributes\":{\"line_alpha\":0.1,\"line_color\":\"#1f77b4\",\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"2051\",\"type\":\"Line\"},{\"attributes\":{\"source\":{\"id\":\"2049\"}},\"id\":\"2053\",\"type\":\"CDSView\"},{\"attributes\":{\"data_source\":{\"id\":\"2049\"},\"glyph\":{\"id\":\"2050\"},\"hover_glyph\":null,\"muted_glyph\":null,\"nonselection_glyph\":{\"id\":\"2051\"},\"selection_glyph\":null,\"view\":{\"id\":\"2053\"}},\"id\":\"2052\",\"type\":\"GlyphRenderer\"},{\"attributes\":{\"data\":{\"x\":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28],\"y\":{\"__ndarray__\":\"AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAUCL1QAAAAABQIvVAAAAAAOAj9UAAAAAAYCv1QAAAAAAgKvVAAAAAAJAZ9UAAAAAAkAD1QAAAAADg5/RAAAAAAJDO9EAAAAAAYL30QA==\",\"dtype\":\"float64\",\"order\":\"little\",\"shape\":[29]}},\"selected\":{\"id\":\"2123\"},\"selection_policy\":{\"id\":\"2122\"}},\"id\":\"2054\",\"type\":\"ColumnDataSource\"},{\"attributes\":{\"line_color\":\"#ff7f0e\",\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"2055\",\"type\":\"Line\"},{\"attributes\":{\"line_alpha\":0.1,\"line_color\":\"#ff7f0e\",\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"2056\",\"type\":\"Line\"},{\"attributes\":{\"source\":{\"id\":\"2054\"}},\"id\":\"2058\",\"type\":\"CDSView\"},{\"attributes\":{\"data_source\":{\"id\":\"2054\"},\"glyph\":{\"id\":\"2055\"},\"hover_glyph\":null,\"muted_glyph\":null,\"nonselection_glyph\":{\"id\":\"2056\"},\"selection_glyph\":null,\"view\":{\"id\":\"2058\"}},\"id\":\"2057\",\"type\":\"GlyphRenderer\"},{\"attributes\":{\"data\":{\"x\":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28],\"y\":{\"__ndarray__\":\"AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fw==\",\"dtype\":\"float64\",\"order\":\"little\",\"shape\":[29]}},\"selected\":{\"id\":\"2125\"},\"selection_policy\":{\"id\":\"2124\"}},\"id\":\"2059\",\"type\":\"ColumnDataSource\"},{\"attributes\":{\"line_color\":\"#2ca02c\",\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"2060\",\"type\":\"Line\"},{\"attributes\":{\"line_alpha\":0.1,\"line_color\":\"#2ca02c\",\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"2061\",\"type\":\"Line\"},{\"attributes\":{\"source\":{\"id\":\"2059\"}},\"id\":\"2063\",\"type\":\"CDSView\"},{\"attributes\":{\"data_source\":{\"id\":\"2059\"},\"glyph\":{\"id\":\"2060\"},\"hover_glyph\":null,\"muted_glyph\":null,\"nonselection_glyph\":{\"id\":\"2061\"},\"selection_glyph\":null,\"view\":{\"id\":\"2063\"}},\"id\":\"2062\",\"type\":\"GlyphRenderer\"},{\"attributes\":{\"range_padding\":0},\"id\":\"2066\",\"type\":\"DataRange1d\"},{\"attributes\":{},\"id\":\"2068\",\"type\":\"LinearScale\"},{\"attributes\":{},\"id\":\"2070\",\"type\":\"LinearScale\"}],\"root_ids\":[\"2141\"]},\"title\":\"Bokeh Application\",\"version\":\"2.1.1\"}};\n"," var render_items = [{\"docid\":\"620401bb-2e8e-439d-a50e-fd5e04bef2ad\",\"root_ids\":[\"2141\"],\"roots\":{\"2141\":\"2f9f8cee-6dd9-402a-b0d6-f5c8bbf84ae2\"}}];\n"," root.Bokeh.embed.embed_items_notebook(docs_json, render_items);\n","\n"," }\n"," if (root.Bokeh !== undefined) {\n"," embed_document(root);\n"," } else {\n"," var attempts = 0;\n"," var timer = setInterval(function(root) {\n"," if (root.Bokeh !== undefined) {\n"," 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":{"tags":[],"application/vnd.bokehjs_exec.v0+json":{"id":"2141"}}}]},{"cell_type":"markdown","metadata":{"id":"U_vZNe3OJTfW"},"source":["모든 설정을 초기 기본 설정으로 되돌리려면 config(reset=True)를 지정합니다.\n","\n","```python\n","fdr.chart.config(reset=True)\n","```\n"]},{"cell_type":"code","metadata":{"colab":{"base_uri":"https://localhost:8080/","height":528},"id":"pyawwjfzJSbM","executionInfo":{"status":"ok","timestamp":1613821297888,"user_tz":-540,"elapsed":9048,"user":{"displayName":"Sean-June Lee","photoUrl":"https://lh3.googleusercontent.com/a-/AOh14Gj6rvtcx9Gy8VOzzw2LH1hYtnxIuHBDw8qnYK9SAuY=s64","userId":"12576390002043678893"}},"outputId":"77017106-d4c8-408a-930d-08ec3a9a22ee"},"source":["fdr.chart.config(reset=True)\n","df = fdr.DataReader('000660', '2021')\n","\n","fdr.chart.plot(df)"],"execution_count":7,"outputs":[{"output_type":"display_data","data":{"application/javascript":["\n","(function(root) {\n"," function now() {\n"," return new Date();\n"," }\n","\n"," var force = true;\n","\n"," if (typeof root._bokeh_onload_callbacks === \"undefined\" || force === true) {\n"," root._bokeh_onload_callbacks = [];\n"," root._bokeh_is_loading = undefined;\n"," }\n","\n"," var JS_MIME_TYPE = 'application/javascript';\n"," var HTML_MIME_TYPE = 'text/html';\n"," var EXEC_MIME_TYPE = 'application/vnd.bokehjs_exec.v0+json';\n"," var CLASS_NAME = 'output_bokeh rendered_html';\n","\n"," /**\n"," * Render data to the DOM node\n"," */\n"," function render(props, node) {\n"," var script = document.createElement(\"script\");\n"," node.appendChild(script);\n"," }\n","\n"," /**\n"," * Handle when an output is cleared or removed\n"," */\n"," function handleClearOutput(event, handle) {\n"," var cell = handle.cell;\n","\n"," var id = cell.output_area._bokeh_element_id;\n"," var server_id = cell.output_area._bokeh_server_id;\n"," // Clean up Bokeh references\n"," if (id != null && id in Bokeh.index) {\n"," Bokeh.index[id].model.document.clear();\n"," delete Bokeh.index[id];\n"," }\n","\n"," if (server_id !== undefined) {\n"," // Clean up Bokeh references\n"," var cmd = \"from bokeh.io.state import curstate; print(curstate().uuid_to_server['\" + server_id + \"'].get_sessions()[0].document.roots[0]._id)\";\n"," cell.notebook.kernel.execute(cmd, {\n"," iopub: {\n"," output: function(msg) {\n"," var id = msg.content.text.trim();\n"," if (id in Bokeh.index) {\n"," Bokeh.index[id].model.document.clear();\n"," delete Bokeh.index[id];\n"," }\n"," }\n"," }\n"," });\n"," // Destroy server and session\n"," var cmd = \"import bokeh.io.notebook as ion; ion.destroy_server('\" + server_id + \"')\";\n"," cell.notebook.kernel.execute(cmd);\n"," }\n"," }\n","\n"," /**\n"," * Handle when a new output is added\n"," */\n"," function handleAddOutput(event, handle) {\n"," var output_area = handle.output_area;\n"," var output = handle.output;\n","\n"," // limit handleAddOutput to display_data with EXEC_MIME_TYPE content only\n"," if ((output.output_type != \"display_data\") || (!output.data.hasOwnProperty(EXEC_MIME_TYPE))) {\n"," return\n"," }\n","\n"," var toinsert = output_area.element.find(\".\" + CLASS_NAME.split(' ')[0]);\n","\n"," if (output.metadata[EXEC_MIME_TYPE][\"id\"] !== undefined) {\n"," toinsert[toinsert.length - 1].firstChild.textContent = output.data[JS_MIME_TYPE];\n"," // store reference to embed id on output_area\n"," output_area._bokeh_element_id = output.metadata[EXEC_MIME_TYPE][\"id\"];\n"," }\n"," if (output.metadata[EXEC_MIME_TYPE][\"server_id\"] !== undefined) {\n"," var bk_div = document.createElement(\"div\");\n"," bk_div.innerHTML = output.data[HTML_MIME_TYPE];\n"," var script_attrs = bk_div.children[0].attributes;\n"," for (var i = 0; i < script_attrs.length; i++) {\n"," toinsert[toinsert.length - 1].firstChild.setAttribute(script_attrs[i].name, script_attrs[i].value);\n"," 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"," var toinsert = this.create_output_subarea(\n"," metadata,\n"," CLASS_NAME,\n"," EXEC_MIME_TYPE\n"," );\n"," this.keyboard_manager.register_events(toinsert);\n"," // Render to node\n"," var props = {data: data, metadata: metadata[EXEC_MIME_TYPE]};\n"," render(props, toinsert[toinsert.length - 1]);\n"," element.append(toinsert);\n"," return toinsert\n"," }\n","\n"," /* Handle when an output is cleared or removed */\n"," events.on('clear_output.CodeCell', handleClearOutput);\n"," events.on('delete.Cell', handleClearOutput);\n","\n"," /* Handle when a new output is added */\n"," events.on('output_added.OutputArea', handleAddOutput);\n","\n"," /**\n"," * Register the mime type and append_mime function with output_area\n"," */\n"," OutputArea.prototype.register_mime_type(EXEC_MIME_TYPE, append_mime, {\n"," /* Is output safe? */\n"," safe: true,\n"," /* Index of renderer in `output_area.display_order` */\n"," index: 0\n"," });\n"," }\n","\n"," // register the mime type if in Jupyter Notebook environment and previously unregistered\n"," if (root.Jupyter !== undefined) {\n"," var events = require('base/js/events');\n"," var OutputArea = require('notebook/js/outputarea').OutputArea;\n","\n"," if (OutputArea.prototype.mime_types().indexOf(EXEC_MIME_TYPE) == -1) {\n"," register_renderer(events, OutputArea);\n"," }\n"," }\n","\n"," \n"," if (typeof (root._bokeh_timeout) === \"undefined\" || force === true) {\n"," root._bokeh_timeout = Date.now() + 5000;\n"," root._bokeh_failed_load = false;\n"," }\n","\n"," var NB_LOAD_WARNING = {'data': {'text/html':\n"," \"<div style='background-color: #fdd'>\\n\"+\n"," \"<p>\\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"," \"</p>\\n\"+\n"," \"<ul>\\n\"+\n"," \"<li>re-rerun `output_notebook()` to attempt to load from CDN again, or</li>\\n\"+\n"," \"<li>use INLINE resources instead, as so:</li>\\n\"+\n"," \"</ul>\\n\"+\n"," \"<code>\\n\"+\n"," \"from bokeh.resources import INLINE\\n\"+\n"," \"output_notebook(resources=INLINE)\\n\"+\n"," \"</code>\\n\"+\n"," \"</div>\"}};\n","\n"," function display_loaded() {\n"," var el = document.getElementById(null);\n"," if (el != null) {\n"," el.textContent = \"BokehJS is loading...\";\n"," }\n"," if (root.Bokeh !== undefined) {\n"," if (el != null) {\n"," el.textContent = \"BokehJS \" + root.Bokeh.version + \" successfully loaded.\";\n"," }\n"," } else if (Date.now() < root._bokeh_timeout) {\n"," setTimeout(display_loaded, 100)\n"," }\n"," }\n","\n","\n"," function run_callbacks() {\n"," try {\n"," root._bokeh_onload_callbacks.forEach(function(callback) {\n"," if (callback != null)\n"," callback();\n"," });\n"," } finally {\n"," delete root._bokeh_onload_callbacks\n"," }\n"," console.debug(\"Bokeh: all callbacks have finished\");\n"," }\n","\n"," function load_libs(css_urls, js_urls, callback) {\n"," if (css_urls == null) css_urls = [];\n"," if (js_urls == null) js_urls = [];\n","\n"," root._bokeh_onload_callbacks.push(callback);\n"," if (root._bokeh_is_loading > 0) {\n"," console.debug(\"Bokeh: BokehJS is being loaded, scheduling callback at\", now());\n"," return null;\n"," }\n"," if (js_urls == null || js_urls.length === 0) {\n"," run_callbacks();\n"," return null;\n"," }\n"," console.debug(\"Bokeh: BokehJS not loaded, scheduling load and callback at\", now());\n"," root._bokeh_is_loading = css_urls.length + js_urls.length;\n","\n"," function on_load() {\n"," root._bokeh_is_loading--;\n"," if (root._bokeh_is_loading === 0) {\n"," console.debug(\"Bokeh: all BokehJS libraries/stylesheets loaded\");\n"," run_callbacks()\n"," }\n"," }\n","\n"," function on_error() {\n"," console.error(\"failed to load \" + url);\n"," }\n","\n"," for (var i = 0; i < css_urls.length; i++) {\n"," var url = css_urls[i];\n"," const element = document.createElement(\"link\");\n"," element.onload = on_load;\n"," element.onerror = on_error;\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"," const hashes = {\"https://cdn.bokeh.org/bokeh/release/bokeh-2.1.1.min.js\": \"kLr4fYcqcSpbuI95brIH3vnnYCquzzSxHPU6XGQCIkQRGJwhg0StNbj1eegrHs12\", \"https://cdn.bokeh.org/bokeh/release/bokeh-widgets-2.1.1.min.js\": \"xIGPmVtaOm+z0BqfSOMn4lOR6ciex448GIKG4eE61LsAvmGj48XcMQZtKcE/UXZe\", \"https://cdn.bokeh.org/bokeh/release/bokeh-tables-2.1.1.min.js\": \"Dc9u1wF/0zApGIWoBbH77iWEHtdmkuYWG839Uzmv8y8yBLXebjO9ZnERsde5Ln/P\", \"https://cdn.bokeh.org/bokeh/release/bokeh-gl-2.1.1.min.js\": \"cT9JaBz7GiRXdENrJLZNSC6eMNF3nh3fa5fTF51Svp+ukxPdwcU5kGXGPBgDCa2j\"};\n","\n"," for (var i = 0; i < js_urls.length; i++) {\n"," var url = js_urls[i];\n"," var element = document.createElement('script');\n"," element.onload = on_load;\n"," element.onerror = on_error;\n"," element.async = false;\n"," element.src = url;\n"," if (url in hashes) {\n"," element.crossOrigin = \"anonymous\";\n"," element.integrity = \"sha384-\" + hashes[url];\n"," }\n"," console.debug(\"Bokeh: injecting script tag for BokehJS library: \", url);\n"," document.head.appendChild(element);\n"," }\n"," };\n","\n"," function inject_raw_css(css) {\n"," const element = document.createElement(\"style\");\n"," element.appendChild(document.createTextNode(css));\n"," document.body.appendChild(element);\n"," }\n","\n"," \n"," var js_urls = [\"https://cdn.bokeh.org/bokeh/release/bokeh-2.1.1.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-widgets-2.1.1.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-tables-2.1.1.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-gl-2.1.1.min.js\"];\n"," var css_urls = [];\n"," \n","\n"," var inline_js = [\n"," function(Bokeh) {\n"," Bokeh.set_log_level(\"info\");\n"," },\n"," function(Bokeh) {\n"," \n"," \n"," }\n"," ];\n","\n"," function run_inline_js() {\n"," \n"," if (root.Bokeh !== undefined || force === true) {\n"," \n"," for (var i = 0; i < inline_js.length; i++) {\n"," inline_js[i].call(root, root.Bokeh);\n"," }\n"," } else if (Date.now() < root._bokeh_timeout) {\n"," setTimeout(run_inline_js, 100);\n"," } else if (!root._bokeh_failed_load) {\n"," console.log(\"Bokeh: BokehJS failed to load within specified timeout.\");\n"," root._bokeh_failed_load = true;\n"," } else if (force !== true) {\n"," var cell = $(document.getElementById(null)).parents('.cell').data().cell;\n"," cell.output_area.append_execute_result(NB_LOAD_WARNING)\n"," }\n","\n"," }\n","\n"," if (root._bokeh_is_loading === 0) {\n"," console.debug(\"Bokeh: BokehJS loaded, going straight to plotting\");\n"," run_inline_js();\n"," } else {\n"," load_libs(css_urls, js_urls, function() {\n"," console.debug(\"Bokeh: BokehJS plotting callback run at\", now());\n"," run_inline_js();\n"," });\n"," }\n","}(window));"],"application/vnd.bokehjs_load.v0+json":"\n(function(root) {\n function now() {\n return new Date();\n }\n\n var force = true;\n\n if (typeof root._bokeh_onload_callbacks === \"undefined\" || force === true) {\n root._bokeh_onload_callbacks = [];\n root._bokeh_is_loading = undefined;\n }\n\n \n\n \n if (typeof (root._bokeh_timeout) === \"undefined\" || force === true) {\n root._bokeh_timeout = Date.now() + 5000;\n root._bokeh_failed_load = false;\n }\n\n var NB_LOAD_WARNING = {'data': {'text/html':\n \"<div style='background-color: #fdd'>\\n\"+\n \"<p>\\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 \"</p>\\n\"+\n \"<ul>\\n\"+\n \"<li>re-rerun `output_notebook()` to attempt to load from CDN again, or</li>\\n\"+\n \"<li>use INLINE resources instead, as so:</li>\\n\"+\n \"</ul>\\n\"+\n \"<code>\\n\"+\n \"from bokeh.resources import INLINE\\n\"+\n \"output_notebook(resources=INLINE)\\n\"+\n \"</code>\\n\"+\n \"</div>\"}};\n\n function display_loaded() {\n var el = document.getElementById(null);\n if (el != null) {\n el.textContent = \"BokehJS is loading...\";\n }\n if (root.Bokeh !== undefined) {\n if (el != null) {\n el.textContent = \"BokehJS \" + root.Bokeh.version + \" successfully loaded.\";\n }\n } else if (Date.now() < root._bokeh_timeout) {\n setTimeout(display_loaded, 100)\n }\n }\n\n\n function run_callbacks() {\n try {\n root._bokeh_onload_callbacks.forEach(function(callback) {\n if (callback != null)\n callback();\n });\n } finally {\n delete root._bokeh_onload_callbacks\n }\n console.debug(\"Bokeh: all callbacks have finished\");\n }\n\n function load_libs(css_urls, js_urls, callback) {\n if (css_urls == null) css_urls = [];\n if (js_urls == null) js_urls = [];\n\n root._bokeh_onload_callbacks.push(callback);\n if (root._bokeh_is_loading > 0) {\n console.debug(\"Bokeh: BokehJS is being loaded, scheduling callback at\", now());\n return null;\n }\n if (js_urls == null || js_urls.length === 0) {\n run_callbacks();\n return null;\n }\n console.debug(\"Bokeh: BokehJS not loaded, scheduling load and callback at\", now());\n root._bokeh_is_loading = css_urls.length + js_urls.length;\n\n function on_load() {\n root._bokeh_is_loading--;\n if (root._bokeh_is_loading === 0) {\n console.debug(\"Bokeh: all BokehJS libraries/stylesheets loaded\");\n run_callbacks()\n }\n }\n\n function on_error() {\n console.error(\"failed to load \" + url);\n }\n\n for (var i = 0; i < css_urls.length; i++) {\n var url = css_urls[i];\n const element = document.createElement(\"link\");\n element.onload = on_load;\n element.onerror = on_error;\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 const hashes = {\"https://cdn.bokeh.org/bokeh/release/bokeh-2.1.1.min.js\": \"kLr4fYcqcSpbuI95brIH3vnnYCquzzSxHPU6XGQCIkQRGJwhg0StNbj1eegrHs12\", \"https://cdn.bokeh.org/bokeh/release/bokeh-widgets-2.1.1.min.js\": \"xIGPmVtaOm+z0BqfSOMn4lOR6ciex448GIKG4eE61LsAvmGj48XcMQZtKcE/UXZe\", \"https://cdn.bokeh.org/bokeh/release/bokeh-tables-2.1.1.min.js\": \"Dc9u1wF/0zApGIWoBbH77iWEHtdmkuYWG839Uzmv8y8yBLXebjO9ZnERsde5Ln/P\", \"https://cdn.bokeh.org/bokeh/release/bokeh-gl-2.1.1.min.js\": \"cT9JaBz7GiRXdENrJLZNSC6eMNF3nh3fa5fTF51Svp+ukxPdwcU5kGXGPBgDCa2j\"};\n\n for (var i = 0; i < js_urls.length; i++) {\n var url = js_urls[i];\n var element = document.createElement('script');\n element.onload = on_load;\n element.onerror = on_error;\n element.async = false;\n element.src = url;\n if (url in hashes) {\n element.crossOrigin = \"anonymous\";\n element.integrity = \"sha384-\" + hashes[url];\n }\n console.debug(\"Bokeh: injecting script tag for BokehJS library: \", url);\n document.head.appendChild(element);\n }\n };\n\n function inject_raw_css(css) {\n const element = document.createElement(\"style\");\n element.appendChild(document.createTextNode(css));\n document.body.appendChild(element);\n }\n\n \n var js_urls = [\"https://cdn.bokeh.org/bokeh/release/bokeh-2.1.1.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-widgets-2.1.1.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-tables-2.1.1.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-gl-2.1.1.min.js\"];\n var css_urls = [];\n \n\n var inline_js = [\n function(Bokeh) {\n Bokeh.set_log_level(\"info\");\n },\n function(Bokeh) {\n \n \n }\n ];\n\n function run_inline_js() {\n \n if (root.Bokeh !== undefined || force === true) {\n \n for (var i = 0; i < inline_js.length; i++) {\n inline_js[i].call(root, root.Bokeh);\n }\n } else if (Date.now() < root._bokeh_timeout) {\n setTimeout(run_inline_js, 100);\n } else if (!root._bokeh_failed_load) {\n console.log(\"Bokeh: BokehJS failed to load within specified timeout.\");\n root._bokeh_failed_load = true;\n } else if (force !== true) {\n var cell = $(document.getElementById(null)).parents('.cell').data().cell;\n cell.output_area.append_execute_result(NB_LOAD_WARNING)\n }\n\n }\n\n if (root._bokeh_is_loading === 0) {\n console.debug(\"Bokeh: BokehJS loaded, going straight to plotting\");\n run_inline_js();\n } else {\n load_libs(css_urls, js_urls, function() {\n console.debug(\"Bokeh: BokehJS plotting callback run at\", now());\n run_inline_js();\n });\n }\n}(window));"},"metadata":{"tags":[]}},{"output_type":"display_data","data":{"text/html":["\n","\n","\n","\n","\n","\n"," <div class=\"bk-root\" id=\"ef854036-f143-41fe-aa44-95c8e386b385\" data-root-id=\"2559\"></div>\n"]},"metadata":{"tags":[]}},{"output_type":"display_data","data":{"application/javascript":["(function(root) {\n"," function embed_document(root) {\n"," \n"," var docs_json = {\"71356777-bf5e-4d60-a6e2-2953828cdd48\":{\"roots\":{\"references\":[{\"attributes\":{\"children\":[{\"id\":\"2558\"},{\"id\":\"2556\"}]},\"id\":\"2559\",\"type\":\"Column\"},{\"attributes\":{\"source\":{\"id\":\"2517\"}},\"id\":\"2521\",\"type\":\"CDSView\"},{\"attributes\":{\"data_source\":{\"id\":\"2517\"},\"glyph\":{\"id\":\"2518\"},\"hover_glyph\":null,\"muted_glyph\":null,\"nonselection_glyph\":{\"id\":\"2519\"},\"selection_glyph\":null,\"view\":{\"id\":\"2521\"}},\"id\":\"2520\",\"type\":\"GlyphRenderer\"},{\"attributes\":{\"line_alpha\":{\"value\":0.1},\"line_color\":{\"value\":\"blue\"},\"x0\":{\"field\":\"x0\"},\"x1\":{\"field\":\"x1\"},\"y0\":{\"field\":\"y0\"},\"y1\":{\"field\":\"y1\"}},\"id\":\"2452\",\"type\":\"Segment\"},{\"attributes\":{\"below\":[{\"id\":\"2423\"}],\"center\":[{\"id\":\"2426\"},{\"id\":\"2430\"}],\"left\":[{\"id\":\"2427\"}],\"plot_height\":336,\"plot_width\":800,\"renderers\":[{\"id\":\"2448\"},{\"id\":\"2453\"},{\"id\":\"2458\"},{\"id\":\"2463\"},{\"id\":\"2470\"},{\"id\":\"2475\"},{\"id\":\"2480\"}],\"title\":{\"id\":\"2413\"},\"toolbar\":{\"id\":\"2438\"},\"toolbar_location\":null,\"x_range\":{\"id\":\"2415\"},\"x_scale\":{\"id\":\"2419\"},\"y_range\":{\"id\":\"2417\"},\"y_scale\":{\"id\":\"2421\"}},\"id\":\"2412\",\"subtype\":\"Figure\",\"type\":\"Plot\"},{\"attributes\":{},\"id\":\"2522\",\"type\":\"NumeralTickFormatter\"},{\"attributes\":{\"days\":[\"%Y-%m-%d\"],\"hours\":[\"%H:%M\"]},\"id\":\"2524\",\"type\":\"DatetimeTickFormatter\"},{\"attributes\":{\"children\":[[{\"id\":\"2412\"},0,0],[{\"id\":\"2482\"},1,0]]},\"id\":\"2556\",\"type\":\"GridBox\"},{\"attributes\":{\"data\":{\"x0\":[2,5,6,8,9,11,12,14,16,17,18,19,22,23,25,26,30,31],\"x1\":[2,5,6,8,9,11,12,14,16,17,18,19,22,23,25,26,30,31],\"y0\":[137000,140000,133500,133000,135000,132000,135000,132000,134000,132000,125500,128500,131500,128500,128000,130000,131000,130000],\"y1\":[130000,131000,125500,129000,127000,128500,130000,128500,128500,127500,121500,121500,128500,124000,125000,125000,128000,125500]},\"selected\":{\"id\":\"2533\"},\"selection_policy\":{\"id\":\"2532\"}},\"id\":\"2450\",\"type\":\"ColumnDataSource\"},{\"attributes\":{},\"id\":\"2527\",\"type\":\"BasicTickFormatter\"},{\"attributes\":{},\"id\":\"2530\",\"type\":\"UnionRenderers\"},{\"attributes\":{},\"id\":\"2531\",\"type\":\"Selection\"},{\"attributes\":{\"line_color\":{\"value\":\"blue\"},\"x0\":{\"field\":\"x0\"},\"x1\":{\"field\":\"x1\"},\"y0\":{\"field\":\"y0\"},\"y1\":{\"field\":\"y1\"}},\"id\":\"2451\",\"type\":\"Segment\"},{\"attributes\":{},\"id\":\"2532\",\"type\":\"UnionRenderers\"},{\"attributes\":{},\"id\":\"2533\",\"type\":\"Selection\"},{\"attributes\":{\"source\":{\"id\":\"2450\"}},\"id\":\"2454\",\"type\":\"CDSView\"},{\"attributes\":{},\"id\":\"2534\",\"type\":\"UnionRenderers\"},{\"attributes\":{\"data_source\":{\"id\":\"2450\"},\"glyph\":{\"id\":\"2451\"},\"hover_glyph\":null,\"muted_glyph\":null,\"nonselection_glyph\":{\"id\":\"2452\"},\"selection_glyph\":null,\"view\":{\"id\":\"2454\"}},\"id\":\"2453\",\"type\":\"GlyphRenderer\"},{\"attributes\":{},\"id\":\"2535\",\"type\":\"Selection\"},{\"attributes\":{},\"id\":\"2536\",\"type\":\"UnionRenderers\"},{\"attributes\":{},\"id\":\"2537\",\"type\":\"Selection\"},{\"attributes\":{\"data\":{\"bottom\":[126000,130500,134500,138000,133000,130000,135000,125000,130000,127500,126000,132000,133000],\"top\":[124500,124500,132500,136000,129000,126000,130000,121000,128500,126500,125500,130000,129000],\"x\":[0,1,3,4,7,10,15,20,21,24,27,28,32]},\"selected\":{\"id\":\"2535\"},\"selection_policy\":{\"id\":\"2534\"}},\"id\":\"2455\",\"type\":\"ColumnDataSource\"},{\"attributes\":{},\"id\":\"2541\",\"type\":\"Selection\"},{\"attributes\":{},\"id\":\"2542\",\"type\":\"UnionRenderers\"},{\"attributes\":{\"bottom\":{\"field\":\"bottom\"},\"fill_alpha\":{\"value\":0.1},\"fill_color\":{\"value\":\"red\"},\"line_alpha\":{\"value\":0.1},\"line_color\":{\"value\":\"red\"},\"top\":{\"field\":\"top\"},\"width\":{\"value\":0.8},\"x\":{\"field\":\"x\"}},\"id\":\"2457\",\"type\":\"VBar\"},{\"attributes\":{},\"id\":\"2543\",\"type\":\"Selection\"},{\"attributes\":{\"data_source\":{\"id\":\"2455\"},\"glyph\":{\"id\":\"2456\"},\"hover_glyph\":null,\"muted_glyph\":null,\"nonselection_glyph\":{\"id\":\"2457\"},\"selection_glyph\":null,\"view\":{\"id\":\"2459\"}},\"id\":\"2458\",\"type\":\"GlyphRenderer\"},{\"attributes\":{\"text\":\"\"},\"id\":\"2547\",\"type\":\"Title\"},{\"attributes\":{\"bottom\":{\"field\":\"bottom\"},\"fill_color\":{\"value\":\"red\"},\"line_color\":{\"value\":\"red\"},\"top\":{\"field\":\"top\"},\"width\":{\"value\":0.8},\"x\":{\"field\":\"x\"}},\"id\":\"2456\",\"type\":\"VBar\"},{\"attributes\":{},\"id\":\"2550\",\"type\":\"UnionRenderers\"},{\"attributes\":{\"source\":{\"id\":\"2455\"}},\"id\":\"2459\",\"type\":\"CDSView\"},{\"attributes\":{},\"id\":\"2551\",\"type\":\"Selection\"},{\"attributes\":{},\"id\":\"2552\",\"type\":\"UnionRenderers\"},{\"attributes\":{},\"id\":\"2553\",\"type\":\"Selection\"},{\"attributes\":{\"toolbars\":[{\"id\":\"2438\"},{\"id\":\"2505\"}],\"tools\":[{\"id\":\"2431\"},{\"id\":\"2432\"},{\"id\":\"2433\"},{\"id\":\"2434\"},{\"id\":\"2435\"},{\"id\":\"2436\"},{\"id\":\"2498\"},{\"id\":\"2499\"},{\"id\":\"2500\"},{\"id\":\"2501\"},{\"id\":\"2502\"},{\"id\":\"2503\"}]},\"id\":\"2557\",\"type\":\"ProxyToolbar\"},{\"attributes\":{\"data\":{\"bottom\":[131000,133000,129000,130500,127500,130500,130500,128500,129000,128500,123000,122500,130000,125000,125000,125500,130000,126000],\"top\":[132500,138000,132000,132500,133000,131000,134000,131500,134000,129500,124000,128500,131000,127500,127500,127500,131000,128500],\"x\":[2,5,6,8,9,11,12,14,16,17,18,19,22,23,25,26,30,31]},\"selected\":{\"id\":\"2537\"},\"selection_policy\":{\"id\":\"2536\"}},\"id\":\"2460\",\"type\":\"ColumnDataSource\"},{\"attributes\":{\"toolbar\":{\"id\":\"2557\"},\"toolbar_location\":\"above\"},\"id\":\"2558\",\"type\":\"ToolbarBox\"},{\"attributes\":{},\"id\":\"2465\",\"type\":\"NumeralTickFormatter\"},{\"attributes\":{\"bottom\":{\"field\":\"bottom\"},\"fill_alpha\":{\"value\":0.1},\"fill_color\":{\"value\":\"blue\"},\"line_alpha\":{\"value\":0.1},\"line_color\":{\"value\":\"blue\"},\"top\":{\"field\":\"top\"},\"width\":{\"value\":0.8},\"x\":{\"field\":\"x\"}},\"id\":\"2462\",\"type\":\"VBar\"},{\"attributes\":{\"data_source\":{\"id\":\"2460\"},\"glyph\":{\"id\":\"2461\"},\"hover_glyph\":null,\"muted_glyph\":null,\"nonselection_glyph\":{\"id\":\"2462\"},\"selection_glyph\":null,\"view\":{\"id\":\"2464\"}},\"id\":\"2463\",\"type\":\"GlyphRenderer\"},{\"attributes\":{\"bottom\":{\"field\":\"bottom\"},\"fill_color\":{\"value\":\"blue\"},\"line_color\":{\"value\":\"blue\"},\"top\":{\"field\":\"top\"},\"width\":{\"value\":0.8},\"x\":{\"field\":\"x\"}},\"id\":\"2461\",\"type\":\"VBar\"},{\"attributes\":{\"source\":{\"id\":\"2460\"}},\"id\":\"2464\",\"type\":\"CDSView\"},{\"attributes\":{\"below\":[{\"id\":\"2490\"}],\"center\":[{\"id\":\"2493\"},{\"id\":\"2497\"}],\"left\":[{\"id\":\"2494\"}],\"plot_height\":144,\"plot_width\":800,\"renderers\":[{\"id\":\"2515\"},{\"id\":\"2520\"}],\"title\":{\"id\":\"2547\"},\"toolbar\":{\"id\":\"2505\"},\"toolbar_location\":null,\"x_range\":{\"id\":\"2415\"},\"x_scale\":{\"id\":\"2486\"},\"y_range\":{\"id\":\"2484\"},\"y_scale\":{\"id\":\"2488\"}},\"id\":\"2482\",\"subtype\":\"Figure\",\"type\":\"Plot\"},{\"attributes\":{\"data\":{\"x\":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32],\"y\":{\"__ndarray__\":\"AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAB0AQQAAAADASABBAAAAAGA/AEEAAAAA4EsAQQAAAADgMgBBAAAAAIDi/0AAAAAAAL3/QAAAAADAz/9AAAAAAICw/0AAAAAAAL3/QAAAAACAyf9AAAAAAAAEAEEAAAAAQPX/QAAAAABA3P9AAAAAAABy/0AAAAAAACf/QAAAAAAAqv5AAAAAAIC2/kAAAAAAQMn+QAAAAABA4v5AAAAAAMAg/0AAAAAAwCD/QAAAAACA6P5AAAAAAIC2/kAAAAAAAA7/QAAAAACATP9AAAAAAACL/0AAAAAAQJH/QAAAAADA6P9A\",\"dtype\":\"float64\",\"order\":\"little\",\"shape\":[33]}},\"selected\":{\"id\":\"2539\"},\"selection_policy\":{\"id\":\"2538\"}},\"id\":\"2467\",\"type\":\"ColumnDataSource\"},{\"attributes\":{\"line_color\":\"#1f77b4\",\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"2468\",\"type\":\"Line\"},{\"attributes\":{\"line_alpha\":0.1,\"line_color\":\"#1f77b4\",\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"2469\",\"type\":\"Line\"},{\"attributes\":{\"source\":{\"id\":\"2467\"}},\"id\":\"2471\",\"type\":\"CDSView\"},{\"attributes\":{\"data_source\":{\"id\":\"2467\"},\"glyph\":{\"id\":\"2468\"},\"hover_glyph\":null,\"muted_glyph\":null,\"nonselection_glyph\":{\"id\":\"2469\"},\"selection_glyph\":null,\"view\":{\"id\":\"2471\"}},\"id\":\"2470\",\"type\":\"GlyphRenderer\"},{\"attributes\":{\"data\":{\"x\":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32],\"y\":{\"__ndarray__\":\"AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAQMP/QAAAAAAgwP9AAAAAAJC+/0AAAAAAcLv/QAAAAADAnf9AAAAAAPB8/0AAAAAA8GP/QAAAAAAAWf9AAAAAACBD/0AAAAAA0Ef/QAAAAABwV/9AAAAAAHBX/0AAAAAAYEn/QAAAAAAwUf9A\",\"dtype\":\"float64\",\"order\":\"little\",\"shape\":[33]}},\"selected\":{\"id\":\"2541\"},\"selection_policy\":{\"id\":\"2540\"}},\"id\":\"2472\",\"type\":\"ColumnDataSource\"},{\"attributes\":{\"overlay\":{\"id\":\"2437\"}},\"id\":\"2433\",\"type\":\"BoxZoomTool\"},{\"attributes\":{\"line_color\":\"#ff7f0e\",\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"2473\",\"type\":\"Line\"},{\"attributes\":{\"end\":33,\"start\":-1},\"id\":\"2415\",\"type\":\"Range1d\"},{\"attributes\":{\"source\":{\"id\":\"2477\"}},\"id\":\"2481\",\"type\":\"CDSView\"},{\"attributes\":{\"text\":\"\"},\"id\":\"2413\",\"type\":\"Title\"},{\"attributes\":{\"data_source\":{\"id\":\"2477\"},\"glyph\":{\"id\":\"2478\"},\"hover_glyph\":null,\"muted_glyph\":null,\"nonselection_glyph\":{\"id\":\"2479\"},\"selection_glyph\":null,\"view\":{\"id\":\"2481\"}},\"id\":\"2480\",\"type\":\"GlyphRenderer\"},{\"attributes\":{},\"id\":\"2424\",\"type\":\"BasicTicker\"},{\"attributes\":{\"end\":140000,\"start\":118000},\"id\":\"2417\",\"type\":\"Range1d\"},{\"attributes\":{\"range_padding\":0},\"id\":\"2484\",\"type\":\"DataRange1d\"},{\"attributes\":{},\"id\":\"2486\",\"type\":\"LinearScale\"},{\"attributes\":{},\"id\":\"2434\",\"type\":\"SaveTool\"},{\"attributes\":{},\"id\":\"2488\",\"type\":\"LinearScale\"},{\"attributes\":{\"line_alpha\":0.1,\"line_color\":\"#ff7f0e\",\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"2474\",\"type\":\"Line\"},{\"attributes\":{\"data_source\":{\"id\":\"2472\"},\"glyph\":{\"id\":\"2473\"},\"hover_glyph\":null,\"muted_glyph\":null,\"nonselection_glyph\":{\"id\":\"2474\"},\"selection_glyph\":null,\"view\":{\"id\":\"2476\"}},\"id\":\"2475\",\"type\":\"GlyphRenderer\"},{\"attributes\":{\"active_drag\":\"auto\",\"active_inspect\":\"auto\",\"active_multi\":null,\"active_scroll\":\"auto\",\"active_tap\":\"auto\",\"tools\":[{\"id\":\"2431\"},{\"id\":\"2432\"},{\"id\":\"2433\"},{\"id\":\"2434\"},{\"id\":\"2435\"},{\"id\":\"2436\"}]},\"id\":\"2438\",\"type\":\"Toolbar\"},{\"attributes\":{\"formatter\":{\"id\":\"2524\"},\"major_label_orientation\":0.6283185307179586,\"major_label_overrides\":{\"0\":\"2021-01-04\",\"1\":\"2021-01-05\",\"10\":\"2021-01-18\",\"11\":\"2021-01-19\",\"12\":\"2021-01-20\",\"13\":\"2021-01-21\",\"14\":\"2021-01-22\",\"15\":\"2021-01-25\",\"16\":\"2021-01-26\",\"17\":\"2021-01-27\",\"18\":\"2021-01-28\",\"19\":\"2021-01-29\",\"2\":\"2021-01-06\",\"20\":\"2021-02-01\",\"21\":\"2021-02-02\",\"22\":\"2021-02-03\",\"23\":\"2021-02-04\",\"24\":\"2021-02-05\",\"25\":\"2021-02-08\",\"26\":\"2021-02-09\",\"27\":\"2021-02-10\",\"28\":\"2021-02-15\",\"29\":\"2021-02-16\",\"3\":\"2021-01-07\",\"30\":\"2021-02-17\",\"31\":\"2021-02-18\",\"32\":\"2021-02-19\",\"33\":\"\",\"4\":\"2021-01-08\",\"5\":\"2021-01-11\",\"6\":\"2021-01-12\",\"7\":\"2021-01-13\",\"8\":\"2021-01-14\",\"9\":\"2021-01-15\"},\"ticker\":{\"id\":\"2491\"}},\"id\":\"2490\",\"type\":\"LinearAxis\"},{\"attributes\":{},\"id\":\"2491\",\"type\":\"BasicTicker\"},{\"attributes\":{\"axis\":{\"id\":\"2490\"},\"ticker\":null},\"id\":\"2493\",\"type\":\"Grid\"},{\"attributes\":{\"formatter\":{\"id\":\"2522\"},\"ticker\":{\"id\":\"2495\"}},\"id\":\"2494\",\"type\":\"LinearAxis\"},{\"attributes\":{},\"id\":\"2495\",\"type\":\"BasicTicker\"},{\"attributes\":{},\"id\":\"2435\",\"type\":\"ResetTool\"},{\"attributes\":{\"axis\":{\"id\":\"2494\"},\"dimension\":1,\"ticker\":null},\"id\":\"2497\",\"type\":\"Grid\"},{\"attributes\":{},\"id\":\"2436\",\"type\":\"HelpTool\"},{\"attributes\":{\"data\":{\"top\":[8525749,8713010,11154671,5927419,4913282,3927767,5061864,6270106,6270829,7391307,4600618,5177095,5384526,3621178,3792425,6951498],\"x\":[2,4,5,10,12,14,15,16,18,19,23,26,28,30,31,32]},\"selected\":{\"id\":\"2551\"},\"selection_policy\":{\"id\":\"2550\"}},\"id\":\"2512\",\"type\":\"ColumnDataSource\"},{\"attributes\":{},\"id\":\"2419\",\"type\":\"LinearScale\"},{\"attributes\":{},\"id\":\"2421\",\"type\":\"LinearScale\"},{\"attributes\":{},\"id\":\"2498\",\"type\":\"PanTool\"},{\"attributes\":{},\"id\":\"2499\",\"type\":\"WheelZoomTool\"},{\"attributes\":{},\"id\":\"2428\",\"type\":\"BasicTicker\"},{\"attributes\":{},\"id\":\"2431\",\"type\":\"PanTool\"},{\"attributes\":{\"overlay\":{\"id\":\"2504\"}},\"id\":\"2500\",\"type\":\"BoxZoomTool\"},{\"attributes\":{\"axis\":{\"id\":\"2427\"},\"dimension\":1,\"ticker\":null},\"id\":\"2430\",\"type\":\"Grid\"},{\"attributes\":{},\"id\":\"2501\",\"type\":\"SaveTool\"},{\"attributes\":{\"formatter\":{\"id\":\"2465\"},\"ticker\":{\"id\":\"2428\"}},\"id\":\"2427\",\"type\":\"LinearAxis\"},{\"attributes\":{},\"id\":\"2502\",\"type\":\"ResetTool\"},{\"attributes\":{},\"id\":\"2503\",\"type\":\"HelpTool\"},{\"attributes\":{\"data\":{\"x0\":[0,1,3,4,7,10,15,20,21,24,27,28,32],\"x1\":[0,1,3,4,7,10,15,20,21,24,27,28,32],\"y0\":[128000,132500,137500,138000,133500,131000,135000,126000,132500,128000,127000,132500,133000],\"y1\":[120500,124000,131500,132500,128500,125000,129500,118000,127000,124500,124500,130000,128500]},\"selected\":{\"id\":\"2531\"},\"selection_policy\":{\"id\":\"2530\"}},\"id\":\"2445\",\"type\":\"ColumnDataSource\"},{\"attributes\":{\"formatter\":{\"id\":\"2527\"},\"ticker\":{\"id\":\"2424\"},\"visible\":false},\"id\":\"2423\",\"type\":\"LinearAxis\"},{\"attributes\":{\"active_drag\":\"auto\",\"active_inspect\":\"auto\",\"active_multi\":null,\"active_scroll\":\"auto\",\"active_tap\":\"auto\",\"tools\":[{\"id\":\"2498\"},{\"id\":\"2499\"},{\"id\":\"2500\"},{\"id\":\"2501\"},{\"id\":\"2502\"},{\"id\":\"2503\"}]},\"id\":\"2505\",\"type\":\"Toolbar\"},{\"attributes\":{},\"id\":\"2539\",\"type\":\"Selection\"},{\"attributes\":{\"axis\":{\"id\":\"2423\"},\"ticker\":null},\"id\":\"2426\",\"type\":\"Grid\"},{\"attributes\":{},\"id\":\"2538\",\"type\":\"UnionRenderers\"},{\"attributes\":{},\"id\":\"2432\",\"type\":\"WheelZoomTool\"},{\"attributes\":{\"source\":{\"id\":\"2472\"}},\"id\":\"2476\",\"type\":\"CDSView\"},{\"attributes\":{},\"id\":\"2540\",\"type\":\"UnionRenderers\"},{\"attributes\":{\"bottom_units\":\"screen\",\"fill_alpha\":0.5,\"fill_color\":\"lightgrey\",\"left_units\":\"screen\",\"level\":\"overlay\",\"line_alpha\":1.0,\"line_color\":\"black\",\"line_dash\":[4,4],\"line_width\":2,\"right_units\":\"screen\",\"top_units\":\"screen\"},\"id\":\"2504\",\"type\":\"BoxAnnotation\"},{\"attributes\":{\"bottom_units\":\"screen\",\"fill_alpha\":0.5,\"fill_color\":\"lightgrey\",\"left_units\":\"screen\",\"level\":\"overlay\",\"line_alpha\":1.0,\"line_color\":\"black\",\"line_dash\":[4,4],\"line_width\":2,\"right_units\":\"screen\",\"top_units\":\"screen\"},\"id\":\"2437\",\"type\":\"BoxAnnotation\"},{\"attributes\":{\"data\":{\"x\":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32],\"y\":{\"__ndarray__\":\"AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/\",\"dtype\":\"float64\",\"order\":\"little\",\"shape\":[33]}},\"selected\":{\"id\":\"2543\"},\"selection_policy\":{\"id\":\"2542\"}},\"id\":\"2477\",\"type\":\"ColumnDataSource\"},{\"attributes\":{\"line_alpha\":{\"value\":0.1},\"line_color\":{\"value\":\"red\"},\"x0\":{\"field\":\"x0\"},\"x1\":{\"field\":\"x1\"},\"y0\":{\"field\":\"y0\"},\"y1\":{\"field\":\"y1\"}},\"id\":\"2447\",\"type\":\"Segment\"},{\"attributes\":{\"fill_alpha\":{\"value\":0.1},\"fill_color\":{\"value\":\"red\"},\"line_alpha\":{\"value\":0.1},\"top\":{\"field\":\"top\"},\"width\":{\"value\":0.8},\"x\":{\"field\":\"x\"}},\"id\":\"2514\",\"type\":\"VBar\"},{\"attributes\":{\"data_source\":{\"id\":\"2512\"},\"glyph\":{\"id\":\"2513\"},\"hover_glyph\":null,\"muted_glyph\":null,\"nonselection_glyph\":{\"id\":\"2514\"},\"selection_glyph\":null,\"view\":{\"id\":\"2516\"}},\"id\":\"2515\",\"type\":\"GlyphRenderer\"},{\"attributes\":{\"line_alpha\":0.1,\"line_color\":\"#2ca02c\",\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"2479\",\"type\":\"Line\"},{\"attributes\":{\"fill_color\":{\"value\":\"red\"},\"top\":{\"field\":\"top\"},\"width\":{\"value\":0.8},\"x\":{\"field\":\"x\"}},\"id\":\"2513\",\"type\":\"VBar\"},{\"attributes\":{\"line_color\":{\"value\":\"red\"},\"x0\":{\"field\":\"x0\"},\"x1\":{\"field\":\"x1\"},\"y0\":{\"field\":\"y0\"},\"y1\":{\"field\":\"y1\"}},\"id\":\"2446\",\"type\":\"Segment\"},{\"attributes\":{\"source\":{\"id\":\"2512\"}},\"id\":\"2516\",\"type\":\"CDSView\"},{\"attributes\":{\"source\":{\"id\":\"2445\"}},\"id\":\"2449\",\"type\":\"CDSView\"},{\"attributes\":{\"line_color\":\"#2ca02c\",\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"2478\",\"type\":\"Line\"},{\"attributes\":{\"data\":{\"top\":[7180224,5981299,8700877,6791044,5380278,4838114,4513315,3067677,5068456,5620305,4880067,3693688,3497303,2876471,4262526,3218689],\"x\":[1,3,6,7,8,9,11,13,17,20,21,22,24,25,27,29]},\"selected\":{\"id\":\"2553\"},\"selection_policy\":{\"id\":\"2552\"}},\"id\":\"2517\",\"type\":\"ColumnDataSource\"},{\"attributes\":{\"data_source\":{\"id\":\"2445\"},\"glyph\":{\"id\":\"2446\"},\"hover_glyph\":null,\"muted_glyph\":null,\"nonselection_glyph\":{\"id\":\"2447\"},\"selection_glyph\":null,\"view\":{\"id\":\"2449\"}},\"id\":\"2448\",\"type\":\"GlyphRenderer\"},{\"attributes\":{\"fill_color\":{\"value\":\"blue\"},\"top\":{\"field\":\"top\"},\"width\":{\"value\":0.8},\"x\":{\"field\":\"x\"}},\"id\":\"2518\",\"type\":\"VBar\"},{\"attributes\":{\"fill_alpha\":{\"value\":0.1},\"fill_color\":{\"value\":\"blue\"},\"line_alpha\":{\"value\":0.1},\"top\":{\"field\":\"top\"},\"width\":{\"value\":0.8},\"x\":{\"field\":\"x\"}},\"id\":\"2519\",\"type\":\"VBar\"}],\"root_ids\":[\"2559\"]},\"title\":\"Bokeh Application\",\"version\":\"2.1.1\"}};\n"," var render_items = [{\"docid\":\"71356777-bf5e-4d60-a6e2-2953828cdd48\",\"root_ids\":[\"2559\"],\"roots\":{\"2559\":\"ef854036-f143-41fe-aa44-95c8e386b385\"}}];\n"," root.Bokeh.embed.embed_items_notebook(docs_json, render_items);\n","\n"," }\n"," if (root.Bokeh !== undefined) {\n"," embed_document(root);\n"," } else {\n"," var attempts = 0;\n"," var timer = setInterval(function(root) {\n"," if (root.Bokeh !== undefined) {\n"," 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":{"tags":[],"application/vnd.bokehjs_exec.v0+json":{"id":"2559"}}}]},{"cell_type":"markdown","metadata":{"id":"Niqq6NbCrk6B"},"source":["**2021 [FinanceData.KR](http://financedata.kr) | [facebook.com/financedata](http://facebook.com/financedata)**"]}]}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment