From 125f843e969a32a1ecfb41b3d1b991d1e8db5f53 Mon Sep 17 00:00:00 2001
From: ShengqiYang <31641147+Sheng-Qi-Yang@users.noreply.github.com>
Date: Fri, 23 Jun 2023 14:52:32 -0700
Subject: [PATCH 1/2] add answers to the last block.
---
Visualization.ipynb | 10320 +++++++++++++++++++++++++++++++++++++++++-
1 file changed, 10260 insertions(+), 60 deletions(-)
diff --git a/Visualization.ipynb b/Visualization.ipynb
index 978a759..9a997c2 100644
--- a/Visualization.ipynb
+++ b/Visualization.ipynb
@@ -12,6 +12,13 @@
"- Make figures to visualize the data"
]
},
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {},
+ "outputs": [],
+ "source": []
+ },
{
"cell_type": "markdown",
"metadata": {},
@@ -369,7 +376,7 @@
},
{
"cell_type": "code",
- "execution_count": null,
+ "execution_count": 1,
"metadata": {},
"outputs": [],
"source": [
@@ -385,11 +392,12 @@
},
{
"cell_type": "code",
- "execution_count": null,
+ "execution_count": 2,
"metadata": {},
"outputs": [],
"source": [
- "import matplotlib.pyplot as plt"
+ "import matplotlib.pyplot as plt\n",
+ "import numpy as np"
]
},
{
@@ -401,10 +409,27 @@
},
{
"cell_type": "code",
- "execution_count": null,
+ "execution_count": 8,
"metadata": {},
- "outputs": [],
- "source": []
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "[0. 1. 2. 3. 4. 5. 6. 7. 8. 9.]\n",
+ "[ 0. 1. 4. 9. 16. 25. 36. 49. 64. 81.]\n"
+ ]
+ }
+ ],
+ "source": [
+ "a = np.array([0,1,2,3,4,5,6,7,8,9])\n",
+ "b = np.arange(10)\n",
+ "c = np.linspace(0,9,10)\n",
+ "x = c\n",
+ "y = x**2\n",
+ "print(x)\n",
+ "print(y)"
+ ]
},
{
"cell_type": "markdown",
@@ -415,11 +440,1005 @@
},
{
"cell_type": "code",
- "execution_count": null,
+ "execution_count": 17,
"metadata": {},
- "outputs": [],
+ "outputs": [
+ {
+ "data": {
+ "application/javascript": [
+ "/* Put everything inside the global mpl namespace */\n",
+ "/* global mpl */\n",
+ "window.mpl = {};\n",
+ "\n",
+ "mpl.get_websocket_type = function () {\n",
+ " if (typeof WebSocket !== 'undefined') {\n",
+ " return WebSocket;\n",
+ " } else if (typeof MozWebSocket !== 'undefined') {\n",
+ " return MozWebSocket;\n",
+ " } else {\n",
+ " alert(\n",
+ " 'Your browser does not have WebSocket support. ' +\n",
+ " 'Please try Chrome, Safari or Firefox ≥ 6. ' +\n",
+ " 'Firefox 4 and 5 are also supported but you ' +\n",
+ " 'have to enable WebSockets in about:config.'\n",
+ " );\n",
+ " }\n",
+ "};\n",
+ "\n",
+ "mpl.figure = function (figure_id, websocket, ondownload, parent_element) {\n",
+ " this.id = figure_id;\n",
+ "\n",
+ " this.ws = websocket;\n",
+ "\n",
+ " this.supports_binary = this.ws.binaryType !== undefined;\n",
+ "\n",
+ " if (!this.supports_binary) {\n",
+ " var warnings = document.getElementById('mpl-warnings');\n",
+ " if (warnings) {\n",
+ " warnings.style.display = 'block';\n",
+ " warnings.textContent =\n",
+ " 'This browser does not support binary websocket messages. ' +\n",
+ " 'Performance may be slow.';\n",
+ " }\n",
+ " }\n",
+ "\n",
+ " this.imageObj = new Image();\n",
+ "\n",
+ " this.context = undefined;\n",
+ " this.message = undefined;\n",
+ " this.canvas = undefined;\n",
+ " this.rubberband_canvas = undefined;\n",
+ " this.rubberband_context = undefined;\n",
+ " this.format_dropdown = undefined;\n",
+ "\n",
+ " this.image_mode = 'full';\n",
+ "\n",
+ " this.root = document.createElement('div');\n",
+ " this.root.setAttribute('style', 'display: inline-block');\n",
+ " this._root_extra_style(this.root);\n",
+ "\n",
+ " parent_element.appendChild(this.root);\n",
+ "\n",
+ " this._init_header(this);\n",
+ " this._init_canvas(this);\n",
+ " this._init_toolbar(this);\n",
+ "\n",
+ " var fig = this;\n",
+ "\n",
+ " this.waiting = false;\n",
+ "\n",
+ " this.ws.onopen = function () {\n",
+ " fig.send_message('supports_binary', { value: fig.supports_binary });\n",
+ " fig.send_message('send_image_mode', {});\n",
+ " if (fig.ratio !== 1) {\n",
+ " fig.send_message('set_device_pixel_ratio', {\n",
+ " device_pixel_ratio: fig.ratio,\n",
+ " });\n",
+ " }\n",
+ " fig.send_message('refresh', {});\n",
+ " };\n",
+ "\n",
+ " this.imageObj.onload = function () {\n",
+ " if (fig.image_mode === 'full') {\n",
+ " // Full images could contain transparency (where diff images\n",
+ " // almost always do), so we need to clear the canvas so that\n",
+ " // there is no ghosting.\n",
+ " fig.context.clearRect(0, 0, fig.canvas.width, fig.canvas.height);\n",
+ " }\n",
+ " fig.context.drawImage(fig.imageObj, 0, 0);\n",
+ " };\n",
+ "\n",
+ " this.imageObj.onunload = function () {\n",
+ " fig.ws.close();\n",
+ " };\n",
+ "\n",
+ " this.ws.onmessage = this._make_on_message_function(this);\n",
+ "\n",
+ " this.ondownload = ondownload;\n",
+ "};\n",
+ "\n",
+ "mpl.figure.prototype._init_header = function () {\n",
+ " var titlebar = document.createElement('div');\n",
+ " titlebar.classList =\n",
+ " 'ui-dialog-titlebar ui-widget-header ui-corner-all ui-helper-clearfix';\n",
+ " var titletext = document.createElement('div');\n",
+ " titletext.classList = 'ui-dialog-title';\n",
+ " titletext.setAttribute(\n",
+ " 'style',\n",
+ " 'width: 100%; text-align: center; padding: 3px;'\n",
+ " );\n",
+ " titlebar.appendChild(titletext);\n",
+ " this.root.appendChild(titlebar);\n",
+ " this.header = titletext;\n",
+ "};\n",
+ "\n",
+ "mpl.figure.prototype._canvas_extra_style = function (_canvas_div) {};\n",
+ "\n",
+ "mpl.figure.prototype._root_extra_style = function (_canvas_div) {};\n",
+ "\n",
+ "mpl.figure.prototype._init_canvas = function () {\n",
+ " var fig = this;\n",
+ "\n",
+ " var canvas_div = (this.canvas_div = document.createElement('div'));\n",
+ " canvas_div.setAttribute(\n",
+ " 'style',\n",
+ " 'border: 1px solid #ddd;' +\n",
+ " 'box-sizing: content-box;' +\n",
+ " 'clear: both;' +\n",
+ " 'min-height: 1px;' +\n",
+ " 'min-width: 1px;' +\n",
+ " 'outline: 0;' +\n",
+ " 'overflow: hidden;' +\n",
+ " 'position: relative;' +\n",
+ " 'resize: both;'\n",
+ " );\n",
+ "\n",
+ " function on_keyboard_event_closure(name) {\n",
+ " return function (event) {\n",
+ " return fig.key_event(event, name);\n",
+ " };\n",
+ " }\n",
+ "\n",
+ " canvas_div.addEventListener(\n",
+ " 'keydown',\n",
+ " on_keyboard_event_closure('key_press')\n",
+ " );\n",
+ " canvas_div.addEventListener(\n",
+ " 'keyup',\n",
+ " on_keyboard_event_closure('key_release')\n",
+ " );\n",
+ "\n",
+ " this._canvas_extra_style(canvas_div);\n",
+ " this.root.appendChild(canvas_div);\n",
+ "\n",
+ " var canvas = (this.canvas = document.createElement('canvas'));\n",
+ " canvas.classList.add('mpl-canvas');\n",
+ " canvas.setAttribute('style', 'box-sizing: content-box;');\n",
+ "\n",
+ " this.context = canvas.getContext('2d');\n",
+ "\n",
+ " var backingStore =\n",
+ " this.context.backingStorePixelRatio ||\n",
+ " this.context.webkitBackingStorePixelRatio ||\n",
+ " this.context.mozBackingStorePixelRatio ||\n",
+ " this.context.msBackingStorePixelRatio ||\n",
+ " this.context.oBackingStorePixelRatio ||\n",
+ " this.context.backingStorePixelRatio ||\n",
+ " 1;\n",
+ "\n",
+ " this.ratio = (window.devicePixelRatio || 1) / backingStore;\n",
+ "\n",
+ " var rubberband_canvas = (this.rubberband_canvas = document.createElement(\n",
+ " 'canvas'\n",
+ " ));\n",
+ " rubberband_canvas.setAttribute(\n",
+ " 'style',\n",
+ " 'box-sizing: content-box; position: absolute; left: 0; top: 0; z-index: 1;'\n",
+ " );\n",
+ "\n",
+ " // Apply a ponyfill if ResizeObserver is not implemented by browser.\n",
+ " if (this.ResizeObserver === undefined) {\n",
+ " if (window.ResizeObserver !== undefined) {\n",
+ " this.ResizeObserver = window.ResizeObserver;\n",
+ " } else {\n",
+ " var obs = _JSXTOOLS_RESIZE_OBSERVER({});\n",
+ " this.ResizeObserver = obs.ResizeObserver;\n",
+ " }\n",
+ " }\n",
+ "\n",
+ " this.resizeObserverInstance = new this.ResizeObserver(function (entries) {\n",
+ " var nentries = entries.length;\n",
+ " for (var i = 0; i < nentries; i++) {\n",
+ " var entry = entries[i];\n",
+ " var width, height;\n",
+ " if (entry.contentBoxSize) {\n",
+ " if (entry.contentBoxSize instanceof Array) {\n",
+ " // Chrome 84 implements new version of spec.\n",
+ " width = entry.contentBoxSize[0].inlineSize;\n",
+ " height = entry.contentBoxSize[0].blockSize;\n",
+ " } else {\n",
+ " // Firefox implements old version of spec.\n",
+ " width = entry.contentBoxSize.inlineSize;\n",
+ " height = entry.contentBoxSize.blockSize;\n",
+ " }\n",
+ " } else {\n",
+ " // Chrome <84 implements even older version of spec.\n",
+ " width = entry.contentRect.width;\n",
+ " height = entry.contentRect.height;\n",
+ " }\n",
+ "\n",
+ " // Keep the size of the canvas and rubber band canvas in sync with\n",
+ " // the canvas container.\n",
+ " if (entry.devicePixelContentBoxSize) {\n",
+ " // Chrome 84 implements new version of spec.\n",
+ " canvas.setAttribute(\n",
+ " 'width',\n",
+ " entry.devicePixelContentBoxSize[0].inlineSize\n",
+ " );\n",
+ " canvas.setAttribute(\n",
+ " 'height',\n",
+ " entry.devicePixelContentBoxSize[0].blockSize\n",
+ " );\n",
+ " } else {\n",
+ " canvas.setAttribute('width', width * fig.ratio);\n",
+ " canvas.setAttribute('height', height * fig.ratio);\n",
+ " }\n",
+ " canvas.setAttribute(\n",
+ " 'style',\n",
+ " 'width: ' + width + 'px; height: ' + height + 'px;'\n",
+ " );\n",
+ "\n",
+ " rubberband_canvas.setAttribute('width', width);\n",
+ " rubberband_canvas.setAttribute('height', height);\n",
+ "\n",
+ " // And update the size in Python. We ignore the initial 0/0 size\n",
+ " // that occurs as the element is placed into the DOM, which should\n",
+ " // otherwise not happen due to the minimum size styling.\n",
+ " if (fig.ws.readyState == 1 && width != 0 && height != 0) {\n",
+ " fig.request_resize(width, height);\n",
+ " }\n",
+ " }\n",
+ " });\n",
+ " this.resizeObserverInstance.observe(canvas_div);\n",
+ "\n",
+ " function on_mouse_event_closure(name) {\n",
+ " return function (event) {\n",
+ " return fig.mouse_event(event, name);\n",
+ " };\n",
+ " }\n",
+ "\n",
+ " rubberband_canvas.addEventListener(\n",
+ " 'mousedown',\n",
+ " on_mouse_event_closure('button_press')\n",
+ " );\n",
+ " rubberband_canvas.addEventListener(\n",
+ " 'mouseup',\n",
+ " on_mouse_event_closure('button_release')\n",
+ " );\n",
+ " rubberband_canvas.addEventListener(\n",
+ " 'dblclick',\n",
+ " on_mouse_event_closure('dblclick')\n",
+ " );\n",
+ " // Throttle sequential mouse events to 1 every 20ms.\n",
+ " rubberband_canvas.addEventListener(\n",
+ " 'mousemove',\n",
+ " on_mouse_event_closure('motion_notify')\n",
+ " );\n",
+ "\n",
+ " rubberband_canvas.addEventListener(\n",
+ " 'mouseenter',\n",
+ " on_mouse_event_closure('figure_enter')\n",
+ " );\n",
+ " rubberband_canvas.addEventListener(\n",
+ " 'mouseleave',\n",
+ " on_mouse_event_closure('figure_leave')\n",
+ " );\n",
+ "\n",
+ " canvas_div.addEventListener('wheel', function (event) {\n",
+ " if (event.deltaY < 0) {\n",
+ " event.step = 1;\n",
+ " } else {\n",
+ " event.step = -1;\n",
+ " }\n",
+ " on_mouse_event_closure('scroll')(event);\n",
+ " });\n",
+ "\n",
+ " canvas_div.appendChild(canvas);\n",
+ " canvas_div.appendChild(rubberband_canvas);\n",
+ "\n",
+ " this.rubberband_context = rubberband_canvas.getContext('2d');\n",
+ " this.rubberband_context.strokeStyle = '#000000';\n",
+ "\n",
+ " this._resize_canvas = function (width, height, forward) {\n",
+ " if (forward) {\n",
+ " canvas_div.style.width = width + 'px';\n",
+ " canvas_div.style.height = height + 'px';\n",
+ " }\n",
+ " };\n",
+ "\n",
+ " // Disable right mouse context menu.\n",
+ " this.rubberband_canvas.addEventListener('contextmenu', function (_e) {\n",
+ " event.preventDefault();\n",
+ " return false;\n",
+ " });\n",
+ "\n",
+ " function set_focus() {\n",
+ " canvas.focus();\n",
+ " canvas_div.focus();\n",
+ " }\n",
+ "\n",
+ " window.setTimeout(set_focus, 100);\n",
+ "};\n",
+ "\n",
+ "mpl.figure.prototype._init_toolbar = function () {\n",
+ " var fig = this;\n",
+ "\n",
+ " var toolbar = document.createElement('div');\n",
+ " toolbar.classList = 'mpl-toolbar';\n",
+ " this.root.appendChild(toolbar);\n",
+ "\n",
+ " function on_click_closure(name) {\n",
+ " return function (_event) {\n",
+ " return fig.toolbar_button_onclick(name);\n",
+ " };\n",
+ " }\n",
+ "\n",
+ " function on_mouseover_closure(tooltip) {\n",
+ " return function (event) {\n",
+ " if (!event.currentTarget.disabled) {\n",
+ " return fig.toolbar_button_onmouseover(tooltip);\n",
+ " }\n",
+ " };\n",
+ " }\n",
+ "\n",
+ " fig.buttons = {};\n",
+ " var buttonGroup = document.createElement('div');\n",
+ " buttonGroup.classList = 'mpl-button-group';\n",
+ " for (var toolbar_ind in mpl.toolbar_items) {\n",
+ " var name = mpl.toolbar_items[toolbar_ind][0];\n",
+ " var tooltip = mpl.toolbar_items[toolbar_ind][1];\n",
+ " var image = mpl.toolbar_items[toolbar_ind][2];\n",
+ " var method_name = mpl.toolbar_items[toolbar_ind][3];\n",
+ "\n",
+ " if (!name) {\n",
+ " /* Instead of a spacer, we start a new button group. */\n",
+ " if (buttonGroup.hasChildNodes()) {\n",
+ " toolbar.appendChild(buttonGroup);\n",
+ " }\n",
+ " buttonGroup = document.createElement('div');\n",
+ " buttonGroup.classList = 'mpl-button-group';\n",
+ " continue;\n",
+ " }\n",
+ "\n",
+ " var button = (fig.buttons[name] = document.createElement('button'));\n",
+ " button.classList = 'mpl-widget';\n",
+ " button.setAttribute('role', 'button');\n",
+ " button.setAttribute('aria-disabled', 'false');\n",
+ " button.addEventListener('click', on_click_closure(method_name));\n",
+ " button.addEventListener('mouseover', on_mouseover_closure(tooltip));\n",
+ "\n",
+ " var icon_img = document.createElement('img');\n",
+ " icon_img.src = '_images/' + image + '.png';\n",
+ " icon_img.srcset = '_images/' + image + '_large.png 2x';\n",
+ " icon_img.alt = tooltip;\n",
+ " button.appendChild(icon_img);\n",
+ "\n",
+ " buttonGroup.appendChild(button);\n",
+ " }\n",
+ "\n",
+ " if (buttonGroup.hasChildNodes()) {\n",
+ " toolbar.appendChild(buttonGroup);\n",
+ " }\n",
+ "\n",
+ " var fmt_picker = document.createElement('select');\n",
+ " fmt_picker.classList = 'mpl-widget';\n",
+ " toolbar.appendChild(fmt_picker);\n",
+ " this.format_dropdown = fmt_picker;\n",
+ "\n",
+ " for (var ind in mpl.extensions) {\n",
+ " var fmt = mpl.extensions[ind];\n",
+ " var option = document.createElement('option');\n",
+ " option.selected = fmt === mpl.default_extension;\n",
+ " option.innerHTML = fmt;\n",
+ " fmt_picker.appendChild(option);\n",
+ " }\n",
+ "\n",
+ " var status_bar = document.createElement('span');\n",
+ " status_bar.classList = 'mpl-message';\n",
+ " toolbar.appendChild(status_bar);\n",
+ " this.message = status_bar;\n",
+ "};\n",
+ "\n",
+ "mpl.figure.prototype.request_resize = function (x_pixels, y_pixels) {\n",
+ " // Request matplotlib to resize the figure. Matplotlib will then trigger a resize in the client,\n",
+ " // which will in turn request a refresh of the image.\n",
+ " this.send_message('resize', { width: x_pixels, height: y_pixels });\n",
+ "};\n",
+ "\n",
+ "mpl.figure.prototype.send_message = function (type, properties) {\n",
+ " properties['type'] = type;\n",
+ " properties['figure_id'] = this.id;\n",
+ " this.ws.send(JSON.stringify(properties));\n",
+ "};\n",
+ "\n",
+ "mpl.figure.prototype.send_draw_message = function () {\n",
+ " if (!this.waiting) {\n",
+ " this.waiting = true;\n",
+ " this.ws.send(JSON.stringify({ type: 'draw', figure_id: this.id }));\n",
+ " }\n",
+ "};\n",
+ "\n",
+ "mpl.figure.prototype.handle_save = function (fig, _msg) {\n",
+ " var format_dropdown = fig.format_dropdown;\n",
+ " var format = format_dropdown.options[format_dropdown.selectedIndex].value;\n",
+ " fig.ondownload(fig, format);\n",
+ "};\n",
+ "\n",
+ "mpl.figure.prototype.handle_resize = function (fig, msg) {\n",
+ " var size = msg['size'];\n",
+ " if (size[0] !== fig.canvas.width || size[1] !== fig.canvas.height) {\n",
+ " fig._resize_canvas(size[0], size[1], msg['forward']);\n",
+ " fig.send_message('refresh', {});\n",
+ " }\n",
+ "};\n",
+ "\n",
+ "mpl.figure.prototype.handle_rubberband = function (fig, msg) {\n",
+ " var x0 = msg['x0'] / fig.ratio;\n",
+ " var y0 = (fig.canvas.height - msg['y0']) / fig.ratio;\n",
+ " var x1 = msg['x1'] / fig.ratio;\n",
+ " var y1 = (fig.canvas.height - msg['y1']) / fig.ratio;\n",
+ " x0 = Math.floor(x0) + 0.5;\n",
+ " y0 = Math.floor(y0) + 0.5;\n",
+ " x1 = Math.floor(x1) + 0.5;\n",
+ " y1 = Math.floor(y1) + 0.5;\n",
+ " var min_x = Math.min(x0, x1);\n",
+ " var min_y = Math.min(y0, y1);\n",
+ " var width = Math.abs(x1 - x0);\n",
+ " var height = Math.abs(y1 - y0);\n",
+ "\n",
+ " fig.rubberband_context.clearRect(\n",
+ " 0,\n",
+ " 0,\n",
+ " fig.canvas.width / fig.ratio,\n",
+ " fig.canvas.height / fig.ratio\n",
+ " );\n",
+ "\n",
+ " fig.rubberband_context.strokeRect(min_x, min_y, width, height);\n",
+ "};\n",
+ "\n",
+ "mpl.figure.prototype.handle_figure_label = function (fig, msg) {\n",
+ " // Updates the figure title.\n",
+ " fig.header.textContent = msg['label'];\n",
+ "};\n",
+ "\n",
+ "mpl.figure.prototype.handle_cursor = function (fig, msg) {\n",
+ " fig.rubberband_canvas.style.cursor = msg['cursor'];\n",
+ "};\n",
+ "\n",
+ "mpl.figure.prototype.handle_message = function (fig, msg) {\n",
+ " fig.message.textContent = msg['message'];\n",
+ "};\n",
+ "\n",
+ "mpl.figure.prototype.handle_draw = function (fig, _msg) {\n",
+ " // Request the server to send over a new figure.\n",
+ " fig.send_draw_message();\n",
+ "};\n",
+ "\n",
+ "mpl.figure.prototype.handle_image_mode = function (fig, msg) {\n",
+ " fig.image_mode = msg['mode'];\n",
+ "};\n",
+ "\n",
+ "mpl.figure.prototype.handle_history_buttons = function (fig, msg) {\n",
+ " for (var key in msg) {\n",
+ " if (!(key in fig.buttons)) {\n",
+ " continue;\n",
+ " }\n",
+ " fig.buttons[key].disabled = !msg[key];\n",
+ " fig.buttons[key].setAttribute('aria-disabled', !msg[key]);\n",
+ " }\n",
+ "};\n",
+ "\n",
+ "mpl.figure.prototype.handle_navigate_mode = function (fig, msg) {\n",
+ " if (msg['mode'] === 'PAN') {\n",
+ " fig.buttons['Pan'].classList.add('active');\n",
+ " fig.buttons['Zoom'].classList.remove('active');\n",
+ " } else if (msg['mode'] === 'ZOOM') {\n",
+ " fig.buttons['Pan'].classList.remove('active');\n",
+ " fig.buttons['Zoom'].classList.add('active');\n",
+ " } else {\n",
+ " fig.buttons['Pan'].classList.remove('active');\n",
+ " fig.buttons['Zoom'].classList.remove('active');\n",
+ " }\n",
+ "};\n",
+ "\n",
+ "mpl.figure.prototype.updated_canvas_event = function () {\n",
+ " // Called whenever the canvas gets updated.\n",
+ " this.send_message('ack', {});\n",
+ "};\n",
+ "\n",
+ "// A function to construct a web socket function for onmessage handling.\n",
+ "// Called in the figure constructor.\n",
+ "mpl.figure.prototype._make_on_message_function = function (fig) {\n",
+ " return function socket_on_message(evt) {\n",
+ " if (evt.data instanceof Blob) {\n",
+ " var img = evt.data;\n",
+ " if (img.type !== 'image/png') {\n",
+ " /* FIXME: We get \"Resource interpreted as Image but\n",
+ " * transferred with MIME type text/plain:\" errors on\n",
+ " * Chrome. But how to set the MIME type? It doesn't seem\n",
+ " * to be part of the websocket stream */\n",
+ " img.type = 'image/png';\n",
+ " }\n",
+ "\n",
+ " /* Free the memory for the previous frames */\n",
+ " if (fig.imageObj.src) {\n",
+ " (window.URL || window.webkitURL).revokeObjectURL(\n",
+ " fig.imageObj.src\n",
+ " );\n",
+ " }\n",
+ "\n",
+ " fig.imageObj.src = (window.URL || window.webkitURL).createObjectURL(\n",
+ " img\n",
+ " );\n",
+ " fig.updated_canvas_event();\n",
+ " fig.waiting = false;\n",
+ " return;\n",
+ " } else if (\n",
+ " typeof evt.data === 'string' &&\n",
+ " evt.data.slice(0, 21) === 'data:image/png;base64'\n",
+ " ) {\n",
+ " fig.imageObj.src = evt.data;\n",
+ " fig.updated_canvas_event();\n",
+ " fig.waiting = false;\n",
+ " return;\n",
+ " }\n",
+ "\n",
+ " var msg = JSON.parse(evt.data);\n",
+ " var msg_type = msg['type'];\n",
+ "\n",
+ " // Call the \"handle_{type}\" callback, which takes\n",
+ " // the figure and JSON message as its only arguments.\n",
+ " try {\n",
+ " var callback = fig['handle_' + msg_type];\n",
+ " } catch (e) {\n",
+ " console.log(\n",
+ " \"No handler for the '\" + msg_type + \"' message type: \",\n",
+ " msg\n",
+ " );\n",
+ " return;\n",
+ " }\n",
+ "\n",
+ " if (callback) {\n",
+ " try {\n",
+ " // console.log(\"Handling '\" + msg_type + \"' message: \", msg);\n",
+ " callback(fig, msg);\n",
+ " } catch (e) {\n",
+ " console.log(\n",
+ " \"Exception inside the 'handler_\" + msg_type + \"' callback:\",\n",
+ " e,\n",
+ " e.stack,\n",
+ " msg\n",
+ " );\n",
+ " }\n",
+ " }\n",
+ " };\n",
+ "};\n",
+ "\n",
+ "// from https://stackoverflow.com/questions/1114465/getting-mouse-location-in-canvas\n",
+ "mpl.findpos = function (e) {\n",
+ " //this section is from http://www.quirksmode.org/js/events_properties.html\n",
+ " var targ;\n",
+ " if (!e) {\n",
+ " e = window.event;\n",
+ " }\n",
+ " if (e.target) {\n",
+ " targ = e.target;\n",
+ " } else if (e.srcElement) {\n",
+ " targ = e.srcElement;\n",
+ " }\n",
+ " if (targ.nodeType === 3) {\n",
+ " // defeat Safari bug\n",
+ " targ = targ.parentNode;\n",
+ " }\n",
+ "\n",
+ " // pageX,Y are the mouse positions relative to the document\n",
+ " var boundingRect = targ.getBoundingClientRect();\n",
+ " var x = e.pageX - (boundingRect.left + document.body.scrollLeft);\n",
+ " var y = e.pageY - (boundingRect.top + document.body.scrollTop);\n",
+ "\n",
+ " return { x: x, y: y };\n",
+ "};\n",
+ "\n",
+ "/*\n",
+ " * return a copy of an object with only non-object keys\n",
+ " * we need this to avoid circular references\n",
+ " * https://stackoverflow.com/a/24161582/3208463\n",
+ " */\n",
+ "function simpleKeys(original) {\n",
+ " return Object.keys(original).reduce(function (obj, key) {\n",
+ " if (typeof original[key] !== 'object') {\n",
+ " obj[key] = original[key];\n",
+ " }\n",
+ " return obj;\n",
+ " }, {});\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype.mouse_event = function (event, name) {\n",
+ " var canvas_pos = mpl.findpos(event);\n",
+ "\n",
+ " if (name === 'button_press') {\n",
+ " this.canvas.focus();\n",
+ " this.canvas_div.focus();\n",
+ " }\n",
+ "\n",
+ " var x = canvas_pos.x * this.ratio;\n",
+ " var y = canvas_pos.y * this.ratio;\n",
+ "\n",
+ " this.send_message(name, {\n",
+ " x: x,\n",
+ " y: y,\n",
+ " button: event.button,\n",
+ " step: event.step,\n",
+ " guiEvent: simpleKeys(event),\n",
+ " });\n",
+ "\n",
+ " /* This prevents the web browser from automatically changing to\n",
+ " * the text insertion cursor when the button is pressed. We want\n",
+ " * to control all of the cursor setting manually through the\n",
+ " * 'cursor' event from matplotlib */\n",
+ " event.preventDefault();\n",
+ " return false;\n",
+ "};\n",
+ "\n",
+ "mpl.figure.prototype._key_event_extra = function (_event, _name) {\n",
+ " // Handle any extra behaviour associated with a key event\n",
+ "};\n",
+ "\n",
+ "mpl.figure.prototype.key_event = function (event, name) {\n",
+ " // Prevent repeat events\n",
+ " if (name === 'key_press') {\n",
+ " if (event.key === this._key) {\n",
+ " return;\n",
+ " } else {\n",
+ " this._key = event.key;\n",
+ " }\n",
+ " }\n",
+ " if (name === 'key_release') {\n",
+ " this._key = null;\n",
+ " }\n",
+ "\n",
+ " var value = '';\n",
+ " if (event.ctrlKey && event.key !== 'Control') {\n",
+ " value += 'ctrl+';\n",
+ " }\n",
+ " else if (event.altKey && event.key !== 'Alt') {\n",
+ " value += 'alt+';\n",
+ " }\n",
+ " else if (event.shiftKey && event.key !== 'Shift') {\n",
+ " value += 'shift+';\n",
+ " }\n",
+ "\n",
+ " value += 'k' + event.key;\n",
+ "\n",
+ " this._key_event_extra(event, name);\n",
+ "\n",
+ " this.send_message(name, { key: value, guiEvent: simpleKeys(event) });\n",
+ " return false;\n",
+ "};\n",
+ "\n",
+ "mpl.figure.prototype.toolbar_button_onclick = function (name) {\n",
+ " if (name === 'download') {\n",
+ " this.handle_save(this, null);\n",
+ " } else {\n",
+ " this.send_message('toolbar_button', { name: name });\n",
+ " }\n",
+ "};\n",
+ "\n",
+ "mpl.figure.prototype.toolbar_button_onmouseover = function (tooltip) {\n",
+ " this.message.textContent = tooltip;\n",
+ "};\n",
+ "\n",
+ "///////////////// REMAINING CONTENT GENERATED BY embed_js.py /////////////////\n",
+ "// prettier-ignore\n",
+ "var _JSXTOOLS_RESIZE_OBSERVER=function(A){var t,i=new WeakMap,n=new WeakMap,a=new WeakMap,r=new WeakMap,o=new Set;function s(e){if(!(this instanceof s))throw new TypeError(\"Constructor requires 'new' operator\");i.set(this,e)}function h(){throw new TypeError(\"Function is not a constructor\")}function c(e,t,i,n){e=0 in arguments?Number(arguments[0]):0,t=1 in arguments?Number(arguments[1]):0,i=2 in arguments?Number(arguments[2]):0,n=3 in arguments?Number(arguments[3]):0,this.right=(this.x=this.left=e)+(this.width=i),this.bottom=(this.y=this.top=t)+(this.height=n),Object.freeze(this)}function d(){t=requestAnimationFrame(d);var s=new WeakMap,p=new Set;o.forEach((function(t){r.get(t).forEach((function(i){var r=t instanceof window.SVGElement,o=a.get(t),d=r?0:parseFloat(o.paddingTop),f=r?0:parseFloat(o.paddingRight),l=r?0:parseFloat(o.paddingBottom),u=r?0:parseFloat(o.paddingLeft),g=r?0:parseFloat(o.borderTopWidth),m=r?0:parseFloat(o.borderRightWidth),w=r?0:parseFloat(o.borderBottomWidth),b=u+f,F=d+l,v=(r?0:parseFloat(o.borderLeftWidth))+m,W=g+w,y=r?0:t.offsetHeight-W-t.clientHeight,E=r?0:t.offsetWidth-v-t.clientWidth,R=b+v,z=F+W,M=r?t.width:parseFloat(o.width)-R-E,O=r?t.height:parseFloat(o.height)-z-y;if(n.has(t)){var k=n.get(t);if(k[0]===M&&k[1]===O)return}n.set(t,[M,O]);var S=Object.create(h.prototype);S.target=t,S.contentRect=new c(u,d,M,O),s.has(i)||(s.set(i,[]),p.add(i)),s.get(i).push(S)}))})),p.forEach((function(e){i.get(e).call(e,s.get(e),e)}))}return s.prototype.observe=function(i){if(i instanceof window.Element){r.has(i)||(r.set(i,new Set),o.add(i),a.set(i,window.getComputedStyle(i)));var n=r.get(i);n.has(this)||n.add(this),cancelAnimationFrame(t),t=requestAnimationFrame(d)}},s.prototype.unobserve=function(i){if(i instanceof window.Element&&r.has(i)){var n=r.get(i);n.has(this)&&(n.delete(this),n.size||(r.delete(i),o.delete(i))),n.size||r.delete(i),o.size||cancelAnimationFrame(t)}},A.DOMRectReadOnly=c,A.ResizeObserver=s,A.ResizeObserverEntry=h,A}; // eslint-disable-line\n",
+ "mpl.toolbar_items = [[\"Home\", \"Reset original view\", \"fa fa-home icon-home\", \"home\"], [\"Back\", \"Back to previous view\", \"fa fa-arrow-left icon-arrow-left\", \"back\"], [\"Forward\", \"Forward to next view\", \"fa fa-arrow-right icon-arrow-right\", \"forward\"], [\"\", \"\", \"\", \"\"], [\"Pan\", \"Left button pans, Right button zooms\\nx/y fixes axis, CTRL fixes aspect\", \"fa fa-arrows icon-move\", \"pan\"], [\"Zoom\", \"Zoom to rectangle\\nx/y fixes axis\", \"fa fa-square-o icon-check-empty\", \"zoom\"], [\"\", \"\", \"\", \"\"], [\"Download\", \"Download plot\", \"fa fa-floppy-o icon-save\", \"download\"]];\n",
+ "\n",
+ "mpl.extensions = [\"eps\", \"jpeg\", \"pgf\", \"pdf\", \"png\", \"ps\", \"raw\", \"svg\", \"tif\"];\n",
+ "\n",
+ "mpl.default_extension = \"png\";/* global mpl */\n",
+ "\n",
+ "var comm_websocket_adapter = function (comm) {\n",
+ " // Create a \"websocket\"-like object which calls the given IPython comm\n",
+ " // object with the appropriate methods. Currently this is a non binary\n",
+ " // socket, so there is still some room for performance tuning.\n",
+ " var ws = {};\n",
+ "\n",
+ " ws.binaryType = comm.kernel.ws.binaryType;\n",
+ " ws.readyState = comm.kernel.ws.readyState;\n",
+ " function updateReadyState(_event) {\n",
+ " if (comm.kernel.ws) {\n",
+ " ws.readyState = comm.kernel.ws.readyState;\n",
+ " } else {\n",
+ " ws.readyState = 3; // Closed state.\n",
+ " }\n",
+ " }\n",
+ " comm.kernel.ws.addEventListener('open', updateReadyState);\n",
+ " comm.kernel.ws.addEventListener('close', updateReadyState);\n",
+ " comm.kernel.ws.addEventListener('error', updateReadyState);\n",
+ "\n",
+ " ws.close = function () {\n",
+ " comm.close();\n",
+ " };\n",
+ " ws.send = function (m) {\n",
+ " //console.log('sending', m);\n",
+ " comm.send(m);\n",
+ " };\n",
+ " // Register the callback with on_msg.\n",
+ " comm.on_msg(function (msg) {\n",
+ " //console.log('receiving', msg['content']['data'], msg);\n",
+ " var data = msg['content']['data'];\n",
+ " if (data['blob'] !== undefined) {\n",
+ " data = {\n",
+ " data: new Blob(msg['buffers'], { type: data['blob'] }),\n",
+ " };\n",
+ " }\n",
+ " // Pass the mpl event to the overridden (by mpl) onmessage function.\n",
+ " ws.onmessage(data);\n",
+ " });\n",
+ " return ws;\n",
+ "};\n",
+ "\n",
+ "mpl.mpl_figure_comm = function (comm, msg) {\n",
+ " // This is the function which gets called when the mpl process\n",
+ " // starts-up an IPython Comm through the \"matplotlib\" channel.\n",
+ "\n",
+ " var id = msg.content.data.id;\n",
+ " // Get hold of the div created by the display call when the Comm\n",
+ " // socket was opened in Python.\n",
+ " var element = document.getElementById(id);\n",
+ " var ws_proxy = comm_websocket_adapter(comm);\n",
+ "\n",
+ " function ondownload(figure, _format) {\n",
+ " window.open(figure.canvas.toDataURL());\n",
+ " }\n",
+ "\n",
+ " var fig = new mpl.figure(id, ws_proxy, ondownload, element);\n",
+ "\n",
+ " // Call onopen now - mpl needs it, as it is assuming we've passed it a real\n",
+ " // web socket which is closed, not our websocket->open comm proxy.\n",
+ " ws_proxy.onopen();\n",
+ "\n",
+ " fig.parent_element = element;\n",
+ " fig.cell_info = mpl.find_output_cell(\"
\");\n",
+ " if (!fig.cell_info) {\n",
+ " console.error('Failed to find cell for figure', id, fig);\n",
+ " return;\n",
+ " }\n",
+ " fig.cell_info[0].output_area.element.on(\n",
+ " 'cleared',\n",
+ " { fig: fig },\n",
+ " fig._remove_fig_handler\n",
+ " );\n",
+ "};\n",
+ "\n",
+ "mpl.figure.prototype.handle_close = function (fig, msg) {\n",
+ " var width = fig.canvas.width / fig.ratio;\n",
+ " fig.cell_info[0].output_area.element.off(\n",
+ " 'cleared',\n",
+ " fig._remove_fig_handler\n",
+ " );\n",
+ " fig.resizeObserverInstance.unobserve(fig.canvas_div);\n",
+ "\n",
+ " // Update the output cell to use the data from the current canvas.\n",
+ " fig.push_to_output();\n",
+ " var dataURL = fig.canvas.toDataURL();\n",
+ " // Re-enable the keyboard manager in IPython - without this line, in FF,\n",
+ " // the notebook keyboard shortcuts fail.\n",
+ " IPython.keyboard_manager.enable();\n",
+ " fig.parent_element.innerHTML =\n",
+ " '
';\n",
+ " fig.close_ws(fig, msg);\n",
+ "};\n",
+ "\n",
+ "mpl.figure.prototype.close_ws = function (fig, msg) {\n",
+ " fig.send_message('closing', msg);\n",
+ " // fig.ws.close()\n",
+ "};\n",
+ "\n",
+ "mpl.figure.prototype.push_to_output = function (_remove_interactive) {\n",
+ " // Turn the data on the canvas into data in the output cell.\n",
+ " var width = this.canvas.width / this.ratio;\n",
+ " var dataURL = this.canvas.toDataURL();\n",
+ " this.cell_info[1]['text/html'] =\n",
+ " '
';\n",
+ "};\n",
+ "\n",
+ "mpl.figure.prototype.updated_canvas_event = function () {\n",
+ " // Tell IPython that the notebook contents must change.\n",
+ " IPython.notebook.set_dirty(true);\n",
+ " this.send_message('ack', {});\n",
+ " var fig = this;\n",
+ " // Wait a second, then push the new image to the DOM so\n",
+ " // that it is saved nicely (might be nice to debounce this).\n",
+ " setTimeout(function () {\n",
+ " fig.push_to_output();\n",
+ " }, 1000);\n",
+ "};\n",
+ "\n",
+ "mpl.figure.prototype._init_toolbar = function () {\n",
+ " var fig = this;\n",
+ "\n",
+ " var toolbar = document.createElement('div');\n",
+ " toolbar.classList = 'btn-toolbar';\n",
+ " this.root.appendChild(toolbar);\n",
+ "\n",
+ " function on_click_closure(name) {\n",
+ " return function (_event) {\n",
+ " return fig.toolbar_button_onclick(name);\n",
+ " };\n",
+ " }\n",
+ "\n",
+ " function on_mouseover_closure(tooltip) {\n",
+ " return function (event) {\n",
+ " if (!event.currentTarget.disabled) {\n",
+ " return fig.toolbar_button_onmouseover(tooltip);\n",
+ " }\n",
+ " };\n",
+ " }\n",
+ "\n",
+ " fig.buttons = {};\n",
+ " var buttonGroup = document.createElement('div');\n",
+ " buttonGroup.classList = 'btn-group';\n",
+ " var button;\n",
+ " for (var toolbar_ind in mpl.toolbar_items) {\n",
+ " var name = mpl.toolbar_items[toolbar_ind][0];\n",
+ " var tooltip = mpl.toolbar_items[toolbar_ind][1];\n",
+ " var image = mpl.toolbar_items[toolbar_ind][2];\n",
+ " var method_name = mpl.toolbar_items[toolbar_ind][3];\n",
+ "\n",
+ " if (!name) {\n",
+ " /* Instead of a spacer, we start a new button group. */\n",
+ " if (buttonGroup.hasChildNodes()) {\n",
+ " toolbar.appendChild(buttonGroup);\n",
+ " }\n",
+ " buttonGroup = document.createElement('div');\n",
+ " buttonGroup.classList = 'btn-group';\n",
+ " continue;\n",
+ " }\n",
+ "\n",
+ " button = fig.buttons[name] = document.createElement('button');\n",
+ " button.classList = 'btn btn-default';\n",
+ " button.href = '#';\n",
+ " button.title = name;\n",
+ " button.innerHTML = '';\n",
+ " button.addEventListener('click', on_click_closure(method_name));\n",
+ " button.addEventListener('mouseover', on_mouseover_closure(tooltip));\n",
+ " buttonGroup.appendChild(button);\n",
+ " }\n",
+ "\n",
+ " if (buttonGroup.hasChildNodes()) {\n",
+ " toolbar.appendChild(buttonGroup);\n",
+ " }\n",
+ "\n",
+ " // Add the status bar.\n",
+ " var status_bar = document.createElement('span');\n",
+ " status_bar.classList = 'mpl-message pull-right';\n",
+ " toolbar.appendChild(status_bar);\n",
+ " this.message = status_bar;\n",
+ "\n",
+ " // Add the close button to the window.\n",
+ " var buttongrp = document.createElement('div');\n",
+ " buttongrp.classList = 'btn-group inline pull-right';\n",
+ " button = document.createElement('button');\n",
+ " button.classList = 'btn btn-mini btn-primary';\n",
+ " button.href = '#';\n",
+ " button.title = 'Stop Interaction';\n",
+ " button.innerHTML = '';\n",
+ " button.addEventListener('click', function (_evt) {\n",
+ " fig.handle_close(fig, {});\n",
+ " });\n",
+ " button.addEventListener(\n",
+ " 'mouseover',\n",
+ " on_mouseover_closure('Stop Interaction')\n",
+ " );\n",
+ " buttongrp.appendChild(button);\n",
+ " var titlebar = this.root.querySelector('.ui-dialog-titlebar');\n",
+ " titlebar.insertBefore(buttongrp, titlebar.firstChild);\n",
+ "};\n",
+ "\n",
+ "mpl.figure.prototype._remove_fig_handler = function (event) {\n",
+ " var fig = event.data.fig;\n",
+ " if (event.target !== this) {\n",
+ " // Ignore bubbled events from children.\n",
+ " return;\n",
+ " }\n",
+ " fig.close_ws(fig, {});\n",
+ "};\n",
+ "\n",
+ "mpl.figure.prototype._root_extra_style = function (el) {\n",
+ " el.style.boxSizing = 'content-box'; // override notebook setting of border-box.\n",
+ "};\n",
+ "\n",
+ "mpl.figure.prototype._canvas_extra_style = function (el) {\n",
+ " // this is important to make the div 'focusable\n",
+ " el.setAttribute('tabindex', 0);\n",
+ " // reach out to IPython and tell the keyboard manager to turn it's self\n",
+ " // off when our div gets focus\n",
+ "\n",
+ " // location in version 3\n",
+ " if (IPython.notebook.keyboard_manager) {\n",
+ " IPython.notebook.keyboard_manager.register_events(el);\n",
+ " } else {\n",
+ " // location in version 2\n",
+ " IPython.keyboard_manager.register_events(el);\n",
+ " }\n",
+ "};\n",
+ "\n",
+ "mpl.figure.prototype._key_event_extra = function (event, _name) {\n",
+ " // Check for shift+enter\n",
+ " if (event.shiftKey && event.which === 13) {\n",
+ " this.canvas_div.blur();\n",
+ " // select the cell after this one\n",
+ " var index = IPython.notebook.find_cell_index(this.cell_info[0]);\n",
+ " IPython.notebook.select(index + 1);\n",
+ " }\n",
+ "};\n",
+ "\n",
+ "mpl.figure.prototype.handle_save = function (fig, _msg) {\n",
+ " fig.ondownload(fig, null);\n",
+ "};\n",
+ "\n",
+ "mpl.find_output_cell = function (html_output) {\n",
+ " // Return the cell and output element which can be found *uniquely* in the notebook.\n",
+ " // Note - this is a bit hacky, but it is done because the \"notebook_saving.Notebook\"\n",
+ " // IPython event is triggered only after the cells have been serialised, which for\n",
+ " // our purposes (turning an active figure into a static one), is too late.\n",
+ " var cells = IPython.notebook.get_cells();\n",
+ " var ncells = cells.length;\n",
+ " for (var i = 0; i < ncells; i++) {\n",
+ " var cell = cells[i];\n",
+ " if (cell.cell_type === 'code') {\n",
+ " for (var j = 0; j < cell.output_area.outputs.length; j++) {\n",
+ " var data = cell.output_area.outputs[j];\n",
+ " if (data.data) {\n",
+ " // IPython >= 3 moved mimebundle to data attribute of output\n",
+ " data = data.data;\n",
+ " }\n",
+ " if (data['text/html'] === html_output) {\n",
+ " return [cell, data, j];\n",
+ " }\n",
+ " }\n",
+ " }\n",
+ " }\n",
+ "};\n",
+ "\n",
+ "// Register the function which deals with the matplotlib target/channel.\n",
+ "// The kernel may be null if the page has been refreshed.\n",
+ "if (IPython.notebook.kernel !== null) {\n",
+ " IPython.notebook.kernel.comm_manager.register_target(\n",
+ " 'matplotlib',\n",
+ " mpl.mpl_figure_comm\n",
+ " );\n",
+ "}\n"
+ ],
+ "text/plain": [
+ ""
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ },
+ {
+ "data": {
+ "text/html": [
+ "
"
+ ],
+ "text/plain": [
+ ""
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ },
+ {
+ "ename": "ValueError",
+ "evalue": "Unrecognized character i in format string",
+ "output_type": "error",
+ "traceback": [
+ "\u001b[1;31m---------------------------------------------------------------------------\u001b[0m",
+ "\u001b[1;31mValueError\u001b[0m Traceback (most recent call last)",
+ "\u001b[1;32m\u001b[0m in \u001b[0;36m\u001b[1;34m\u001b[0m\n\u001b[1;32m----> 1\u001b[1;33m \u001b[0mplt\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mplot\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mx\u001b[0m\u001b[1;33m,\u001b[0m\u001b[0my\u001b[0m\u001b[1;33m,\u001b[0m\u001b[1;34m'pinkp'\u001b[0m\u001b[1;33m,\u001b[0m\u001b[0mms\u001b[0m\u001b[1;33m=\u001b[0m\u001b[1;36m10\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m 2\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 3\u001b[0m \u001b[1;31m# The string 'bo' above indicates that the points will be blue(b) circles(o)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n",
+ "\u001b[1;32m~\\AppData\\Roaming\\Python\\Python37\\site-packages\\matplotlib\\pyplot.py\u001b[0m in \u001b[0;36mplot\u001b[1;34m(scalex, scaley, data, *args, **kwargs)\u001b[0m\n\u001b[0;32m 2767\u001b[0m return gca().plot(\n\u001b[0;32m 2768\u001b[0m \u001b[1;33m*\u001b[0m\u001b[0margs\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mscalex\u001b[0m\u001b[1;33m=\u001b[0m\u001b[0mscalex\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mscaley\u001b[0m\u001b[1;33m=\u001b[0m\u001b[0mscaley\u001b[0m\u001b[1;33m,\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m-> 2769\u001b[1;33m **({\"data\": data} if data is not None else {}), **kwargs)\n\u001b[0m\u001b[0;32m 2770\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 2771\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n",
+ "\u001b[1;32m~\\AppData\\Roaming\\Python\\Python37\\site-packages\\matplotlib\\axes\\_axes.py\u001b[0m in \u001b[0;36mplot\u001b[1;34m(self, scalex, scaley, data, *args, **kwargs)\u001b[0m\n\u001b[0;32m 1633\u001b[0m \"\"\"\n\u001b[0;32m 1634\u001b[0m \u001b[0mkwargs\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0mcbook\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mnormalize_kwargs\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mkwargs\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mmlines\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mLine2D\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m-> 1635\u001b[1;33m \u001b[0mlines\u001b[0m \u001b[1;33m=\u001b[0m \u001b[1;33m[\u001b[0m\u001b[1;33m*\u001b[0m\u001b[0mself\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0m_get_lines\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;33m*\u001b[0m\u001b[0margs\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mdata\u001b[0m\u001b[1;33m=\u001b[0m\u001b[0mdata\u001b[0m\u001b[1;33m,\u001b[0m \u001b[1;33m**\u001b[0m\u001b[0mkwargs\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m]\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m 1636\u001b[0m \u001b[1;32mfor\u001b[0m \u001b[0mline\u001b[0m \u001b[1;32min\u001b[0m \u001b[0mlines\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 1637\u001b[0m \u001b[0mself\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0madd_line\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mline\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n",
+ "\u001b[1;32m~\\AppData\\Roaming\\Python\\Python37\\site-packages\\matplotlib\\axes\\_base.py\u001b[0m in \u001b[0;36m__call__\u001b[1;34m(self, data, *args, **kwargs)\u001b[0m\n\u001b[0;32m 310\u001b[0m \u001b[0mthis\u001b[0m \u001b[1;33m+=\u001b[0m \u001b[0margs\u001b[0m\u001b[1;33m[\u001b[0m\u001b[1;36m0\u001b[0m\u001b[1;33m]\u001b[0m\u001b[1;33m,\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 311\u001b[0m \u001b[0margs\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0margs\u001b[0m\u001b[1;33m[\u001b[0m\u001b[1;36m1\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m]\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m--> 312\u001b[1;33m \u001b[1;32myield\u001b[0m \u001b[1;32mfrom\u001b[0m \u001b[0mself\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0m_plot_args\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mthis\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mkwargs\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m 313\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 314\u001b[0m \u001b[1;32mdef\u001b[0m \u001b[0mget_next_color\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mself\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n",
+ "\u001b[1;32m~\\AppData\\Roaming\\Python\\Python37\\site-packages\\matplotlib\\axes\\_base.py\u001b[0m in \u001b[0;36m_plot_args\u001b[1;34m(self, tup, kwargs, return_kwargs)\u001b[0m\n\u001b[0;32m 447\u001b[0m \u001b[1;31m# xy is tup with fmt stripped (could still be (y,) only)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 448\u001b[0m \u001b[1;33m*\u001b[0m\u001b[0mxy\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mfmt\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0mtup\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m--> 449\u001b[1;33m \u001b[0mlinestyle\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mmarker\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mcolor\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0m_process_plot_format\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mfmt\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m 450\u001b[0m \u001b[1;32melif\u001b[0m \u001b[0mlen\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mtup\u001b[0m\u001b[1;33m)\u001b[0m \u001b[1;33m==\u001b[0m \u001b[1;36m3\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 451\u001b[0m \u001b[1;32mraise\u001b[0m \u001b[0mValueError\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;34m'third arg must be a format string'\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n",
+ "\u001b[1;32m~\\AppData\\Roaming\\Python\\Python37\\site-packages\\matplotlib\\axes\\_base.py\u001b[0m in \u001b[0;36m_process_plot_format\u001b[1;34m(fmt)\u001b[0m\n\u001b[0;32m 198\u001b[0m \u001b[1;32melse\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 199\u001b[0m raise ValueError(\n\u001b[1;32m--> 200\u001b[1;33m 'Unrecognized character %c in format string' % c)\n\u001b[0m\u001b[0;32m 201\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 202\u001b[0m \u001b[1;32mif\u001b[0m \u001b[0mlinestyle\u001b[0m \u001b[1;32mis\u001b[0m \u001b[1;32mNone\u001b[0m \u001b[1;32mand\u001b[0m \u001b[0mmarker\u001b[0m \u001b[1;32mis\u001b[0m \u001b[1;32mNone\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n",
+ "\u001b[1;31mValueError\u001b[0m: Unrecognized character i in format string"
+ ]
+ }
+ ],
"source": [
- "plt.plot(x,y,'bo')\n",
+ "plt.plot(x,y,'pinkp',ms=10)\n",
"\n",
"# The string 'bo' above indicates that the points will be blue(b) circles(o)"
]
@@ -435,11 +1454,990 @@
},
{
"cell_type": "code",
- "execution_count": null,
+ "execution_count": 22,
"metadata": {},
- "outputs": [],
+ "outputs": [
+ {
+ "data": {
+ "application/javascript": [
+ "/* Put everything inside the global mpl namespace */\n",
+ "/* global mpl */\n",
+ "window.mpl = {};\n",
+ "\n",
+ "mpl.get_websocket_type = function () {\n",
+ " if (typeof WebSocket !== 'undefined') {\n",
+ " return WebSocket;\n",
+ " } else if (typeof MozWebSocket !== 'undefined') {\n",
+ " return MozWebSocket;\n",
+ " } else {\n",
+ " alert(\n",
+ " 'Your browser does not have WebSocket support. ' +\n",
+ " 'Please try Chrome, Safari or Firefox ≥ 6. ' +\n",
+ " 'Firefox 4 and 5 are also supported but you ' +\n",
+ " 'have to enable WebSockets in about:config.'\n",
+ " );\n",
+ " }\n",
+ "};\n",
+ "\n",
+ "mpl.figure = function (figure_id, websocket, ondownload, parent_element) {\n",
+ " this.id = figure_id;\n",
+ "\n",
+ " this.ws = websocket;\n",
+ "\n",
+ " this.supports_binary = this.ws.binaryType !== undefined;\n",
+ "\n",
+ " if (!this.supports_binary) {\n",
+ " var warnings = document.getElementById('mpl-warnings');\n",
+ " if (warnings) {\n",
+ " warnings.style.display = 'block';\n",
+ " warnings.textContent =\n",
+ " 'This browser does not support binary websocket messages. ' +\n",
+ " 'Performance may be slow.';\n",
+ " }\n",
+ " }\n",
+ "\n",
+ " this.imageObj = new Image();\n",
+ "\n",
+ " this.context = undefined;\n",
+ " this.message = undefined;\n",
+ " this.canvas = undefined;\n",
+ " this.rubberband_canvas = undefined;\n",
+ " this.rubberband_context = undefined;\n",
+ " this.format_dropdown = undefined;\n",
+ "\n",
+ " this.image_mode = 'full';\n",
+ "\n",
+ " this.root = document.createElement('div');\n",
+ " this.root.setAttribute('style', 'display: inline-block');\n",
+ " this._root_extra_style(this.root);\n",
+ "\n",
+ " parent_element.appendChild(this.root);\n",
+ "\n",
+ " this._init_header(this);\n",
+ " this._init_canvas(this);\n",
+ " this._init_toolbar(this);\n",
+ "\n",
+ " var fig = this;\n",
+ "\n",
+ " this.waiting = false;\n",
+ "\n",
+ " this.ws.onopen = function () {\n",
+ " fig.send_message('supports_binary', { value: fig.supports_binary });\n",
+ " fig.send_message('send_image_mode', {});\n",
+ " if (fig.ratio !== 1) {\n",
+ " fig.send_message('set_device_pixel_ratio', {\n",
+ " device_pixel_ratio: fig.ratio,\n",
+ " });\n",
+ " }\n",
+ " fig.send_message('refresh', {});\n",
+ " };\n",
+ "\n",
+ " this.imageObj.onload = function () {\n",
+ " if (fig.image_mode === 'full') {\n",
+ " // Full images could contain transparency (where diff images\n",
+ " // almost always do), so we need to clear the canvas so that\n",
+ " // there is no ghosting.\n",
+ " fig.context.clearRect(0, 0, fig.canvas.width, fig.canvas.height);\n",
+ " }\n",
+ " fig.context.drawImage(fig.imageObj, 0, 0);\n",
+ " };\n",
+ "\n",
+ " this.imageObj.onunload = function () {\n",
+ " fig.ws.close();\n",
+ " };\n",
+ "\n",
+ " this.ws.onmessage = this._make_on_message_function(this);\n",
+ "\n",
+ " this.ondownload = ondownload;\n",
+ "};\n",
+ "\n",
+ "mpl.figure.prototype._init_header = function () {\n",
+ " var titlebar = document.createElement('div');\n",
+ " titlebar.classList =\n",
+ " 'ui-dialog-titlebar ui-widget-header ui-corner-all ui-helper-clearfix';\n",
+ " var titletext = document.createElement('div');\n",
+ " titletext.classList = 'ui-dialog-title';\n",
+ " titletext.setAttribute(\n",
+ " 'style',\n",
+ " 'width: 100%; text-align: center; padding: 3px;'\n",
+ " );\n",
+ " titlebar.appendChild(titletext);\n",
+ " this.root.appendChild(titlebar);\n",
+ " this.header = titletext;\n",
+ "};\n",
+ "\n",
+ "mpl.figure.prototype._canvas_extra_style = function (_canvas_div) {};\n",
+ "\n",
+ "mpl.figure.prototype._root_extra_style = function (_canvas_div) {};\n",
+ "\n",
+ "mpl.figure.prototype._init_canvas = function () {\n",
+ " var fig = this;\n",
+ "\n",
+ " var canvas_div = (this.canvas_div = document.createElement('div'));\n",
+ " canvas_div.setAttribute(\n",
+ " 'style',\n",
+ " 'border: 1px solid #ddd;' +\n",
+ " 'box-sizing: content-box;' +\n",
+ " 'clear: both;' +\n",
+ " 'min-height: 1px;' +\n",
+ " 'min-width: 1px;' +\n",
+ " 'outline: 0;' +\n",
+ " 'overflow: hidden;' +\n",
+ " 'position: relative;' +\n",
+ " 'resize: both;'\n",
+ " );\n",
+ "\n",
+ " function on_keyboard_event_closure(name) {\n",
+ " return function (event) {\n",
+ " return fig.key_event(event, name);\n",
+ " };\n",
+ " }\n",
+ "\n",
+ " canvas_div.addEventListener(\n",
+ " 'keydown',\n",
+ " on_keyboard_event_closure('key_press')\n",
+ " );\n",
+ " canvas_div.addEventListener(\n",
+ " 'keyup',\n",
+ " on_keyboard_event_closure('key_release')\n",
+ " );\n",
+ "\n",
+ " this._canvas_extra_style(canvas_div);\n",
+ " this.root.appendChild(canvas_div);\n",
+ "\n",
+ " var canvas = (this.canvas = document.createElement('canvas'));\n",
+ " canvas.classList.add('mpl-canvas');\n",
+ " canvas.setAttribute('style', 'box-sizing: content-box;');\n",
+ "\n",
+ " this.context = canvas.getContext('2d');\n",
+ "\n",
+ " var backingStore =\n",
+ " this.context.backingStorePixelRatio ||\n",
+ " this.context.webkitBackingStorePixelRatio ||\n",
+ " this.context.mozBackingStorePixelRatio ||\n",
+ " this.context.msBackingStorePixelRatio ||\n",
+ " this.context.oBackingStorePixelRatio ||\n",
+ " this.context.backingStorePixelRatio ||\n",
+ " 1;\n",
+ "\n",
+ " this.ratio = (window.devicePixelRatio || 1) / backingStore;\n",
+ "\n",
+ " var rubberband_canvas = (this.rubberband_canvas = document.createElement(\n",
+ " 'canvas'\n",
+ " ));\n",
+ " rubberband_canvas.setAttribute(\n",
+ " 'style',\n",
+ " 'box-sizing: content-box; position: absolute; left: 0; top: 0; z-index: 1;'\n",
+ " );\n",
+ "\n",
+ " // Apply a ponyfill if ResizeObserver is not implemented by browser.\n",
+ " if (this.ResizeObserver === undefined) {\n",
+ " if (window.ResizeObserver !== undefined) {\n",
+ " this.ResizeObserver = window.ResizeObserver;\n",
+ " } else {\n",
+ " var obs = _JSXTOOLS_RESIZE_OBSERVER({});\n",
+ " this.ResizeObserver = obs.ResizeObserver;\n",
+ " }\n",
+ " }\n",
+ "\n",
+ " this.resizeObserverInstance = new this.ResizeObserver(function (entries) {\n",
+ " var nentries = entries.length;\n",
+ " for (var i = 0; i < nentries; i++) {\n",
+ " var entry = entries[i];\n",
+ " var width, height;\n",
+ " if (entry.contentBoxSize) {\n",
+ " if (entry.contentBoxSize instanceof Array) {\n",
+ " // Chrome 84 implements new version of spec.\n",
+ " width = entry.contentBoxSize[0].inlineSize;\n",
+ " height = entry.contentBoxSize[0].blockSize;\n",
+ " } else {\n",
+ " // Firefox implements old version of spec.\n",
+ " width = entry.contentBoxSize.inlineSize;\n",
+ " height = entry.contentBoxSize.blockSize;\n",
+ " }\n",
+ " } else {\n",
+ " // Chrome <84 implements even older version of spec.\n",
+ " width = entry.contentRect.width;\n",
+ " height = entry.contentRect.height;\n",
+ " }\n",
+ "\n",
+ " // Keep the size of the canvas and rubber band canvas in sync with\n",
+ " // the canvas container.\n",
+ " if (entry.devicePixelContentBoxSize) {\n",
+ " // Chrome 84 implements new version of spec.\n",
+ " canvas.setAttribute(\n",
+ " 'width',\n",
+ " entry.devicePixelContentBoxSize[0].inlineSize\n",
+ " );\n",
+ " canvas.setAttribute(\n",
+ " 'height',\n",
+ " entry.devicePixelContentBoxSize[0].blockSize\n",
+ " );\n",
+ " } else {\n",
+ " canvas.setAttribute('width', width * fig.ratio);\n",
+ " canvas.setAttribute('height', height * fig.ratio);\n",
+ " }\n",
+ " canvas.setAttribute(\n",
+ " 'style',\n",
+ " 'width: ' + width + 'px; height: ' + height + 'px;'\n",
+ " );\n",
+ "\n",
+ " rubberband_canvas.setAttribute('width', width);\n",
+ " rubberband_canvas.setAttribute('height', height);\n",
+ "\n",
+ " // And update the size in Python. We ignore the initial 0/0 size\n",
+ " // that occurs as the element is placed into the DOM, which should\n",
+ " // otherwise not happen due to the minimum size styling.\n",
+ " if (fig.ws.readyState == 1 && width != 0 && height != 0) {\n",
+ " fig.request_resize(width, height);\n",
+ " }\n",
+ " }\n",
+ " });\n",
+ " this.resizeObserverInstance.observe(canvas_div);\n",
+ "\n",
+ " function on_mouse_event_closure(name) {\n",
+ " return function (event) {\n",
+ " return fig.mouse_event(event, name);\n",
+ " };\n",
+ " }\n",
+ "\n",
+ " rubberband_canvas.addEventListener(\n",
+ " 'mousedown',\n",
+ " on_mouse_event_closure('button_press')\n",
+ " );\n",
+ " rubberband_canvas.addEventListener(\n",
+ " 'mouseup',\n",
+ " on_mouse_event_closure('button_release')\n",
+ " );\n",
+ " rubberband_canvas.addEventListener(\n",
+ " 'dblclick',\n",
+ " on_mouse_event_closure('dblclick')\n",
+ " );\n",
+ " // Throttle sequential mouse events to 1 every 20ms.\n",
+ " rubberband_canvas.addEventListener(\n",
+ " 'mousemove',\n",
+ " on_mouse_event_closure('motion_notify')\n",
+ " );\n",
+ "\n",
+ " rubberband_canvas.addEventListener(\n",
+ " 'mouseenter',\n",
+ " on_mouse_event_closure('figure_enter')\n",
+ " );\n",
+ " rubberband_canvas.addEventListener(\n",
+ " 'mouseleave',\n",
+ " on_mouse_event_closure('figure_leave')\n",
+ " );\n",
+ "\n",
+ " canvas_div.addEventListener('wheel', function (event) {\n",
+ " if (event.deltaY < 0) {\n",
+ " event.step = 1;\n",
+ " } else {\n",
+ " event.step = -1;\n",
+ " }\n",
+ " on_mouse_event_closure('scroll')(event);\n",
+ " });\n",
+ "\n",
+ " canvas_div.appendChild(canvas);\n",
+ " canvas_div.appendChild(rubberband_canvas);\n",
+ "\n",
+ " this.rubberband_context = rubberband_canvas.getContext('2d');\n",
+ " this.rubberband_context.strokeStyle = '#000000';\n",
+ "\n",
+ " this._resize_canvas = function (width, height, forward) {\n",
+ " if (forward) {\n",
+ " canvas_div.style.width = width + 'px';\n",
+ " canvas_div.style.height = height + 'px';\n",
+ " }\n",
+ " };\n",
+ "\n",
+ " // Disable right mouse context menu.\n",
+ " this.rubberband_canvas.addEventListener('contextmenu', function (_e) {\n",
+ " event.preventDefault();\n",
+ " return false;\n",
+ " });\n",
+ "\n",
+ " function set_focus() {\n",
+ " canvas.focus();\n",
+ " canvas_div.focus();\n",
+ " }\n",
+ "\n",
+ " window.setTimeout(set_focus, 100);\n",
+ "};\n",
+ "\n",
+ "mpl.figure.prototype._init_toolbar = function () {\n",
+ " var fig = this;\n",
+ "\n",
+ " var toolbar = document.createElement('div');\n",
+ " toolbar.classList = 'mpl-toolbar';\n",
+ " this.root.appendChild(toolbar);\n",
+ "\n",
+ " function on_click_closure(name) {\n",
+ " return function (_event) {\n",
+ " return fig.toolbar_button_onclick(name);\n",
+ " };\n",
+ " }\n",
+ "\n",
+ " function on_mouseover_closure(tooltip) {\n",
+ " return function (event) {\n",
+ " if (!event.currentTarget.disabled) {\n",
+ " return fig.toolbar_button_onmouseover(tooltip);\n",
+ " }\n",
+ " };\n",
+ " }\n",
+ "\n",
+ " fig.buttons = {};\n",
+ " var buttonGroup = document.createElement('div');\n",
+ " buttonGroup.classList = 'mpl-button-group';\n",
+ " for (var toolbar_ind in mpl.toolbar_items) {\n",
+ " var name = mpl.toolbar_items[toolbar_ind][0];\n",
+ " var tooltip = mpl.toolbar_items[toolbar_ind][1];\n",
+ " var image = mpl.toolbar_items[toolbar_ind][2];\n",
+ " var method_name = mpl.toolbar_items[toolbar_ind][3];\n",
+ "\n",
+ " if (!name) {\n",
+ " /* Instead of a spacer, we start a new button group. */\n",
+ " if (buttonGroup.hasChildNodes()) {\n",
+ " toolbar.appendChild(buttonGroup);\n",
+ " }\n",
+ " buttonGroup = document.createElement('div');\n",
+ " buttonGroup.classList = 'mpl-button-group';\n",
+ " continue;\n",
+ " }\n",
+ "\n",
+ " var button = (fig.buttons[name] = document.createElement('button'));\n",
+ " button.classList = 'mpl-widget';\n",
+ " button.setAttribute('role', 'button');\n",
+ " button.setAttribute('aria-disabled', 'false');\n",
+ " button.addEventListener('click', on_click_closure(method_name));\n",
+ " button.addEventListener('mouseover', on_mouseover_closure(tooltip));\n",
+ "\n",
+ " var icon_img = document.createElement('img');\n",
+ " icon_img.src = '_images/' + image + '.png';\n",
+ " icon_img.srcset = '_images/' + image + '_large.png 2x';\n",
+ " icon_img.alt = tooltip;\n",
+ " button.appendChild(icon_img);\n",
+ "\n",
+ " buttonGroup.appendChild(button);\n",
+ " }\n",
+ "\n",
+ " if (buttonGroup.hasChildNodes()) {\n",
+ " toolbar.appendChild(buttonGroup);\n",
+ " }\n",
+ "\n",
+ " var fmt_picker = document.createElement('select');\n",
+ " fmt_picker.classList = 'mpl-widget';\n",
+ " toolbar.appendChild(fmt_picker);\n",
+ " this.format_dropdown = fmt_picker;\n",
+ "\n",
+ " for (var ind in mpl.extensions) {\n",
+ " var fmt = mpl.extensions[ind];\n",
+ " var option = document.createElement('option');\n",
+ " option.selected = fmt === mpl.default_extension;\n",
+ " option.innerHTML = fmt;\n",
+ " fmt_picker.appendChild(option);\n",
+ " }\n",
+ "\n",
+ " var status_bar = document.createElement('span');\n",
+ " status_bar.classList = 'mpl-message';\n",
+ " toolbar.appendChild(status_bar);\n",
+ " this.message = status_bar;\n",
+ "};\n",
+ "\n",
+ "mpl.figure.prototype.request_resize = function (x_pixels, y_pixels) {\n",
+ " // Request matplotlib to resize the figure. Matplotlib will then trigger a resize in the client,\n",
+ " // which will in turn request a refresh of the image.\n",
+ " this.send_message('resize', { width: x_pixels, height: y_pixels });\n",
+ "};\n",
+ "\n",
+ "mpl.figure.prototype.send_message = function (type, properties) {\n",
+ " properties['type'] = type;\n",
+ " properties['figure_id'] = this.id;\n",
+ " this.ws.send(JSON.stringify(properties));\n",
+ "};\n",
+ "\n",
+ "mpl.figure.prototype.send_draw_message = function () {\n",
+ " if (!this.waiting) {\n",
+ " this.waiting = true;\n",
+ " this.ws.send(JSON.stringify({ type: 'draw', figure_id: this.id }));\n",
+ " }\n",
+ "};\n",
+ "\n",
+ "mpl.figure.prototype.handle_save = function (fig, _msg) {\n",
+ " var format_dropdown = fig.format_dropdown;\n",
+ " var format = format_dropdown.options[format_dropdown.selectedIndex].value;\n",
+ " fig.ondownload(fig, format);\n",
+ "};\n",
+ "\n",
+ "mpl.figure.prototype.handle_resize = function (fig, msg) {\n",
+ " var size = msg['size'];\n",
+ " if (size[0] !== fig.canvas.width || size[1] !== fig.canvas.height) {\n",
+ " fig._resize_canvas(size[0], size[1], msg['forward']);\n",
+ " fig.send_message('refresh', {});\n",
+ " }\n",
+ "};\n",
+ "\n",
+ "mpl.figure.prototype.handle_rubberband = function (fig, msg) {\n",
+ " var x0 = msg['x0'] / fig.ratio;\n",
+ " var y0 = (fig.canvas.height - msg['y0']) / fig.ratio;\n",
+ " var x1 = msg['x1'] / fig.ratio;\n",
+ " var y1 = (fig.canvas.height - msg['y1']) / fig.ratio;\n",
+ " x0 = Math.floor(x0) + 0.5;\n",
+ " y0 = Math.floor(y0) + 0.5;\n",
+ " x1 = Math.floor(x1) + 0.5;\n",
+ " y1 = Math.floor(y1) + 0.5;\n",
+ " var min_x = Math.min(x0, x1);\n",
+ " var min_y = Math.min(y0, y1);\n",
+ " var width = Math.abs(x1 - x0);\n",
+ " var height = Math.abs(y1 - y0);\n",
+ "\n",
+ " fig.rubberband_context.clearRect(\n",
+ " 0,\n",
+ " 0,\n",
+ " fig.canvas.width / fig.ratio,\n",
+ " fig.canvas.height / fig.ratio\n",
+ " );\n",
+ "\n",
+ " fig.rubberband_context.strokeRect(min_x, min_y, width, height);\n",
+ "};\n",
+ "\n",
+ "mpl.figure.prototype.handle_figure_label = function (fig, msg) {\n",
+ " // Updates the figure title.\n",
+ " fig.header.textContent = msg['label'];\n",
+ "};\n",
+ "\n",
+ "mpl.figure.prototype.handle_cursor = function (fig, msg) {\n",
+ " fig.rubberband_canvas.style.cursor = msg['cursor'];\n",
+ "};\n",
+ "\n",
+ "mpl.figure.prototype.handle_message = function (fig, msg) {\n",
+ " fig.message.textContent = msg['message'];\n",
+ "};\n",
+ "\n",
+ "mpl.figure.prototype.handle_draw = function (fig, _msg) {\n",
+ " // Request the server to send over a new figure.\n",
+ " fig.send_draw_message();\n",
+ "};\n",
+ "\n",
+ "mpl.figure.prototype.handle_image_mode = function (fig, msg) {\n",
+ " fig.image_mode = msg['mode'];\n",
+ "};\n",
+ "\n",
+ "mpl.figure.prototype.handle_history_buttons = function (fig, msg) {\n",
+ " for (var key in msg) {\n",
+ " if (!(key in fig.buttons)) {\n",
+ " continue;\n",
+ " }\n",
+ " fig.buttons[key].disabled = !msg[key];\n",
+ " fig.buttons[key].setAttribute('aria-disabled', !msg[key]);\n",
+ " }\n",
+ "};\n",
+ "\n",
+ "mpl.figure.prototype.handle_navigate_mode = function (fig, msg) {\n",
+ " if (msg['mode'] === 'PAN') {\n",
+ " fig.buttons['Pan'].classList.add('active');\n",
+ " fig.buttons['Zoom'].classList.remove('active');\n",
+ " } else if (msg['mode'] === 'ZOOM') {\n",
+ " fig.buttons['Pan'].classList.remove('active');\n",
+ " fig.buttons['Zoom'].classList.add('active');\n",
+ " } else {\n",
+ " fig.buttons['Pan'].classList.remove('active');\n",
+ " fig.buttons['Zoom'].classList.remove('active');\n",
+ " }\n",
+ "};\n",
+ "\n",
+ "mpl.figure.prototype.updated_canvas_event = function () {\n",
+ " // Called whenever the canvas gets updated.\n",
+ " this.send_message('ack', {});\n",
+ "};\n",
+ "\n",
+ "// A function to construct a web socket function for onmessage handling.\n",
+ "// Called in the figure constructor.\n",
+ "mpl.figure.prototype._make_on_message_function = function (fig) {\n",
+ " return function socket_on_message(evt) {\n",
+ " if (evt.data instanceof Blob) {\n",
+ " var img = evt.data;\n",
+ " if (img.type !== 'image/png') {\n",
+ " /* FIXME: We get \"Resource interpreted as Image but\n",
+ " * transferred with MIME type text/plain:\" errors on\n",
+ " * Chrome. But how to set the MIME type? It doesn't seem\n",
+ " * to be part of the websocket stream */\n",
+ " img.type = 'image/png';\n",
+ " }\n",
+ "\n",
+ " /* Free the memory for the previous frames */\n",
+ " if (fig.imageObj.src) {\n",
+ " (window.URL || window.webkitURL).revokeObjectURL(\n",
+ " fig.imageObj.src\n",
+ " );\n",
+ " }\n",
+ "\n",
+ " fig.imageObj.src = (window.URL || window.webkitURL).createObjectURL(\n",
+ " img\n",
+ " );\n",
+ " fig.updated_canvas_event();\n",
+ " fig.waiting = false;\n",
+ " return;\n",
+ " } else if (\n",
+ " typeof evt.data === 'string' &&\n",
+ " evt.data.slice(0, 21) === 'data:image/png;base64'\n",
+ " ) {\n",
+ " fig.imageObj.src = evt.data;\n",
+ " fig.updated_canvas_event();\n",
+ " fig.waiting = false;\n",
+ " return;\n",
+ " }\n",
+ "\n",
+ " var msg = JSON.parse(evt.data);\n",
+ " var msg_type = msg['type'];\n",
+ "\n",
+ " // Call the \"handle_{type}\" callback, which takes\n",
+ " // the figure and JSON message as its only arguments.\n",
+ " try {\n",
+ " var callback = fig['handle_' + msg_type];\n",
+ " } catch (e) {\n",
+ " console.log(\n",
+ " \"No handler for the '\" + msg_type + \"' message type: \",\n",
+ " msg\n",
+ " );\n",
+ " return;\n",
+ " }\n",
+ "\n",
+ " if (callback) {\n",
+ " try {\n",
+ " // console.log(\"Handling '\" + msg_type + \"' message: \", msg);\n",
+ " callback(fig, msg);\n",
+ " } catch (e) {\n",
+ " console.log(\n",
+ " \"Exception inside the 'handler_\" + msg_type + \"' callback:\",\n",
+ " e,\n",
+ " e.stack,\n",
+ " msg\n",
+ " );\n",
+ " }\n",
+ " }\n",
+ " };\n",
+ "};\n",
+ "\n",
+ "// from https://stackoverflow.com/questions/1114465/getting-mouse-location-in-canvas\n",
+ "mpl.findpos = function (e) {\n",
+ " //this section is from http://www.quirksmode.org/js/events_properties.html\n",
+ " var targ;\n",
+ " if (!e) {\n",
+ " e = window.event;\n",
+ " }\n",
+ " if (e.target) {\n",
+ " targ = e.target;\n",
+ " } else if (e.srcElement) {\n",
+ " targ = e.srcElement;\n",
+ " }\n",
+ " if (targ.nodeType === 3) {\n",
+ " // defeat Safari bug\n",
+ " targ = targ.parentNode;\n",
+ " }\n",
+ "\n",
+ " // pageX,Y are the mouse positions relative to the document\n",
+ " var boundingRect = targ.getBoundingClientRect();\n",
+ " var x = e.pageX - (boundingRect.left + document.body.scrollLeft);\n",
+ " var y = e.pageY - (boundingRect.top + document.body.scrollTop);\n",
+ "\n",
+ " return { x: x, y: y };\n",
+ "};\n",
+ "\n",
+ "/*\n",
+ " * return a copy of an object with only non-object keys\n",
+ " * we need this to avoid circular references\n",
+ " * https://stackoverflow.com/a/24161582/3208463\n",
+ " */\n",
+ "function simpleKeys(original) {\n",
+ " return Object.keys(original).reduce(function (obj, key) {\n",
+ " if (typeof original[key] !== 'object') {\n",
+ " obj[key] = original[key];\n",
+ " }\n",
+ " return obj;\n",
+ " }, {});\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype.mouse_event = function (event, name) {\n",
+ " var canvas_pos = mpl.findpos(event);\n",
+ "\n",
+ " if (name === 'button_press') {\n",
+ " this.canvas.focus();\n",
+ " this.canvas_div.focus();\n",
+ " }\n",
+ "\n",
+ " var x = canvas_pos.x * this.ratio;\n",
+ " var y = canvas_pos.y * this.ratio;\n",
+ "\n",
+ " this.send_message(name, {\n",
+ " x: x,\n",
+ " y: y,\n",
+ " button: event.button,\n",
+ " step: event.step,\n",
+ " guiEvent: simpleKeys(event),\n",
+ " });\n",
+ "\n",
+ " /* This prevents the web browser from automatically changing to\n",
+ " * the text insertion cursor when the button is pressed. We want\n",
+ " * to control all of the cursor setting manually through the\n",
+ " * 'cursor' event from matplotlib */\n",
+ " event.preventDefault();\n",
+ " return false;\n",
+ "};\n",
+ "\n",
+ "mpl.figure.prototype._key_event_extra = function (_event, _name) {\n",
+ " // Handle any extra behaviour associated with a key event\n",
+ "};\n",
+ "\n",
+ "mpl.figure.prototype.key_event = function (event, name) {\n",
+ " // Prevent repeat events\n",
+ " if (name === 'key_press') {\n",
+ " if (event.key === this._key) {\n",
+ " return;\n",
+ " } else {\n",
+ " this._key = event.key;\n",
+ " }\n",
+ " }\n",
+ " if (name === 'key_release') {\n",
+ " this._key = null;\n",
+ " }\n",
+ "\n",
+ " var value = '';\n",
+ " if (event.ctrlKey && event.key !== 'Control') {\n",
+ " value += 'ctrl+';\n",
+ " }\n",
+ " else if (event.altKey && event.key !== 'Alt') {\n",
+ " value += 'alt+';\n",
+ " }\n",
+ " else if (event.shiftKey && event.key !== 'Shift') {\n",
+ " value += 'shift+';\n",
+ " }\n",
+ "\n",
+ " value += 'k' + event.key;\n",
+ "\n",
+ " this._key_event_extra(event, name);\n",
+ "\n",
+ " this.send_message(name, { key: value, guiEvent: simpleKeys(event) });\n",
+ " return false;\n",
+ "};\n",
+ "\n",
+ "mpl.figure.prototype.toolbar_button_onclick = function (name) {\n",
+ " if (name === 'download') {\n",
+ " this.handle_save(this, null);\n",
+ " } else {\n",
+ " this.send_message('toolbar_button', { name: name });\n",
+ " }\n",
+ "};\n",
+ "\n",
+ "mpl.figure.prototype.toolbar_button_onmouseover = function (tooltip) {\n",
+ " this.message.textContent = tooltip;\n",
+ "};\n",
+ "\n",
+ "///////////////// REMAINING CONTENT GENERATED BY embed_js.py /////////////////\n",
+ "// prettier-ignore\n",
+ "var _JSXTOOLS_RESIZE_OBSERVER=function(A){var t,i=new WeakMap,n=new WeakMap,a=new WeakMap,r=new WeakMap,o=new Set;function s(e){if(!(this instanceof s))throw new TypeError(\"Constructor requires 'new' operator\");i.set(this,e)}function h(){throw new TypeError(\"Function is not a constructor\")}function c(e,t,i,n){e=0 in arguments?Number(arguments[0]):0,t=1 in arguments?Number(arguments[1]):0,i=2 in arguments?Number(arguments[2]):0,n=3 in arguments?Number(arguments[3]):0,this.right=(this.x=this.left=e)+(this.width=i),this.bottom=(this.y=this.top=t)+(this.height=n),Object.freeze(this)}function d(){t=requestAnimationFrame(d);var s=new WeakMap,p=new Set;o.forEach((function(t){r.get(t).forEach((function(i){var r=t instanceof window.SVGElement,o=a.get(t),d=r?0:parseFloat(o.paddingTop),f=r?0:parseFloat(o.paddingRight),l=r?0:parseFloat(o.paddingBottom),u=r?0:parseFloat(o.paddingLeft),g=r?0:parseFloat(o.borderTopWidth),m=r?0:parseFloat(o.borderRightWidth),w=r?0:parseFloat(o.borderBottomWidth),b=u+f,F=d+l,v=(r?0:parseFloat(o.borderLeftWidth))+m,W=g+w,y=r?0:t.offsetHeight-W-t.clientHeight,E=r?0:t.offsetWidth-v-t.clientWidth,R=b+v,z=F+W,M=r?t.width:parseFloat(o.width)-R-E,O=r?t.height:parseFloat(o.height)-z-y;if(n.has(t)){var k=n.get(t);if(k[0]===M&&k[1]===O)return}n.set(t,[M,O]);var S=Object.create(h.prototype);S.target=t,S.contentRect=new c(u,d,M,O),s.has(i)||(s.set(i,[]),p.add(i)),s.get(i).push(S)}))})),p.forEach((function(e){i.get(e).call(e,s.get(e),e)}))}return s.prototype.observe=function(i){if(i instanceof window.Element){r.has(i)||(r.set(i,new Set),o.add(i),a.set(i,window.getComputedStyle(i)));var n=r.get(i);n.has(this)||n.add(this),cancelAnimationFrame(t),t=requestAnimationFrame(d)}},s.prototype.unobserve=function(i){if(i instanceof window.Element&&r.has(i)){var n=r.get(i);n.has(this)&&(n.delete(this),n.size||(r.delete(i),o.delete(i))),n.size||r.delete(i),o.size||cancelAnimationFrame(t)}},A.DOMRectReadOnly=c,A.ResizeObserver=s,A.ResizeObserverEntry=h,A}; // eslint-disable-line\n",
+ "mpl.toolbar_items = [[\"Home\", \"Reset original view\", \"fa fa-home icon-home\", \"home\"], [\"Back\", \"Back to previous view\", \"fa fa-arrow-left icon-arrow-left\", \"back\"], [\"Forward\", \"Forward to next view\", \"fa fa-arrow-right icon-arrow-right\", \"forward\"], [\"\", \"\", \"\", \"\"], [\"Pan\", \"Left button pans, Right button zooms\\nx/y fixes axis, CTRL fixes aspect\", \"fa fa-arrows icon-move\", \"pan\"], [\"Zoom\", \"Zoom to rectangle\\nx/y fixes axis\", \"fa fa-square-o icon-check-empty\", \"zoom\"], [\"\", \"\", \"\", \"\"], [\"Download\", \"Download plot\", \"fa fa-floppy-o icon-save\", \"download\"]];\n",
+ "\n",
+ "mpl.extensions = [\"eps\", \"jpeg\", \"pgf\", \"pdf\", \"png\", \"ps\", \"raw\", \"svg\", \"tif\"];\n",
+ "\n",
+ "mpl.default_extension = \"png\";/* global mpl */\n",
+ "\n",
+ "var comm_websocket_adapter = function (comm) {\n",
+ " // Create a \"websocket\"-like object which calls the given IPython comm\n",
+ " // object with the appropriate methods. Currently this is a non binary\n",
+ " // socket, so there is still some room for performance tuning.\n",
+ " var ws = {};\n",
+ "\n",
+ " ws.binaryType = comm.kernel.ws.binaryType;\n",
+ " ws.readyState = comm.kernel.ws.readyState;\n",
+ " function updateReadyState(_event) {\n",
+ " if (comm.kernel.ws) {\n",
+ " ws.readyState = comm.kernel.ws.readyState;\n",
+ " } else {\n",
+ " ws.readyState = 3; // Closed state.\n",
+ " }\n",
+ " }\n",
+ " comm.kernel.ws.addEventListener('open', updateReadyState);\n",
+ " comm.kernel.ws.addEventListener('close', updateReadyState);\n",
+ " comm.kernel.ws.addEventListener('error', updateReadyState);\n",
+ "\n",
+ " ws.close = function () {\n",
+ " comm.close();\n",
+ " };\n",
+ " ws.send = function (m) {\n",
+ " //console.log('sending', m);\n",
+ " comm.send(m);\n",
+ " };\n",
+ " // Register the callback with on_msg.\n",
+ " comm.on_msg(function (msg) {\n",
+ " //console.log('receiving', msg['content']['data'], msg);\n",
+ " var data = msg['content']['data'];\n",
+ " if (data['blob'] !== undefined) {\n",
+ " data = {\n",
+ " data: new Blob(msg['buffers'], { type: data['blob'] }),\n",
+ " };\n",
+ " }\n",
+ " // Pass the mpl event to the overridden (by mpl) onmessage function.\n",
+ " ws.onmessage(data);\n",
+ " });\n",
+ " return ws;\n",
+ "};\n",
+ "\n",
+ "mpl.mpl_figure_comm = function (comm, msg) {\n",
+ " // This is the function which gets called when the mpl process\n",
+ " // starts-up an IPython Comm through the \"matplotlib\" channel.\n",
+ "\n",
+ " var id = msg.content.data.id;\n",
+ " // Get hold of the div created by the display call when the Comm\n",
+ " // socket was opened in Python.\n",
+ " var element = document.getElementById(id);\n",
+ " var ws_proxy = comm_websocket_adapter(comm);\n",
+ "\n",
+ " function ondownload(figure, _format) {\n",
+ " window.open(figure.canvas.toDataURL());\n",
+ " }\n",
+ "\n",
+ " var fig = new mpl.figure(id, ws_proxy, ondownload, element);\n",
+ "\n",
+ " // Call onopen now - mpl needs it, as it is assuming we've passed it a real\n",
+ " // web socket which is closed, not our websocket->open comm proxy.\n",
+ " ws_proxy.onopen();\n",
+ "\n",
+ " fig.parent_element = element;\n",
+ " fig.cell_info = mpl.find_output_cell(\"\");\n",
+ " if (!fig.cell_info) {\n",
+ " console.error('Failed to find cell for figure', id, fig);\n",
+ " return;\n",
+ " }\n",
+ " fig.cell_info[0].output_area.element.on(\n",
+ " 'cleared',\n",
+ " { fig: fig },\n",
+ " fig._remove_fig_handler\n",
+ " );\n",
+ "};\n",
+ "\n",
+ "mpl.figure.prototype.handle_close = function (fig, msg) {\n",
+ " var width = fig.canvas.width / fig.ratio;\n",
+ " fig.cell_info[0].output_area.element.off(\n",
+ " 'cleared',\n",
+ " fig._remove_fig_handler\n",
+ " );\n",
+ " fig.resizeObserverInstance.unobserve(fig.canvas_div);\n",
+ "\n",
+ " // Update the output cell to use the data from the current canvas.\n",
+ " fig.push_to_output();\n",
+ " var dataURL = fig.canvas.toDataURL();\n",
+ " // Re-enable the keyboard manager in IPython - without this line, in FF,\n",
+ " // the notebook keyboard shortcuts fail.\n",
+ " IPython.keyboard_manager.enable();\n",
+ " fig.parent_element.innerHTML =\n",
+ " '
';\n",
+ " fig.close_ws(fig, msg);\n",
+ "};\n",
+ "\n",
+ "mpl.figure.prototype.close_ws = function (fig, msg) {\n",
+ " fig.send_message('closing', msg);\n",
+ " // fig.ws.close()\n",
+ "};\n",
+ "\n",
+ "mpl.figure.prototype.push_to_output = function (_remove_interactive) {\n",
+ " // Turn the data on the canvas into data in the output cell.\n",
+ " var width = this.canvas.width / this.ratio;\n",
+ " var dataURL = this.canvas.toDataURL();\n",
+ " this.cell_info[1]['text/html'] =\n",
+ " '
';\n",
+ "};\n",
+ "\n",
+ "mpl.figure.prototype.updated_canvas_event = function () {\n",
+ " // Tell IPython that the notebook contents must change.\n",
+ " IPython.notebook.set_dirty(true);\n",
+ " this.send_message('ack', {});\n",
+ " var fig = this;\n",
+ " // Wait a second, then push the new image to the DOM so\n",
+ " // that it is saved nicely (might be nice to debounce this).\n",
+ " setTimeout(function () {\n",
+ " fig.push_to_output();\n",
+ " }, 1000);\n",
+ "};\n",
+ "\n",
+ "mpl.figure.prototype._init_toolbar = function () {\n",
+ " var fig = this;\n",
+ "\n",
+ " var toolbar = document.createElement('div');\n",
+ " toolbar.classList = 'btn-toolbar';\n",
+ " this.root.appendChild(toolbar);\n",
+ "\n",
+ " function on_click_closure(name) {\n",
+ " return function (_event) {\n",
+ " return fig.toolbar_button_onclick(name);\n",
+ " };\n",
+ " }\n",
+ "\n",
+ " function on_mouseover_closure(tooltip) {\n",
+ " return function (event) {\n",
+ " if (!event.currentTarget.disabled) {\n",
+ " return fig.toolbar_button_onmouseover(tooltip);\n",
+ " }\n",
+ " };\n",
+ " }\n",
+ "\n",
+ " fig.buttons = {};\n",
+ " var buttonGroup = document.createElement('div');\n",
+ " buttonGroup.classList = 'btn-group';\n",
+ " var button;\n",
+ " for (var toolbar_ind in mpl.toolbar_items) {\n",
+ " var name = mpl.toolbar_items[toolbar_ind][0];\n",
+ " var tooltip = mpl.toolbar_items[toolbar_ind][1];\n",
+ " var image = mpl.toolbar_items[toolbar_ind][2];\n",
+ " var method_name = mpl.toolbar_items[toolbar_ind][3];\n",
+ "\n",
+ " if (!name) {\n",
+ " /* Instead of a spacer, we start a new button group. */\n",
+ " if (buttonGroup.hasChildNodes()) {\n",
+ " toolbar.appendChild(buttonGroup);\n",
+ " }\n",
+ " buttonGroup = document.createElement('div');\n",
+ " buttonGroup.classList = 'btn-group';\n",
+ " continue;\n",
+ " }\n",
+ "\n",
+ " button = fig.buttons[name] = document.createElement('button');\n",
+ " button.classList = 'btn btn-default';\n",
+ " button.href = '#';\n",
+ " button.title = name;\n",
+ " button.innerHTML = '';\n",
+ " button.addEventListener('click', on_click_closure(method_name));\n",
+ " button.addEventListener('mouseover', on_mouseover_closure(tooltip));\n",
+ " buttonGroup.appendChild(button);\n",
+ " }\n",
+ "\n",
+ " if (buttonGroup.hasChildNodes()) {\n",
+ " toolbar.appendChild(buttonGroup);\n",
+ " }\n",
+ "\n",
+ " // Add the status bar.\n",
+ " var status_bar = document.createElement('span');\n",
+ " status_bar.classList = 'mpl-message pull-right';\n",
+ " toolbar.appendChild(status_bar);\n",
+ " this.message = status_bar;\n",
+ "\n",
+ " // Add the close button to the window.\n",
+ " var buttongrp = document.createElement('div');\n",
+ " buttongrp.classList = 'btn-group inline pull-right';\n",
+ " button = document.createElement('button');\n",
+ " button.classList = 'btn btn-mini btn-primary';\n",
+ " button.href = '#';\n",
+ " button.title = 'Stop Interaction';\n",
+ " button.innerHTML = '';\n",
+ " button.addEventListener('click', function (_evt) {\n",
+ " fig.handle_close(fig, {});\n",
+ " });\n",
+ " button.addEventListener(\n",
+ " 'mouseover',\n",
+ " on_mouseover_closure('Stop Interaction')\n",
+ " );\n",
+ " buttongrp.appendChild(button);\n",
+ " var titlebar = this.root.querySelector('.ui-dialog-titlebar');\n",
+ " titlebar.insertBefore(buttongrp, titlebar.firstChild);\n",
+ "};\n",
+ "\n",
+ "mpl.figure.prototype._remove_fig_handler = function (event) {\n",
+ " var fig = event.data.fig;\n",
+ " if (event.target !== this) {\n",
+ " // Ignore bubbled events from children.\n",
+ " return;\n",
+ " }\n",
+ " fig.close_ws(fig, {});\n",
+ "};\n",
+ "\n",
+ "mpl.figure.prototype._root_extra_style = function (el) {\n",
+ " el.style.boxSizing = 'content-box'; // override notebook setting of border-box.\n",
+ "};\n",
+ "\n",
+ "mpl.figure.prototype._canvas_extra_style = function (el) {\n",
+ " // this is important to make the div 'focusable\n",
+ " el.setAttribute('tabindex', 0);\n",
+ " // reach out to IPython and tell the keyboard manager to turn it's self\n",
+ " // off when our div gets focus\n",
+ "\n",
+ " // location in version 3\n",
+ " if (IPython.notebook.keyboard_manager) {\n",
+ " IPython.notebook.keyboard_manager.register_events(el);\n",
+ " } else {\n",
+ " // location in version 2\n",
+ " IPython.keyboard_manager.register_events(el);\n",
+ " }\n",
+ "};\n",
+ "\n",
+ "mpl.figure.prototype._key_event_extra = function (event, _name) {\n",
+ " // Check for shift+enter\n",
+ " if (event.shiftKey && event.which === 13) {\n",
+ " this.canvas_div.blur();\n",
+ " // select the cell after this one\n",
+ " var index = IPython.notebook.find_cell_index(this.cell_info[0]);\n",
+ " IPython.notebook.select(index + 1);\n",
+ " }\n",
+ "};\n",
+ "\n",
+ "mpl.figure.prototype.handle_save = function (fig, _msg) {\n",
+ " fig.ondownload(fig, null);\n",
+ "};\n",
+ "\n",
+ "mpl.find_output_cell = function (html_output) {\n",
+ " // Return the cell and output element which can be found *uniquely* in the notebook.\n",
+ " // Note - this is a bit hacky, but it is done because the \"notebook_saving.Notebook\"\n",
+ " // IPython event is triggered only after the cells have been serialised, which for\n",
+ " // our purposes (turning an active figure into a static one), is too late.\n",
+ " var cells = IPython.notebook.get_cells();\n",
+ " var ncells = cells.length;\n",
+ " for (var i = 0; i < ncells; i++) {\n",
+ " var cell = cells[i];\n",
+ " if (cell.cell_type === 'code') {\n",
+ " for (var j = 0; j < cell.output_area.outputs.length; j++) {\n",
+ " var data = cell.output_area.outputs[j];\n",
+ " if (data.data) {\n",
+ " // IPython >= 3 moved mimebundle to data attribute of output\n",
+ " data = data.data;\n",
+ " }\n",
+ " if (data['text/html'] === html_output) {\n",
+ " return [cell, data, j];\n",
+ " }\n",
+ " }\n",
+ " }\n",
+ " }\n",
+ "};\n",
+ "\n",
+ "// Register the function which deals with the matplotlib target/channel.\n",
+ "// The kernel may be null if the page has been refreshed.\n",
+ "if (IPython.notebook.kernel !== null) {\n",
+ " IPython.notebook.kernel.comm_manager.register_target(\n",
+ " 'matplotlib',\n",
+ " mpl.mpl_figure_comm\n",
+ " );\n",
+ "}\n"
+ ],
+ "text/plain": [
+ ""
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ },
+ {
+ "data": {
+ "text/html": [
+ "
"
+ ],
+ "text/plain": [
+ ""
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ }
+ ],
"source": [
- "plt.plot(x,y,color='blue',marker='o',ms=6,linestyle='None')"
+ "plt.plot(x,y,color='pink',marker='o',ms=6,linestyle='None')\n",
+ "plt.show()"
]
},
{
@@ -451,9 +2449,1005 @@
},
{
"cell_type": "code",
- "execution_count": null,
+ "execution_count": 24,
"metadata": {},
- "outputs": [],
+ "outputs": [
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "C:\\Users\\Shengqi Yang\\anaconda3\\lib\\site-packages\\ipykernel_launcher.py:1: RuntimeWarning: divide by zero encountered in log10\n",
+ " \"\"\"Entry point for launching an IPython kernel.\n"
+ ]
+ },
+ {
+ "data": {
+ "application/javascript": [
+ "/* Put everything inside the global mpl namespace */\n",
+ "/* global mpl */\n",
+ "window.mpl = {};\n",
+ "\n",
+ "mpl.get_websocket_type = function () {\n",
+ " if (typeof WebSocket !== 'undefined') {\n",
+ " return WebSocket;\n",
+ " } else if (typeof MozWebSocket !== 'undefined') {\n",
+ " return MozWebSocket;\n",
+ " } else {\n",
+ " alert(\n",
+ " 'Your browser does not have WebSocket support. ' +\n",
+ " 'Please try Chrome, Safari or Firefox ≥ 6. ' +\n",
+ " 'Firefox 4 and 5 are also supported but you ' +\n",
+ " 'have to enable WebSockets in about:config.'\n",
+ " );\n",
+ " }\n",
+ "};\n",
+ "\n",
+ "mpl.figure = function (figure_id, websocket, ondownload, parent_element) {\n",
+ " this.id = figure_id;\n",
+ "\n",
+ " this.ws = websocket;\n",
+ "\n",
+ " this.supports_binary = this.ws.binaryType !== undefined;\n",
+ "\n",
+ " if (!this.supports_binary) {\n",
+ " var warnings = document.getElementById('mpl-warnings');\n",
+ " if (warnings) {\n",
+ " warnings.style.display = 'block';\n",
+ " warnings.textContent =\n",
+ " 'This browser does not support binary websocket messages. ' +\n",
+ " 'Performance may be slow.';\n",
+ " }\n",
+ " }\n",
+ "\n",
+ " this.imageObj = new Image();\n",
+ "\n",
+ " this.context = undefined;\n",
+ " this.message = undefined;\n",
+ " this.canvas = undefined;\n",
+ " this.rubberband_canvas = undefined;\n",
+ " this.rubberband_context = undefined;\n",
+ " this.format_dropdown = undefined;\n",
+ "\n",
+ " this.image_mode = 'full';\n",
+ "\n",
+ " this.root = document.createElement('div');\n",
+ " this.root.setAttribute('style', 'display: inline-block');\n",
+ " this._root_extra_style(this.root);\n",
+ "\n",
+ " parent_element.appendChild(this.root);\n",
+ "\n",
+ " this._init_header(this);\n",
+ " this._init_canvas(this);\n",
+ " this._init_toolbar(this);\n",
+ "\n",
+ " var fig = this;\n",
+ "\n",
+ " this.waiting = false;\n",
+ "\n",
+ " this.ws.onopen = function () {\n",
+ " fig.send_message('supports_binary', { value: fig.supports_binary });\n",
+ " fig.send_message('send_image_mode', {});\n",
+ " if (fig.ratio !== 1) {\n",
+ " fig.send_message('set_device_pixel_ratio', {\n",
+ " device_pixel_ratio: fig.ratio,\n",
+ " });\n",
+ " }\n",
+ " fig.send_message('refresh', {});\n",
+ " };\n",
+ "\n",
+ " this.imageObj.onload = function () {\n",
+ " if (fig.image_mode === 'full') {\n",
+ " // Full images could contain transparency (where diff images\n",
+ " // almost always do), so we need to clear the canvas so that\n",
+ " // there is no ghosting.\n",
+ " fig.context.clearRect(0, 0, fig.canvas.width, fig.canvas.height);\n",
+ " }\n",
+ " fig.context.drawImage(fig.imageObj, 0, 0);\n",
+ " };\n",
+ "\n",
+ " this.imageObj.onunload = function () {\n",
+ " fig.ws.close();\n",
+ " };\n",
+ "\n",
+ " this.ws.onmessage = this._make_on_message_function(this);\n",
+ "\n",
+ " this.ondownload = ondownload;\n",
+ "};\n",
+ "\n",
+ "mpl.figure.prototype._init_header = function () {\n",
+ " var titlebar = document.createElement('div');\n",
+ " titlebar.classList =\n",
+ " 'ui-dialog-titlebar ui-widget-header ui-corner-all ui-helper-clearfix';\n",
+ " var titletext = document.createElement('div');\n",
+ " titletext.classList = 'ui-dialog-title';\n",
+ " titletext.setAttribute(\n",
+ " 'style',\n",
+ " 'width: 100%; text-align: center; padding: 3px;'\n",
+ " );\n",
+ " titlebar.appendChild(titletext);\n",
+ " this.root.appendChild(titlebar);\n",
+ " this.header = titletext;\n",
+ "};\n",
+ "\n",
+ "mpl.figure.prototype._canvas_extra_style = function (_canvas_div) {};\n",
+ "\n",
+ "mpl.figure.prototype._root_extra_style = function (_canvas_div) {};\n",
+ "\n",
+ "mpl.figure.prototype._init_canvas = function () {\n",
+ " var fig = this;\n",
+ "\n",
+ " var canvas_div = (this.canvas_div = document.createElement('div'));\n",
+ " canvas_div.setAttribute(\n",
+ " 'style',\n",
+ " 'border: 1px solid #ddd;' +\n",
+ " 'box-sizing: content-box;' +\n",
+ " 'clear: both;' +\n",
+ " 'min-height: 1px;' +\n",
+ " 'min-width: 1px;' +\n",
+ " 'outline: 0;' +\n",
+ " 'overflow: hidden;' +\n",
+ " 'position: relative;' +\n",
+ " 'resize: both;'\n",
+ " );\n",
+ "\n",
+ " function on_keyboard_event_closure(name) {\n",
+ " return function (event) {\n",
+ " return fig.key_event(event, name);\n",
+ " };\n",
+ " }\n",
+ "\n",
+ " canvas_div.addEventListener(\n",
+ " 'keydown',\n",
+ " on_keyboard_event_closure('key_press')\n",
+ " );\n",
+ " canvas_div.addEventListener(\n",
+ " 'keyup',\n",
+ " on_keyboard_event_closure('key_release')\n",
+ " );\n",
+ "\n",
+ " this._canvas_extra_style(canvas_div);\n",
+ " this.root.appendChild(canvas_div);\n",
+ "\n",
+ " var canvas = (this.canvas = document.createElement('canvas'));\n",
+ " canvas.classList.add('mpl-canvas');\n",
+ " canvas.setAttribute('style', 'box-sizing: content-box;');\n",
+ "\n",
+ " this.context = canvas.getContext('2d');\n",
+ "\n",
+ " var backingStore =\n",
+ " this.context.backingStorePixelRatio ||\n",
+ " this.context.webkitBackingStorePixelRatio ||\n",
+ " this.context.mozBackingStorePixelRatio ||\n",
+ " this.context.msBackingStorePixelRatio ||\n",
+ " this.context.oBackingStorePixelRatio ||\n",
+ " this.context.backingStorePixelRatio ||\n",
+ " 1;\n",
+ "\n",
+ " this.ratio = (window.devicePixelRatio || 1) / backingStore;\n",
+ "\n",
+ " var rubberband_canvas = (this.rubberband_canvas = document.createElement(\n",
+ " 'canvas'\n",
+ " ));\n",
+ " rubberband_canvas.setAttribute(\n",
+ " 'style',\n",
+ " 'box-sizing: content-box; position: absolute; left: 0; top: 0; z-index: 1;'\n",
+ " );\n",
+ "\n",
+ " // Apply a ponyfill if ResizeObserver is not implemented by browser.\n",
+ " if (this.ResizeObserver === undefined) {\n",
+ " if (window.ResizeObserver !== undefined) {\n",
+ " this.ResizeObserver = window.ResizeObserver;\n",
+ " } else {\n",
+ " var obs = _JSXTOOLS_RESIZE_OBSERVER({});\n",
+ " this.ResizeObserver = obs.ResizeObserver;\n",
+ " }\n",
+ " }\n",
+ "\n",
+ " this.resizeObserverInstance = new this.ResizeObserver(function (entries) {\n",
+ " var nentries = entries.length;\n",
+ " for (var i = 0; i < nentries; i++) {\n",
+ " var entry = entries[i];\n",
+ " var width, height;\n",
+ " if (entry.contentBoxSize) {\n",
+ " if (entry.contentBoxSize instanceof Array) {\n",
+ " // Chrome 84 implements new version of spec.\n",
+ " width = entry.contentBoxSize[0].inlineSize;\n",
+ " height = entry.contentBoxSize[0].blockSize;\n",
+ " } else {\n",
+ " // Firefox implements old version of spec.\n",
+ " width = entry.contentBoxSize.inlineSize;\n",
+ " height = entry.contentBoxSize.blockSize;\n",
+ " }\n",
+ " } else {\n",
+ " // Chrome <84 implements even older version of spec.\n",
+ " width = entry.contentRect.width;\n",
+ " height = entry.contentRect.height;\n",
+ " }\n",
+ "\n",
+ " // Keep the size of the canvas and rubber band canvas in sync with\n",
+ " // the canvas container.\n",
+ " if (entry.devicePixelContentBoxSize) {\n",
+ " // Chrome 84 implements new version of spec.\n",
+ " canvas.setAttribute(\n",
+ " 'width',\n",
+ " entry.devicePixelContentBoxSize[0].inlineSize\n",
+ " );\n",
+ " canvas.setAttribute(\n",
+ " 'height',\n",
+ " entry.devicePixelContentBoxSize[0].blockSize\n",
+ " );\n",
+ " } else {\n",
+ " canvas.setAttribute('width', width * fig.ratio);\n",
+ " canvas.setAttribute('height', height * fig.ratio);\n",
+ " }\n",
+ " canvas.setAttribute(\n",
+ " 'style',\n",
+ " 'width: ' + width + 'px; height: ' + height + 'px;'\n",
+ " );\n",
+ "\n",
+ " rubberband_canvas.setAttribute('width', width);\n",
+ " rubberband_canvas.setAttribute('height', height);\n",
+ "\n",
+ " // And update the size in Python. We ignore the initial 0/0 size\n",
+ " // that occurs as the element is placed into the DOM, which should\n",
+ " // otherwise not happen due to the minimum size styling.\n",
+ " if (fig.ws.readyState == 1 && width != 0 && height != 0) {\n",
+ " fig.request_resize(width, height);\n",
+ " }\n",
+ " }\n",
+ " });\n",
+ " this.resizeObserverInstance.observe(canvas_div);\n",
+ "\n",
+ " function on_mouse_event_closure(name) {\n",
+ " return function (event) {\n",
+ " return fig.mouse_event(event, name);\n",
+ " };\n",
+ " }\n",
+ "\n",
+ " rubberband_canvas.addEventListener(\n",
+ " 'mousedown',\n",
+ " on_mouse_event_closure('button_press')\n",
+ " );\n",
+ " rubberband_canvas.addEventListener(\n",
+ " 'mouseup',\n",
+ " on_mouse_event_closure('button_release')\n",
+ " );\n",
+ " rubberband_canvas.addEventListener(\n",
+ " 'dblclick',\n",
+ " on_mouse_event_closure('dblclick')\n",
+ " );\n",
+ " // Throttle sequential mouse events to 1 every 20ms.\n",
+ " rubberband_canvas.addEventListener(\n",
+ " 'mousemove',\n",
+ " on_mouse_event_closure('motion_notify')\n",
+ " );\n",
+ "\n",
+ " rubberband_canvas.addEventListener(\n",
+ " 'mouseenter',\n",
+ " on_mouse_event_closure('figure_enter')\n",
+ " );\n",
+ " rubberband_canvas.addEventListener(\n",
+ " 'mouseleave',\n",
+ " on_mouse_event_closure('figure_leave')\n",
+ " );\n",
+ "\n",
+ " canvas_div.addEventListener('wheel', function (event) {\n",
+ " if (event.deltaY < 0) {\n",
+ " event.step = 1;\n",
+ " } else {\n",
+ " event.step = -1;\n",
+ " }\n",
+ " on_mouse_event_closure('scroll')(event);\n",
+ " });\n",
+ "\n",
+ " canvas_div.appendChild(canvas);\n",
+ " canvas_div.appendChild(rubberband_canvas);\n",
+ "\n",
+ " this.rubberband_context = rubberband_canvas.getContext('2d');\n",
+ " this.rubberband_context.strokeStyle = '#000000';\n",
+ "\n",
+ " this._resize_canvas = function (width, height, forward) {\n",
+ " if (forward) {\n",
+ " canvas_div.style.width = width + 'px';\n",
+ " canvas_div.style.height = height + 'px';\n",
+ " }\n",
+ " };\n",
+ "\n",
+ " // Disable right mouse context menu.\n",
+ " this.rubberband_canvas.addEventListener('contextmenu', function (_e) {\n",
+ " event.preventDefault();\n",
+ " return false;\n",
+ " });\n",
+ "\n",
+ " function set_focus() {\n",
+ " canvas.focus();\n",
+ " canvas_div.focus();\n",
+ " }\n",
+ "\n",
+ " window.setTimeout(set_focus, 100);\n",
+ "};\n",
+ "\n",
+ "mpl.figure.prototype._init_toolbar = function () {\n",
+ " var fig = this;\n",
+ "\n",
+ " var toolbar = document.createElement('div');\n",
+ " toolbar.classList = 'mpl-toolbar';\n",
+ " this.root.appendChild(toolbar);\n",
+ "\n",
+ " function on_click_closure(name) {\n",
+ " return function (_event) {\n",
+ " return fig.toolbar_button_onclick(name);\n",
+ " };\n",
+ " }\n",
+ "\n",
+ " function on_mouseover_closure(tooltip) {\n",
+ " return function (event) {\n",
+ " if (!event.currentTarget.disabled) {\n",
+ " return fig.toolbar_button_onmouseover(tooltip);\n",
+ " }\n",
+ " };\n",
+ " }\n",
+ "\n",
+ " fig.buttons = {};\n",
+ " var buttonGroup = document.createElement('div');\n",
+ " buttonGroup.classList = 'mpl-button-group';\n",
+ " for (var toolbar_ind in mpl.toolbar_items) {\n",
+ " var name = mpl.toolbar_items[toolbar_ind][0];\n",
+ " var tooltip = mpl.toolbar_items[toolbar_ind][1];\n",
+ " var image = mpl.toolbar_items[toolbar_ind][2];\n",
+ " var method_name = mpl.toolbar_items[toolbar_ind][3];\n",
+ "\n",
+ " if (!name) {\n",
+ " /* Instead of a spacer, we start a new button group. */\n",
+ " if (buttonGroup.hasChildNodes()) {\n",
+ " toolbar.appendChild(buttonGroup);\n",
+ " }\n",
+ " buttonGroup = document.createElement('div');\n",
+ " buttonGroup.classList = 'mpl-button-group';\n",
+ " continue;\n",
+ " }\n",
+ "\n",
+ " var button = (fig.buttons[name] = document.createElement('button'));\n",
+ " button.classList = 'mpl-widget';\n",
+ " button.setAttribute('role', 'button');\n",
+ " button.setAttribute('aria-disabled', 'false');\n",
+ " button.addEventListener('click', on_click_closure(method_name));\n",
+ " button.addEventListener('mouseover', on_mouseover_closure(tooltip));\n",
+ "\n",
+ " var icon_img = document.createElement('img');\n",
+ " icon_img.src = '_images/' + image + '.png';\n",
+ " icon_img.srcset = '_images/' + image + '_large.png 2x';\n",
+ " icon_img.alt = tooltip;\n",
+ " button.appendChild(icon_img);\n",
+ "\n",
+ " buttonGroup.appendChild(button);\n",
+ " }\n",
+ "\n",
+ " if (buttonGroup.hasChildNodes()) {\n",
+ " toolbar.appendChild(buttonGroup);\n",
+ " }\n",
+ "\n",
+ " var fmt_picker = document.createElement('select');\n",
+ " fmt_picker.classList = 'mpl-widget';\n",
+ " toolbar.appendChild(fmt_picker);\n",
+ " this.format_dropdown = fmt_picker;\n",
+ "\n",
+ " for (var ind in mpl.extensions) {\n",
+ " var fmt = mpl.extensions[ind];\n",
+ " var option = document.createElement('option');\n",
+ " option.selected = fmt === mpl.default_extension;\n",
+ " option.innerHTML = fmt;\n",
+ " fmt_picker.appendChild(option);\n",
+ " }\n",
+ "\n",
+ " var status_bar = document.createElement('span');\n",
+ " status_bar.classList = 'mpl-message';\n",
+ " toolbar.appendChild(status_bar);\n",
+ " this.message = status_bar;\n",
+ "};\n",
+ "\n",
+ "mpl.figure.prototype.request_resize = function (x_pixels, y_pixels) {\n",
+ " // Request matplotlib to resize the figure. Matplotlib will then trigger a resize in the client,\n",
+ " // which will in turn request a refresh of the image.\n",
+ " this.send_message('resize', { width: x_pixels, height: y_pixels });\n",
+ "};\n",
+ "\n",
+ "mpl.figure.prototype.send_message = function (type, properties) {\n",
+ " properties['type'] = type;\n",
+ " properties['figure_id'] = this.id;\n",
+ " this.ws.send(JSON.stringify(properties));\n",
+ "};\n",
+ "\n",
+ "mpl.figure.prototype.send_draw_message = function () {\n",
+ " if (!this.waiting) {\n",
+ " this.waiting = true;\n",
+ " this.ws.send(JSON.stringify({ type: 'draw', figure_id: this.id }));\n",
+ " }\n",
+ "};\n",
+ "\n",
+ "mpl.figure.prototype.handle_save = function (fig, _msg) {\n",
+ " var format_dropdown = fig.format_dropdown;\n",
+ " var format = format_dropdown.options[format_dropdown.selectedIndex].value;\n",
+ " fig.ondownload(fig, format);\n",
+ "};\n",
+ "\n",
+ "mpl.figure.prototype.handle_resize = function (fig, msg) {\n",
+ " var size = msg['size'];\n",
+ " if (size[0] !== fig.canvas.width || size[1] !== fig.canvas.height) {\n",
+ " fig._resize_canvas(size[0], size[1], msg['forward']);\n",
+ " fig.send_message('refresh', {});\n",
+ " }\n",
+ "};\n",
+ "\n",
+ "mpl.figure.prototype.handle_rubberband = function (fig, msg) {\n",
+ " var x0 = msg['x0'] / fig.ratio;\n",
+ " var y0 = (fig.canvas.height - msg['y0']) / fig.ratio;\n",
+ " var x1 = msg['x1'] / fig.ratio;\n",
+ " var y1 = (fig.canvas.height - msg['y1']) / fig.ratio;\n",
+ " x0 = Math.floor(x0) + 0.5;\n",
+ " y0 = Math.floor(y0) + 0.5;\n",
+ " x1 = Math.floor(x1) + 0.5;\n",
+ " y1 = Math.floor(y1) + 0.5;\n",
+ " var min_x = Math.min(x0, x1);\n",
+ " var min_y = Math.min(y0, y1);\n",
+ " var width = Math.abs(x1 - x0);\n",
+ " var height = Math.abs(y1 - y0);\n",
+ "\n",
+ " fig.rubberband_context.clearRect(\n",
+ " 0,\n",
+ " 0,\n",
+ " fig.canvas.width / fig.ratio,\n",
+ " fig.canvas.height / fig.ratio\n",
+ " );\n",
+ "\n",
+ " fig.rubberband_context.strokeRect(min_x, min_y, width, height);\n",
+ "};\n",
+ "\n",
+ "mpl.figure.prototype.handle_figure_label = function (fig, msg) {\n",
+ " // Updates the figure title.\n",
+ " fig.header.textContent = msg['label'];\n",
+ "};\n",
+ "\n",
+ "mpl.figure.prototype.handle_cursor = function (fig, msg) {\n",
+ " fig.rubberband_canvas.style.cursor = msg['cursor'];\n",
+ "};\n",
+ "\n",
+ "mpl.figure.prototype.handle_message = function (fig, msg) {\n",
+ " fig.message.textContent = msg['message'];\n",
+ "};\n",
+ "\n",
+ "mpl.figure.prototype.handle_draw = function (fig, _msg) {\n",
+ " // Request the server to send over a new figure.\n",
+ " fig.send_draw_message();\n",
+ "};\n",
+ "\n",
+ "mpl.figure.prototype.handle_image_mode = function (fig, msg) {\n",
+ " fig.image_mode = msg['mode'];\n",
+ "};\n",
+ "\n",
+ "mpl.figure.prototype.handle_history_buttons = function (fig, msg) {\n",
+ " for (var key in msg) {\n",
+ " if (!(key in fig.buttons)) {\n",
+ " continue;\n",
+ " }\n",
+ " fig.buttons[key].disabled = !msg[key];\n",
+ " fig.buttons[key].setAttribute('aria-disabled', !msg[key]);\n",
+ " }\n",
+ "};\n",
+ "\n",
+ "mpl.figure.prototype.handle_navigate_mode = function (fig, msg) {\n",
+ " if (msg['mode'] === 'PAN') {\n",
+ " fig.buttons['Pan'].classList.add('active');\n",
+ " fig.buttons['Zoom'].classList.remove('active');\n",
+ " } else if (msg['mode'] === 'ZOOM') {\n",
+ " fig.buttons['Pan'].classList.remove('active');\n",
+ " fig.buttons['Zoom'].classList.add('active');\n",
+ " } else {\n",
+ " fig.buttons['Pan'].classList.remove('active');\n",
+ " fig.buttons['Zoom'].classList.remove('active');\n",
+ " }\n",
+ "};\n",
+ "\n",
+ "mpl.figure.prototype.updated_canvas_event = function () {\n",
+ " // Called whenever the canvas gets updated.\n",
+ " this.send_message('ack', {});\n",
+ "};\n",
+ "\n",
+ "// A function to construct a web socket function for onmessage handling.\n",
+ "// Called in the figure constructor.\n",
+ "mpl.figure.prototype._make_on_message_function = function (fig) {\n",
+ " return function socket_on_message(evt) {\n",
+ " if (evt.data instanceof Blob) {\n",
+ " var img = evt.data;\n",
+ " if (img.type !== 'image/png') {\n",
+ " /* FIXME: We get \"Resource interpreted as Image but\n",
+ " * transferred with MIME type text/plain:\" errors on\n",
+ " * Chrome. But how to set the MIME type? It doesn't seem\n",
+ " * to be part of the websocket stream */\n",
+ " img.type = 'image/png';\n",
+ " }\n",
+ "\n",
+ " /* Free the memory for the previous frames */\n",
+ " if (fig.imageObj.src) {\n",
+ " (window.URL || window.webkitURL).revokeObjectURL(\n",
+ " fig.imageObj.src\n",
+ " );\n",
+ " }\n",
+ "\n",
+ " fig.imageObj.src = (window.URL || window.webkitURL).createObjectURL(\n",
+ " img\n",
+ " );\n",
+ " fig.updated_canvas_event();\n",
+ " fig.waiting = false;\n",
+ " return;\n",
+ " } else if (\n",
+ " typeof evt.data === 'string' &&\n",
+ " evt.data.slice(0, 21) === 'data:image/png;base64'\n",
+ " ) {\n",
+ " fig.imageObj.src = evt.data;\n",
+ " fig.updated_canvas_event();\n",
+ " fig.waiting = false;\n",
+ " return;\n",
+ " }\n",
+ "\n",
+ " var msg = JSON.parse(evt.data);\n",
+ " var msg_type = msg['type'];\n",
+ "\n",
+ " // Call the \"handle_{type}\" callback, which takes\n",
+ " // the figure and JSON message as its only arguments.\n",
+ " try {\n",
+ " var callback = fig['handle_' + msg_type];\n",
+ " } catch (e) {\n",
+ " console.log(\n",
+ " \"No handler for the '\" + msg_type + \"' message type: \",\n",
+ " msg\n",
+ " );\n",
+ " return;\n",
+ " }\n",
+ "\n",
+ " if (callback) {\n",
+ " try {\n",
+ " // console.log(\"Handling '\" + msg_type + \"' message: \", msg);\n",
+ " callback(fig, msg);\n",
+ " } catch (e) {\n",
+ " console.log(\n",
+ " \"Exception inside the 'handler_\" + msg_type + \"' callback:\",\n",
+ " e,\n",
+ " e.stack,\n",
+ " msg\n",
+ " );\n",
+ " }\n",
+ " }\n",
+ " };\n",
+ "};\n",
+ "\n",
+ "// from https://stackoverflow.com/questions/1114465/getting-mouse-location-in-canvas\n",
+ "mpl.findpos = function (e) {\n",
+ " //this section is from http://www.quirksmode.org/js/events_properties.html\n",
+ " var targ;\n",
+ " if (!e) {\n",
+ " e = window.event;\n",
+ " }\n",
+ " if (e.target) {\n",
+ " targ = e.target;\n",
+ " } else if (e.srcElement) {\n",
+ " targ = e.srcElement;\n",
+ " }\n",
+ " if (targ.nodeType === 3) {\n",
+ " // defeat Safari bug\n",
+ " targ = targ.parentNode;\n",
+ " }\n",
+ "\n",
+ " // pageX,Y are the mouse positions relative to the document\n",
+ " var boundingRect = targ.getBoundingClientRect();\n",
+ " var x = e.pageX - (boundingRect.left + document.body.scrollLeft);\n",
+ " var y = e.pageY - (boundingRect.top + document.body.scrollTop);\n",
+ "\n",
+ " return { x: x, y: y };\n",
+ "};\n",
+ "\n",
+ "/*\n",
+ " * return a copy of an object with only non-object keys\n",
+ " * we need this to avoid circular references\n",
+ " * https://stackoverflow.com/a/24161582/3208463\n",
+ " */\n",
+ "function simpleKeys(original) {\n",
+ " return Object.keys(original).reduce(function (obj, key) {\n",
+ " if (typeof original[key] !== 'object') {\n",
+ " obj[key] = original[key];\n",
+ " }\n",
+ " return obj;\n",
+ " }, {});\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype.mouse_event = function (event, name) {\n",
+ " var canvas_pos = mpl.findpos(event);\n",
+ "\n",
+ " if (name === 'button_press') {\n",
+ " this.canvas.focus();\n",
+ " this.canvas_div.focus();\n",
+ " }\n",
+ "\n",
+ " var x = canvas_pos.x * this.ratio;\n",
+ " var y = canvas_pos.y * this.ratio;\n",
+ "\n",
+ " this.send_message(name, {\n",
+ " x: x,\n",
+ " y: y,\n",
+ " button: event.button,\n",
+ " step: event.step,\n",
+ " guiEvent: simpleKeys(event),\n",
+ " });\n",
+ "\n",
+ " /* This prevents the web browser from automatically changing to\n",
+ " * the text insertion cursor when the button is pressed. We want\n",
+ " * to control all of the cursor setting manually through the\n",
+ " * 'cursor' event from matplotlib */\n",
+ " event.preventDefault();\n",
+ " return false;\n",
+ "};\n",
+ "\n",
+ "mpl.figure.prototype._key_event_extra = function (_event, _name) {\n",
+ " // Handle any extra behaviour associated with a key event\n",
+ "};\n",
+ "\n",
+ "mpl.figure.prototype.key_event = function (event, name) {\n",
+ " // Prevent repeat events\n",
+ " if (name === 'key_press') {\n",
+ " if (event.key === this._key) {\n",
+ " return;\n",
+ " } else {\n",
+ " this._key = event.key;\n",
+ " }\n",
+ " }\n",
+ " if (name === 'key_release') {\n",
+ " this._key = null;\n",
+ " }\n",
+ "\n",
+ " var value = '';\n",
+ " if (event.ctrlKey && event.key !== 'Control') {\n",
+ " value += 'ctrl+';\n",
+ " }\n",
+ " else if (event.altKey && event.key !== 'Alt') {\n",
+ " value += 'alt+';\n",
+ " }\n",
+ " else if (event.shiftKey && event.key !== 'Shift') {\n",
+ " value += 'shift+';\n",
+ " }\n",
+ "\n",
+ " value += 'k' + event.key;\n",
+ "\n",
+ " this._key_event_extra(event, name);\n",
+ "\n",
+ " this.send_message(name, { key: value, guiEvent: simpleKeys(event) });\n",
+ " return false;\n",
+ "};\n",
+ "\n",
+ "mpl.figure.prototype.toolbar_button_onclick = function (name) {\n",
+ " if (name === 'download') {\n",
+ " this.handle_save(this, null);\n",
+ " } else {\n",
+ " this.send_message('toolbar_button', { name: name });\n",
+ " }\n",
+ "};\n",
+ "\n",
+ "mpl.figure.prototype.toolbar_button_onmouseover = function (tooltip) {\n",
+ " this.message.textContent = tooltip;\n",
+ "};\n",
+ "\n",
+ "///////////////// REMAINING CONTENT GENERATED BY embed_js.py /////////////////\n",
+ "// prettier-ignore\n",
+ "var _JSXTOOLS_RESIZE_OBSERVER=function(A){var t,i=new WeakMap,n=new WeakMap,a=new WeakMap,r=new WeakMap,o=new Set;function s(e){if(!(this instanceof s))throw new TypeError(\"Constructor requires 'new' operator\");i.set(this,e)}function h(){throw new TypeError(\"Function is not a constructor\")}function c(e,t,i,n){e=0 in arguments?Number(arguments[0]):0,t=1 in arguments?Number(arguments[1]):0,i=2 in arguments?Number(arguments[2]):0,n=3 in arguments?Number(arguments[3]):0,this.right=(this.x=this.left=e)+(this.width=i),this.bottom=(this.y=this.top=t)+(this.height=n),Object.freeze(this)}function d(){t=requestAnimationFrame(d);var s=new WeakMap,p=new Set;o.forEach((function(t){r.get(t).forEach((function(i){var r=t instanceof window.SVGElement,o=a.get(t),d=r?0:parseFloat(o.paddingTop),f=r?0:parseFloat(o.paddingRight),l=r?0:parseFloat(o.paddingBottom),u=r?0:parseFloat(o.paddingLeft),g=r?0:parseFloat(o.borderTopWidth),m=r?0:parseFloat(o.borderRightWidth),w=r?0:parseFloat(o.borderBottomWidth),b=u+f,F=d+l,v=(r?0:parseFloat(o.borderLeftWidth))+m,W=g+w,y=r?0:t.offsetHeight-W-t.clientHeight,E=r?0:t.offsetWidth-v-t.clientWidth,R=b+v,z=F+W,M=r?t.width:parseFloat(o.width)-R-E,O=r?t.height:parseFloat(o.height)-z-y;if(n.has(t)){var k=n.get(t);if(k[0]===M&&k[1]===O)return}n.set(t,[M,O]);var S=Object.create(h.prototype);S.target=t,S.contentRect=new c(u,d,M,O),s.has(i)||(s.set(i,[]),p.add(i)),s.get(i).push(S)}))})),p.forEach((function(e){i.get(e).call(e,s.get(e),e)}))}return s.prototype.observe=function(i){if(i instanceof window.Element){r.has(i)||(r.set(i,new Set),o.add(i),a.set(i,window.getComputedStyle(i)));var n=r.get(i);n.has(this)||n.add(this),cancelAnimationFrame(t),t=requestAnimationFrame(d)}},s.prototype.unobserve=function(i){if(i instanceof window.Element&&r.has(i)){var n=r.get(i);n.has(this)&&(n.delete(this),n.size||(r.delete(i),o.delete(i))),n.size||r.delete(i),o.size||cancelAnimationFrame(t)}},A.DOMRectReadOnly=c,A.ResizeObserver=s,A.ResizeObserverEntry=h,A}; // eslint-disable-line\n",
+ "mpl.toolbar_items = [[\"Home\", \"Reset original view\", \"fa fa-home icon-home\", \"home\"], [\"Back\", \"Back to previous view\", \"fa fa-arrow-left icon-arrow-left\", \"back\"], [\"Forward\", \"Forward to next view\", \"fa fa-arrow-right icon-arrow-right\", \"forward\"], [\"\", \"\", \"\", \"\"], [\"Pan\", \"Left button pans, Right button zooms\\nx/y fixes axis, CTRL fixes aspect\", \"fa fa-arrows icon-move\", \"pan\"], [\"Zoom\", \"Zoom to rectangle\\nx/y fixes axis\", \"fa fa-square-o icon-check-empty\", \"zoom\"], [\"\", \"\", \"\", \"\"], [\"Download\", \"Download plot\", \"fa fa-floppy-o icon-save\", \"download\"]];\n",
+ "\n",
+ "mpl.extensions = [\"eps\", \"jpeg\", \"pgf\", \"pdf\", \"png\", \"ps\", \"raw\", \"svg\", \"tif\"];\n",
+ "\n",
+ "mpl.default_extension = \"png\";/* global mpl */\n",
+ "\n",
+ "var comm_websocket_adapter = function (comm) {\n",
+ " // Create a \"websocket\"-like object which calls the given IPython comm\n",
+ " // object with the appropriate methods. Currently this is a non binary\n",
+ " // socket, so there is still some room for performance tuning.\n",
+ " var ws = {};\n",
+ "\n",
+ " ws.binaryType = comm.kernel.ws.binaryType;\n",
+ " ws.readyState = comm.kernel.ws.readyState;\n",
+ " function updateReadyState(_event) {\n",
+ " if (comm.kernel.ws) {\n",
+ " ws.readyState = comm.kernel.ws.readyState;\n",
+ " } else {\n",
+ " ws.readyState = 3; // Closed state.\n",
+ " }\n",
+ " }\n",
+ " comm.kernel.ws.addEventListener('open', updateReadyState);\n",
+ " comm.kernel.ws.addEventListener('close', updateReadyState);\n",
+ " comm.kernel.ws.addEventListener('error', updateReadyState);\n",
+ "\n",
+ " ws.close = function () {\n",
+ " comm.close();\n",
+ " };\n",
+ " ws.send = function (m) {\n",
+ " //console.log('sending', m);\n",
+ " comm.send(m);\n",
+ " };\n",
+ " // Register the callback with on_msg.\n",
+ " comm.on_msg(function (msg) {\n",
+ " //console.log('receiving', msg['content']['data'], msg);\n",
+ " var data = msg['content']['data'];\n",
+ " if (data['blob'] !== undefined) {\n",
+ " data = {\n",
+ " data: new Blob(msg['buffers'], { type: data['blob'] }),\n",
+ " };\n",
+ " }\n",
+ " // Pass the mpl event to the overridden (by mpl) onmessage function.\n",
+ " ws.onmessage(data);\n",
+ " });\n",
+ " return ws;\n",
+ "};\n",
+ "\n",
+ "mpl.mpl_figure_comm = function (comm, msg) {\n",
+ " // This is the function which gets called when the mpl process\n",
+ " // starts-up an IPython Comm through the \"matplotlib\" channel.\n",
+ "\n",
+ " var id = msg.content.data.id;\n",
+ " // Get hold of the div created by the display call when the Comm\n",
+ " // socket was opened in Python.\n",
+ " var element = document.getElementById(id);\n",
+ " var ws_proxy = comm_websocket_adapter(comm);\n",
+ "\n",
+ " function ondownload(figure, _format) {\n",
+ " window.open(figure.canvas.toDataURL());\n",
+ " }\n",
+ "\n",
+ " var fig = new mpl.figure(id, ws_proxy, ondownload, element);\n",
+ "\n",
+ " // Call onopen now - mpl needs it, as it is assuming we've passed it a real\n",
+ " // web socket which is closed, not our websocket->open comm proxy.\n",
+ " ws_proxy.onopen();\n",
+ "\n",
+ " fig.parent_element = element;\n",
+ " fig.cell_info = mpl.find_output_cell(\"\");\n",
+ " if (!fig.cell_info) {\n",
+ " console.error('Failed to find cell for figure', id, fig);\n",
+ " return;\n",
+ " }\n",
+ " fig.cell_info[0].output_area.element.on(\n",
+ " 'cleared',\n",
+ " { fig: fig },\n",
+ " fig._remove_fig_handler\n",
+ " );\n",
+ "};\n",
+ "\n",
+ "mpl.figure.prototype.handle_close = function (fig, msg) {\n",
+ " var width = fig.canvas.width / fig.ratio;\n",
+ " fig.cell_info[0].output_area.element.off(\n",
+ " 'cleared',\n",
+ " fig._remove_fig_handler\n",
+ " );\n",
+ " fig.resizeObserverInstance.unobserve(fig.canvas_div);\n",
+ "\n",
+ " // Update the output cell to use the data from the current canvas.\n",
+ " fig.push_to_output();\n",
+ " var dataURL = fig.canvas.toDataURL();\n",
+ " // Re-enable the keyboard manager in IPython - without this line, in FF,\n",
+ " // the notebook keyboard shortcuts fail.\n",
+ " IPython.keyboard_manager.enable();\n",
+ " fig.parent_element.innerHTML =\n",
+ " '
';\n",
+ " fig.close_ws(fig, msg);\n",
+ "};\n",
+ "\n",
+ "mpl.figure.prototype.close_ws = function (fig, msg) {\n",
+ " fig.send_message('closing', msg);\n",
+ " // fig.ws.close()\n",
+ "};\n",
+ "\n",
+ "mpl.figure.prototype.push_to_output = function (_remove_interactive) {\n",
+ " // Turn the data on the canvas into data in the output cell.\n",
+ " var width = this.canvas.width / this.ratio;\n",
+ " var dataURL = this.canvas.toDataURL();\n",
+ " this.cell_info[1]['text/html'] =\n",
+ " '
';\n",
+ "};\n",
+ "\n",
+ "mpl.figure.prototype.updated_canvas_event = function () {\n",
+ " // Tell IPython that the notebook contents must change.\n",
+ " IPython.notebook.set_dirty(true);\n",
+ " this.send_message('ack', {});\n",
+ " var fig = this;\n",
+ " // Wait a second, then push the new image to the DOM so\n",
+ " // that it is saved nicely (might be nice to debounce this).\n",
+ " setTimeout(function () {\n",
+ " fig.push_to_output();\n",
+ " }, 1000);\n",
+ "};\n",
+ "\n",
+ "mpl.figure.prototype._init_toolbar = function () {\n",
+ " var fig = this;\n",
+ "\n",
+ " var toolbar = document.createElement('div');\n",
+ " toolbar.classList = 'btn-toolbar';\n",
+ " this.root.appendChild(toolbar);\n",
+ "\n",
+ " function on_click_closure(name) {\n",
+ " return function (_event) {\n",
+ " return fig.toolbar_button_onclick(name);\n",
+ " };\n",
+ " }\n",
+ "\n",
+ " function on_mouseover_closure(tooltip) {\n",
+ " return function (event) {\n",
+ " if (!event.currentTarget.disabled) {\n",
+ " return fig.toolbar_button_onmouseover(tooltip);\n",
+ " }\n",
+ " };\n",
+ " }\n",
+ "\n",
+ " fig.buttons = {};\n",
+ " var buttonGroup = document.createElement('div');\n",
+ " buttonGroup.classList = 'btn-group';\n",
+ " var button;\n",
+ " for (var toolbar_ind in mpl.toolbar_items) {\n",
+ " var name = mpl.toolbar_items[toolbar_ind][0];\n",
+ " var tooltip = mpl.toolbar_items[toolbar_ind][1];\n",
+ " var image = mpl.toolbar_items[toolbar_ind][2];\n",
+ " var method_name = mpl.toolbar_items[toolbar_ind][3];\n",
+ "\n",
+ " if (!name) {\n",
+ " /* Instead of a spacer, we start a new button group. */\n",
+ " if (buttonGroup.hasChildNodes()) {\n",
+ " toolbar.appendChild(buttonGroup);\n",
+ " }\n",
+ " buttonGroup = document.createElement('div');\n",
+ " buttonGroup.classList = 'btn-group';\n",
+ " continue;\n",
+ " }\n",
+ "\n",
+ " button = fig.buttons[name] = document.createElement('button');\n",
+ " button.classList = 'btn btn-default';\n",
+ " button.href = '#';\n",
+ " button.title = name;\n",
+ " button.innerHTML = '';\n",
+ " button.addEventListener('click', on_click_closure(method_name));\n",
+ " button.addEventListener('mouseover', on_mouseover_closure(tooltip));\n",
+ " buttonGroup.appendChild(button);\n",
+ " }\n",
+ "\n",
+ " if (buttonGroup.hasChildNodes()) {\n",
+ " toolbar.appendChild(buttonGroup);\n",
+ " }\n",
+ "\n",
+ " // Add the status bar.\n",
+ " var status_bar = document.createElement('span');\n",
+ " status_bar.classList = 'mpl-message pull-right';\n",
+ " toolbar.appendChild(status_bar);\n",
+ " this.message = status_bar;\n",
+ "\n",
+ " // Add the close button to the window.\n",
+ " var buttongrp = document.createElement('div');\n",
+ " buttongrp.classList = 'btn-group inline pull-right';\n",
+ " button = document.createElement('button');\n",
+ " button.classList = 'btn btn-mini btn-primary';\n",
+ " button.href = '#';\n",
+ " button.title = 'Stop Interaction';\n",
+ " button.innerHTML = '';\n",
+ " button.addEventListener('click', function (_evt) {\n",
+ " fig.handle_close(fig, {});\n",
+ " });\n",
+ " button.addEventListener(\n",
+ " 'mouseover',\n",
+ " on_mouseover_closure('Stop Interaction')\n",
+ " );\n",
+ " buttongrp.appendChild(button);\n",
+ " var titlebar = this.root.querySelector('.ui-dialog-titlebar');\n",
+ " titlebar.insertBefore(buttongrp, titlebar.firstChild);\n",
+ "};\n",
+ "\n",
+ "mpl.figure.prototype._remove_fig_handler = function (event) {\n",
+ " var fig = event.data.fig;\n",
+ " if (event.target !== this) {\n",
+ " // Ignore bubbled events from children.\n",
+ " return;\n",
+ " }\n",
+ " fig.close_ws(fig, {});\n",
+ "};\n",
+ "\n",
+ "mpl.figure.prototype._root_extra_style = function (el) {\n",
+ " el.style.boxSizing = 'content-box'; // override notebook setting of border-box.\n",
+ "};\n",
+ "\n",
+ "mpl.figure.prototype._canvas_extra_style = function (el) {\n",
+ " // this is important to make the div 'focusable\n",
+ " el.setAttribute('tabindex', 0);\n",
+ " // reach out to IPython and tell the keyboard manager to turn it's self\n",
+ " // off when our div gets focus\n",
+ "\n",
+ " // location in version 3\n",
+ " if (IPython.notebook.keyboard_manager) {\n",
+ " IPython.notebook.keyboard_manager.register_events(el);\n",
+ " } else {\n",
+ " // location in version 2\n",
+ " IPython.keyboard_manager.register_events(el);\n",
+ " }\n",
+ "};\n",
+ "\n",
+ "mpl.figure.prototype._key_event_extra = function (event, _name) {\n",
+ " // Check for shift+enter\n",
+ " if (event.shiftKey && event.which === 13) {\n",
+ " this.canvas_div.blur();\n",
+ " // select the cell after this one\n",
+ " var index = IPython.notebook.find_cell_index(this.cell_info[0]);\n",
+ " IPython.notebook.select(index + 1);\n",
+ " }\n",
+ "};\n",
+ "\n",
+ "mpl.figure.prototype.handle_save = function (fig, _msg) {\n",
+ " fig.ondownload(fig, null);\n",
+ "};\n",
+ "\n",
+ "mpl.find_output_cell = function (html_output) {\n",
+ " // Return the cell and output element which can be found *uniquely* in the notebook.\n",
+ " // Note - this is a bit hacky, but it is done because the \"notebook_saving.Notebook\"\n",
+ " // IPython event is triggered only after the cells have been serialised, which for\n",
+ " // our purposes (turning an active figure into a static one), is too late.\n",
+ " var cells = IPython.notebook.get_cells();\n",
+ " var ncells = cells.length;\n",
+ " for (var i = 0; i < ncells; i++) {\n",
+ " var cell = cells[i];\n",
+ " if (cell.cell_type === 'code') {\n",
+ " for (var j = 0; j < cell.output_area.outputs.length; j++) {\n",
+ " var data = cell.output_area.outputs[j];\n",
+ " if (data.data) {\n",
+ " // IPython >= 3 moved mimebundle to data attribute of output\n",
+ " data = data.data;\n",
+ " }\n",
+ " if (data['text/html'] === html_output) {\n",
+ " return [cell, data, j];\n",
+ " }\n",
+ " }\n",
+ " }\n",
+ " }\n",
+ "};\n",
+ "\n",
+ "// Register the function which deals with the matplotlib target/channel.\n",
+ "// The kernel may be null if the page has been refreshed.\n",
+ "if (IPython.notebook.kernel !== null) {\n",
+ " IPython.notebook.kernel.comm_manager.register_target(\n",
+ " 'matplotlib',\n",
+ " mpl.mpl_figure_comm\n",
+ " );\n",
+ "}\n"
+ ],
+ "text/plain": [
+ ""
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ },
+ {
+ "data": {
+ "text/html": [
+ "
"
+ ],
+ "text/plain": [
+ ""
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ },
+ {
+ "data": {
+ "text/plain": [
+ ""
+ ]
+ },
+ "execution_count": 24,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
"source": [
"plt.scatter(x,y,s=10*np.sqrt(y),c=np.log10(x),edgecolors='black')"
]
@@ -467,15 +3461,994 @@
},
{
"cell_type": "code",
- "execution_count": null,
+ "execution_count": 31,
"metadata": {},
- "outputs": [],
+ "outputs": [
+ {
+ "data": {
+ "application/javascript": [
+ "/* Put everything inside the global mpl namespace */\n",
+ "/* global mpl */\n",
+ "window.mpl = {};\n",
+ "\n",
+ "mpl.get_websocket_type = function () {\n",
+ " if (typeof WebSocket !== 'undefined') {\n",
+ " return WebSocket;\n",
+ " } else if (typeof MozWebSocket !== 'undefined') {\n",
+ " return MozWebSocket;\n",
+ " } else {\n",
+ " alert(\n",
+ " 'Your browser does not have WebSocket support. ' +\n",
+ " 'Please try Chrome, Safari or Firefox ≥ 6. ' +\n",
+ " 'Firefox 4 and 5 are also supported but you ' +\n",
+ " 'have to enable WebSockets in about:config.'\n",
+ " );\n",
+ " }\n",
+ "};\n",
+ "\n",
+ "mpl.figure = function (figure_id, websocket, ondownload, parent_element) {\n",
+ " this.id = figure_id;\n",
+ "\n",
+ " this.ws = websocket;\n",
+ "\n",
+ " this.supports_binary = this.ws.binaryType !== undefined;\n",
+ "\n",
+ " if (!this.supports_binary) {\n",
+ " var warnings = document.getElementById('mpl-warnings');\n",
+ " if (warnings) {\n",
+ " warnings.style.display = 'block';\n",
+ " warnings.textContent =\n",
+ " 'This browser does not support binary websocket messages. ' +\n",
+ " 'Performance may be slow.';\n",
+ " }\n",
+ " }\n",
+ "\n",
+ " this.imageObj = new Image();\n",
+ "\n",
+ " this.context = undefined;\n",
+ " this.message = undefined;\n",
+ " this.canvas = undefined;\n",
+ " this.rubberband_canvas = undefined;\n",
+ " this.rubberband_context = undefined;\n",
+ " this.format_dropdown = undefined;\n",
+ "\n",
+ " this.image_mode = 'full';\n",
+ "\n",
+ " this.root = document.createElement('div');\n",
+ " this.root.setAttribute('style', 'display: inline-block');\n",
+ " this._root_extra_style(this.root);\n",
+ "\n",
+ " parent_element.appendChild(this.root);\n",
+ "\n",
+ " this._init_header(this);\n",
+ " this._init_canvas(this);\n",
+ " this._init_toolbar(this);\n",
+ "\n",
+ " var fig = this;\n",
+ "\n",
+ " this.waiting = false;\n",
+ "\n",
+ " this.ws.onopen = function () {\n",
+ " fig.send_message('supports_binary', { value: fig.supports_binary });\n",
+ " fig.send_message('send_image_mode', {});\n",
+ " if (fig.ratio !== 1) {\n",
+ " fig.send_message('set_device_pixel_ratio', {\n",
+ " device_pixel_ratio: fig.ratio,\n",
+ " });\n",
+ " }\n",
+ " fig.send_message('refresh', {});\n",
+ " };\n",
+ "\n",
+ " this.imageObj.onload = function () {\n",
+ " if (fig.image_mode === 'full') {\n",
+ " // Full images could contain transparency (where diff images\n",
+ " // almost always do), so we need to clear the canvas so that\n",
+ " // there is no ghosting.\n",
+ " fig.context.clearRect(0, 0, fig.canvas.width, fig.canvas.height);\n",
+ " }\n",
+ " fig.context.drawImage(fig.imageObj, 0, 0);\n",
+ " };\n",
+ "\n",
+ " this.imageObj.onunload = function () {\n",
+ " fig.ws.close();\n",
+ " };\n",
+ "\n",
+ " this.ws.onmessage = this._make_on_message_function(this);\n",
+ "\n",
+ " this.ondownload = ondownload;\n",
+ "};\n",
+ "\n",
+ "mpl.figure.prototype._init_header = function () {\n",
+ " var titlebar = document.createElement('div');\n",
+ " titlebar.classList =\n",
+ " 'ui-dialog-titlebar ui-widget-header ui-corner-all ui-helper-clearfix';\n",
+ " var titletext = document.createElement('div');\n",
+ " titletext.classList = 'ui-dialog-title';\n",
+ " titletext.setAttribute(\n",
+ " 'style',\n",
+ " 'width: 100%; text-align: center; padding: 3px;'\n",
+ " );\n",
+ " titlebar.appendChild(titletext);\n",
+ " this.root.appendChild(titlebar);\n",
+ " this.header = titletext;\n",
+ "};\n",
+ "\n",
+ "mpl.figure.prototype._canvas_extra_style = function (_canvas_div) {};\n",
+ "\n",
+ "mpl.figure.prototype._root_extra_style = function (_canvas_div) {};\n",
+ "\n",
+ "mpl.figure.prototype._init_canvas = function () {\n",
+ " var fig = this;\n",
+ "\n",
+ " var canvas_div = (this.canvas_div = document.createElement('div'));\n",
+ " canvas_div.setAttribute(\n",
+ " 'style',\n",
+ " 'border: 1px solid #ddd;' +\n",
+ " 'box-sizing: content-box;' +\n",
+ " 'clear: both;' +\n",
+ " 'min-height: 1px;' +\n",
+ " 'min-width: 1px;' +\n",
+ " 'outline: 0;' +\n",
+ " 'overflow: hidden;' +\n",
+ " 'position: relative;' +\n",
+ " 'resize: both;'\n",
+ " );\n",
+ "\n",
+ " function on_keyboard_event_closure(name) {\n",
+ " return function (event) {\n",
+ " return fig.key_event(event, name);\n",
+ " };\n",
+ " }\n",
+ "\n",
+ " canvas_div.addEventListener(\n",
+ " 'keydown',\n",
+ " on_keyboard_event_closure('key_press')\n",
+ " );\n",
+ " canvas_div.addEventListener(\n",
+ " 'keyup',\n",
+ " on_keyboard_event_closure('key_release')\n",
+ " );\n",
+ "\n",
+ " this._canvas_extra_style(canvas_div);\n",
+ " this.root.appendChild(canvas_div);\n",
+ "\n",
+ " var canvas = (this.canvas = document.createElement('canvas'));\n",
+ " canvas.classList.add('mpl-canvas');\n",
+ " canvas.setAttribute('style', 'box-sizing: content-box;');\n",
+ "\n",
+ " this.context = canvas.getContext('2d');\n",
+ "\n",
+ " var backingStore =\n",
+ " this.context.backingStorePixelRatio ||\n",
+ " this.context.webkitBackingStorePixelRatio ||\n",
+ " this.context.mozBackingStorePixelRatio ||\n",
+ " this.context.msBackingStorePixelRatio ||\n",
+ " this.context.oBackingStorePixelRatio ||\n",
+ " this.context.backingStorePixelRatio ||\n",
+ " 1;\n",
+ "\n",
+ " this.ratio = (window.devicePixelRatio || 1) / backingStore;\n",
+ "\n",
+ " var rubberband_canvas = (this.rubberband_canvas = document.createElement(\n",
+ " 'canvas'\n",
+ " ));\n",
+ " rubberband_canvas.setAttribute(\n",
+ " 'style',\n",
+ " 'box-sizing: content-box; position: absolute; left: 0; top: 0; z-index: 1;'\n",
+ " );\n",
+ "\n",
+ " // Apply a ponyfill if ResizeObserver is not implemented by browser.\n",
+ " if (this.ResizeObserver === undefined) {\n",
+ " if (window.ResizeObserver !== undefined) {\n",
+ " this.ResizeObserver = window.ResizeObserver;\n",
+ " } else {\n",
+ " var obs = _JSXTOOLS_RESIZE_OBSERVER({});\n",
+ " this.ResizeObserver = obs.ResizeObserver;\n",
+ " }\n",
+ " }\n",
+ "\n",
+ " this.resizeObserverInstance = new this.ResizeObserver(function (entries) {\n",
+ " var nentries = entries.length;\n",
+ " for (var i = 0; i < nentries; i++) {\n",
+ " var entry = entries[i];\n",
+ " var width, height;\n",
+ " if (entry.contentBoxSize) {\n",
+ " if (entry.contentBoxSize instanceof Array) {\n",
+ " // Chrome 84 implements new version of spec.\n",
+ " width = entry.contentBoxSize[0].inlineSize;\n",
+ " height = entry.contentBoxSize[0].blockSize;\n",
+ " } else {\n",
+ " // Firefox implements old version of spec.\n",
+ " width = entry.contentBoxSize.inlineSize;\n",
+ " height = entry.contentBoxSize.blockSize;\n",
+ " }\n",
+ " } else {\n",
+ " // Chrome <84 implements even older version of spec.\n",
+ " width = entry.contentRect.width;\n",
+ " height = entry.contentRect.height;\n",
+ " }\n",
+ "\n",
+ " // Keep the size of the canvas and rubber band canvas in sync with\n",
+ " // the canvas container.\n",
+ " if (entry.devicePixelContentBoxSize) {\n",
+ " // Chrome 84 implements new version of spec.\n",
+ " canvas.setAttribute(\n",
+ " 'width',\n",
+ " entry.devicePixelContentBoxSize[0].inlineSize\n",
+ " );\n",
+ " canvas.setAttribute(\n",
+ " 'height',\n",
+ " entry.devicePixelContentBoxSize[0].blockSize\n",
+ " );\n",
+ " } else {\n",
+ " canvas.setAttribute('width', width * fig.ratio);\n",
+ " canvas.setAttribute('height', height * fig.ratio);\n",
+ " }\n",
+ " canvas.setAttribute(\n",
+ " 'style',\n",
+ " 'width: ' + width + 'px; height: ' + height + 'px;'\n",
+ " );\n",
+ "\n",
+ " rubberband_canvas.setAttribute('width', width);\n",
+ " rubberband_canvas.setAttribute('height', height);\n",
+ "\n",
+ " // And update the size in Python. We ignore the initial 0/0 size\n",
+ " // that occurs as the element is placed into the DOM, which should\n",
+ " // otherwise not happen due to the minimum size styling.\n",
+ " if (fig.ws.readyState == 1 && width != 0 && height != 0) {\n",
+ " fig.request_resize(width, height);\n",
+ " }\n",
+ " }\n",
+ " });\n",
+ " this.resizeObserverInstance.observe(canvas_div);\n",
+ "\n",
+ " function on_mouse_event_closure(name) {\n",
+ " return function (event) {\n",
+ " return fig.mouse_event(event, name);\n",
+ " };\n",
+ " }\n",
+ "\n",
+ " rubberband_canvas.addEventListener(\n",
+ " 'mousedown',\n",
+ " on_mouse_event_closure('button_press')\n",
+ " );\n",
+ " rubberband_canvas.addEventListener(\n",
+ " 'mouseup',\n",
+ " on_mouse_event_closure('button_release')\n",
+ " );\n",
+ " rubberband_canvas.addEventListener(\n",
+ " 'dblclick',\n",
+ " on_mouse_event_closure('dblclick')\n",
+ " );\n",
+ " // Throttle sequential mouse events to 1 every 20ms.\n",
+ " rubberband_canvas.addEventListener(\n",
+ " 'mousemove',\n",
+ " on_mouse_event_closure('motion_notify')\n",
+ " );\n",
+ "\n",
+ " rubberband_canvas.addEventListener(\n",
+ " 'mouseenter',\n",
+ " on_mouse_event_closure('figure_enter')\n",
+ " );\n",
+ " rubberband_canvas.addEventListener(\n",
+ " 'mouseleave',\n",
+ " on_mouse_event_closure('figure_leave')\n",
+ " );\n",
+ "\n",
+ " canvas_div.addEventListener('wheel', function (event) {\n",
+ " if (event.deltaY < 0) {\n",
+ " event.step = 1;\n",
+ " } else {\n",
+ " event.step = -1;\n",
+ " }\n",
+ " on_mouse_event_closure('scroll')(event);\n",
+ " });\n",
+ "\n",
+ " canvas_div.appendChild(canvas);\n",
+ " canvas_div.appendChild(rubberband_canvas);\n",
+ "\n",
+ " this.rubberband_context = rubberband_canvas.getContext('2d');\n",
+ " this.rubberband_context.strokeStyle = '#000000';\n",
+ "\n",
+ " this._resize_canvas = function (width, height, forward) {\n",
+ " if (forward) {\n",
+ " canvas_div.style.width = width + 'px';\n",
+ " canvas_div.style.height = height + 'px';\n",
+ " }\n",
+ " };\n",
+ "\n",
+ " // Disable right mouse context menu.\n",
+ " this.rubberband_canvas.addEventListener('contextmenu', function (_e) {\n",
+ " event.preventDefault();\n",
+ " return false;\n",
+ " });\n",
+ "\n",
+ " function set_focus() {\n",
+ " canvas.focus();\n",
+ " canvas_div.focus();\n",
+ " }\n",
+ "\n",
+ " window.setTimeout(set_focus, 100);\n",
+ "};\n",
+ "\n",
+ "mpl.figure.prototype._init_toolbar = function () {\n",
+ " var fig = this;\n",
+ "\n",
+ " var toolbar = document.createElement('div');\n",
+ " toolbar.classList = 'mpl-toolbar';\n",
+ " this.root.appendChild(toolbar);\n",
+ "\n",
+ " function on_click_closure(name) {\n",
+ " return function (_event) {\n",
+ " return fig.toolbar_button_onclick(name);\n",
+ " };\n",
+ " }\n",
+ "\n",
+ " function on_mouseover_closure(tooltip) {\n",
+ " return function (event) {\n",
+ " if (!event.currentTarget.disabled) {\n",
+ " return fig.toolbar_button_onmouseover(tooltip);\n",
+ " }\n",
+ " };\n",
+ " }\n",
+ "\n",
+ " fig.buttons = {};\n",
+ " var buttonGroup = document.createElement('div');\n",
+ " buttonGroup.classList = 'mpl-button-group';\n",
+ " for (var toolbar_ind in mpl.toolbar_items) {\n",
+ " var name = mpl.toolbar_items[toolbar_ind][0];\n",
+ " var tooltip = mpl.toolbar_items[toolbar_ind][1];\n",
+ " var image = mpl.toolbar_items[toolbar_ind][2];\n",
+ " var method_name = mpl.toolbar_items[toolbar_ind][3];\n",
+ "\n",
+ " if (!name) {\n",
+ " /* Instead of a spacer, we start a new button group. */\n",
+ " if (buttonGroup.hasChildNodes()) {\n",
+ " toolbar.appendChild(buttonGroup);\n",
+ " }\n",
+ " buttonGroup = document.createElement('div');\n",
+ " buttonGroup.classList = 'mpl-button-group';\n",
+ " continue;\n",
+ " }\n",
+ "\n",
+ " var button = (fig.buttons[name] = document.createElement('button'));\n",
+ " button.classList = 'mpl-widget';\n",
+ " button.setAttribute('role', 'button');\n",
+ " button.setAttribute('aria-disabled', 'false');\n",
+ " button.addEventListener('click', on_click_closure(method_name));\n",
+ " button.addEventListener('mouseover', on_mouseover_closure(tooltip));\n",
+ "\n",
+ " var icon_img = document.createElement('img');\n",
+ " icon_img.src = '_images/' + image + '.png';\n",
+ " icon_img.srcset = '_images/' + image + '_large.png 2x';\n",
+ " icon_img.alt = tooltip;\n",
+ " button.appendChild(icon_img);\n",
+ "\n",
+ " buttonGroup.appendChild(button);\n",
+ " }\n",
+ "\n",
+ " if (buttonGroup.hasChildNodes()) {\n",
+ " toolbar.appendChild(buttonGroup);\n",
+ " }\n",
+ "\n",
+ " var fmt_picker = document.createElement('select');\n",
+ " fmt_picker.classList = 'mpl-widget';\n",
+ " toolbar.appendChild(fmt_picker);\n",
+ " this.format_dropdown = fmt_picker;\n",
+ "\n",
+ " for (var ind in mpl.extensions) {\n",
+ " var fmt = mpl.extensions[ind];\n",
+ " var option = document.createElement('option');\n",
+ " option.selected = fmt === mpl.default_extension;\n",
+ " option.innerHTML = fmt;\n",
+ " fmt_picker.appendChild(option);\n",
+ " }\n",
+ "\n",
+ " var status_bar = document.createElement('span');\n",
+ " status_bar.classList = 'mpl-message';\n",
+ " toolbar.appendChild(status_bar);\n",
+ " this.message = status_bar;\n",
+ "};\n",
+ "\n",
+ "mpl.figure.prototype.request_resize = function (x_pixels, y_pixels) {\n",
+ " // Request matplotlib to resize the figure. Matplotlib will then trigger a resize in the client,\n",
+ " // which will in turn request a refresh of the image.\n",
+ " this.send_message('resize', { width: x_pixels, height: y_pixels });\n",
+ "};\n",
+ "\n",
+ "mpl.figure.prototype.send_message = function (type, properties) {\n",
+ " properties['type'] = type;\n",
+ " properties['figure_id'] = this.id;\n",
+ " this.ws.send(JSON.stringify(properties));\n",
+ "};\n",
+ "\n",
+ "mpl.figure.prototype.send_draw_message = function () {\n",
+ " if (!this.waiting) {\n",
+ " this.waiting = true;\n",
+ " this.ws.send(JSON.stringify({ type: 'draw', figure_id: this.id }));\n",
+ " }\n",
+ "};\n",
+ "\n",
+ "mpl.figure.prototype.handle_save = function (fig, _msg) {\n",
+ " var format_dropdown = fig.format_dropdown;\n",
+ " var format = format_dropdown.options[format_dropdown.selectedIndex].value;\n",
+ " fig.ondownload(fig, format);\n",
+ "};\n",
+ "\n",
+ "mpl.figure.prototype.handle_resize = function (fig, msg) {\n",
+ " var size = msg['size'];\n",
+ " if (size[0] !== fig.canvas.width || size[1] !== fig.canvas.height) {\n",
+ " fig._resize_canvas(size[0], size[1], msg['forward']);\n",
+ " fig.send_message('refresh', {});\n",
+ " }\n",
+ "};\n",
+ "\n",
+ "mpl.figure.prototype.handle_rubberband = function (fig, msg) {\n",
+ " var x0 = msg['x0'] / fig.ratio;\n",
+ " var y0 = (fig.canvas.height - msg['y0']) / fig.ratio;\n",
+ " var x1 = msg['x1'] / fig.ratio;\n",
+ " var y1 = (fig.canvas.height - msg['y1']) / fig.ratio;\n",
+ " x0 = Math.floor(x0) + 0.5;\n",
+ " y0 = Math.floor(y0) + 0.5;\n",
+ " x1 = Math.floor(x1) + 0.5;\n",
+ " y1 = Math.floor(y1) + 0.5;\n",
+ " var min_x = Math.min(x0, x1);\n",
+ " var min_y = Math.min(y0, y1);\n",
+ " var width = Math.abs(x1 - x0);\n",
+ " var height = Math.abs(y1 - y0);\n",
+ "\n",
+ " fig.rubberband_context.clearRect(\n",
+ " 0,\n",
+ " 0,\n",
+ " fig.canvas.width / fig.ratio,\n",
+ " fig.canvas.height / fig.ratio\n",
+ " );\n",
+ "\n",
+ " fig.rubberband_context.strokeRect(min_x, min_y, width, height);\n",
+ "};\n",
+ "\n",
+ "mpl.figure.prototype.handle_figure_label = function (fig, msg) {\n",
+ " // Updates the figure title.\n",
+ " fig.header.textContent = msg['label'];\n",
+ "};\n",
+ "\n",
+ "mpl.figure.prototype.handle_cursor = function (fig, msg) {\n",
+ " fig.rubberband_canvas.style.cursor = msg['cursor'];\n",
+ "};\n",
+ "\n",
+ "mpl.figure.prototype.handle_message = function (fig, msg) {\n",
+ " fig.message.textContent = msg['message'];\n",
+ "};\n",
+ "\n",
+ "mpl.figure.prototype.handle_draw = function (fig, _msg) {\n",
+ " // Request the server to send over a new figure.\n",
+ " fig.send_draw_message();\n",
+ "};\n",
+ "\n",
+ "mpl.figure.prototype.handle_image_mode = function (fig, msg) {\n",
+ " fig.image_mode = msg['mode'];\n",
+ "};\n",
+ "\n",
+ "mpl.figure.prototype.handle_history_buttons = function (fig, msg) {\n",
+ " for (var key in msg) {\n",
+ " if (!(key in fig.buttons)) {\n",
+ " continue;\n",
+ " }\n",
+ " fig.buttons[key].disabled = !msg[key];\n",
+ " fig.buttons[key].setAttribute('aria-disabled', !msg[key]);\n",
+ " }\n",
+ "};\n",
+ "\n",
+ "mpl.figure.prototype.handle_navigate_mode = function (fig, msg) {\n",
+ " if (msg['mode'] === 'PAN') {\n",
+ " fig.buttons['Pan'].classList.add('active');\n",
+ " fig.buttons['Zoom'].classList.remove('active');\n",
+ " } else if (msg['mode'] === 'ZOOM') {\n",
+ " fig.buttons['Pan'].classList.remove('active');\n",
+ " fig.buttons['Zoom'].classList.add('active');\n",
+ " } else {\n",
+ " fig.buttons['Pan'].classList.remove('active');\n",
+ " fig.buttons['Zoom'].classList.remove('active');\n",
+ " }\n",
+ "};\n",
+ "\n",
+ "mpl.figure.prototype.updated_canvas_event = function () {\n",
+ " // Called whenever the canvas gets updated.\n",
+ " this.send_message('ack', {});\n",
+ "};\n",
+ "\n",
+ "// A function to construct a web socket function for onmessage handling.\n",
+ "// Called in the figure constructor.\n",
+ "mpl.figure.prototype._make_on_message_function = function (fig) {\n",
+ " return function socket_on_message(evt) {\n",
+ " if (evt.data instanceof Blob) {\n",
+ " var img = evt.data;\n",
+ " if (img.type !== 'image/png') {\n",
+ " /* FIXME: We get \"Resource interpreted as Image but\n",
+ " * transferred with MIME type text/plain:\" errors on\n",
+ " * Chrome. But how to set the MIME type? It doesn't seem\n",
+ " * to be part of the websocket stream */\n",
+ " img.type = 'image/png';\n",
+ " }\n",
+ "\n",
+ " /* Free the memory for the previous frames */\n",
+ " if (fig.imageObj.src) {\n",
+ " (window.URL || window.webkitURL).revokeObjectURL(\n",
+ " fig.imageObj.src\n",
+ " );\n",
+ " }\n",
+ "\n",
+ " fig.imageObj.src = (window.URL || window.webkitURL).createObjectURL(\n",
+ " img\n",
+ " );\n",
+ " fig.updated_canvas_event();\n",
+ " fig.waiting = false;\n",
+ " return;\n",
+ " } else if (\n",
+ " typeof evt.data === 'string' &&\n",
+ " evt.data.slice(0, 21) === 'data:image/png;base64'\n",
+ " ) {\n",
+ " fig.imageObj.src = evt.data;\n",
+ " fig.updated_canvas_event();\n",
+ " fig.waiting = false;\n",
+ " return;\n",
+ " }\n",
+ "\n",
+ " var msg = JSON.parse(evt.data);\n",
+ " var msg_type = msg['type'];\n",
+ "\n",
+ " // Call the \"handle_{type}\" callback, which takes\n",
+ " // the figure and JSON message as its only arguments.\n",
+ " try {\n",
+ " var callback = fig['handle_' + msg_type];\n",
+ " } catch (e) {\n",
+ " console.log(\n",
+ " \"No handler for the '\" + msg_type + \"' message type: \",\n",
+ " msg\n",
+ " );\n",
+ " return;\n",
+ " }\n",
+ "\n",
+ " if (callback) {\n",
+ " try {\n",
+ " // console.log(\"Handling '\" + msg_type + \"' message: \", msg);\n",
+ " callback(fig, msg);\n",
+ " } catch (e) {\n",
+ " console.log(\n",
+ " \"Exception inside the 'handler_\" + msg_type + \"' callback:\",\n",
+ " e,\n",
+ " e.stack,\n",
+ " msg\n",
+ " );\n",
+ " }\n",
+ " }\n",
+ " };\n",
+ "};\n",
+ "\n",
+ "// from https://stackoverflow.com/questions/1114465/getting-mouse-location-in-canvas\n",
+ "mpl.findpos = function (e) {\n",
+ " //this section is from http://www.quirksmode.org/js/events_properties.html\n",
+ " var targ;\n",
+ " if (!e) {\n",
+ " e = window.event;\n",
+ " }\n",
+ " if (e.target) {\n",
+ " targ = e.target;\n",
+ " } else if (e.srcElement) {\n",
+ " targ = e.srcElement;\n",
+ " }\n",
+ " if (targ.nodeType === 3) {\n",
+ " // defeat Safari bug\n",
+ " targ = targ.parentNode;\n",
+ " }\n",
+ "\n",
+ " // pageX,Y are the mouse positions relative to the document\n",
+ " var boundingRect = targ.getBoundingClientRect();\n",
+ " var x = e.pageX - (boundingRect.left + document.body.scrollLeft);\n",
+ " var y = e.pageY - (boundingRect.top + document.body.scrollTop);\n",
+ "\n",
+ " return { x: x, y: y };\n",
+ "};\n",
+ "\n",
+ "/*\n",
+ " * return a copy of an object with only non-object keys\n",
+ " * we need this to avoid circular references\n",
+ " * https://stackoverflow.com/a/24161582/3208463\n",
+ " */\n",
+ "function simpleKeys(original) {\n",
+ " return Object.keys(original).reduce(function (obj, key) {\n",
+ " if (typeof original[key] !== 'object') {\n",
+ " obj[key] = original[key];\n",
+ " }\n",
+ " return obj;\n",
+ " }, {});\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype.mouse_event = function (event, name) {\n",
+ " var canvas_pos = mpl.findpos(event);\n",
+ "\n",
+ " if (name === 'button_press') {\n",
+ " this.canvas.focus();\n",
+ " this.canvas_div.focus();\n",
+ " }\n",
+ "\n",
+ " var x = canvas_pos.x * this.ratio;\n",
+ " var y = canvas_pos.y * this.ratio;\n",
+ "\n",
+ " this.send_message(name, {\n",
+ " x: x,\n",
+ " y: y,\n",
+ " button: event.button,\n",
+ " step: event.step,\n",
+ " guiEvent: simpleKeys(event),\n",
+ " });\n",
+ "\n",
+ " /* This prevents the web browser from automatically changing to\n",
+ " * the text insertion cursor when the button is pressed. We want\n",
+ " * to control all of the cursor setting manually through the\n",
+ " * 'cursor' event from matplotlib */\n",
+ " event.preventDefault();\n",
+ " return false;\n",
+ "};\n",
+ "\n",
+ "mpl.figure.prototype._key_event_extra = function (_event, _name) {\n",
+ " // Handle any extra behaviour associated with a key event\n",
+ "};\n",
+ "\n",
+ "mpl.figure.prototype.key_event = function (event, name) {\n",
+ " // Prevent repeat events\n",
+ " if (name === 'key_press') {\n",
+ " if (event.key === this._key) {\n",
+ " return;\n",
+ " } else {\n",
+ " this._key = event.key;\n",
+ " }\n",
+ " }\n",
+ " if (name === 'key_release') {\n",
+ " this._key = null;\n",
+ " }\n",
+ "\n",
+ " var value = '';\n",
+ " if (event.ctrlKey && event.key !== 'Control') {\n",
+ " value += 'ctrl+';\n",
+ " }\n",
+ " else if (event.altKey && event.key !== 'Alt') {\n",
+ " value += 'alt+';\n",
+ " }\n",
+ " else if (event.shiftKey && event.key !== 'Shift') {\n",
+ " value += 'shift+';\n",
+ " }\n",
+ "\n",
+ " value += 'k' + event.key;\n",
+ "\n",
+ " this._key_event_extra(event, name);\n",
+ "\n",
+ " this.send_message(name, { key: value, guiEvent: simpleKeys(event) });\n",
+ " return false;\n",
+ "};\n",
+ "\n",
+ "mpl.figure.prototype.toolbar_button_onclick = function (name) {\n",
+ " if (name === 'download') {\n",
+ " this.handle_save(this, null);\n",
+ " } else {\n",
+ " this.send_message('toolbar_button', { name: name });\n",
+ " }\n",
+ "};\n",
+ "\n",
+ "mpl.figure.prototype.toolbar_button_onmouseover = function (tooltip) {\n",
+ " this.message.textContent = tooltip;\n",
+ "};\n",
+ "\n",
+ "///////////////// REMAINING CONTENT GENERATED BY embed_js.py /////////////////\n",
+ "// prettier-ignore\n",
+ "var _JSXTOOLS_RESIZE_OBSERVER=function(A){var t,i=new WeakMap,n=new WeakMap,a=new WeakMap,r=new WeakMap,o=new Set;function s(e){if(!(this instanceof s))throw new TypeError(\"Constructor requires 'new' operator\");i.set(this,e)}function h(){throw new TypeError(\"Function is not a constructor\")}function c(e,t,i,n){e=0 in arguments?Number(arguments[0]):0,t=1 in arguments?Number(arguments[1]):0,i=2 in arguments?Number(arguments[2]):0,n=3 in arguments?Number(arguments[3]):0,this.right=(this.x=this.left=e)+(this.width=i),this.bottom=(this.y=this.top=t)+(this.height=n),Object.freeze(this)}function d(){t=requestAnimationFrame(d);var s=new WeakMap,p=new Set;o.forEach((function(t){r.get(t).forEach((function(i){var r=t instanceof window.SVGElement,o=a.get(t),d=r?0:parseFloat(o.paddingTop),f=r?0:parseFloat(o.paddingRight),l=r?0:parseFloat(o.paddingBottom),u=r?0:parseFloat(o.paddingLeft),g=r?0:parseFloat(o.borderTopWidth),m=r?0:parseFloat(o.borderRightWidth),w=r?0:parseFloat(o.borderBottomWidth),b=u+f,F=d+l,v=(r?0:parseFloat(o.borderLeftWidth))+m,W=g+w,y=r?0:t.offsetHeight-W-t.clientHeight,E=r?0:t.offsetWidth-v-t.clientWidth,R=b+v,z=F+W,M=r?t.width:parseFloat(o.width)-R-E,O=r?t.height:parseFloat(o.height)-z-y;if(n.has(t)){var k=n.get(t);if(k[0]===M&&k[1]===O)return}n.set(t,[M,O]);var S=Object.create(h.prototype);S.target=t,S.contentRect=new c(u,d,M,O),s.has(i)||(s.set(i,[]),p.add(i)),s.get(i).push(S)}))})),p.forEach((function(e){i.get(e).call(e,s.get(e),e)}))}return s.prototype.observe=function(i){if(i instanceof window.Element){r.has(i)||(r.set(i,new Set),o.add(i),a.set(i,window.getComputedStyle(i)));var n=r.get(i);n.has(this)||n.add(this),cancelAnimationFrame(t),t=requestAnimationFrame(d)}},s.prototype.unobserve=function(i){if(i instanceof window.Element&&r.has(i)){var n=r.get(i);n.has(this)&&(n.delete(this),n.size||(r.delete(i),o.delete(i))),n.size||r.delete(i),o.size||cancelAnimationFrame(t)}},A.DOMRectReadOnly=c,A.ResizeObserver=s,A.ResizeObserverEntry=h,A}; // eslint-disable-line\n",
+ "mpl.toolbar_items = [[\"Home\", \"Reset original view\", \"fa fa-home icon-home\", \"home\"], [\"Back\", \"Back to previous view\", \"fa fa-arrow-left icon-arrow-left\", \"back\"], [\"Forward\", \"Forward to next view\", \"fa fa-arrow-right icon-arrow-right\", \"forward\"], [\"\", \"\", \"\", \"\"], [\"Pan\", \"Left button pans, Right button zooms\\nx/y fixes axis, CTRL fixes aspect\", \"fa fa-arrows icon-move\", \"pan\"], [\"Zoom\", \"Zoom to rectangle\\nx/y fixes axis\", \"fa fa-square-o icon-check-empty\", \"zoom\"], [\"\", \"\", \"\", \"\"], [\"Download\", \"Download plot\", \"fa fa-floppy-o icon-save\", \"download\"]];\n",
+ "\n",
+ "mpl.extensions = [\"eps\", \"jpeg\", \"pgf\", \"pdf\", \"png\", \"ps\", \"raw\", \"svg\", \"tif\"];\n",
+ "\n",
+ "mpl.default_extension = \"png\";/* global mpl */\n",
+ "\n",
+ "var comm_websocket_adapter = function (comm) {\n",
+ " // Create a \"websocket\"-like object which calls the given IPython comm\n",
+ " // object with the appropriate methods. Currently this is a non binary\n",
+ " // socket, so there is still some room for performance tuning.\n",
+ " var ws = {};\n",
+ "\n",
+ " ws.binaryType = comm.kernel.ws.binaryType;\n",
+ " ws.readyState = comm.kernel.ws.readyState;\n",
+ " function updateReadyState(_event) {\n",
+ " if (comm.kernel.ws) {\n",
+ " ws.readyState = comm.kernel.ws.readyState;\n",
+ " } else {\n",
+ " ws.readyState = 3; // Closed state.\n",
+ " }\n",
+ " }\n",
+ " comm.kernel.ws.addEventListener('open', updateReadyState);\n",
+ " comm.kernel.ws.addEventListener('close', updateReadyState);\n",
+ " comm.kernel.ws.addEventListener('error', updateReadyState);\n",
+ "\n",
+ " ws.close = function () {\n",
+ " comm.close();\n",
+ " };\n",
+ " ws.send = function (m) {\n",
+ " //console.log('sending', m);\n",
+ " comm.send(m);\n",
+ " };\n",
+ " // Register the callback with on_msg.\n",
+ " comm.on_msg(function (msg) {\n",
+ " //console.log('receiving', msg['content']['data'], msg);\n",
+ " var data = msg['content']['data'];\n",
+ " if (data['blob'] !== undefined) {\n",
+ " data = {\n",
+ " data: new Blob(msg['buffers'], { type: data['blob'] }),\n",
+ " };\n",
+ " }\n",
+ " // Pass the mpl event to the overridden (by mpl) onmessage function.\n",
+ " ws.onmessage(data);\n",
+ " });\n",
+ " return ws;\n",
+ "};\n",
+ "\n",
+ "mpl.mpl_figure_comm = function (comm, msg) {\n",
+ " // This is the function which gets called when the mpl process\n",
+ " // starts-up an IPython Comm through the \"matplotlib\" channel.\n",
+ "\n",
+ " var id = msg.content.data.id;\n",
+ " // Get hold of the div created by the display call when the Comm\n",
+ " // socket was opened in Python.\n",
+ " var element = document.getElementById(id);\n",
+ " var ws_proxy = comm_websocket_adapter(comm);\n",
+ "\n",
+ " function ondownload(figure, _format) {\n",
+ " window.open(figure.canvas.toDataURL());\n",
+ " }\n",
+ "\n",
+ " var fig = new mpl.figure(id, ws_proxy, ondownload, element);\n",
+ "\n",
+ " // Call onopen now - mpl needs it, as it is assuming we've passed it a real\n",
+ " // web socket which is closed, not our websocket->open comm proxy.\n",
+ " ws_proxy.onopen();\n",
+ "\n",
+ " fig.parent_element = element;\n",
+ " fig.cell_info = mpl.find_output_cell(\"\");\n",
+ " if (!fig.cell_info) {\n",
+ " console.error('Failed to find cell for figure', id, fig);\n",
+ " return;\n",
+ " }\n",
+ " fig.cell_info[0].output_area.element.on(\n",
+ " 'cleared',\n",
+ " { fig: fig },\n",
+ " fig._remove_fig_handler\n",
+ " );\n",
+ "};\n",
+ "\n",
+ "mpl.figure.prototype.handle_close = function (fig, msg) {\n",
+ " var width = fig.canvas.width / fig.ratio;\n",
+ " fig.cell_info[0].output_area.element.off(\n",
+ " 'cleared',\n",
+ " fig._remove_fig_handler\n",
+ " );\n",
+ " fig.resizeObserverInstance.unobserve(fig.canvas_div);\n",
+ "\n",
+ " // Update the output cell to use the data from the current canvas.\n",
+ " fig.push_to_output();\n",
+ " var dataURL = fig.canvas.toDataURL();\n",
+ " // Re-enable the keyboard manager in IPython - without this line, in FF,\n",
+ " // the notebook keyboard shortcuts fail.\n",
+ " IPython.keyboard_manager.enable();\n",
+ " fig.parent_element.innerHTML =\n",
+ " '
';\n",
+ " fig.close_ws(fig, msg);\n",
+ "};\n",
+ "\n",
+ "mpl.figure.prototype.close_ws = function (fig, msg) {\n",
+ " fig.send_message('closing', msg);\n",
+ " // fig.ws.close()\n",
+ "};\n",
+ "\n",
+ "mpl.figure.prototype.push_to_output = function (_remove_interactive) {\n",
+ " // Turn the data on the canvas into data in the output cell.\n",
+ " var width = this.canvas.width / this.ratio;\n",
+ " var dataURL = this.canvas.toDataURL();\n",
+ " this.cell_info[1]['text/html'] =\n",
+ " '
';\n",
+ "};\n",
+ "\n",
+ "mpl.figure.prototype.updated_canvas_event = function () {\n",
+ " // Tell IPython that the notebook contents must change.\n",
+ " IPython.notebook.set_dirty(true);\n",
+ " this.send_message('ack', {});\n",
+ " var fig = this;\n",
+ " // Wait a second, then push the new image to the DOM so\n",
+ " // that it is saved nicely (might be nice to debounce this).\n",
+ " setTimeout(function () {\n",
+ " fig.push_to_output();\n",
+ " }, 1000);\n",
+ "};\n",
+ "\n",
+ "mpl.figure.prototype._init_toolbar = function () {\n",
+ " var fig = this;\n",
+ "\n",
+ " var toolbar = document.createElement('div');\n",
+ " toolbar.classList = 'btn-toolbar';\n",
+ " this.root.appendChild(toolbar);\n",
+ "\n",
+ " function on_click_closure(name) {\n",
+ " return function (_event) {\n",
+ " return fig.toolbar_button_onclick(name);\n",
+ " };\n",
+ " }\n",
+ "\n",
+ " function on_mouseover_closure(tooltip) {\n",
+ " return function (event) {\n",
+ " if (!event.currentTarget.disabled) {\n",
+ " return fig.toolbar_button_onmouseover(tooltip);\n",
+ " }\n",
+ " };\n",
+ " }\n",
+ "\n",
+ " fig.buttons = {};\n",
+ " var buttonGroup = document.createElement('div');\n",
+ " buttonGroup.classList = 'btn-group';\n",
+ " var button;\n",
+ " for (var toolbar_ind in mpl.toolbar_items) {\n",
+ " var name = mpl.toolbar_items[toolbar_ind][0];\n",
+ " var tooltip = mpl.toolbar_items[toolbar_ind][1];\n",
+ " var image = mpl.toolbar_items[toolbar_ind][2];\n",
+ " var method_name = mpl.toolbar_items[toolbar_ind][3];\n",
+ "\n",
+ " if (!name) {\n",
+ " /* Instead of a spacer, we start a new button group. */\n",
+ " if (buttonGroup.hasChildNodes()) {\n",
+ " toolbar.appendChild(buttonGroup);\n",
+ " }\n",
+ " buttonGroup = document.createElement('div');\n",
+ " buttonGroup.classList = 'btn-group';\n",
+ " continue;\n",
+ " }\n",
+ "\n",
+ " button = fig.buttons[name] = document.createElement('button');\n",
+ " button.classList = 'btn btn-default';\n",
+ " button.href = '#';\n",
+ " button.title = name;\n",
+ " button.innerHTML = '';\n",
+ " button.addEventListener('click', on_click_closure(method_name));\n",
+ " button.addEventListener('mouseover', on_mouseover_closure(tooltip));\n",
+ " buttonGroup.appendChild(button);\n",
+ " }\n",
+ "\n",
+ " if (buttonGroup.hasChildNodes()) {\n",
+ " toolbar.appendChild(buttonGroup);\n",
+ " }\n",
+ "\n",
+ " // Add the status bar.\n",
+ " var status_bar = document.createElement('span');\n",
+ " status_bar.classList = 'mpl-message pull-right';\n",
+ " toolbar.appendChild(status_bar);\n",
+ " this.message = status_bar;\n",
+ "\n",
+ " // Add the close button to the window.\n",
+ " var buttongrp = document.createElement('div');\n",
+ " buttongrp.classList = 'btn-group inline pull-right';\n",
+ " button = document.createElement('button');\n",
+ " button.classList = 'btn btn-mini btn-primary';\n",
+ " button.href = '#';\n",
+ " button.title = 'Stop Interaction';\n",
+ " button.innerHTML = '';\n",
+ " button.addEventListener('click', function (_evt) {\n",
+ " fig.handle_close(fig, {});\n",
+ " });\n",
+ " button.addEventListener(\n",
+ " 'mouseover',\n",
+ " on_mouseover_closure('Stop Interaction')\n",
+ " );\n",
+ " buttongrp.appendChild(button);\n",
+ " var titlebar = this.root.querySelector('.ui-dialog-titlebar');\n",
+ " titlebar.insertBefore(buttongrp, titlebar.firstChild);\n",
+ "};\n",
+ "\n",
+ "mpl.figure.prototype._remove_fig_handler = function (event) {\n",
+ " var fig = event.data.fig;\n",
+ " if (event.target !== this) {\n",
+ " // Ignore bubbled events from children.\n",
+ " return;\n",
+ " }\n",
+ " fig.close_ws(fig, {});\n",
+ "};\n",
+ "\n",
+ "mpl.figure.prototype._root_extra_style = function (el) {\n",
+ " el.style.boxSizing = 'content-box'; // override notebook setting of border-box.\n",
+ "};\n",
+ "\n",
+ "mpl.figure.prototype._canvas_extra_style = function (el) {\n",
+ " // this is important to make the div 'focusable\n",
+ " el.setAttribute('tabindex', 0);\n",
+ " // reach out to IPython and tell the keyboard manager to turn it's self\n",
+ " // off when our div gets focus\n",
+ "\n",
+ " // location in version 3\n",
+ " if (IPython.notebook.keyboard_manager) {\n",
+ " IPython.notebook.keyboard_manager.register_events(el);\n",
+ " } else {\n",
+ " // location in version 2\n",
+ " IPython.keyboard_manager.register_events(el);\n",
+ " }\n",
+ "};\n",
+ "\n",
+ "mpl.figure.prototype._key_event_extra = function (event, _name) {\n",
+ " // Check for shift+enter\n",
+ " if (event.shiftKey && event.which === 13) {\n",
+ " this.canvas_div.blur();\n",
+ " // select the cell after this one\n",
+ " var index = IPython.notebook.find_cell_index(this.cell_info[0]);\n",
+ " IPython.notebook.select(index + 1);\n",
+ " }\n",
+ "};\n",
+ "\n",
+ "mpl.figure.prototype.handle_save = function (fig, _msg) {\n",
+ " fig.ondownload(fig, null);\n",
+ "};\n",
+ "\n",
+ "mpl.find_output_cell = function (html_output) {\n",
+ " // Return the cell and output element which can be found *uniquely* in the notebook.\n",
+ " // Note - this is a bit hacky, but it is done because the \"notebook_saving.Notebook\"\n",
+ " // IPython event is triggered only after the cells have been serialised, which for\n",
+ " // our purposes (turning an active figure into a static one), is too late.\n",
+ " var cells = IPython.notebook.get_cells();\n",
+ " var ncells = cells.length;\n",
+ " for (var i = 0; i < ncells; i++) {\n",
+ " var cell = cells[i];\n",
+ " if (cell.cell_type === 'code') {\n",
+ " for (var j = 0; j < cell.output_area.outputs.length; j++) {\n",
+ " var data = cell.output_area.outputs[j];\n",
+ " if (data.data) {\n",
+ " // IPython >= 3 moved mimebundle to data attribute of output\n",
+ " data = data.data;\n",
+ " }\n",
+ " if (data['text/html'] === html_output) {\n",
+ " return [cell, data, j];\n",
+ " }\n",
+ " }\n",
+ " }\n",
+ " }\n",
+ "};\n",
+ "\n",
+ "// Register the function which deals with the matplotlib target/channel.\n",
+ "// The kernel may be null if the page has been refreshed.\n",
+ "if (IPython.notebook.kernel !== null) {\n",
+ " IPython.notebook.kernel.comm_manager.register_target(\n",
+ " 'matplotlib',\n",
+ " mpl.mpl_figure_comm\n",
+ " );\n",
+ "}\n"
+ ],
+ "text/plain": [
+ ""
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ },
+ {
+ "data": {
+ "text/html": [
+ "
"
+ ],
+ "text/plain": [
+ ""
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ }
+ ],
"source": [
"fig, ax = plt.subplots()\n",
"\n",
"# We then use ax to do our plotting\n",
- "ax.plot(x,y,color='royalblue',marker='*',ms=15,ls='None')\n",
- "ax.plot(x,y,color='red',ls='-',lw=2,alpha=1)\n",
+ "ax.plot(x,y,color='red',ls='-',lw=2,alpha=1,zorder=1)\n",
+ "ax.plot(x,y,color='royalblue',marker='*',ms=15,ls='None',zorder=0)\n",
+ "\n",
"ax.invert_yaxis()"
]
},
@@ -488,9 +4461,997 @@
},
{
"cell_type": "code",
- "execution_count": null,
+ "execution_count": 32,
"metadata": {},
- "outputs": [],
+ "outputs": [
+ {
+ "data": {
+ "application/javascript": [
+ "/* Put everything inside the global mpl namespace */\n",
+ "/* global mpl */\n",
+ "window.mpl = {};\n",
+ "\n",
+ "mpl.get_websocket_type = function () {\n",
+ " if (typeof WebSocket !== 'undefined') {\n",
+ " return WebSocket;\n",
+ " } else if (typeof MozWebSocket !== 'undefined') {\n",
+ " return MozWebSocket;\n",
+ " } else {\n",
+ " alert(\n",
+ " 'Your browser does not have WebSocket support. ' +\n",
+ " 'Please try Chrome, Safari or Firefox ≥ 6. ' +\n",
+ " 'Firefox 4 and 5 are also supported but you ' +\n",
+ " 'have to enable WebSockets in about:config.'\n",
+ " );\n",
+ " }\n",
+ "};\n",
+ "\n",
+ "mpl.figure = function (figure_id, websocket, ondownload, parent_element) {\n",
+ " this.id = figure_id;\n",
+ "\n",
+ " this.ws = websocket;\n",
+ "\n",
+ " this.supports_binary = this.ws.binaryType !== undefined;\n",
+ "\n",
+ " if (!this.supports_binary) {\n",
+ " var warnings = document.getElementById('mpl-warnings');\n",
+ " if (warnings) {\n",
+ " warnings.style.display = 'block';\n",
+ " warnings.textContent =\n",
+ " 'This browser does not support binary websocket messages. ' +\n",
+ " 'Performance may be slow.';\n",
+ " }\n",
+ " }\n",
+ "\n",
+ " this.imageObj = new Image();\n",
+ "\n",
+ " this.context = undefined;\n",
+ " this.message = undefined;\n",
+ " this.canvas = undefined;\n",
+ " this.rubberband_canvas = undefined;\n",
+ " this.rubberband_context = undefined;\n",
+ " this.format_dropdown = undefined;\n",
+ "\n",
+ " this.image_mode = 'full';\n",
+ "\n",
+ " this.root = document.createElement('div');\n",
+ " this.root.setAttribute('style', 'display: inline-block');\n",
+ " this._root_extra_style(this.root);\n",
+ "\n",
+ " parent_element.appendChild(this.root);\n",
+ "\n",
+ " this._init_header(this);\n",
+ " this._init_canvas(this);\n",
+ " this._init_toolbar(this);\n",
+ "\n",
+ " var fig = this;\n",
+ "\n",
+ " this.waiting = false;\n",
+ "\n",
+ " this.ws.onopen = function () {\n",
+ " fig.send_message('supports_binary', { value: fig.supports_binary });\n",
+ " fig.send_message('send_image_mode', {});\n",
+ " if (fig.ratio !== 1) {\n",
+ " fig.send_message('set_device_pixel_ratio', {\n",
+ " device_pixel_ratio: fig.ratio,\n",
+ " });\n",
+ " }\n",
+ " fig.send_message('refresh', {});\n",
+ " };\n",
+ "\n",
+ " this.imageObj.onload = function () {\n",
+ " if (fig.image_mode === 'full') {\n",
+ " // Full images could contain transparency (where diff images\n",
+ " // almost always do), so we need to clear the canvas so that\n",
+ " // there is no ghosting.\n",
+ " fig.context.clearRect(0, 0, fig.canvas.width, fig.canvas.height);\n",
+ " }\n",
+ " fig.context.drawImage(fig.imageObj, 0, 0);\n",
+ " };\n",
+ "\n",
+ " this.imageObj.onunload = function () {\n",
+ " fig.ws.close();\n",
+ " };\n",
+ "\n",
+ " this.ws.onmessage = this._make_on_message_function(this);\n",
+ "\n",
+ " this.ondownload = ondownload;\n",
+ "};\n",
+ "\n",
+ "mpl.figure.prototype._init_header = function () {\n",
+ " var titlebar = document.createElement('div');\n",
+ " titlebar.classList =\n",
+ " 'ui-dialog-titlebar ui-widget-header ui-corner-all ui-helper-clearfix';\n",
+ " var titletext = document.createElement('div');\n",
+ " titletext.classList = 'ui-dialog-title';\n",
+ " titletext.setAttribute(\n",
+ " 'style',\n",
+ " 'width: 100%; text-align: center; padding: 3px;'\n",
+ " );\n",
+ " titlebar.appendChild(titletext);\n",
+ " this.root.appendChild(titlebar);\n",
+ " this.header = titletext;\n",
+ "};\n",
+ "\n",
+ "mpl.figure.prototype._canvas_extra_style = function (_canvas_div) {};\n",
+ "\n",
+ "mpl.figure.prototype._root_extra_style = function (_canvas_div) {};\n",
+ "\n",
+ "mpl.figure.prototype._init_canvas = function () {\n",
+ " var fig = this;\n",
+ "\n",
+ " var canvas_div = (this.canvas_div = document.createElement('div'));\n",
+ " canvas_div.setAttribute(\n",
+ " 'style',\n",
+ " 'border: 1px solid #ddd;' +\n",
+ " 'box-sizing: content-box;' +\n",
+ " 'clear: both;' +\n",
+ " 'min-height: 1px;' +\n",
+ " 'min-width: 1px;' +\n",
+ " 'outline: 0;' +\n",
+ " 'overflow: hidden;' +\n",
+ " 'position: relative;' +\n",
+ " 'resize: both;'\n",
+ " );\n",
+ "\n",
+ " function on_keyboard_event_closure(name) {\n",
+ " return function (event) {\n",
+ " return fig.key_event(event, name);\n",
+ " };\n",
+ " }\n",
+ "\n",
+ " canvas_div.addEventListener(\n",
+ " 'keydown',\n",
+ " on_keyboard_event_closure('key_press')\n",
+ " );\n",
+ " canvas_div.addEventListener(\n",
+ " 'keyup',\n",
+ " on_keyboard_event_closure('key_release')\n",
+ " );\n",
+ "\n",
+ " this._canvas_extra_style(canvas_div);\n",
+ " this.root.appendChild(canvas_div);\n",
+ "\n",
+ " var canvas = (this.canvas = document.createElement('canvas'));\n",
+ " canvas.classList.add('mpl-canvas');\n",
+ " canvas.setAttribute('style', 'box-sizing: content-box;');\n",
+ "\n",
+ " this.context = canvas.getContext('2d');\n",
+ "\n",
+ " var backingStore =\n",
+ " this.context.backingStorePixelRatio ||\n",
+ " this.context.webkitBackingStorePixelRatio ||\n",
+ " this.context.mozBackingStorePixelRatio ||\n",
+ " this.context.msBackingStorePixelRatio ||\n",
+ " this.context.oBackingStorePixelRatio ||\n",
+ " this.context.backingStorePixelRatio ||\n",
+ " 1;\n",
+ "\n",
+ " this.ratio = (window.devicePixelRatio || 1) / backingStore;\n",
+ "\n",
+ " var rubberband_canvas = (this.rubberband_canvas = document.createElement(\n",
+ " 'canvas'\n",
+ " ));\n",
+ " rubberband_canvas.setAttribute(\n",
+ " 'style',\n",
+ " 'box-sizing: content-box; position: absolute; left: 0; top: 0; z-index: 1;'\n",
+ " );\n",
+ "\n",
+ " // Apply a ponyfill if ResizeObserver is not implemented by browser.\n",
+ " if (this.ResizeObserver === undefined) {\n",
+ " if (window.ResizeObserver !== undefined) {\n",
+ " this.ResizeObserver = window.ResizeObserver;\n",
+ " } else {\n",
+ " var obs = _JSXTOOLS_RESIZE_OBSERVER({});\n",
+ " this.ResizeObserver = obs.ResizeObserver;\n",
+ " }\n",
+ " }\n",
+ "\n",
+ " this.resizeObserverInstance = new this.ResizeObserver(function (entries) {\n",
+ " var nentries = entries.length;\n",
+ " for (var i = 0; i < nentries; i++) {\n",
+ " var entry = entries[i];\n",
+ " var width, height;\n",
+ " if (entry.contentBoxSize) {\n",
+ " if (entry.contentBoxSize instanceof Array) {\n",
+ " // Chrome 84 implements new version of spec.\n",
+ " width = entry.contentBoxSize[0].inlineSize;\n",
+ " height = entry.contentBoxSize[0].blockSize;\n",
+ " } else {\n",
+ " // Firefox implements old version of spec.\n",
+ " width = entry.contentBoxSize.inlineSize;\n",
+ " height = entry.contentBoxSize.blockSize;\n",
+ " }\n",
+ " } else {\n",
+ " // Chrome <84 implements even older version of spec.\n",
+ " width = entry.contentRect.width;\n",
+ " height = entry.contentRect.height;\n",
+ " }\n",
+ "\n",
+ " // Keep the size of the canvas and rubber band canvas in sync with\n",
+ " // the canvas container.\n",
+ " if (entry.devicePixelContentBoxSize) {\n",
+ " // Chrome 84 implements new version of spec.\n",
+ " canvas.setAttribute(\n",
+ " 'width',\n",
+ " entry.devicePixelContentBoxSize[0].inlineSize\n",
+ " );\n",
+ " canvas.setAttribute(\n",
+ " 'height',\n",
+ " entry.devicePixelContentBoxSize[0].blockSize\n",
+ " );\n",
+ " } else {\n",
+ " canvas.setAttribute('width', width * fig.ratio);\n",
+ " canvas.setAttribute('height', height * fig.ratio);\n",
+ " }\n",
+ " canvas.setAttribute(\n",
+ " 'style',\n",
+ " 'width: ' + width + 'px; height: ' + height + 'px;'\n",
+ " );\n",
+ "\n",
+ " rubberband_canvas.setAttribute('width', width);\n",
+ " rubberband_canvas.setAttribute('height', height);\n",
+ "\n",
+ " // And update the size in Python. We ignore the initial 0/0 size\n",
+ " // that occurs as the element is placed into the DOM, which should\n",
+ " // otherwise not happen due to the minimum size styling.\n",
+ " if (fig.ws.readyState == 1 && width != 0 && height != 0) {\n",
+ " fig.request_resize(width, height);\n",
+ " }\n",
+ " }\n",
+ " });\n",
+ " this.resizeObserverInstance.observe(canvas_div);\n",
+ "\n",
+ " function on_mouse_event_closure(name) {\n",
+ " return function (event) {\n",
+ " return fig.mouse_event(event, name);\n",
+ " };\n",
+ " }\n",
+ "\n",
+ " rubberband_canvas.addEventListener(\n",
+ " 'mousedown',\n",
+ " on_mouse_event_closure('button_press')\n",
+ " );\n",
+ " rubberband_canvas.addEventListener(\n",
+ " 'mouseup',\n",
+ " on_mouse_event_closure('button_release')\n",
+ " );\n",
+ " rubberband_canvas.addEventListener(\n",
+ " 'dblclick',\n",
+ " on_mouse_event_closure('dblclick')\n",
+ " );\n",
+ " // Throttle sequential mouse events to 1 every 20ms.\n",
+ " rubberband_canvas.addEventListener(\n",
+ " 'mousemove',\n",
+ " on_mouse_event_closure('motion_notify')\n",
+ " );\n",
+ "\n",
+ " rubberband_canvas.addEventListener(\n",
+ " 'mouseenter',\n",
+ " on_mouse_event_closure('figure_enter')\n",
+ " );\n",
+ " rubberband_canvas.addEventListener(\n",
+ " 'mouseleave',\n",
+ " on_mouse_event_closure('figure_leave')\n",
+ " );\n",
+ "\n",
+ " canvas_div.addEventListener('wheel', function (event) {\n",
+ " if (event.deltaY < 0) {\n",
+ " event.step = 1;\n",
+ " } else {\n",
+ " event.step = -1;\n",
+ " }\n",
+ " on_mouse_event_closure('scroll')(event);\n",
+ " });\n",
+ "\n",
+ " canvas_div.appendChild(canvas);\n",
+ " canvas_div.appendChild(rubberband_canvas);\n",
+ "\n",
+ " this.rubberband_context = rubberband_canvas.getContext('2d');\n",
+ " this.rubberband_context.strokeStyle = '#000000';\n",
+ "\n",
+ " this._resize_canvas = function (width, height, forward) {\n",
+ " if (forward) {\n",
+ " canvas_div.style.width = width + 'px';\n",
+ " canvas_div.style.height = height + 'px';\n",
+ " }\n",
+ " };\n",
+ "\n",
+ " // Disable right mouse context menu.\n",
+ " this.rubberband_canvas.addEventListener('contextmenu', function (_e) {\n",
+ " event.preventDefault();\n",
+ " return false;\n",
+ " });\n",
+ "\n",
+ " function set_focus() {\n",
+ " canvas.focus();\n",
+ " canvas_div.focus();\n",
+ " }\n",
+ "\n",
+ " window.setTimeout(set_focus, 100);\n",
+ "};\n",
+ "\n",
+ "mpl.figure.prototype._init_toolbar = function () {\n",
+ " var fig = this;\n",
+ "\n",
+ " var toolbar = document.createElement('div');\n",
+ " toolbar.classList = 'mpl-toolbar';\n",
+ " this.root.appendChild(toolbar);\n",
+ "\n",
+ " function on_click_closure(name) {\n",
+ " return function (_event) {\n",
+ " return fig.toolbar_button_onclick(name);\n",
+ " };\n",
+ " }\n",
+ "\n",
+ " function on_mouseover_closure(tooltip) {\n",
+ " return function (event) {\n",
+ " if (!event.currentTarget.disabled) {\n",
+ " return fig.toolbar_button_onmouseover(tooltip);\n",
+ " }\n",
+ " };\n",
+ " }\n",
+ "\n",
+ " fig.buttons = {};\n",
+ " var buttonGroup = document.createElement('div');\n",
+ " buttonGroup.classList = 'mpl-button-group';\n",
+ " for (var toolbar_ind in mpl.toolbar_items) {\n",
+ " var name = mpl.toolbar_items[toolbar_ind][0];\n",
+ " var tooltip = mpl.toolbar_items[toolbar_ind][1];\n",
+ " var image = mpl.toolbar_items[toolbar_ind][2];\n",
+ " var method_name = mpl.toolbar_items[toolbar_ind][3];\n",
+ "\n",
+ " if (!name) {\n",
+ " /* Instead of a spacer, we start a new button group. */\n",
+ " if (buttonGroup.hasChildNodes()) {\n",
+ " toolbar.appendChild(buttonGroup);\n",
+ " }\n",
+ " buttonGroup = document.createElement('div');\n",
+ " buttonGroup.classList = 'mpl-button-group';\n",
+ " continue;\n",
+ " }\n",
+ "\n",
+ " var button = (fig.buttons[name] = document.createElement('button'));\n",
+ " button.classList = 'mpl-widget';\n",
+ " button.setAttribute('role', 'button');\n",
+ " button.setAttribute('aria-disabled', 'false');\n",
+ " button.addEventListener('click', on_click_closure(method_name));\n",
+ " button.addEventListener('mouseover', on_mouseover_closure(tooltip));\n",
+ "\n",
+ " var icon_img = document.createElement('img');\n",
+ " icon_img.src = '_images/' + image + '.png';\n",
+ " icon_img.srcset = '_images/' + image + '_large.png 2x';\n",
+ " icon_img.alt = tooltip;\n",
+ " button.appendChild(icon_img);\n",
+ "\n",
+ " buttonGroup.appendChild(button);\n",
+ " }\n",
+ "\n",
+ " if (buttonGroup.hasChildNodes()) {\n",
+ " toolbar.appendChild(buttonGroup);\n",
+ " }\n",
+ "\n",
+ " var fmt_picker = document.createElement('select');\n",
+ " fmt_picker.classList = 'mpl-widget';\n",
+ " toolbar.appendChild(fmt_picker);\n",
+ " this.format_dropdown = fmt_picker;\n",
+ "\n",
+ " for (var ind in mpl.extensions) {\n",
+ " var fmt = mpl.extensions[ind];\n",
+ " var option = document.createElement('option');\n",
+ " option.selected = fmt === mpl.default_extension;\n",
+ " option.innerHTML = fmt;\n",
+ " fmt_picker.appendChild(option);\n",
+ " }\n",
+ "\n",
+ " var status_bar = document.createElement('span');\n",
+ " status_bar.classList = 'mpl-message';\n",
+ " toolbar.appendChild(status_bar);\n",
+ " this.message = status_bar;\n",
+ "};\n",
+ "\n",
+ "mpl.figure.prototype.request_resize = function (x_pixels, y_pixels) {\n",
+ " // Request matplotlib to resize the figure. Matplotlib will then trigger a resize in the client,\n",
+ " // which will in turn request a refresh of the image.\n",
+ " this.send_message('resize', { width: x_pixels, height: y_pixels });\n",
+ "};\n",
+ "\n",
+ "mpl.figure.prototype.send_message = function (type, properties) {\n",
+ " properties['type'] = type;\n",
+ " properties['figure_id'] = this.id;\n",
+ " this.ws.send(JSON.stringify(properties));\n",
+ "};\n",
+ "\n",
+ "mpl.figure.prototype.send_draw_message = function () {\n",
+ " if (!this.waiting) {\n",
+ " this.waiting = true;\n",
+ " this.ws.send(JSON.stringify({ type: 'draw', figure_id: this.id }));\n",
+ " }\n",
+ "};\n",
+ "\n",
+ "mpl.figure.prototype.handle_save = function (fig, _msg) {\n",
+ " var format_dropdown = fig.format_dropdown;\n",
+ " var format = format_dropdown.options[format_dropdown.selectedIndex].value;\n",
+ " fig.ondownload(fig, format);\n",
+ "};\n",
+ "\n",
+ "mpl.figure.prototype.handle_resize = function (fig, msg) {\n",
+ " var size = msg['size'];\n",
+ " if (size[0] !== fig.canvas.width || size[1] !== fig.canvas.height) {\n",
+ " fig._resize_canvas(size[0], size[1], msg['forward']);\n",
+ " fig.send_message('refresh', {});\n",
+ " }\n",
+ "};\n",
+ "\n",
+ "mpl.figure.prototype.handle_rubberband = function (fig, msg) {\n",
+ " var x0 = msg['x0'] / fig.ratio;\n",
+ " var y0 = (fig.canvas.height - msg['y0']) / fig.ratio;\n",
+ " var x1 = msg['x1'] / fig.ratio;\n",
+ " var y1 = (fig.canvas.height - msg['y1']) / fig.ratio;\n",
+ " x0 = Math.floor(x0) + 0.5;\n",
+ " y0 = Math.floor(y0) + 0.5;\n",
+ " x1 = Math.floor(x1) + 0.5;\n",
+ " y1 = Math.floor(y1) + 0.5;\n",
+ " var min_x = Math.min(x0, x1);\n",
+ " var min_y = Math.min(y0, y1);\n",
+ " var width = Math.abs(x1 - x0);\n",
+ " var height = Math.abs(y1 - y0);\n",
+ "\n",
+ " fig.rubberband_context.clearRect(\n",
+ " 0,\n",
+ " 0,\n",
+ " fig.canvas.width / fig.ratio,\n",
+ " fig.canvas.height / fig.ratio\n",
+ " );\n",
+ "\n",
+ " fig.rubberband_context.strokeRect(min_x, min_y, width, height);\n",
+ "};\n",
+ "\n",
+ "mpl.figure.prototype.handle_figure_label = function (fig, msg) {\n",
+ " // Updates the figure title.\n",
+ " fig.header.textContent = msg['label'];\n",
+ "};\n",
+ "\n",
+ "mpl.figure.prototype.handle_cursor = function (fig, msg) {\n",
+ " fig.rubberband_canvas.style.cursor = msg['cursor'];\n",
+ "};\n",
+ "\n",
+ "mpl.figure.prototype.handle_message = function (fig, msg) {\n",
+ " fig.message.textContent = msg['message'];\n",
+ "};\n",
+ "\n",
+ "mpl.figure.prototype.handle_draw = function (fig, _msg) {\n",
+ " // Request the server to send over a new figure.\n",
+ " fig.send_draw_message();\n",
+ "};\n",
+ "\n",
+ "mpl.figure.prototype.handle_image_mode = function (fig, msg) {\n",
+ " fig.image_mode = msg['mode'];\n",
+ "};\n",
+ "\n",
+ "mpl.figure.prototype.handle_history_buttons = function (fig, msg) {\n",
+ " for (var key in msg) {\n",
+ " if (!(key in fig.buttons)) {\n",
+ " continue;\n",
+ " }\n",
+ " fig.buttons[key].disabled = !msg[key];\n",
+ " fig.buttons[key].setAttribute('aria-disabled', !msg[key]);\n",
+ " }\n",
+ "};\n",
+ "\n",
+ "mpl.figure.prototype.handle_navigate_mode = function (fig, msg) {\n",
+ " if (msg['mode'] === 'PAN') {\n",
+ " fig.buttons['Pan'].classList.add('active');\n",
+ " fig.buttons['Zoom'].classList.remove('active');\n",
+ " } else if (msg['mode'] === 'ZOOM') {\n",
+ " fig.buttons['Pan'].classList.remove('active');\n",
+ " fig.buttons['Zoom'].classList.add('active');\n",
+ " } else {\n",
+ " fig.buttons['Pan'].classList.remove('active');\n",
+ " fig.buttons['Zoom'].classList.remove('active');\n",
+ " }\n",
+ "};\n",
+ "\n",
+ "mpl.figure.prototype.updated_canvas_event = function () {\n",
+ " // Called whenever the canvas gets updated.\n",
+ " this.send_message('ack', {});\n",
+ "};\n",
+ "\n",
+ "// A function to construct a web socket function for onmessage handling.\n",
+ "// Called in the figure constructor.\n",
+ "mpl.figure.prototype._make_on_message_function = function (fig) {\n",
+ " return function socket_on_message(evt) {\n",
+ " if (evt.data instanceof Blob) {\n",
+ " var img = evt.data;\n",
+ " if (img.type !== 'image/png') {\n",
+ " /* FIXME: We get \"Resource interpreted as Image but\n",
+ " * transferred with MIME type text/plain:\" errors on\n",
+ " * Chrome. But how to set the MIME type? It doesn't seem\n",
+ " * to be part of the websocket stream */\n",
+ " img.type = 'image/png';\n",
+ " }\n",
+ "\n",
+ " /* Free the memory for the previous frames */\n",
+ " if (fig.imageObj.src) {\n",
+ " (window.URL || window.webkitURL).revokeObjectURL(\n",
+ " fig.imageObj.src\n",
+ " );\n",
+ " }\n",
+ "\n",
+ " fig.imageObj.src = (window.URL || window.webkitURL).createObjectURL(\n",
+ " img\n",
+ " );\n",
+ " fig.updated_canvas_event();\n",
+ " fig.waiting = false;\n",
+ " return;\n",
+ " } else if (\n",
+ " typeof evt.data === 'string' &&\n",
+ " evt.data.slice(0, 21) === 'data:image/png;base64'\n",
+ " ) {\n",
+ " fig.imageObj.src = evt.data;\n",
+ " fig.updated_canvas_event();\n",
+ " fig.waiting = false;\n",
+ " return;\n",
+ " }\n",
+ "\n",
+ " var msg = JSON.parse(evt.data);\n",
+ " var msg_type = msg['type'];\n",
+ "\n",
+ " // Call the \"handle_{type}\" callback, which takes\n",
+ " // the figure and JSON message as its only arguments.\n",
+ " try {\n",
+ " var callback = fig['handle_' + msg_type];\n",
+ " } catch (e) {\n",
+ " console.log(\n",
+ " \"No handler for the '\" + msg_type + \"' message type: \",\n",
+ " msg\n",
+ " );\n",
+ " return;\n",
+ " }\n",
+ "\n",
+ " if (callback) {\n",
+ " try {\n",
+ " // console.log(\"Handling '\" + msg_type + \"' message: \", msg);\n",
+ " callback(fig, msg);\n",
+ " } catch (e) {\n",
+ " console.log(\n",
+ " \"Exception inside the 'handler_\" + msg_type + \"' callback:\",\n",
+ " e,\n",
+ " e.stack,\n",
+ " msg\n",
+ " );\n",
+ " }\n",
+ " }\n",
+ " };\n",
+ "};\n",
+ "\n",
+ "// from https://stackoverflow.com/questions/1114465/getting-mouse-location-in-canvas\n",
+ "mpl.findpos = function (e) {\n",
+ " //this section is from http://www.quirksmode.org/js/events_properties.html\n",
+ " var targ;\n",
+ " if (!e) {\n",
+ " e = window.event;\n",
+ " }\n",
+ " if (e.target) {\n",
+ " targ = e.target;\n",
+ " } else if (e.srcElement) {\n",
+ " targ = e.srcElement;\n",
+ " }\n",
+ " if (targ.nodeType === 3) {\n",
+ " // defeat Safari bug\n",
+ " targ = targ.parentNode;\n",
+ " }\n",
+ "\n",
+ " // pageX,Y are the mouse positions relative to the document\n",
+ " var boundingRect = targ.getBoundingClientRect();\n",
+ " var x = e.pageX - (boundingRect.left + document.body.scrollLeft);\n",
+ " var y = e.pageY - (boundingRect.top + document.body.scrollTop);\n",
+ "\n",
+ " return { x: x, y: y };\n",
+ "};\n",
+ "\n",
+ "/*\n",
+ " * return a copy of an object with only non-object keys\n",
+ " * we need this to avoid circular references\n",
+ " * https://stackoverflow.com/a/24161582/3208463\n",
+ " */\n",
+ "function simpleKeys(original) {\n",
+ " return Object.keys(original).reduce(function (obj, key) {\n",
+ " if (typeof original[key] !== 'object') {\n",
+ " obj[key] = original[key];\n",
+ " }\n",
+ " return obj;\n",
+ " }, {});\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype.mouse_event = function (event, name) {\n",
+ " var canvas_pos = mpl.findpos(event);\n",
+ "\n",
+ " if (name === 'button_press') {\n",
+ " this.canvas.focus();\n",
+ " this.canvas_div.focus();\n",
+ " }\n",
+ "\n",
+ " var x = canvas_pos.x * this.ratio;\n",
+ " var y = canvas_pos.y * this.ratio;\n",
+ "\n",
+ " this.send_message(name, {\n",
+ " x: x,\n",
+ " y: y,\n",
+ " button: event.button,\n",
+ " step: event.step,\n",
+ " guiEvent: simpleKeys(event),\n",
+ " });\n",
+ "\n",
+ " /* This prevents the web browser from automatically changing to\n",
+ " * the text insertion cursor when the button is pressed. We want\n",
+ " * to control all of the cursor setting manually through the\n",
+ " * 'cursor' event from matplotlib */\n",
+ " event.preventDefault();\n",
+ " return false;\n",
+ "};\n",
+ "\n",
+ "mpl.figure.prototype._key_event_extra = function (_event, _name) {\n",
+ " // Handle any extra behaviour associated with a key event\n",
+ "};\n",
+ "\n",
+ "mpl.figure.prototype.key_event = function (event, name) {\n",
+ " // Prevent repeat events\n",
+ " if (name === 'key_press') {\n",
+ " if (event.key === this._key) {\n",
+ " return;\n",
+ " } else {\n",
+ " this._key = event.key;\n",
+ " }\n",
+ " }\n",
+ " if (name === 'key_release') {\n",
+ " this._key = null;\n",
+ " }\n",
+ "\n",
+ " var value = '';\n",
+ " if (event.ctrlKey && event.key !== 'Control') {\n",
+ " value += 'ctrl+';\n",
+ " }\n",
+ " else if (event.altKey && event.key !== 'Alt') {\n",
+ " value += 'alt+';\n",
+ " }\n",
+ " else if (event.shiftKey && event.key !== 'Shift') {\n",
+ " value += 'shift+';\n",
+ " }\n",
+ "\n",
+ " value += 'k' + event.key;\n",
+ "\n",
+ " this._key_event_extra(event, name);\n",
+ "\n",
+ " this.send_message(name, { key: value, guiEvent: simpleKeys(event) });\n",
+ " return false;\n",
+ "};\n",
+ "\n",
+ "mpl.figure.prototype.toolbar_button_onclick = function (name) {\n",
+ " if (name === 'download') {\n",
+ " this.handle_save(this, null);\n",
+ " } else {\n",
+ " this.send_message('toolbar_button', { name: name });\n",
+ " }\n",
+ "};\n",
+ "\n",
+ "mpl.figure.prototype.toolbar_button_onmouseover = function (tooltip) {\n",
+ " this.message.textContent = tooltip;\n",
+ "};\n",
+ "\n",
+ "///////////////// REMAINING CONTENT GENERATED BY embed_js.py /////////////////\n",
+ "// prettier-ignore\n",
+ "var _JSXTOOLS_RESIZE_OBSERVER=function(A){var t,i=new WeakMap,n=new WeakMap,a=new WeakMap,r=new WeakMap,o=new Set;function s(e){if(!(this instanceof s))throw new TypeError(\"Constructor requires 'new' operator\");i.set(this,e)}function h(){throw new TypeError(\"Function is not a constructor\")}function c(e,t,i,n){e=0 in arguments?Number(arguments[0]):0,t=1 in arguments?Number(arguments[1]):0,i=2 in arguments?Number(arguments[2]):0,n=3 in arguments?Number(arguments[3]):0,this.right=(this.x=this.left=e)+(this.width=i),this.bottom=(this.y=this.top=t)+(this.height=n),Object.freeze(this)}function d(){t=requestAnimationFrame(d);var s=new WeakMap,p=new Set;o.forEach((function(t){r.get(t).forEach((function(i){var r=t instanceof window.SVGElement,o=a.get(t),d=r?0:parseFloat(o.paddingTop),f=r?0:parseFloat(o.paddingRight),l=r?0:parseFloat(o.paddingBottom),u=r?0:parseFloat(o.paddingLeft),g=r?0:parseFloat(o.borderTopWidth),m=r?0:parseFloat(o.borderRightWidth),w=r?0:parseFloat(o.borderBottomWidth),b=u+f,F=d+l,v=(r?0:parseFloat(o.borderLeftWidth))+m,W=g+w,y=r?0:t.offsetHeight-W-t.clientHeight,E=r?0:t.offsetWidth-v-t.clientWidth,R=b+v,z=F+W,M=r?t.width:parseFloat(o.width)-R-E,O=r?t.height:parseFloat(o.height)-z-y;if(n.has(t)){var k=n.get(t);if(k[0]===M&&k[1]===O)return}n.set(t,[M,O]);var S=Object.create(h.prototype);S.target=t,S.contentRect=new c(u,d,M,O),s.has(i)||(s.set(i,[]),p.add(i)),s.get(i).push(S)}))})),p.forEach((function(e){i.get(e).call(e,s.get(e),e)}))}return s.prototype.observe=function(i){if(i instanceof window.Element){r.has(i)||(r.set(i,new Set),o.add(i),a.set(i,window.getComputedStyle(i)));var n=r.get(i);n.has(this)||n.add(this),cancelAnimationFrame(t),t=requestAnimationFrame(d)}},s.prototype.unobserve=function(i){if(i instanceof window.Element&&r.has(i)){var n=r.get(i);n.has(this)&&(n.delete(this),n.size||(r.delete(i),o.delete(i))),n.size||r.delete(i),o.size||cancelAnimationFrame(t)}},A.DOMRectReadOnly=c,A.ResizeObserver=s,A.ResizeObserverEntry=h,A}; // eslint-disable-line\n",
+ "mpl.toolbar_items = [[\"Home\", \"Reset original view\", \"fa fa-home icon-home\", \"home\"], [\"Back\", \"Back to previous view\", \"fa fa-arrow-left icon-arrow-left\", \"back\"], [\"Forward\", \"Forward to next view\", \"fa fa-arrow-right icon-arrow-right\", \"forward\"], [\"\", \"\", \"\", \"\"], [\"Pan\", \"Left button pans, Right button zooms\\nx/y fixes axis, CTRL fixes aspect\", \"fa fa-arrows icon-move\", \"pan\"], [\"Zoom\", \"Zoom to rectangle\\nx/y fixes axis\", \"fa fa-square-o icon-check-empty\", \"zoom\"], [\"\", \"\", \"\", \"\"], [\"Download\", \"Download plot\", \"fa fa-floppy-o icon-save\", \"download\"]];\n",
+ "\n",
+ "mpl.extensions = [\"eps\", \"jpeg\", \"pgf\", \"pdf\", \"png\", \"ps\", \"raw\", \"svg\", \"tif\"];\n",
+ "\n",
+ "mpl.default_extension = \"png\";/* global mpl */\n",
+ "\n",
+ "var comm_websocket_adapter = function (comm) {\n",
+ " // Create a \"websocket\"-like object which calls the given IPython comm\n",
+ " // object with the appropriate methods. Currently this is a non binary\n",
+ " // socket, so there is still some room for performance tuning.\n",
+ " var ws = {};\n",
+ "\n",
+ " ws.binaryType = comm.kernel.ws.binaryType;\n",
+ " ws.readyState = comm.kernel.ws.readyState;\n",
+ " function updateReadyState(_event) {\n",
+ " if (comm.kernel.ws) {\n",
+ " ws.readyState = comm.kernel.ws.readyState;\n",
+ " } else {\n",
+ " ws.readyState = 3; // Closed state.\n",
+ " }\n",
+ " }\n",
+ " comm.kernel.ws.addEventListener('open', updateReadyState);\n",
+ " comm.kernel.ws.addEventListener('close', updateReadyState);\n",
+ " comm.kernel.ws.addEventListener('error', updateReadyState);\n",
+ "\n",
+ " ws.close = function () {\n",
+ " comm.close();\n",
+ " };\n",
+ " ws.send = function (m) {\n",
+ " //console.log('sending', m);\n",
+ " comm.send(m);\n",
+ " };\n",
+ " // Register the callback with on_msg.\n",
+ " comm.on_msg(function (msg) {\n",
+ " //console.log('receiving', msg['content']['data'], msg);\n",
+ " var data = msg['content']['data'];\n",
+ " if (data['blob'] !== undefined) {\n",
+ " data = {\n",
+ " data: new Blob(msg['buffers'], { type: data['blob'] }),\n",
+ " };\n",
+ " }\n",
+ " // Pass the mpl event to the overridden (by mpl) onmessage function.\n",
+ " ws.onmessage(data);\n",
+ " });\n",
+ " return ws;\n",
+ "};\n",
+ "\n",
+ "mpl.mpl_figure_comm = function (comm, msg) {\n",
+ " // This is the function which gets called when the mpl process\n",
+ " // starts-up an IPython Comm through the \"matplotlib\" channel.\n",
+ "\n",
+ " var id = msg.content.data.id;\n",
+ " // Get hold of the div created by the display call when the Comm\n",
+ " // socket was opened in Python.\n",
+ " var element = document.getElementById(id);\n",
+ " var ws_proxy = comm_websocket_adapter(comm);\n",
+ "\n",
+ " function ondownload(figure, _format) {\n",
+ " window.open(figure.canvas.toDataURL());\n",
+ " }\n",
+ "\n",
+ " var fig = new mpl.figure(id, ws_proxy, ondownload, element);\n",
+ "\n",
+ " // Call onopen now - mpl needs it, as it is assuming we've passed it a real\n",
+ " // web socket which is closed, not our websocket->open comm proxy.\n",
+ " ws_proxy.onopen();\n",
+ "\n",
+ " fig.parent_element = element;\n",
+ " fig.cell_info = mpl.find_output_cell(\"\");\n",
+ " if (!fig.cell_info) {\n",
+ " console.error('Failed to find cell for figure', id, fig);\n",
+ " return;\n",
+ " }\n",
+ " fig.cell_info[0].output_area.element.on(\n",
+ " 'cleared',\n",
+ " { fig: fig },\n",
+ " fig._remove_fig_handler\n",
+ " );\n",
+ "};\n",
+ "\n",
+ "mpl.figure.prototype.handle_close = function (fig, msg) {\n",
+ " var width = fig.canvas.width / fig.ratio;\n",
+ " fig.cell_info[0].output_area.element.off(\n",
+ " 'cleared',\n",
+ " fig._remove_fig_handler\n",
+ " );\n",
+ " fig.resizeObserverInstance.unobserve(fig.canvas_div);\n",
+ "\n",
+ " // Update the output cell to use the data from the current canvas.\n",
+ " fig.push_to_output();\n",
+ " var dataURL = fig.canvas.toDataURL();\n",
+ " // Re-enable the keyboard manager in IPython - without this line, in FF,\n",
+ " // the notebook keyboard shortcuts fail.\n",
+ " IPython.keyboard_manager.enable();\n",
+ " fig.parent_element.innerHTML =\n",
+ " '
';\n",
+ " fig.close_ws(fig, msg);\n",
+ "};\n",
+ "\n",
+ "mpl.figure.prototype.close_ws = function (fig, msg) {\n",
+ " fig.send_message('closing', msg);\n",
+ " // fig.ws.close()\n",
+ "};\n",
+ "\n",
+ "mpl.figure.prototype.push_to_output = function (_remove_interactive) {\n",
+ " // Turn the data on the canvas into data in the output cell.\n",
+ " var width = this.canvas.width / this.ratio;\n",
+ " var dataURL = this.canvas.toDataURL();\n",
+ " this.cell_info[1]['text/html'] =\n",
+ " '
';\n",
+ "};\n",
+ "\n",
+ "mpl.figure.prototype.updated_canvas_event = function () {\n",
+ " // Tell IPython that the notebook contents must change.\n",
+ " IPython.notebook.set_dirty(true);\n",
+ " this.send_message('ack', {});\n",
+ " var fig = this;\n",
+ " // Wait a second, then push the new image to the DOM so\n",
+ " // that it is saved nicely (might be nice to debounce this).\n",
+ " setTimeout(function () {\n",
+ " fig.push_to_output();\n",
+ " }, 1000);\n",
+ "};\n",
+ "\n",
+ "mpl.figure.prototype._init_toolbar = function () {\n",
+ " var fig = this;\n",
+ "\n",
+ " var toolbar = document.createElement('div');\n",
+ " toolbar.classList = 'btn-toolbar';\n",
+ " this.root.appendChild(toolbar);\n",
+ "\n",
+ " function on_click_closure(name) {\n",
+ " return function (_event) {\n",
+ " return fig.toolbar_button_onclick(name);\n",
+ " };\n",
+ " }\n",
+ "\n",
+ " function on_mouseover_closure(tooltip) {\n",
+ " return function (event) {\n",
+ " if (!event.currentTarget.disabled) {\n",
+ " return fig.toolbar_button_onmouseover(tooltip);\n",
+ " }\n",
+ " };\n",
+ " }\n",
+ "\n",
+ " fig.buttons = {};\n",
+ " var buttonGroup = document.createElement('div');\n",
+ " buttonGroup.classList = 'btn-group';\n",
+ " var button;\n",
+ " for (var toolbar_ind in mpl.toolbar_items) {\n",
+ " var name = mpl.toolbar_items[toolbar_ind][0];\n",
+ " var tooltip = mpl.toolbar_items[toolbar_ind][1];\n",
+ " var image = mpl.toolbar_items[toolbar_ind][2];\n",
+ " var method_name = mpl.toolbar_items[toolbar_ind][3];\n",
+ "\n",
+ " if (!name) {\n",
+ " /* Instead of a spacer, we start a new button group. */\n",
+ " if (buttonGroup.hasChildNodes()) {\n",
+ " toolbar.appendChild(buttonGroup);\n",
+ " }\n",
+ " buttonGroup = document.createElement('div');\n",
+ " buttonGroup.classList = 'btn-group';\n",
+ " continue;\n",
+ " }\n",
+ "\n",
+ " button = fig.buttons[name] = document.createElement('button');\n",
+ " button.classList = 'btn btn-default';\n",
+ " button.href = '#';\n",
+ " button.title = name;\n",
+ " button.innerHTML = '';\n",
+ " button.addEventListener('click', on_click_closure(method_name));\n",
+ " button.addEventListener('mouseover', on_mouseover_closure(tooltip));\n",
+ " buttonGroup.appendChild(button);\n",
+ " }\n",
+ "\n",
+ " if (buttonGroup.hasChildNodes()) {\n",
+ " toolbar.appendChild(buttonGroup);\n",
+ " }\n",
+ "\n",
+ " // Add the status bar.\n",
+ " var status_bar = document.createElement('span');\n",
+ " status_bar.classList = 'mpl-message pull-right';\n",
+ " toolbar.appendChild(status_bar);\n",
+ " this.message = status_bar;\n",
+ "\n",
+ " // Add the close button to the window.\n",
+ " var buttongrp = document.createElement('div');\n",
+ " buttongrp.classList = 'btn-group inline pull-right';\n",
+ " button = document.createElement('button');\n",
+ " button.classList = 'btn btn-mini btn-primary';\n",
+ " button.href = '#';\n",
+ " button.title = 'Stop Interaction';\n",
+ " button.innerHTML = '';\n",
+ " button.addEventListener('click', function (_evt) {\n",
+ " fig.handle_close(fig, {});\n",
+ " });\n",
+ " button.addEventListener(\n",
+ " 'mouseover',\n",
+ " on_mouseover_closure('Stop Interaction')\n",
+ " );\n",
+ " buttongrp.appendChild(button);\n",
+ " var titlebar = this.root.querySelector('.ui-dialog-titlebar');\n",
+ " titlebar.insertBefore(buttongrp, titlebar.firstChild);\n",
+ "};\n",
+ "\n",
+ "mpl.figure.prototype._remove_fig_handler = function (event) {\n",
+ " var fig = event.data.fig;\n",
+ " if (event.target !== this) {\n",
+ " // Ignore bubbled events from children.\n",
+ " return;\n",
+ " }\n",
+ " fig.close_ws(fig, {});\n",
+ "};\n",
+ "\n",
+ "mpl.figure.prototype._root_extra_style = function (el) {\n",
+ " el.style.boxSizing = 'content-box'; // override notebook setting of border-box.\n",
+ "};\n",
+ "\n",
+ "mpl.figure.prototype._canvas_extra_style = function (el) {\n",
+ " // this is important to make the div 'focusable\n",
+ " el.setAttribute('tabindex', 0);\n",
+ " // reach out to IPython and tell the keyboard manager to turn it's self\n",
+ " // off when our div gets focus\n",
+ "\n",
+ " // location in version 3\n",
+ " if (IPython.notebook.keyboard_manager) {\n",
+ " IPython.notebook.keyboard_manager.register_events(el);\n",
+ " } else {\n",
+ " // location in version 2\n",
+ " IPython.keyboard_manager.register_events(el);\n",
+ " }\n",
+ "};\n",
+ "\n",
+ "mpl.figure.prototype._key_event_extra = function (event, _name) {\n",
+ " // Check for shift+enter\n",
+ " if (event.shiftKey && event.which === 13) {\n",
+ " this.canvas_div.blur();\n",
+ " // select the cell after this one\n",
+ " var index = IPython.notebook.find_cell_index(this.cell_info[0]);\n",
+ " IPython.notebook.select(index + 1);\n",
+ " }\n",
+ "};\n",
+ "\n",
+ "mpl.figure.prototype.handle_save = function (fig, _msg) {\n",
+ " fig.ondownload(fig, null);\n",
+ "};\n",
+ "\n",
+ "mpl.find_output_cell = function (html_output) {\n",
+ " // Return the cell and output element which can be found *uniquely* in the notebook.\n",
+ " // Note - this is a bit hacky, but it is done because the \"notebook_saving.Notebook\"\n",
+ " // IPython event is triggered only after the cells have been serialised, which for\n",
+ " // our purposes (turning an active figure into a static one), is too late.\n",
+ " var cells = IPython.notebook.get_cells();\n",
+ " var ncells = cells.length;\n",
+ " for (var i = 0; i < ncells; i++) {\n",
+ " var cell = cells[i];\n",
+ " if (cell.cell_type === 'code') {\n",
+ " for (var j = 0; j < cell.output_area.outputs.length; j++) {\n",
+ " var data = cell.output_area.outputs[j];\n",
+ " if (data.data) {\n",
+ " // IPython >= 3 moved mimebundle to data attribute of output\n",
+ " data = data.data;\n",
+ " }\n",
+ " if (data['text/html'] === html_output) {\n",
+ " return [cell, data, j];\n",
+ " }\n",
+ " }\n",
+ " }\n",
+ " }\n",
+ "};\n",
+ "\n",
+ "// Register the function which deals with the matplotlib target/channel.\n",
+ "// The kernel may be null if the page has been refreshed.\n",
+ "if (IPython.notebook.kernel !== null) {\n",
+ " IPython.notebook.kernel.comm_manager.register_target(\n",
+ " 'matplotlib',\n",
+ " mpl.mpl_figure_comm\n",
+ " );\n",
+ "}\n"
+ ],
+ "text/plain": [
+ ""
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ },
+ {
+ "data": {
+ "text/html": [
+ "
"
+ ],
+ "text/plain": [
+ ""
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ },
+ {
+ "data": {
+ "text/plain": [
+ "[]"
+ ]
+ },
+ "execution_count": 32,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
"source": [
"fig, ax = plt.subplots()\n",
"ax.set_ylim((90,0)) # set limits on y-axis\n",
@@ -509,9 +5470,997 @@
},
{
"cell_type": "code",
- "execution_count": null,
+ "execution_count": 34,
"metadata": {},
- "outputs": [],
+ "outputs": [
+ {
+ "data": {
+ "application/javascript": [
+ "/* Put everything inside the global mpl namespace */\n",
+ "/* global mpl */\n",
+ "window.mpl = {};\n",
+ "\n",
+ "mpl.get_websocket_type = function () {\n",
+ " if (typeof WebSocket !== 'undefined') {\n",
+ " return WebSocket;\n",
+ " } else if (typeof MozWebSocket !== 'undefined') {\n",
+ " return MozWebSocket;\n",
+ " } else {\n",
+ " alert(\n",
+ " 'Your browser does not have WebSocket support. ' +\n",
+ " 'Please try Chrome, Safari or Firefox ≥ 6. ' +\n",
+ " 'Firefox 4 and 5 are also supported but you ' +\n",
+ " 'have to enable WebSockets in about:config.'\n",
+ " );\n",
+ " }\n",
+ "};\n",
+ "\n",
+ "mpl.figure = function (figure_id, websocket, ondownload, parent_element) {\n",
+ " this.id = figure_id;\n",
+ "\n",
+ " this.ws = websocket;\n",
+ "\n",
+ " this.supports_binary = this.ws.binaryType !== undefined;\n",
+ "\n",
+ " if (!this.supports_binary) {\n",
+ " var warnings = document.getElementById('mpl-warnings');\n",
+ " if (warnings) {\n",
+ " warnings.style.display = 'block';\n",
+ " warnings.textContent =\n",
+ " 'This browser does not support binary websocket messages. ' +\n",
+ " 'Performance may be slow.';\n",
+ " }\n",
+ " }\n",
+ "\n",
+ " this.imageObj = new Image();\n",
+ "\n",
+ " this.context = undefined;\n",
+ " this.message = undefined;\n",
+ " this.canvas = undefined;\n",
+ " this.rubberband_canvas = undefined;\n",
+ " this.rubberband_context = undefined;\n",
+ " this.format_dropdown = undefined;\n",
+ "\n",
+ " this.image_mode = 'full';\n",
+ "\n",
+ " this.root = document.createElement('div');\n",
+ " this.root.setAttribute('style', 'display: inline-block');\n",
+ " this._root_extra_style(this.root);\n",
+ "\n",
+ " parent_element.appendChild(this.root);\n",
+ "\n",
+ " this._init_header(this);\n",
+ " this._init_canvas(this);\n",
+ " this._init_toolbar(this);\n",
+ "\n",
+ " var fig = this;\n",
+ "\n",
+ " this.waiting = false;\n",
+ "\n",
+ " this.ws.onopen = function () {\n",
+ " fig.send_message('supports_binary', { value: fig.supports_binary });\n",
+ " fig.send_message('send_image_mode', {});\n",
+ " if (fig.ratio !== 1) {\n",
+ " fig.send_message('set_device_pixel_ratio', {\n",
+ " device_pixel_ratio: fig.ratio,\n",
+ " });\n",
+ " }\n",
+ " fig.send_message('refresh', {});\n",
+ " };\n",
+ "\n",
+ " this.imageObj.onload = function () {\n",
+ " if (fig.image_mode === 'full') {\n",
+ " // Full images could contain transparency (where diff images\n",
+ " // almost always do), so we need to clear the canvas so that\n",
+ " // there is no ghosting.\n",
+ " fig.context.clearRect(0, 0, fig.canvas.width, fig.canvas.height);\n",
+ " }\n",
+ " fig.context.drawImage(fig.imageObj, 0, 0);\n",
+ " };\n",
+ "\n",
+ " this.imageObj.onunload = function () {\n",
+ " fig.ws.close();\n",
+ " };\n",
+ "\n",
+ " this.ws.onmessage = this._make_on_message_function(this);\n",
+ "\n",
+ " this.ondownload = ondownload;\n",
+ "};\n",
+ "\n",
+ "mpl.figure.prototype._init_header = function () {\n",
+ " var titlebar = document.createElement('div');\n",
+ " titlebar.classList =\n",
+ " 'ui-dialog-titlebar ui-widget-header ui-corner-all ui-helper-clearfix';\n",
+ " var titletext = document.createElement('div');\n",
+ " titletext.classList = 'ui-dialog-title';\n",
+ " titletext.setAttribute(\n",
+ " 'style',\n",
+ " 'width: 100%; text-align: center; padding: 3px;'\n",
+ " );\n",
+ " titlebar.appendChild(titletext);\n",
+ " this.root.appendChild(titlebar);\n",
+ " this.header = titletext;\n",
+ "};\n",
+ "\n",
+ "mpl.figure.prototype._canvas_extra_style = function (_canvas_div) {};\n",
+ "\n",
+ "mpl.figure.prototype._root_extra_style = function (_canvas_div) {};\n",
+ "\n",
+ "mpl.figure.prototype._init_canvas = function () {\n",
+ " var fig = this;\n",
+ "\n",
+ " var canvas_div = (this.canvas_div = document.createElement('div'));\n",
+ " canvas_div.setAttribute(\n",
+ " 'style',\n",
+ " 'border: 1px solid #ddd;' +\n",
+ " 'box-sizing: content-box;' +\n",
+ " 'clear: both;' +\n",
+ " 'min-height: 1px;' +\n",
+ " 'min-width: 1px;' +\n",
+ " 'outline: 0;' +\n",
+ " 'overflow: hidden;' +\n",
+ " 'position: relative;' +\n",
+ " 'resize: both;'\n",
+ " );\n",
+ "\n",
+ " function on_keyboard_event_closure(name) {\n",
+ " return function (event) {\n",
+ " return fig.key_event(event, name);\n",
+ " };\n",
+ " }\n",
+ "\n",
+ " canvas_div.addEventListener(\n",
+ " 'keydown',\n",
+ " on_keyboard_event_closure('key_press')\n",
+ " );\n",
+ " canvas_div.addEventListener(\n",
+ " 'keyup',\n",
+ " on_keyboard_event_closure('key_release')\n",
+ " );\n",
+ "\n",
+ " this._canvas_extra_style(canvas_div);\n",
+ " this.root.appendChild(canvas_div);\n",
+ "\n",
+ " var canvas = (this.canvas = document.createElement('canvas'));\n",
+ " canvas.classList.add('mpl-canvas');\n",
+ " canvas.setAttribute('style', 'box-sizing: content-box;');\n",
+ "\n",
+ " this.context = canvas.getContext('2d');\n",
+ "\n",
+ " var backingStore =\n",
+ " this.context.backingStorePixelRatio ||\n",
+ " this.context.webkitBackingStorePixelRatio ||\n",
+ " this.context.mozBackingStorePixelRatio ||\n",
+ " this.context.msBackingStorePixelRatio ||\n",
+ " this.context.oBackingStorePixelRatio ||\n",
+ " this.context.backingStorePixelRatio ||\n",
+ " 1;\n",
+ "\n",
+ " this.ratio = (window.devicePixelRatio || 1) / backingStore;\n",
+ "\n",
+ " var rubberband_canvas = (this.rubberband_canvas = document.createElement(\n",
+ " 'canvas'\n",
+ " ));\n",
+ " rubberband_canvas.setAttribute(\n",
+ " 'style',\n",
+ " 'box-sizing: content-box; position: absolute; left: 0; top: 0; z-index: 1;'\n",
+ " );\n",
+ "\n",
+ " // Apply a ponyfill if ResizeObserver is not implemented by browser.\n",
+ " if (this.ResizeObserver === undefined) {\n",
+ " if (window.ResizeObserver !== undefined) {\n",
+ " this.ResizeObserver = window.ResizeObserver;\n",
+ " } else {\n",
+ " var obs = _JSXTOOLS_RESIZE_OBSERVER({});\n",
+ " this.ResizeObserver = obs.ResizeObserver;\n",
+ " }\n",
+ " }\n",
+ "\n",
+ " this.resizeObserverInstance = new this.ResizeObserver(function (entries) {\n",
+ " var nentries = entries.length;\n",
+ " for (var i = 0; i < nentries; i++) {\n",
+ " var entry = entries[i];\n",
+ " var width, height;\n",
+ " if (entry.contentBoxSize) {\n",
+ " if (entry.contentBoxSize instanceof Array) {\n",
+ " // Chrome 84 implements new version of spec.\n",
+ " width = entry.contentBoxSize[0].inlineSize;\n",
+ " height = entry.contentBoxSize[0].blockSize;\n",
+ " } else {\n",
+ " // Firefox implements old version of spec.\n",
+ " width = entry.contentBoxSize.inlineSize;\n",
+ " height = entry.contentBoxSize.blockSize;\n",
+ " }\n",
+ " } else {\n",
+ " // Chrome <84 implements even older version of spec.\n",
+ " width = entry.contentRect.width;\n",
+ " height = entry.contentRect.height;\n",
+ " }\n",
+ "\n",
+ " // Keep the size of the canvas and rubber band canvas in sync with\n",
+ " // the canvas container.\n",
+ " if (entry.devicePixelContentBoxSize) {\n",
+ " // Chrome 84 implements new version of spec.\n",
+ " canvas.setAttribute(\n",
+ " 'width',\n",
+ " entry.devicePixelContentBoxSize[0].inlineSize\n",
+ " );\n",
+ " canvas.setAttribute(\n",
+ " 'height',\n",
+ " entry.devicePixelContentBoxSize[0].blockSize\n",
+ " );\n",
+ " } else {\n",
+ " canvas.setAttribute('width', width * fig.ratio);\n",
+ " canvas.setAttribute('height', height * fig.ratio);\n",
+ " }\n",
+ " canvas.setAttribute(\n",
+ " 'style',\n",
+ " 'width: ' + width + 'px; height: ' + height + 'px;'\n",
+ " );\n",
+ "\n",
+ " rubberband_canvas.setAttribute('width', width);\n",
+ " rubberband_canvas.setAttribute('height', height);\n",
+ "\n",
+ " // And update the size in Python. We ignore the initial 0/0 size\n",
+ " // that occurs as the element is placed into the DOM, which should\n",
+ " // otherwise not happen due to the minimum size styling.\n",
+ " if (fig.ws.readyState == 1 && width != 0 && height != 0) {\n",
+ " fig.request_resize(width, height);\n",
+ " }\n",
+ " }\n",
+ " });\n",
+ " this.resizeObserverInstance.observe(canvas_div);\n",
+ "\n",
+ " function on_mouse_event_closure(name) {\n",
+ " return function (event) {\n",
+ " return fig.mouse_event(event, name);\n",
+ " };\n",
+ " }\n",
+ "\n",
+ " rubberband_canvas.addEventListener(\n",
+ " 'mousedown',\n",
+ " on_mouse_event_closure('button_press')\n",
+ " );\n",
+ " rubberband_canvas.addEventListener(\n",
+ " 'mouseup',\n",
+ " on_mouse_event_closure('button_release')\n",
+ " );\n",
+ " rubberband_canvas.addEventListener(\n",
+ " 'dblclick',\n",
+ " on_mouse_event_closure('dblclick')\n",
+ " );\n",
+ " // Throttle sequential mouse events to 1 every 20ms.\n",
+ " rubberband_canvas.addEventListener(\n",
+ " 'mousemove',\n",
+ " on_mouse_event_closure('motion_notify')\n",
+ " );\n",
+ "\n",
+ " rubberband_canvas.addEventListener(\n",
+ " 'mouseenter',\n",
+ " on_mouse_event_closure('figure_enter')\n",
+ " );\n",
+ " rubberband_canvas.addEventListener(\n",
+ " 'mouseleave',\n",
+ " on_mouse_event_closure('figure_leave')\n",
+ " );\n",
+ "\n",
+ " canvas_div.addEventListener('wheel', function (event) {\n",
+ " if (event.deltaY < 0) {\n",
+ " event.step = 1;\n",
+ " } else {\n",
+ " event.step = -1;\n",
+ " }\n",
+ " on_mouse_event_closure('scroll')(event);\n",
+ " });\n",
+ "\n",
+ " canvas_div.appendChild(canvas);\n",
+ " canvas_div.appendChild(rubberband_canvas);\n",
+ "\n",
+ " this.rubberband_context = rubberband_canvas.getContext('2d');\n",
+ " this.rubberband_context.strokeStyle = '#000000';\n",
+ "\n",
+ " this._resize_canvas = function (width, height, forward) {\n",
+ " if (forward) {\n",
+ " canvas_div.style.width = width + 'px';\n",
+ " canvas_div.style.height = height + 'px';\n",
+ " }\n",
+ " };\n",
+ "\n",
+ " // Disable right mouse context menu.\n",
+ " this.rubberband_canvas.addEventListener('contextmenu', function (_e) {\n",
+ " event.preventDefault();\n",
+ " return false;\n",
+ " });\n",
+ "\n",
+ " function set_focus() {\n",
+ " canvas.focus();\n",
+ " canvas_div.focus();\n",
+ " }\n",
+ "\n",
+ " window.setTimeout(set_focus, 100);\n",
+ "};\n",
+ "\n",
+ "mpl.figure.prototype._init_toolbar = function () {\n",
+ " var fig = this;\n",
+ "\n",
+ " var toolbar = document.createElement('div');\n",
+ " toolbar.classList = 'mpl-toolbar';\n",
+ " this.root.appendChild(toolbar);\n",
+ "\n",
+ " function on_click_closure(name) {\n",
+ " return function (_event) {\n",
+ " return fig.toolbar_button_onclick(name);\n",
+ " };\n",
+ " }\n",
+ "\n",
+ " function on_mouseover_closure(tooltip) {\n",
+ " return function (event) {\n",
+ " if (!event.currentTarget.disabled) {\n",
+ " return fig.toolbar_button_onmouseover(tooltip);\n",
+ " }\n",
+ " };\n",
+ " }\n",
+ "\n",
+ " fig.buttons = {};\n",
+ " var buttonGroup = document.createElement('div');\n",
+ " buttonGroup.classList = 'mpl-button-group';\n",
+ " for (var toolbar_ind in mpl.toolbar_items) {\n",
+ " var name = mpl.toolbar_items[toolbar_ind][0];\n",
+ " var tooltip = mpl.toolbar_items[toolbar_ind][1];\n",
+ " var image = mpl.toolbar_items[toolbar_ind][2];\n",
+ " var method_name = mpl.toolbar_items[toolbar_ind][3];\n",
+ "\n",
+ " if (!name) {\n",
+ " /* Instead of a spacer, we start a new button group. */\n",
+ " if (buttonGroup.hasChildNodes()) {\n",
+ " toolbar.appendChild(buttonGroup);\n",
+ " }\n",
+ " buttonGroup = document.createElement('div');\n",
+ " buttonGroup.classList = 'mpl-button-group';\n",
+ " continue;\n",
+ " }\n",
+ "\n",
+ " var button = (fig.buttons[name] = document.createElement('button'));\n",
+ " button.classList = 'mpl-widget';\n",
+ " button.setAttribute('role', 'button');\n",
+ " button.setAttribute('aria-disabled', 'false');\n",
+ " button.addEventListener('click', on_click_closure(method_name));\n",
+ " button.addEventListener('mouseover', on_mouseover_closure(tooltip));\n",
+ "\n",
+ " var icon_img = document.createElement('img');\n",
+ " icon_img.src = '_images/' + image + '.png';\n",
+ " icon_img.srcset = '_images/' + image + '_large.png 2x';\n",
+ " icon_img.alt = tooltip;\n",
+ " button.appendChild(icon_img);\n",
+ "\n",
+ " buttonGroup.appendChild(button);\n",
+ " }\n",
+ "\n",
+ " if (buttonGroup.hasChildNodes()) {\n",
+ " toolbar.appendChild(buttonGroup);\n",
+ " }\n",
+ "\n",
+ " var fmt_picker = document.createElement('select');\n",
+ " fmt_picker.classList = 'mpl-widget';\n",
+ " toolbar.appendChild(fmt_picker);\n",
+ " this.format_dropdown = fmt_picker;\n",
+ "\n",
+ " for (var ind in mpl.extensions) {\n",
+ " var fmt = mpl.extensions[ind];\n",
+ " var option = document.createElement('option');\n",
+ " option.selected = fmt === mpl.default_extension;\n",
+ " option.innerHTML = fmt;\n",
+ " fmt_picker.appendChild(option);\n",
+ " }\n",
+ "\n",
+ " var status_bar = document.createElement('span');\n",
+ " status_bar.classList = 'mpl-message';\n",
+ " toolbar.appendChild(status_bar);\n",
+ " this.message = status_bar;\n",
+ "};\n",
+ "\n",
+ "mpl.figure.prototype.request_resize = function (x_pixels, y_pixels) {\n",
+ " // Request matplotlib to resize the figure. Matplotlib will then trigger a resize in the client,\n",
+ " // which will in turn request a refresh of the image.\n",
+ " this.send_message('resize', { width: x_pixels, height: y_pixels });\n",
+ "};\n",
+ "\n",
+ "mpl.figure.prototype.send_message = function (type, properties) {\n",
+ " properties['type'] = type;\n",
+ " properties['figure_id'] = this.id;\n",
+ " this.ws.send(JSON.stringify(properties));\n",
+ "};\n",
+ "\n",
+ "mpl.figure.prototype.send_draw_message = function () {\n",
+ " if (!this.waiting) {\n",
+ " this.waiting = true;\n",
+ " this.ws.send(JSON.stringify({ type: 'draw', figure_id: this.id }));\n",
+ " }\n",
+ "};\n",
+ "\n",
+ "mpl.figure.prototype.handle_save = function (fig, _msg) {\n",
+ " var format_dropdown = fig.format_dropdown;\n",
+ " var format = format_dropdown.options[format_dropdown.selectedIndex].value;\n",
+ " fig.ondownload(fig, format);\n",
+ "};\n",
+ "\n",
+ "mpl.figure.prototype.handle_resize = function (fig, msg) {\n",
+ " var size = msg['size'];\n",
+ " if (size[0] !== fig.canvas.width || size[1] !== fig.canvas.height) {\n",
+ " fig._resize_canvas(size[0], size[1], msg['forward']);\n",
+ " fig.send_message('refresh', {});\n",
+ " }\n",
+ "};\n",
+ "\n",
+ "mpl.figure.prototype.handle_rubberband = function (fig, msg) {\n",
+ " var x0 = msg['x0'] / fig.ratio;\n",
+ " var y0 = (fig.canvas.height - msg['y0']) / fig.ratio;\n",
+ " var x1 = msg['x1'] / fig.ratio;\n",
+ " var y1 = (fig.canvas.height - msg['y1']) / fig.ratio;\n",
+ " x0 = Math.floor(x0) + 0.5;\n",
+ " y0 = Math.floor(y0) + 0.5;\n",
+ " x1 = Math.floor(x1) + 0.5;\n",
+ " y1 = Math.floor(y1) + 0.5;\n",
+ " var min_x = Math.min(x0, x1);\n",
+ " var min_y = Math.min(y0, y1);\n",
+ " var width = Math.abs(x1 - x0);\n",
+ " var height = Math.abs(y1 - y0);\n",
+ "\n",
+ " fig.rubberband_context.clearRect(\n",
+ " 0,\n",
+ " 0,\n",
+ " fig.canvas.width / fig.ratio,\n",
+ " fig.canvas.height / fig.ratio\n",
+ " );\n",
+ "\n",
+ " fig.rubberband_context.strokeRect(min_x, min_y, width, height);\n",
+ "};\n",
+ "\n",
+ "mpl.figure.prototype.handle_figure_label = function (fig, msg) {\n",
+ " // Updates the figure title.\n",
+ " fig.header.textContent = msg['label'];\n",
+ "};\n",
+ "\n",
+ "mpl.figure.prototype.handle_cursor = function (fig, msg) {\n",
+ " fig.rubberband_canvas.style.cursor = msg['cursor'];\n",
+ "};\n",
+ "\n",
+ "mpl.figure.prototype.handle_message = function (fig, msg) {\n",
+ " fig.message.textContent = msg['message'];\n",
+ "};\n",
+ "\n",
+ "mpl.figure.prototype.handle_draw = function (fig, _msg) {\n",
+ " // Request the server to send over a new figure.\n",
+ " fig.send_draw_message();\n",
+ "};\n",
+ "\n",
+ "mpl.figure.prototype.handle_image_mode = function (fig, msg) {\n",
+ " fig.image_mode = msg['mode'];\n",
+ "};\n",
+ "\n",
+ "mpl.figure.prototype.handle_history_buttons = function (fig, msg) {\n",
+ " for (var key in msg) {\n",
+ " if (!(key in fig.buttons)) {\n",
+ " continue;\n",
+ " }\n",
+ " fig.buttons[key].disabled = !msg[key];\n",
+ " fig.buttons[key].setAttribute('aria-disabled', !msg[key]);\n",
+ " }\n",
+ "};\n",
+ "\n",
+ "mpl.figure.prototype.handle_navigate_mode = function (fig, msg) {\n",
+ " if (msg['mode'] === 'PAN') {\n",
+ " fig.buttons['Pan'].classList.add('active');\n",
+ " fig.buttons['Zoom'].classList.remove('active');\n",
+ " } else if (msg['mode'] === 'ZOOM') {\n",
+ " fig.buttons['Pan'].classList.remove('active');\n",
+ " fig.buttons['Zoom'].classList.add('active');\n",
+ " } else {\n",
+ " fig.buttons['Pan'].classList.remove('active');\n",
+ " fig.buttons['Zoom'].classList.remove('active');\n",
+ " }\n",
+ "};\n",
+ "\n",
+ "mpl.figure.prototype.updated_canvas_event = function () {\n",
+ " // Called whenever the canvas gets updated.\n",
+ " this.send_message('ack', {});\n",
+ "};\n",
+ "\n",
+ "// A function to construct a web socket function for onmessage handling.\n",
+ "// Called in the figure constructor.\n",
+ "mpl.figure.prototype._make_on_message_function = function (fig) {\n",
+ " return function socket_on_message(evt) {\n",
+ " if (evt.data instanceof Blob) {\n",
+ " var img = evt.data;\n",
+ " if (img.type !== 'image/png') {\n",
+ " /* FIXME: We get \"Resource interpreted as Image but\n",
+ " * transferred with MIME type text/plain:\" errors on\n",
+ " * Chrome. But how to set the MIME type? It doesn't seem\n",
+ " * to be part of the websocket stream */\n",
+ " img.type = 'image/png';\n",
+ " }\n",
+ "\n",
+ " /* Free the memory for the previous frames */\n",
+ " if (fig.imageObj.src) {\n",
+ " (window.URL || window.webkitURL).revokeObjectURL(\n",
+ " fig.imageObj.src\n",
+ " );\n",
+ " }\n",
+ "\n",
+ " fig.imageObj.src = (window.URL || window.webkitURL).createObjectURL(\n",
+ " img\n",
+ " );\n",
+ " fig.updated_canvas_event();\n",
+ " fig.waiting = false;\n",
+ " return;\n",
+ " } else if (\n",
+ " typeof evt.data === 'string' &&\n",
+ " evt.data.slice(0, 21) === 'data:image/png;base64'\n",
+ " ) {\n",
+ " fig.imageObj.src = evt.data;\n",
+ " fig.updated_canvas_event();\n",
+ " fig.waiting = false;\n",
+ " return;\n",
+ " }\n",
+ "\n",
+ " var msg = JSON.parse(evt.data);\n",
+ " var msg_type = msg['type'];\n",
+ "\n",
+ " // Call the \"handle_{type}\" callback, which takes\n",
+ " // the figure and JSON message as its only arguments.\n",
+ " try {\n",
+ " var callback = fig['handle_' + msg_type];\n",
+ " } catch (e) {\n",
+ " console.log(\n",
+ " \"No handler for the '\" + msg_type + \"' message type: \",\n",
+ " msg\n",
+ " );\n",
+ " return;\n",
+ " }\n",
+ "\n",
+ " if (callback) {\n",
+ " try {\n",
+ " // console.log(\"Handling '\" + msg_type + \"' message: \", msg);\n",
+ " callback(fig, msg);\n",
+ " } catch (e) {\n",
+ " console.log(\n",
+ " \"Exception inside the 'handler_\" + msg_type + \"' callback:\",\n",
+ " e,\n",
+ " e.stack,\n",
+ " msg\n",
+ " );\n",
+ " }\n",
+ " }\n",
+ " };\n",
+ "};\n",
+ "\n",
+ "// from https://stackoverflow.com/questions/1114465/getting-mouse-location-in-canvas\n",
+ "mpl.findpos = function (e) {\n",
+ " //this section is from http://www.quirksmode.org/js/events_properties.html\n",
+ " var targ;\n",
+ " if (!e) {\n",
+ " e = window.event;\n",
+ " }\n",
+ " if (e.target) {\n",
+ " targ = e.target;\n",
+ " } else if (e.srcElement) {\n",
+ " targ = e.srcElement;\n",
+ " }\n",
+ " if (targ.nodeType === 3) {\n",
+ " // defeat Safari bug\n",
+ " targ = targ.parentNode;\n",
+ " }\n",
+ "\n",
+ " // pageX,Y are the mouse positions relative to the document\n",
+ " var boundingRect = targ.getBoundingClientRect();\n",
+ " var x = e.pageX - (boundingRect.left + document.body.scrollLeft);\n",
+ " var y = e.pageY - (boundingRect.top + document.body.scrollTop);\n",
+ "\n",
+ " return { x: x, y: y };\n",
+ "};\n",
+ "\n",
+ "/*\n",
+ " * return a copy of an object with only non-object keys\n",
+ " * we need this to avoid circular references\n",
+ " * https://stackoverflow.com/a/24161582/3208463\n",
+ " */\n",
+ "function simpleKeys(original) {\n",
+ " return Object.keys(original).reduce(function (obj, key) {\n",
+ " if (typeof original[key] !== 'object') {\n",
+ " obj[key] = original[key];\n",
+ " }\n",
+ " return obj;\n",
+ " }, {});\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype.mouse_event = function (event, name) {\n",
+ " var canvas_pos = mpl.findpos(event);\n",
+ "\n",
+ " if (name === 'button_press') {\n",
+ " this.canvas.focus();\n",
+ " this.canvas_div.focus();\n",
+ " }\n",
+ "\n",
+ " var x = canvas_pos.x * this.ratio;\n",
+ " var y = canvas_pos.y * this.ratio;\n",
+ "\n",
+ " this.send_message(name, {\n",
+ " x: x,\n",
+ " y: y,\n",
+ " button: event.button,\n",
+ " step: event.step,\n",
+ " guiEvent: simpleKeys(event),\n",
+ " });\n",
+ "\n",
+ " /* This prevents the web browser from automatically changing to\n",
+ " * the text insertion cursor when the button is pressed. We want\n",
+ " * to control all of the cursor setting manually through the\n",
+ " * 'cursor' event from matplotlib */\n",
+ " event.preventDefault();\n",
+ " return false;\n",
+ "};\n",
+ "\n",
+ "mpl.figure.prototype._key_event_extra = function (_event, _name) {\n",
+ " // Handle any extra behaviour associated with a key event\n",
+ "};\n",
+ "\n",
+ "mpl.figure.prototype.key_event = function (event, name) {\n",
+ " // Prevent repeat events\n",
+ " if (name === 'key_press') {\n",
+ " if (event.key === this._key) {\n",
+ " return;\n",
+ " } else {\n",
+ " this._key = event.key;\n",
+ " }\n",
+ " }\n",
+ " if (name === 'key_release') {\n",
+ " this._key = null;\n",
+ " }\n",
+ "\n",
+ " var value = '';\n",
+ " if (event.ctrlKey && event.key !== 'Control') {\n",
+ " value += 'ctrl+';\n",
+ " }\n",
+ " else if (event.altKey && event.key !== 'Alt') {\n",
+ " value += 'alt+';\n",
+ " }\n",
+ " else if (event.shiftKey && event.key !== 'Shift') {\n",
+ " value += 'shift+';\n",
+ " }\n",
+ "\n",
+ " value += 'k' + event.key;\n",
+ "\n",
+ " this._key_event_extra(event, name);\n",
+ "\n",
+ " this.send_message(name, { key: value, guiEvent: simpleKeys(event) });\n",
+ " return false;\n",
+ "};\n",
+ "\n",
+ "mpl.figure.prototype.toolbar_button_onclick = function (name) {\n",
+ " if (name === 'download') {\n",
+ " this.handle_save(this, null);\n",
+ " } else {\n",
+ " this.send_message('toolbar_button', { name: name });\n",
+ " }\n",
+ "};\n",
+ "\n",
+ "mpl.figure.prototype.toolbar_button_onmouseover = function (tooltip) {\n",
+ " this.message.textContent = tooltip;\n",
+ "};\n",
+ "\n",
+ "///////////////// REMAINING CONTENT GENERATED BY embed_js.py /////////////////\n",
+ "// prettier-ignore\n",
+ "var _JSXTOOLS_RESIZE_OBSERVER=function(A){var t,i=new WeakMap,n=new WeakMap,a=new WeakMap,r=new WeakMap,o=new Set;function s(e){if(!(this instanceof s))throw new TypeError(\"Constructor requires 'new' operator\");i.set(this,e)}function h(){throw new TypeError(\"Function is not a constructor\")}function c(e,t,i,n){e=0 in arguments?Number(arguments[0]):0,t=1 in arguments?Number(arguments[1]):0,i=2 in arguments?Number(arguments[2]):0,n=3 in arguments?Number(arguments[3]):0,this.right=(this.x=this.left=e)+(this.width=i),this.bottom=(this.y=this.top=t)+(this.height=n),Object.freeze(this)}function d(){t=requestAnimationFrame(d);var s=new WeakMap,p=new Set;o.forEach((function(t){r.get(t).forEach((function(i){var r=t instanceof window.SVGElement,o=a.get(t),d=r?0:parseFloat(o.paddingTop),f=r?0:parseFloat(o.paddingRight),l=r?0:parseFloat(o.paddingBottom),u=r?0:parseFloat(o.paddingLeft),g=r?0:parseFloat(o.borderTopWidth),m=r?0:parseFloat(o.borderRightWidth),w=r?0:parseFloat(o.borderBottomWidth),b=u+f,F=d+l,v=(r?0:parseFloat(o.borderLeftWidth))+m,W=g+w,y=r?0:t.offsetHeight-W-t.clientHeight,E=r?0:t.offsetWidth-v-t.clientWidth,R=b+v,z=F+W,M=r?t.width:parseFloat(o.width)-R-E,O=r?t.height:parseFloat(o.height)-z-y;if(n.has(t)){var k=n.get(t);if(k[0]===M&&k[1]===O)return}n.set(t,[M,O]);var S=Object.create(h.prototype);S.target=t,S.contentRect=new c(u,d,M,O),s.has(i)||(s.set(i,[]),p.add(i)),s.get(i).push(S)}))})),p.forEach((function(e){i.get(e).call(e,s.get(e),e)}))}return s.prototype.observe=function(i){if(i instanceof window.Element){r.has(i)||(r.set(i,new Set),o.add(i),a.set(i,window.getComputedStyle(i)));var n=r.get(i);n.has(this)||n.add(this),cancelAnimationFrame(t),t=requestAnimationFrame(d)}},s.prototype.unobserve=function(i){if(i instanceof window.Element&&r.has(i)){var n=r.get(i);n.has(this)&&(n.delete(this),n.size||(r.delete(i),o.delete(i))),n.size||r.delete(i),o.size||cancelAnimationFrame(t)}},A.DOMRectReadOnly=c,A.ResizeObserver=s,A.ResizeObserverEntry=h,A}; // eslint-disable-line\n",
+ "mpl.toolbar_items = [[\"Home\", \"Reset original view\", \"fa fa-home icon-home\", \"home\"], [\"Back\", \"Back to previous view\", \"fa fa-arrow-left icon-arrow-left\", \"back\"], [\"Forward\", \"Forward to next view\", \"fa fa-arrow-right icon-arrow-right\", \"forward\"], [\"\", \"\", \"\", \"\"], [\"Pan\", \"Left button pans, Right button zooms\\nx/y fixes axis, CTRL fixes aspect\", \"fa fa-arrows icon-move\", \"pan\"], [\"Zoom\", \"Zoom to rectangle\\nx/y fixes axis\", \"fa fa-square-o icon-check-empty\", \"zoom\"], [\"\", \"\", \"\", \"\"], [\"Download\", \"Download plot\", \"fa fa-floppy-o icon-save\", \"download\"]];\n",
+ "\n",
+ "mpl.extensions = [\"eps\", \"jpeg\", \"pgf\", \"pdf\", \"png\", \"ps\", \"raw\", \"svg\", \"tif\"];\n",
+ "\n",
+ "mpl.default_extension = \"png\";/* global mpl */\n",
+ "\n",
+ "var comm_websocket_adapter = function (comm) {\n",
+ " // Create a \"websocket\"-like object which calls the given IPython comm\n",
+ " // object with the appropriate methods. Currently this is a non binary\n",
+ " // socket, so there is still some room for performance tuning.\n",
+ " var ws = {};\n",
+ "\n",
+ " ws.binaryType = comm.kernel.ws.binaryType;\n",
+ " ws.readyState = comm.kernel.ws.readyState;\n",
+ " function updateReadyState(_event) {\n",
+ " if (comm.kernel.ws) {\n",
+ " ws.readyState = comm.kernel.ws.readyState;\n",
+ " } else {\n",
+ " ws.readyState = 3; // Closed state.\n",
+ " }\n",
+ " }\n",
+ " comm.kernel.ws.addEventListener('open', updateReadyState);\n",
+ " comm.kernel.ws.addEventListener('close', updateReadyState);\n",
+ " comm.kernel.ws.addEventListener('error', updateReadyState);\n",
+ "\n",
+ " ws.close = function () {\n",
+ " comm.close();\n",
+ " };\n",
+ " ws.send = function (m) {\n",
+ " //console.log('sending', m);\n",
+ " comm.send(m);\n",
+ " };\n",
+ " // Register the callback with on_msg.\n",
+ " comm.on_msg(function (msg) {\n",
+ " //console.log('receiving', msg['content']['data'], msg);\n",
+ " var data = msg['content']['data'];\n",
+ " if (data['blob'] !== undefined) {\n",
+ " data = {\n",
+ " data: new Blob(msg['buffers'], { type: data['blob'] }),\n",
+ " };\n",
+ " }\n",
+ " // Pass the mpl event to the overridden (by mpl) onmessage function.\n",
+ " ws.onmessage(data);\n",
+ " });\n",
+ " return ws;\n",
+ "};\n",
+ "\n",
+ "mpl.mpl_figure_comm = function (comm, msg) {\n",
+ " // This is the function which gets called when the mpl process\n",
+ " // starts-up an IPython Comm through the \"matplotlib\" channel.\n",
+ "\n",
+ " var id = msg.content.data.id;\n",
+ " // Get hold of the div created by the display call when the Comm\n",
+ " // socket was opened in Python.\n",
+ " var element = document.getElementById(id);\n",
+ " var ws_proxy = comm_websocket_adapter(comm);\n",
+ "\n",
+ " function ondownload(figure, _format) {\n",
+ " window.open(figure.canvas.toDataURL());\n",
+ " }\n",
+ "\n",
+ " var fig = new mpl.figure(id, ws_proxy, ondownload, element);\n",
+ "\n",
+ " // Call onopen now - mpl needs it, as it is assuming we've passed it a real\n",
+ " // web socket which is closed, not our websocket->open comm proxy.\n",
+ " ws_proxy.onopen();\n",
+ "\n",
+ " fig.parent_element = element;\n",
+ " fig.cell_info = mpl.find_output_cell(\"\");\n",
+ " if (!fig.cell_info) {\n",
+ " console.error('Failed to find cell for figure', id, fig);\n",
+ " return;\n",
+ " }\n",
+ " fig.cell_info[0].output_area.element.on(\n",
+ " 'cleared',\n",
+ " { fig: fig },\n",
+ " fig._remove_fig_handler\n",
+ " );\n",
+ "};\n",
+ "\n",
+ "mpl.figure.prototype.handle_close = function (fig, msg) {\n",
+ " var width = fig.canvas.width / fig.ratio;\n",
+ " fig.cell_info[0].output_area.element.off(\n",
+ " 'cleared',\n",
+ " fig._remove_fig_handler\n",
+ " );\n",
+ " fig.resizeObserverInstance.unobserve(fig.canvas_div);\n",
+ "\n",
+ " // Update the output cell to use the data from the current canvas.\n",
+ " fig.push_to_output();\n",
+ " var dataURL = fig.canvas.toDataURL();\n",
+ " // Re-enable the keyboard manager in IPython - without this line, in FF,\n",
+ " // the notebook keyboard shortcuts fail.\n",
+ " IPython.keyboard_manager.enable();\n",
+ " fig.parent_element.innerHTML =\n",
+ " '
';\n",
+ " fig.close_ws(fig, msg);\n",
+ "};\n",
+ "\n",
+ "mpl.figure.prototype.close_ws = function (fig, msg) {\n",
+ " fig.send_message('closing', msg);\n",
+ " // fig.ws.close()\n",
+ "};\n",
+ "\n",
+ "mpl.figure.prototype.push_to_output = function (_remove_interactive) {\n",
+ " // Turn the data on the canvas into data in the output cell.\n",
+ " var width = this.canvas.width / this.ratio;\n",
+ " var dataURL = this.canvas.toDataURL();\n",
+ " this.cell_info[1]['text/html'] =\n",
+ " '
';\n",
+ "};\n",
+ "\n",
+ "mpl.figure.prototype.updated_canvas_event = function () {\n",
+ " // Tell IPython that the notebook contents must change.\n",
+ " IPython.notebook.set_dirty(true);\n",
+ " this.send_message('ack', {});\n",
+ " var fig = this;\n",
+ " // Wait a second, then push the new image to the DOM so\n",
+ " // that it is saved nicely (might be nice to debounce this).\n",
+ " setTimeout(function () {\n",
+ " fig.push_to_output();\n",
+ " }, 1000);\n",
+ "};\n",
+ "\n",
+ "mpl.figure.prototype._init_toolbar = function () {\n",
+ " var fig = this;\n",
+ "\n",
+ " var toolbar = document.createElement('div');\n",
+ " toolbar.classList = 'btn-toolbar';\n",
+ " this.root.appendChild(toolbar);\n",
+ "\n",
+ " function on_click_closure(name) {\n",
+ " return function (_event) {\n",
+ " return fig.toolbar_button_onclick(name);\n",
+ " };\n",
+ " }\n",
+ "\n",
+ " function on_mouseover_closure(tooltip) {\n",
+ " return function (event) {\n",
+ " if (!event.currentTarget.disabled) {\n",
+ " return fig.toolbar_button_onmouseover(tooltip);\n",
+ " }\n",
+ " };\n",
+ " }\n",
+ "\n",
+ " fig.buttons = {};\n",
+ " var buttonGroup = document.createElement('div');\n",
+ " buttonGroup.classList = 'btn-group';\n",
+ " var button;\n",
+ " for (var toolbar_ind in mpl.toolbar_items) {\n",
+ " var name = mpl.toolbar_items[toolbar_ind][0];\n",
+ " var tooltip = mpl.toolbar_items[toolbar_ind][1];\n",
+ " var image = mpl.toolbar_items[toolbar_ind][2];\n",
+ " var method_name = mpl.toolbar_items[toolbar_ind][3];\n",
+ "\n",
+ " if (!name) {\n",
+ " /* Instead of a spacer, we start a new button group. */\n",
+ " if (buttonGroup.hasChildNodes()) {\n",
+ " toolbar.appendChild(buttonGroup);\n",
+ " }\n",
+ " buttonGroup = document.createElement('div');\n",
+ " buttonGroup.classList = 'btn-group';\n",
+ " continue;\n",
+ " }\n",
+ "\n",
+ " button = fig.buttons[name] = document.createElement('button');\n",
+ " button.classList = 'btn btn-default';\n",
+ " button.href = '#';\n",
+ " button.title = name;\n",
+ " button.innerHTML = '';\n",
+ " button.addEventListener('click', on_click_closure(method_name));\n",
+ " button.addEventListener('mouseover', on_mouseover_closure(tooltip));\n",
+ " buttonGroup.appendChild(button);\n",
+ " }\n",
+ "\n",
+ " if (buttonGroup.hasChildNodes()) {\n",
+ " toolbar.appendChild(buttonGroup);\n",
+ " }\n",
+ "\n",
+ " // Add the status bar.\n",
+ " var status_bar = document.createElement('span');\n",
+ " status_bar.classList = 'mpl-message pull-right';\n",
+ " toolbar.appendChild(status_bar);\n",
+ " this.message = status_bar;\n",
+ "\n",
+ " // Add the close button to the window.\n",
+ " var buttongrp = document.createElement('div');\n",
+ " buttongrp.classList = 'btn-group inline pull-right';\n",
+ " button = document.createElement('button');\n",
+ " button.classList = 'btn btn-mini btn-primary';\n",
+ " button.href = '#';\n",
+ " button.title = 'Stop Interaction';\n",
+ " button.innerHTML = '';\n",
+ " button.addEventListener('click', function (_evt) {\n",
+ " fig.handle_close(fig, {});\n",
+ " });\n",
+ " button.addEventListener(\n",
+ " 'mouseover',\n",
+ " on_mouseover_closure('Stop Interaction')\n",
+ " );\n",
+ " buttongrp.appendChild(button);\n",
+ " var titlebar = this.root.querySelector('.ui-dialog-titlebar');\n",
+ " titlebar.insertBefore(buttongrp, titlebar.firstChild);\n",
+ "};\n",
+ "\n",
+ "mpl.figure.prototype._remove_fig_handler = function (event) {\n",
+ " var fig = event.data.fig;\n",
+ " if (event.target !== this) {\n",
+ " // Ignore bubbled events from children.\n",
+ " return;\n",
+ " }\n",
+ " fig.close_ws(fig, {});\n",
+ "};\n",
+ "\n",
+ "mpl.figure.prototype._root_extra_style = function (el) {\n",
+ " el.style.boxSizing = 'content-box'; // override notebook setting of border-box.\n",
+ "};\n",
+ "\n",
+ "mpl.figure.prototype._canvas_extra_style = function (el) {\n",
+ " // this is important to make the div 'focusable\n",
+ " el.setAttribute('tabindex', 0);\n",
+ " // reach out to IPython and tell the keyboard manager to turn it's self\n",
+ " // off when our div gets focus\n",
+ "\n",
+ " // location in version 3\n",
+ " if (IPython.notebook.keyboard_manager) {\n",
+ " IPython.notebook.keyboard_manager.register_events(el);\n",
+ " } else {\n",
+ " // location in version 2\n",
+ " IPython.keyboard_manager.register_events(el);\n",
+ " }\n",
+ "};\n",
+ "\n",
+ "mpl.figure.prototype._key_event_extra = function (event, _name) {\n",
+ " // Check for shift+enter\n",
+ " if (event.shiftKey && event.which === 13) {\n",
+ " this.canvas_div.blur();\n",
+ " // select the cell after this one\n",
+ " var index = IPython.notebook.find_cell_index(this.cell_info[0]);\n",
+ " IPython.notebook.select(index + 1);\n",
+ " }\n",
+ "};\n",
+ "\n",
+ "mpl.figure.prototype.handle_save = function (fig, _msg) {\n",
+ " fig.ondownload(fig, null);\n",
+ "};\n",
+ "\n",
+ "mpl.find_output_cell = function (html_output) {\n",
+ " // Return the cell and output element which can be found *uniquely* in the notebook.\n",
+ " // Note - this is a bit hacky, but it is done because the \"notebook_saving.Notebook\"\n",
+ " // IPython event is triggered only after the cells have been serialised, which for\n",
+ " // our purposes (turning an active figure into a static one), is too late.\n",
+ " var cells = IPython.notebook.get_cells();\n",
+ " var ncells = cells.length;\n",
+ " for (var i = 0; i < ncells; i++) {\n",
+ " var cell = cells[i];\n",
+ " if (cell.cell_type === 'code') {\n",
+ " for (var j = 0; j < cell.output_area.outputs.length; j++) {\n",
+ " var data = cell.output_area.outputs[j];\n",
+ " if (data.data) {\n",
+ " // IPython >= 3 moved mimebundle to data attribute of output\n",
+ " data = data.data;\n",
+ " }\n",
+ " if (data['text/html'] === html_output) {\n",
+ " return [cell, data, j];\n",
+ " }\n",
+ " }\n",
+ " }\n",
+ " }\n",
+ "};\n",
+ "\n",
+ "// Register the function which deals with the matplotlib target/channel.\n",
+ "// The kernel may be null if the page has been refreshed.\n",
+ "if (IPython.notebook.kernel !== null) {\n",
+ " IPython.notebook.kernel.comm_manager.register_target(\n",
+ " 'matplotlib',\n",
+ " mpl.mpl_figure_comm\n",
+ " );\n",
+ "}\n"
+ ],
+ "text/plain": [
+ ""
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ },
+ {
+ "data": {
+ "text/html": [
+ "
"
+ ],
+ "text/plain": [
+ ""
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ },
+ {
+ "data": {
+ "text/plain": [
+ "[]"
+ ]
+ },
+ "execution_count": 34,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
"source": [
"fig, ax = plt.subplots()\n",
"\n",
@@ -520,7 +6469,7 @@
"ax.set_xlabel('x',fontsize=15)\n",
"ax.set_ylabel('y',fontsize=15)\n",
"ax.plot(x,y,color='gold',mec='mediumvioletred',mew=2,marker='p',ms=25,ls='None')\n",
- "ax.plot(x,y,color='mediumvioletred',ls='-.',lw=2)"
+ "ax.plot(x,y,color='mediumvioletred',ls='dashdot',lw=2)"
]
},
{
@@ -534,9 +6483,997 @@
},
{
"cell_type": "code",
- "execution_count": null,
+ "execution_count": 36,
"metadata": {},
- "outputs": [],
+ "outputs": [
+ {
+ "data": {
+ "application/javascript": [
+ "/* Put everything inside the global mpl namespace */\n",
+ "/* global mpl */\n",
+ "window.mpl = {};\n",
+ "\n",
+ "mpl.get_websocket_type = function () {\n",
+ " if (typeof WebSocket !== 'undefined') {\n",
+ " return WebSocket;\n",
+ " } else if (typeof MozWebSocket !== 'undefined') {\n",
+ " return MozWebSocket;\n",
+ " } else {\n",
+ " alert(\n",
+ " 'Your browser does not have WebSocket support. ' +\n",
+ " 'Please try Chrome, Safari or Firefox ≥ 6. ' +\n",
+ " 'Firefox 4 and 5 are also supported but you ' +\n",
+ " 'have to enable WebSockets in about:config.'\n",
+ " );\n",
+ " }\n",
+ "};\n",
+ "\n",
+ "mpl.figure = function (figure_id, websocket, ondownload, parent_element) {\n",
+ " this.id = figure_id;\n",
+ "\n",
+ " this.ws = websocket;\n",
+ "\n",
+ " this.supports_binary = this.ws.binaryType !== undefined;\n",
+ "\n",
+ " if (!this.supports_binary) {\n",
+ " var warnings = document.getElementById('mpl-warnings');\n",
+ " if (warnings) {\n",
+ " warnings.style.display = 'block';\n",
+ " warnings.textContent =\n",
+ " 'This browser does not support binary websocket messages. ' +\n",
+ " 'Performance may be slow.';\n",
+ " }\n",
+ " }\n",
+ "\n",
+ " this.imageObj = new Image();\n",
+ "\n",
+ " this.context = undefined;\n",
+ " this.message = undefined;\n",
+ " this.canvas = undefined;\n",
+ " this.rubberband_canvas = undefined;\n",
+ " this.rubberband_context = undefined;\n",
+ " this.format_dropdown = undefined;\n",
+ "\n",
+ " this.image_mode = 'full';\n",
+ "\n",
+ " this.root = document.createElement('div');\n",
+ " this.root.setAttribute('style', 'display: inline-block');\n",
+ " this._root_extra_style(this.root);\n",
+ "\n",
+ " parent_element.appendChild(this.root);\n",
+ "\n",
+ " this._init_header(this);\n",
+ " this._init_canvas(this);\n",
+ " this._init_toolbar(this);\n",
+ "\n",
+ " var fig = this;\n",
+ "\n",
+ " this.waiting = false;\n",
+ "\n",
+ " this.ws.onopen = function () {\n",
+ " fig.send_message('supports_binary', { value: fig.supports_binary });\n",
+ " fig.send_message('send_image_mode', {});\n",
+ " if (fig.ratio !== 1) {\n",
+ " fig.send_message('set_device_pixel_ratio', {\n",
+ " device_pixel_ratio: fig.ratio,\n",
+ " });\n",
+ " }\n",
+ " fig.send_message('refresh', {});\n",
+ " };\n",
+ "\n",
+ " this.imageObj.onload = function () {\n",
+ " if (fig.image_mode === 'full') {\n",
+ " // Full images could contain transparency (where diff images\n",
+ " // almost always do), so we need to clear the canvas so that\n",
+ " // there is no ghosting.\n",
+ " fig.context.clearRect(0, 0, fig.canvas.width, fig.canvas.height);\n",
+ " }\n",
+ " fig.context.drawImage(fig.imageObj, 0, 0);\n",
+ " };\n",
+ "\n",
+ " this.imageObj.onunload = function () {\n",
+ " fig.ws.close();\n",
+ " };\n",
+ "\n",
+ " this.ws.onmessage = this._make_on_message_function(this);\n",
+ "\n",
+ " this.ondownload = ondownload;\n",
+ "};\n",
+ "\n",
+ "mpl.figure.prototype._init_header = function () {\n",
+ " var titlebar = document.createElement('div');\n",
+ " titlebar.classList =\n",
+ " 'ui-dialog-titlebar ui-widget-header ui-corner-all ui-helper-clearfix';\n",
+ " var titletext = document.createElement('div');\n",
+ " titletext.classList = 'ui-dialog-title';\n",
+ " titletext.setAttribute(\n",
+ " 'style',\n",
+ " 'width: 100%; text-align: center; padding: 3px;'\n",
+ " );\n",
+ " titlebar.appendChild(titletext);\n",
+ " this.root.appendChild(titlebar);\n",
+ " this.header = titletext;\n",
+ "};\n",
+ "\n",
+ "mpl.figure.prototype._canvas_extra_style = function (_canvas_div) {};\n",
+ "\n",
+ "mpl.figure.prototype._root_extra_style = function (_canvas_div) {};\n",
+ "\n",
+ "mpl.figure.prototype._init_canvas = function () {\n",
+ " var fig = this;\n",
+ "\n",
+ " var canvas_div = (this.canvas_div = document.createElement('div'));\n",
+ " canvas_div.setAttribute(\n",
+ " 'style',\n",
+ " 'border: 1px solid #ddd;' +\n",
+ " 'box-sizing: content-box;' +\n",
+ " 'clear: both;' +\n",
+ " 'min-height: 1px;' +\n",
+ " 'min-width: 1px;' +\n",
+ " 'outline: 0;' +\n",
+ " 'overflow: hidden;' +\n",
+ " 'position: relative;' +\n",
+ " 'resize: both;'\n",
+ " );\n",
+ "\n",
+ " function on_keyboard_event_closure(name) {\n",
+ " return function (event) {\n",
+ " return fig.key_event(event, name);\n",
+ " };\n",
+ " }\n",
+ "\n",
+ " canvas_div.addEventListener(\n",
+ " 'keydown',\n",
+ " on_keyboard_event_closure('key_press')\n",
+ " );\n",
+ " canvas_div.addEventListener(\n",
+ " 'keyup',\n",
+ " on_keyboard_event_closure('key_release')\n",
+ " );\n",
+ "\n",
+ " this._canvas_extra_style(canvas_div);\n",
+ " this.root.appendChild(canvas_div);\n",
+ "\n",
+ " var canvas = (this.canvas = document.createElement('canvas'));\n",
+ " canvas.classList.add('mpl-canvas');\n",
+ " canvas.setAttribute('style', 'box-sizing: content-box;');\n",
+ "\n",
+ " this.context = canvas.getContext('2d');\n",
+ "\n",
+ " var backingStore =\n",
+ " this.context.backingStorePixelRatio ||\n",
+ " this.context.webkitBackingStorePixelRatio ||\n",
+ " this.context.mozBackingStorePixelRatio ||\n",
+ " this.context.msBackingStorePixelRatio ||\n",
+ " this.context.oBackingStorePixelRatio ||\n",
+ " this.context.backingStorePixelRatio ||\n",
+ " 1;\n",
+ "\n",
+ " this.ratio = (window.devicePixelRatio || 1) / backingStore;\n",
+ "\n",
+ " var rubberband_canvas = (this.rubberband_canvas = document.createElement(\n",
+ " 'canvas'\n",
+ " ));\n",
+ " rubberband_canvas.setAttribute(\n",
+ " 'style',\n",
+ " 'box-sizing: content-box; position: absolute; left: 0; top: 0; z-index: 1;'\n",
+ " );\n",
+ "\n",
+ " // Apply a ponyfill if ResizeObserver is not implemented by browser.\n",
+ " if (this.ResizeObserver === undefined) {\n",
+ " if (window.ResizeObserver !== undefined) {\n",
+ " this.ResizeObserver = window.ResizeObserver;\n",
+ " } else {\n",
+ " var obs = _JSXTOOLS_RESIZE_OBSERVER({});\n",
+ " this.ResizeObserver = obs.ResizeObserver;\n",
+ " }\n",
+ " }\n",
+ "\n",
+ " this.resizeObserverInstance = new this.ResizeObserver(function (entries) {\n",
+ " var nentries = entries.length;\n",
+ " for (var i = 0; i < nentries; i++) {\n",
+ " var entry = entries[i];\n",
+ " var width, height;\n",
+ " if (entry.contentBoxSize) {\n",
+ " if (entry.contentBoxSize instanceof Array) {\n",
+ " // Chrome 84 implements new version of spec.\n",
+ " width = entry.contentBoxSize[0].inlineSize;\n",
+ " height = entry.contentBoxSize[0].blockSize;\n",
+ " } else {\n",
+ " // Firefox implements old version of spec.\n",
+ " width = entry.contentBoxSize.inlineSize;\n",
+ " height = entry.contentBoxSize.blockSize;\n",
+ " }\n",
+ " } else {\n",
+ " // Chrome <84 implements even older version of spec.\n",
+ " width = entry.contentRect.width;\n",
+ " height = entry.contentRect.height;\n",
+ " }\n",
+ "\n",
+ " // Keep the size of the canvas and rubber band canvas in sync with\n",
+ " // the canvas container.\n",
+ " if (entry.devicePixelContentBoxSize) {\n",
+ " // Chrome 84 implements new version of spec.\n",
+ " canvas.setAttribute(\n",
+ " 'width',\n",
+ " entry.devicePixelContentBoxSize[0].inlineSize\n",
+ " );\n",
+ " canvas.setAttribute(\n",
+ " 'height',\n",
+ " entry.devicePixelContentBoxSize[0].blockSize\n",
+ " );\n",
+ " } else {\n",
+ " canvas.setAttribute('width', width * fig.ratio);\n",
+ " canvas.setAttribute('height', height * fig.ratio);\n",
+ " }\n",
+ " canvas.setAttribute(\n",
+ " 'style',\n",
+ " 'width: ' + width + 'px; height: ' + height + 'px;'\n",
+ " );\n",
+ "\n",
+ " rubberband_canvas.setAttribute('width', width);\n",
+ " rubberband_canvas.setAttribute('height', height);\n",
+ "\n",
+ " // And update the size in Python. We ignore the initial 0/0 size\n",
+ " // that occurs as the element is placed into the DOM, which should\n",
+ " // otherwise not happen due to the minimum size styling.\n",
+ " if (fig.ws.readyState == 1 && width != 0 && height != 0) {\n",
+ " fig.request_resize(width, height);\n",
+ " }\n",
+ " }\n",
+ " });\n",
+ " this.resizeObserverInstance.observe(canvas_div);\n",
+ "\n",
+ " function on_mouse_event_closure(name) {\n",
+ " return function (event) {\n",
+ " return fig.mouse_event(event, name);\n",
+ " };\n",
+ " }\n",
+ "\n",
+ " rubberband_canvas.addEventListener(\n",
+ " 'mousedown',\n",
+ " on_mouse_event_closure('button_press')\n",
+ " );\n",
+ " rubberband_canvas.addEventListener(\n",
+ " 'mouseup',\n",
+ " on_mouse_event_closure('button_release')\n",
+ " );\n",
+ " rubberband_canvas.addEventListener(\n",
+ " 'dblclick',\n",
+ " on_mouse_event_closure('dblclick')\n",
+ " );\n",
+ " // Throttle sequential mouse events to 1 every 20ms.\n",
+ " rubberband_canvas.addEventListener(\n",
+ " 'mousemove',\n",
+ " on_mouse_event_closure('motion_notify')\n",
+ " );\n",
+ "\n",
+ " rubberband_canvas.addEventListener(\n",
+ " 'mouseenter',\n",
+ " on_mouse_event_closure('figure_enter')\n",
+ " );\n",
+ " rubberband_canvas.addEventListener(\n",
+ " 'mouseleave',\n",
+ " on_mouse_event_closure('figure_leave')\n",
+ " );\n",
+ "\n",
+ " canvas_div.addEventListener('wheel', function (event) {\n",
+ " if (event.deltaY < 0) {\n",
+ " event.step = 1;\n",
+ " } else {\n",
+ " event.step = -1;\n",
+ " }\n",
+ " on_mouse_event_closure('scroll')(event);\n",
+ " });\n",
+ "\n",
+ " canvas_div.appendChild(canvas);\n",
+ " canvas_div.appendChild(rubberband_canvas);\n",
+ "\n",
+ " this.rubberband_context = rubberband_canvas.getContext('2d');\n",
+ " this.rubberband_context.strokeStyle = '#000000';\n",
+ "\n",
+ " this._resize_canvas = function (width, height, forward) {\n",
+ " if (forward) {\n",
+ " canvas_div.style.width = width + 'px';\n",
+ " canvas_div.style.height = height + 'px';\n",
+ " }\n",
+ " };\n",
+ "\n",
+ " // Disable right mouse context menu.\n",
+ " this.rubberband_canvas.addEventListener('contextmenu', function (_e) {\n",
+ " event.preventDefault();\n",
+ " return false;\n",
+ " });\n",
+ "\n",
+ " function set_focus() {\n",
+ " canvas.focus();\n",
+ " canvas_div.focus();\n",
+ " }\n",
+ "\n",
+ " window.setTimeout(set_focus, 100);\n",
+ "};\n",
+ "\n",
+ "mpl.figure.prototype._init_toolbar = function () {\n",
+ " var fig = this;\n",
+ "\n",
+ " var toolbar = document.createElement('div');\n",
+ " toolbar.classList = 'mpl-toolbar';\n",
+ " this.root.appendChild(toolbar);\n",
+ "\n",
+ " function on_click_closure(name) {\n",
+ " return function (_event) {\n",
+ " return fig.toolbar_button_onclick(name);\n",
+ " };\n",
+ " }\n",
+ "\n",
+ " function on_mouseover_closure(tooltip) {\n",
+ " return function (event) {\n",
+ " if (!event.currentTarget.disabled) {\n",
+ " return fig.toolbar_button_onmouseover(tooltip);\n",
+ " }\n",
+ " };\n",
+ " }\n",
+ "\n",
+ " fig.buttons = {};\n",
+ " var buttonGroup = document.createElement('div');\n",
+ " buttonGroup.classList = 'mpl-button-group';\n",
+ " for (var toolbar_ind in mpl.toolbar_items) {\n",
+ " var name = mpl.toolbar_items[toolbar_ind][0];\n",
+ " var tooltip = mpl.toolbar_items[toolbar_ind][1];\n",
+ " var image = mpl.toolbar_items[toolbar_ind][2];\n",
+ " var method_name = mpl.toolbar_items[toolbar_ind][3];\n",
+ "\n",
+ " if (!name) {\n",
+ " /* Instead of a spacer, we start a new button group. */\n",
+ " if (buttonGroup.hasChildNodes()) {\n",
+ " toolbar.appendChild(buttonGroup);\n",
+ " }\n",
+ " buttonGroup = document.createElement('div');\n",
+ " buttonGroup.classList = 'mpl-button-group';\n",
+ " continue;\n",
+ " }\n",
+ "\n",
+ " var button = (fig.buttons[name] = document.createElement('button'));\n",
+ " button.classList = 'mpl-widget';\n",
+ " button.setAttribute('role', 'button');\n",
+ " button.setAttribute('aria-disabled', 'false');\n",
+ " button.addEventListener('click', on_click_closure(method_name));\n",
+ " button.addEventListener('mouseover', on_mouseover_closure(tooltip));\n",
+ "\n",
+ " var icon_img = document.createElement('img');\n",
+ " icon_img.src = '_images/' + image + '.png';\n",
+ " icon_img.srcset = '_images/' + image + '_large.png 2x';\n",
+ " icon_img.alt = tooltip;\n",
+ " button.appendChild(icon_img);\n",
+ "\n",
+ " buttonGroup.appendChild(button);\n",
+ " }\n",
+ "\n",
+ " if (buttonGroup.hasChildNodes()) {\n",
+ " toolbar.appendChild(buttonGroup);\n",
+ " }\n",
+ "\n",
+ " var fmt_picker = document.createElement('select');\n",
+ " fmt_picker.classList = 'mpl-widget';\n",
+ " toolbar.appendChild(fmt_picker);\n",
+ " this.format_dropdown = fmt_picker;\n",
+ "\n",
+ " for (var ind in mpl.extensions) {\n",
+ " var fmt = mpl.extensions[ind];\n",
+ " var option = document.createElement('option');\n",
+ " option.selected = fmt === mpl.default_extension;\n",
+ " option.innerHTML = fmt;\n",
+ " fmt_picker.appendChild(option);\n",
+ " }\n",
+ "\n",
+ " var status_bar = document.createElement('span');\n",
+ " status_bar.classList = 'mpl-message';\n",
+ " toolbar.appendChild(status_bar);\n",
+ " this.message = status_bar;\n",
+ "};\n",
+ "\n",
+ "mpl.figure.prototype.request_resize = function (x_pixels, y_pixels) {\n",
+ " // Request matplotlib to resize the figure. Matplotlib will then trigger a resize in the client,\n",
+ " // which will in turn request a refresh of the image.\n",
+ " this.send_message('resize', { width: x_pixels, height: y_pixels });\n",
+ "};\n",
+ "\n",
+ "mpl.figure.prototype.send_message = function (type, properties) {\n",
+ " properties['type'] = type;\n",
+ " properties['figure_id'] = this.id;\n",
+ " this.ws.send(JSON.stringify(properties));\n",
+ "};\n",
+ "\n",
+ "mpl.figure.prototype.send_draw_message = function () {\n",
+ " if (!this.waiting) {\n",
+ " this.waiting = true;\n",
+ " this.ws.send(JSON.stringify({ type: 'draw', figure_id: this.id }));\n",
+ " }\n",
+ "};\n",
+ "\n",
+ "mpl.figure.prototype.handle_save = function (fig, _msg) {\n",
+ " var format_dropdown = fig.format_dropdown;\n",
+ " var format = format_dropdown.options[format_dropdown.selectedIndex].value;\n",
+ " fig.ondownload(fig, format);\n",
+ "};\n",
+ "\n",
+ "mpl.figure.prototype.handle_resize = function (fig, msg) {\n",
+ " var size = msg['size'];\n",
+ " if (size[0] !== fig.canvas.width || size[1] !== fig.canvas.height) {\n",
+ " fig._resize_canvas(size[0], size[1], msg['forward']);\n",
+ " fig.send_message('refresh', {});\n",
+ " }\n",
+ "};\n",
+ "\n",
+ "mpl.figure.prototype.handle_rubberband = function (fig, msg) {\n",
+ " var x0 = msg['x0'] / fig.ratio;\n",
+ " var y0 = (fig.canvas.height - msg['y0']) / fig.ratio;\n",
+ " var x1 = msg['x1'] / fig.ratio;\n",
+ " var y1 = (fig.canvas.height - msg['y1']) / fig.ratio;\n",
+ " x0 = Math.floor(x0) + 0.5;\n",
+ " y0 = Math.floor(y0) + 0.5;\n",
+ " x1 = Math.floor(x1) + 0.5;\n",
+ " y1 = Math.floor(y1) + 0.5;\n",
+ " var min_x = Math.min(x0, x1);\n",
+ " var min_y = Math.min(y0, y1);\n",
+ " var width = Math.abs(x1 - x0);\n",
+ " var height = Math.abs(y1 - y0);\n",
+ "\n",
+ " fig.rubberband_context.clearRect(\n",
+ " 0,\n",
+ " 0,\n",
+ " fig.canvas.width / fig.ratio,\n",
+ " fig.canvas.height / fig.ratio\n",
+ " );\n",
+ "\n",
+ " fig.rubberband_context.strokeRect(min_x, min_y, width, height);\n",
+ "};\n",
+ "\n",
+ "mpl.figure.prototype.handle_figure_label = function (fig, msg) {\n",
+ " // Updates the figure title.\n",
+ " fig.header.textContent = msg['label'];\n",
+ "};\n",
+ "\n",
+ "mpl.figure.prototype.handle_cursor = function (fig, msg) {\n",
+ " fig.rubberband_canvas.style.cursor = msg['cursor'];\n",
+ "};\n",
+ "\n",
+ "mpl.figure.prototype.handle_message = function (fig, msg) {\n",
+ " fig.message.textContent = msg['message'];\n",
+ "};\n",
+ "\n",
+ "mpl.figure.prototype.handle_draw = function (fig, _msg) {\n",
+ " // Request the server to send over a new figure.\n",
+ " fig.send_draw_message();\n",
+ "};\n",
+ "\n",
+ "mpl.figure.prototype.handle_image_mode = function (fig, msg) {\n",
+ " fig.image_mode = msg['mode'];\n",
+ "};\n",
+ "\n",
+ "mpl.figure.prototype.handle_history_buttons = function (fig, msg) {\n",
+ " for (var key in msg) {\n",
+ " if (!(key in fig.buttons)) {\n",
+ " continue;\n",
+ " }\n",
+ " fig.buttons[key].disabled = !msg[key];\n",
+ " fig.buttons[key].setAttribute('aria-disabled', !msg[key]);\n",
+ " }\n",
+ "};\n",
+ "\n",
+ "mpl.figure.prototype.handle_navigate_mode = function (fig, msg) {\n",
+ " if (msg['mode'] === 'PAN') {\n",
+ " fig.buttons['Pan'].classList.add('active');\n",
+ " fig.buttons['Zoom'].classList.remove('active');\n",
+ " } else if (msg['mode'] === 'ZOOM') {\n",
+ " fig.buttons['Pan'].classList.remove('active');\n",
+ " fig.buttons['Zoom'].classList.add('active');\n",
+ " } else {\n",
+ " fig.buttons['Pan'].classList.remove('active');\n",
+ " fig.buttons['Zoom'].classList.remove('active');\n",
+ " }\n",
+ "};\n",
+ "\n",
+ "mpl.figure.prototype.updated_canvas_event = function () {\n",
+ " // Called whenever the canvas gets updated.\n",
+ " this.send_message('ack', {});\n",
+ "};\n",
+ "\n",
+ "// A function to construct a web socket function for onmessage handling.\n",
+ "// Called in the figure constructor.\n",
+ "mpl.figure.prototype._make_on_message_function = function (fig) {\n",
+ " return function socket_on_message(evt) {\n",
+ " if (evt.data instanceof Blob) {\n",
+ " var img = evt.data;\n",
+ " if (img.type !== 'image/png') {\n",
+ " /* FIXME: We get \"Resource interpreted as Image but\n",
+ " * transferred with MIME type text/plain:\" errors on\n",
+ " * Chrome. But how to set the MIME type? It doesn't seem\n",
+ " * to be part of the websocket stream */\n",
+ " img.type = 'image/png';\n",
+ " }\n",
+ "\n",
+ " /* Free the memory for the previous frames */\n",
+ " if (fig.imageObj.src) {\n",
+ " (window.URL || window.webkitURL).revokeObjectURL(\n",
+ " fig.imageObj.src\n",
+ " );\n",
+ " }\n",
+ "\n",
+ " fig.imageObj.src = (window.URL || window.webkitURL).createObjectURL(\n",
+ " img\n",
+ " );\n",
+ " fig.updated_canvas_event();\n",
+ " fig.waiting = false;\n",
+ " return;\n",
+ " } else if (\n",
+ " typeof evt.data === 'string' &&\n",
+ " evt.data.slice(0, 21) === 'data:image/png;base64'\n",
+ " ) {\n",
+ " fig.imageObj.src = evt.data;\n",
+ " fig.updated_canvas_event();\n",
+ " fig.waiting = false;\n",
+ " return;\n",
+ " }\n",
+ "\n",
+ " var msg = JSON.parse(evt.data);\n",
+ " var msg_type = msg['type'];\n",
+ "\n",
+ " // Call the \"handle_{type}\" callback, which takes\n",
+ " // the figure and JSON message as its only arguments.\n",
+ " try {\n",
+ " var callback = fig['handle_' + msg_type];\n",
+ " } catch (e) {\n",
+ " console.log(\n",
+ " \"No handler for the '\" + msg_type + \"' message type: \",\n",
+ " msg\n",
+ " );\n",
+ " return;\n",
+ " }\n",
+ "\n",
+ " if (callback) {\n",
+ " try {\n",
+ " // console.log(\"Handling '\" + msg_type + \"' message: \", msg);\n",
+ " callback(fig, msg);\n",
+ " } catch (e) {\n",
+ " console.log(\n",
+ " \"Exception inside the 'handler_\" + msg_type + \"' callback:\",\n",
+ " e,\n",
+ " e.stack,\n",
+ " msg\n",
+ " );\n",
+ " }\n",
+ " }\n",
+ " };\n",
+ "};\n",
+ "\n",
+ "// from https://stackoverflow.com/questions/1114465/getting-mouse-location-in-canvas\n",
+ "mpl.findpos = function (e) {\n",
+ " //this section is from http://www.quirksmode.org/js/events_properties.html\n",
+ " var targ;\n",
+ " if (!e) {\n",
+ " e = window.event;\n",
+ " }\n",
+ " if (e.target) {\n",
+ " targ = e.target;\n",
+ " } else if (e.srcElement) {\n",
+ " targ = e.srcElement;\n",
+ " }\n",
+ " if (targ.nodeType === 3) {\n",
+ " // defeat Safari bug\n",
+ " targ = targ.parentNode;\n",
+ " }\n",
+ "\n",
+ " // pageX,Y are the mouse positions relative to the document\n",
+ " var boundingRect = targ.getBoundingClientRect();\n",
+ " var x = e.pageX - (boundingRect.left + document.body.scrollLeft);\n",
+ " var y = e.pageY - (boundingRect.top + document.body.scrollTop);\n",
+ "\n",
+ " return { x: x, y: y };\n",
+ "};\n",
+ "\n",
+ "/*\n",
+ " * return a copy of an object with only non-object keys\n",
+ " * we need this to avoid circular references\n",
+ " * https://stackoverflow.com/a/24161582/3208463\n",
+ " */\n",
+ "function simpleKeys(original) {\n",
+ " return Object.keys(original).reduce(function (obj, key) {\n",
+ " if (typeof original[key] !== 'object') {\n",
+ " obj[key] = original[key];\n",
+ " }\n",
+ " return obj;\n",
+ " }, {});\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype.mouse_event = function (event, name) {\n",
+ " var canvas_pos = mpl.findpos(event);\n",
+ "\n",
+ " if (name === 'button_press') {\n",
+ " this.canvas.focus();\n",
+ " this.canvas_div.focus();\n",
+ " }\n",
+ "\n",
+ " var x = canvas_pos.x * this.ratio;\n",
+ " var y = canvas_pos.y * this.ratio;\n",
+ "\n",
+ " this.send_message(name, {\n",
+ " x: x,\n",
+ " y: y,\n",
+ " button: event.button,\n",
+ " step: event.step,\n",
+ " guiEvent: simpleKeys(event),\n",
+ " });\n",
+ "\n",
+ " /* This prevents the web browser from automatically changing to\n",
+ " * the text insertion cursor when the button is pressed. We want\n",
+ " * to control all of the cursor setting manually through the\n",
+ " * 'cursor' event from matplotlib */\n",
+ " event.preventDefault();\n",
+ " return false;\n",
+ "};\n",
+ "\n",
+ "mpl.figure.prototype._key_event_extra = function (_event, _name) {\n",
+ " // Handle any extra behaviour associated with a key event\n",
+ "};\n",
+ "\n",
+ "mpl.figure.prototype.key_event = function (event, name) {\n",
+ " // Prevent repeat events\n",
+ " if (name === 'key_press') {\n",
+ " if (event.key === this._key) {\n",
+ " return;\n",
+ " } else {\n",
+ " this._key = event.key;\n",
+ " }\n",
+ " }\n",
+ " if (name === 'key_release') {\n",
+ " this._key = null;\n",
+ " }\n",
+ "\n",
+ " var value = '';\n",
+ " if (event.ctrlKey && event.key !== 'Control') {\n",
+ " value += 'ctrl+';\n",
+ " }\n",
+ " else if (event.altKey && event.key !== 'Alt') {\n",
+ " value += 'alt+';\n",
+ " }\n",
+ " else if (event.shiftKey && event.key !== 'Shift') {\n",
+ " value += 'shift+';\n",
+ " }\n",
+ "\n",
+ " value += 'k' + event.key;\n",
+ "\n",
+ " this._key_event_extra(event, name);\n",
+ "\n",
+ " this.send_message(name, { key: value, guiEvent: simpleKeys(event) });\n",
+ " return false;\n",
+ "};\n",
+ "\n",
+ "mpl.figure.prototype.toolbar_button_onclick = function (name) {\n",
+ " if (name === 'download') {\n",
+ " this.handle_save(this, null);\n",
+ " } else {\n",
+ " this.send_message('toolbar_button', { name: name });\n",
+ " }\n",
+ "};\n",
+ "\n",
+ "mpl.figure.prototype.toolbar_button_onmouseover = function (tooltip) {\n",
+ " this.message.textContent = tooltip;\n",
+ "};\n",
+ "\n",
+ "///////////////// REMAINING CONTENT GENERATED BY embed_js.py /////////////////\n",
+ "// prettier-ignore\n",
+ "var _JSXTOOLS_RESIZE_OBSERVER=function(A){var t,i=new WeakMap,n=new WeakMap,a=new WeakMap,r=new WeakMap,o=new Set;function s(e){if(!(this instanceof s))throw new TypeError(\"Constructor requires 'new' operator\");i.set(this,e)}function h(){throw new TypeError(\"Function is not a constructor\")}function c(e,t,i,n){e=0 in arguments?Number(arguments[0]):0,t=1 in arguments?Number(arguments[1]):0,i=2 in arguments?Number(arguments[2]):0,n=3 in arguments?Number(arguments[3]):0,this.right=(this.x=this.left=e)+(this.width=i),this.bottom=(this.y=this.top=t)+(this.height=n),Object.freeze(this)}function d(){t=requestAnimationFrame(d);var s=new WeakMap,p=new Set;o.forEach((function(t){r.get(t).forEach((function(i){var r=t instanceof window.SVGElement,o=a.get(t),d=r?0:parseFloat(o.paddingTop),f=r?0:parseFloat(o.paddingRight),l=r?0:parseFloat(o.paddingBottom),u=r?0:parseFloat(o.paddingLeft),g=r?0:parseFloat(o.borderTopWidth),m=r?0:parseFloat(o.borderRightWidth),w=r?0:parseFloat(o.borderBottomWidth),b=u+f,F=d+l,v=(r?0:parseFloat(o.borderLeftWidth))+m,W=g+w,y=r?0:t.offsetHeight-W-t.clientHeight,E=r?0:t.offsetWidth-v-t.clientWidth,R=b+v,z=F+W,M=r?t.width:parseFloat(o.width)-R-E,O=r?t.height:parseFloat(o.height)-z-y;if(n.has(t)){var k=n.get(t);if(k[0]===M&&k[1]===O)return}n.set(t,[M,O]);var S=Object.create(h.prototype);S.target=t,S.contentRect=new c(u,d,M,O),s.has(i)||(s.set(i,[]),p.add(i)),s.get(i).push(S)}))})),p.forEach((function(e){i.get(e).call(e,s.get(e),e)}))}return s.prototype.observe=function(i){if(i instanceof window.Element){r.has(i)||(r.set(i,new Set),o.add(i),a.set(i,window.getComputedStyle(i)));var n=r.get(i);n.has(this)||n.add(this),cancelAnimationFrame(t),t=requestAnimationFrame(d)}},s.prototype.unobserve=function(i){if(i instanceof window.Element&&r.has(i)){var n=r.get(i);n.has(this)&&(n.delete(this),n.size||(r.delete(i),o.delete(i))),n.size||r.delete(i),o.size||cancelAnimationFrame(t)}},A.DOMRectReadOnly=c,A.ResizeObserver=s,A.ResizeObserverEntry=h,A}; // eslint-disable-line\n",
+ "mpl.toolbar_items = [[\"Home\", \"Reset original view\", \"fa fa-home icon-home\", \"home\"], [\"Back\", \"Back to previous view\", \"fa fa-arrow-left icon-arrow-left\", \"back\"], [\"Forward\", \"Forward to next view\", \"fa fa-arrow-right icon-arrow-right\", \"forward\"], [\"\", \"\", \"\", \"\"], [\"Pan\", \"Left button pans, Right button zooms\\nx/y fixes axis, CTRL fixes aspect\", \"fa fa-arrows icon-move\", \"pan\"], [\"Zoom\", \"Zoom to rectangle\\nx/y fixes axis\", \"fa fa-square-o icon-check-empty\", \"zoom\"], [\"\", \"\", \"\", \"\"], [\"Download\", \"Download plot\", \"fa fa-floppy-o icon-save\", \"download\"]];\n",
+ "\n",
+ "mpl.extensions = [\"eps\", \"jpeg\", \"pgf\", \"pdf\", \"png\", \"ps\", \"raw\", \"svg\", \"tif\"];\n",
+ "\n",
+ "mpl.default_extension = \"png\";/* global mpl */\n",
+ "\n",
+ "var comm_websocket_adapter = function (comm) {\n",
+ " // Create a \"websocket\"-like object which calls the given IPython comm\n",
+ " // object with the appropriate methods. Currently this is a non binary\n",
+ " // socket, so there is still some room for performance tuning.\n",
+ " var ws = {};\n",
+ "\n",
+ " ws.binaryType = comm.kernel.ws.binaryType;\n",
+ " ws.readyState = comm.kernel.ws.readyState;\n",
+ " function updateReadyState(_event) {\n",
+ " if (comm.kernel.ws) {\n",
+ " ws.readyState = comm.kernel.ws.readyState;\n",
+ " } else {\n",
+ " ws.readyState = 3; // Closed state.\n",
+ " }\n",
+ " }\n",
+ " comm.kernel.ws.addEventListener('open', updateReadyState);\n",
+ " comm.kernel.ws.addEventListener('close', updateReadyState);\n",
+ " comm.kernel.ws.addEventListener('error', updateReadyState);\n",
+ "\n",
+ " ws.close = function () {\n",
+ " comm.close();\n",
+ " };\n",
+ " ws.send = function (m) {\n",
+ " //console.log('sending', m);\n",
+ " comm.send(m);\n",
+ " };\n",
+ " // Register the callback with on_msg.\n",
+ " comm.on_msg(function (msg) {\n",
+ " //console.log('receiving', msg['content']['data'], msg);\n",
+ " var data = msg['content']['data'];\n",
+ " if (data['blob'] !== undefined) {\n",
+ " data = {\n",
+ " data: new Blob(msg['buffers'], { type: data['blob'] }),\n",
+ " };\n",
+ " }\n",
+ " // Pass the mpl event to the overridden (by mpl) onmessage function.\n",
+ " ws.onmessage(data);\n",
+ " });\n",
+ " return ws;\n",
+ "};\n",
+ "\n",
+ "mpl.mpl_figure_comm = function (comm, msg) {\n",
+ " // This is the function which gets called when the mpl process\n",
+ " // starts-up an IPython Comm through the \"matplotlib\" channel.\n",
+ "\n",
+ " var id = msg.content.data.id;\n",
+ " // Get hold of the div created by the display call when the Comm\n",
+ " // socket was opened in Python.\n",
+ " var element = document.getElementById(id);\n",
+ " var ws_proxy = comm_websocket_adapter(comm);\n",
+ "\n",
+ " function ondownload(figure, _format) {\n",
+ " window.open(figure.canvas.toDataURL());\n",
+ " }\n",
+ "\n",
+ " var fig = new mpl.figure(id, ws_proxy, ondownload, element);\n",
+ "\n",
+ " // Call onopen now - mpl needs it, as it is assuming we've passed it a real\n",
+ " // web socket which is closed, not our websocket->open comm proxy.\n",
+ " ws_proxy.onopen();\n",
+ "\n",
+ " fig.parent_element = element;\n",
+ " fig.cell_info = mpl.find_output_cell(\"\");\n",
+ " if (!fig.cell_info) {\n",
+ " console.error('Failed to find cell for figure', id, fig);\n",
+ " return;\n",
+ " }\n",
+ " fig.cell_info[0].output_area.element.on(\n",
+ " 'cleared',\n",
+ " { fig: fig },\n",
+ " fig._remove_fig_handler\n",
+ " );\n",
+ "};\n",
+ "\n",
+ "mpl.figure.prototype.handle_close = function (fig, msg) {\n",
+ " var width = fig.canvas.width / fig.ratio;\n",
+ " fig.cell_info[0].output_area.element.off(\n",
+ " 'cleared',\n",
+ " fig._remove_fig_handler\n",
+ " );\n",
+ " fig.resizeObserverInstance.unobserve(fig.canvas_div);\n",
+ "\n",
+ " // Update the output cell to use the data from the current canvas.\n",
+ " fig.push_to_output();\n",
+ " var dataURL = fig.canvas.toDataURL();\n",
+ " // Re-enable the keyboard manager in IPython - without this line, in FF,\n",
+ " // the notebook keyboard shortcuts fail.\n",
+ " IPython.keyboard_manager.enable();\n",
+ " fig.parent_element.innerHTML =\n",
+ " '
';\n",
+ " fig.close_ws(fig, msg);\n",
+ "};\n",
+ "\n",
+ "mpl.figure.prototype.close_ws = function (fig, msg) {\n",
+ " fig.send_message('closing', msg);\n",
+ " // fig.ws.close()\n",
+ "};\n",
+ "\n",
+ "mpl.figure.prototype.push_to_output = function (_remove_interactive) {\n",
+ " // Turn the data on the canvas into data in the output cell.\n",
+ " var width = this.canvas.width / this.ratio;\n",
+ " var dataURL = this.canvas.toDataURL();\n",
+ " this.cell_info[1]['text/html'] =\n",
+ " '
';\n",
+ "};\n",
+ "\n",
+ "mpl.figure.prototype.updated_canvas_event = function () {\n",
+ " // Tell IPython that the notebook contents must change.\n",
+ " IPython.notebook.set_dirty(true);\n",
+ " this.send_message('ack', {});\n",
+ " var fig = this;\n",
+ " // Wait a second, then push the new image to the DOM so\n",
+ " // that it is saved nicely (might be nice to debounce this).\n",
+ " setTimeout(function () {\n",
+ " fig.push_to_output();\n",
+ " }, 1000);\n",
+ "};\n",
+ "\n",
+ "mpl.figure.prototype._init_toolbar = function () {\n",
+ " var fig = this;\n",
+ "\n",
+ " var toolbar = document.createElement('div');\n",
+ " toolbar.classList = 'btn-toolbar';\n",
+ " this.root.appendChild(toolbar);\n",
+ "\n",
+ " function on_click_closure(name) {\n",
+ " return function (_event) {\n",
+ " return fig.toolbar_button_onclick(name);\n",
+ " };\n",
+ " }\n",
+ "\n",
+ " function on_mouseover_closure(tooltip) {\n",
+ " return function (event) {\n",
+ " if (!event.currentTarget.disabled) {\n",
+ " return fig.toolbar_button_onmouseover(tooltip);\n",
+ " }\n",
+ " };\n",
+ " }\n",
+ "\n",
+ " fig.buttons = {};\n",
+ " var buttonGroup = document.createElement('div');\n",
+ " buttonGroup.classList = 'btn-group';\n",
+ " var button;\n",
+ " for (var toolbar_ind in mpl.toolbar_items) {\n",
+ " var name = mpl.toolbar_items[toolbar_ind][0];\n",
+ " var tooltip = mpl.toolbar_items[toolbar_ind][1];\n",
+ " var image = mpl.toolbar_items[toolbar_ind][2];\n",
+ " var method_name = mpl.toolbar_items[toolbar_ind][3];\n",
+ "\n",
+ " if (!name) {\n",
+ " /* Instead of a spacer, we start a new button group. */\n",
+ " if (buttonGroup.hasChildNodes()) {\n",
+ " toolbar.appendChild(buttonGroup);\n",
+ " }\n",
+ " buttonGroup = document.createElement('div');\n",
+ " buttonGroup.classList = 'btn-group';\n",
+ " continue;\n",
+ " }\n",
+ "\n",
+ " button = fig.buttons[name] = document.createElement('button');\n",
+ " button.classList = 'btn btn-default';\n",
+ " button.href = '#';\n",
+ " button.title = name;\n",
+ " button.innerHTML = '';\n",
+ " button.addEventListener('click', on_click_closure(method_name));\n",
+ " button.addEventListener('mouseover', on_mouseover_closure(tooltip));\n",
+ " buttonGroup.appendChild(button);\n",
+ " }\n",
+ "\n",
+ " if (buttonGroup.hasChildNodes()) {\n",
+ " toolbar.appendChild(buttonGroup);\n",
+ " }\n",
+ "\n",
+ " // Add the status bar.\n",
+ " var status_bar = document.createElement('span');\n",
+ " status_bar.classList = 'mpl-message pull-right';\n",
+ " toolbar.appendChild(status_bar);\n",
+ " this.message = status_bar;\n",
+ "\n",
+ " // Add the close button to the window.\n",
+ " var buttongrp = document.createElement('div');\n",
+ " buttongrp.classList = 'btn-group inline pull-right';\n",
+ " button = document.createElement('button');\n",
+ " button.classList = 'btn btn-mini btn-primary';\n",
+ " button.href = '#';\n",
+ " button.title = 'Stop Interaction';\n",
+ " button.innerHTML = '';\n",
+ " button.addEventListener('click', function (_evt) {\n",
+ " fig.handle_close(fig, {});\n",
+ " });\n",
+ " button.addEventListener(\n",
+ " 'mouseover',\n",
+ " on_mouseover_closure('Stop Interaction')\n",
+ " );\n",
+ " buttongrp.appendChild(button);\n",
+ " var titlebar = this.root.querySelector('.ui-dialog-titlebar');\n",
+ " titlebar.insertBefore(buttongrp, titlebar.firstChild);\n",
+ "};\n",
+ "\n",
+ "mpl.figure.prototype._remove_fig_handler = function (event) {\n",
+ " var fig = event.data.fig;\n",
+ " if (event.target !== this) {\n",
+ " // Ignore bubbled events from children.\n",
+ " return;\n",
+ " }\n",
+ " fig.close_ws(fig, {});\n",
+ "};\n",
+ "\n",
+ "mpl.figure.prototype._root_extra_style = function (el) {\n",
+ " el.style.boxSizing = 'content-box'; // override notebook setting of border-box.\n",
+ "};\n",
+ "\n",
+ "mpl.figure.prototype._canvas_extra_style = function (el) {\n",
+ " // this is important to make the div 'focusable\n",
+ " el.setAttribute('tabindex', 0);\n",
+ " // reach out to IPython and tell the keyboard manager to turn it's self\n",
+ " // off when our div gets focus\n",
+ "\n",
+ " // location in version 3\n",
+ " if (IPython.notebook.keyboard_manager) {\n",
+ " IPython.notebook.keyboard_manager.register_events(el);\n",
+ " } else {\n",
+ " // location in version 2\n",
+ " IPython.keyboard_manager.register_events(el);\n",
+ " }\n",
+ "};\n",
+ "\n",
+ "mpl.figure.prototype._key_event_extra = function (event, _name) {\n",
+ " // Check for shift+enter\n",
+ " if (event.shiftKey && event.which === 13) {\n",
+ " this.canvas_div.blur();\n",
+ " // select the cell after this one\n",
+ " var index = IPython.notebook.find_cell_index(this.cell_info[0]);\n",
+ " IPython.notebook.select(index + 1);\n",
+ " }\n",
+ "};\n",
+ "\n",
+ "mpl.figure.prototype.handle_save = function (fig, _msg) {\n",
+ " fig.ondownload(fig, null);\n",
+ "};\n",
+ "\n",
+ "mpl.find_output_cell = function (html_output) {\n",
+ " // Return the cell and output element which can be found *uniquely* in the notebook.\n",
+ " // Note - this is a bit hacky, but it is done because the \"notebook_saving.Notebook\"\n",
+ " // IPython event is triggered only after the cells have been serialised, which for\n",
+ " // our purposes (turning an active figure into a static one), is too late.\n",
+ " var cells = IPython.notebook.get_cells();\n",
+ " var ncells = cells.length;\n",
+ " for (var i = 0; i < ncells; i++) {\n",
+ " var cell = cells[i];\n",
+ " if (cell.cell_type === 'code') {\n",
+ " for (var j = 0; j < cell.output_area.outputs.length; j++) {\n",
+ " var data = cell.output_area.outputs[j];\n",
+ " if (data.data) {\n",
+ " // IPython >= 3 moved mimebundle to data attribute of output\n",
+ " data = data.data;\n",
+ " }\n",
+ " if (data['text/html'] === html_output) {\n",
+ " return [cell, data, j];\n",
+ " }\n",
+ " }\n",
+ " }\n",
+ " }\n",
+ "};\n",
+ "\n",
+ "// Register the function which deals with the matplotlib target/channel.\n",
+ "// The kernel may be null if the page has been refreshed.\n",
+ "if (IPython.notebook.kernel !== null) {\n",
+ " IPython.notebook.kernel.comm_manager.register_target(\n",
+ " 'matplotlib',\n",
+ " mpl.mpl_figure_comm\n",
+ " );\n",
+ "}\n"
+ ],
+ "text/plain": [
+ ""
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ },
+ {
+ "data": {
+ "text/html": [
+ "
"
+ ],
+ "text/plain": [
+ ""
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ },
+ {
+ "data": {
+ "text/plain": [
+ "Text(0, 0.5, 'y')"
+ ]
+ },
+ "execution_count": 36,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
"source": [
"# two figures, side by side:\n",
"fig, axarr = plt.subplots(1,2,figsize=(10,5))\n",
@@ -544,16 +7481,18 @@
"# axarr is an array of axis objects, with each element representing one subplot\n",
"\n",
"# first subplot\n",
- "ax=axarr[0]\n",
- "ax.plot(x,y,color='blue',marker='s',ms=15,ls='None')\n",
+ "ax1 = axarr[0]\n",
+ "ax1.plot(x,y,color='blue',marker='s',ms=15,ls='None')\n",
+ "\n",
"\n",
"# second subplot\n",
- "ax=axarr[1]\n",
- "ax.plot(x,y,color='red',marker='*',ms=15,ls='None')\n",
+ "ax2=axarr[1]\n",
+ "ax2.plot(x,y,color='red',marker='*',ms=15,ls='None')\n",
"\n",
"# change title on first subplot\n",
- "ax=axarr[0]\n",
- "ax.set_xlabel('x',fontsize=16)"
+ "#ax=axarr[0]\n",
+ "ax1.set_xlabel('x',fontsize=16)\n",
+ "ax1.set_ylabel('y',fontsize=16)"
]
},
{
@@ -567,9 +7506,987 @@
},
{
"cell_type": "code",
- "execution_count": null,
+ "execution_count": 37,
"metadata": {},
- "outputs": [],
+ "outputs": [
+ {
+ "data": {
+ "application/javascript": [
+ "/* Put everything inside the global mpl namespace */\n",
+ "/* global mpl */\n",
+ "window.mpl = {};\n",
+ "\n",
+ "mpl.get_websocket_type = function () {\n",
+ " if (typeof WebSocket !== 'undefined') {\n",
+ " return WebSocket;\n",
+ " } else if (typeof MozWebSocket !== 'undefined') {\n",
+ " return MozWebSocket;\n",
+ " } else {\n",
+ " alert(\n",
+ " 'Your browser does not have WebSocket support. ' +\n",
+ " 'Please try Chrome, Safari or Firefox ≥ 6. ' +\n",
+ " 'Firefox 4 and 5 are also supported but you ' +\n",
+ " 'have to enable WebSockets in about:config.'\n",
+ " );\n",
+ " }\n",
+ "};\n",
+ "\n",
+ "mpl.figure = function (figure_id, websocket, ondownload, parent_element) {\n",
+ " this.id = figure_id;\n",
+ "\n",
+ " this.ws = websocket;\n",
+ "\n",
+ " this.supports_binary = this.ws.binaryType !== undefined;\n",
+ "\n",
+ " if (!this.supports_binary) {\n",
+ " var warnings = document.getElementById('mpl-warnings');\n",
+ " if (warnings) {\n",
+ " warnings.style.display = 'block';\n",
+ " warnings.textContent =\n",
+ " 'This browser does not support binary websocket messages. ' +\n",
+ " 'Performance may be slow.';\n",
+ " }\n",
+ " }\n",
+ "\n",
+ " this.imageObj = new Image();\n",
+ "\n",
+ " this.context = undefined;\n",
+ " this.message = undefined;\n",
+ " this.canvas = undefined;\n",
+ " this.rubberband_canvas = undefined;\n",
+ " this.rubberband_context = undefined;\n",
+ " this.format_dropdown = undefined;\n",
+ "\n",
+ " this.image_mode = 'full';\n",
+ "\n",
+ " this.root = document.createElement('div');\n",
+ " this.root.setAttribute('style', 'display: inline-block');\n",
+ " this._root_extra_style(this.root);\n",
+ "\n",
+ " parent_element.appendChild(this.root);\n",
+ "\n",
+ " this._init_header(this);\n",
+ " this._init_canvas(this);\n",
+ " this._init_toolbar(this);\n",
+ "\n",
+ " var fig = this;\n",
+ "\n",
+ " this.waiting = false;\n",
+ "\n",
+ " this.ws.onopen = function () {\n",
+ " fig.send_message('supports_binary', { value: fig.supports_binary });\n",
+ " fig.send_message('send_image_mode', {});\n",
+ " if (fig.ratio !== 1) {\n",
+ " fig.send_message('set_device_pixel_ratio', {\n",
+ " device_pixel_ratio: fig.ratio,\n",
+ " });\n",
+ " }\n",
+ " fig.send_message('refresh', {});\n",
+ " };\n",
+ "\n",
+ " this.imageObj.onload = function () {\n",
+ " if (fig.image_mode === 'full') {\n",
+ " // Full images could contain transparency (where diff images\n",
+ " // almost always do), so we need to clear the canvas so that\n",
+ " // there is no ghosting.\n",
+ " fig.context.clearRect(0, 0, fig.canvas.width, fig.canvas.height);\n",
+ " }\n",
+ " fig.context.drawImage(fig.imageObj, 0, 0);\n",
+ " };\n",
+ "\n",
+ " this.imageObj.onunload = function () {\n",
+ " fig.ws.close();\n",
+ " };\n",
+ "\n",
+ " this.ws.onmessage = this._make_on_message_function(this);\n",
+ "\n",
+ " this.ondownload = ondownload;\n",
+ "};\n",
+ "\n",
+ "mpl.figure.prototype._init_header = function () {\n",
+ " var titlebar = document.createElement('div');\n",
+ " titlebar.classList =\n",
+ " 'ui-dialog-titlebar ui-widget-header ui-corner-all ui-helper-clearfix';\n",
+ " var titletext = document.createElement('div');\n",
+ " titletext.classList = 'ui-dialog-title';\n",
+ " titletext.setAttribute(\n",
+ " 'style',\n",
+ " 'width: 100%; text-align: center; padding: 3px;'\n",
+ " );\n",
+ " titlebar.appendChild(titletext);\n",
+ " this.root.appendChild(titlebar);\n",
+ " this.header = titletext;\n",
+ "};\n",
+ "\n",
+ "mpl.figure.prototype._canvas_extra_style = function (_canvas_div) {};\n",
+ "\n",
+ "mpl.figure.prototype._root_extra_style = function (_canvas_div) {};\n",
+ "\n",
+ "mpl.figure.prototype._init_canvas = function () {\n",
+ " var fig = this;\n",
+ "\n",
+ " var canvas_div = (this.canvas_div = document.createElement('div'));\n",
+ " canvas_div.setAttribute(\n",
+ " 'style',\n",
+ " 'border: 1px solid #ddd;' +\n",
+ " 'box-sizing: content-box;' +\n",
+ " 'clear: both;' +\n",
+ " 'min-height: 1px;' +\n",
+ " 'min-width: 1px;' +\n",
+ " 'outline: 0;' +\n",
+ " 'overflow: hidden;' +\n",
+ " 'position: relative;' +\n",
+ " 'resize: both;'\n",
+ " );\n",
+ "\n",
+ " function on_keyboard_event_closure(name) {\n",
+ " return function (event) {\n",
+ " return fig.key_event(event, name);\n",
+ " };\n",
+ " }\n",
+ "\n",
+ " canvas_div.addEventListener(\n",
+ " 'keydown',\n",
+ " on_keyboard_event_closure('key_press')\n",
+ " );\n",
+ " canvas_div.addEventListener(\n",
+ " 'keyup',\n",
+ " on_keyboard_event_closure('key_release')\n",
+ " );\n",
+ "\n",
+ " this._canvas_extra_style(canvas_div);\n",
+ " this.root.appendChild(canvas_div);\n",
+ "\n",
+ " var canvas = (this.canvas = document.createElement('canvas'));\n",
+ " canvas.classList.add('mpl-canvas');\n",
+ " canvas.setAttribute('style', 'box-sizing: content-box;');\n",
+ "\n",
+ " this.context = canvas.getContext('2d');\n",
+ "\n",
+ " var backingStore =\n",
+ " this.context.backingStorePixelRatio ||\n",
+ " this.context.webkitBackingStorePixelRatio ||\n",
+ " this.context.mozBackingStorePixelRatio ||\n",
+ " this.context.msBackingStorePixelRatio ||\n",
+ " this.context.oBackingStorePixelRatio ||\n",
+ " this.context.backingStorePixelRatio ||\n",
+ " 1;\n",
+ "\n",
+ " this.ratio = (window.devicePixelRatio || 1) / backingStore;\n",
+ "\n",
+ " var rubberband_canvas = (this.rubberband_canvas = document.createElement(\n",
+ " 'canvas'\n",
+ " ));\n",
+ " rubberband_canvas.setAttribute(\n",
+ " 'style',\n",
+ " 'box-sizing: content-box; position: absolute; left: 0; top: 0; z-index: 1;'\n",
+ " );\n",
+ "\n",
+ " // Apply a ponyfill if ResizeObserver is not implemented by browser.\n",
+ " if (this.ResizeObserver === undefined) {\n",
+ " if (window.ResizeObserver !== undefined) {\n",
+ " this.ResizeObserver = window.ResizeObserver;\n",
+ " } else {\n",
+ " var obs = _JSXTOOLS_RESIZE_OBSERVER({});\n",
+ " this.ResizeObserver = obs.ResizeObserver;\n",
+ " }\n",
+ " }\n",
+ "\n",
+ " this.resizeObserverInstance = new this.ResizeObserver(function (entries) {\n",
+ " var nentries = entries.length;\n",
+ " for (var i = 0; i < nentries; i++) {\n",
+ " var entry = entries[i];\n",
+ " var width, height;\n",
+ " if (entry.contentBoxSize) {\n",
+ " if (entry.contentBoxSize instanceof Array) {\n",
+ " // Chrome 84 implements new version of spec.\n",
+ " width = entry.contentBoxSize[0].inlineSize;\n",
+ " height = entry.contentBoxSize[0].blockSize;\n",
+ " } else {\n",
+ " // Firefox implements old version of spec.\n",
+ " width = entry.contentBoxSize.inlineSize;\n",
+ " height = entry.contentBoxSize.blockSize;\n",
+ " }\n",
+ " } else {\n",
+ " // Chrome <84 implements even older version of spec.\n",
+ " width = entry.contentRect.width;\n",
+ " height = entry.contentRect.height;\n",
+ " }\n",
+ "\n",
+ " // Keep the size of the canvas and rubber band canvas in sync with\n",
+ " // the canvas container.\n",
+ " if (entry.devicePixelContentBoxSize) {\n",
+ " // Chrome 84 implements new version of spec.\n",
+ " canvas.setAttribute(\n",
+ " 'width',\n",
+ " entry.devicePixelContentBoxSize[0].inlineSize\n",
+ " );\n",
+ " canvas.setAttribute(\n",
+ " 'height',\n",
+ " entry.devicePixelContentBoxSize[0].blockSize\n",
+ " );\n",
+ " } else {\n",
+ " canvas.setAttribute('width', width * fig.ratio);\n",
+ " canvas.setAttribute('height', height * fig.ratio);\n",
+ " }\n",
+ " canvas.setAttribute(\n",
+ " 'style',\n",
+ " 'width: ' + width + 'px; height: ' + height + 'px;'\n",
+ " );\n",
+ "\n",
+ " rubberband_canvas.setAttribute('width', width);\n",
+ " rubberband_canvas.setAttribute('height', height);\n",
+ "\n",
+ " // And update the size in Python. We ignore the initial 0/0 size\n",
+ " // that occurs as the element is placed into the DOM, which should\n",
+ " // otherwise not happen due to the minimum size styling.\n",
+ " if (fig.ws.readyState == 1 && width != 0 && height != 0) {\n",
+ " fig.request_resize(width, height);\n",
+ " }\n",
+ " }\n",
+ " });\n",
+ " this.resizeObserverInstance.observe(canvas_div);\n",
+ "\n",
+ " function on_mouse_event_closure(name) {\n",
+ " return function (event) {\n",
+ " return fig.mouse_event(event, name);\n",
+ " };\n",
+ " }\n",
+ "\n",
+ " rubberband_canvas.addEventListener(\n",
+ " 'mousedown',\n",
+ " on_mouse_event_closure('button_press')\n",
+ " );\n",
+ " rubberband_canvas.addEventListener(\n",
+ " 'mouseup',\n",
+ " on_mouse_event_closure('button_release')\n",
+ " );\n",
+ " rubberband_canvas.addEventListener(\n",
+ " 'dblclick',\n",
+ " on_mouse_event_closure('dblclick')\n",
+ " );\n",
+ " // Throttle sequential mouse events to 1 every 20ms.\n",
+ " rubberband_canvas.addEventListener(\n",
+ " 'mousemove',\n",
+ " on_mouse_event_closure('motion_notify')\n",
+ " );\n",
+ "\n",
+ " rubberband_canvas.addEventListener(\n",
+ " 'mouseenter',\n",
+ " on_mouse_event_closure('figure_enter')\n",
+ " );\n",
+ " rubberband_canvas.addEventListener(\n",
+ " 'mouseleave',\n",
+ " on_mouse_event_closure('figure_leave')\n",
+ " );\n",
+ "\n",
+ " canvas_div.addEventListener('wheel', function (event) {\n",
+ " if (event.deltaY < 0) {\n",
+ " event.step = 1;\n",
+ " } else {\n",
+ " event.step = -1;\n",
+ " }\n",
+ " on_mouse_event_closure('scroll')(event);\n",
+ " });\n",
+ "\n",
+ " canvas_div.appendChild(canvas);\n",
+ " canvas_div.appendChild(rubberband_canvas);\n",
+ "\n",
+ " this.rubberband_context = rubberband_canvas.getContext('2d');\n",
+ " this.rubberband_context.strokeStyle = '#000000';\n",
+ "\n",
+ " this._resize_canvas = function (width, height, forward) {\n",
+ " if (forward) {\n",
+ " canvas_div.style.width = width + 'px';\n",
+ " canvas_div.style.height = height + 'px';\n",
+ " }\n",
+ " };\n",
+ "\n",
+ " // Disable right mouse context menu.\n",
+ " this.rubberband_canvas.addEventListener('contextmenu', function (_e) {\n",
+ " event.preventDefault();\n",
+ " return false;\n",
+ " });\n",
+ "\n",
+ " function set_focus() {\n",
+ " canvas.focus();\n",
+ " canvas_div.focus();\n",
+ " }\n",
+ "\n",
+ " window.setTimeout(set_focus, 100);\n",
+ "};\n",
+ "\n",
+ "mpl.figure.prototype._init_toolbar = function () {\n",
+ " var fig = this;\n",
+ "\n",
+ " var toolbar = document.createElement('div');\n",
+ " toolbar.classList = 'mpl-toolbar';\n",
+ " this.root.appendChild(toolbar);\n",
+ "\n",
+ " function on_click_closure(name) {\n",
+ " return function (_event) {\n",
+ " return fig.toolbar_button_onclick(name);\n",
+ " };\n",
+ " }\n",
+ "\n",
+ " function on_mouseover_closure(tooltip) {\n",
+ " return function (event) {\n",
+ " if (!event.currentTarget.disabled) {\n",
+ " return fig.toolbar_button_onmouseover(tooltip);\n",
+ " }\n",
+ " };\n",
+ " }\n",
+ "\n",
+ " fig.buttons = {};\n",
+ " var buttonGroup = document.createElement('div');\n",
+ " buttonGroup.classList = 'mpl-button-group';\n",
+ " for (var toolbar_ind in mpl.toolbar_items) {\n",
+ " var name = mpl.toolbar_items[toolbar_ind][0];\n",
+ " var tooltip = mpl.toolbar_items[toolbar_ind][1];\n",
+ " var image = mpl.toolbar_items[toolbar_ind][2];\n",
+ " var method_name = mpl.toolbar_items[toolbar_ind][3];\n",
+ "\n",
+ " if (!name) {\n",
+ " /* Instead of a spacer, we start a new button group. */\n",
+ " if (buttonGroup.hasChildNodes()) {\n",
+ " toolbar.appendChild(buttonGroup);\n",
+ " }\n",
+ " buttonGroup = document.createElement('div');\n",
+ " buttonGroup.classList = 'mpl-button-group';\n",
+ " continue;\n",
+ " }\n",
+ "\n",
+ " var button = (fig.buttons[name] = document.createElement('button'));\n",
+ " button.classList = 'mpl-widget';\n",
+ " button.setAttribute('role', 'button');\n",
+ " button.setAttribute('aria-disabled', 'false');\n",
+ " button.addEventListener('click', on_click_closure(method_name));\n",
+ " button.addEventListener('mouseover', on_mouseover_closure(tooltip));\n",
+ "\n",
+ " var icon_img = document.createElement('img');\n",
+ " icon_img.src = '_images/' + image + '.png';\n",
+ " icon_img.srcset = '_images/' + image + '_large.png 2x';\n",
+ " icon_img.alt = tooltip;\n",
+ " button.appendChild(icon_img);\n",
+ "\n",
+ " buttonGroup.appendChild(button);\n",
+ " }\n",
+ "\n",
+ " if (buttonGroup.hasChildNodes()) {\n",
+ " toolbar.appendChild(buttonGroup);\n",
+ " }\n",
+ "\n",
+ " var fmt_picker = document.createElement('select');\n",
+ " fmt_picker.classList = 'mpl-widget';\n",
+ " toolbar.appendChild(fmt_picker);\n",
+ " this.format_dropdown = fmt_picker;\n",
+ "\n",
+ " for (var ind in mpl.extensions) {\n",
+ " var fmt = mpl.extensions[ind];\n",
+ " var option = document.createElement('option');\n",
+ " option.selected = fmt === mpl.default_extension;\n",
+ " option.innerHTML = fmt;\n",
+ " fmt_picker.appendChild(option);\n",
+ " }\n",
+ "\n",
+ " var status_bar = document.createElement('span');\n",
+ " status_bar.classList = 'mpl-message';\n",
+ " toolbar.appendChild(status_bar);\n",
+ " this.message = status_bar;\n",
+ "};\n",
+ "\n",
+ "mpl.figure.prototype.request_resize = function (x_pixels, y_pixels) {\n",
+ " // Request matplotlib to resize the figure. Matplotlib will then trigger a resize in the client,\n",
+ " // which will in turn request a refresh of the image.\n",
+ " this.send_message('resize', { width: x_pixels, height: y_pixels });\n",
+ "};\n",
+ "\n",
+ "mpl.figure.prototype.send_message = function (type, properties) {\n",
+ " properties['type'] = type;\n",
+ " properties['figure_id'] = this.id;\n",
+ " this.ws.send(JSON.stringify(properties));\n",
+ "};\n",
+ "\n",
+ "mpl.figure.prototype.send_draw_message = function () {\n",
+ " if (!this.waiting) {\n",
+ " this.waiting = true;\n",
+ " this.ws.send(JSON.stringify({ type: 'draw', figure_id: this.id }));\n",
+ " }\n",
+ "};\n",
+ "\n",
+ "mpl.figure.prototype.handle_save = function (fig, _msg) {\n",
+ " var format_dropdown = fig.format_dropdown;\n",
+ " var format = format_dropdown.options[format_dropdown.selectedIndex].value;\n",
+ " fig.ondownload(fig, format);\n",
+ "};\n",
+ "\n",
+ "mpl.figure.prototype.handle_resize = function (fig, msg) {\n",
+ " var size = msg['size'];\n",
+ " if (size[0] !== fig.canvas.width || size[1] !== fig.canvas.height) {\n",
+ " fig._resize_canvas(size[0], size[1], msg['forward']);\n",
+ " fig.send_message('refresh', {});\n",
+ " }\n",
+ "};\n",
+ "\n",
+ "mpl.figure.prototype.handle_rubberband = function (fig, msg) {\n",
+ " var x0 = msg['x0'] / fig.ratio;\n",
+ " var y0 = (fig.canvas.height - msg['y0']) / fig.ratio;\n",
+ " var x1 = msg['x1'] / fig.ratio;\n",
+ " var y1 = (fig.canvas.height - msg['y1']) / fig.ratio;\n",
+ " x0 = Math.floor(x0) + 0.5;\n",
+ " y0 = Math.floor(y0) + 0.5;\n",
+ " x1 = Math.floor(x1) + 0.5;\n",
+ " y1 = Math.floor(y1) + 0.5;\n",
+ " var min_x = Math.min(x0, x1);\n",
+ " var min_y = Math.min(y0, y1);\n",
+ " var width = Math.abs(x1 - x0);\n",
+ " var height = Math.abs(y1 - y0);\n",
+ "\n",
+ " fig.rubberband_context.clearRect(\n",
+ " 0,\n",
+ " 0,\n",
+ " fig.canvas.width / fig.ratio,\n",
+ " fig.canvas.height / fig.ratio\n",
+ " );\n",
+ "\n",
+ " fig.rubberband_context.strokeRect(min_x, min_y, width, height);\n",
+ "};\n",
+ "\n",
+ "mpl.figure.prototype.handle_figure_label = function (fig, msg) {\n",
+ " // Updates the figure title.\n",
+ " fig.header.textContent = msg['label'];\n",
+ "};\n",
+ "\n",
+ "mpl.figure.prototype.handle_cursor = function (fig, msg) {\n",
+ " fig.rubberband_canvas.style.cursor = msg['cursor'];\n",
+ "};\n",
+ "\n",
+ "mpl.figure.prototype.handle_message = function (fig, msg) {\n",
+ " fig.message.textContent = msg['message'];\n",
+ "};\n",
+ "\n",
+ "mpl.figure.prototype.handle_draw = function (fig, _msg) {\n",
+ " // Request the server to send over a new figure.\n",
+ " fig.send_draw_message();\n",
+ "};\n",
+ "\n",
+ "mpl.figure.prototype.handle_image_mode = function (fig, msg) {\n",
+ " fig.image_mode = msg['mode'];\n",
+ "};\n",
+ "\n",
+ "mpl.figure.prototype.handle_history_buttons = function (fig, msg) {\n",
+ " for (var key in msg) {\n",
+ " if (!(key in fig.buttons)) {\n",
+ " continue;\n",
+ " }\n",
+ " fig.buttons[key].disabled = !msg[key];\n",
+ " fig.buttons[key].setAttribute('aria-disabled', !msg[key]);\n",
+ " }\n",
+ "};\n",
+ "\n",
+ "mpl.figure.prototype.handle_navigate_mode = function (fig, msg) {\n",
+ " if (msg['mode'] === 'PAN') {\n",
+ " fig.buttons['Pan'].classList.add('active');\n",
+ " fig.buttons['Zoom'].classList.remove('active');\n",
+ " } else if (msg['mode'] === 'ZOOM') {\n",
+ " fig.buttons['Pan'].classList.remove('active');\n",
+ " fig.buttons['Zoom'].classList.add('active');\n",
+ " } else {\n",
+ " fig.buttons['Pan'].classList.remove('active');\n",
+ " fig.buttons['Zoom'].classList.remove('active');\n",
+ " }\n",
+ "};\n",
+ "\n",
+ "mpl.figure.prototype.updated_canvas_event = function () {\n",
+ " // Called whenever the canvas gets updated.\n",
+ " this.send_message('ack', {});\n",
+ "};\n",
+ "\n",
+ "// A function to construct a web socket function for onmessage handling.\n",
+ "// Called in the figure constructor.\n",
+ "mpl.figure.prototype._make_on_message_function = function (fig) {\n",
+ " return function socket_on_message(evt) {\n",
+ " if (evt.data instanceof Blob) {\n",
+ " var img = evt.data;\n",
+ " if (img.type !== 'image/png') {\n",
+ " /* FIXME: We get \"Resource interpreted as Image but\n",
+ " * transferred with MIME type text/plain:\" errors on\n",
+ " * Chrome. But how to set the MIME type? It doesn't seem\n",
+ " * to be part of the websocket stream */\n",
+ " img.type = 'image/png';\n",
+ " }\n",
+ "\n",
+ " /* Free the memory for the previous frames */\n",
+ " if (fig.imageObj.src) {\n",
+ " (window.URL || window.webkitURL).revokeObjectURL(\n",
+ " fig.imageObj.src\n",
+ " );\n",
+ " }\n",
+ "\n",
+ " fig.imageObj.src = (window.URL || window.webkitURL).createObjectURL(\n",
+ " img\n",
+ " );\n",
+ " fig.updated_canvas_event();\n",
+ " fig.waiting = false;\n",
+ " return;\n",
+ " } else if (\n",
+ " typeof evt.data === 'string' &&\n",
+ " evt.data.slice(0, 21) === 'data:image/png;base64'\n",
+ " ) {\n",
+ " fig.imageObj.src = evt.data;\n",
+ " fig.updated_canvas_event();\n",
+ " fig.waiting = false;\n",
+ " return;\n",
+ " }\n",
+ "\n",
+ " var msg = JSON.parse(evt.data);\n",
+ " var msg_type = msg['type'];\n",
+ "\n",
+ " // Call the \"handle_{type}\" callback, which takes\n",
+ " // the figure and JSON message as its only arguments.\n",
+ " try {\n",
+ " var callback = fig['handle_' + msg_type];\n",
+ " } catch (e) {\n",
+ " console.log(\n",
+ " \"No handler for the '\" + msg_type + \"' message type: \",\n",
+ " msg\n",
+ " );\n",
+ " return;\n",
+ " }\n",
+ "\n",
+ " if (callback) {\n",
+ " try {\n",
+ " // console.log(\"Handling '\" + msg_type + \"' message: \", msg);\n",
+ " callback(fig, msg);\n",
+ " } catch (e) {\n",
+ " console.log(\n",
+ " \"Exception inside the 'handler_\" + msg_type + \"' callback:\",\n",
+ " e,\n",
+ " e.stack,\n",
+ " msg\n",
+ " );\n",
+ " }\n",
+ " }\n",
+ " };\n",
+ "};\n",
+ "\n",
+ "// from https://stackoverflow.com/questions/1114465/getting-mouse-location-in-canvas\n",
+ "mpl.findpos = function (e) {\n",
+ " //this section is from http://www.quirksmode.org/js/events_properties.html\n",
+ " var targ;\n",
+ " if (!e) {\n",
+ " e = window.event;\n",
+ " }\n",
+ " if (e.target) {\n",
+ " targ = e.target;\n",
+ " } else if (e.srcElement) {\n",
+ " targ = e.srcElement;\n",
+ " }\n",
+ " if (targ.nodeType === 3) {\n",
+ " // defeat Safari bug\n",
+ " targ = targ.parentNode;\n",
+ " }\n",
+ "\n",
+ " // pageX,Y are the mouse positions relative to the document\n",
+ " var boundingRect = targ.getBoundingClientRect();\n",
+ " var x = e.pageX - (boundingRect.left + document.body.scrollLeft);\n",
+ " var y = e.pageY - (boundingRect.top + document.body.scrollTop);\n",
+ "\n",
+ " return { x: x, y: y };\n",
+ "};\n",
+ "\n",
+ "/*\n",
+ " * return a copy of an object with only non-object keys\n",
+ " * we need this to avoid circular references\n",
+ " * https://stackoverflow.com/a/24161582/3208463\n",
+ " */\n",
+ "function simpleKeys(original) {\n",
+ " return Object.keys(original).reduce(function (obj, key) {\n",
+ " if (typeof original[key] !== 'object') {\n",
+ " obj[key] = original[key];\n",
+ " }\n",
+ " return obj;\n",
+ " }, {});\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype.mouse_event = function (event, name) {\n",
+ " var canvas_pos = mpl.findpos(event);\n",
+ "\n",
+ " if (name === 'button_press') {\n",
+ " this.canvas.focus();\n",
+ " this.canvas_div.focus();\n",
+ " }\n",
+ "\n",
+ " var x = canvas_pos.x * this.ratio;\n",
+ " var y = canvas_pos.y * this.ratio;\n",
+ "\n",
+ " this.send_message(name, {\n",
+ " x: x,\n",
+ " y: y,\n",
+ " button: event.button,\n",
+ " step: event.step,\n",
+ " guiEvent: simpleKeys(event),\n",
+ " });\n",
+ "\n",
+ " /* This prevents the web browser from automatically changing to\n",
+ " * the text insertion cursor when the button is pressed. We want\n",
+ " * to control all of the cursor setting manually through the\n",
+ " * 'cursor' event from matplotlib */\n",
+ " event.preventDefault();\n",
+ " return false;\n",
+ "};\n",
+ "\n",
+ "mpl.figure.prototype._key_event_extra = function (_event, _name) {\n",
+ " // Handle any extra behaviour associated with a key event\n",
+ "};\n",
+ "\n",
+ "mpl.figure.prototype.key_event = function (event, name) {\n",
+ " // Prevent repeat events\n",
+ " if (name === 'key_press') {\n",
+ " if (event.key === this._key) {\n",
+ " return;\n",
+ " } else {\n",
+ " this._key = event.key;\n",
+ " }\n",
+ " }\n",
+ " if (name === 'key_release') {\n",
+ " this._key = null;\n",
+ " }\n",
+ "\n",
+ " var value = '';\n",
+ " if (event.ctrlKey && event.key !== 'Control') {\n",
+ " value += 'ctrl+';\n",
+ " }\n",
+ " else if (event.altKey && event.key !== 'Alt') {\n",
+ " value += 'alt+';\n",
+ " }\n",
+ " else if (event.shiftKey && event.key !== 'Shift') {\n",
+ " value += 'shift+';\n",
+ " }\n",
+ "\n",
+ " value += 'k' + event.key;\n",
+ "\n",
+ " this._key_event_extra(event, name);\n",
+ "\n",
+ " this.send_message(name, { key: value, guiEvent: simpleKeys(event) });\n",
+ " return false;\n",
+ "};\n",
+ "\n",
+ "mpl.figure.prototype.toolbar_button_onclick = function (name) {\n",
+ " if (name === 'download') {\n",
+ " this.handle_save(this, null);\n",
+ " } else {\n",
+ " this.send_message('toolbar_button', { name: name });\n",
+ " }\n",
+ "};\n",
+ "\n",
+ "mpl.figure.prototype.toolbar_button_onmouseover = function (tooltip) {\n",
+ " this.message.textContent = tooltip;\n",
+ "};\n",
+ "\n",
+ "///////////////// REMAINING CONTENT GENERATED BY embed_js.py /////////////////\n",
+ "// prettier-ignore\n",
+ "var _JSXTOOLS_RESIZE_OBSERVER=function(A){var t,i=new WeakMap,n=new WeakMap,a=new WeakMap,r=new WeakMap,o=new Set;function s(e){if(!(this instanceof s))throw new TypeError(\"Constructor requires 'new' operator\");i.set(this,e)}function h(){throw new TypeError(\"Function is not a constructor\")}function c(e,t,i,n){e=0 in arguments?Number(arguments[0]):0,t=1 in arguments?Number(arguments[1]):0,i=2 in arguments?Number(arguments[2]):0,n=3 in arguments?Number(arguments[3]):0,this.right=(this.x=this.left=e)+(this.width=i),this.bottom=(this.y=this.top=t)+(this.height=n),Object.freeze(this)}function d(){t=requestAnimationFrame(d);var s=new WeakMap,p=new Set;o.forEach((function(t){r.get(t).forEach((function(i){var r=t instanceof window.SVGElement,o=a.get(t),d=r?0:parseFloat(o.paddingTop),f=r?0:parseFloat(o.paddingRight),l=r?0:parseFloat(o.paddingBottom),u=r?0:parseFloat(o.paddingLeft),g=r?0:parseFloat(o.borderTopWidth),m=r?0:parseFloat(o.borderRightWidth),w=r?0:parseFloat(o.borderBottomWidth),b=u+f,F=d+l,v=(r?0:parseFloat(o.borderLeftWidth))+m,W=g+w,y=r?0:t.offsetHeight-W-t.clientHeight,E=r?0:t.offsetWidth-v-t.clientWidth,R=b+v,z=F+W,M=r?t.width:parseFloat(o.width)-R-E,O=r?t.height:parseFloat(o.height)-z-y;if(n.has(t)){var k=n.get(t);if(k[0]===M&&k[1]===O)return}n.set(t,[M,O]);var S=Object.create(h.prototype);S.target=t,S.contentRect=new c(u,d,M,O),s.has(i)||(s.set(i,[]),p.add(i)),s.get(i).push(S)}))})),p.forEach((function(e){i.get(e).call(e,s.get(e),e)}))}return s.prototype.observe=function(i){if(i instanceof window.Element){r.has(i)||(r.set(i,new Set),o.add(i),a.set(i,window.getComputedStyle(i)));var n=r.get(i);n.has(this)||n.add(this),cancelAnimationFrame(t),t=requestAnimationFrame(d)}},s.prototype.unobserve=function(i){if(i instanceof window.Element&&r.has(i)){var n=r.get(i);n.has(this)&&(n.delete(this),n.size||(r.delete(i),o.delete(i))),n.size||r.delete(i),o.size||cancelAnimationFrame(t)}},A.DOMRectReadOnly=c,A.ResizeObserver=s,A.ResizeObserverEntry=h,A}; // eslint-disable-line\n",
+ "mpl.toolbar_items = [[\"Home\", \"Reset original view\", \"fa fa-home icon-home\", \"home\"], [\"Back\", \"Back to previous view\", \"fa fa-arrow-left icon-arrow-left\", \"back\"], [\"Forward\", \"Forward to next view\", \"fa fa-arrow-right icon-arrow-right\", \"forward\"], [\"\", \"\", \"\", \"\"], [\"Pan\", \"Left button pans, Right button zooms\\nx/y fixes axis, CTRL fixes aspect\", \"fa fa-arrows icon-move\", \"pan\"], [\"Zoom\", \"Zoom to rectangle\\nx/y fixes axis\", \"fa fa-square-o icon-check-empty\", \"zoom\"], [\"\", \"\", \"\", \"\"], [\"Download\", \"Download plot\", \"fa fa-floppy-o icon-save\", \"download\"]];\n",
+ "\n",
+ "mpl.extensions = [\"eps\", \"jpeg\", \"pgf\", \"pdf\", \"png\", \"ps\", \"raw\", \"svg\", \"tif\"];\n",
+ "\n",
+ "mpl.default_extension = \"png\";/* global mpl */\n",
+ "\n",
+ "var comm_websocket_adapter = function (comm) {\n",
+ " // Create a \"websocket\"-like object which calls the given IPython comm\n",
+ " // object with the appropriate methods. Currently this is a non binary\n",
+ " // socket, so there is still some room for performance tuning.\n",
+ " var ws = {};\n",
+ "\n",
+ " ws.binaryType = comm.kernel.ws.binaryType;\n",
+ " ws.readyState = comm.kernel.ws.readyState;\n",
+ " function updateReadyState(_event) {\n",
+ " if (comm.kernel.ws) {\n",
+ " ws.readyState = comm.kernel.ws.readyState;\n",
+ " } else {\n",
+ " ws.readyState = 3; // Closed state.\n",
+ " }\n",
+ " }\n",
+ " comm.kernel.ws.addEventListener('open', updateReadyState);\n",
+ " comm.kernel.ws.addEventListener('close', updateReadyState);\n",
+ " comm.kernel.ws.addEventListener('error', updateReadyState);\n",
+ "\n",
+ " ws.close = function () {\n",
+ " comm.close();\n",
+ " };\n",
+ " ws.send = function (m) {\n",
+ " //console.log('sending', m);\n",
+ " comm.send(m);\n",
+ " };\n",
+ " // Register the callback with on_msg.\n",
+ " comm.on_msg(function (msg) {\n",
+ " //console.log('receiving', msg['content']['data'], msg);\n",
+ " var data = msg['content']['data'];\n",
+ " if (data['blob'] !== undefined) {\n",
+ " data = {\n",
+ " data: new Blob(msg['buffers'], { type: data['blob'] }),\n",
+ " };\n",
+ " }\n",
+ " // Pass the mpl event to the overridden (by mpl) onmessage function.\n",
+ " ws.onmessage(data);\n",
+ " });\n",
+ " return ws;\n",
+ "};\n",
+ "\n",
+ "mpl.mpl_figure_comm = function (comm, msg) {\n",
+ " // This is the function which gets called when the mpl process\n",
+ " // starts-up an IPython Comm through the \"matplotlib\" channel.\n",
+ "\n",
+ " var id = msg.content.data.id;\n",
+ " // Get hold of the div created by the display call when the Comm\n",
+ " // socket was opened in Python.\n",
+ " var element = document.getElementById(id);\n",
+ " var ws_proxy = comm_websocket_adapter(comm);\n",
+ "\n",
+ " function ondownload(figure, _format) {\n",
+ " window.open(figure.canvas.toDataURL());\n",
+ " }\n",
+ "\n",
+ " var fig = new mpl.figure(id, ws_proxy, ondownload, element);\n",
+ "\n",
+ " // Call onopen now - mpl needs it, as it is assuming we've passed it a real\n",
+ " // web socket which is closed, not our websocket->open comm proxy.\n",
+ " ws_proxy.onopen();\n",
+ "\n",
+ " fig.parent_element = element;\n",
+ " fig.cell_info = mpl.find_output_cell(\"\");\n",
+ " if (!fig.cell_info) {\n",
+ " console.error('Failed to find cell for figure', id, fig);\n",
+ " return;\n",
+ " }\n",
+ " fig.cell_info[0].output_area.element.on(\n",
+ " 'cleared',\n",
+ " { fig: fig },\n",
+ " fig._remove_fig_handler\n",
+ " );\n",
+ "};\n",
+ "\n",
+ "mpl.figure.prototype.handle_close = function (fig, msg) {\n",
+ " var width = fig.canvas.width / fig.ratio;\n",
+ " fig.cell_info[0].output_area.element.off(\n",
+ " 'cleared',\n",
+ " fig._remove_fig_handler\n",
+ " );\n",
+ " fig.resizeObserverInstance.unobserve(fig.canvas_div);\n",
+ "\n",
+ " // Update the output cell to use the data from the current canvas.\n",
+ " fig.push_to_output();\n",
+ " var dataURL = fig.canvas.toDataURL();\n",
+ " // Re-enable the keyboard manager in IPython - without this line, in FF,\n",
+ " // the notebook keyboard shortcuts fail.\n",
+ " IPython.keyboard_manager.enable();\n",
+ " fig.parent_element.innerHTML =\n",
+ " '
';\n",
+ " fig.close_ws(fig, msg);\n",
+ "};\n",
+ "\n",
+ "mpl.figure.prototype.close_ws = function (fig, msg) {\n",
+ " fig.send_message('closing', msg);\n",
+ " // fig.ws.close()\n",
+ "};\n",
+ "\n",
+ "mpl.figure.prototype.push_to_output = function (_remove_interactive) {\n",
+ " // Turn the data on the canvas into data in the output cell.\n",
+ " var width = this.canvas.width / this.ratio;\n",
+ " var dataURL = this.canvas.toDataURL();\n",
+ " this.cell_info[1]['text/html'] =\n",
+ " '
';\n",
+ "};\n",
+ "\n",
+ "mpl.figure.prototype.updated_canvas_event = function () {\n",
+ " // Tell IPython that the notebook contents must change.\n",
+ " IPython.notebook.set_dirty(true);\n",
+ " this.send_message('ack', {});\n",
+ " var fig = this;\n",
+ " // Wait a second, then push the new image to the DOM so\n",
+ " // that it is saved nicely (might be nice to debounce this).\n",
+ " setTimeout(function () {\n",
+ " fig.push_to_output();\n",
+ " }, 1000);\n",
+ "};\n",
+ "\n",
+ "mpl.figure.prototype._init_toolbar = function () {\n",
+ " var fig = this;\n",
+ "\n",
+ " var toolbar = document.createElement('div');\n",
+ " toolbar.classList = 'btn-toolbar';\n",
+ " this.root.appendChild(toolbar);\n",
+ "\n",
+ " function on_click_closure(name) {\n",
+ " return function (_event) {\n",
+ " return fig.toolbar_button_onclick(name);\n",
+ " };\n",
+ " }\n",
+ "\n",
+ " function on_mouseover_closure(tooltip) {\n",
+ " return function (event) {\n",
+ " if (!event.currentTarget.disabled) {\n",
+ " return fig.toolbar_button_onmouseover(tooltip);\n",
+ " }\n",
+ " };\n",
+ " }\n",
+ "\n",
+ " fig.buttons = {};\n",
+ " var buttonGroup = document.createElement('div');\n",
+ " buttonGroup.classList = 'btn-group';\n",
+ " var button;\n",
+ " for (var toolbar_ind in mpl.toolbar_items) {\n",
+ " var name = mpl.toolbar_items[toolbar_ind][0];\n",
+ " var tooltip = mpl.toolbar_items[toolbar_ind][1];\n",
+ " var image = mpl.toolbar_items[toolbar_ind][2];\n",
+ " var method_name = mpl.toolbar_items[toolbar_ind][3];\n",
+ "\n",
+ " if (!name) {\n",
+ " /* Instead of a spacer, we start a new button group. */\n",
+ " if (buttonGroup.hasChildNodes()) {\n",
+ " toolbar.appendChild(buttonGroup);\n",
+ " }\n",
+ " buttonGroup = document.createElement('div');\n",
+ " buttonGroup.classList = 'btn-group';\n",
+ " continue;\n",
+ " }\n",
+ "\n",
+ " button = fig.buttons[name] = document.createElement('button');\n",
+ " button.classList = 'btn btn-default';\n",
+ " button.href = '#';\n",
+ " button.title = name;\n",
+ " button.innerHTML = '';\n",
+ " button.addEventListener('click', on_click_closure(method_name));\n",
+ " button.addEventListener('mouseover', on_mouseover_closure(tooltip));\n",
+ " buttonGroup.appendChild(button);\n",
+ " }\n",
+ "\n",
+ " if (buttonGroup.hasChildNodes()) {\n",
+ " toolbar.appendChild(buttonGroup);\n",
+ " }\n",
+ "\n",
+ " // Add the status bar.\n",
+ " var status_bar = document.createElement('span');\n",
+ " status_bar.classList = 'mpl-message pull-right';\n",
+ " toolbar.appendChild(status_bar);\n",
+ " this.message = status_bar;\n",
+ "\n",
+ " // Add the close button to the window.\n",
+ " var buttongrp = document.createElement('div');\n",
+ " buttongrp.classList = 'btn-group inline pull-right';\n",
+ " button = document.createElement('button');\n",
+ " button.classList = 'btn btn-mini btn-primary';\n",
+ " button.href = '#';\n",
+ " button.title = 'Stop Interaction';\n",
+ " button.innerHTML = '';\n",
+ " button.addEventListener('click', function (_evt) {\n",
+ " fig.handle_close(fig, {});\n",
+ " });\n",
+ " button.addEventListener(\n",
+ " 'mouseover',\n",
+ " on_mouseover_closure('Stop Interaction')\n",
+ " );\n",
+ " buttongrp.appendChild(button);\n",
+ " var titlebar = this.root.querySelector('.ui-dialog-titlebar');\n",
+ " titlebar.insertBefore(buttongrp, titlebar.firstChild);\n",
+ "};\n",
+ "\n",
+ "mpl.figure.prototype._remove_fig_handler = function (event) {\n",
+ " var fig = event.data.fig;\n",
+ " if (event.target !== this) {\n",
+ " // Ignore bubbled events from children.\n",
+ " return;\n",
+ " }\n",
+ " fig.close_ws(fig, {});\n",
+ "};\n",
+ "\n",
+ "mpl.figure.prototype._root_extra_style = function (el) {\n",
+ " el.style.boxSizing = 'content-box'; // override notebook setting of border-box.\n",
+ "};\n",
+ "\n",
+ "mpl.figure.prototype._canvas_extra_style = function (el) {\n",
+ " // this is important to make the div 'focusable\n",
+ " el.setAttribute('tabindex', 0);\n",
+ " // reach out to IPython and tell the keyboard manager to turn it's self\n",
+ " // off when our div gets focus\n",
+ "\n",
+ " // location in version 3\n",
+ " if (IPython.notebook.keyboard_manager) {\n",
+ " IPython.notebook.keyboard_manager.register_events(el);\n",
+ " } else {\n",
+ " // location in version 2\n",
+ " IPython.keyboard_manager.register_events(el);\n",
+ " }\n",
+ "};\n",
+ "\n",
+ "mpl.figure.prototype._key_event_extra = function (event, _name) {\n",
+ " // Check for shift+enter\n",
+ " if (event.shiftKey && event.which === 13) {\n",
+ " this.canvas_div.blur();\n",
+ " // select the cell after this one\n",
+ " var index = IPython.notebook.find_cell_index(this.cell_info[0]);\n",
+ " IPython.notebook.select(index + 1);\n",
+ " }\n",
+ "};\n",
+ "\n",
+ "mpl.figure.prototype.handle_save = function (fig, _msg) {\n",
+ " fig.ondownload(fig, null);\n",
+ "};\n",
+ "\n",
+ "mpl.find_output_cell = function (html_output) {\n",
+ " // Return the cell and output element which can be found *uniquely* in the notebook.\n",
+ " // Note - this is a bit hacky, but it is done because the \"notebook_saving.Notebook\"\n",
+ " // IPython event is triggered only after the cells have been serialised, which for\n",
+ " // our purposes (turning an active figure into a static one), is too late.\n",
+ " var cells = IPython.notebook.get_cells();\n",
+ " var ncells = cells.length;\n",
+ " for (var i = 0; i < ncells; i++) {\n",
+ " var cell = cells[i];\n",
+ " if (cell.cell_type === 'code') {\n",
+ " for (var j = 0; j < cell.output_area.outputs.length; j++) {\n",
+ " var data = cell.output_area.outputs[j];\n",
+ " if (data.data) {\n",
+ " // IPython >= 3 moved mimebundle to data attribute of output\n",
+ " data = data.data;\n",
+ " }\n",
+ " if (data['text/html'] === html_output) {\n",
+ " return [cell, data, j];\n",
+ " }\n",
+ " }\n",
+ " }\n",
+ " }\n",
+ "};\n",
+ "\n",
+ "// Register the function which deals with the matplotlib target/channel.\n",
+ "// The kernel may be null if the page has been refreshed.\n",
+ "if (IPython.notebook.kernel !== null) {\n",
+ " IPython.notebook.kernel.comm_manager.register_target(\n",
+ " 'matplotlib',\n",
+ " mpl.mpl_figure_comm\n",
+ " );\n",
+ "}\n"
+ ],
+ "text/plain": [
+ ""
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ },
+ {
+ "data": {
+ "text/html": [
+ "
"
+ ],
+ "text/plain": [
+ ""
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ }
+ ],
"source": [
"nrow=2\n",
"ncol=3\n",
@@ -595,9 +8512,997 @@
},
{
"cell_type": "code",
- "execution_count": null,
+ "execution_count": 38,
"metadata": {},
- "outputs": [],
+ "outputs": [
+ {
+ "data": {
+ "application/javascript": [
+ "/* Put everything inside the global mpl namespace */\n",
+ "/* global mpl */\n",
+ "window.mpl = {};\n",
+ "\n",
+ "mpl.get_websocket_type = function () {\n",
+ " if (typeof WebSocket !== 'undefined') {\n",
+ " return WebSocket;\n",
+ " } else if (typeof MozWebSocket !== 'undefined') {\n",
+ " return MozWebSocket;\n",
+ " } else {\n",
+ " alert(\n",
+ " 'Your browser does not have WebSocket support. ' +\n",
+ " 'Please try Chrome, Safari or Firefox ≥ 6. ' +\n",
+ " 'Firefox 4 and 5 are also supported but you ' +\n",
+ " 'have to enable WebSockets in about:config.'\n",
+ " );\n",
+ " }\n",
+ "};\n",
+ "\n",
+ "mpl.figure = function (figure_id, websocket, ondownload, parent_element) {\n",
+ " this.id = figure_id;\n",
+ "\n",
+ " this.ws = websocket;\n",
+ "\n",
+ " this.supports_binary = this.ws.binaryType !== undefined;\n",
+ "\n",
+ " if (!this.supports_binary) {\n",
+ " var warnings = document.getElementById('mpl-warnings');\n",
+ " if (warnings) {\n",
+ " warnings.style.display = 'block';\n",
+ " warnings.textContent =\n",
+ " 'This browser does not support binary websocket messages. ' +\n",
+ " 'Performance may be slow.';\n",
+ " }\n",
+ " }\n",
+ "\n",
+ " this.imageObj = new Image();\n",
+ "\n",
+ " this.context = undefined;\n",
+ " this.message = undefined;\n",
+ " this.canvas = undefined;\n",
+ " this.rubberband_canvas = undefined;\n",
+ " this.rubberband_context = undefined;\n",
+ " this.format_dropdown = undefined;\n",
+ "\n",
+ " this.image_mode = 'full';\n",
+ "\n",
+ " this.root = document.createElement('div');\n",
+ " this.root.setAttribute('style', 'display: inline-block');\n",
+ " this._root_extra_style(this.root);\n",
+ "\n",
+ " parent_element.appendChild(this.root);\n",
+ "\n",
+ " this._init_header(this);\n",
+ " this._init_canvas(this);\n",
+ " this._init_toolbar(this);\n",
+ "\n",
+ " var fig = this;\n",
+ "\n",
+ " this.waiting = false;\n",
+ "\n",
+ " this.ws.onopen = function () {\n",
+ " fig.send_message('supports_binary', { value: fig.supports_binary });\n",
+ " fig.send_message('send_image_mode', {});\n",
+ " if (fig.ratio !== 1) {\n",
+ " fig.send_message('set_device_pixel_ratio', {\n",
+ " device_pixel_ratio: fig.ratio,\n",
+ " });\n",
+ " }\n",
+ " fig.send_message('refresh', {});\n",
+ " };\n",
+ "\n",
+ " this.imageObj.onload = function () {\n",
+ " if (fig.image_mode === 'full') {\n",
+ " // Full images could contain transparency (where diff images\n",
+ " // almost always do), so we need to clear the canvas so that\n",
+ " // there is no ghosting.\n",
+ " fig.context.clearRect(0, 0, fig.canvas.width, fig.canvas.height);\n",
+ " }\n",
+ " fig.context.drawImage(fig.imageObj, 0, 0);\n",
+ " };\n",
+ "\n",
+ " this.imageObj.onunload = function () {\n",
+ " fig.ws.close();\n",
+ " };\n",
+ "\n",
+ " this.ws.onmessage = this._make_on_message_function(this);\n",
+ "\n",
+ " this.ondownload = ondownload;\n",
+ "};\n",
+ "\n",
+ "mpl.figure.prototype._init_header = function () {\n",
+ " var titlebar = document.createElement('div');\n",
+ " titlebar.classList =\n",
+ " 'ui-dialog-titlebar ui-widget-header ui-corner-all ui-helper-clearfix';\n",
+ " var titletext = document.createElement('div');\n",
+ " titletext.classList = 'ui-dialog-title';\n",
+ " titletext.setAttribute(\n",
+ " 'style',\n",
+ " 'width: 100%; text-align: center; padding: 3px;'\n",
+ " );\n",
+ " titlebar.appendChild(titletext);\n",
+ " this.root.appendChild(titlebar);\n",
+ " this.header = titletext;\n",
+ "};\n",
+ "\n",
+ "mpl.figure.prototype._canvas_extra_style = function (_canvas_div) {};\n",
+ "\n",
+ "mpl.figure.prototype._root_extra_style = function (_canvas_div) {};\n",
+ "\n",
+ "mpl.figure.prototype._init_canvas = function () {\n",
+ " var fig = this;\n",
+ "\n",
+ " var canvas_div = (this.canvas_div = document.createElement('div'));\n",
+ " canvas_div.setAttribute(\n",
+ " 'style',\n",
+ " 'border: 1px solid #ddd;' +\n",
+ " 'box-sizing: content-box;' +\n",
+ " 'clear: both;' +\n",
+ " 'min-height: 1px;' +\n",
+ " 'min-width: 1px;' +\n",
+ " 'outline: 0;' +\n",
+ " 'overflow: hidden;' +\n",
+ " 'position: relative;' +\n",
+ " 'resize: both;'\n",
+ " );\n",
+ "\n",
+ " function on_keyboard_event_closure(name) {\n",
+ " return function (event) {\n",
+ " return fig.key_event(event, name);\n",
+ " };\n",
+ " }\n",
+ "\n",
+ " canvas_div.addEventListener(\n",
+ " 'keydown',\n",
+ " on_keyboard_event_closure('key_press')\n",
+ " );\n",
+ " canvas_div.addEventListener(\n",
+ " 'keyup',\n",
+ " on_keyboard_event_closure('key_release')\n",
+ " );\n",
+ "\n",
+ " this._canvas_extra_style(canvas_div);\n",
+ " this.root.appendChild(canvas_div);\n",
+ "\n",
+ " var canvas = (this.canvas = document.createElement('canvas'));\n",
+ " canvas.classList.add('mpl-canvas');\n",
+ " canvas.setAttribute('style', 'box-sizing: content-box;');\n",
+ "\n",
+ " this.context = canvas.getContext('2d');\n",
+ "\n",
+ " var backingStore =\n",
+ " this.context.backingStorePixelRatio ||\n",
+ " this.context.webkitBackingStorePixelRatio ||\n",
+ " this.context.mozBackingStorePixelRatio ||\n",
+ " this.context.msBackingStorePixelRatio ||\n",
+ " this.context.oBackingStorePixelRatio ||\n",
+ " this.context.backingStorePixelRatio ||\n",
+ " 1;\n",
+ "\n",
+ " this.ratio = (window.devicePixelRatio || 1) / backingStore;\n",
+ "\n",
+ " var rubberband_canvas = (this.rubberband_canvas = document.createElement(\n",
+ " 'canvas'\n",
+ " ));\n",
+ " rubberband_canvas.setAttribute(\n",
+ " 'style',\n",
+ " 'box-sizing: content-box; position: absolute; left: 0; top: 0; z-index: 1;'\n",
+ " );\n",
+ "\n",
+ " // Apply a ponyfill if ResizeObserver is not implemented by browser.\n",
+ " if (this.ResizeObserver === undefined) {\n",
+ " if (window.ResizeObserver !== undefined) {\n",
+ " this.ResizeObserver = window.ResizeObserver;\n",
+ " } else {\n",
+ " var obs = _JSXTOOLS_RESIZE_OBSERVER({});\n",
+ " this.ResizeObserver = obs.ResizeObserver;\n",
+ " }\n",
+ " }\n",
+ "\n",
+ " this.resizeObserverInstance = new this.ResizeObserver(function (entries) {\n",
+ " var nentries = entries.length;\n",
+ " for (var i = 0; i < nentries; i++) {\n",
+ " var entry = entries[i];\n",
+ " var width, height;\n",
+ " if (entry.contentBoxSize) {\n",
+ " if (entry.contentBoxSize instanceof Array) {\n",
+ " // Chrome 84 implements new version of spec.\n",
+ " width = entry.contentBoxSize[0].inlineSize;\n",
+ " height = entry.contentBoxSize[0].blockSize;\n",
+ " } else {\n",
+ " // Firefox implements old version of spec.\n",
+ " width = entry.contentBoxSize.inlineSize;\n",
+ " height = entry.contentBoxSize.blockSize;\n",
+ " }\n",
+ " } else {\n",
+ " // Chrome <84 implements even older version of spec.\n",
+ " width = entry.contentRect.width;\n",
+ " height = entry.contentRect.height;\n",
+ " }\n",
+ "\n",
+ " // Keep the size of the canvas and rubber band canvas in sync with\n",
+ " // the canvas container.\n",
+ " if (entry.devicePixelContentBoxSize) {\n",
+ " // Chrome 84 implements new version of spec.\n",
+ " canvas.setAttribute(\n",
+ " 'width',\n",
+ " entry.devicePixelContentBoxSize[0].inlineSize\n",
+ " );\n",
+ " canvas.setAttribute(\n",
+ " 'height',\n",
+ " entry.devicePixelContentBoxSize[0].blockSize\n",
+ " );\n",
+ " } else {\n",
+ " canvas.setAttribute('width', width * fig.ratio);\n",
+ " canvas.setAttribute('height', height * fig.ratio);\n",
+ " }\n",
+ " canvas.setAttribute(\n",
+ " 'style',\n",
+ " 'width: ' + width + 'px; height: ' + height + 'px;'\n",
+ " );\n",
+ "\n",
+ " rubberband_canvas.setAttribute('width', width);\n",
+ " rubberband_canvas.setAttribute('height', height);\n",
+ "\n",
+ " // And update the size in Python. We ignore the initial 0/0 size\n",
+ " // that occurs as the element is placed into the DOM, which should\n",
+ " // otherwise not happen due to the minimum size styling.\n",
+ " if (fig.ws.readyState == 1 && width != 0 && height != 0) {\n",
+ " fig.request_resize(width, height);\n",
+ " }\n",
+ " }\n",
+ " });\n",
+ " this.resizeObserverInstance.observe(canvas_div);\n",
+ "\n",
+ " function on_mouse_event_closure(name) {\n",
+ " return function (event) {\n",
+ " return fig.mouse_event(event, name);\n",
+ " };\n",
+ " }\n",
+ "\n",
+ " rubberband_canvas.addEventListener(\n",
+ " 'mousedown',\n",
+ " on_mouse_event_closure('button_press')\n",
+ " );\n",
+ " rubberband_canvas.addEventListener(\n",
+ " 'mouseup',\n",
+ " on_mouse_event_closure('button_release')\n",
+ " );\n",
+ " rubberband_canvas.addEventListener(\n",
+ " 'dblclick',\n",
+ " on_mouse_event_closure('dblclick')\n",
+ " );\n",
+ " // Throttle sequential mouse events to 1 every 20ms.\n",
+ " rubberband_canvas.addEventListener(\n",
+ " 'mousemove',\n",
+ " on_mouse_event_closure('motion_notify')\n",
+ " );\n",
+ "\n",
+ " rubberband_canvas.addEventListener(\n",
+ " 'mouseenter',\n",
+ " on_mouse_event_closure('figure_enter')\n",
+ " );\n",
+ " rubberband_canvas.addEventListener(\n",
+ " 'mouseleave',\n",
+ " on_mouse_event_closure('figure_leave')\n",
+ " );\n",
+ "\n",
+ " canvas_div.addEventListener('wheel', function (event) {\n",
+ " if (event.deltaY < 0) {\n",
+ " event.step = 1;\n",
+ " } else {\n",
+ " event.step = -1;\n",
+ " }\n",
+ " on_mouse_event_closure('scroll')(event);\n",
+ " });\n",
+ "\n",
+ " canvas_div.appendChild(canvas);\n",
+ " canvas_div.appendChild(rubberband_canvas);\n",
+ "\n",
+ " this.rubberband_context = rubberband_canvas.getContext('2d');\n",
+ " this.rubberband_context.strokeStyle = '#000000';\n",
+ "\n",
+ " this._resize_canvas = function (width, height, forward) {\n",
+ " if (forward) {\n",
+ " canvas_div.style.width = width + 'px';\n",
+ " canvas_div.style.height = height + 'px';\n",
+ " }\n",
+ " };\n",
+ "\n",
+ " // Disable right mouse context menu.\n",
+ " this.rubberband_canvas.addEventListener('contextmenu', function (_e) {\n",
+ " event.preventDefault();\n",
+ " return false;\n",
+ " });\n",
+ "\n",
+ " function set_focus() {\n",
+ " canvas.focus();\n",
+ " canvas_div.focus();\n",
+ " }\n",
+ "\n",
+ " window.setTimeout(set_focus, 100);\n",
+ "};\n",
+ "\n",
+ "mpl.figure.prototype._init_toolbar = function () {\n",
+ " var fig = this;\n",
+ "\n",
+ " var toolbar = document.createElement('div');\n",
+ " toolbar.classList = 'mpl-toolbar';\n",
+ " this.root.appendChild(toolbar);\n",
+ "\n",
+ " function on_click_closure(name) {\n",
+ " return function (_event) {\n",
+ " return fig.toolbar_button_onclick(name);\n",
+ " };\n",
+ " }\n",
+ "\n",
+ " function on_mouseover_closure(tooltip) {\n",
+ " return function (event) {\n",
+ " if (!event.currentTarget.disabled) {\n",
+ " return fig.toolbar_button_onmouseover(tooltip);\n",
+ " }\n",
+ " };\n",
+ " }\n",
+ "\n",
+ " fig.buttons = {};\n",
+ " var buttonGroup = document.createElement('div');\n",
+ " buttonGroup.classList = 'mpl-button-group';\n",
+ " for (var toolbar_ind in mpl.toolbar_items) {\n",
+ " var name = mpl.toolbar_items[toolbar_ind][0];\n",
+ " var tooltip = mpl.toolbar_items[toolbar_ind][1];\n",
+ " var image = mpl.toolbar_items[toolbar_ind][2];\n",
+ " var method_name = mpl.toolbar_items[toolbar_ind][3];\n",
+ "\n",
+ " if (!name) {\n",
+ " /* Instead of a spacer, we start a new button group. */\n",
+ " if (buttonGroup.hasChildNodes()) {\n",
+ " toolbar.appendChild(buttonGroup);\n",
+ " }\n",
+ " buttonGroup = document.createElement('div');\n",
+ " buttonGroup.classList = 'mpl-button-group';\n",
+ " continue;\n",
+ " }\n",
+ "\n",
+ " var button = (fig.buttons[name] = document.createElement('button'));\n",
+ " button.classList = 'mpl-widget';\n",
+ " button.setAttribute('role', 'button');\n",
+ " button.setAttribute('aria-disabled', 'false');\n",
+ " button.addEventListener('click', on_click_closure(method_name));\n",
+ " button.addEventListener('mouseover', on_mouseover_closure(tooltip));\n",
+ "\n",
+ " var icon_img = document.createElement('img');\n",
+ " icon_img.src = '_images/' + image + '.png';\n",
+ " icon_img.srcset = '_images/' + image + '_large.png 2x';\n",
+ " icon_img.alt = tooltip;\n",
+ " button.appendChild(icon_img);\n",
+ "\n",
+ " buttonGroup.appendChild(button);\n",
+ " }\n",
+ "\n",
+ " if (buttonGroup.hasChildNodes()) {\n",
+ " toolbar.appendChild(buttonGroup);\n",
+ " }\n",
+ "\n",
+ " var fmt_picker = document.createElement('select');\n",
+ " fmt_picker.classList = 'mpl-widget';\n",
+ " toolbar.appendChild(fmt_picker);\n",
+ " this.format_dropdown = fmt_picker;\n",
+ "\n",
+ " for (var ind in mpl.extensions) {\n",
+ " var fmt = mpl.extensions[ind];\n",
+ " var option = document.createElement('option');\n",
+ " option.selected = fmt === mpl.default_extension;\n",
+ " option.innerHTML = fmt;\n",
+ " fmt_picker.appendChild(option);\n",
+ " }\n",
+ "\n",
+ " var status_bar = document.createElement('span');\n",
+ " status_bar.classList = 'mpl-message';\n",
+ " toolbar.appendChild(status_bar);\n",
+ " this.message = status_bar;\n",
+ "};\n",
+ "\n",
+ "mpl.figure.prototype.request_resize = function (x_pixels, y_pixels) {\n",
+ " // Request matplotlib to resize the figure. Matplotlib will then trigger a resize in the client,\n",
+ " // which will in turn request a refresh of the image.\n",
+ " this.send_message('resize', { width: x_pixels, height: y_pixels });\n",
+ "};\n",
+ "\n",
+ "mpl.figure.prototype.send_message = function (type, properties) {\n",
+ " properties['type'] = type;\n",
+ " properties['figure_id'] = this.id;\n",
+ " this.ws.send(JSON.stringify(properties));\n",
+ "};\n",
+ "\n",
+ "mpl.figure.prototype.send_draw_message = function () {\n",
+ " if (!this.waiting) {\n",
+ " this.waiting = true;\n",
+ " this.ws.send(JSON.stringify({ type: 'draw', figure_id: this.id }));\n",
+ " }\n",
+ "};\n",
+ "\n",
+ "mpl.figure.prototype.handle_save = function (fig, _msg) {\n",
+ " var format_dropdown = fig.format_dropdown;\n",
+ " var format = format_dropdown.options[format_dropdown.selectedIndex].value;\n",
+ " fig.ondownload(fig, format);\n",
+ "};\n",
+ "\n",
+ "mpl.figure.prototype.handle_resize = function (fig, msg) {\n",
+ " var size = msg['size'];\n",
+ " if (size[0] !== fig.canvas.width || size[1] !== fig.canvas.height) {\n",
+ " fig._resize_canvas(size[0], size[1], msg['forward']);\n",
+ " fig.send_message('refresh', {});\n",
+ " }\n",
+ "};\n",
+ "\n",
+ "mpl.figure.prototype.handle_rubberband = function (fig, msg) {\n",
+ " var x0 = msg['x0'] / fig.ratio;\n",
+ " var y0 = (fig.canvas.height - msg['y0']) / fig.ratio;\n",
+ " var x1 = msg['x1'] / fig.ratio;\n",
+ " var y1 = (fig.canvas.height - msg['y1']) / fig.ratio;\n",
+ " x0 = Math.floor(x0) + 0.5;\n",
+ " y0 = Math.floor(y0) + 0.5;\n",
+ " x1 = Math.floor(x1) + 0.5;\n",
+ " y1 = Math.floor(y1) + 0.5;\n",
+ " var min_x = Math.min(x0, x1);\n",
+ " var min_y = Math.min(y0, y1);\n",
+ " var width = Math.abs(x1 - x0);\n",
+ " var height = Math.abs(y1 - y0);\n",
+ "\n",
+ " fig.rubberband_context.clearRect(\n",
+ " 0,\n",
+ " 0,\n",
+ " fig.canvas.width / fig.ratio,\n",
+ " fig.canvas.height / fig.ratio\n",
+ " );\n",
+ "\n",
+ " fig.rubberband_context.strokeRect(min_x, min_y, width, height);\n",
+ "};\n",
+ "\n",
+ "mpl.figure.prototype.handle_figure_label = function (fig, msg) {\n",
+ " // Updates the figure title.\n",
+ " fig.header.textContent = msg['label'];\n",
+ "};\n",
+ "\n",
+ "mpl.figure.prototype.handle_cursor = function (fig, msg) {\n",
+ " fig.rubberband_canvas.style.cursor = msg['cursor'];\n",
+ "};\n",
+ "\n",
+ "mpl.figure.prototype.handle_message = function (fig, msg) {\n",
+ " fig.message.textContent = msg['message'];\n",
+ "};\n",
+ "\n",
+ "mpl.figure.prototype.handle_draw = function (fig, _msg) {\n",
+ " // Request the server to send over a new figure.\n",
+ " fig.send_draw_message();\n",
+ "};\n",
+ "\n",
+ "mpl.figure.prototype.handle_image_mode = function (fig, msg) {\n",
+ " fig.image_mode = msg['mode'];\n",
+ "};\n",
+ "\n",
+ "mpl.figure.prototype.handle_history_buttons = function (fig, msg) {\n",
+ " for (var key in msg) {\n",
+ " if (!(key in fig.buttons)) {\n",
+ " continue;\n",
+ " }\n",
+ " fig.buttons[key].disabled = !msg[key];\n",
+ " fig.buttons[key].setAttribute('aria-disabled', !msg[key]);\n",
+ " }\n",
+ "};\n",
+ "\n",
+ "mpl.figure.prototype.handle_navigate_mode = function (fig, msg) {\n",
+ " if (msg['mode'] === 'PAN') {\n",
+ " fig.buttons['Pan'].classList.add('active');\n",
+ " fig.buttons['Zoom'].classList.remove('active');\n",
+ " } else if (msg['mode'] === 'ZOOM') {\n",
+ " fig.buttons['Pan'].classList.remove('active');\n",
+ " fig.buttons['Zoom'].classList.add('active');\n",
+ " } else {\n",
+ " fig.buttons['Pan'].classList.remove('active');\n",
+ " fig.buttons['Zoom'].classList.remove('active');\n",
+ " }\n",
+ "};\n",
+ "\n",
+ "mpl.figure.prototype.updated_canvas_event = function () {\n",
+ " // Called whenever the canvas gets updated.\n",
+ " this.send_message('ack', {});\n",
+ "};\n",
+ "\n",
+ "// A function to construct a web socket function for onmessage handling.\n",
+ "// Called in the figure constructor.\n",
+ "mpl.figure.prototype._make_on_message_function = function (fig) {\n",
+ " return function socket_on_message(evt) {\n",
+ " if (evt.data instanceof Blob) {\n",
+ " var img = evt.data;\n",
+ " if (img.type !== 'image/png') {\n",
+ " /* FIXME: We get \"Resource interpreted as Image but\n",
+ " * transferred with MIME type text/plain:\" errors on\n",
+ " * Chrome. But how to set the MIME type? It doesn't seem\n",
+ " * to be part of the websocket stream */\n",
+ " img.type = 'image/png';\n",
+ " }\n",
+ "\n",
+ " /* Free the memory for the previous frames */\n",
+ " if (fig.imageObj.src) {\n",
+ " (window.URL || window.webkitURL).revokeObjectURL(\n",
+ " fig.imageObj.src\n",
+ " );\n",
+ " }\n",
+ "\n",
+ " fig.imageObj.src = (window.URL || window.webkitURL).createObjectURL(\n",
+ " img\n",
+ " );\n",
+ " fig.updated_canvas_event();\n",
+ " fig.waiting = false;\n",
+ " return;\n",
+ " } else if (\n",
+ " typeof evt.data === 'string' &&\n",
+ " evt.data.slice(0, 21) === 'data:image/png;base64'\n",
+ " ) {\n",
+ " fig.imageObj.src = evt.data;\n",
+ " fig.updated_canvas_event();\n",
+ " fig.waiting = false;\n",
+ " return;\n",
+ " }\n",
+ "\n",
+ " var msg = JSON.parse(evt.data);\n",
+ " var msg_type = msg['type'];\n",
+ "\n",
+ " // Call the \"handle_{type}\" callback, which takes\n",
+ " // the figure and JSON message as its only arguments.\n",
+ " try {\n",
+ " var callback = fig['handle_' + msg_type];\n",
+ " } catch (e) {\n",
+ " console.log(\n",
+ " \"No handler for the '\" + msg_type + \"' message type: \",\n",
+ " msg\n",
+ " );\n",
+ " return;\n",
+ " }\n",
+ "\n",
+ " if (callback) {\n",
+ " try {\n",
+ " // console.log(\"Handling '\" + msg_type + \"' message: \", msg);\n",
+ " callback(fig, msg);\n",
+ " } catch (e) {\n",
+ " console.log(\n",
+ " \"Exception inside the 'handler_\" + msg_type + \"' callback:\",\n",
+ " e,\n",
+ " e.stack,\n",
+ " msg\n",
+ " );\n",
+ " }\n",
+ " }\n",
+ " };\n",
+ "};\n",
+ "\n",
+ "// from https://stackoverflow.com/questions/1114465/getting-mouse-location-in-canvas\n",
+ "mpl.findpos = function (e) {\n",
+ " //this section is from http://www.quirksmode.org/js/events_properties.html\n",
+ " var targ;\n",
+ " if (!e) {\n",
+ " e = window.event;\n",
+ " }\n",
+ " if (e.target) {\n",
+ " targ = e.target;\n",
+ " } else if (e.srcElement) {\n",
+ " targ = e.srcElement;\n",
+ " }\n",
+ " if (targ.nodeType === 3) {\n",
+ " // defeat Safari bug\n",
+ " targ = targ.parentNode;\n",
+ " }\n",
+ "\n",
+ " // pageX,Y are the mouse positions relative to the document\n",
+ " var boundingRect = targ.getBoundingClientRect();\n",
+ " var x = e.pageX - (boundingRect.left + document.body.scrollLeft);\n",
+ " var y = e.pageY - (boundingRect.top + document.body.scrollTop);\n",
+ "\n",
+ " return { x: x, y: y };\n",
+ "};\n",
+ "\n",
+ "/*\n",
+ " * return a copy of an object with only non-object keys\n",
+ " * we need this to avoid circular references\n",
+ " * https://stackoverflow.com/a/24161582/3208463\n",
+ " */\n",
+ "function simpleKeys(original) {\n",
+ " return Object.keys(original).reduce(function (obj, key) {\n",
+ " if (typeof original[key] !== 'object') {\n",
+ " obj[key] = original[key];\n",
+ " }\n",
+ " return obj;\n",
+ " }, {});\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype.mouse_event = function (event, name) {\n",
+ " var canvas_pos = mpl.findpos(event);\n",
+ "\n",
+ " if (name === 'button_press') {\n",
+ " this.canvas.focus();\n",
+ " this.canvas_div.focus();\n",
+ " }\n",
+ "\n",
+ " var x = canvas_pos.x * this.ratio;\n",
+ " var y = canvas_pos.y * this.ratio;\n",
+ "\n",
+ " this.send_message(name, {\n",
+ " x: x,\n",
+ " y: y,\n",
+ " button: event.button,\n",
+ " step: event.step,\n",
+ " guiEvent: simpleKeys(event),\n",
+ " });\n",
+ "\n",
+ " /* This prevents the web browser from automatically changing to\n",
+ " * the text insertion cursor when the button is pressed. We want\n",
+ " * to control all of the cursor setting manually through the\n",
+ " * 'cursor' event from matplotlib */\n",
+ " event.preventDefault();\n",
+ " return false;\n",
+ "};\n",
+ "\n",
+ "mpl.figure.prototype._key_event_extra = function (_event, _name) {\n",
+ " // Handle any extra behaviour associated with a key event\n",
+ "};\n",
+ "\n",
+ "mpl.figure.prototype.key_event = function (event, name) {\n",
+ " // Prevent repeat events\n",
+ " if (name === 'key_press') {\n",
+ " if (event.key === this._key) {\n",
+ " return;\n",
+ " } else {\n",
+ " this._key = event.key;\n",
+ " }\n",
+ " }\n",
+ " if (name === 'key_release') {\n",
+ " this._key = null;\n",
+ " }\n",
+ "\n",
+ " var value = '';\n",
+ " if (event.ctrlKey && event.key !== 'Control') {\n",
+ " value += 'ctrl+';\n",
+ " }\n",
+ " else if (event.altKey && event.key !== 'Alt') {\n",
+ " value += 'alt+';\n",
+ " }\n",
+ " else if (event.shiftKey && event.key !== 'Shift') {\n",
+ " value += 'shift+';\n",
+ " }\n",
+ "\n",
+ " value += 'k' + event.key;\n",
+ "\n",
+ " this._key_event_extra(event, name);\n",
+ "\n",
+ " this.send_message(name, { key: value, guiEvent: simpleKeys(event) });\n",
+ " return false;\n",
+ "};\n",
+ "\n",
+ "mpl.figure.prototype.toolbar_button_onclick = function (name) {\n",
+ " if (name === 'download') {\n",
+ " this.handle_save(this, null);\n",
+ " } else {\n",
+ " this.send_message('toolbar_button', { name: name });\n",
+ " }\n",
+ "};\n",
+ "\n",
+ "mpl.figure.prototype.toolbar_button_onmouseover = function (tooltip) {\n",
+ " this.message.textContent = tooltip;\n",
+ "};\n",
+ "\n",
+ "///////////////// REMAINING CONTENT GENERATED BY embed_js.py /////////////////\n",
+ "// prettier-ignore\n",
+ "var _JSXTOOLS_RESIZE_OBSERVER=function(A){var t,i=new WeakMap,n=new WeakMap,a=new WeakMap,r=new WeakMap,o=new Set;function s(e){if(!(this instanceof s))throw new TypeError(\"Constructor requires 'new' operator\");i.set(this,e)}function h(){throw new TypeError(\"Function is not a constructor\")}function c(e,t,i,n){e=0 in arguments?Number(arguments[0]):0,t=1 in arguments?Number(arguments[1]):0,i=2 in arguments?Number(arguments[2]):0,n=3 in arguments?Number(arguments[3]):0,this.right=(this.x=this.left=e)+(this.width=i),this.bottom=(this.y=this.top=t)+(this.height=n),Object.freeze(this)}function d(){t=requestAnimationFrame(d);var s=new WeakMap,p=new Set;o.forEach((function(t){r.get(t).forEach((function(i){var r=t instanceof window.SVGElement,o=a.get(t),d=r?0:parseFloat(o.paddingTop),f=r?0:parseFloat(o.paddingRight),l=r?0:parseFloat(o.paddingBottom),u=r?0:parseFloat(o.paddingLeft),g=r?0:parseFloat(o.borderTopWidth),m=r?0:parseFloat(o.borderRightWidth),w=r?0:parseFloat(o.borderBottomWidth),b=u+f,F=d+l,v=(r?0:parseFloat(o.borderLeftWidth))+m,W=g+w,y=r?0:t.offsetHeight-W-t.clientHeight,E=r?0:t.offsetWidth-v-t.clientWidth,R=b+v,z=F+W,M=r?t.width:parseFloat(o.width)-R-E,O=r?t.height:parseFloat(o.height)-z-y;if(n.has(t)){var k=n.get(t);if(k[0]===M&&k[1]===O)return}n.set(t,[M,O]);var S=Object.create(h.prototype);S.target=t,S.contentRect=new c(u,d,M,O),s.has(i)||(s.set(i,[]),p.add(i)),s.get(i).push(S)}))})),p.forEach((function(e){i.get(e).call(e,s.get(e),e)}))}return s.prototype.observe=function(i){if(i instanceof window.Element){r.has(i)||(r.set(i,new Set),o.add(i),a.set(i,window.getComputedStyle(i)));var n=r.get(i);n.has(this)||n.add(this),cancelAnimationFrame(t),t=requestAnimationFrame(d)}},s.prototype.unobserve=function(i){if(i instanceof window.Element&&r.has(i)){var n=r.get(i);n.has(this)&&(n.delete(this),n.size||(r.delete(i),o.delete(i))),n.size||r.delete(i),o.size||cancelAnimationFrame(t)}},A.DOMRectReadOnly=c,A.ResizeObserver=s,A.ResizeObserverEntry=h,A}; // eslint-disable-line\n",
+ "mpl.toolbar_items = [[\"Home\", \"Reset original view\", \"fa fa-home icon-home\", \"home\"], [\"Back\", \"Back to previous view\", \"fa fa-arrow-left icon-arrow-left\", \"back\"], [\"Forward\", \"Forward to next view\", \"fa fa-arrow-right icon-arrow-right\", \"forward\"], [\"\", \"\", \"\", \"\"], [\"Pan\", \"Left button pans, Right button zooms\\nx/y fixes axis, CTRL fixes aspect\", \"fa fa-arrows icon-move\", \"pan\"], [\"Zoom\", \"Zoom to rectangle\\nx/y fixes axis\", \"fa fa-square-o icon-check-empty\", \"zoom\"], [\"\", \"\", \"\", \"\"], [\"Download\", \"Download plot\", \"fa fa-floppy-o icon-save\", \"download\"]];\n",
+ "\n",
+ "mpl.extensions = [\"eps\", \"jpeg\", \"pgf\", \"pdf\", \"png\", \"ps\", \"raw\", \"svg\", \"tif\"];\n",
+ "\n",
+ "mpl.default_extension = \"png\";/* global mpl */\n",
+ "\n",
+ "var comm_websocket_adapter = function (comm) {\n",
+ " // Create a \"websocket\"-like object which calls the given IPython comm\n",
+ " // object with the appropriate methods. Currently this is a non binary\n",
+ " // socket, so there is still some room for performance tuning.\n",
+ " var ws = {};\n",
+ "\n",
+ " ws.binaryType = comm.kernel.ws.binaryType;\n",
+ " ws.readyState = comm.kernel.ws.readyState;\n",
+ " function updateReadyState(_event) {\n",
+ " if (comm.kernel.ws) {\n",
+ " ws.readyState = comm.kernel.ws.readyState;\n",
+ " } else {\n",
+ " ws.readyState = 3; // Closed state.\n",
+ " }\n",
+ " }\n",
+ " comm.kernel.ws.addEventListener('open', updateReadyState);\n",
+ " comm.kernel.ws.addEventListener('close', updateReadyState);\n",
+ " comm.kernel.ws.addEventListener('error', updateReadyState);\n",
+ "\n",
+ " ws.close = function () {\n",
+ " comm.close();\n",
+ " };\n",
+ " ws.send = function (m) {\n",
+ " //console.log('sending', m);\n",
+ " comm.send(m);\n",
+ " };\n",
+ " // Register the callback with on_msg.\n",
+ " comm.on_msg(function (msg) {\n",
+ " //console.log('receiving', msg['content']['data'], msg);\n",
+ " var data = msg['content']['data'];\n",
+ " if (data['blob'] !== undefined) {\n",
+ " data = {\n",
+ " data: new Blob(msg['buffers'], { type: data['blob'] }),\n",
+ " };\n",
+ " }\n",
+ " // Pass the mpl event to the overridden (by mpl) onmessage function.\n",
+ " ws.onmessage(data);\n",
+ " });\n",
+ " return ws;\n",
+ "};\n",
+ "\n",
+ "mpl.mpl_figure_comm = function (comm, msg) {\n",
+ " // This is the function which gets called when the mpl process\n",
+ " // starts-up an IPython Comm through the \"matplotlib\" channel.\n",
+ "\n",
+ " var id = msg.content.data.id;\n",
+ " // Get hold of the div created by the display call when the Comm\n",
+ " // socket was opened in Python.\n",
+ " var element = document.getElementById(id);\n",
+ " var ws_proxy = comm_websocket_adapter(comm);\n",
+ "\n",
+ " function ondownload(figure, _format) {\n",
+ " window.open(figure.canvas.toDataURL());\n",
+ " }\n",
+ "\n",
+ " var fig = new mpl.figure(id, ws_proxy, ondownload, element);\n",
+ "\n",
+ " // Call onopen now - mpl needs it, as it is assuming we've passed it a real\n",
+ " // web socket which is closed, not our websocket->open comm proxy.\n",
+ " ws_proxy.onopen();\n",
+ "\n",
+ " fig.parent_element = element;\n",
+ " fig.cell_info = mpl.find_output_cell(\"\");\n",
+ " if (!fig.cell_info) {\n",
+ " console.error('Failed to find cell for figure', id, fig);\n",
+ " return;\n",
+ " }\n",
+ " fig.cell_info[0].output_area.element.on(\n",
+ " 'cleared',\n",
+ " { fig: fig },\n",
+ " fig._remove_fig_handler\n",
+ " );\n",
+ "};\n",
+ "\n",
+ "mpl.figure.prototype.handle_close = function (fig, msg) {\n",
+ " var width = fig.canvas.width / fig.ratio;\n",
+ " fig.cell_info[0].output_area.element.off(\n",
+ " 'cleared',\n",
+ " fig._remove_fig_handler\n",
+ " );\n",
+ " fig.resizeObserverInstance.unobserve(fig.canvas_div);\n",
+ "\n",
+ " // Update the output cell to use the data from the current canvas.\n",
+ " fig.push_to_output();\n",
+ " var dataURL = fig.canvas.toDataURL();\n",
+ " // Re-enable the keyboard manager in IPython - without this line, in FF,\n",
+ " // the notebook keyboard shortcuts fail.\n",
+ " IPython.keyboard_manager.enable();\n",
+ " fig.parent_element.innerHTML =\n",
+ " '
';\n",
+ " fig.close_ws(fig, msg);\n",
+ "};\n",
+ "\n",
+ "mpl.figure.prototype.close_ws = function (fig, msg) {\n",
+ " fig.send_message('closing', msg);\n",
+ " // fig.ws.close()\n",
+ "};\n",
+ "\n",
+ "mpl.figure.prototype.push_to_output = function (_remove_interactive) {\n",
+ " // Turn the data on the canvas into data in the output cell.\n",
+ " var width = this.canvas.width / this.ratio;\n",
+ " var dataURL = this.canvas.toDataURL();\n",
+ " this.cell_info[1]['text/html'] =\n",
+ " '
';\n",
+ "};\n",
+ "\n",
+ "mpl.figure.prototype.updated_canvas_event = function () {\n",
+ " // Tell IPython that the notebook contents must change.\n",
+ " IPython.notebook.set_dirty(true);\n",
+ " this.send_message('ack', {});\n",
+ " var fig = this;\n",
+ " // Wait a second, then push the new image to the DOM so\n",
+ " // that it is saved nicely (might be nice to debounce this).\n",
+ " setTimeout(function () {\n",
+ " fig.push_to_output();\n",
+ " }, 1000);\n",
+ "};\n",
+ "\n",
+ "mpl.figure.prototype._init_toolbar = function () {\n",
+ " var fig = this;\n",
+ "\n",
+ " var toolbar = document.createElement('div');\n",
+ " toolbar.classList = 'btn-toolbar';\n",
+ " this.root.appendChild(toolbar);\n",
+ "\n",
+ " function on_click_closure(name) {\n",
+ " return function (_event) {\n",
+ " return fig.toolbar_button_onclick(name);\n",
+ " };\n",
+ " }\n",
+ "\n",
+ " function on_mouseover_closure(tooltip) {\n",
+ " return function (event) {\n",
+ " if (!event.currentTarget.disabled) {\n",
+ " return fig.toolbar_button_onmouseover(tooltip);\n",
+ " }\n",
+ " };\n",
+ " }\n",
+ "\n",
+ " fig.buttons = {};\n",
+ " var buttonGroup = document.createElement('div');\n",
+ " buttonGroup.classList = 'btn-group';\n",
+ " var button;\n",
+ " for (var toolbar_ind in mpl.toolbar_items) {\n",
+ " var name = mpl.toolbar_items[toolbar_ind][0];\n",
+ " var tooltip = mpl.toolbar_items[toolbar_ind][1];\n",
+ " var image = mpl.toolbar_items[toolbar_ind][2];\n",
+ " var method_name = mpl.toolbar_items[toolbar_ind][3];\n",
+ "\n",
+ " if (!name) {\n",
+ " /* Instead of a spacer, we start a new button group. */\n",
+ " if (buttonGroup.hasChildNodes()) {\n",
+ " toolbar.appendChild(buttonGroup);\n",
+ " }\n",
+ " buttonGroup = document.createElement('div');\n",
+ " buttonGroup.classList = 'btn-group';\n",
+ " continue;\n",
+ " }\n",
+ "\n",
+ " button = fig.buttons[name] = document.createElement('button');\n",
+ " button.classList = 'btn btn-default';\n",
+ " button.href = '#';\n",
+ " button.title = name;\n",
+ " button.innerHTML = '';\n",
+ " button.addEventListener('click', on_click_closure(method_name));\n",
+ " button.addEventListener('mouseover', on_mouseover_closure(tooltip));\n",
+ " buttonGroup.appendChild(button);\n",
+ " }\n",
+ "\n",
+ " if (buttonGroup.hasChildNodes()) {\n",
+ " toolbar.appendChild(buttonGroup);\n",
+ " }\n",
+ "\n",
+ " // Add the status bar.\n",
+ " var status_bar = document.createElement('span');\n",
+ " status_bar.classList = 'mpl-message pull-right';\n",
+ " toolbar.appendChild(status_bar);\n",
+ " this.message = status_bar;\n",
+ "\n",
+ " // Add the close button to the window.\n",
+ " var buttongrp = document.createElement('div');\n",
+ " buttongrp.classList = 'btn-group inline pull-right';\n",
+ " button = document.createElement('button');\n",
+ " button.classList = 'btn btn-mini btn-primary';\n",
+ " button.href = '#';\n",
+ " button.title = 'Stop Interaction';\n",
+ " button.innerHTML = '';\n",
+ " button.addEventListener('click', function (_evt) {\n",
+ " fig.handle_close(fig, {});\n",
+ " });\n",
+ " button.addEventListener(\n",
+ " 'mouseover',\n",
+ " on_mouseover_closure('Stop Interaction')\n",
+ " );\n",
+ " buttongrp.appendChild(button);\n",
+ " var titlebar = this.root.querySelector('.ui-dialog-titlebar');\n",
+ " titlebar.insertBefore(buttongrp, titlebar.firstChild);\n",
+ "};\n",
+ "\n",
+ "mpl.figure.prototype._remove_fig_handler = function (event) {\n",
+ " var fig = event.data.fig;\n",
+ " if (event.target !== this) {\n",
+ " // Ignore bubbled events from children.\n",
+ " return;\n",
+ " }\n",
+ " fig.close_ws(fig, {});\n",
+ "};\n",
+ "\n",
+ "mpl.figure.prototype._root_extra_style = function (el) {\n",
+ " el.style.boxSizing = 'content-box'; // override notebook setting of border-box.\n",
+ "};\n",
+ "\n",
+ "mpl.figure.prototype._canvas_extra_style = function (el) {\n",
+ " // this is important to make the div 'focusable\n",
+ " el.setAttribute('tabindex', 0);\n",
+ " // reach out to IPython and tell the keyboard manager to turn it's self\n",
+ " // off when our div gets focus\n",
+ "\n",
+ " // location in version 3\n",
+ " if (IPython.notebook.keyboard_manager) {\n",
+ " IPython.notebook.keyboard_manager.register_events(el);\n",
+ " } else {\n",
+ " // location in version 2\n",
+ " IPython.keyboard_manager.register_events(el);\n",
+ " }\n",
+ "};\n",
+ "\n",
+ "mpl.figure.prototype._key_event_extra = function (event, _name) {\n",
+ " // Check for shift+enter\n",
+ " if (event.shiftKey && event.which === 13) {\n",
+ " this.canvas_div.blur();\n",
+ " // select the cell after this one\n",
+ " var index = IPython.notebook.find_cell_index(this.cell_info[0]);\n",
+ " IPython.notebook.select(index + 1);\n",
+ " }\n",
+ "};\n",
+ "\n",
+ "mpl.figure.prototype.handle_save = function (fig, _msg) {\n",
+ " fig.ondownload(fig, null);\n",
+ "};\n",
+ "\n",
+ "mpl.find_output_cell = function (html_output) {\n",
+ " // Return the cell and output element which can be found *uniquely* in the notebook.\n",
+ " // Note - this is a bit hacky, but it is done because the \"notebook_saving.Notebook\"\n",
+ " // IPython event is triggered only after the cells have been serialised, which for\n",
+ " // our purposes (turning an active figure into a static one), is too late.\n",
+ " var cells = IPython.notebook.get_cells();\n",
+ " var ncells = cells.length;\n",
+ " for (var i = 0; i < ncells; i++) {\n",
+ " var cell = cells[i];\n",
+ " if (cell.cell_type === 'code') {\n",
+ " for (var j = 0; j < cell.output_area.outputs.length; j++) {\n",
+ " var data = cell.output_area.outputs[j];\n",
+ " if (data.data) {\n",
+ " // IPython >= 3 moved mimebundle to data attribute of output\n",
+ " data = data.data;\n",
+ " }\n",
+ " if (data['text/html'] === html_output) {\n",
+ " return [cell, data, j];\n",
+ " }\n",
+ " }\n",
+ " }\n",
+ " }\n",
+ "};\n",
+ "\n",
+ "// Register the function which deals with the matplotlib target/channel.\n",
+ "// The kernel may be null if the page has been refreshed.\n",
+ "if (IPython.notebook.kernel !== null) {\n",
+ " IPython.notebook.kernel.comm_manager.register_target(\n",
+ " 'matplotlib',\n",
+ " mpl.mpl_figure_comm\n",
+ " );\n",
+ "}\n"
+ ],
+ "text/plain": [
+ ""
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ },
+ {
+ "data": {
+ "text/html": [
+ "
"
+ ],
+ "text/plain": [
+ ""
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ },
+ {
+ "data": {
+ "text/plain": [
+ "(0.0, 20.0)"
+ ]
+ },
+ "execution_count": 38,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
"source": [
"nrow=2\n",
"ncol=3\n",
@@ -626,9 +9531,997 @@
},
{
"cell_type": "code",
- "execution_count": null,
+ "execution_count": 54,
"metadata": {},
- "outputs": [],
+ "outputs": [
+ {
+ "data": {
+ "application/javascript": [
+ "/* Put everything inside the global mpl namespace */\n",
+ "/* global mpl */\n",
+ "window.mpl = {};\n",
+ "\n",
+ "mpl.get_websocket_type = function () {\n",
+ " if (typeof WebSocket !== 'undefined') {\n",
+ " return WebSocket;\n",
+ " } else if (typeof MozWebSocket !== 'undefined') {\n",
+ " return MozWebSocket;\n",
+ " } else {\n",
+ " alert(\n",
+ " 'Your browser does not have WebSocket support. ' +\n",
+ " 'Please try Chrome, Safari or Firefox ≥ 6. ' +\n",
+ " 'Firefox 4 and 5 are also supported but you ' +\n",
+ " 'have to enable WebSockets in about:config.'\n",
+ " );\n",
+ " }\n",
+ "};\n",
+ "\n",
+ "mpl.figure = function (figure_id, websocket, ondownload, parent_element) {\n",
+ " this.id = figure_id;\n",
+ "\n",
+ " this.ws = websocket;\n",
+ "\n",
+ " this.supports_binary = this.ws.binaryType !== undefined;\n",
+ "\n",
+ " if (!this.supports_binary) {\n",
+ " var warnings = document.getElementById('mpl-warnings');\n",
+ " if (warnings) {\n",
+ " warnings.style.display = 'block';\n",
+ " warnings.textContent =\n",
+ " 'This browser does not support binary websocket messages. ' +\n",
+ " 'Performance may be slow.';\n",
+ " }\n",
+ " }\n",
+ "\n",
+ " this.imageObj = new Image();\n",
+ "\n",
+ " this.context = undefined;\n",
+ " this.message = undefined;\n",
+ " this.canvas = undefined;\n",
+ " this.rubberband_canvas = undefined;\n",
+ " this.rubberband_context = undefined;\n",
+ " this.format_dropdown = undefined;\n",
+ "\n",
+ " this.image_mode = 'full';\n",
+ "\n",
+ " this.root = document.createElement('div');\n",
+ " this.root.setAttribute('style', 'display: inline-block');\n",
+ " this._root_extra_style(this.root);\n",
+ "\n",
+ " parent_element.appendChild(this.root);\n",
+ "\n",
+ " this._init_header(this);\n",
+ " this._init_canvas(this);\n",
+ " this._init_toolbar(this);\n",
+ "\n",
+ " var fig = this;\n",
+ "\n",
+ " this.waiting = false;\n",
+ "\n",
+ " this.ws.onopen = function () {\n",
+ " fig.send_message('supports_binary', { value: fig.supports_binary });\n",
+ " fig.send_message('send_image_mode', {});\n",
+ " if (fig.ratio !== 1) {\n",
+ " fig.send_message('set_device_pixel_ratio', {\n",
+ " device_pixel_ratio: fig.ratio,\n",
+ " });\n",
+ " }\n",
+ " fig.send_message('refresh', {});\n",
+ " };\n",
+ "\n",
+ " this.imageObj.onload = function () {\n",
+ " if (fig.image_mode === 'full') {\n",
+ " // Full images could contain transparency (where diff images\n",
+ " // almost always do), so we need to clear the canvas so that\n",
+ " // there is no ghosting.\n",
+ " fig.context.clearRect(0, 0, fig.canvas.width, fig.canvas.height);\n",
+ " }\n",
+ " fig.context.drawImage(fig.imageObj, 0, 0);\n",
+ " };\n",
+ "\n",
+ " this.imageObj.onunload = function () {\n",
+ " fig.ws.close();\n",
+ " };\n",
+ "\n",
+ " this.ws.onmessage = this._make_on_message_function(this);\n",
+ "\n",
+ " this.ondownload = ondownload;\n",
+ "};\n",
+ "\n",
+ "mpl.figure.prototype._init_header = function () {\n",
+ " var titlebar = document.createElement('div');\n",
+ " titlebar.classList =\n",
+ " 'ui-dialog-titlebar ui-widget-header ui-corner-all ui-helper-clearfix';\n",
+ " var titletext = document.createElement('div');\n",
+ " titletext.classList = 'ui-dialog-title';\n",
+ " titletext.setAttribute(\n",
+ " 'style',\n",
+ " 'width: 100%; text-align: center; padding: 3px;'\n",
+ " );\n",
+ " titlebar.appendChild(titletext);\n",
+ " this.root.appendChild(titlebar);\n",
+ " this.header = titletext;\n",
+ "};\n",
+ "\n",
+ "mpl.figure.prototype._canvas_extra_style = function (_canvas_div) {};\n",
+ "\n",
+ "mpl.figure.prototype._root_extra_style = function (_canvas_div) {};\n",
+ "\n",
+ "mpl.figure.prototype._init_canvas = function () {\n",
+ " var fig = this;\n",
+ "\n",
+ " var canvas_div = (this.canvas_div = document.createElement('div'));\n",
+ " canvas_div.setAttribute(\n",
+ " 'style',\n",
+ " 'border: 1px solid #ddd;' +\n",
+ " 'box-sizing: content-box;' +\n",
+ " 'clear: both;' +\n",
+ " 'min-height: 1px;' +\n",
+ " 'min-width: 1px;' +\n",
+ " 'outline: 0;' +\n",
+ " 'overflow: hidden;' +\n",
+ " 'position: relative;' +\n",
+ " 'resize: both;'\n",
+ " );\n",
+ "\n",
+ " function on_keyboard_event_closure(name) {\n",
+ " return function (event) {\n",
+ " return fig.key_event(event, name);\n",
+ " };\n",
+ " }\n",
+ "\n",
+ " canvas_div.addEventListener(\n",
+ " 'keydown',\n",
+ " on_keyboard_event_closure('key_press')\n",
+ " );\n",
+ " canvas_div.addEventListener(\n",
+ " 'keyup',\n",
+ " on_keyboard_event_closure('key_release')\n",
+ " );\n",
+ "\n",
+ " this._canvas_extra_style(canvas_div);\n",
+ " this.root.appendChild(canvas_div);\n",
+ "\n",
+ " var canvas = (this.canvas = document.createElement('canvas'));\n",
+ " canvas.classList.add('mpl-canvas');\n",
+ " canvas.setAttribute('style', 'box-sizing: content-box;');\n",
+ "\n",
+ " this.context = canvas.getContext('2d');\n",
+ "\n",
+ " var backingStore =\n",
+ " this.context.backingStorePixelRatio ||\n",
+ " this.context.webkitBackingStorePixelRatio ||\n",
+ " this.context.mozBackingStorePixelRatio ||\n",
+ " this.context.msBackingStorePixelRatio ||\n",
+ " this.context.oBackingStorePixelRatio ||\n",
+ " this.context.backingStorePixelRatio ||\n",
+ " 1;\n",
+ "\n",
+ " this.ratio = (window.devicePixelRatio || 1) / backingStore;\n",
+ "\n",
+ " var rubberband_canvas = (this.rubberband_canvas = document.createElement(\n",
+ " 'canvas'\n",
+ " ));\n",
+ " rubberband_canvas.setAttribute(\n",
+ " 'style',\n",
+ " 'box-sizing: content-box; position: absolute; left: 0; top: 0; z-index: 1;'\n",
+ " );\n",
+ "\n",
+ " // Apply a ponyfill if ResizeObserver is not implemented by browser.\n",
+ " if (this.ResizeObserver === undefined) {\n",
+ " if (window.ResizeObserver !== undefined) {\n",
+ " this.ResizeObserver = window.ResizeObserver;\n",
+ " } else {\n",
+ " var obs = _JSXTOOLS_RESIZE_OBSERVER({});\n",
+ " this.ResizeObserver = obs.ResizeObserver;\n",
+ " }\n",
+ " }\n",
+ "\n",
+ " this.resizeObserverInstance = new this.ResizeObserver(function (entries) {\n",
+ " var nentries = entries.length;\n",
+ " for (var i = 0; i < nentries; i++) {\n",
+ " var entry = entries[i];\n",
+ " var width, height;\n",
+ " if (entry.contentBoxSize) {\n",
+ " if (entry.contentBoxSize instanceof Array) {\n",
+ " // Chrome 84 implements new version of spec.\n",
+ " width = entry.contentBoxSize[0].inlineSize;\n",
+ " height = entry.contentBoxSize[0].blockSize;\n",
+ " } else {\n",
+ " // Firefox implements old version of spec.\n",
+ " width = entry.contentBoxSize.inlineSize;\n",
+ " height = entry.contentBoxSize.blockSize;\n",
+ " }\n",
+ " } else {\n",
+ " // Chrome <84 implements even older version of spec.\n",
+ " width = entry.contentRect.width;\n",
+ " height = entry.contentRect.height;\n",
+ " }\n",
+ "\n",
+ " // Keep the size of the canvas and rubber band canvas in sync with\n",
+ " // the canvas container.\n",
+ " if (entry.devicePixelContentBoxSize) {\n",
+ " // Chrome 84 implements new version of spec.\n",
+ " canvas.setAttribute(\n",
+ " 'width',\n",
+ " entry.devicePixelContentBoxSize[0].inlineSize\n",
+ " );\n",
+ " canvas.setAttribute(\n",
+ " 'height',\n",
+ " entry.devicePixelContentBoxSize[0].blockSize\n",
+ " );\n",
+ " } else {\n",
+ " canvas.setAttribute('width', width * fig.ratio);\n",
+ " canvas.setAttribute('height', height * fig.ratio);\n",
+ " }\n",
+ " canvas.setAttribute(\n",
+ " 'style',\n",
+ " 'width: ' + width + 'px; height: ' + height + 'px;'\n",
+ " );\n",
+ "\n",
+ " rubberband_canvas.setAttribute('width', width);\n",
+ " rubberband_canvas.setAttribute('height', height);\n",
+ "\n",
+ " // And update the size in Python. We ignore the initial 0/0 size\n",
+ " // that occurs as the element is placed into the DOM, which should\n",
+ " // otherwise not happen due to the minimum size styling.\n",
+ " if (fig.ws.readyState == 1 && width != 0 && height != 0) {\n",
+ " fig.request_resize(width, height);\n",
+ " }\n",
+ " }\n",
+ " });\n",
+ " this.resizeObserverInstance.observe(canvas_div);\n",
+ "\n",
+ " function on_mouse_event_closure(name) {\n",
+ " return function (event) {\n",
+ " return fig.mouse_event(event, name);\n",
+ " };\n",
+ " }\n",
+ "\n",
+ " rubberband_canvas.addEventListener(\n",
+ " 'mousedown',\n",
+ " on_mouse_event_closure('button_press')\n",
+ " );\n",
+ " rubberband_canvas.addEventListener(\n",
+ " 'mouseup',\n",
+ " on_mouse_event_closure('button_release')\n",
+ " );\n",
+ " rubberband_canvas.addEventListener(\n",
+ " 'dblclick',\n",
+ " on_mouse_event_closure('dblclick')\n",
+ " );\n",
+ " // Throttle sequential mouse events to 1 every 20ms.\n",
+ " rubberband_canvas.addEventListener(\n",
+ " 'mousemove',\n",
+ " on_mouse_event_closure('motion_notify')\n",
+ " );\n",
+ "\n",
+ " rubberband_canvas.addEventListener(\n",
+ " 'mouseenter',\n",
+ " on_mouse_event_closure('figure_enter')\n",
+ " );\n",
+ " rubberband_canvas.addEventListener(\n",
+ " 'mouseleave',\n",
+ " on_mouse_event_closure('figure_leave')\n",
+ " );\n",
+ "\n",
+ " canvas_div.addEventListener('wheel', function (event) {\n",
+ " if (event.deltaY < 0) {\n",
+ " event.step = 1;\n",
+ " } else {\n",
+ " event.step = -1;\n",
+ " }\n",
+ " on_mouse_event_closure('scroll')(event);\n",
+ " });\n",
+ "\n",
+ " canvas_div.appendChild(canvas);\n",
+ " canvas_div.appendChild(rubberband_canvas);\n",
+ "\n",
+ " this.rubberband_context = rubberband_canvas.getContext('2d');\n",
+ " this.rubberband_context.strokeStyle = '#000000';\n",
+ "\n",
+ " this._resize_canvas = function (width, height, forward) {\n",
+ " if (forward) {\n",
+ " canvas_div.style.width = width + 'px';\n",
+ " canvas_div.style.height = height + 'px';\n",
+ " }\n",
+ " };\n",
+ "\n",
+ " // Disable right mouse context menu.\n",
+ " this.rubberband_canvas.addEventListener('contextmenu', function (_e) {\n",
+ " event.preventDefault();\n",
+ " return false;\n",
+ " });\n",
+ "\n",
+ " function set_focus() {\n",
+ " canvas.focus();\n",
+ " canvas_div.focus();\n",
+ " }\n",
+ "\n",
+ " window.setTimeout(set_focus, 100);\n",
+ "};\n",
+ "\n",
+ "mpl.figure.prototype._init_toolbar = function () {\n",
+ " var fig = this;\n",
+ "\n",
+ " var toolbar = document.createElement('div');\n",
+ " toolbar.classList = 'mpl-toolbar';\n",
+ " this.root.appendChild(toolbar);\n",
+ "\n",
+ " function on_click_closure(name) {\n",
+ " return function (_event) {\n",
+ " return fig.toolbar_button_onclick(name);\n",
+ " };\n",
+ " }\n",
+ "\n",
+ " function on_mouseover_closure(tooltip) {\n",
+ " return function (event) {\n",
+ " if (!event.currentTarget.disabled) {\n",
+ " return fig.toolbar_button_onmouseover(tooltip);\n",
+ " }\n",
+ " };\n",
+ " }\n",
+ "\n",
+ " fig.buttons = {};\n",
+ " var buttonGroup = document.createElement('div');\n",
+ " buttonGroup.classList = 'mpl-button-group';\n",
+ " for (var toolbar_ind in mpl.toolbar_items) {\n",
+ " var name = mpl.toolbar_items[toolbar_ind][0];\n",
+ " var tooltip = mpl.toolbar_items[toolbar_ind][1];\n",
+ " var image = mpl.toolbar_items[toolbar_ind][2];\n",
+ " var method_name = mpl.toolbar_items[toolbar_ind][3];\n",
+ "\n",
+ " if (!name) {\n",
+ " /* Instead of a spacer, we start a new button group. */\n",
+ " if (buttonGroup.hasChildNodes()) {\n",
+ " toolbar.appendChild(buttonGroup);\n",
+ " }\n",
+ " buttonGroup = document.createElement('div');\n",
+ " buttonGroup.classList = 'mpl-button-group';\n",
+ " continue;\n",
+ " }\n",
+ "\n",
+ " var button = (fig.buttons[name] = document.createElement('button'));\n",
+ " button.classList = 'mpl-widget';\n",
+ " button.setAttribute('role', 'button');\n",
+ " button.setAttribute('aria-disabled', 'false');\n",
+ " button.addEventListener('click', on_click_closure(method_name));\n",
+ " button.addEventListener('mouseover', on_mouseover_closure(tooltip));\n",
+ "\n",
+ " var icon_img = document.createElement('img');\n",
+ " icon_img.src = '_images/' + image + '.png';\n",
+ " icon_img.srcset = '_images/' + image + '_large.png 2x';\n",
+ " icon_img.alt = tooltip;\n",
+ " button.appendChild(icon_img);\n",
+ "\n",
+ " buttonGroup.appendChild(button);\n",
+ " }\n",
+ "\n",
+ " if (buttonGroup.hasChildNodes()) {\n",
+ " toolbar.appendChild(buttonGroup);\n",
+ " }\n",
+ "\n",
+ " var fmt_picker = document.createElement('select');\n",
+ " fmt_picker.classList = 'mpl-widget';\n",
+ " toolbar.appendChild(fmt_picker);\n",
+ " this.format_dropdown = fmt_picker;\n",
+ "\n",
+ " for (var ind in mpl.extensions) {\n",
+ " var fmt = mpl.extensions[ind];\n",
+ " var option = document.createElement('option');\n",
+ " option.selected = fmt === mpl.default_extension;\n",
+ " option.innerHTML = fmt;\n",
+ " fmt_picker.appendChild(option);\n",
+ " }\n",
+ "\n",
+ " var status_bar = document.createElement('span');\n",
+ " status_bar.classList = 'mpl-message';\n",
+ " toolbar.appendChild(status_bar);\n",
+ " this.message = status_bar;\n",
+ "};\n",
+ "\n",
+ "mpl.figure.prototype.request_resize = function (x_pixels, y_pixels) {\n",
+ " // Request matplotlib to resize the figure. Matplotlib will then trigger a resize in the client,\n",
+ " // which will in turn request a refresh of the image.\n",
+ " this.send_message('resize', { width: x_pixels, height: y_pixels });\n",
+ "};\n",
+ "\n",
+ "mpl.figure.prototype.send_message = function (type, properties) {\n",
+ " properties['type'] = type;\n",
+ " properties['figure_id'] = this.id;\n",
+ " this.ws.send(JSON.stringify(properties));\n",
+ "};\n",
+ "\n",
+ "mpl.figure.prototype.send_draw_message = function () {\n",
+ " if (!this.waiting) {\n",
+ " this.waiting = true;\n",
+ " this.ws.send(JSON.stringify({ type: 'draw', figure_id: this.id }));\n",
+ " }\n",
+ "};\n",
+ "\n",
+ "mpl.figure.prototype.handle_save = function (fig, _msg) {\n",
+ " var format_dropdown = fig.format_dropdown;\n",
+ " var format = format_dropdown.options[format_dropdown.selectedIndex].value;\n",
+ " fig.ondownload(fig, format);\n",
+ "};\n",
+ "\n",
+ "mpl.figure.prototype.handle_resize = function (fig, msg) {\n",
+ " var size = msg['size'];\n",
+ " if (size[0] !== fig.canvas.width || size[1] !== fig.canvas.height) {\n",
+ " fig._resize_canvas(size[0], size[1], msg['forward']);\n",
+ " fig.send_message('refresh', {});\n",
+ " }\n",
+ "};\n",
+ "\n",
+ "mpl.figure.prototype.handle_rubberband = function (fig, msg) {\n",
+ " var x0 = msg['x0'] / fig.ratio;\n",
+ " var y0 = (fig.canvas.height - msg['y0']) / fig.ratio;\n",
+ " var x1 = msg['x1'] / fig.ratio;\n",
+ " var y1 = (fig.canvas.height - msg['y1']) / fig.ratio;\n",
+ " x0 = Math.floor(x0) + 0.5;\n",
+ " y0 = Math.floor(y0) + 0.5;\n",
+ " x1 = Math.floor(x1) + 0.5;\n",
+ " y1 = Math.floor(y1) + 0.5;\n",
+ " var min_x = Math.min(x0, x1);\n",
+ " var min_y = Math.min(y0, y1);\n",
+ " var width = Math.abs(x1 - x0);\n",
+ " var height = Math.abs(y1 - y0);\n",
+ "\n",
+ " fig.rubberband_context.clearRect(\n",
+ " 0,\n",
+ " 0,\n",
+ " fig.canvas.width / fig.ratio,\n",
+ " fig.canvas.height / fig.ratio\n",
+ " );\n",
+ "\n",
+ " fig.rubberband_context.strokeRect(min_x, min_y, width, height);\n",
+ "};\n",
+ "\n",
+ "mpl.figure.prototype.handle_figure_label = function (fig, msg) {\n",
+ " // Updates the figure title.\n",
+ " fig.header.textContent = msg['label'];\n",
+ "};\n",
+ "\n",
+ "mpl.figure.prototype.handle_cursor = function (fig, msg) {\n",
+ " fig.rubberband_canvas.style.cursor = msg['cursor'];\n",
+ "};\n",
+ "\n",
+ "mpl.figure.prototype.handle_message = function (fig, msg) {\n",
+ " fig.message.textContent = msg['message'];\n",
+ "};\n",
+ "\n",
+ "mpl.figure.prototype.handle_draw = function (fig, _msg) {\n",
+ " // Request the server to send over a new figure.\n",
+ " fig.send_draw_message();\n",
+ "};\n",
+ "\n",
+ "mpl.figure.prototype.handle_image_mode = function (fig, msg) {\n",
+ " fig.image_mode = msg['mode'];\n",
+ "};\n",
+ "\n",
+ "mpl.figure.prototype.handle_history_buttons = function (fig, msg) {\n",
+ " for (var key in msg) {\n",
+ " if (!(key in fig.buttons)) {\n",
+ " continue;\n",
+ " }\n",
+ " fig.buttons[key].disabled = !msg[key];\n",
+ " fig.buttons[key].setAttribute('aria-disabled', !msg[key]);\n",
+ " }\n",
+ "};\n",
+ "\n",
+ "mpl.figure.prototype.handle_navigate_mode = function (fig, msg) {\n",
+ " if (msg['mode'] === 'PAN') {\n",
+ " fig.buttons['Pan'].classList.add('active');\n",
+ " fig.buttons['Zoom'].classList.remove('active');\n",
+ " } else if (msg['mode'] === 'ZOOM') {\n",
+ " fig.buttons['Pan'].classList.remove('active');\n",
+ " fig.buttons['Zoom'].classList.add('active');\n",
+ " } else {\n",
+ " fig.buttons['Pan'].classList.remove('active');\n",
+ " fig.buttons['Zoom'].classList.remove('active');\n",
+ " }\n",
+ "};\n",
+ "\n",
+ "mpl.figure.prototype.updated_canvas_event = function () {\n",
+ " // Called whenever the canvas gets updated.\n",
+ " this.send_message('ack', {});\n",
+ "};\n",
+ "\n",
+ "// A function to construct a web socket function for onmessage handling.\n",
+ "// Called in the figure constructor.\n",
+ "mpl.figure.prototype._make_on_message_function = function (fig) {\n",
+ " return function socket_on_message(evt) {\n",
+ " if (evt.data instanceof Blob) {\n",
+ " var img = evt.data;\n",
+ " if (img.type !== 'image/png') {\n",
+ " /* FIXME: We get \"Resource interpreted as Image but\n",
+ " * transferred with MIME type text/plain:\" errors on\n",
+ " * Chrome. But how to set the MIME type? It doesn't seem\n",
+ " * to be part of the websocket stream */\n",
+ " img.type = 'image/png';\n",
+ " }\n",
+ "\n",
+ " /* Free the memory for the previous frames */\n",
+ " if (fig.imageObj.src) {\n",
+ " (window.URL || window.webkitURL).revokeObjectURL(\n",
+ " fig.imageObj.src\n",
+ " );\n",
+ " }\n",
+ "\n",
+ " fig.imageObj.src = (window.URL || window.webkitURL).createObjectURL(\n",
+ " img\n",
+ " );\n",
+ " fig.updated_canvas_event();\n",
+ " fig.waiting = false;\n",
+ " return;\n",
+ " } else if (\n",
+ " typeof evt.data === 'string' &&\n",
+ " evt.data.slice(0, 21) === 'data:image/png;base64'\n",
+ " ) {\n",
+ " fig.imageObj.src = evt.data;\n",
+ " fig.updated_canvas_event();\n",
+ " fig.waiting = false;\n",
+ " return;\n",
+ " }\n",
+ "\n",
+ " var msg = JSON.parse(evt.data);\n",
+ " var msg_type = msg['type'];\n",
+ "\n",
+ " // Call the \"handle_{type}\" callback, which takes\n",
+ " // the figure and JSON message as its only arguments.\n",
+ " try {\n",
+ " var callback = fig['handle_' + msg_type];\n",
+ " } catch (e) {\n",
+ " console.log(\n",
+ " \"No handler for the '\" + msg_type + \"' message type: \",\n",
+ " msg\n",
+ " );\n",
+ " return;\n",
+ " }\n",
+ "\n",
+ " if (callback) {\n",
+ " try {\n",
+ " // console.log(\"Handling '\" + msg_type + \"' message: \", msg);\n",
+ " callback(fig, msg);\n",
+ " } catch (e) {\n",
+ " console.log(\n",
+ " \"Exception inside the 'handler_\" + msg_type + \"' callback:\",\n",
+ " e,\n",
+ " e.stack,\n",
+ " msg\n",
+ " );\n",
+ " }\n",
+ " }\n",
+ " };\n",
+ "};\n",
+ "\n",
+ "// from https://stackoverflow.com/questions/1114465/getting-mouse-location-in-canvas\n",
+ "mpl.findpos = function (e) {\n",
+ " //this section is from http://www.quirksmode.org/js/events_properties.html\n",
+ " var targ;\n",
+ " if (!e) {\n",
+ " e = window.event;\n",
+ " }\n",
+ " if (e.target) {\n",
+ " targ = e.target;\n",
+ " } else if (e.srcElement) {\n",
+ " targ = e.srcElement;\n",
+ " }\n",
+ " if (targ.nodeType === 3) {\n",
+ " // defeat Safari bug\n",
+ " targ = targ.parentNode;\n",
+ " }\n",
+ "\n",
+ " // pageX,Y are the mouse positions relative to the document\n",
+ " var boundingRect = targ.getBoundingClientRect();\n",
+ " var x = e.pageX - (boundingRect.left + document.body.scrollLeft);\n",
+ " var y = e.pageY - (boundingRect.top + document.body.scrollTop);\n",
+ "\n",
+ " return { x: x, y: y };\n",
+ "};\n",
+ "\n",
+ "/*\n",
+ " * return a copy of an object with only non-object keys\n",
+ " * we need this to avoid circular references\n",
+ " * https://stackoverflow.com/a/24161582/3208463\n",
+ " */\n",
+ "function simpleKeys(original) {\n",
+ " return Object.keys(original).reduce(function (obj, key) {\n",
+ " if (typeof original[key] !== 'object') {\n",
+ " obj[key] = original[key];\n",
+ " }\n",
+ " return obj;\n",
+ " }, {});\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype.mouse_event = function (event, name) {\n",
+ " var canvas_pos = mpl.findpos(event);\n",
+ "\n",
+ " if (name === 'button_press') {\n",
+ " this.canvas.focus();\n",
+ " this.canvas_div.focus();\n",
+ " }\n",
+ "\n",
+ " var x = canvas_pos.x * this.ratio;\n",
+ " var y = canvas_pos.y * this.ratio;\n",
+ "\n",
+ " this.send_message(name, {\n",
+ " x: x,\n",
+ " y: y,\n",
+ " button: event.button,\n",
+ " step: event.step,\n",
+ " guiEvent: simpleKeys(event),\n",
+ " });\n",
+ "\n",
+ " /* This prevents the web browser from automatically changing to\n",
+ " * the text insertion cursor when the button is pressed. We want\n",
+ " * to control all of the cursor setting manually through the\n",
+ " * 'cursor' event from matplotlib */\n",
+ " event.preventDefault();\n",
+ " return false;\n",
+ "};\n",
+ "\n",
+ "mpl.figure.prototype._key_event_extra = function (_event, _name) {\n",
+ " // Handle any extra behaviour associated with a key event\n",
+ "};\n",
+ "\n",
+ "mpl.figure.prototype.key_event = function (event, name) {\n",
+ " // Prevent repeat events\n",
+ " if (name === 'key_press') {\n",
+ " if (event.key === this._key) {\n",
+ " return;\n",
+ " } else {\n",
+ " this._key = event.key;\n",
+ " }\n",
+ " }\n",
+ " if (name === 'key_release') {\n",
+ " this._key = null;\n",
+ " }\n",
+ "\n",
+ " var value = '';\n",
+ " if (event.ctrlKey && event.key !== 'Control') {\n",
+ " value += 'ctrl+';\n",
+ " }\n",
+ " else if (event.altKey && event.key !== 'Alt') {\n",
+ " value += 'alt+';\n",
+ " }\n",
+ " else if (event.shiftKey && event.key !== 'Shift') {\n",
+ " value += 'shift+';\n",
+ " }\n",
+ "\n",
+ " value += 'k' + event.key;\n",
+ "\n",
+ " this._key_event_extra(event, name);\n",
+ "\n",
+ " this.send_message(name, { key: value, guiEvent: simpleKeys(event) });\n",
+ " return false;\n",
+ "};\n",
+ "\n",
+ "mpl.figure.prototype.toolbar_button_onclick = function (name) {\n",
+ " if (name === 'download') {\n",
+ " this.handle_save(this, null);\n",
+ " } else {\n",
+ " this.send_message('toolbar_button', { name: name });\n",
+ " }\n",
+ "};\n",
+ "\n",
+ "mpl.figure.prototype.toolbar_button_onmouseover = function (tooltip) {\n",
+ " this.message.textContent = tooltip;\n",
+ "};\n",
+ "\n",
+ "///////////////// REMAINING CONTENT GENERATED BY embed_js.py /////////////////\n",
+ "// prettier-ignore\n",
+ "var _JSXTOOLS_RESIZE_OBSERVER=function(A){var t,i=new WeakMap,n=new WeakMap,a=new WeakMap,r=new WeakMap,o=new Set;function s(e){if(!(this instanceof s))throw new TypeError(\"Constructor requires 'new' operator\");i.set(this,e)}function h(){throw new TypeError(\"Function is not a constructor\")}function c(e,t,i,n){e=0 in arguments?Number(arguments[0]):0,t=1 in arguments?Number(arguments[1]):0,i=2 in arguments?Number(arguments[2]):0,n=3 in arguments?Number(arguments[3]):0,this.right=(this.x=this.left=e)+(this.width=i),this.bottom=(this.y=this.top=t)+(this.height=n),Object.freeze(this)}function d(){t=requestAnimationFrame(d);var s=new WeakMap,p=new Set;o.forEach((function(t){r.get(t).forEach((function(i){var r=t instanceof window.SVGElement,o=a.get(t),d=r?0:parseFloat(o.paddingTop),f=r?0:parseFloat(o.paddingRight),l=r?0:parseFloat(o.paddingBottom),u=r?0:parseFloat(o.paddingLeft),g=r?0:parseFloat(o.borderTopWidth),m=r?0:parseFloat(o.borderRightWidth),w=r?0:parseFloat(o.borderBottomWidth),b=u+f,F=d+l,v=(r?0:parseFloat(o.borderLeftWidth))+m,W=g+w,y=r?0:t.offsetHeight-W-t.clientHeight,E=r?0:t.offsetWidth-v-t.clientWidth,R=b+v,z=F+W,M=r?t.width:parseFloat(o.width)-R-E,O=r?t.height:parseFloat(o.height)-z-y;if(n.has(t)){var k=n.get(t);if(k[0]===M&&k[1]===O)return}n.set(t,[M,O]);var S=Object.create(h.prototype);S.target=t,S.contentRect=new c(u,d,M,O),s.has(i)||(s.set(i,[]),p.add(i)),s.get(i).push(S)}))})),p.forEach((function(e){i.get(e).call(e,s.get(e),e)}))}return s.prototype.observe=function(i){if(i instanceof window.Element){r.has(i)||(r.set(i,new Set),o.add(i),a.set(i,window.getComputedStyle(i)));var n=r.get(i);n.has(this)||n.add(this),cancelAnimationFrame(t),t=requestAnimationFrame(d)}},s.prototype.unobserve=function(i){if(i instanceof window.Element&&r.has(i)){var n=r.get(i);n.has(this)&&(n.delete(this),n.size||(r.delete(i),o.delete(i))),n.size||r.delete(i),o.size||cancelAnimationFrame(t)}},A.DOMRectReadOnly=c,A.ResizeObserver=s,A.ResizeObserverEntry=h,A}; // eslint-disable-line\n",
+ "mpl.toolbar_items = [[\"Home\", \"Reset original view\", \"fa fa-home icon-home\", \"home\"], [\"Back\", \"Back to previous view\", \"fa fa-arrow-left icon-arrow-left\", \"back\"], [\"Forward\", \"Forward to next view\", \"fa fa-arrow-right icon-arrow-right\", \"forward\"], [\"\", \"\", \"\", \"\"], [\"Pan\", \"Left button pans, Right button zooms\\nx/y fixes axis, CTRL fixes aspect\", \"fa fa-arrows icon-move\", \"pan\"], [\"Zoom\", \"Zoom to rectangle\\nx/y fixes axis\", \"fa fa-square-o icon-check-empty\", \"zoom\"], [\"\", \"\", \"\", \"\"], [\"Download\", \"Download plot\", \"fa fa-floppy-o icon-save\", \"download\"]];\n",
+ "\n",
+ "mpl.extensions = [\"eps\", \"jpeg\", \"pgf\", \"pdf\", \"png\", \"ps\", \"raw\", \"svg\", \"tif\"];\n",
+ "\n",
+ "mpl.default_extension = \"png\";/* global mpl */\n",
+ "\n",
+ "var comm_websocket_adapter = function (comm) {\n",
+ " // Create a \"websocket\"-like object which calls the given IPython comm\n",
+ " // object with the appropriate methods. Currently this is a non binary\n",
+ " // socket, so there is still some room for performance tuning.\n",
+ " var ws = {};\n",
+ "\n",
+ " ws.binaryType = comm.kernel.ws.binaryType;\n",
+ " ws.readyState = comm.kernel.ws.readyState;\n",
+ " function updateReadyState(_event) {\n",
+ " if (comm.kernel.ws) {\n",
+ " ws.readyState = comm.kernel.ws.readyState;\n",
+ " } else {\n",
+ " ws.readyState = 3; // Closed state.\n",
+ " }\n",
+ " }\n",
+ " comm.kernel.ws.addEventListener('open', updateReadyState);\n",
+ " comm.kernel.ws.addEventListener('close', updateReadyState);\n",
+ " comm.kernel.ws.addEventListener('error', updateReadyState);\n",
+ "\n",
+ " ws.close = function () {\n",
+ " comm.close();\n",
+ " };\n",
+ " ws.send = function (m) {\n",
+ " //console.log('sending', m);\n",
+ " comm.send(m);\n",
+ " };\n",
+ " // Register the callback with on_msg.\n",
+ " comm.on_msg(function (msg) {\n",
+ " //console.log('receiving', msg['content']['data'], msg);\n",
+ " var data = msg['content']['data'];\n",
+ " if (data['blob'] !== undefined) {\n",
+ " data = {\n",
+ " data: new Blob(msg['buffers'], { type: data['blob'] }),\n",
+ " };\n",
+ " }\n",
+ " // Pass the mpl event to the overridden (by mpl) onmessage function.\n",
+ " ws.onmessage(data);\n",
+ " });\n",
+ " return ws;\n",
+ "};\n",
+ "\n",
+ "mpl.mpl_figure_comm = function (comm, msg) {\n",
+ " // This is the function which gets called when the mpl process\n",
+ " // starts-up an IPython Comm through the \"matplotlib\" channel.\n",
+ "\n",
+ " var id = msg.content.data.id;\n",
+ " // Get hold of the div created by the display call when the Comm\n",
+ " // socket was opened in Python.\n",
+ " var element = document.getElementById(id);\n",
+ " var ws_proxy = comm_websocket_adapter(comm);\n",
+ "\n",
+ " function ondownload(figure, _format) {\n",
+ " window.open(figure.canvas.toDataURL());\n",
+ " }\n",
+ "\n",
+ " var fig = new mpl.figure(id, ws_proxy, ondownload, element);\n",
+ "\n",
+ " // Call onopen now - mpl needs it, as it is assuming we've passed it a real\n",
+ " // web socket which is closed, not our websocket->open comm proxy.\n",
+ " ws_proxy.onopen();\n",
+ "\n",
+ " fig.parent_element = element;\n",
+ " fig.cell_info = mpl.find_output_cell(\"\");\n",
+ " if (!fig.cell_info) {\n",
+ " console.error('Failed to find cell for figure', id, fig);\n",
+ " return;\n",
+ " }\n",
+ " fig.cell_info[0].output_area.element.on(\n",
+ " 'cleared',\n",
+ " { fig: fig },\n",
+ " fig._remove_fig_handler\n",
+ " );\n",
+ "};\n",
+ "\n",
+ "mpl.figure.prototype.handle_close = function (fig, msg) {\n",
+ " var width = fig.canvas.width / fig.ratio;\n",
+ " fig.cell_info[0].output_area.element.off(\n",
+ " 'cleared',\n",
+ " fig._remove_fig_handler\n",
+ " );\n",
+ " fig.resizeObserverInstance.unobserve(fig.canvas_div);\n",
+ "\n",
+ " // Update the output cell to use the data from the current canvas.\n",
+ " fig.push_to_output();\n",
+ " var dataURL = fig.canvas.toDataURL();\n",
+ " // Re-enable the keyboard manager in IPython - without this line, in FF,\n",
+ " // the notebook keyboard shortcuts fail.\n",
+ " IPython.keyboard_manager.enable();\n",
+ " fig.parent_element.innerHTML =\n",
+ " '
';\n",
+ " fig.close_ws(fig, msg);\n",
+ "};\n",
+ "\n",
+ "mpl.figure.prototype.close_ws = function (fig, msg) {\n",
+ " fig.send_message('closing', msg);\n",
+ " // fig.ws.close()\n",
+ "};\n",
+ "\n",
+ "mpl.figure.prototype.push_to_output = function (_remove_interactive) {\n",
+ " // Turn the data on the canvas into data in the output cell.\n",
+ " var width = this.canvas.width / this.ratio;\n",
+ " var dataURL = this.canvas.toDataURL();\n",
+ " this.cell_info[1]['text/html'] =\n",
+ " '
';\n",
+ "};\n",
+ "\n",
+ "mpl.figure.prototype.updated_canvas_event = function () {\n",
+ " // Tell IPython that the notebook contents must change.\n",
+ " IPython.notebook.set_dirty(true);\n",
+ " this.send_message('ack', {});\n",
+ " var fig = this;\n",
+ " // Wait a second, then push the new image to the DOM so\n",
+ " // that it is saved nicely (might be nice to debounce this).\n",
+ " setTimeout(function () {\n",
+ " fig.push_to_output();\n",
+ " }, 1000);\n",
+ "};\n",
+ "\n",
+ "mpl.figure.prototype._init_toolbar = function () {\n",
+ " var fig = this;\n",
+ "\n",
+ " var toolbar = document.createElement('div');\n",
+ " toolbar.classList = 'btn-toolbar';\n",
+ " this.root.appendChild(toolbar);\n",
+ "\n",
+ " function on_click_closure(name) {\n",
+ " return function (_event) {\n",
+ " return fig.toolbar_button_onclick(name);\n",
+ " };\n",
+ " }\n",
+ "\n",
+ " function on_mouseover_closure(tooltip) {\n",
+ " return function (event) {\n",
+ " if (!event.currentTarget.disabled) {\n",
+ " return fig.toolbar_button_onmouseover(tooltip);\n",
+ " }\n",
+ " };\n",
+ " }\n",
+ "\n",
+ " fig.buttons = {};\n",
+ " var buttonGroup = document.createElement('div');\n",
+ " buttonGroup.classList = 'btn-group';\n",
+ " var button;\n",
+ " for (var toolbar_ind in mpl.toolbar_items) {\n",
+ " var name = mpl.toolbar_items[toolbar_ind][0];\n",
+ " var tooltip = mpl.toolbar_items[toolbar_ind][1];\n",
+ " var image = mpl.toolbar_items[toolbar_ind][2];\n",
+ " var method_name = mpl.toolbar_items[toolbar_ind][3];\n",
+ "\n",
+ " if (!name) {\n",
+ " /* Instead of a spacer, we start a new button group. */\n",
+ " if (buttonGroup.hasChildNodes()) {\n",
+ " toolbar.appendChild(buttonGroup);\n",
+ " }\n",
+ " buttonGroup = document.createElement('div');\n",
+ " buttonGroup.classList = 'btn-group';\n",
+ " continue;\n",
+ " }\n",
+ "\n",
+ " button = fig.buttons[name] = document.createElement('button');\n",
+ " button.classList = 'btn btn-default';\n",
+ " button.href = '#';\n",
+ " button.title = name;\n",
+ " button.innerHTML = '';\n",
+ " button.addEventListener('click', on_click_closure(method_name));\n",
+ " button.addEventListener('mouseover', on_mouseover_closure(tooltip));\n",
+ " buttonGroup.appendChild(button);\n",
+ " }\n",
+ "\n",
+ " if (buttonGroup.hasChildNodes()) {\n",
+ " toolbar.appendChild(buttonGroup);\n",
+ " }\n",
+ "\n",
+ " // Add the status bar.\n",
+ " var status_bar = document.createElement('span');\n",
+ " status_bar.classList = 'mpl-message pull-right';\n",
+ " toolbar.appendChild(status_bar);\n",
+ " this.message = status_bar;\n",
+ "\n",
+ " // Add the close button to the window.\n",
+ " var buttongrp = document.createElement('div');\n",
+ " buttongrp.classList = 'btn-group inline pull-right';\n",
+ " button = document.createElement('button');\n",
+ " button.classList = 'btn btn-mini btn-primary';\n",
+ " button.href = '#';\n",
+ " button.title = 'Stop Interaction';\n",
+ " button.innerHTML = '';\n",
+ " button.addEventListener('click', function (_evt) {\n",
+ " fig.handle_close(fig, {});\n",
+ " });\n",
+ " button.addEventListener(\n",
+ " 'mouseover',\n",
+ " on_mouseover_closure('Stop Interaction')\n",
+ " );\n",
+ " buttongrp.appendChild(button);\n",
+ " var titlebar = this.root.querySelector('.ui-dialog-titlebar');\n",
+ " titlebar.insertBefore(buttongrp, titlebar.firstChild);\n",
+ "};\n",
+ "\n",
+ "mpl.figure.prototype._remove_fig_handler = function (event) {\n",
+ " var fig = event.data.fig;\n",
+ " if (event.target !== this) {\n",
+ " // Ignore bubbled events from children.\n",
+ " return;\n",
+ " }\n",
+ " fig.close_ws(fig, {});\n",
+ "};\n",
+ "\n",
+ "mpl.figure.prototype._root_extra_style = function (el) {\n",
+ " el.style.boxSizing = 'content-box'; // override notebook setting of border-box.\n",
+ "};\n",
+ "\n",
+ "mpl.figure.prototype._canvas_extra_style = function (el) {\n",
+ " // this is important to make the div 'focusable\n",
+ " el.setAttribute('tabindex', 0);\n",
+ " // reach out to IPython and tell the keyboard manager to turn it's self\n",
+ " // off when our div gets focus\n",
+ "\n",
+ " // location in version 3\n",
+ " if (IPython.notebook.keyboard_manager) {\n",
+ " IPython.notebook.keyboard_manager.register_events(el);\n",
+ " } else {\n",
+ " // location in version 2\n",
+ " IPython.keyboard_manager.register_events(el);\n",
+ " }\n",
+ "};\n",
+ "\n",
+ "mpl.figure.prototype._key_event_extra = function (event, _name) {\n",
+ " // Check for shift+enter\n",
+ " if (event.shiftKey && event.which === 13) {\n",
+ " this.canvas_div.blur();\n",
+ " // select the cell after this one\n",
+ " var index = IPython.notebook.find_cell_index(this.cell_info[0]);\n",
+ " IPython.notebook.select(index + 1);\n",
+ " }\n",
+ "};\n",
+ "\n",
+ "mpl.figure.prototype.handle_save = function (fig, _msg) {\n",
+ " fig.ondownload(fig, null);\n",
+ "};\n",
+ "\n",
+ "mpl.find_output_cell = function (html_output) {\n",
+ " // Return the cell and output element which can be found *uniquely* in the notebook.\n",
+ " // Note - this is a bit hacky, but it is done because the \"notebook_saving.Notebook\"\n",
+ " // IPython event is triggered only after the cells have been serialised, which for\n",
+ " // our purposes (turning an active figure into a static one), is too late.\n",
+ " var cells = IPython.notebook.get_cells();\n",
+ " var ncells = cells.length;\n",
+ " for (var i = 0; i < ncells; i++) {\n",
+ " var cell = cells[i];\n",
+ " if (cell.cell_type === 'code') {\n",
+ " for (var j = 0; j < cell.output_area.outputs.length; j++) {\n",
+ " var data = cell.output_area.outputs[j];\n",
+ " if (data.data) {\n",
+ " // IPython >= 3 moved mimebundle to data attribute of output\n",
+ " data = data.data;\n",
+ " }\n",
+ " if (data['text/html'] === html_output) {\n",
+ " return [cell, data, j];\n",
+ " }\n",
+ " }\n",
+ " }\n",
+ " }\n",
+ "};\n",
+ "\n",
+ "// Register the function which deals with the matplotlib target/channel.\n",
+ "// The kernel may be null if the page has been refreshed.\n",
+ "if (IPython.notebook.kernel !== null) {\n",
+ " IPython.notebook.kernel.comm_manager.register_target(\n",
+ " 'matplotlib',\n",
+ " mpl.mpl_figure_comm\n",
+ " );\n",
+ "}\n"
+ ],
+ "text/plain": [
+ ""
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ },
+ {
+ "data": {
+ "text/html": [
+ "
"
+ ],
+ "text/plain": [
+ ""
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ },
+ {
+ "data": {
+ "text/plain": [
+ ""
+ ]
+ },
+ "execution_count": 54,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
"source": [
"x=np.arange(10)+1.\n",
"y1=x**2\n",
@@ -637,10 +10530,10 @@
"fig, ax = plt.subplots()\n",
"ax.set_yscale('log')\n",
"# The `label` keyword below is used to specify the label for the particular data set\n",
- "ax.plot(x,y1,color='blue',mec='orange',mew=2,marker='*',ms=20,ls='None',label='$y=x^2$')\n",
- "ax.plot(x,y2,color='red',marker='s',ms=15,ls='None',label='$y=\\sqrt{x}$')\n",
- "ax.text(6,10,'$y=x^{n}$',fontsize=24)\n",
- "ax.legend(loc='upper left',fontsize=16,numpoints=1)"
+ "ax.plot(x,y1,color='blue',mec='orange',mew=2,marker='*',ms=20,ls='None',label='The daily stipen')\n",
+ "ax.plot(x,y2,color='red',marker='s',ms=15,ls='None',label='date')\n",
+ "ax.text(8,1,'$y=x^{n}$',fontsize=24)\n",
+ "ax.legend(loc='upper left',fontsize=16,frameon=False)"
]
},
{
@@ -658,18 +10551,78 @@
},
{
"cell_type": "code",
- "execution_count": null,
+ "execution_count": 60,
"metadata": {},
- "outputs": [],
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ "array([5., 5., 5., 5., 5., 5., 5., 5., 5., 5.])"
+ ]
+ },
+ "execution_count": 60,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
"source": [
+ "np.zeros(10)+5"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 14,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ "(array([-20., 0., 20., 40., 60., 80., 100., 120.]),\n",
+ " [Text(0, 0, ''),\n",
+ " Text(0, 0, ''),\n",
+ " Text(0, 0, ''),\n",
+ " Text(0, 0, ''),\n",
+ " Text(0, 0, ''),\n",
+ " Text(0, 0, ''),\n",
+ " Text(0, 0, ''),\n",
+ " Text(0, 0, '')])"
+ ]
+ },
+ "execution_count": 14,
+ "metadata": {},
+ "output_type": "execute_result"
+ },
+ {
+ "data": {
+ "image/png": "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\n",
+ "text/plain": [
+ ""
+ ]
+ },
+ "metadata": {
+ "needs_background": "light"
+ },
+ "output_type": "display_data"
+ }
+ ],
+ "source": [
+ "import matplotlib.pyplot as plt\n",
+ "import numpy as np\n",
"# first, generate some fake data\n",
+ "\n",
+ "fontsize = 15\n",
+ "\n",
"x=np.arange(10)+1.\n",
"y=x**2\n",
"\n",
"xerr=np.zeros(10)+0.5 # fixed error in x\n",
"yerr=np.sqrt(y) # Poisson error in y\n",
"\n",
- "plt.errorbar(x,y,xerr=xerr,yerr=yerr,marker='o',ls='None')"
+ "plt.errorbar(x,y,xerr=xerr,yerr=yerr,marker='o',ls='None',markeredgecolor='k',markerfacecolor='k',ecolor='k',capsize=2)\n",
+ "plt.xlabel('x',fontsize=fontsize)\n",
+ "plt.ylabel('y',fontsize=fontsize)\n",
+ "plt.xticks(fontsize=fontsize)\n",
+ "plt.yticks(fontsize=fontsize)\n"
]
},
{
@@ -681,19 +10634,32 @@
},
{
"cell_type": "code",
- "execution_count": null,
+ "execution_count": 21,
"metadata": {},
- "outputs": [],
+ "outputs": [
+ {
+ "data": {
+ "image/png": "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\n",
+ "text/plain": [
+ ""
+ ]
+ },
+ "metadata": {
+ "needs_background": "light"
+ },
+ "output_type": "display_data"
+ }
+ ],
"source": [
"import numpy.random as npr\n",
"\n",
"x1=npr.randn(10000) # mean=0, std=1.0\n",
"x2=npr.randn(10000)*0.5+1. # mean=1, std=0.5\n",
"\n",
- "bins=np.linspace(-5.,5.,21)\n",
+ "bins=np.linspace(-5.,5.,100)\n",
"\n",
- "info1 = plt.hist(x1,bins=bins, color='red',lw=1, histtype='step')\n",
- "info2 = plt.hist(x2,bins=bins, color='blue',lw=1, histtype='step')"
+ "info1 = plt.hist(x1,bins=bins, color='red',lw=1)#, histtype='step')\n",
+ "info2 = plt.hist(x2,bins=bins, color='blue',lw=1,alpha=0.5)#, histtype='step')"
]
},
{
@@ -705,9 +10671,22 @@
},
{
"cell_type": "code",
- "execution_count": null,
+ "execution_count": 26,
"metadata": {},
- "outputs": [],
+ "outputs": [
+ {
+ "data": {
+ "image/png": "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\n",
+ "text/plain": [
+ ""
+ ]
+ },
+ "metadata": {
+ "needs_background": "light"
+ },
+ "output_type": "display_data"
+ }
+ ],
"source": [
"# Display an image from a FITS file\n",
"\n",
@@ -737,9 +10716,32 @@
},
{
"cell_type": "code",
- "execution_count": null,
+ "execution_count": 27,
"metadata": {},
- "outputs": [],
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ ""
+ ]
+ },
+ "execution_count": 27,
+ "metadata": {},
+ "output_type": "execute_result"
+ },
+ {
+ "data": {
+ "image/png": "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\n",
+ "text/plain": [
+ ""
+ ]
+ },
+ "metadata": {
+ "needs_background": "light"
+ },
+ "output_type": "display_data"
+ }
+ ],
"source": [
"im1 = fits.open('data/SN2011iv_B_SWO_DC_2011_12_11SN.fits')\n",
"im2 = fits.open('data/SN2011iv_B_template.fits')\n",
@@ -757,10 +10759,37 @@
},
{
"cell_type": "code",
- "execution_count": null,
+ "execution_count": 30,
"metadata": {},
- "outputs": [],
- "source": []
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ ""
+ ]
+ },
+ "execution_count": 30,
+ "metadata": {},
+ "output_type": "execute_result"
+ },
+ {
+ "data": {
+ "image/png": "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\n",
+ "text/plain": [
+ ""
+ ]
+ },
+ "metadata": {
+ "needs_background": "light"
+ },
+ "output_type": "display_data"
+ }
+ ],
+ "source": [
+ "im_diff = im1[0].data-im2[0].data\n",
+ "fig,ax = plt.subplots(figsize=(8,8))\n",
+ "ax.imshow(im_diff, vmin=-40,vmax=40, cmap='gray_r')"
+ ]
},
{
"cell_type": "markdown",
@@ -772,7 +10801,7 @@
},
{
"cell_type": "code",
- "execution_count": null,
+ "execution_count": 31,
"metadata": {},
"outputs": [],
"source": [
@@ -788,7 +10817,9 @@
"ax.legend(loc='upper left',fontsize=16,numpoints=1)\n",
"\n",
"# Note these two lines\n",
- "fig.savefig('example.pdf',format='pdf')\n",
+ "fig.savefig('example.pdf',format='pdf',bbox_inches='tight')\n",
+ "fig.savefig('example.png',bbox_inches='tight')\n",
+ "fig.savefig('example.jpg',bbox_inches='tight')\n",
"plt.close()"
]
},
@@ -817,11 +10848,180 @@
"# More Advanced Visualization\n",
"There's tons more \"out there\" for helping you visualize your data. In the folder you downloaded, there is another `ipython` notebook called `Skyfit.ipynb` which shows you an example of using one such package: `Bokeh`. We encourage you to have a look at it, as it may give you ideas for handling your own summer research project. The math is pretty dense, but the real point is to see how data can be manipulated, fit, and visualized."
]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "Let's first import all the packages we will need."
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 79,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "from __future__ import division\n",
+ "import numpy as np\n",
+ "import matplotlib.pyplot as plt\n",
+ "import pandas as pd\n",
+ "from scipy.optimize import curve_fit"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "Then let's load the supernova catalog."
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 80,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "Data = pd.read_csv('data/SNIa_DM.dat',delim_whitespace=True, skiprows=4)\n",
+ "\n",
+ "zcmb = Data.zcmb.values\n",
+ "DM = Data.DM.values\n",
+ "DM_err = Data['+/-'].values\n",
+ "survey = Data.survey.values"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "Next, we define the function specified at the beginning of this section."
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 81,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "def DM_model(logz,H0):\n",
+ " return 5*(np.log10(3*10**5/H0)+logz)+25"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "Now we are ready to fit for the Hubble parameter! We will fit $H_0$ for survey 1 and survey 2 seperately."
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 83,
+ "metadata": {},
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "H0 = 73.15001352528321 +/- 0.624509056264018 [km/s/Mpc] for survey 1\n",
+ "H0 = 71.30245219798228 +/- 0.5501608597182198 [km/s/Mpc] for survey 2\n"
+ ]
+ }
+ ],
+ "source": [
+ "idx1_valid = np.where((DM_err>0)&(survey==1))[0]\n",
+ "popt1, pcov1 = curve_fit(DM_model,np.log10(zcmb[idx1_valid]),DM[idx1_valid],sigma=DM_err[idx1_valid])\n",
+ "print('H0 =',popt1[0],'+/-',np.sqrt(pcov1)[0][0],'[km/s/Mpc] for survey 1')\n",
+ "\n",
+ "idx2_valid = np.where((DM_err>0)&(survey==2))[0]\n",
+ "popt2, pcov2 = curve_fit(DM_model,np.log10(zcmb[idx2_valid]),DM[idx2_valid],sigma=DM_err[idx2_valid])\n",
+ "print('H0 =',popt2[0],'+/-',np.sqrt(pcov2)[0][0],'[km/s/Mpc] for survey 2')"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "Wow! The Hubble parameters constrained by survey 1 and 2 disagree with each other by about $3\\sigma$!? \n",
+ "Let's plot the fitting results."
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 84,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ "Text(0.5, 1.0, 'Survey 2')"
+ ]
+ },
+ "execution_count": 84,
+ "metadata": {},
+ "output_type": "execute_result"
+ },
+ {
+ "data": {
+ "image/png": "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\n",
+ "text/plain": [
+ ""
+ ]
+ },
+ "metadata": {
+ "needs_background": "light"
+ },
+ "output_type": "display_data"
+ },
+ {
+ "data": {
+ "image/png": "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t4F5ZnaSmR1iZr8CTgBm5jNWEZFila6pqba2FoDZs1Onq7VfvpueFgNTgDJgE/AmcBHh0Fd3/8jMJgKXESSQfsAbwNkEewuLiHR76Zqafvvb31JbW0tFRUXOXy+vNQp3/4m77+nuW7r71u6+l7tf7e4bI2Ved/fj3b00LPcld5+tHb4aTJkyhbFjx+bltS6//PKs2zwff/xx9tprL3r37o1ZMD+yrKyM888/P1nmjjvuYM6cOR0QaW4cd9xxTJgwoVXnLFy4EDPjhRde6JigRNJIbWoqLy8nFosxc2buG1+KoY9CilhrEkVFRQVbb7018+fPZ9GiRQDcc889nHvuuckyxZ4oRDqLaFPTu8OGsbCmhoNqarrsqCfpIl555RWmTp1KLBZLHhs9enQBIxLpukpLS1lVW0tFXR3D3nsPgOonnqD6K1/J+WupRtGJzZs3j1GjRtG7d2/2339/XnrppUbP19fX84tf/IKdd96ZzTffnF122YUbb7yxUZnHHnuMAw44gH79+tGvXz++/OUvc+eddwJBs9HatWuZPn16stMsXe0i0fRSV1fH9773PcyMKVOmJK+RaHqaMmUKc+fOpSb81tPSNx8z41e/+hXTpk1j4MCBDBo0iF/+8pcA3Hjjjey0005svfXWnHHGGXz22WeNzn3uueeYOHEiffv2ZcCAAXzrW99i1apVjcq88847HHHEEfTp04eysjJ+97vfpY3jhRdeYNKkSWy11VZstdVWHH/88bz//vvNxi3SVlnPh/if/+G92loqgNlA1dChUFcHHZAkAHD3LnUbM2aMd3Wnn366Dxo0yEeMGOF/+tOffO7cub7nnnv6sGHDfMOGDclylZWVvsUWW/iMGTP873//u1944YXeo0cPv++++9zdff369d6/f38/7bTT/G9/+5vPnz/ff/nLX/r111/v7u5Lly71/v37+5lnnumLFi3yRYsW+fr165vEs379el+0aJEDPm3aNF+0aJG//vrr7u4+fPhwnzZtmru7v/76637QQQf56NGjk9d75513mn2fgA8dOtSnTp3q8+fP9+9+97sO+AUXXOATJkzw++67z2fOnOm9evXyyy67LHne6tWrvX///j5+/Hi/5557/KabbvKhQ4f6F77wBf/888/d3b2+vt5Hjx7tO+ywg998883Jn2FpaanHYrHktZYtW+b9+vXzgw8+2OfNm+d33XWX77bbbj527Fivr693d/cFCxY44M8//3xb/jtFGonFYo1+Bxt54QV3SN5KwAlv1dXV7XpdYIk387mqpieA738fnnuuMK/95S/Dr3/d6tM++OAD7r33Xvbdd18AxowZw8iRI5kzZw5nn302r7/+Otdeey1/+MMfOP300wE45JBDWLlyJdOnT+fII4/ktddeY/369VxzzTVstdVWABx66KHJ1xg9ejQ9e/Zk2LBhjB8/vtlY+vXrl3y+rKys2bIjR45km222ob6+PuP1osrLy5PD/Q455BDuvPNOfvvb37JixQr69esHBDWae+65hx/+8IcAXHnllQDMnz8/Waa8vJzx48czd+5cTjrpJB544AGeffZZnnzyScaNG9foZ1heXp58/enTp7PddtvxwAMP0KtXsMjxF7/4RUaNGsVf//pXJk2alNX7EMnWsmXLqK2tpaqqqqFj2h16NG4AemfYMOrefTcvManpqZMaMmRIMkkADB8+nDFjxvD0008D8PDDD9OjRw+OPfZYNm3alLxNnDiR5557jrq6OkaOHMmWW27JySefzL333su6desK9G6aN3HixOS/e/TowYgRIxgzZkwyAQDsvPPOvBe20QI8/fTTHHrooY3KjBs3jrKyMh577LFkmW233TaZJKDhZxj10EMPceyxx9KjR4/kz3DEiBHam106TJP5EGZNkgTu7PDOO42+9ee6AztKNQpo0zf6QhsyZEjaYytXrgSCGkddXR39+/dPe/7KlSsZNmwYf//734nH45xwwgnU19dz6KGHcvXVV7PTTjt1aPzZ2nrrrRs97tWrV9pj0T6KlStXssceezS51rbbbsuHH34IwPvvv9/sz/Cjjz5KPv7ggw+YMWMGM2bMaFL2nXfeac1bEclKaWlpMB9izJggSUSfA6ZWVxPPc0xKFJ3U6tWr0x5LfEBus8029OzZk8cff5weqd9GaEg048eP58EHH2TDhg089NBDnHfeeZx88sk8+eSTHfsGOtD222+f9uezatWqZI1hu+22a/Zn2KdPn+TjbbbZhmOPPZazzjqrSdlBgwblMGqRwOiyMt6rrYWwdQDg6336cN+GDVRWVnZozaE5anrqpFavXs0TTzyRfPz222+zdOlS9tlnHwAOPvhg6urqWL9+PWPHjm1yS7S3J/Tp04ejjjqKM844o9HoqdRv6+2V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\n",
+ "text/plain": [
+ ""
+ ]
+ },
+ "metadata": {
+ "needs_background": "light"
+ },
+ "output_type": "display_data"
+ }
+ ],
+ "source": [
+ "fontsize = 15\n",
+ "plt.figure(1)\n",
+ "plt.errorbar(np.log10(zcmb[idx1_valid]),DM[idx1_valid],yerr=DM_err[idx1_valid],linestyle='none',ecolor='k',markeredgecolor='k',markerfacecolor='k',\n",
+ " marker='o',ms=2,capsize=2)\n",
+ "plt.plot(np.log10(zcmb),DM_model(np.log10(zcmb),popt1[0]),'r',label='best fit model')\n",
+ "plt.xlabel(r'$\\log(z)$',fontsize=fontsize)\n",
+ "plt.ylabel(r'DM',fontsize=fontsize)\n",
+ "plt.xticks(fontsize = fontsize)\n",
+ "plt.yticks(fontsize = fontsize)\n",
+ "plt.legend(frameon=False,fontsize=fontsize)\n",
+ "plt.title('Survey 1',fontsize=fontsize)\n",
+ "\n",
+ "plt.figure(2)\n",
+ "plt.errorbar(np.log10(zcmb[idx2_valid]),DM[idx2_valid],yerr=DM_err[idx2_valid],linestyle='none',ecolor='k',markeredgecolor='k',markerfacecolor='k',\n",
+ " marker='o',ms=2,capsize=2)\n",
+ "plt.plot(np.log10(zcmb[idx2_valid]),DM_model(np.log10(zcmb[idx2_valid]),popt2[0]),'r',label='best fit model')\n",
+ "plt.xlabel(r'$\\log(z)$',fontsize=fontsize)\n",
+ "plt.ylabel(r'DM',fontsize=fontsize)\n",
+ "plt.xticks(fontsize = fontsize)\n",
+ "plt.yticks(fontsize = fontsize)\n",
+ "plt.legend(frameon=False,fontsize=fontsize)\n",
+ "plt.title('Survey 2',fontsize=fontsize)"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {},
+ "outputs": [],
+ "source": []
}
],
"metadata": {
"kernelspec": {
- "display_name": "Python 3 (ipykernel)",
+ "display_name": "Python 3",
"language": "python",
"name": "python3"
},
@@ -835,7 +11035,7 @@
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
- "version": "3.10.9"
+ "version": "3.7.6"
}
},
"nbformat": 4,
From d4ab08bf7a70eb1f4c217daaf3a22ac82828ab90 Mon Sep 17 00:00:00 2001
From: ShengqiYang <31641147+Sheng-Qi-Yang@users.noreply.github.com>
Date: Fri, 23 Jun 2023 15:04:31 -0700
Subject: [PATCH 2/2] Add fitting examples to the end.
---
Visualization.ipynb | 10213 +-----------------------------------------
1 file changed, 65 insertions(+), 10148 deletions(-)
diff --git a/Visualization.ipynb b/Visualization.ipynb
index 9a997c2..6bdc4e4 100644
--- a/Visualization.ipynb
+++ b/Visualization.ipynb
@@ -12,13 +12,6 @@
"- Make figures to visualize the data"
]
},
- {
- "cell_type": "code",
- "execution_count": null,
- "metadata": {},
- "outputs": [],
- "source": []
- },
{
"cell_type": "markdown",
"metadata": {},
@@ -376,7 +369,7 @@
},
{
"cell_type": "code",
- "execution_count": 1,
+ "execution_count": null,
"metadata": {},
"outputs": [],
"source": [
@@ -392,12 +385,11 @@
},
{
"cell_type": "code",
- "execution_count": 2,
+ "execution_count": null,
"metadata": {},
"outputs": [],
"source": [
- "import matplotlib.pyplot as plt\n",
- "import numpy as np"
+ "import matplotlib.pyplot as plt"
]
},
{
@@ -409,27 +401,10 @@
},
{
"cell_type": "code",
- "execution_count": 8,
+ "execution_count": null,
"metadata": {},
- "outputs": [
- {
- "name": "stdout",
- "output_type": "stream",
- "text": [
- "[0. 1. 2. 3. 4. 5. 6. 7. 8. 9.]\n",
- "[ 0. 1. 4. 9. 16. 25. 36. 49. 64. 81.]\n"
- ]
- }
- ],
- "source": [
- "a = np.array([0,1,2,3,4,5,6,7,8,9])\n",
- "b = np.arange(10)\n",
- "c = np.linspace(0,9,10)\n",
- "x = c\n",
- "y = x**2\n",
- "print(x)\n",
- "print(y)"
- ]
+ "outputs": [],
+ "source": []
},
{
"cell_type": "markdown",
@@ -440,1005 +415,11 @@
},
{
"cell_type": "code",
- "execution_count": 17,
+ "execution_count": null,
"metadata": {},
- "outputs": [
- {
- "data": {
- "application/javascript": [
- "/* Put everything inside the global mpl namespace */\n",
- "/* global mpl */\n",
- "window.mpl = {};\n",
- "\n",
- "mpl.get_websocket_type = function () {\n",
- " if (typeof WebSocket !== 'undefined') {\n",
- " return WebSocket;\n",
- " } else if (typeof MozWebSocket !== 'undefined') {\n",
- " return MozWebSocket;\n",
- " } else {\n",
- " alert(\n",
- " 'Your browser does not have WebSocket support. ' +\n",
- " 'Please try Chrome, Safari or Firefox ≥ 6. ' +\n",
- " 'Firefox 4 and 5 are also supported but you ' +\n",
- " 'have to enable WebSockets in about:config.'\n",
- " );\n",
- " }\n",
- "};\n",
- "\n",
- "mpl.figure = function (figure_id, websocket, ondownload, parent_element) {\n",
- " this.id = figure_id;\n",
- "\n",
- " this.ws = websocket;\n",
- "\n",
- " this.supports_binary = this.ws.binaryType !== undefined;\n",
- "\n",
- " if (!this.supports_binary) {\n",
- " var warnings = document.getElementById('mpl-warnings');\n",
- " if (warnings) {\n",
- " warnings.style.display = 'block';\n",
- " warnings.textContent =\n",
- " 'This browser does not support binary websocket messages. ' +\n",
- " 'Performance may be slow.';\n",
- " }\n",
- " }\n",
- "\n",
- " this.imageObj = new Image();\n",
- "\n",
- " this.context = undefined;\n",
- " this.message = undefined;\n",
- " this.canvas = undefined;\n",
- " this.rubberband_canvas = undefined;\n",
- " this.rubberband_context = undefined;\n",
- " this.format_dropdown = undefined;\n",
- "\n",
- " this.image_mode = 'full';\n",
- "\n",
- " this.root = document.createElement('div');\n",
- " this.root.setAttribute('style', 'display: inline-block');\n",
- " this._root_extra_style(this.root);\n",
- "\n",
- " parent_element.appendChild(this.root);\n",
- "\n",
- " this._init_header(this);\n",
- " this._init_canvas(this);\n",
- " this._init_toolbar(this);\n",
- "\n",
- " var fig = this;\n",
- "\n",
- " this.waiting = false;\n",
- "\n",
- " this.ws.onopen = function () {\n",
- " fig.send_message('supports_binary', { value: fig.supports_binary });\n",
- " fig.send_message('send_image_mode', {});\n",
- " if (fig.ratio !== 1) {\n",
- " fig.send_message('set_device_pixel_ratio', {\n",
- " device_pixel_ratio: fig.ratio,\n",
- " });\n",
- " }\n",
- " fig.send_message('refresh', {});\n",
- " };\n",
- "\n",
- " this.imageObj.onload = function () {\n",
- " if (fig.image_mode === 'full') {\n",
- " // Full images could contain transparency (where diff images\n",
- " // almost always do), so we need to clear the canvas so that\n",
- " // there is no ghosting.\n",
- " fig.context.clearRect(0, 0, fig.canvas.width, fig.canvas.height);\n",
- " }\n",
- " fig.context.drawImage(fig.imageObj, 0, 0);\n",
- " };\n",
- "\n",
- " this.imageObj.onunload = function () {\n",
- " fig.ws.close();\n",
- " };\n",
- "\n",
- " this.ws.onmessage = this._make_on_message_function(this);\n",
- "\n",
- " this.ondownload = ondownload;\n",
- "};\n",
- "\n",
- "mpl.figure.prototype._init_header = function () {\n",
- " var titlebar = document.createElement('div');\n",
- " titlebar.classList =\n",
- " 'ui-dialog-titlebar ui-widget-header ui-corner-all ui-helper-clearfix';\n",
- " var titletext = document.createElement('div');\n",
- " titletext.classList = 'ui-dialog-title';\n",
- " titletext.setAttribute(\n",
- " 'style',\n",
- " 'width: 100%; text-align: center; padding: 3px;'\n",
- " );\n",
- " titlebar.appendChild(titletext);\n",
- " this.root.appendChild(titlebar);\n",
- " this.header = titletext;\n",
- "};\n",
- "\n",
- "mpl.figure.prototype._canvas_extra_style = function (_canvas_div) {};\n",
- "\n",
- "mpl.figure.prototype._root_extra_style = function (_canvas_div) {};\n",
- "\n",
- "mpl.figure.prototype._init_canvas = function () {\n",
- " var fig = this;\n",
- "\n",
- " var canvas_div = (this.canvas_div = document.createElement('div'));\n",
- " canvas_div.setAttribute(\n",
- " 'style',\n",
- " 'border: 1px solid #ddd;' +\n",
- " 'box-sizing: content-box;' +\n",
- " 'clear: both;' +\n",
- " 'min-height: 1px;' +\n",
- " 'min-width: 1px;' +\n",
- " 'outline: 0;' +\n",
- " 'overflow: hidden;' +\n",
- " 'position: relative;' +\n",
- " 'resize: both;'\n",
- " );\n",
- "\n",
- " function on_keyboard_event_closure(name) {\n",
- " return function (event) {\n",
- " return fig.key_event(event, name);\n",
- " };\n",
- " }\n",
- "\n",
- " canvas_div.addEventListener(\n",
- " 'keydown',\n",
- " on_keyboard_event_closure('key_press')\n",
- " );\n",
- " canvas_div.addEventListener(\n",
- " 'keyup',\n",
- " on_keyboard_event_closure('key_release')\n",
- " );\n",
- "\n",
- " this._canvas_extra_style(canvas_div);\n",
- " this.root.appendChild(canvas_div);\n",
- "\n",
- " var canvas = (this.canvas = document.createElement('canvas'));\n",
- " canvas.classList.add('mpl-canvas');\n",
- " canvas.setAttribute('style', 'box-sizing: content-box;');\n",
- "\n",
- " this.context = canvas.getContext('2d');\n",
- "\n",
- " var backingStore =\n",
- " this.context.backingStorePixelRatio ||\n",
- " this.context.webkitBackingStorePixelRatio ||\n",
- " this.context.mozBackingStorePixelRatio ||\n",
- " this.context.msBackingStorePixelRatio ||\n",
- " this.context.oBackingStorePixelRatio ||\n",
- " this.context.backingStorePixelRatio ||\n",
- " 1;\n",
- "\n",
- " this.ratio = (window.devicePixelRatio || 1) / backingStore;\n",
- "\n",
- " var rubberband_canvas = (this.rubberband_canvas = document.createElement(\n",
- " 'canvas'\n",
- " ));\n",
- " rubberband_canvas.setAttribute(\n",
- " 'style',\n",
- " 'box-sizing: content-box; position: absolute; left: 0; top: 0; z-index: 1;'\n",
- " );\n",
- "\n",
- " // Apply a ponyfill if ResizeObserver is not implemented by browser.\n",
- " if (this.ResizeObserver === undefined) {\n",
- " if (window.ResizeObserver !== undefined) {\n",
- " this.ResizeObserver = window.ResizeObserver;\n",
- " } else {\n",
- " var obs = _JSXTOOLS_RESIZE_OBSERVER({});\n",
- " this.ResizeObserver = obs.ResizeObserver;\n",
- " }\n",
- " }\n",
- "\n",
- " this.resizeObserverInstance = new this.ResizeObserver(function (entries) {\n",
- " var nentries = entries.length;\n",
- " for (var i = 0; i < nentries; i++) {\n",
- " var entry = entries[i];\n",
- " var width, height;\n",
- " if (entry.contentBoxSize) {\n",
- " if (entry.contentBoxSize instanceof Array) {\n",
- " // Chrome 84 implements new version of spec.\n",
- " width = entry.contentBoxSize[0].inlineSize;\n",
- " height = entry.contentBoxSize[0].blockSize;\n",
- " } else {\n",
- " // Firefox implements old version of spec.\n",
- " width = entry.contentBoxSize.inlineSize;\n",
- " height = entry.contentBoxSize.blockSize;\n",
- " }\n",
- " } else {\n",
- " // Chrome <84 implements even older version of spec.\n",
- " width = entry.contentRect.width;\n",
- " height = entry.contentRect.height;\n",
- " }\n",
- "\n",
- " // Keep the size of the canvas and rubber band canvas in sync with\n",
- " // the canvas container.\n",
- " if (entry.devicePixelContentBoxSize) {\n",
- " // Chrome 84 implements new version of spec.\n",
- " canvas.setAttribute(\n",
- " 'width',\n",
- " entry.devicePixelContentBoxSize[0].inlineSize\n",
- " );\n",
- " canvas.setAttribute(\n",
- " 'height',\n",
- " entry.devicePixelContentBoxSize[0].blockSize\n",
- " );\n",
- " } else {\n",
- " canvas.setAttribute('width', width * fig.ratio);\n",
- " canvas.setAttribute('height', height * fig.ratio);\n",
- " }\n",
- " canvas.setAttribute(\n",
- " 'style',\n",
- " 'width: ' + width + 'px; height: ' + height + 'px;'\n",
- " );\n",
- "\n",
- " rubberband_canvas.setAttribute('width', width);\n",
- " rubberband_canvas.setAttribute('height', height);\n",
- "\n",
- " // And update the size in Python. We ignore the initial 0/0 size\n",
- " // that occurs as the element is placed into the DOM, which should\n",
- " // otherwise not happen due to the minimum size styling.\n",
- " if (fig.ws.readyState == 1 && width != 0 && height != 0) {\n",
- " fig.request_resize(width, height);\n",
- " }\n",
- " }\n",
- " });\n",
- " this.resizeObserverInstance.observe(canvas_div);\n",
- "\n",
- " function on_mouse_event_closure(name) {\n",
- " return function (event) {\n",
- " return fig.mouse_event(event, name);\n",
- " };\n",
- " }\n",
- "\n",
- " rubberband_canvas.addEventListener(\n",
- " 'mousedown',\n",
- " on_mouse_event_closure('button_press')\n",
- " );\n",
- " rubberband_canvas.addEventListener(\n",
- " 'mouseup',\n",
- " on_mouse_event_closure('button_release')\n",
- " );\n",
- " rubberband_canvas.addEventListener(\n",
- " 'dblclick',\n",
- " on_mouse_event_closure('dblclick')\n",
- " );\n",
- " // Throttle sequential mouse events to 1 every 20ms.\n",
- " rubberband_canvas.addEventListener(\n",
- " 'mousemove',\n",
- " on_mouse_event_closure('motion_notify')\n",
- " );\n",
- "\n",
- " rubberband_canvas.addEventListener(\n",
- " 'mouseenter',\n",
- " on_mouse_event_closure('figure_enter')\n",
- " );\n",
- " rubberband_canvas.addEventListener(\n",
- " 'mouseleave',\n",
- " on_mouse_event_closure('figure_leave')\n",
- " );\n",
- "\n",
- " canvas_div.addEventListener('wheel', function (event) {\n",
- " if (event.deltaY < 0) {\n",
- " event.step = 1;\n",
- " } else {\n",
- " event.step = -1;\n",
- " }\n",
- " on_mouse_event_closure('scroll')(event);\n",
- " });\n",
- "\n",
- " canvas_div.appendChild(canvas);\n",
- " canvas_div.appendChild(rubberband_canvas);\n",
- "\n",
- " this.rubberband_context = rubberband_canvas.getContext('2d');\n",
- " this.rubberband_context.strokeStyle = '#000000';\n",
- "\n",
- " this._resize_canvas = function (width, height, forward) {\n",
- " if (forward) {\n",
- " canvas_div.style.width = width + 'px';\n",
- " canvas_div.style.height = height + 'px';\n",
- " }\n",
- " };\n",
- "\n",
- " // Disable right mouse context menu.\n",
- " this.rubberband_canvas.addEventListener('contextmenu', function (_e) {\n",
- " event.preventDefault();\n",
- " return false;\n",
- " });\n",
- "\n",
- " function set_focus() {\n",
- " canvas.focus();\n",
- " canvas_div.focus();\n",
- " }\n",
- "\n",
- " window.setTimeout(set_focus, 100);\n",
- "};\n",
- "\n",
- "mpl.figure.prototype._init_toolbar = function () {\n",
- " var fig = this;\n",
- "\n",
- " var toolbar = document.createElement('div');\n",
- " toolbar.classList = 'mpl-toolbar';\n",
- " this.root.appendChild(toolbar);\n",
- "\n",
- " function on_click_closure(name) {\n",
- " return function (_event) {\n",
- " return fig.toolbar_button_onclick(name);\n",
- " };\n",
- " }\n",
- "\n",
- " function on_mouseover_closure(tooltip) {\n",
- " return function (event) {\n",
- " if (!event.currentTarget.disabled) {\n",
- " return fig.toolbar_button_onmouseover(tooltip);\n",
- " }\n",
- " };\n",
- " }\n",
- "\n",
- " fig.buttons = {};\n",
- " var buttonGroup = document.createElement('div');\n",
- " buttonGroup.classList = 'mpl-button-group';\n",
- " for (var toolbar_ind in mpl.toolbar_items) {\n",
- " var name = mpl.toolbar_items[toolbar_ind][0];\n",
- " var tooltip = mpl.toolbar_items[toolbar_ind][1];\n",
- " var image = mpl.toolbar_items[toolbar_ind][2];\n",
- " var method_name = mpl.toolbar_items[toolbar_ind][3];\n",
- "\n",
- " if (!name) {\n",
- " /* Instead of a spacer, we start a new button group. */\n",
- " if (buttonGroup.hasChildNodes()) {\n",
- " toolbar.appendChild(buttonGroup);\n",
- " }\n",
- " buttonGroup = document.createElement('div');\n",
- " buttonGroup.classList = 'mpl-button-group';\n",
- " continue;\n",
- " }\n",
- "\n",
- " var button = (fig.buttons[name] = document.createElement('button'));\n",
- " button.classList = 'mpl-widget';\n",
- " button.setAttribute('role', 'button');\n",
- " button.setAttribute('aria-disabled', 'false');\n",
- " button.addEventListener('click', on_click_closure(method_name));\n",
- " button.addEventListener('mouseover', on_mouseover_closure(tooltip));\n",
- "\n",
- " var icon_img = document.createElement('img');\n",
- " icon_img.src = '_images/' + image + '.png';\n",
- " icon_img.srcset = '_images/' + image + '_large.png 2x';\n",
- " icon_img.alt = tooltip;\n",
- " button.appendChild(icon_img);\n",
- "\n",
- " buttonGroup.appendChild(button);\n",
- " }\n",
- "\n",
- " if (buttonGroup.hasChildNodes()) {\n",
- " toolbar.appendChild(buttonGroup);\n",
- " }\n",
- "\n",
- " var fmt_picker = document.createElement('select');\n",
- " fmt_picker.classList = 'mpl-widget';\n",
- " toolbar.appendChild(fmt_picker);\n",
- " this.format_dropdown = fmt_picker;\n",
- "\n",
- " for (var ind in mpl.extensions) {\n",
- " var fmt = mpl.extensions[ind];\n",
- " var option = document.createElement('option');\n",
- " option.selected = fmt === mpl.default_extension;\n",
- " option.innerHTML = fmt;\n",
- " fmt_picker.appendChild(option);\n",
- " }\n",
- "\n",
- " var status_bar = document.createElement('span');\n",
- " status_bar.classList = 'mpl-message';\n",
- " toolbar.appendChild(status_bar);\n",
- " this.message = status_bar;\n",
- "};\n",
- "\n",
- "mpl.figure.prototype.request_resize = function (x_pixels, y_pixels) {\n",
- " // Request matplotlib to resize the figure. Matplotlib will then trigger a resize in the client,\n",
- " // which will in turn request a refresh of the image.\n",
- " this.send_message('resize', { width: x_pixels, height: y_pixels });\n",
- "};\n",
- "\n",
- "mpl.figure.prototype.send_message = function (type, properties) {\n",
- " properties['type'] = type;\n",
- " properties['figure_id'] = this.id;\n",
- " this.ws.send(JSON.stringify(properties));\n",
- "};\n",
- "\n",
- "mpl.figure.prototype.send_draw_message = function () {\n",
- " if (!this.waiting) {\n",
- " this.waiting = true;\n",
- " this.ws.send(JSON.stringify({ type: 'draw', figure_id: this.id }));\n",
- " }\n",
- "};\n",
- "\n",
- "mpl.figure.prototype.handle_save = function (fig, _msg) {\n",
- " var format_dropdown = fig.format_dropdown;\n",
- " var format = format_dropdown.options[format_dropdown.selectedIndex].value;\n",
- " fig.ondownload(fig, format);\n",
- "};\n",
- "\n",
- "mpl.figure.prototype.handle_resize = function (fig, msg) {\n",
- " var size = msg['size'];\n",
- " if (size[0] !== fig.canvas.width || size[1] !== fig.canvas.height) {\n",
- " fig._resize_canvas(size[0], size[1], msg['forward']);\n",
- " fig.send_message('refresh', {});\n",
- " }\n",
- "};\n",
- "\n",
- "mpl.figure.prototype.handle_rubberband = function (fig, msg) {\n",
- " var x0 = msg['x0'] / fig.ratio;\n",
- " var y0 = (fig.canvas.height - msg['y0']) / fig.ratio;\n",
- " var x1 = msg['x1'] / fig.ratio;\n",
- " var y1 = (fig.canvas.height - msg['y1']) / fig.ratio;\n",
- " x0 = Math.floor(x0) + 0.5;\n",
- " y0 = Math.floor(y0) + 0.5;\n",
- " x1 = Math.floor(x1) + 0.5;\n",
- " y1 = Math.floor(y1) + 0.5;\n",
- " var min_x = Math.min(x0, x1);\n",
- " var min_y = Math.min(y0, y1);\n",
- " var width = Math.abs(x1 - x0);\n",
- " var height = Math.abs(y1 - y0);\n",
- "\n",
- " fig.rubberband_context.clearRect(\n",
- " 0,\n",
- " 0,\n",
- " fig.canvas.width / fig.ratio,\n",
- " fig.canvas.height / fig.ratio\n",
- " );\n",
- "\n",
- " fig.rubberband_context.strokeRect(min_x, min_y, width, height);\n",
- "};\n",
- "\n",
- "mpl.figure.prototype.handle_figure_label = function (fig, msg) {\n",
- " // Updates the figure title.\n",
- " fig.header.textContent = msg['label'];\n",
- "};\n",
- "\n",
- "mpl.figure.prototype.handle_cursor = function (fig, msg) {\n",
- " fig.rubberband_canvas.style.cursor = msg['cursor'];\n",
- "};\n",
- "\n",
- "mpl.figure.prototype.handle_message = function (fig, msg) {\n",
- " fig.message.textContent = msg['message'];\n",
- "};\n",
- "\n",
- "mpl.figure.prototype.handle_draw = function (fig, _msg) {\n",
- " // Request the server to send over a new figure.\n",
- " fig.send_draw_message();\n",
- "};\n",
- "\n",
- "mpl.figure.prototype.handle_image_mode = function (fig, msg) {\n",
- " fig.image_mode = msg['mode'];\n",
- "};\n",
- "\n",
- "mpl.figure.prototype.handle_history_buttons = function (fig, msg) {\n",
- " for (var key in msg) {\n",
- " if (!(key in fig.buttons)) {\n",
- " continue;\n",
- " }\n",
- " fig.buttons[key].disabled = !msg[key];\n",
- " fig.buttons[key].setAttribute('aria-disabled', !msg[key]);\n",
- " }\n",
- "};\n",
- "\n",
- "mpl.figure.prototype.handle_navigate_mode = function (fig, msg) {\n",
- " if (msg['mode'] === 'PAN') {\n",
- " fig.buttons['Pan'].classList.add('active');\n",
- " fig.buttons['Zoom'].classList.remove('active');\n",
- " } else if (msg['mode'] === 'ZOOM') {\n",
- " fig.buttons['Pan'].classList.remove('active');\n",
- " fig.buttons['Zoom'].classList.add('active');\n",
- " } else {\n",
- " fig.buttons['Pan'].classList.remove('active');\n",
- " fig.buttons['Zoom'].classList.remove('active');\n",
- " }\n",
- "};\n",
- "\n",
- "mpl.figure.prototype.updated_canvas_event = function () {\n",
- " // Called whenever the canvas gets updated.\n",
- " this.send_message('ack', {});\n",
- "};\n",
- "\n",
- "// A function to construct a web socket function for onmessage handling.\n",
- "// Called in the figure constructor.\n",
- "mpl.figure.prototype._make_on_message_function = function (fig) {\n",
- " return function socket_on_message(evt) {\n",
- " if (evt.data instanceof Blob) {\n",
- " var img = evt.data;\n",
- " if (img.type !== 'image/png') {\n",
- " /* FIXME: We get \"Resource interpreted as Image but\n",
- " * transferred with MIME type text/plain:\" errors on\n",
- " * Chrome. But how to set the MIME type? It doesn't seem\n",
- " * to be part of the websocket stream */\n",
- " img.type = 'image/png';\n",
- " }\n",
- "\n",
- " /* Free the memory for the previous frames */\n",
- " if (fig.imageObj.src) {\n",
- " (window.URL || window.webkitURL).revokeObjectURL(\n",
- " fig.imageObj.src\n",
- " );\n",
- " }\n",
- "\n",
- " fig.imageObj.src = (window.URL || window.webkitURL).createObjectURL(\n",
- " img\n",
- " );\n",
- " fig.updated_canvas_event();\n",
- " fig.waiting = false;\n",
- " return;\n",
- " } else if (\n",
- " typeof evt.data === 'string' &&\n",
- " evt.data.slice(0, 21) === 'data:image/png;base64'\n",
- " ) {\n",
- " fig.imageObj.src = evt.data;\n",
- " fig.updated_canvas_event();\n",
- " fig.waiting = false;\n",
- " return;\n",
- " }\n",
- "\n",
- " var msg = JSON.parse(evt.data);\n",
- " var msg_type = msg['type'];\n",
- "\n",
- " // Call the \"handle_{type}\" callback, which takes\n",
- " // the figure and JSON message as its only arguments.\n",
- " try {\n",
- " var callback = fig['handle_' + msg_type];\n",
- " } catch (e) {\n",
- " console.log(\n",
- " \"No handler for the '\" + msg_type + \"' message type: \",\n",
- " msg\n",
- " );\n",
- " return;\n",
- " }\n",
- "\n",
- " if (callback) {\n",
- " try {\n",
- " // console.log(\"Handling '\" + msg_type + \"' message: \", msg);\n",
- " callback(fig, msg);\n",
- " } catch (e) {\n",
- " console.log(\n",
- " \"Exception inside the 'handler_\" + msg_type + \"' callback:\",\n",
- " e,\n",
- " e.stack,\n",
- " msg\n",
- " );\n",
- " }\n",
- " }\n",
- " };\n",
- "};\n",
- "\n",
- "// from https://stackoverflow.com/questions/1114465/getting-mouse-location-in-canvas\n",
- "mpl.findpos = function (e) {\n",
- " //this section is from http://www.quirksmode.org/js/events_properties.html\n",
- " var targ;\n",
- " if (!e) {\n",
- " e = window.event;\n",
- " }\n",
- " if (e.target) {\n",
- " targ = e.target;\n",
- " } else if (e.srcElement) {\n",
- " targ = e.srcElement;\n",
- " }\n",
- " if (targ.nodeType === 3) {\n",
- " // defeat Safari bug\n",
- " targ = targ.parentNode;\n",
- " }\n",
- "\n",
- " // pageX,Y are the mouse positions relative to the document\n",
- " var boundingRect = targ.getBoundingClientRect();\n",
- " var x = e.pageX - (boundingRect.left + document.body.scrollLeft);\n",
- " var y = e.pageY - (boundingRect.top + document.body.scrollTop);\n",
- "\n",
- " return { x: x, y: y };\n",
- "};\n",
- "\n",
- "/*\n",
- " * return a copy of an object with only non-object keys\n",
- " * we need this to avoid circular references\n",
- " * https://stackoverflow.com/a/24161582/3208463\n",
- " */\n",
- "function simpleKeys(original) {\n",
- " return Object.keys(original).reduce(function (obj, key) {\n",
- " if (typeof original[key] !== 'object') {\n",
- " obj[key] = original[key];\n",
- " }\n",
- " return obj;\n",
- " }, {});\n",
- "}\n",
- "\n",
- "mpl.figure.prototype.mouse_event = function (event, name) {\n",
- " var canvas_pos = mpl.findpos(event);\n",
- "\n",
- " if (name === 'button_press') {\n",
- " this.canvas.focus();\n",
- " this.canvas_div.focus();\n",
- " }\n",
- "\n",
- " var x = canvas_pos.x * this.ratio;\n",
- " var y = canvas_pos.y * this.ratio;\n",
- "\n",
- " this.send_message(name, {\n",
- " x: x,\n",
- " y: y,\n",
- " button: event.button,\n",
- " step: event.step,\n",
- " guiEvent: simpleKeys(event),\n",
- " });\n",
- "\n",
- " /* This prevents the web browser from automatically changing to\n",
- " * the text insertion cursor when the button is pressed. We want\n",
- " * to control all of the cursor setting manually through the\n",
- " * 'cursor' event from matplotlib */\n",
- " event.preventDefault();\n",
- " return false;\n",
- "};\n",
- "\n",
- "mpl.figure.prototype._key_event_extra = function (_event, _name) {\n",
- " // Handle any extra behaviour associated with a key event\n",
- "};\n",
- "\n",
- "mpl.figure.prototype.key_event = function (event, name) {\n",
- " // Prevent repeat events\n",
- " if (name === 'key_press') {\n",
- " if (event.key === this._key) {\n",
- " return;\n",
- " } else {\n",
- " this._key = event.key;\n",
- " }\n",
- " }\n",
- " if (name === 'key_release') {\n",
- " this._key = null;\n",
- " }\n",
- "\n",
- " var value = '';\n",
- " if (event.ctrlKey && event.key !== 'Control') {\n",
- " value += 'ctrl+';\n",
- " }\n",
- " else if (event.altKey && event.key !== 'Alt') {\n",
- " value += 'alt+';\n",
- " }\n",
- " else if (event.shiftKey && event.key !== 'Shift') {\n",
- " value += 'shift+';\n",
- " }\n",
- "\n",
- " value += 'k' + event.key;\n",
- "\n",
- " this._key_event_extra(event, name);\n",
- "\n",
- " this.send_message(name, { key: value, guiEvent: simpleKeys(event) });\n",
- " return false;\n",
- "};\n",
- "\n",
- "mpl.figure.prototype.toolbar_button_onclick = function (name) {\n",
- " if (name === 'download') {\n",
- " this.handle_save(this, null);\n",
- " } else {\n",
- " this.send_message('toolbar_button', { name: name });\n",
- " }\n",
- "};\n",
- "\n",
- "mpl.figure.prototype.toolbar_button_onmouseover = function (tooltip) {\n",
- " this.message.textContent = tooltip;\n",
- "};\n",
- "\n",
- "///////////////// REMAINING CONTENT GENERATED BY embed_js.py /////////////////\n",
- "// prettier-ignore\n",
- "var _JSXTOOLS_RESIZE_OBSERVER=function(A){var t,i=new WeakMap,n=new WeakMap,a=new WeakMap,r=new WeakMap,o=new Set;function s(e){if(!(this instanceof s))throw new TypeError(\"Constructor requires 'new' operator\");i.set(this,e)}function h(){throw new TypeError(\"Function is not a constructor\")}function c(e,t,i,n){e=0 in arguments?Number(arguments[0]):0,t=1 in arguments?Number(arguments[1]):0,i=2 in arguments?Number(arguments[2]):0,n=3 in arguments?Number(arguments[3]):0,this.right=(this.x=this.left=e)+(this.width=i),this.bottom=(this.y=this.top=t)+(this.height=n),Object.freeze(this)}function d(){t=requestAnimationFrame(d);var s=new WeakMap,p=new Set;o.forEach((function(t){r.get(t).forEach((function(i){var r=t instanceof window.SVGElement,o=a.get(t),d=r?0:parseFloat(o.paddingTop),f=r?0:parseFloat(o.paddingRight),l=r?0:parseFloat(o.paddingBottom),u=r?0:parseFloat(o.paddingLeft),g=r?0:parseFloat(o.borderTopWidth),m=r?0:parseFloat(o.borderRightWidth),w=r?0:parseFloat(o.borderBottomWidth),b=u+f,F=d+l,v=(r?0:parseFloat(o.borderLeftWidth))+m,W=g+w,y=r?0:t.offsetHeight-W-t.clientHeight,E=r?0:t.offsetWidth-v-t.clientWidth,R=b+v,z=F+W,M=r?t.width:parseFloat(o.width)-R-E,O=r?t.height:parseFloat(o.height)-z-y;if(n.has(t)){var k=n.get(t);if(k[0]===M&&k[1]===O)return}n.set(t,[M,O]);var S=Object.create(h.prototype);S.target=t,S.contentRect=new c(u,d,M,O),s.has(i)||(s.set(i,[]),p.add(i)),s.get(i).push(S)}))})),p.forEach((function(e){i.get(e).call(e,s.get(e),e)}))}return s.prototype.observe=function(i){if(i instanceof window.Element){r.has(i)||(r.set(i,new Set),o.add(i),a.set(i,window.getComputedStyle(i)));var n=r.get(i);n.has(this)||n.add(this),cancelAnimationFrame(t),t=requestAnimationFrame(d)}},s.prototype.unobserve=function(i){if(i instanceof window.Element&&r.has(i)){var n=r.get(i);n.has(this)&&(n.delete(this),n.size||(r.delete(i),o.delete(i))),n.size||r.delete(i),o.size||cancelAnimationFrame(t)}},A.DOMRectReadOnly=c,A.ResizeObserver=s,A.ResizeObserverEntry=h,A}; // eslint-disable-line\n",
- "mpl.toolbar_items = [[\"Home\", \"Reset original view\", \"fa fa-home icon-home\", \"home\"], [\"Back\", \"Back to previous view\", \"fa fa-arrow-left icon-arrow-left\", \"back\"], [\"Forward\", \"Forward to next view\", \"fa fa-arrow-right icon-arrow-right\", \"forward\"], [\"\", \"\", \"\", \"\"], [\"Pan\", \"Left button pans, Right button zooms\\nx/y fixes axis, CTRL fixes aspect\", \"fa fa-arrows icon-move\", \"pan\"], [\"Zoom\", \"Zoom to rectangle\\nx/y fixes axis\", \"fa fa-square-o icon-check-empty\", \"zoom\"], [\"\", \"\", \"\", \"\"], [\"Download\", \"Download plot\", \"fa fa-floppy-o icon-save\", \"download\"]];\n",
- "\n",
- "mpl.extensions = [\"eps\", \"jpeg\", \"pgf\", \"pdf\", \"png\", \"ps\", \"raw\", \"svg\", \"tif\"];\n",
- "\n",
- "mpl.default_extension = \"png\";/* global mpl */\n",
- "\n",
- "var comm_websocket_adapter = function (comm) {\n",
- " // Create a \"websocket\"-like object which calls the given IPython comm\n",
- " // object with the appropriate methods. Currently this is a non binary\n",
- " // socket, so there is still some room for performance tuning.\n",
- " var ws = {};\n",
- "\n",
- " ws.binaryType = comm.kernel.ws.binaryType;\n",
- " ws.readyState = comm.kernel.ws.readyState;\n",
- " function updateReadyState(_event) {\n",
- " if (comm.kernel.ws) {\n",
- " ws.readyState = comm.kernel.ws.readyState;\n",
- " } else {\n",
- " ws.readyState = 3; // Closed state.\n",
- " }\n",
- " }\n",
- " comm.kernel.ws.addEventListener('open', updateReadyState);\n",
- " comm.kernel.ws.addEventListener('close', updateReadyState);\n",
- " comm.kernel.ws.addEventListener('error', updateReadyState);\n",
- "\n",
- " ws.close = function () {\n",
- " comm.close();\n",
- " };\n",
- " ws.send = function (m) {\n",
- " //console.log('sending', m);\n",
- " comm.send(m);\n",
- " };\n",
- " // Register the callback with on_msg.\n",
- " comm.on_msg(function (msg) {\n",
- " //console.log('receiving', msg['content']['data'], msg);\n",
- " var data = msg['content']['data'];\n",
- " if (data['blob'] !== undefined) {\n",
- " data = {\n",
- " data: new Blob(msg['buffers'], { type: data['blob'] }),\n",
- " };\n",
- " }\n",
- " // Pass the mpl event to the overridden (by mpl) onmessage function.\n",
- " ws.onmessage(data);\n",
- " });\n",
- " return ws;\n",
- "};\n",
- "\n",
- "mpl.mpl_figure_comm = function (comm, msg) {\n",
- " // This is the function which gets called when the mpl process\n",
- " // starts-up an IPython Comm through the \"matplotlib\" channel.\n",
- "\n",
- " var id = msg.content.data.id;\n",
- " // Get hold of the div created by the display call when the Comm\n",
- " // socket was opened in Python.\n",
- " var element = document.getElementById(id);\n",
- " var ws_proxy = comm_websocket_adapter(comm);\n",
- "\n",
- " function ondownload(figure, _format) {\n",
- " window.open(figure.canvas.toDataURL());\n",
- " }\n",
- "\n",
- " var fig = new mpl.figure(id, ws_proxy, ondownload, element);\n",
- "\n",
- " // Call onopen now - mpl needs it, as it is assuming we've passed it a real\n",
- " // web socket which is closed, not our websocket->open comm proxy.\n",
- " ws_proxy.onopen();\n",
- "\n",
- " fig.parent_element = element;\n",
- " fig.cell_info = mpl.find_output_cell(\"\");\n",
- " if (!fig.cell_info) {\n",
- " console.error('Failed to find cell for figure', id, fig);\n",
- " return;\n",
- " }\n",
- " fig.cell_info[0].output_area.element.on(\n",
- " 'cleared',\n",
- " { fig: fig },\n",
- " fig._remove_fig_handler\n",
- " );\n",
- "};\n",
- "\n",
- "mpl.figure.prototype.handle_close = function (fig, msg) {\n",
- " var width = fig.canvas.width / fig.ratio;\n",
- " fig.cell_info[0].output_area.element.off(\n",
- " 'cleared',\n",
- " fig._remove_fig_handler\n",
- " );\n",
- " fig.resizeObserverInstance.unobserve(fig.canvas_div);\n",
- "\n",
- " // Update the output cell to use the data from the current canvas.\n",
- " fig.push_to_output();\n",
- " var dataURL = fig.canvas.toDataURL();\n",
- " // Re-enable the keyboard manager in IPython - without this line, in FF,\n",
- " // the notebook keyboard shortcuts fail.\n",
- " IPython.keyboard_manager.enable();\n",
- " fig.parent_element.innerHTML =\n",
- " '
';\n",
- " fig.close_ws(fig, msg);\n",
- "};\n",
- "\n",
- "mpl.figure.prototype.close_ws = function (fig, msg) {\n",
- " fig.send_message('closing', msg);\n",
- " // fig.ws.close()\n",
- "};\n",
- "\n",
- "mpl.figure.prototype.push_to_output = function (_remove_interactive) {\n",
- " // Turn the data on the canvas into data in the output cell.\n",
- " var width = this.canvas.width / this.ratio;\n",
- " var dataURL = this.canvas.toDataURL();\n",
- " this.cell_info[1]['text/html'] =\n",
- " '
';\n",
- "};\n",
- "\n",
- "mpl.figure.prototype.updated_canvas_event = function () {\n",
- " // Tell IPython that the notebook contents must change.\n",
- " IPython.notebook.set_dirty(true);\n",
- " this.send_message('ack', {});\n",
- " var fig = this;\n",
- " // Wait a second, then push the new image to the DOM so\n",
- " // that it is saved nicely (might be nice to debounce this).\n",
- " setTimeout(function () {\n",
- " fig.push_to_output();\n",
- " }, 1000);\n",
- "};\n",
- "\n",
- "mpl.figure.prototype._init_toolbar = function () {\n",
- " var fig = this;\n",
- "\n",
- " var toolbar = document.createElement('div');\n",
- " toolbar.classList = 'btn-toolbar';\n",
- " this.root.appendChild(toolbar);\n",
- "\n",
- " function on_click_closure(name) {\n",
- " return function (_event) {\n",
- " return fig.toolbar_button_onclick(name);\n",
- " };\n",
- " }\n",
- "\n",
- " function on_mouseover_closure(tooltip) {\n",
- " return function (event) {\n",
- " if (!event.currentTarget.disabled) {\n",
- " return fig.toolbar_button_onmouseover(tooltip);\n",
- " }\n",
- " };\n",
- " }\n",
- "\n",
- " fig.buttons = {};\n",
- " var buttonGroup = document.createElement('div');\n",
- " buttonGroup.classList = 'btn-group';\n",
- " var button;\n",
- " for (var toolbar_ind in mpl.toolbar_items) {\n",
- " var name = mpl.toolbar_items[toolbar_ind][0];\n",
- " var tooltip = mpl.toolbar_items[toolbar_ind][1];\n",
- " var image = mpl.toolbar_items[toolbar_ind][2];\n",
- " var method_name = mpl.toolbar_items[toolbar_ind][3];\n",
- "\n",
- " if (!name) {\n",
- " /* Instead of a spacer, we start a new button group. */\n",
- " if (buttonGroup.hasChildNodes()) {\n",
- " toolbar.appendChild(buttonGroup);\n",
- " }\n",
- " buttonGroup = document.createElement('div');\n",
- " buttonGroup.classList = 'btn-group';\n",
- " continue;\n",
- " }\n",
- "\n",
- " button = fig.buttons[name] = document.createElement('button');\n",
- " button.classList = 'btn btn-default';\n",
- " button.href = '#';\n",
- " button.title = name;\n",
- " button.innerHTML = '';\n",
- " button.addEventListener('click', on_click_closure(method_name));\n",
- " button.addEventListener('mouseover', on_mouseover_closure(tooltip));\n",
- " buttonGroup.appendChild(button);\n",
- " }\n",
- "\n",
- " if (buttonGroup.hasChildNodes()) {\n",
- " toolbar.appendChild(buttonGroup);\n",
- " }\n",
- "\n",
- " // Add the status bar.\n",
- " var status_bar = document.createElement('span');\n",
- " status_bar.classList = 'mpl-message pull-right';\n",
- " toolbar.appendChild(status_bar);\n",
- " this.message = status_bar;\n",
- "\n",
- " // Add the close button to the window.\n",
- " var buttongrp = document.createElement('div');\n",
- " buttongrp.classList = 'btn-group inline pull-right';\n",
- " button = document.createElement('button');\n",
- " button.classList = 'btn btn-mini btn-primary';\n",
- " button.href = '#';\n",
- " button.title = 'Stop Interaction';\n",
- " button.innerHTML = '';\n",
- " button.addEventListener('click', function (_evt) {\n",
- " fig.handle_close(fig, {});\n",
- " });\n",
- " button.addEventListener(\n",
- " 'mouseover',\n",
- " on_mouseover_closure('Stop Interaction')\n",
- " );\n",
- " buttongrp.appendChild(button);\n",
- " var titlebar = this.root.querySelector('.ui-dialog-titlebar');\n",
- " titlebar.insertBefore(buttongrp, titlebar.firstChild);\n",
- "};\n",
- "\n",
- "mpl.figure.prototype._remove_fig_handler = function (event) {\n",
- " var fig = event.data.fig;\n",
- " if (event.target !== this) {\n",
- " // Ignore bubbled events from children.\n",
- " return;\n",
- " }\n",
- " fig.close_ws(fig, {});\n",
- "};\n",
- "\n",
- "mpl.figure.prototype._root_extra_style = function (el) {\n",
- " el.style.boxSizing = 'content-box'; // override notebook setting of border-box.\n",
- "};\n",
- "\n",
- "mpl.figure.prototype._canvas_extra_style = function (el) {\n",
- " // this is important to make the div 'focusable\n",
- " el.setAttribute('tabindex', 0);\n",
- " // reach out to IPython and tell the keyboard manager to turn it's self\n",
- " // off when our div gets focus\n",
- "\n",
- " // location in version 3\n",
- " if (IPython.notebook.keyboard_manager) {\n",
- " IPython.notebook.keyboard_manager.register_events(el);\n",
- " } else {\n",
- " // location in version 2\n",
- " IPython.keyboard_manager.register_events(el);\n",
- " }\n",
- "};\n",
- "\n",
- "mpl.figure.prototype._key_event_extra = function (event, _name) {\n",
- " // Check for shift+enter\n",
- " if (event.shiftKey && event.which === 13) {\n",
- " this.canvas_div.blur();\n",
- " // select the cell after this one\n",
- " var index = IPython.notebook.find_cell_index(this.cell_info[0]);\n",
- " IPython.notebook.select(index + 1);\n",
- " }\n",
- "};\n",
- "\n",
- "mpl.figure.prototype.handle_save = function (fig, _msg) {\n",
- " fig.ondownload(fig, null);\n",
- "};\n",
- "\n",
- "mpl.find_output_cell = function (html_output) {\n",
- " // Return the cell and output element which can be found *uniquely* in the notebook.\n",
- " // Note - this is a bit hacky, but it is done because the \"notebook_saving.Notebook\"\n",
- " // IPython event is triggered only after the cells have been serialised, which for\n",
- " // our purposes (turning an active figure into a static one), is too late.\n",
- " var cells = IPython.notebook.get_cells();\n",
- " var ncells = cells.length;\n",
- " for (var i = 0; i < ncells; i++) {\n",
- " var cell = cells[i];\n",
- " if (cell.cell_type === 'code') {\n",
- " for (var j = 0; j < cell.output_area.outputs.length; j++) {\n",
- " var data = cell.output_area.outputs[j];\n",
- " if (data.data) {\n",
- " // IPython >= 3 moved mimebundle to data attribute of output\n",
- " data = data.data;\n",
- " }\n",
- " if (data['text/html'] === html_output) {\n",
- " return [cell, data, j];\n",
- " }\n",
- " }\n",
- " }\n",
- " }\n",
- "};\n",
- "\n",
- "// Register the function which deals with the matplotlib target/channel.\n",
- "// The kernel may be null if the page has been refreshed.\n",
- "if (IPython.notebook.kernel !== null) {\n",
- " IPython.notebook.kernel.comm_manager.register_target(\n",
- " 'matplotlib',\n",
- " mpl.mpl_figure_comm\n",
- " );\n",
- "}\n"
- ],
- "text/plain": [
- ""
- ]
- },
- "metadata": {},
- "output_type": "display_data"
- },
- {
- "data": {
- "text/html": [
- "
"
- ],
- "text/plain": [
- ""
- ]
- },
- "metadata": {},
- "output_type": "display_data"
- },
- {
- "ename": "ValueError",
- "evalue": "Unrecognized character i in format string",
- "output_type": "error",
- "traceback": [
- "\u001b[1;31m---------------------------------------------------------------------------\u001b[0m",
- "\u001b[1;31mValueError\u001b[0m Traceback (most recent call last)",
- "\u001b[1;32m\u001b[0m in \u001b[0;36m\u001b[1;34m\u001b[0m\n\u001b[1;32m----> 1\u001b[1;33m \u001b[0mplt\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mplot\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mx\u001b[0m\u001b[1;33m,\u001b[0m\u001b[0my\u001b[0m\u001b[1;33m,\u001b[0m\u001b[1;34m'pinkp'\u001b[0m\u001b[1;33m,\u001b[0m\u001b[0mms\u001b[0m\u001b[1;33m=\u001b[0m\u001b[1;36m10\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m 2\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 3\u001b[0m \u001b[1;31m# The string 'bo' above indicates that the points will be blue(b) circles(o)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n",
- "\u001b[1;32m~\\AppData\\Roaming\\Python\\Python37\\site-packages\\matplotlib\\pyplot.py\u001b[0m in \u001b[0;36mplot\u001b[1;34m(scalex, scaley, data, *args, **kwargs)\u001b[0m\n\u001b[0;32m 2767\u001b[0m return gca().plot(\n\u001b[0;32m 2768\u001b[0m \u001b[1;33m*\u001b[0m\u001b[0margs\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mscalex\u001b[0m\u001b[1;33m=\u001b[0m\u001b[0mscalex\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mscaley\u001b[0m\u001b[1;33m=\u001b[0m\u001b[0mscaley\u001b[0m\u001b[1;33m,\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m-> 2769\u001b[1;33m **({\"data\": data} if data is not None else {}), **kwargs)\n\u001b[0m\u001b[0;32m 2770\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 2771\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n",
- "\u001b[1;32m~\\AppData\\Roaming\\Python\\Python37\\site-packages\\matplotlib\\axes\\_axes.py\u001b[0m in \u001b[0;36mplot\u001b[1;34m(self, scalex, scaley, data, *args, **kwargs)\u001b[0m\n\u001b[0;32m 1633\u001b[0m \"\"\"\n\u001b[0;32m 1634\u001b[0m \u001b[0mkwargs\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0mcbook\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mnormalize_kwargs\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mkwargs\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mmlines\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mLine2D\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m-> 1635\u001b[1;33m \u001b[0mlines\u001b[0m \u001b[1;33m=\u001b[0m \u001b[1;33m[\u001b[0m\u001b[1;33m*\u001b[0m\u001b[0mself\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0m_get_lines\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;33m*\u001b[0m\u001b[0margs\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mdata\u001b[0m\u001b[1;33m=\u001b[0m\u001b[0mdata\u001b[0m\u001b[1;33m,\u001b[0m \u001b[1;33m**\u001b[0m\u001b[0mkwargs\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m]\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m 1636\u001b[0m \u001b[1;32mfor\u001b[0m \u001b[0mline\u001b[0m \u001b[1;32min\u001b[0m \u001b[0mlines\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 1637\u001b[0m \u001b[0mself\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0madd_line\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mline\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n",
- "\u001b[1;32m~\\AppData\\Roaming\\Python\\Python37\\site-packages\\matplotlib\\axes\\_base.py\u001b[0m in \u001b[0;36m__call__\u001b[1;34m(self, data, *args, **kwargs)\u001b[0m\n\u001b[0;32m 310\u001b[0m \u001b[0mthis\u001b[0m \u001b[1;33m+=\u001b[0m \u001b[0margs\u001b[0m\u001b[1;33m[\u001b[0m\u001b[1;36m0\u001b[0m\u001b[1;33m]\u001b[0m\u001b[1;33m,\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 311\u001b[0m \u001b[0margs\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0margs\u001b[0m\u001b[1;33m[\u001b[0m\u001b[1;36m1\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m]\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m--> 312\u001b[1;33m \u001b[1;32myield\u001b[0m \u001b[1;32mfrom\u001b[0m \u001b[0mself\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0m_plot_args\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mthis\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mkwargs\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m 313\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 314\u001b[0m \u001b[1;32mdef\u001b[0m \u001b[0mget_next_color\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mself\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n",
- "\u001b[1;32m~\\AppData\\Roaming\\Python\\Python37\\site-packages\\matplotlib\\axes\\_base.py\u001b[0m in \u001b[0;36m_plot_args\u001b[1;34m(self, tup, kwargs, return_kwargs)\u001b[0m\n\u001b[0;32m 447\u001b[0m \u001b[1;31m# xy is tup with fmt stripped (could still be (y,) only)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 448\u001b[0m \u001b[1;33m*\u001b[0m\u001b[0mxy\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mfmt\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0mtup\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m--> 449\u001b[1;33m \u001b[0mlinestyle\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mmarker\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mcolor\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0m_process_plot_format\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mfmt\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m 450\u001b[0m \u001b[1;32melif\u001b[0m \u001b[0mlen\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mtup\u001b[0m\u001b[1;33m)\u001b[0m \u001b[1;33m==\u001b[0m \u001b[1;36m3\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 451\u001b[0m \u001b[1;32mraise\u001b[0m \u001b[0mValueError\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;34m'third arg must be a format string'\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n",
- "\u001b[1;32m~\\AppData\\Roaming\\Python\\Python37\\site-packages\\matplotlib\\axes\\_base.py\u001b[0m in \u001b[0;36m_process_plot_format\u001b[1;34m(fmt)\u001b[0m\n\u001b[0;32m 198\u001b[0m \u001b[1;32melse\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 199\u001b[0m raise ValueError(\n\u001b[1;32m--> 200\u001b[1;33m 'Unrecognized character %c in format string' % c)\n\u001b[0m\u001b[0;32m 201\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 202\u001b[0m \u001b[1;32mif\u001b[0m \u001b[0mlinestyle\u001b[0m \u001b[1;32mis\u001b[0m \u001b[1;32mNone\u001b[0m \u001b[1;32mand\u001b[0m \u001b[0mmarker\u001b[0m \u001b[1;32mis\u001b[0m \u001b[1;32mNone\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n",
- "\u001b[1;31mValueError\u001b[0m: Unrecognized character i in format string"
- ]
- }
- ],
+ "outputs": [],
"source": [
- "plt.plot(x,y,'pinkp',ms=10)\n",
+ "plt.plot(x,y,'bo')\n",
"\n",
"# The string 'bo' above indicates that the points will be blue(b) circles(o)"
]
@@ -1454,990 +435,11 @@
},
{
"cell_type": "code",
- "execution_count": 22,
+ "execution_count": null,
"metadata": {},
- "outputs": [
- {
- "data": {
- "application/javascript": [
- "/* Put everything inside the global mpl namespace */\n",
- "/* global mpl */\n",
- "window.mpl = {};\n",
- "\n",
- "mpl.get_websocket_type = function () {\n",
- " if (typeof WebSocket !== 'undefined') {\n",
- " return WebSocket;\n",
- " } else if (typeof MozWebSocket !== 'undefined') {\n",
- " return MozWebSocket;\n",
- " } else {\n",
- " alert(\n",
- " 'Your browser does not have WebSocket support. ' +\n",
- " 'Please try Chrome, Safari or Firefox ≥ 6. ' +\n",
- " 'Firefox 4 and 5 are also supported but you ' +\n",
- " 'have to enable WebSockets in about:config.'\n",
- " );\n",
- " }\n",
- "};\n",
- "\n",
- "mpl.figure = function (figure_id, websocket, ondownload, parent_element) {\n",
- " this.id = figure_id;\n",
- "\n",
- " this.ws = websocket;\n",
- "\n",
- " this.supports_binary = this.ws.binaryType !== undefined;\n",
- "\n",
- " if (!this.supports_binary) {\n",
- " var warnings = document.getElementById('mpl-warnings');\n",
- " if (warnings) {\n",
- " warnings.style.display = 'block';\n",
- " warnings.textContent =\n",
- " 'This browser does not support binary websocket messages. ' +\n",
- " 'Performance may be slow.';\n",
- " }\n",
- " }\n",
- "\n",
- " this.imageObj = new Image();\n",
- "\n",
- " this.context = undefined;\n",
- " this.message = undefined;\n",
- " this.canvas = undefined;\n",
- " this.rubberband_canvas = undefined;\n",
- " this.rubberband_context = undefined;\n",
- " this.format_dropdown = undefined;\n",
- "\n",
- " this.image_mode = 'full';\n",
- "\n",
- " this.root = document.createElement('div');\n",
- " this.root.setAttribute('style', 'display: inline-block');\n",
- " this._root_extra_style(this.root);\n",
- "\n",
- " parent_element.appendChild(this.root);\n",
- "\n",
- " this._init_header(this);\n",
- " this._init_canvas(this);\n",
- " this._init_toolbar(this);\n",
- "\n",
- " var fig = this;\n",
- "\n",
- " this.waiting = false;\n",
- "\n",
- " this.ws.onopen = function () {\n",
- " fig.send_message('supports_binary', { value: fig.supports_binary });\n",
- " fig.send_message('send_image_mode', {});\n",
- " if (fig.ratio !== 1) {\n",
- " fig.send_message('set_device_pixel_ratio', {\n",
- " device_pixel_ratio: fig.ratio,\n",
- " });\n",
- " }\n",
- " fig.send_message('refresh', {});\n",
- " };\n",
- "\n",
- " this.imageObj.onload = function () {\n",
- " if (fig.image_mode === 'full') {\n",
- " // Full images could contain transparency (where diff images\n",
- " // almost always do), so we need to clear the canvas so that\n",
- " // there is no ghosting.\n",
- " fig.context.clearRect(0, 0, fig.canvas.width, fig.canvas.height);\n",
- " }\n",
- " fig.context.drawImage(fig.imageObj, 0, 0);\n",
- " };\n",
- "\n",
- " this.imageObj.onunload = function () {\n",
- " fig.ws.close();\n",
- " };\n",
- "\n",
- " this.ws.onmessage = this._make_on_message_function(this);\n",
- "\n",
- " this.ondownload = ondownload;\n",
- "};\n",
- "\n",
- "mpl.figure.prototype._init_header = function () {\n",
- " var titlebar = document.createElement('div');\n",
- " titlebar.classList =\n",
- " 'ui-dialog-titlebar ui-widget-header ui-corner-all ui-helper-clearfix';\n",
- " var titletext = document.createElement('div');\n",
- " titletext.classList = 'ui-dialog-title';\n",
- " titletext.setAttribute(\n",
- " 'style',\n",
- " 'width: 100%; text-align: center; padding: 3px;'\n",
- " );\n",
- " titlebar.appendChild(titletext);\n",
- " this.root.appendChild(titlebar);\n",
- " this.header = titletext;\n",
- "};\n",
- "\n",
- "mpl.figure.prototype._canvas_extra_style = function (_canvas_div) {};\n",
- "\n",
- "mpl.figure.prototype._root_extra_style = function (_canvas_div) {};\n",
- "\n",
- "mpl.figure.prototype._init_canvas = function () {\n",
- " var fig = this;\n",
- "\n",
- " var canvas_div = (this.canvas_div = document.createElement('div'));\n",
- " canvas_div.setAttribute(\n",
- " 'style',\n",
- " 'border: 1px solid #ddd;' +\n",
- " 'box-sizing: content-box;' +\n",
- " 'clear: both;' +\n",
- " 'min-height: 1px;' +\n",
- " 'min-width: 1px;' +\n",
- " 'outline: 0;' +\n",
- " 'overflow: hidden;' +\n",
- " 'position: relative;' +\n",
- " 'resize: both;'\n",
- " );\n",
- "\n",
- " function on_keyboard_event_closure(name) {\n",
- " return function (event) {\n",
- " return fig.key_event(event, name);\n",
- " };\n",
- " }\n",
- "\n",
- " canvas_div.addEventListener(\n",
- " 'keydown',\n",
- " on_keyboard_event_closure('key_press')\n",
- " );\n",
- " canvas_div.addEventListener(\n",
- " 'keyup',\n",
- " on_keyboard_event_closure('key_release')\n",
- " );\n",
- "\n",
- " this._canvas_extra_style(canvas_div);\n",
- " this.root.appendChild(canvas_div);\n",
- "\n",
- " var canvas = (this.canvas = document.createElement('canvas'));\n",
- " canvas.classList.add('mpl-canvas');\n",
- " canvas.setAttribute('style', 'box-sizing: content-box;');\n",
- "\n",
- " this.context = canvas.getContext('2d');\n",
- "\n",
- " var backingStore =\n",
- " this.context.backingStorePixelRatio ||\n",
- " this.context.webkitBackingStorePixelRatio ||\n",
- " this.context.mozBackingStorePixelRatio ||\n",
- " this.context.msBackingStorePixelRatio ||\n",
- " this.context.oBackingStorePixelRatio ||\n",
- " this.context.backingStorePixelRatio ||\n",
- " 1;\n",
- "\n",
- " this.ratio = (window.devicePixelRatio || 1) / backingStore;\n",
- "\n",
- " var rubberband_canvas = (this.rubberband_canvas = document.createElement(\n",
- " 'canvas'\n",
- " ));\n",
- " rubberband_canvas.setAttribute(\n",
- " 'style',\n",
- " 'box-sizing: content-box; position: absolute; left: 0; top: 0; z-index: 1;'\n",
- " );\n",
- "\n",
- " // Apply a ponyfill if ResizeObserver is not implemented by browser.\n",
- " if (this.ResizeObserver === undefined) {\n",
- " if (window.ResizeObserver !== undefined) {\n",
- " this.ResizeObserver = window.ResizeObserver;\n",
- " } else {\n",
- " var obs = _JSXTOOLS_RESIZE_OBSERVER({});\n",
- " this.ResizeObserver = obs.ResizeObserver;\n",
- " }\n",
- " }\n",
- "\n",
- " this.resizeObserverInstance = new this.ResizeObserver(function (entries) {\n",
- " var nentries = entries.length;\n",
- " for (var i = 0; i < nentries; i++) {\n",
- " var entry = entries[i];\n",
- " var width, height;\n",
- " if (entry.contentBoxSize) {\n",
- " if (entry.contentBoxSize instanceof Array) {\n",
- " // Chrome 84 implements new version of spec.\n",
- " width = entry.contentBoxSize[0].inlineSize;\n",
- " height = entry.contentBoxSize[0].blockSize;\n",
- " } else {\n",
- " // Firefox implements old version of spec.\n",
- " width = entry.contentBoxSize.inlineSize;\n",
- " height = entry.contentBoxSize.blockSize;\n",
- " }\n",
- " } else {\n",
- " // Chrome <84 implements even older version of spec.\n",
- " width = entry.contentRect.width;\n",
- " height = entry.contentRect.height;\n",
- " }\n",
- "\n",
- " // Keep the size of the canvas and rubber band canvas in sync with\n",
- " // the canvas container.\n",
- " if (entry.devicePixelContentBoxSize) {\n",
- " // Chrome 84 implements new version of spec.\n",
- " canvas.setAttribute(\n",
- " 'width',\n",
- " entry.devicePixelContentBoxSize[0].inlineSize\n",
- " );\n",
- " canvas.setAttribute(\n",
- " 'height',\n",
- " entry.devicePixelContentBoxSize[0].blockSize\n",
- " );\n",
- " } else {\n",
- " canvas.setAttribute('width', width * fig.ratio);\n",
- " canvas.setAttribute('height', height * fig.ratio);\n",
- " }\n",
- " canvas.setAttribute(\n",
- " 'style',\n",
- " 'width: ' + width + 'px; height: ' + height + 'px;'\n",
- " );\n",
- "\n",
- " rubberband_canvas.setAttribute('width', width);\n",
- " rubberband_canvas.setAttribute('height', height);\n",
- "\n",
- " // And update the size in Python. We ignore the initial 0/0 size\n",
- " // that occurs as the element is placed into the DOM, which should\n",
- " // otherwise not happen due to the minimum size styling.\n",
- " if (fig.ws.readyState == 1 && width != 0 && height != 0) {\n",
- " fig.request_resize(width, height);\n",
- " }\n",
- " }\n",
- " });\n",
- " this.resizeObserverInstance.observe(canvas_div);\n",
- "\n",
- " function on_mouse_event_closure(name) {\n",
- " return function (event) {\n",
- " return fig.mouse_event(event, name);\n",
- " };\n",
- " }\n",
- "\n",
- " rubberband_canvas.addEventListener(\n",
- " 'mousedown',\n",
- " on_mouse_event_closure('button_press')\n",
- " );\n",
- " rubberband_canvas.addEventListener(\n",
- " 'mouseup',\n",
- " on_mouse_event_closure('button_release')\n",
- " );\n",
- " rubberband_canvas.addEventListener(\n",
- " 'dblclick',\n",
- " on_mouse_event_closure('dblclick')\n",
- " );\n",
- " // Throttle sequential mouse events to 1 every 20ms.\n",
- " rubberband_canvas.addEventListener(\n",
- " 'mousemove',\n",
- " on_mouse_event_closure('motion_notify')\n",
- " );\n",
- "\n",
- " rubberband_canvas.addEventListener(\n",
- " 'mouseenter',\n",
- " on_mouse_event_closure('figure_enter')\n",
- " );\n",
- " rubberband_canvas.addEventListener(\n",
- " 'mouseleave',\n",
- " on_mouse_event_closure('figure_leave')\n",
- " );\n",
- "\n",
- " canvas_div.addEventListener('wheel', function (event) {\n",
- " if (event.deltaY < 0) {\n",
- " event.step = 1;\n",
- " } else {\n",
- " event.step = -1;\n",
- " }\n",
- " on_mouse_event_closure('scroll')(event);\n",
- " });\n",
- "\n",
- " canvas_div.appendChild(canvas);\n",
- " canvas_div.appendChild(rubberband_canvas);\n",
- "\n",
- " this.rubberband_context = rubberband_canvas.getContext('2d');\n",
- " this.rubberband_context.strokeStyle = '#000000';\n",
- "\n",
- " this._resize_canvas = function (width, height, forward) {\n",
- " if (forward) {\n",
- " canvas_div.style.width = width + 'px';\n",
- " canvas_div.style.height = height + 'px';\n",
- " }\n",
- " };\n",
- "\n",
- " // Disable right mouse context menu.\n",
- " this.rubberband_canvas.addEventListener('contextmenu', function (_e) {\n",
- " event.preventDefault();\n",
- " return false;\n",
- " });\n",
- "\n",
- " function set_focus() {\n",
- " canvas.focus();\n",
- " canvas_div.focus();\n",
- " }\n",
- "\n",
- " window.setTimeout(set_focus, 100);\n",
- "};\n",
- "\n",
- "mpl.figure.prototype._init_toolbar = function () {\n",
- " var fig = this;\n",
- "\n",
- " var toolbar = document.createElement('div');\n",
- " toolbar.classList = 'mpl-toolbar';\n",
- " this.root.appendChild(toolbar);\n",
- "\n",
- " function on_click_closure(name) {\n",
- " return function (_event) {\n",
- " return fig.toolbar_button_onclick(name);\n",
- " };\n",
- " }\n",
- "\n",
- " function on_mouseover_closure(tooltip) {\n",
- " return function (event) {\n",
- " if (!event.currentTarget.disabled) {\n",
- " return fig.toolbar_button_onmouseover(tooltip);\n",
- " }\n",
- " };\n",
- " }\n",
- "\n",
- " fig.buttons = {};\n",
- " var buttonGroup = document.createElement('div');\n",
- " buttonGroup.classList = 'mpl-button-group';\n",
- " for (var toolbar_ind in mpl.toolbar_items) {\n",
- " var name = mpl.toolbar_items[toolbar_ind][0];\n",
- " var tooltip = mpl.toolbar_items[toolbar_ind][1];\n",
- " var image = mpl.toolbar_items[toolbar_ind][2];\n",
- " var method_name = mpl.toolbar_items[toolbar_ind][3];\n",
- "\n",
- " if (!name) {\n",
- " /* Instead of a spacer, we start a new button group. */\n",
- " if (buttonGroup.hasChildNodes()) {\n",
- " toolbar.appendChild(buttonGroup);\n",
- " }\n",
- " buttonGroup = document.createElement('div');\n",
- " buttonGroup.classList = 'mpl-button-group';\n",
- " continue;\n",
- " }\n",
- "\n",
- " var button = (fig.buttons[name] = document.createElement('button'));\n",
- " button.classList = 'mpl-widget';\n",
- " button.setAttribute('role', 'button');\n",
- " button.setAttribute('aria-disabled', 'false');\n",
- " button.addEventListener('click', on_click_closure(method_name));\n",
- " button.addEventListener('mouseover', on_mouseover_closure(tooltip));\n",
- "\n",
- " var icon_img = document.createElement('img');\n",
- " icon_img.src = '_images/' + image + '.png';\n",
- " icon_img.srcset = '_images/' + image + '_large.png 2x';\n",
- " icon_img.alt = tooltip;\n",
- " button.appendChild(icon_img);\n",
- "\n",
- " buttonGroup.appendChild(button);\n",
- " }\n",
- "\n",
- " if (buttonGroup.hasChildNodes()) {\n",
- " toolbar.appendChild(buttonGroup);\n",
- " }\n",
- "\n",
- " var fmt_picker = document.createElement('select');\n",
- " fmt_picker.classList = 'mpl-widget';\n",
- " toolbar.appendChild(fmt_picker);\n",
- " this.format_dropdown = fmt_picker;\n",
- "\n",
- " for (var ind in mpl.extensions) {\n",
- " var fmt = mpl.extensions[ind];\n",
- " var option = document.createElement('option');\n",
- " option.selected = fmt === mpl.default_extension;\n",
- " option.innerHTML = fmt;\n",
- " fmt_picker.appendChild(option);\n",
- " }\n",
- "\n",
- " var status_bar = document.createElement('span');\n",
- " status_bar.classList = 'mpl-message';\n",
- " toolbar.appendChild(status_bar);\n",
- " this.message = status_bar;\n",
- "};\n",
- "\n",
- "mpl.figure.prototype.request_resize = function (x_pixels, y_pixels) {\n",
- " // Request matplotlib to resize the figure. Matplotlib will then trigger a resize in the client,\n",
- " // which will in turn request a refresh of the image.\n",
- " this.send_message('resize', { width: x_pixels, height: y_pixels });\n",
- "};\n",
- "\n",
- "mpl.figure.prototype.send_message = function (type, properties) {\n",
- " properties['type'] = type;\n",
- " properties['figure_id'] = this.id;\n",
- " this.ws.send(JSON.stringify(properties));\n",
- "};\n",
- "\n",
- "mpl.figure.prototype.send_draw_message = function () {\n",
- " if (!this.waiting) {\n",
- " this.waiting = true;\n",
- " this.ws.send(JSON.stringify({ type: 'draw', figure_id: this.id }));\n",
- " }\n",
- "};\n",
- "\n",
- "mpl.figure.prototype.handle_save = function (fig, _msg) {\n",
- " var format_dropdown = fig.format_dropdown;\n",
- " var format = format_dropdown.options[format_dropdown.selectedIndex].value;\n",
- " fig.ondownload(fig, format);\n",
- "};\n",
- "\n",
- "mpl.figure.prototype.handle_resize = function (fig, msg) {\n",
- " var size = msg['size'];\n",
- " if (size[0] !== fig.canvas.width || size[1] !== fig.canvas.height) {\n",
- " fig._resize_canvas(size[0], size[1], msg['forward']);\n",
- " fig.send_message('refresh', {});\n",
- " }\n",
- "};\n",
- "\n",
- "mpl.figure.prototype.handle_rubberband = function (fig, msg) {\n",
- " var x0 = msg['x0'] / fig.ratio;\n",
- " var y0 = (fig.canvas.height - msg['y0']) / fig.ratio;\n",
- " var x1 = msg['x1'] / fig.ratio;\n",
- " var y1 = (fig.canvas.height - msg['y1']) / fig.ratio;\n",
- " x0 = Math.floor(x0) + 0.5;\n",
- " y0 = Math.floor(y0) + 0.5;\n",
- " x1 = Math.floor(x1) + 0.5;\n",
- " y1 = Math.floor(y1) + 0.5;\n",
- " var min_x = Math.min(x0, x1);\n",
- " var min_y = Math.min(y0, y1);\n",
- " var width = Math.abs(x1 - x0);\n",
- " var height = Math.abs(y1 - y0);\n",
- "\n",
- " fig.rubberband_context.clearRect(\n",
- " 0,\n",
- " 0,\n",
- " fig.canvas.width / fig.ratio,\n",
- " fig.canvas.height / fig.ratio\n",
- " );\n",
- "\n",
- " fig.rubberband_context.strokeRect(min_x, min_y, width, height);\n",
- "};\n",
- "\n",
- "mpl.figure.prototype.handle_figure_label = function (fig, msg) {\n",
- " // Updates the figure title.\n",
- " fig.header.textContent = msg['label'];\n",
- "};\n",
- "\n",
- "mpl.figure.prototype.handle_cursor = function (fig, msg) {\n",
- " fig.rubberband_canvas.style.cursor = msg['cursor'];\n",
- "};\n",
- "\n",
- "mpl.figure.prototype.handle_message = function (fig, msg) {\n",
- " fig.message.textContent = msg['message'];\n",
- "};\n",
- "\n",
- "mpl.figure.prototype.handle_draw = function (fig, _msg) {\n",
- " // Request the server to send over a new figure.\n",
- " fig.send_draw_message();\n",
- "};\n",
- "\n",
- "mpl.figure.prototype.handle_image_mode = function (fig, msg) {\n",
- " fig.image_mode = msg['mode'];\n",
- "};\n",
- "\n",
- "mpl.figure.prototype.handle_history_buttons = function (fig, msg) {\n",
- " for (var key in msg) {\n",
- " if (!(key in fig.buttons)) {\n",
- " continue;\n",
- " }\n",
- " fig.buttons[key].disabled = !msg[key];\n",
- " fig.buttons[key].setAttribute('aria-disabled', !msg[key]);\n",
- " }\n",
- "};\n",
- "\n",
- "mpl.figure.prototype.handle_navigate_mode = function (fig, msg) {\n",
- " if (msg['mode'] === 'PAN') {\n",
- " fig.buttons['Pan'].classList.add('active');\n",
- " fig.buttons['Zoom'].classList.remove('active');\n",
- " } else if (msg['mode'] === 'ZOOM') {\n",
- " fig.buttons['Pan'].classList.remove('active');\n",
- " fig.buttons['Zoom'].classList.add('active');\n",
- " } else {\n",
- " fig.buttons['Pan'].classList.remove('active');\n",
- " fig.buttons['Zoom'].classList.remove('active');\n",
- " }\n",
- "};\n",
- "\n",
- "mpl.figure.prototype.updated_canvas_event = function () {\n",
- " // Called whenever the canvas gets updated.\n",
- " this.send_message('ack', {});\n",
- "};\n",
- "\n",
- "// A function to construct a web socket function for onmessage handling.\n",
- "// Called in the figure constructor.\n",
- "mpl.figure.prototype._make_on_message_function = function (fig) {\n",
- " return function socket_on_message(evt) {\n",
- " if (evt.data instanceof Blob) {\n",
- " var img = evt.data;\n",
- " if (img.type !== 'image/png') {\n",
- " /* FIXME: We get \"Resource interpreted as Image but\n",
- " * transferred with MIME type text/plain:\" errors on\n",
- " * Chrome. But how to set the MIME type? It doesn't seem\n",
- " * to be part of the websocket stream */\n",
- " img.type = 'image/png';\n",
- " }\n",
- "\n",
- " /* Free the memory for the previous frames */\n",
- " if (fig.imageObj.src) {\n",
- " (window.URL || window.webkitURL).revokeObjectURL(\n",
- " fig.imageObj.src\n",
- " );\n",
- " }\n",
- "\n",
- " fig.imageObj.src = (window.URL || window.webkitURL).createObjectURL(\n",
- " img\n",
- " );\n",
- " fig.updated_canvas_event();\n",
- " fig.waiting = false;\n",
- " return;\n",
- " } else if (\n",
- " typeof evt.data === 'string' &&\n",
- " evt.data.slice(0, 21) === 'data:image/png;base64'\n",
- " ) {\n",
- " fig.imageObj.src = evt.data;\n",
- " fig.updated_canvas_event();\n",
- " fig.waiting = false;\n",
- " return;\n",
- " }\n",
- "\n",
- " var msg = JSON.parse(evt.data);\n",
- " var msg_type = msg['type'];\n",
- "\n",
- " // Call the \"handle_{type}\" callback, which takes\n",
- " // the figure and JSON message as its only arguments.\n",
- " try {\n",
- " var callback = fig['handle_' + msg_type];\n",
- " } catch (e) {\n",
- " console.log(\n",
- " \"No handler for the '\" + msg_type + \"' message type: \",\n",
- " msg\n",
- " );\n",
- " return;\n",
- " }\n",
- "\n",
- " if (callback) {\n",
- " try {\n",
- " // console.log(\"Handling '\" + msg_type + \"' message: \", msg);\n",
- " callback(fig, msg);\n",
- " } catch (e) {\n",
- " console.log(\n",
- " \"Exception inside the 'handler_\" + msg_type + \"' callback:\",\n",
- " e,\n",
- " e.stack,\n",
- " msg\n",
- " );\n",
- " }\n",
- " }\n",
- " };\n",
- "};\n",
- "\n",
- "// from https://stackoverflow.com/questions/1114465/getting-mouse-location-in-canvas\n",
- "mpl.findpos = function (e) {\n",
- " //this section is from http://www.quirksmode.org/js/events_properties.html\n",
- " var targ;\n",
- " if (!e) {\n",
- " e = window.event;\n",
- " }\n",
- " if (e.target) {\n",
- " targ = e.target;\n",
- " } else if (e.srcElement) {\n",
- " targ = e.srcElement;\n",
- " }\n",
- " if (targ.nodeType === 3) {\n",
- " // defeat Safari bug\n",
- " targ = targ.parentNode;\n",
- " }\n",
- "\n",
- " // pageX,Y are the mouse positions relative to the document\n",
- " var boundingRect = targ.getBoundingClientRect();\n",
- " var x = e.pageX - (boundingRect.left + document.body.scrollLeft);\n",
- " var y = e.pageY - (boundingRect.top + document.body.scrollTop);\n",
- "\n",
- " return { x: x, y: y };\n",
- "};\n",
- "\n",
- "/*\n",
- " * return a copy of an object with only non-object keys\n",
- " * we need this to avoid circular references\n",
- " * https://stackoverflow.com/a/24161582/3208463\n",
- " */\n",
- "function simpleKeys(original) {\n",
- " return Object.keys(original).reduce(function (obj, key) {\n",
- " if (typeof original[key] !== 'object') {\n",
- " obj[key] = original[key];\n",
- " }\n",
- " return obj;\n",
- " }, {});\n",
- "}\n",
- "\n",
- "mpl.figure.prototype.mouse_event = function (event, name) {\n",
- " var canvas_pos = mpl.findpos(event);\n",
- "\n",
- " if (name === 'button_press') {\n",
- " this.canvas.focus();\n",
- " this.canvas_div.focus();\n",
- " }\n",
- "\n",
- " var x = canvas_pos.x * this.ratio;\n",
- " var y = canvas_pos.y * this.ratio;\n",
- "\n",
- " this.send_message(name, {\n",
- " x: x,\n",
- " y: y,\n",
- " button: event.button,\n",
- " step: event.step,\n",
- " guiEvent: simpleKeys(event),\n",
- " });\n",
- "\n",
- " /* This prevents the web browser from automatically changing to\n",
- " * the text insertion cursor when the button is pressed. We want\n",
- " * to control all of the cursor setting manually through the\n",
- " * 'cursor' event from matplotlib */\n",
- " event.preventDefault();\n",
- " return false;\n",
- "};\n",
- "\n",
- "mpl.figure.prototype._key_event_extra = function (_event, _name) {\n",
- " // Handle any extra behaviour associated with a key event\n",
- "};\n",
- "\n",
- "mpl.figure.prototype.key_event = function (event, name) {\n",
- " // Prevent repeat events\n",
- " if (name === 'key_press') {\n",
- " if (event.key === this._key) {\n",
- " return;\n",
- " } else {\n",
- " this._key = event.key;\n",
- " }\n",
- " }\n",
- " if (name === 'key_release') {\n",
- " this._key = null;\n",
- " }\n",
- "\n",
- " var value = '';\n",
- " if (event.ctrlKey && event.key !== 'Control') {\n",
- " value += 'ctrl+';\n",
- " }\n",
- " else if (event.altKey && event.key !== 'Alt') {\n",
- " value += 'alt+';\n",
- " }\n",
- " else if (event.shiftKey && event.key !== 'Shift') {\n",
- " value += 'shift+';\n",
- " }\n",
- "\n",
- " value += 'k' + event.key;\n",
- "\n",
- " this._key_event_extra(event, name);\n",
- "\n",
- " this.send_message(name, { key: value, guiEvent: simpleKeys(event) });\n",
- " return false;\n",
- "};\n",
- "\n",
- "mpl.figure.prototype.toolbar_button_onclick = function (name) {\n",
- " if (name === 'download') {\n",
- " this.handle_save(this, null);\n",
- " } else {\n",
- " this.send_message('toolbar_button', { name: name });\n",
- " }\n",
- "};\n",
- "\n",
- "mpl.figure.prototype.toolbar_button_onmouseover = function (tooltip) {\n",
- " this.message.textContent = tooltip;\n",
- "};\n",
- "\n",
- "///////////////// REMAINING CONTENT GENERATED BY embed_js.py /////////////////\n",
- "// prettier-ignore\n",
- "var _JSXTOOLS_RESIZE_OBSERVER=function(A){var t,i=new WeakMap,n=new WeakMap,a=new WeakMap,r=new WeakMap,o=new Set;function s(e){if(!(this instanceof s))throw new TypeError(\"Constructor requires 'new' operator\");i.set(this,e)}function h(){throw new TypeError(\"Function is not a constructor\")}function c(e,t,i,n){e=0 in arguments?Number(arguments[0]):0,t=1 in arguments?Number(arguments[1]):0,i=2 in arguments?Number(arguments[2]):0,n=3 in arguments?Number(arguments[3]):0,this.right=(this.x=this.left=e)+(this.width=i),this.bottom=(this.y=this.top=t)+(this.height=n),Object.freeze(this)}function d(){t=requestAnimationFrame(d);var s=new WeakMap,p=new Set;o.forEach((function(t){r.get(t).forEach((function(i){var r=t instanceof window.SVGElement,o=a.get(t),d=r?0:parseFloat(o.paddingTop),f=r?0:parseFloat(o.paddingRight),l=r?0:parseFloat(o.paddingBottom),u=r?0:parseFloat(o.paddingLeft),g=r?0:parseFloat(o.borderTopWidth),m=r?0:parseFloat(o.borderRightWidth),w=r?0:parseFloat(o.borderBottomWidth),b=u+f,F=d+l,v=(r?0:parseFloat(o.borderLeftWidth))+m,W=g+w,y=r?0:t.offsetHeight-W-t.clientHeight,E=r?0:t.offsetWidth-v-t.clientWidth,R=b+v,z=F+W,M=r?t.width:parseFloat(o.width)-R-E,O=r?t.height:parseFloat(o.height)-z-y;if(n.has(t)){var k=n.get(t);if(k[0]===M&&k[1]===O)return}n.set(t,[M,O]);var S=Object.create(h.prototype);S.target=t,S.contentRect=new c(u,d,M,O),s.has(i)||(s.set(i,[]),p.add(i)),s.get(i).push(S)}))})),p.forEach((function(e){i.get(e).call(e,s.get(e),e)}))}return s.prototype.observe=function(i){if(i instanceof window.Element){r.has(i)||(r.set(i,new Set),o.add(i),a.set(i,window.getComputedStyle(i)));var n=r.get(i);n.has(this)||n.add(this),cancelAnimationFrame(t),t=requestAnimationFrame(d)}},s.prototype.unobserve=function(i){if(i instanceof window.Element&&r.has(i)){var n=r.get(i);n.has(this)&&(n.delete(this),n.size||(r.delete(i),o.delete(i))),n.size||r.delete(i),o.size||cancelAnimationFrame(t)}},A.DOMRectReadOnly=c,A.ResizeObserver=s,A.ResizeObserverEntry=h,A}; // eslint-disable-line\n",
- "mpl.toolbar_items = [[\"Home\", \"Reset original view\", \"fa fa-home icon-home\", \"home\"], [\"Back\", \"Back to previous view\", \"fa fa-arrow-left icon-arrow-left\", \"back\"], [\"Forward\", \"Forward to next view\", \"fa fa-arrow-right icon-arrow-right\", \"forward\"], [\"\", \"\", \"\", \"\"], [\"Pan\", \"Left button pans, Right button zooms\\nx/y fixes axis, CTRL fixes aspect\", \"fa fa-arrows icon-move\", \"pan\"], [\"Zoom\", \"Zoom to rectangle\\nx/y fixes axis\", \"fa fa-square-o icon-check-empty\", \"zoom\"], [\"\", \"\", \"\", \"\"], [\"Download\", \"Download plot\", \"fa fa-floppy-o icon-save\", \"download\"]];\n",
- "\n",
- "mpl.extensions = [\"eps\", \"jpeg\", \"pgf\", \"pdf\", \"png\", \"ps\", \"raw\", \"svg\", \"tif\"];\n",
- "\n",
- "mpl.default_extension = \"png\";/* global mpl */\n",
- "\n",
- "var comm_websocket_adapter = function (comm) {\n",
- " // Create a \"websocket\"-like object which calls the given IPython comm\n",
- " // object with the appropriate methods. Currently this is a non binary\n",
- " // socket, so there is still some room for performance tuning.\n",
- " var ws = {};\n",
- "\n",
- " ws.binaryType = comm.kernel.ws.binaryType;\n",
- " ws.readyState = comm.kernel.ws.readyState;\n",
- " function updateReadyState(_event) {\n",
- " if (comm.kernel.ws) {\n",
- " ws.readyState = comm.kernel.ws.readyState;\n",
- " } else {\n",
- " ws.readyState = 3; // Closed state.\n",
- " }\n",
- " }\n",
- " comm.kernel.ws.addEventListener('open', updateReadyState);\n",
- " comm.kernel.ws.addEventListener('close', updateReadyState);\n",
- " comm.kernel.ws.addEventListener('error', updateReadyState);\n",
- "\n",
- " ws.close = function () {\n",
- " comm.close();\n",
- " };\n",
- " ws.send = function (m) {\n",
- " //console.log('sending', m);\n",
- " comm.send(m);\n",
- " };\n",
- " // Register the callback with on_msg.\n",
- " comm.on_msg(function (msg) {\n",
- " //console.log('receiving', msg['content']['data'], msg);\n",
- " var data = msg['content']['data'];\n",
- " if (data['blob'] !== undefined) {\n",
- " data = {\n",
- " data: new Blob(msg['buffers'], { type: data['blob'] }),\n",
- " };\n",
- " }\n",
- " // Pass the mpl event to the overridden (by mpl) onmessage function.\n",
- " ws.onmessage(data);\n",
- " });\n",
- " return ws;\n",
- "};\n",
- "\n",
- "mpl.mpl_figure_comm = function (comm, msg) {\n",
- " // This is the function which gets called when the mpl process\n",
- " // starts-up an IPython Comm through the \"matplotlib\" channel.\n",
- "\n",
- " var id = msg.content.data.id;\n",
- " // Get hold of the div created by the display call when the Comm\n",
- " // socket was opened in Python.\n",
- " var element = document.getElementById(id);\n",
- " var ws_proxy = comm_websocket_adapter(comm);\n",
- "\n",
- " function ondownload(figure, _format) {\n",
- " window.open(figure.canvas.toDataURL());\n",
- " }\n",
- "\n",
- " var fig = new mpl.figure(id, ws_proxy, ondownload, element);\n",
- "\n",
- " // Call onopen now - mpl needs it, as it is assuming we've passed it a real\n",
- " // web socket which is closed, not our websocket->open comm proxy.\n",
- " ws_proxy.onopen();\n",
- "\n",
- " fig.parent_element = element;\n",
- " fig.cell_info = mpl.find_output_cell(\"\");\n",
- " if (!fig.cell_info) {\n",
- " console.error('Failed to find cell for figure', id, fig);\n",
- " return;\n",
- " }\n",
- " fig.cell_info[0].output_area.element.on(\n",
- " 'cleared',\n",
- " { fig: fig },\n",
- " fig._remove_fig_handler\n",
- " );\n",
- "};\n",
- "\n",
- "mpl.figure.prototype.handle_close = function (fig, msg) {\n",
- " var width = fig.canvas.width / fig.ratio;\n",
- " fig.cell_info[0].output_area.element.off(\n",
- " 'cleared',\n",
- " fig._remove_fig_handler\n",
- " );\n",
- " fig.resizeObserverInstance.unobserve(fig.canvas_div);\n",
- "\n",
- " // Update the output cell to use the data from the current canvas.\n",
- " fig.push_to_output();\n",
- " var dataURL = fig.canvas.toDataURL();\n",
- " // Re-enable the keyboard manager in IPython - without this line, in FF,\n",
- " // the notebook keyboard shortcuts fail.\n",
- " IPython.keyboard_manager.enable();\n",
- " fig.parent_element.innerHTML =\n",
- " '
';\n",
- " fig.close_ws(fig, msg);\n",
- "};\n",
- "\n",
- "mpl.figure.prototype.close_ws = function (fig, msg) {\n",
- " fig.send_message('closing', msg);\n",
- " // fig.ws.close()\n",
- "};\n",
- "\n",
- "mpl.figure.prototype.push_to_output = function (_remove_interactive) {\n",
- " // Turn the data on the canvas into data in the output cell.\n",
- " var width = this.canvas.width / this.ratio;\n",
- " var dataURL = this.canvas.toDataURL();\n",
- " this.cell_info[1]['text/html'] =\n",
- " '
';\n",
- "};\n",
- "\n",
- "mpl.figure.prototype.updated_canvas_event = function () {\n",
- " // Tell IPython that the notebook contents must change.\n",
- " IPython.notebook.set_dirty(true);\n",
- " this.send_message('ack', {});\n",
- " var fig = this;\n",
- " // Wait a second, then push the new image to the DOM so\n",
- " // that it is saved nicely (might be nice to debounce this).\n",
- " setTimeout(function () {\n",
- " fig.push_to_output();\n",
- " }, 1000);\n",
- "};\n",
- "\n",
- "mpl.figure.prototype._init_toolbar = function () {\n",
- " var fig = this;\n",
- "\n",
- " var toolbar = document.createElement('div');\n",
- " toolbar.classList = 'btn-toolbar';\n",
- " this.root.appendChild(toolbar);\n",
- "\n",
- " function on_click_closure(name) {\n",
- " return function (_event) {\n",
- " return fig.toolbar_button_onclick(name);\n",
- " };\n",
- " }\n",
- "\n",
- " function on_mouseover_closure(tooltip) {\n",
- " return function (event) {\n",
- " if (!event.currentTarget.disabled) {\n",
- " return fig.toolbar_button_onmouseover(tooltip);\n",
- " }\n",
- " };\n",
- " }\n",
- "\n",
- " fig.buttons = {};\n",
- " var buttonGroup = document.createElement('div');\n",
- " buttonGroup.classList = 'btn-group';\n",
- " var button;\n",
- " for (var toolbar_ind in mpl.toolbar_items) {\n",
- " var name = mpl.toolbar_items[toolbar_ind][0];\n",
- " var tooltip = mpl.toolbar_items[toolbar_ind][1];\n",
- " var image = mpl.toolbar_items[toolbar_ind][2];\n",
- " var method_name = mpl.toolbar_items[toolbar_ind][3];\n",
- "\n",
- " if (!name) {\n",
- " /* Instead of a spacer, we start a new button group. */\n",
- " if (buttonGroup.hasChildNodes()) {\n",
- " toolbar.appendChild(buttonGroup);\n",
- " }\n",
- " buttonGroup = document.createElement('div');\n",
- " buttonGroup.classList = 'btn-group';\n",
- " continue;\n",
- " }\n",
- "\n",
- " button = fig.buttons[name] = document.createElement('button');\n",
- " button.classList = 'btn btn-default';\n",
- " button.href = '#';\n",
- " button.title = name;\n",
- " button.innerHTML = '';\n",
- " button.addEventListener('click', on_click_closure(method_name));\n",
- " button.addEventListener('mouseover', on_mouseover_closure(tooltip));\n",
- " buttonGroup.appendChild(button);\n",
- " }\n",
- "\n",
- " if (buttonGroup.hasChildNodes()) {\n",
- " toolbar.appendChild(buttonGroup);\n",
- " }\n",
- "\n",
- " // Add the status bar.\n",
- " var status_bar = document.createElement('span');\n",
- " status_bar.classList = 'mpl-message pull-right';\n",
- " toolbar.appendChild(status_bar);\n",
- " this.message = status_bar;\n",
- "\n",
- " // Add the close button to the window.\n",
- " var buttongrp = document.createElement('div');\n",
- " buttongrp.classList = 'btn-group inline pull-right';\n",
- " button = document.createElement('button');\n",
- " button.classList = 'btn btn-mini btn-primary';\n",
- " button.href = '#';\n",
- " button.title = 'Stop Interaction';\n",
- " button.innerHTML = '';\n",
- " button.addEventListener('click', function (_evt) {\n",
- " fig.handle_close(fig, {});\n",
- " });\n",
- " button.addEventListener(\n",
- " 'mouseover',\n",
- " on_mouseover_closure('Stop Interaction')\n",
- " );\n",
- " buttongrp.appendChild(button);\n",
- " var titlebar = this.root.querySelector('.ui-dialog-titlebar');\n",
- " titlebar.insertBefore(buttongrp, titlebar.firstChild);\n",
- "};\n",
- "\n",
- "mpl.figure.prototype._remove_fig_handler = function (event) {\n",
- " var fig = event.data.fig;\n",
- " if (event.target !== this) {\n",
- " // Ignore bubbled events from children.\n",
- " return;\n",
- " }\n",
- " fig.close_ws(fig, {});\n",
- "};\n",
- "\n",
- "mpl.figure.prototype._root_extra_style = function (el) {\n",
- " el.style.boxSizing = 'content-box'; // override notebook setting of border-box.\n",
- "};\n",
- "\n",
- "mpl.figure.prototype._canvas_extra_style = function (el) {\n",
- " // this is important to make the div 'focusable\n",
- " el.setAttribute('tabindex', 0);\n",
- " // reach out to IPython and tell the keyboard manager to turn it's self\n",
- " // off when our div gets focus\n",
- "\n",
- " // location in version 3\n",
- " if (IPython.notebook.keyboard_manager) {\n",
- " IPython.notebook.keyboard_manager.register_events(el);\n",
- " } else {\n",
- " // location in version 2\n",
- " IPython.keyboard_manager.register_events(el);\n",
- " }\n",
- "};\n",
- "\n",
- "mpl.figure.prototype._key_event_extra = function (event, _name) {\n",
- " // Check for shift+enter\n",
- " if (event.shiftKey && event.which === 13) {\n",
- " this.canvas_div.blur();\n",
- " // select the cell after this one\n",
- " var index = IPython.notebook.find_cell_index(this.cell_info[0]);\n",
- " IPython.notebook.select(index + 1);\n",
- " }\n",
- "};\n",
- "\n",
- "mpl.figure.prototype.handle_save = function (fig, _msg) {\n",
- " fig.ondownload(fig, null);\n",
- "};\n",
- "\n",
- "mpl.find_output_cell = function (html_output) {\n",
- " // Return the cell and output element which can be found *uniquely* in the notebook.\n",
- " // Note - this is a bit hacky, but it is done because the \"notebook_saving.Notebook\"\n",
- " // IPython event is triggered only after the cells have been serialised, which for\n",
- " // our purposes (turning an active figure into a static one), is too late.\n",
- " var cells = IPython.notebook.get_cells();\n",
- " var ncells = cells.length;\n",
- " for (var i = 0; i < ncells; i++) {\n",
- " var cell = cells[i];\n",
- " if (cell.cell_type === 'code') {\n",
- " for (var j = 0; j < cell.output_area.outputs.length; j++) {\n",
- " var data = cell.output_area.outputs[j];\n",
- " if (data.data) {\n",
- " // IPython >= 3 moved mimebundle to data attribute of output\n",
- " data = data.data;\n",
- " }\n",
- " if (data['text/html'] === html_output) {\n",
- " return [cell, data, j];\n",
- " }\n",
- " }\n",
- " }\n",
- " }\n",
- "};\n",
- "\n",
- "// Register the function which deals with the matplotlib target/channel.\n",
- "// The kernel may be null if the page has been refreshed.\n",
- "if (IPython.notebook.kernel !== null) {\n",
- " IPython.notebook.kernel.comm_manager.register_target(\n",
- " 'matplotlib',\n",
- " mpl.mpl_figure_comm\n",
- " );\n",
- "}\n"
- ],
- "text/plain": [
- ""
- ]
- },
- "metadata": {},
- "output_type": "display_data"
- },
- {
- "data": {
- "text/html": [
- "
"
- ],
- "text/plain": [
- ""
- ]
- },
- "metadata": {},
- "output_type": "display_data"
- }
- ],
+ "outputs": [],
"source": [
- "plt.plot(x,y,color='pink',marker='o',ms=6,linestyle='None')\n",
- "plt.show()"
+ "plt.plot(x,y,color='blue',marker='o',ms=6,linestyle='None')"
]
},
{
@@ -2449,1005 +451,9 @@
},
{
"cell_type": "code",
- "execution_count": 24,
+ "execution_count": null,
"metadata": {},
- "outputs": [
- {
- "name": "stderr",
- "output_type": "stream",
- "text": [
- "C:\\Users\\Shengqi Yang\\anaconda3\\lib\\site-packages\\ipykernel_launcher.py:1: RuntimeWarning: divide by zero encountered in log10\n",
- " \"\"\"Entry point for launching an IPython kernel.\n"
- ]
- },
- {
- "data": {
- "application/javascript": [
- "/* Put everything inside the global mpl namespace */\n",
- "/* global mpl */\n",
- "window.mpl = {};\n",
- "\n",
- "mpl.get_websocket_type = function () {\n",
- " if (typeof WebSocket !== 'undefined') {\n",
- " return WebSocket;\n",
- " } else if (typeof MozWebSocket !== 'undefined') {\n",
- " return MozWebSocket;\n",
- " } else {\n",
- " alert(\n",
- " 'Your browser does not have WebSocket support. ' +\n",
- " 'Please try Chrome, Safari or Firefox ≥ 6. ' +\n",
- " 'Firefox 4 and 5 are also supported but you ' +\n",
- " 'have to enable WebSockets in about:config.'\n",
- " );\n",
- " }\n",
- "};\n",
- "\n",
- "mpl.figure = function (figure_id, websocket, ondownload, parent_element) {\n",
- " this.id = figure_id;\n",
- "\n",
- " this.ws = websocket;\n",
- "\n",
- " this.supports_binary = this.ws.binaryType !== undefined;\n",
- "\n",
- " if (!this.supports_binary) {\n",
- " var warnings = document.getElementById('mpl-warnings');\n",
- " if (warnings) {\n",
- " warnings.style.display = 'block';\n",
- " warnings.textContent =\n",
- " 'This browser does not support binary websocket messages. ' +\n",
- " 'Performance may be slow.';\n",
- " }\n",
- " }\n",
- "\n",
- " this.imageObj = new Image();\n",
- "\n",
- " this.context = undefined;\n",
- " this.message = undefined;\n",
- " this.canvas = undefined;\n",
- " this.rubberband_canvas = undefined;\n",
- " this.rubberband_context = undefined;\n",
- " this.format_dropdown = undefined;\n",
- "\n",
- " this.image_mode = 'full';\n",
- "\n",
- " this.root = document.createElement('div');\n",
- " this.root.setAttribute('style', 'display: inline-block');\n",
- " this._root_extra_style(this.root);\n",
- "\n",
- " parent_element.appendChild(this.root);\n",
- "\n",
- " this._init_header(this);\n",
- " this._init_canvas(this);\n",
- " this._init_toolbar(this);\n",
- "\n",
- " var fig = this;\n",
- "\n",
- " this.waiting = false;\n",
- "\n",
- " this.ws.onopen = function () {\n",
- " fig.send_message('supports_binary', { value: fig.supports_binary });\n",
- " fig.send_message('send_image_mode', {});\n",
- " if (fig.ratio !== 1) {\n",
- " fig.send_message('set_device_pixel_ratio', {\n",
- " device_pixel_ratio: fig.ratio,\n",
- " });\n",
- " }\n",
- " fig.send_message('refresh', {});\n",
- " };\n",
- "\n",
- " this.imageObj.onload = function () {\n",
- " if (fig.image_mode === 'full') {\n",
- " // Full images could contain transparency (where diff images\n",
- " // almost always do), so we need to clear the canvas so that\n",
- " // there is no ghosting.\n",
- " fig.context.clearRect(0, 0, fig.canvas.width, fig.canvas.height);\n",
- " }\n",
- " fig.context.drawImage(fig.imageObj, 0, 0);\n",
- " };\n",
- "\n",
- " this.imageObj.onunload = function () {\n",
- " fig.ws.close();\n",
- " };\n",
- "\n",
- " this.ws.onmessage = this._make_on_message_function(this);\n",
- "\n",
- " this.ondownload = ondownload;\n",
- "};\n",
- "\n",
- "mpl.figure.prototype._init_header = function () {\n",
- " var titlebar = document.createElement('div');\n",
- " titlebar.classList =\n",
- " 'ui-dialog-titlebar ui-widget-header ui-corner-all ui-helper-clearfix';\n",
- " var titletext = document.createElement('div');\n",
- " titletext.classList = 'ui-dialog-title';\n",
- " titletext.setAttribute(\n",
- " 'style',\n",
- " 'width: 100%; text-align: center; padding: 3px;'\n",
- " );\n",
- " titlebar.appendChild(titletext);\n",
- " this.root.appendChild(titlebar);\n",
- " this.header = titletext;\n",
- "};\n",
- "\n",
- "mpl.figure.prototype._canvas_extra_style = function (_canvas_div) {};\n",
- "\n",
- "mpl.figure.prototype._root_extra_style = function (_canvas_div) {};\n",
- "\n",
- "mpl.figure.prototype._init_canvas = function () {\n",
- " var fig = this;\n",
- "\n",
- " var canvas_div = (this.canvas_div = document.createElement('div'));\n",
- " canvas_div.setAttribute(\n",
- " 'style',\n",
- " 'border: 1px solid #ddd;' +\n",
- " 'box-sizing: content-box;' +\n",
- " 'clear: both;' +\n",
- " 'min-height: 1px;' +\n",
- " 'min-width: 1px;' +\n",
- " 'outline: 0;' +\n",
- " 'overflow: hidden;' +\n",
- " 'position: relative;' +\n",
- " 'resize: both;'\n",
- " );\n",
- "\n",
- " function on_keyboard_event_closure(name) {\n",
- " return function (event) {\n",
- " return fig.key_event(event, name);\n",
- " };\n",
- " }\n",
- "\n",
- " canvas_div.addEventListener(\n",
- " 'keydown',\n",
- " on_keyboard_event_closure('key_press')\n",
- " );\n",
- " canvas_div.addEventListener(\n",
- " 'keyup',\n",
- " on_keyboard_event_closure('key_release')\n",
- " );\n",
- "\n",
- " this._canvas_extra_style(canvas_div);\n",
- " this.root.appendChild(canvas_div);\n",
- "\n",
- " var canvas = (this.canvas = document.createElement('canvas'));\n",
- " canvas.classList.add('mpl-canvas');\n",
- " canvas.setAttribute('style', 'box-sizing: content-box;');\n",
- "\n",
- " this.context = canvas.getContext('2d');\n",
- "\n",
- " var backingStore =\n",
- " this.context.backingStorePixelRatio ||\n",
- " this.context.webkitBackingStorePixelRatio ||\n",
- " this.context.mozBackingStorePixelRatio ||\n",
- " this.context.msBackingStorePixelRatio ||\n",
- " this.context.oBackingStorePixelRatio ||\n",
- " this.context.backingStorePixelRatio ||\n",
- " 1;\n",
- "\n",
- " this.ratio = (window.devicePixelRatio || 1) / backingStore;\n",
- "\n",
- " var rubberband_canvas = (this.rubberband_canvas = document.createElement(\n",
- " 'canvas'\n",
- " ));\n",
- " rubberband_canvas.setAttribute(\n",
- " 'style',\n",
- " 'box-sizing: content-box; position: absolute; left: 0; top: 0; z-index: 1;'\n",
- " );\n",
- "\n",
- " // Apply a ponyfill if ResizeObserver is not implemented by browser.\n",
- " if (this.ResizeObserver === undefined) {\n",
- " if (window.ResizeObserver !== undefined) {\n",
- " this.ResizeObserver = window.ResizeObserver;\n",
- " } else {\n",
- " var obs = _JSXTOOLS_RESIZE_OBSERVER({});\n",
- " this.ResizeObserver = obs.ResizeObserver;\n",
- " }\n",
- " }\n",
- "\n",
- " this.resizeObserverInstance = new this.ResizeObserver(function (entries) {\n",
- " var nentries = entries.length;\n",
- " for (var i = 0; i < nentries; i++) {\n",
- " var entry = entries[i];\n",
- " var width, height;\n",
- " if (entry.contentBoxSize) {\n",
- " if (entry.contentBoxSize instanceof Array) {\n",
- " // Chrome 84 implements new version of spec.\n",
- " width = entry.contentBoxSize[0].inlineSize;\n",
- " height = entry.contentBoxSize[0].blockSize;\n",
- " } else {\n",
- " // Firefox implements old version of spec.\n",
- " width = entry.contentBoxSize.inlineSize;\n",
- " height = entry.contentBoxSize.blockSize;\n",
- " }\n",
- " } else {\n",
- " // Chrome <84 implements even older version of spec.\n",
- " width = entry.contentRect.width;\n",
- " height = entry.contentRect.height;\n",
- " }\n",
- "\n",
- " // Keep the size of the canvas and rubber band canvas in sync with\n",
- " // the canvas container.\n",
- " if (entry.devicePixelContentBoxSize) {\n",
- " // Chrome 84 implements new version of spec.\n",
- " canvas.setAttribute(\n",
- " 'width',\n",
- " entry.devicePixelContentBoxSize[0].inlineSize\n",
- " );\n",
- " canvas.setAttribute(\n",
- " 'height',\n",
- " entry.devicePixelContentBoxSize[0].blockSize\n",
- " );\n",
- " } else {\n",
- " canvas.setAttribute('width', width * fig.ratio);\n",
- " canvas.setAttribute('height', height * fig.ratio);\n",
- " }\n",
- " canvas.setAttribute(\n",
- " 'style',\n",
- " 'width: ' + width + 'px; height: ' + height + 'px;'\n",
- " );\n",
- "\n",
- " rubberband_canvas.setAttribute('width', width);\n",
- " rubberband_canvas.setAttribute('height', height);\n",
- "\n",
- " // And update the size in Python. We ignore the initial 0/0 size\n",
- " // that occurs as the element is placed into the DOM, which should\n",
- " // otherwise not happen due to the minimum size styling.\n",
- " if (fig.ws.readyState == 1 && width != 0 && height != 0) {\n",
- " fig.request_resize(width, height);\n",
- " }\n",
- " }\n",
- " });\n",
- " this.resizeObserverInstance.observe(canvas_div);\n",
- "\n",
- " function on_mouse_event_closure(name) {\n",
- " return function (event) {\n",
- " return fig.mouse_event(event, name);\n",
- " };\n",
- " }\n",
- "\n",
- " rubberband_canvas.addEventListener(\n",
- " 'mousedown',\n",
- " on_mouse_event_closure('button_press')\n",
- " );\n",
- " rubberband_canvas.addEventListener(\n",
- " 'mouseup',\n",
- " on_mouse_event_closure('button_release')\n",
- " );\n",
- " rubberband_canvas.addEventListener(\n",
- " 'dblclick',\n",
- " on_mouse_event_closure('dblclick')\n",
- " );\n",
- " // Throttle sequential mouse events to 1 every 20ms.\n",
- " rubberband_canvas.addEventListener(\n",
- " 'mousemove',\n",
- " on_mouse_event_closure('motion_notify')\n",
- " );\n",
- "\n",
- " rubberband_canvas.addEventListener(\n",
- " 'mouseenter',\n",
- " on_mouse_event_closure('figure_enter')\n",
- " );\n",
- " rubberband_canvas.addEventListener(\n",
- " 'mouseleave',\n",
- " on_mouse_event_closure('figure_leave')\n",
- " );\n",
- "\n",
- " canvas_div.addEventListener('wheel', function (event) {\n",
- " if (event.deltaY < 0) {\n",
- " event.step = 1;\n",
- " } else {\n",
- " event.step = -1;\n",
- " }\n",
- " on_mouse_event_closure('scroll')(event);\n",
- " });\n",
- "\n",
- " canvas_div.appendChild(canvas);\n",
- " canvas_div.appendChild(rubberband_canvas);\n",
- "\n",
- " this.rubberband_context = rubberband_canvas.getContext('2d');\n",
- " this.rubberband_context.strokeStyle = '#000000';\n",
- "\n",
- " this._resize_canvas = function (width, height, forward) {\n",
- " if (forward) {\n",
- " canvas_div.style.width = width + 'px';\n",
- " canvas_div.style.height = height + 'px';\n",
- " }\n",
- " };\n",
- "\n",
- " // Disable right mouse context menu.\n",
- " this.rubberband_canvas.addEventListener('contextmenu', function (_e) {\n",
- " event.preventDefault();\n",
- " return false;\n",
- " });\n",
- "\n",
- " function set_focus() {\n",
- " canvas.focus();\n",
- " canvas_div.focus();\n",
- " }\n",
- "\n",
- " window.setTimeout(set_focus, 100);\n",
- "};\n",
- "\n",
- "mpl.figure.prototype._init_toolbar = function () {\n",
- " var fig = this;\n",
- "\n",
- " var toolbar = document.createElement('div');\n",
- " toolbar.classList = 'mpl-toolbar';\n",
- " this.root.appendChild(toolbar);\n",
- "\n",
- " function on_click_closure(name) {\n",
- " return function (_event) {\n",
- " return fig.toolbar_button_onclick(name);\n",
- " };\n",
- " }\n",
- "\n",
- " function on_mouseover_closure(tooltip) {\n",
- " return function (event) {\n",
- " if (!event.currentTarget.disabled) {\n",
- " return fig.toolbar_button_onmouseover(tooltip);\n",
- " }\n",
- " };\n",
- " }\n",
- "\n",
- " fig.buttons = {};\n",
- " var buttonGroup = document.createElement('div');\n",
- " buttonGroup.classList = 'mpl-button-group';\n",
- " for (var toolbar_ind in mpl.toolbar_items) {\n",
- " var name = mpl.toolbar_items[toolbar_ind][0];\n",
- " var tooltip = mpl.toolbar_items[toolbar_ind][1];\n",
- " var image = mpl.toolbar_items[toolbar_ind][2];\n",
- " var method_name = mpl.toolbar_items[toolbar_ind][3];\n",
- "\n",
- " if (!name) {\n",
- " /* Instead of a spacer, we start a new button group. */\n",
- " if (buttonGroup.hasChildNodes()) {\n",
- " toolbar.appendChild(buttonGroup);\n",
- " }\n",
- " buttonGroup = document.createElement('div');\n",
- " buttonGroup.classList = 'mpl-button-group';\n",
- " continue;\n",
- " }\n",
- "\n",
- " var button = (fig.buttons[name] = document.createElement('button'));\n",
- " button.classList = 'mpl-widget';\n",
- " button.setAttribute('role', 'button');\n",
- " button.setAttribute('aria-disabled', 'false');\n",
- " button.addEventListener('click', on_click_closure(method_name));\n",
- " button.addEventListener('mouseover', on_mouseover_closure(tooltip));\n",
- "\n",
- " var icon_img = document.createElement('img');\n",
- " icon_img.src = '_images/' + image + '.png';\n",
- " icon_img.srcset = '_images/' + image + '_large.png 2x';\n",
- " icon_img.alt = tooltip;\n",
- " button.appendChild(icon_img);\n",
- "\n",
- " buttonGroup.appendChild(button);\n",
- " }\n",
- "\n",
- " if (buttonGroup.hasChildNodes()) {\n",
- " toolbar.appendChild(buttonGroup);\n",
- " }\n",
- "\n",
- " var fmt_picker = document.createElement('select');\n",
- " fmt_picker.classList = 'mpl-widget';\n",
- " toolbar.appendChild(fmt_picker);\n",
- " this.format_dropdown = fmt_picker;\n",
- "\n",
- " for (var ind in mpl.extensions) {\n",
- " var fmt = mpl.extensions[ind];\n",
- " var option = document.createElement('option');\n",
- " option.selected = fmt === mpl.default_extension;\n",
- " option.innerHTML = fmt;\n",
- " fmt_picker.appendChild(option);\n",
- " }\n",
- "\n",
- " var status_bar = document.createElement('span');\n",
- " status_bar.classList = 'mpl-message';\n",
- " toolbar.appendChild(status_bar);\n",
- " this.message = status_bar;\n",
- "};\n",
- "\n",
- "mpl.figure.prototype.request_resize = function (x_pixels, y_pixels) {\n",
- " // Request matplotlib to resize the figure. Matplotlib will then trigger a resize in the client,\n",
- " // which will in turn request a refresh of the image.\n",
- " this.send_message('resize', { width: x_pixels, height: y_pixels });\n",
- "};\n",
- "\n",
- "mpl.figure.prototype.send_message = function (type, properties) {\n",
- " properties['type'] = type;\n",
- " properties['figure_id'] = this.id;\n",
- " this.ws.send(JSON.stringify(properties));\n",
- "};\n",
- "\n",
- "mpl.figure.prototype.send_draw_message = function () {\n",
- " if (!this.waiting) {\n",
- " this.waiting = true;\n",
- " this.ws.send(JSON.stringify({ type: 'draw', figure_id: this.id }));\n",
- " }\n",
- "};\n",
- "\n",
- "mpl.figure.prototype.handle_save = function (fig, _msg) {\n",
- " var format_dropdown = fig.format_dropdown;\n",
- " var format = format_dropdown.options[format_dropdown.selectedIndex].value;\n",
- " fig.ondownload(fig, format);\n",
- "};\n",
- "\n",
- "mpl.figure.prototype.handle_resize = function (fig, msg) {\n",
- " var size = msg['size'];\n",
- " if (size[0] !== fig.canvas.width || size[1] !== fig.canvas.height) {\n",
- " fig._resize_canvas(size[0], size[1], msg['forward']);\n",
- " fig.send_message('refresh', {});\n",
- " }\n",
- "};\n",
- "\n",
- "mpl.figure.prototype.handle_rubberband = function (fig, msg) {\n",
- " var x0 = msg['x0'] / fig.ratio;\n",
- " var y0 = (fig.canvas.height - msg['y0']) / fig.ratio;\n",
- " var x1 = msg['x1'] / fig.ratio;\n",
- " var y1 = (fig.canvas.height - msg['y1']) / fig.ratio;\n",
- " x0 = Math.floor(x0) + 0.5;\n",
- " y0 = Math.floor(y0) + 0.5;\n",
- " x1 = Math.floor(x1) + 0.5;\n",
- " y1 = Math.floor(y1) + 0.5;\n",
- " var min_x = Math.min(x0, x1);\n",
- " var min_y = Math.min(y0, y1);\n",
- " var width = Math.abs(x1 - x0);\n",
- " var height = Math.abs(y1 - y0);\n",
- "\n",
- " fig.rubberband_context.clearRect(\n",
- " 0,\n",
- " 0,\n",
- " fig.canvas.width / fig.ratio,\n",
- " fig.canvas.height / fig.ratio\n",
- " );\n",
- "\n",
- " fig.rubberband_context.strokeRect(min_x, min_y, width, height);\n",
- "};\n",
- "\n",
- "mpl.figure.prototype.handle_figure_label = function (fig, msg) {\n",
- " // Updates the figure title.\n",
- " fig.header.textContent = msg['label'];\n",
- "};\n",
- "\n",
- "mpl.figure.prototype.handle_cursor = function (fig, msg) {\n",
- " fig.rubberband_canvas.style.cursor = msg['cursor'];\n",
- "};\n",
- "\n",
- "mpl.figure.prototype.handle_message = function (fig, msg) {\n",
- " fig.message.textContent = msg['message'];\n",
- "};\n",
- "\n",
- "mpl.figure.prototype.handle_draw = function (fig, _msg) {\n",
- " // Request the server to send over a new figure.\n",
- " fig.send_draw_message();\n",
- "};\n",
- "\n",
- "mpl.figure.prototype.handle_image_mode = function (fig, msg) {\n",
- " fig.image_mode = msg['mode'];\n",
- "};\n",
- "\n",
- "mpl.figure.prototype.handle_history_buttons = function (fig, msg) {\n",
- " for (var key in msg) {\n",
- " if (!(key in fig.buttons)) {\n",
- " continue;\n",
- " }\n",
- " fig.buttons[key].disabled = !msg[key];\n",
- " fig.buttons[key].setAttribute('aria-disabled', !msg[key]);\n",
- " }\n",
- "};\n",
- "\n",
- "mpl.figure.prototype.handle_navigate_mode = function (fig, msg) {\n",
- " if (msg['mode'] === 'PAN') {\n",
- " fig.buttons['Pan'].classList.add('active');\n",
- " fig.buttons['Zoom'].classList.remove('active');\n",
- " } else if (msg['mode'] === 'ZOOM') {\n",
- " fig.buttons['Pan'].classList.remove('active');\n",
- " fig.buttons['Zoom'].classList.add('active');\n",
- " } else {\n",
- " fig.buttons['Pan'].classList.remove('active');\n",
- " fig.buttons['Zoom'].classList.remove('active');\n",
- " }\n",
- "};\n",
- "\n",
- "mpl.figure.prototype.updated_canvas_event = function () {\n",
- " // Called whenever the canvas gets updated.\n",
- " this.send_message('ack', {});\n",
- "};\n",
- "\n",
- "// A function to construct a web socket function for onmessage handling.\n",
- "// Called in the figure constructor.\n",
- "mpl.figure.prototype._make_on_message_function = function (fig) {\n",
- " return function socket_on_message(evt) {\n",
- " if (evt.data instanceof Blob) {\n",
- " var img = evt.data;\n",
- " if (img.type !== 'image/png') {\n",
- " /* FIXME: We get \"Resource interpreted as Image but\n",
- " * transferred with MIME type text/plain:\" errors on\n",
- " * Chrome. But how to set the MIME type? It doesn't seem\n",
- " * to be part of the websocket stream */\n",
- " img.type = 'image/png';\n",
- " }\n",
- "\n",
- " /* Free the memory for the previous frames */\n",
- " if (fig.imageObj.src) {\n",
- " (window.URL || window.webkitURL).revokeObjectURL(\n",
- " fig.imageObj.src\n",
- " );\n",
- " }\n",
- "\n",
- " fig.imageObj.src = (window.URL || window.webkitURL).createObjectURL(\n",
- " img\n",
- " );\n",
- " fig.updated_canvas_event();\n",
- " fig.waiting = false;\n",
- " return;\n",
- " } else if (\n",
- " typeof evt.data === 'string' &&\n",
- " evt.data.slice(0, 21) === 'data:image/png;base64'\n",
- " ) {\n",
- " fig.imageObj.src = evt.data;\n",
- " fig.updated_canvas_event();\n",
- " fig.waiting = false;\n",
- " return;\n",
- " }\n",
- "\n",
- " var msg = JSON.parse(evt.data);\n",
- " var msg_type = msg['type'];\n",
- "\n",
- " // Call the \"handle_{type}\" callback, which takes\n",
- " // the figure and JSON message as its only arguments.\n",
- " try {\n",
- " var callback = fig['handle_' + msg_type];\n",
- " } catch (e) {\n",
- " console.log(\n",
- " \"No handler for the '\" + msg_type + \"' message type: \",\n",
- " msg\n",
- " );\n",
- " return;\n",
- " }\n",
- "\n",
- " if (callback) {\n",
- " try {\n",
- " // console.log(\"Handling '\" + msg_type + \"' message: \", msg);\n",
- " callback(fig, msg);\n",
- " } catch (e) {\n",
- " console.log(\n",
- " \"Exception inside the 'handler_\" + msg_type + \"' callback:\",\n",
- " e,\n",
- " e.stack,\n",
- " msg\n",
- " );\n",
- " }\n",
- " }\n",
- " };\n",
- "};\n",
- "\n",
- "// from https://stackoverflow.com/questions/1114465/getting-mouse-location-in-canvas\n",
- "mpl.findpos = function (e) {\n",
- " //this section is from http://www.quirksmode.org/js/events_properties.html\n",
- " var targ;\n",
- " if (!e) {\n",
- " e = window.event;\n",
- " }\n",
- " if (e.target) {\n",
- " targ = e.target;\n",
- " } else if (e.srcElement) {\n",
- " targ = e.srcElement;\n",
- " }\n",
- " if (targ.nodeType === 3) {\n",
- " // defeat Safari bug\n",
- " targ = targ.parentNode;\n",
- " }\n",
- "\n",
- " // pageX,Y are the mouse positions relative to the document\n",
- " var boundingRect = targ.getBoundingClientRect();\n",
- " var x = e.pageX - (boundingRect.left + document.body.scrollLeft);\n",
- " var y = e.pageY - (boundingRect.top + document.body.scrollTop);\n",
- "\n",
- " return { x: x, y: y };\n",
- "};\n",
- "\n",
- "/*\n",
- " * return a copy of an object with only non-object keys\n",
- " * we need this to avoid circular references\n",
- " * https://stackoverflow.com/a/24161582/3208463\n",
- " */\n",
- "function simpleKeys(original) {\n",
- " return Object.keys(original).reduce(function (obj, key) {\n",
- " if (typeof original[key] !== 'object') {\n",
- " obj[key] = original[key];\n",
- " }\n",
- " return obj;\n",
- " }, {});\n",
- "}\n",
- "\n",
- "mpl.figure.prototype.mouse_event = function (event, name) {\n",
- " var canvas_pos = mpl.findpos(event);\n",
- "\n",
- " if (name === 'button_press') {\n",
- " this.canvas.focus();\n",
- " this.canvas_div.focus();\n",
- " }\n",
- "\n",
- " var x = canvas_pos.x * this.ratio;\n",
- " var y = canvas_pos.y * this.ratio;\n",
- "\n",
- " this.send_message(name, {\n",
- " x: x,\n",
- " y: y,\n",
- " button: event.button,\n",
- " step: event.step,\n",
- " guiEvent: simpleKeys(event),\n",
- " });\n",
- "\n",
- " /* This prevents the web browser from automatically changing to\n",
- " * the text insertion cursor when the button is pressed. We want\n",
- " * to control all of the cursor setting manually through the\n",
- " * 'cursor' event from matplotlib */\n",
- " event.preventDefault();\n",
- " return false;\n",
- "};\n",
- "\n",
- "mpl.figure.prototype._key_event_extra = function (_event, _name) {\n",
- " // Handle any extra behaviour associated with a key event\n",
- "};\n",
- "\n",
- "mpl.figure.prototype.key_event = function (event, name) {\n",
- " // Prevent repeat events\n",
- " if (name === 'key_press') {\n",
- " if (event.key === this._key) {\n",
- " return;\n",
- " } else {\n",
- " this._key = event.key;\n",
- " }\n",
- " }\n",
- " if (name === 'key_release') {\n",
- " this._key = null;\n",
- " }\n",
- "\n",
- " var value = '';\n",
- " if (event.ctrlKey && event.key !== 'Control') {\n",
- " value += 'ctrl+';\n",
- " }\n",
- " else if (event.altKey && event.key !== 'Alt') {\n",
- " value += 'alt+';\n",
- " }\n",
- " else if (event.shiftKey && event.key !== 'Shift') {\n",
- " value += 'shift+';\n",
- " }\n",
- "\n",
- " value += 'k' + event.key;\n",
- "\n",
- " this._key_event_extra(event, name);\n",
- "\n",
- " this.send_message(name, { key: value, guiEvent: simpleKeys(event) });\n",
- " return false;\n",
- "};\n",
- "\n",
- "mpl.figure.prototype.toolbar_button_onclick = function (name) {\n",
- " if (name === 'download') {\n",
- " this.handle_save(this, null);\n",
- " } else {\n",
- " this.send_message('toolbar_button', { name: name });\n",
- " }\n",
- "};\n",
- "\n",
- "mpl.figure.prototype.toolbar_button_onmouseover = function (tooltip) {\n",
- " this.message.textContent = tooltip;\n",
- "};\n",
- "\n",
- "///////////////// REMAINING CONTENT GENERATED BY embed_js.py /////////////////\n",
- "// prettier-ignore\n",
- "var _JSXTOOLS_RESIZE_OBSERVER=function(A){var t,i=new WeakMap,n=new WeakMap,a=new WeakMap,r=new WeakMap,o=new Set;function s(e){if(!(this instanceof s))throw new TypeError(\"Constructor requires 'new' operator\");i.set(this,e)}function h(){throw new TypeError(\"Function is not a constructor\")}function c(e,t,i,n){e=0 in arguments?Number(arguments[0]):0,t=1 in arguments?Number(arguments[1]):0,i=2 in arguments?Number(arguments[2]):0,n=3 in arguments?Number(arguments[3]):0,this.right=(this.x=this.left=e)+(this.width=i),this.bottom=(this.y=this.top=t)+(this.height=n),Object.freeze(this)}function d(){t=requestAnimationFrame(d);var s=new WeakMap,p=new Set;o.forEach((function(t){r.get(t).forEach((function(i){var r=t instanceof window.SVGElement,o=a.get(t),d=r?0:parseFloat(o.paddingTop),f=r?0:parseFloat(o.paddingRight),l=r?0:parseFloat(o.paddingBottom),u=r?0:parseFloat(o.paddingLeft),g=r?0:parseFloat(o.borderTopWidth),m=r?0:parseFloat(o.borderRightWidth),w=r?0:parseFloat(o.borderBottomWidth),b=u+f,F=d+l,v=(r?0:parseFloat(o.borderLeftWidth))+m,W=g+w,y=r?0:t.offsetHeight-W-t.clientHeight,E=r?0:t.offsetWidth-v-t.clientWidth,R=b+v,z=F+W,M=r?t.width:parseFloat(o.width)-R-E,O=r?t.height:parseFloat(o.height)-z-y;if(n.has(t)){var k=n.get(t);if(k[0]===M&&k[1]===O)return}n.set(t,[M,O]);var S=Object.create(h.prototype);S.target=t,S.contentRect=new c(u,d,M,O),s.has(i)||(s.set(i,[]),p.add(i)),s.get(i).push(S)}))})),p.forEach((function(e){i.get(e).call(e,s.get(e),e)}))}return s.prototype.observe=function(i){if(i instanceof window.Element){r.has(i)||(r.set(i,new Set),o.add(i),a.set(i,window.getComputedStyle(i)));var n=r.get(i);n.has(this)||n.add(this),cancelAnimationFrame(t),t=requestAnimationFrame(d)}},s.prototype.unobserve=function(i){if(i instanceof window.Element&&r.has(i)){var n=r.get(i);n.has(this)&&(n.delete(this),n.size||(r.delete(i),o.delete(i))),n.size||r.delete(i),o.size||cancelAnimationFrame(t)}},A.DOMRectReadOnly=c,A.ResizeObserver=s,A.ResizeObserverEntry=h,A}; // eslint-disable-line\n",
- "mpl.toolbar_items = [[\"Home\", \"Reset original view\", \"fa fa-home icon-home\", \"home\"], [\"Back\", \"Back to previous view\", \"fa fa-arrow-left icon-arrow-left\", \"back\"], [\"Forward\", \"Forward to next view\", \"fa fa-arrow-right icon-arrow-right\", \"forward\"], [\"\", \"\", \"\", \"\"], [\"Pan\", \"Left button pans, Right button zooms\\nx/y fixes axis, CTRL fixes aspect\", \"fa fa-arrows icon-move\", \"pan\"], [\"Zoom\", \"Zoom to rectangle\\nx/y fixes axis\", \"fa fa-square-o icon-check-empty\", \"zoom\"], [\"\", \"\", \"\", \"\"], [\"Download\", \"Download plot\", \"fa fa-floppy-o icon-save\", \"download\"]];\n",
- "\n",
- "mpl.extensions = [\"eps\", \"jpeg\", \"pgf\", \"pdf\", \"png\", \"ps\", \"raw\", \"svg\", \"tif\"];\n",
- "\n",
- "mpl.default_extension = \"png\";/* global mpl */\n",
- "\n",
- "var comm_websocket_adapter = function (comm) {\n",
- " // Create a \"websocket\"-like object which calls the given IPython comm\n",
- " // object with the appropriate methods. Currently this is a non binary\n",
- " // socket, so there is still some room for performance tuning.\n",
- " var ws = {};\n",
- "\n",
- " ws.binaryType = comm.kernel.ws.binaryType;\n",
- " ws.readyState = comm.kernel.ws.readyState;\n",
- " function updateReadyState(_event) {\n",
- " if (comm.kernel.ws) {\n",
- " ws.readyState = comm.kernel.ws.readyState;\n",
- " } else {\n",
- " ws.readyState = 3; // Closed state.\n",
- " }\n",
- " }\n",
- " comm.kernel.ws.addEventListener('open', updateReadyState);\n",
- " comm.kernel.ws.addEventListener('close', updateReadyState);\n",
- " comm.kernel.ws.addEventListener('error', updateReadyState);\n",
- "\n",
- " ws.close = function () {\n",
- " comm.close();\n",
- " };\n",
- " ws.send = function (m) {\n",
- " //console.log('sending', m);\n",
- " comm.send(m);\n",
- " };\n",
- " // Register the callback with on_msg.\n",
- " comm.on_msg(function (msg) {\n",
- " //console.log('receiving', msg['content']['data'], msg);\n",
- " var data = msg['content']['data'];\n",
- " if (data['blob'] !== undefined) {\n",
- " data = {\n",
- " data: new Blob(msg['buffers'], { type: data['blob'] }),\n",
- " };\n",
- " }\n",
- " // Pass the mpl event to the overridden (by mpl) onmessage function.\n",
- " ws.onmessage(data);\n",
- " });\n",
- " return ws;\n",
- "};\n",
- "\n",
- "mpl.mpl_figure_comm = function (comm, msg) {\n",
- " // This is the function which gets called when the mpl process\n",
- " // starts-up an IPython Comm through the \"matplotlib\" channel.\n",
- "\n",
- " var id = msg.content.data.id;\n",
- " // Get hold of the div created by the display call when the Comm\n",
- " // socket was opened in Python.\n",
- " var element = document.getElementById(id);\n",
- " var ws_proxy = comm_websocket_adapter(comm);\n",
- "\n",
- " function ondownload(figure, _format) {\n",
- " window.open(figure.canvas.toDataURL());\n",
- " }\n",
- "\n",
- " var fig = new mpl.figure(id, ws_proxy, ondownload, element);\n",
- "\n",
- " // Call onopen now - mpl needs it, as it is assuming we've passed it a real\n",
- " // web socket which is closed, not our websocket->open comm proxy.\n",
- " ws_proxy.onopen();\n",
- "\n",
- " fig.parent_element = element;\n",
- " fig.cell_info = mpl.find_output_cell(\"\");\n",
- " if (!fig.cell_info) {\n",
- " console.error('Failed to find cell for figure', id, fig);\n",
- " return;\n",
- " }\n",
- " fig.cell_info[0].output_area.element.on(\n",
- " 'cleared',\n",
- " { fig: fig },\n",
- " fig._remove_fig_handler\n",
- " );\n",
- "};\n",
- "\n",
- "mpl.figure.prototype.handle_close = function (fig, msg) {\n",
- " var width = fig.canvas.width / fig.ratio;\n",
- " fig.cell_info[0].output_area.element.off(\n",
- " 'cleared',\n",
- " fig._remove_fig_handler\n",
- " );\n",
- " fig.resizeObserverInstance.unobserve(fig.canvas_div);\n",
- "\n",
- " // Update the output cell to use the data from the current canvas.\n",
- " fig.push_to_output();\n",
- " var dataURL = fig.canvas.toDataURL();\n",
- " // Re-enable the keyboard manager in IPython - without this line, in FF,\n",
- " // the notebook keyboard shortcuts fail.\n",
- " IPython.keyboard_manager.enable();\n",
- " fig.parent_element.innerHTML =\n",
- " '
';\n",
- " fig.close_ws(fig, msg);\n",
- "};\n",
- "\n",
- "mpl.figure.prototype.close_ws = function (fig, msg) {\n",
- " fig.send_message('closing', msg);\n",
- " // fig.ws.close()\n",
- "};\n",
- "\n",
- "mpl.figure.prototype.push_to_output = function (_remove_interactive) {\n",
- " // Turn the data on the canvas into data in the output cell.\n",
- " var width = this.canvas.width / this.ratio;\n",
- " var dataURL = this.canvas.toDataURL();\n",
- " this.cell_info[1]['text/html'] =\n",
- " '
';\n",
- "};\n",
- "\n",
- "mpl.figure.prototype.updated_canvas_event = function () {\n",
- " // Tell IPython that the notebook contents must change.\n",
- " IPython.notebook.set_dirty(true);\n",
- " this.send_message('ack', {});\n",
- " var fig = this;\n",
- " // Wait a second, then push the new image to the DOM so\n",
- " // that it is saved nicely (might be nice to debounce this).\n",
- " setTimeout(function () {\n",
- " fig.push_to_output();\n",
- " }, 1000);\n",
- "};\n",
- "\n",
- "mpl.figure.prototype._init_toolbar = function () {\n",
- " var fig = this;\n",
- "\n",
- " var toolbar = document.createElement('div');\n",
- " toolbar.classList = 'btn-toolbar';\n",
- " this.root.appendChild(toolbar);\n",
- "\n",
- " function on_click_closure(name) {\n",
- " return function (_event) {\n",
- " return fig.toolbar_button_onclick(name);\n",
- " };\n",
- " }\n",
- "\n",
- " function on_mouseover_closure(tooltip) {\n",
- " return function (event) {\n",
- " if (!event.currentTarget.disabled) {\n",
- " return fig.toolbar_button_onmouseover(tooltip);\n",
- " }\n",
- " };\n",
- " }\n",
- "\n",
- " fig.buttons = {};\n",
- " var buttonGroup = document.createElement('div');\n",
- " buttonGroup.classList = 'btn-group';\n",
- " var button;\n",
- " for (var toolbar_ind in mpl.toolbar_items) {\n",
- " var name = mpl.toolbar_items[toolbar_ind][0];\n",
- " var tooltip = mpl.toolbar_items[toolbar_ind][1];\n",
- " var image = mpl.toolbar_items[toolbar_ind][2];\n",
- " var method_name = mpl.toolbar_items[toolbar_ind][3];\n",
- "\n",
- " if (!name) {\n",
- " /* Instead of a spacer, we start a new button group. */\n",
- " if (buttonGroup.hasChildNodes()) {\n",
- " toolbar.appendChild(buttonGroup);\n",
- " }\n",
- " buttonGroup = document.createElement('div');\n",
- " buttonGroup.classList = 'btn-group';\n",
- " continue;\n",
- " }\n",
- "\n",
- " button = fig.buttons[name] = document.createElement('button');\n",
- " button.classList = 'btn btn-default';\n",
- " button.href = '#';\n",
- " button.title = name;\n",
- " button.innerHTML = '';\n",
- " button.addEventListener('click', on_click_closure(method_name));\n",
- " button.addEventListener('mouseover', on_mouseover_closure(tooltip));\n",
- " buttonGroup.appendChild(button);\n",
- " }\n",
- "\n",
- " if (buttonGroup.hasChildNodes()) {\n",
- " toolbar.appendChild(buttonGroup);\n",
- " }\n",
- "\n",
- " // Add the status bar.\n",
- " var status_bar = document.createElement('span');\n",
- " status_bar.classList = 'mpl-message pull-right';\n",
- " toolbar.appendChild(status_bar);\n",
- " this.message = status_bar;\n",
- "\n",
- " // Add the close button to the window.\n",
- " var buttongrp = document.createElement('div');\n",
- " buttongrp.classList = 'btn-group inline pull-right';\n",
- " button = document.createElement('button');\n",
- " button.classList = 'btn btn-mini btn-primary';\n",
- " button.href = '#';\n",
- " button.title = 'Stop Interaction';\n",
- " button.innerHTML = '';\n",
- " button.addEventListener('click', function (_evt) {\n",
- " fig.handle_close(fig, {});\n",
- " });\n",
- " button.addEventListener(\n",
- " 'mouseover',\n",
- " on_mouseover_closure('Stop Interaction')\n",
- " );\n",
- " buttongrp.appendChild(button);\n",
- " var titlebar = this.root.querySelector('.ui-dialog-titlebar');\n",
- " titlebar.insertBefore(buttongrp, titlebar.firstChild);\n",
- "};\n",
- "\n",
- "mpl.figure.prototype._remove_fig_handler = function (event) {\n",
- " var fig = event.data.fig;\n",
- " if (event.target !== this) {\n",
- " // Ignore bubbled events from children.\n",
- " return;\n",
- " }\n",
- " fig.close_ws(fig, {});\n",
- "};\n",
- "\n",
- "mpl.figure.prototype._root_extra_style = function (el) {\n",
- " el.style.boxSizing = 'content-box'; // override notebook setting of border-box.\n",
- "};\n",
- "\n",
- "mpl.figure.prototype._canvas_extra_style = function (el) {\n",
- " // this is important to make the div 'focusable\n",
- " el.setAttribute('tabindex', 0);\n",
- " // reach out to IPython and tell the keyboard manager to turn it's self\n",
- " // off when our div gets focus\n",
- "\n",
- " // location in version 3\n",
- " if (IPython.notebook.keyboard_manager) {\n",
- " IPython.notebook.keyboard_manager.register_events(el);\n",
- " } else {\n",
- " // location in version 2\n",
- " IPython.keyboard_manager.register_events(el);\n",
- " }\n",
- "};\n",
- "\n",
- "mpl.figure.prototype._key_event_extra = function (event, _name) {\n",
- " // Check for shift+enter\n",
- " if (event.shiftKey && event.which === 13) {\n",
- " this.canvas_div.blur();\n",
- " // select the cell after this one\n",
- " var index = IPython.notebook.find_cell_index(this.cell_info[0]);\n",
- " IPython.notebook.select(index + 1);\n",
- " }\n",
- "};\n",
- "\n",
- "mpl.figure.prototype.handle_save = function (fig, _msg) {\n",
- " fig.ondownload(fig, null);\n",
- "};\n",
- "\n",
- "mpl.find_output_cell = function (html_output) {\n",
- " // Return the cell and output element which can be found *uniquely* in the notebook.\n",
- " // Note - this is a bit hacky, but it is done because the \"notebook_saving.Notebook\"\n",
- " // IPython event is triggered only after the cells have been serialised, which for\n",
- " // our purposes (turning an active figure into a static one), is too late.\n",
- " var cells = IPython.notebook.get_cells();\n",
- " var ncells = cells.length;\n",
- " for (var i = 0; i < ncells; i++) {\n",
- " var cell = cells[i];\n",
- " if (cell.cell_type === 'code') {\n",
- " for (var j = 0; j < cell.output_area.outputs.length; j++) {\n",
- " var data = cell.output_area.outputs[j];\n",
- " if (data.data) {\n",
- " // IPython >= 3 moved mimebundle to data attribute of output\n",
- " data = data.data;\n",
- " }\n",
- " if (data['text/html'] === html_output) {\n",
- " return [cell, data, j];\n",
- " }\n",
- " }\n",
- " }\n",
- " }\n",
- "};\n",
- "\n",
- "// Register the function which deals with the matplotlib target/channel.\n",
- "// The kernel may be null if the page has been refreshed.\n",
- "if (IPython.notebook.kernel !== null) {\n",
- " IPython.notebook.kernel.comm_manager.register_target(\n",
- " 'matplotlib',\n",
- " mpl.mpl_figure_comm\n",
- " );\n",
- "}\n"
- ],
- "text/plain": [
- ""
- ]
- },
- "metadata": {},
- "output_type": "display_data"
- },
- {
- "data": {
- "text/html": [
- "
"
- ],
- "text/plain": [
- ""
- ]
- },
- "metadata": {},
- "output_type": "display_data"
- },
- {
- "data": {
- "text/plain": [
- ""
- ]
- },
- "execution_count": 24,
- "metadata": {},
- "output_type": "execute_result"
- }
- ],
+ "outputs": [],
"source": [
"plt.scatter(x,y,s=10*np.sqrt(y),c=np.log10(x),edgecolors='black')"
]
@@ -3461,994 +467,15 @@
},
{
"cell_type": "code",
- "execution_count": 31,
+ "execution_count": null,
"metadata": {},
- "outputs": [
- {
- "data": {
- "application/javascript": [
- "/* Put everything inside the global mpl namespace */\n",
- "/* global mpl */\n",
- "window.mpl = {};\n",
- "\n",
- "mpl.get_websocket_type = function () {\n",
- " if (typeof WebSocket !== 'undefined') {\n",
- " return WebSocket;\n",
- " } else if (typeof MozWebSocket !== 'undefined') {\n",
- " return MozWebSocket;\n",
- " } else {\n",
- " alert(\n",
- " 'Your browser does not have WebSocket support. ' +\n",
- " 'Please try Chrome, Safari or Firefox ≥ 6. ' +\n",
- " 'Firefox 4 and 5 are also supported but you ' +\n",
- " 'have to enable WebSockets in about:config.'\n",
- " );\n",
- " }\n",
- "};\n",
- "\n",
- "mpl.figure = function (figure_id, websocket, ondownload, parent_element) {\n",
- " this.id = figure_id;\n",
- "\n",
- " this.ws = websocket;\n",
- "\n",
- " this.supports_binary = this.ws.binaryType !== undefined;\n",
- "\n",
- " if (!this.supports_binary) {\n",
- " var warnings = document.getElementById('mpl-warnings');\n",
- " if (warnings) {\n",
- " warnings.style.display = 'block';\n",
- " warnings.textContent =\n",
- " 'This browser does not support binary websocket messages. ' +\n",
- " 'Performance may be slow.';\n",
- " }\n",
- " }\n",
- "\n",
- " this.imageObj = new Image();\n",
- "\n",
- " this.context = undefined;\n",
- " this.message = undefined;\n",
- " this.canvas = undefined;\n",
- " this.rubberband_canvas = undefined;\n",
- " this.rubberband_context = undefined;\n",
- " this.format_dropdown = undefined;\n",
- "\n",
- " this.image_mode = 'full';\n",
- "\n",
- " this.root = document.createElement('div');\n",
- " this.root.setAttribute('style', 'display: inline-block');\n",
- " this._root_extra_style(this.root);\n",
- "\n",
- " parent_element.appendChild(this.root);\n",
- "\n",
- " this._init_header(this);\n",
- " this._init_canvas(this);\n",
- " this._init_toolbar(this);\n",
- "\n",
- " var fig = this;\n",
- "\n",
- " this.waiting = false;\n",
- "\n",
- " this.ws.onopen = function () {\n",
- " fig.send_message('supports_binary', { value: fig.supports_binary });\n",
- " fig.send_message('send_image_mode', {});\n",
- " if (fig.ratio !== 1) {\n",
- " fig.send_message('set_device_pixel_ratio', {\n",
- " device_pixel_ratio: fig.ratio,\n",
- " });\n",
- " }\n",
- " fig.send_message('refresh', {});\n",
- " };\n",
- "\n",
- " this.imageObj.onload = function () {\n",
- " if (fig.image_mode === 'full') {\n",
- " // Full images could contain transparency (where diff images\n",
- " // almost always do), so we need to clear the canvas so that\n",
- " // there is no ghosting.\n",
- " fig.context.clearRect(0, 0, fig.canvas.width, fig.canvas.height);\n",
- " }\n",
- " fig.context.drawImage(fig.imageObj, 0, 0);\n",
- " };\n",
- "\n",
- " this.imageObj.onunload = function () {\n",
- " fig.ws.close();\n",
- " };\n",
- "\n",
- " this.ws.onmessage = this._make_on_message_function(this);\n",
- "\n",
- " this.ondownload = ondownload;\n",
- "};\n",
- "\n",
- "mpl.figure.prototype._init_header = function () {\n",
- " var titlebar = document.createElement('div');\n",
- " titlebar.classList =\n",
- " 'ui-dialog-titlebar ui-widget-header ui-corner-all ui-helper-clearfix';\n",
- " var titletext = document.createElement('div');\n",
- " titletext.classList = 'ui-dialog-title';\n",
- " titletext.setAttribute(\n",
- " 'style',\n",
- " 'width: 100%; text-align: center; padding: 3px;'\n",
- " );\n",
- " titlebar.appendChild(titletext);\n",
- " this.root.appendChild(titlebar);\n",
- " this.header = titletext;\n",
- "};\n",
- "\n",
- "mpl.figure.prototype._canvas_extra_style = function (_canvas_div) {};\n",
- "\n",
- "mpl.figure.prototype._root_extra_style = function (_canvas_div) {};\n",
- "\n",
- "mpl.figure.prototype._init_canvas = function () {\n",
- " var fig = this;\n",
- "\n",
- " var canvas_div = (this.canvas_div = document.createElement('div'));\n",
- " canvas_div.setAttribute(\n",
- " 'style',\n",
- " 'border: 1px solid #ddd;' +\n",
- " 'box-sizing: content-box;' +\n",
- " 'clear: both;' +\n",
- " 'min-height: 1px;' +\n",
- " 'min-width: 1px;' +\n",
- " 'outline: 0;' +\n",
- " 'overflow: hidden;' +\n",
- " 'position: relative;' +\n",
- " 'resize: both;'\n",
- " );\n",
- "\n",
- " function on_keyboard_event_closure(name) {\n",
- " return function (event) {\n",
- " return fig.key_event(event, name);\n",
- " };\n",
- " }\n",
- "\n",
- " canvas_div.addEventListener(\n",
- " 'keydown',\n",
- " on_keyboard_event_closure('key_press')\n",
- " );\n",
- " canvas_div.addEventListener(\n",
- " 'keyup',\n",
- " on_keyboard_event_closure('key_release')\n",
- " );\n",
- "\n",
- " this._canvas_extra_style(canvas_div);\n",
- " this.root.appendChild(canvas_div);\n",
- "\n",
- " var canvas = (this.canvas = document.createElement('canvas'));\n",
- " canvas.classList.add('mpl-canvas');\n",
- " canvas.setAttribute('style', 'box-sizing: content-box;');\n",
- "\n",
- " this.context = canvas.getContext('2d');\n",
- "\n",
- " var backingStore =\n",
- " this.context.backingStorePixelRatio ||\n",
- " this.context.webkitBackingStorePixelRatio ||\n",
- " this.context.mozBackingStorePixelRatio ||\n",
- " this.context.msBackingStorePixelRatio ||\n",
- " this.context.oBackingStorePixelRatio ||\n",
- " this.context.backingStorePixelRatio ||\n",
- " 1;\n",
- "\n",
- " this.ratio = (window.devicePixelRatio || 1) / backingStore;\n",
- "\n",
- " var rubberband_canvas = (this.rubberband_canvas = document.createElement(\n",
- " 'canvas'\n",
- " ));\n",
- " rubberband_canvas.setAttribute(\n",
- " 'style',\n",
- " 'box-sizing: content-box; position: absolute; left: 0; top: 0; z-index: 1;'\n",
- " );\n",
- "\n",
- " // Apply a ponyfill if ResizeObserver is not implemented by browser.\n",
- " if (this.ResizeObserver === undefined) {\n",
- " if (window.ResizeObserver !== undefined) {\n",
- " this.ResizeObserver = window.ResizeObserver;\n",
- " } else {\n",
- " var obs = _JSXTOOLS_RESIZE_OBSERVER({});\n",
- " this.ResizeObserver = obs.ResizeObserver;\n",
- " }\n",
- " }\n",
- "\n",
- " this.resizeObserverInstance = new this.ResizeObserver(function (entries) {\n",
- " var nentries = entries.length;\n",
- " for (var i = 0; i < nentries; i++) {\n",
- " var entry = entries[i];\n",
- " var width, height;\n",
- " if (entry.contentBoxSize) {\n",
- " if (entry.contentBoxSize instanceof Array) {\n",
- " // Chrome 84 implements new version of spec.\n",
- " width = entry.contentBoxSize[0].inlineSize;\n",
- " height = entry.contentBoxSize[0].blockSize;\n",
- " } else {\n",
- " // Firefox implements old version of spec.\n",
- " width = entry.contentBoxSize.inlineSize;\n",
- " height = entry.contentBoxSize.blockSize;\n",
- " }\n",
- " } else {\n",
- " // Chrome <84 implements even older version of spec.\n",
- " width = entry.contentRect.width;\n",
- " height = entry.contentRect.height;\n",
- " }\n",
- "\n",
- " // Keep the size of the canvas and rubber band canvas in sync with\n",
- " // the canvas container.\n",
- " if (entry.devicePixelContentBoxSize) {\n",
- " // Chrome 84 implements new version of spec.\n",
- " canvas.setAttribute(\n",
- " 'width',\n",
- " entry.devicePixelContentBoxSize[0].inlineSize\n",
- " );\n",
- " canvas.setAttribute(\n",
- " 'height',\n",
- " entry.devicePixelContentBoxSize[0].blockSize\n",
- " );\n",
- " } else {\n",
- " canvas.setAttribute('width', width * fig.ratio);\n",
- " canvas.setAttribute('height', height * fig.ratio);\n",
- " }\n",
- " canvas.setAttribute(\n",
- " 'style',\n",
- " 'width: ' + width + 'px; height: ' + height + 'px;'\n",
- " );\n",
- "\n",
- " rubberband_canvas.setAttribute('width', width);\n",
- " rubberband_canvas.setAttribute('height', height);\n",
- "\n",
- " // And update the size in Python. We ignore the initial 0/0 size\n",
- " // that occurs as the element is placed into the DOM, which should\n",
- " // otherwise not happen due to the minimum size styling.\n",
- " if (fig.ws.readyState == 1 && width != 0 && height != 0) {\n",
- " fig.request_resize(width, height);\n",
- " }\n",
- " }\n",
- " });\n",
- " this.resizeObserverInstance.observe(canvas_div);\n",
- "\n",
- " function on_mouse_event_closure(name) {\n",
- " return function (event) {\n",
- " return fig.mouse_event(event, name);\n",
- " };\n",
- " }\n",
- "\n",
- " rubberband_canvas.addEventListener(\n",
- " 'mousedown',\n",
- " on_mouse_event_closure('button_press')\n",
- " );\n",
- " rubberband_canvas.addEventListener(\n",
- " 'mouseup',\n",
- " on_mouse_event_closure('button_release')\n",
- " );\n",
- " rubberband_canvas.addEventListener(\n",
- " 'dblclick',\n",
- " on_mouse_event_closure('dblclick')\n",
- " );\n",
- " // Throttle sequential mouse events to 1 every 20ms.\n",
- " rubberband_canvas.addEventListener(\n",
- " 'mousemove',\n",
- " on_mouse_event_closure('motion_notify')\n",
- " );\n",
- "\n",
- " rubberband_canvas.addEventListener(\n",
- " 'mouseenter',\n",
- " on_mouse_event_closure('figure_enter')\n",
- " );\n",
- " rubberband_canvas.addEventListener(\n",
- " 'mouseleave',\n",
- " on_mouse_event_closure('figure_leave')\n",
- " );\n",
- "\n",
- " canvas_div.addEventListener('wheel', function (event) {\n",
- " if (event.deltaY < 0) {\n",
- " event.step = 1;\n",
- " } else {\n",
- " event.step = -1;\n",
- " }\n",
- " on_mouse_event_closure('scroll')(event);\n",
- " });\n",
- "\n",
- " canvas_div.appendChild(canvas);\n",
- " canvas_div.appendChild(rubberband_canvas);\n",
- "\n",
- " this.rubberband_context = rubberband_canvas.getContext('2d');\n",
- " this.rubberband_context.strokeStyle = '#000000';\n",
- "\n",
- " this._resize_canvas = function (width, height, forward) {\n",
- " if (forward) {\n",
- " canvas_div.style.width = width + 'px';\n",
- " canvas_div.style.height = height + 'px';\n",
- " }\n",
- " };\n",
- "\n",
- " // Disable right mouse context menu.\n",
- " this.rubberband_canvas.addEventListener('contextmenu', function (_e) {\n",
- " event.preventDefault();\n",
- " return false;\n",
- " });\n",
- "\n",
- " function set_focus() {\n",
- " canvas.focus();\n",
- " canvas_div.focus();\n",
- " }\n",
- "\n",
- " window.setTimeout(set_focus, 100);\n",
- "};\n",
- "\n",
- "mpl.figure.prototype._init_toolbar = function () {\n",
- " var fig = this;\n",
- "\n",
- " var toolbar = document.createElement('div');\n",
- " toolbar.classList = 'mpl-toolbar';\n",
- " this.root.appendChild(toolbar);\n",
- "\n",
- " function on_click_closure(name) {\n",
- " return function (_event) {\n",
- " return fig.toolbar_button_onclick(name);\n",
- " };\n",
- " }\n",
- "\n",
- " function on_mouseover_closure(tooltip) {\n",
- " return function (event) {\n",
- " if (!event.currentTarget.disabled) {\n",
- " return fig.toolbar_button_onmouseover(tooltip);\n",
- " }\n",
- " };\n",
- " }\n",
- "\n",
- " fig.buttons = {};\n",
- " var buttonGroup = document.createElement('div');\n",
- " buttonGroup.classList = 'mpl-button-group';\n",
- " for (var toolbar_ind in mpl.toolbar_items) {\n",
- " var name = mpl.toolbar_items[toolbar_ind][0];\n",
- " var tooltip = mpl.toolbar_items[toolbar_ind][1];\n",
- " var image = mpl.toolbar_items[toolbar_ind][2];\n",
- " var method_name = mpl.toolbar_items[toolbar_ind][3];\n",
- "\n",
- " if (!name) {\n",
- " /* Instead of a spacer, we start a new button group. */\n",
- " if (buttonGroup.hasChildNodes()) {\n",
- " toolbar.appendChild(buttonGroup);\n",
- " }\n",
- " buttonGroup = document.createElement('div');\n",
- " buttonGroup.classList = 'mpl-button-group';\n",
- " continue;\n",
- " }\n",
- "\n",
- " var button = (fig.buttons[name] = document.createElement('button'));\n",
- " button.classList = 'mpl-widget';\n",
- " button.setAttribute('role', 'button');\n",
- " button.setAttribute('aria-disabled', 'false');\n",
- " button.addEventListener('click', on_click_closure(method_name));\n",
- " button.addEventListener('mouseover', on_mouseover_closure(tooltip));\n",
- "\n",
- " var icon_img = document.createElement('img');\n",
- " icon_img.src = '_images/' + image + '.png';\n",
- " icon_img.srcset = '_images/' + image + '_large.png 2x';\n",
- " icon_img.alt = tooltip;\n",
- " button.appendChild(icon_img);\n",
- "\n",
- " buttonGroup.appendChild(button);\n",
- " }\n",
- "\n",
- " if (buttonGroup.hasChildNodes()) {\n",
- " toolbar.appendChild(buttonGroup);\n",
- " }\n",
- "\n",
- " var fmt_picker = document.createElement('select');\n",
- " fmt_picker.classList = 'mpl-widget';\n",
- " toolbar.appendChild(fmt_picker);\n",
- " this.format_dropdown = fmt_picker;\n",
- "\n",
- " for (var ind in mpl.extensions) {\n",
- " var fmt = mpl.extensions[ind];\n",
- " var option = document.createElement('option');\n",
- " option.selected = fmt === mpl.default_extension;\n",
- " option.innerHTML = fmt;\n",
- " fmt_picker.appendChild(option);\n",
- " }\n",
- "\n",
- " var status_bar = document.createElement('span');\n",
- " status_bar.classList = 'mpl-message';\n",
- " toolbar.appendChild(status_bar);\n",
- " this.message = status_bar;\n",
- "};\n",
- "\n",
- "mpl.figure.prototype.request_resize = function (x_pixels, y_pixels) {\n",
- " // Request matplotlib to resize the figure. Matplotlib will then trigger a resize in the client,\n",
- " // which will in turn request a refresh of the image.\n",
- " this.send_message('resize', { width: x_pixels, height: y_pixels });\n",
- "};\n",
- "\n",
- "mpl.figure.prototype.send_message = function (type, properties) {\n",
- " properties['type'] = type;\n",
- " properties['figure_id'] = this.id;\n",
- " this.ws.send(JSON.stringify(properties));\n",
- "};\n",
- "\n",
- "mpl.figure.prototype.send_draw_message = function () {\n",
- " if (!this.waiting) {\n",
- " this.waiting = true;\n",
- " this.ws.send(JSON.stringify({ type: 'draw', figure_id: this.id }));\n",
- " }\n",
- "};\n",
- "\n",
- "mpl.figure.prototype.handle_save = function (fig, _msg) {\n",
- " var format_dropdown = fig.format_dropdown;\n",
- " var format = format_dropdown.options[format_dropdown.selectedIndex].value;\n",
- " fig.ondownload(fig, format);\n",
- "};\n",
- "\n",
- "mpl.figure.prototype.handle_resize = function (fig, msg) {\n",
- " var size = msg['size'];\n",
- " if (size[0] !== fig.canvas.width || size[1] !== fig.canvas.height) {\n",
- " fig._resize_canvas(size[0], size[1], msg['forward']);\n",
- " fig.send_message('refresh', {});\n",
- " }\n",
- "};\n",
- "\n",
- "mpl.figure.prototype.handle_rubberband = function (fig, msg) {\n",
- " var x0 = msg['x0'] / fig.ratio;\n",
- " var y0 = (fig.canvas.height - msg['y0']) / fig.ratio;\n",
- " var x1 = msg['x1'] / fig.ratio;\n",
- " var y1 = (fig.canvas.height - msg['y1']) / fig.ratio;\n",
- " x0 = Math.floor(x0) + 0.5;\n",
- " y0 = Math.floor(y0) + 0.5;\n",
- " x1 = Math.floor(x1) + 0.5;\n",
- " y1 = Math.floor(y1) + 0.5;\n",
- " var min_x = Math.min(x0, x1);\n",
- " var min_y = Math.min(y0, y1);\n",
- " var width = Math.abs(x1 - x0);\n",
- " var height = Math.abs(y1 - y0);\n",
- "\n",
- " fig.rubberband_context.clearRect(\n",
- " 0,\n",
- " 0,\n",
- " fig.canvas.width / fig.ratio,\n",
- " fig.canvas.height / fig.ratio\n",
- " );\n",
- "\n",
- " fig.rubberband_context.strokeRect(min_x, min_y, width, height);\n",
- "};\n",
- "\n",
- "mpl.figure.prototype.handle_figure_label = function (fig, msg) {\n",
- " // Updates the figure title.\n",
- " fig.header.textContent = msg['label'];\n",
- "};\n",
- "\n",
- "mpl.figure.prototype.handle_cursor = function (fig, msg) {\n",
- " fig.rubberband_canvas.style.cursor = msg['cursor'];\n",
- "};\n",
- "\n",
- "mpl.figure.prototype.handle_message = function (fig, msg) {\n",
- " fig.message.textContent = msg['message'];\n",
- "};\n",
- "\n",
- "mpl.figure.prototype.handle_draw = function (fig, _msg) {\n",
- " // Request the server to send over a new figure.\n",
- " fig.send_draw_message();\n",
- "};\n",
- "\n",
- "mpl.figure.prototype.handle_image_mode = function (fig, msg) {\n",
- " fig.image_mode = msg['mode'];\n",
- "};\n",
- "\n",
- "mpl.figure.prototype.handle_history_buttons = function (fig, msg) {\n",
- " for (var key in msg) {\n",
- " if (!(key in fig.buttons)) {\n",
- " continue;\n",
- " }\n",
- " fig.buttons[key].disabled = !msg[key];\n",
- " fig.buttons[key].setAttribute('aria-disabled', !msg[key]);\n",
- " }\n",
- "};\n",
- "\n",
- "mpl.figure.prototype.handle_navigate_mode = function (fig, msg) {\n",
- " if (msg['mode'] === 'PAN') {\n",
- " fig.buttons['Pan'].classList.add('active');\n",
- " fig.buttons['Zoom'].classList.remove('active');\n",
- " } else if (msg['mode'] === 'ZOOM') {\n",
- " fig.buttons['Pan'].classList.remove('active');\n",
- " fig.buttons['Zoom'].classList.add('active');\n",
- " } else {\n",
- " fig.buttons['Pan'].classList.remove('active');\n",
- " fig.buttons['Zoom'].classList.remove('active');\n",
- " }\n",
- "};\n",
- "\n",
- "mpl.figure.prototype.updated_canvas_event = function () {\n",
- " // Called whenever the canvas gets updated.\n",
- " this.send_message('ack', {});\n",
- "};\n",
- "\n",
- "// A function to construct a web socket function for onmessage handling.\n",
- "// Called in the figure constructor.\n",
- "mpl.figure.prototype._make_on_message_function = function (fig) {\n",
- " return function socket_on_message(evt) {\n",
- " if (evt.data instanceof Blob) {\n",
- " var img = evt.data;\n",
- " if (img.type !== 'image/png') {\n",
- " /* FIXME: We get \"Resource interpreted as Image but\n",
- " * transferred with MIME type text/plain:\" errors on\n",
- " * Chrome. But how to set the MIME type? It doesn't seem\n",
- " * to be part of the websocket stream */\n",
- " img.type = 'image/png';\n",
- " }\n",
- "\n",
- " /* Free the memory for the previous frames */\n",
- " if (fig.imageObj.src) {\n",
- " (window.URL || window.webkitURL).revokeObjectURL(\n",
- " fig.imageObj.src\n",
- " );\n",
- " }\n",
- "\n",
- " fig.imageObj.src = (window.URL || window.webkitURL).createObjectURL(\n",
- " img\n",
- " );\n",
- " fig.updated_canvas_event();\n",
- " fig.waiting = false;\n",
- " return;\n",
- " } else if (\n",
- " typeof evt.data === 'string' &&\n",
- " evt.data.slice(0, 21) === 'data:image/png;base64'\n",
- " ) {\n",
- " fig.imageObj.src = evt.data;\n",
- " fig.updated_canvas_event();\n",
- " fig.waiting = false;\n",
- " return;\n",
- " }\n",
- "\n",
- " var msg = JSON.parse(evt.data);\n",
- " var msg_type = msg['type'];\n",
- "\n",
- " // Call the \"handle_{type}\" callback, which takes\n",
- " // the figure and JSON message as its only arguments.\n",
- " try {\n",
- " var callback = fig['handle_' + msg_type];\n",
- " } catch (e) {\n",
- " console.log(\n",
- " \"No handler for the '\" + msg_type + \"' message type: \",\n",
- " msg\n",
- " );\n",
- " return;\n",
- " }\n",
- "\n",
- " if (callback) {\n",
- " try {\n",
- " // console.log(\"Handling '\" + msg_type + \"' message: \", msg);\n",
- " callback(fig, msg);\n",
- " } catch (e) {\n",
- " console.log(\n",
- " \"Exception inside the 'handler_\" + msg_type + \"' callback:\",\n",
- " e,\n",
- " e.stack,\n",
- " msg\n",
- " );\n",
- " }\n",
- " }\n",
- " };\n",
- "};\n",
- "\n",
- "// from https://stackoverflow.com/questions/1114465/getting-mouse-location-in-canvas\n",
- "mpl.findpos = function (e) {\n",
- " //this section is from http://www.quirksmode.org/js/events_properties.html\n",
- " var targ;\n",
- " if (!e) {\n",
- " e = window.event;\n",
- " }\n",
- " if (e.target) {\n",
- " targ = e.target;\n",
- " } else if (e.srcElement) {\n",
- " targ = e.srcElement;\n",
- " }\n",
- " if (targ.nodeType === 3) {\n",
- " // defeat Safari bug\n",
- " targ = targ.parentNode;\n",
- " }\n",
- "\n",
- " // pageX,Y are the mouse positions relative to the document\n",
- " var boundingRect = targ.getBoundingClientRect();\n",
- " var x = e.pageX - (boundingRect.left + document.body.scrollLeft);\n",
- " var y = e.pageY - (boundingRect.top + document.body.scrollTop);\n",
- "\n",
- " return { x: x, y: y };\n",
- "};\n",
- "\n",
- "/*\n",
- " * return a copy of an object with only non-object keys\n",
- " * we need this to avoid circular references\n",
- " * https://stackoverflow.com/a/24161582/3208463\n",
- " */\n",
- "function simpleKeys(original) {\n",
- " return Object.keys(original).reduce(function (obj, key) {\n",
- " if (typeof original[key] !== 'object') {\n",
- " obj[key] = original[key];\n",
- " }\n",
- " return obj;\n",
- " }, {});\n",
- "}\n",
- "\n",
- "mpl.figure.prototype.mouse_event = function (event, name) {\n",
- " var canvas_pos = mpl.findpos(event);\n",
- "\n",
- " if (name === 'button_press') {\n",
- " this.canvas.focus();\n",
- " this.canvas_div.focus();\n",
- " }\n",
- "\n",
- " var x = canvas_pos.x * this.ratio;\n",
- " var y = canvas_pos.y * this.ratio;\n",
- "\n",
- " this.send_message(name, {\n",
- " x: x,\n",
- " y: y,\n",
- " button: event.button,\n",
- " step: event.step,\n",
- " guiEvent: simpleKeys(event),\n",
- " });\n",
- "\n",
- " /* This prevents the web browser from automatically changing to\n",
- " * the text insertion cursor when the button is pressed. We want\n",
- " * to control all of the cursor setting manually through the\n",
- " * 'cursor' event from matplotlib */\n",
- " event.preventDefault();\n",
- " return false;\n",
- "};\n",
- "\n",
- "mpl.figure.prototype._key_event_extra = function (_event, _name) {\n",
- " // Handle any extra behaviour associated with a key event\n",
- "};\n",
- "\n",
- "mpl.figure.prototype.key_event = function (event, name) {\n",
- " // Prevent repeat events\n",
- " if (name === 'key_press') {\n",
- " if (event.key === this._key) {\n",
- " return;\n",
- " } else {\n",
- " this._key = event.key;\n",
- " }\n",
- " }\n",
- " if (name === 'key_release') {\n",
- " this._key = null;\n",
- " }\n",
- "\n",
- " var value = '';\n",
- " if (event.ctrlKey && event.key !== 'Control') {\n",
- " value += 'ctrl+';\n",
- " }\n",
- " else if (event.altKey && event.key !== 'Alt') {\n",
- " value += 'alt+';\n",
- " }\n",
- " else if (event.shiftKey && event.key !== 'Shift') {\n",
- " value += 'shift+';\n",
- " }\n",
- "\n",
- " value += 'k' + event.key;\n",
- "\n",
- " this._key_event_extra(event, name);\n",
- "\n",
- " this.send_message(name, { key: value, guiEvent: simpleKeys(event) });\n",
- " return false;\n",
- "};\n",
- "\n",
- "mpl.figure.prototype.toolbar_button_onclick = function (name) {\n",
- " if (name === 'download') {\n",
- " this.handle_save(this, null);\n",
- " } else {\n",
- " this.send_message('toolbar_button', { name: name });\n",
- " }\n",
- "};\n",
- "\n",
- "mpl.figure.prototype.toolbar_button_onmouseover = function (tooltip) {\n",
- " this.message.textContent = tooltip;\n",
- "};\n",
- "\n",
- "///////////////// REMAINING CONTENT GENERATED BY embed_js.py /////////////////\n",
- "// prettier-ignore\n",
- "var _JSXTOOLS_RESIZE_OBSERVER=function(A){var t,i=new WeakMap,n=new WeakMap,a=new WeakMap,r=new WeakMap,o=new Set;function s(e){if(!(this instanceof s))throw new TypeError(\"Constructor requires 'new' operator\");i.set(this,e)}function h(){throw new TypeError(\"Function is not a constructor\")}function c(e,t,i,n){e=0 in arguments?Number(arguments[0]):0,t=1 in arguments?Number(arguments[1]):0,i=2 in arguments?Number(arguments[2]):0,n=3 in arguments?Number(arguments[3]):0,this.right=(this.x=this.left=e)+(this.width=i),this.bottom=(this.y=this.top=t)+(this.height=n),Object.freeze(this)}function d(){t=requestAnimationFrame(d);var s=new WeakMap,p=new Set;o.forEach((function(t){r.get(t).forEach((function(i){var r=t instanceof window.SVGElement,o=a.get(t),d=r?0:parseFloat(o.paddingTop),f=r?0:parseFloat(o.paddingRight),l=r?0:parseFloat(o.paddingBottom),u=r?0:parseFloat(o.paddingLeft),g=r?0:parseFloat(o.borderTopWidth),m=r?0:parseFloat(o.borderRightWidth),w=r?0:parseFloat(o.borderBottomWidth),b=u+f,F=d+l,v=(r?0:parseFloat(o.borderLeftWidth))+m,W=g+w,y=r?0:t.offsetHeight-W-t.clientHeight,E=r?0:t.offsetWidth-v-t.clientWidth,R=b+v,z=F+W,M=r?t.width:parseFloat(o.width)-R-E,O=r?t.height:parseFloat(o.height)-z-y;if(n.has(t)){var k=n.get(t);if(k[0]===M&&k[1]===O)return}n.set(t,[M,O]);var S=Object.create(h.prototype);S.target=t,S.contentRect=new c(u,d,M,O),s.has(i)||(s.set(i,[]),p.add(i)),s.get(i).push(S)}))})),p.forEach((function(e){i.get(e).call(e,s.get(e),e)}))}return s.prototype.observe=function(i){if(i instanceof window.Element){r.has(i)||(r.set(i,new Set),o.add(i),a.set(i,window.getComputedStyle(i)));var n=r.get(i);n.has(this)||n.add(this),cancelAnimationFrame(t),t=requestAnimationFrame(d)}},s.prototype.unobserve=function(i){if(i instanceof window.Element&&r.has(i)){var n=r.get(i);n.has(this)&&(n.delete(this),n.size||(r.delete(i),o.delete(i))),n.size||r.delete(i),o.size||cancelAnimationFrame(t)}},A.DOMRectReadOnly=c,A.ResizeObserver=s,A.ResizeObserverEntry=h,A}; // eslint-disable-line\n",
- "mpl.toolbar_items = [[\"Home\", \"Reset original view\", \"fa fa-home icon-home\", \"home\"], [\"Back\", \"Back to previous view\", \"fa fa-arrow-left icon-arrow-left\", \"back\"], [\"Forward\", \"Forward to next view\", \"fa fa-arrow-right icon-arrow-right\", \"forward\"], [\"\", \"\", \"\", \"\"], [\"Pan\", \"Left button pans, Right button zooms\\nx/y fixes axis, CTRL fixes aspect\", \"fa fa-arrows icon-move\", \"pan\"], [\"Zoom\", \"Zoom to rectangle\\nx/y fixes axis\", \"fa fa-square-o icon-check-empty\", \"zoom\"], [\"\", \"\", \"\", \"\"], [\"Download\", \"Download plot\", \"fa fa-floppy-o icon-save\", \"download\"]];\n",
- "\n",
- "mpl.extensions = [\"eps\", \"jpeg\", \"pgf\", \"pdf\", \"png\", \"ps\", \"raw\", \"svg\", \"tif\"];\n",
- "\n",
- "mpl.default_extension = \"png\";/* global mpl */\n",
- "\n",
- "var comm_websocket_adapter = function (comm) {\n",
- " // Create a \"websocket\"-like object which calls the given IPython comm\n",
- " // object with the appropriate methods. Currently this is a non binary\n",
- " // socket, so there is still some room for performance tuning.\n",
- " var ws = {};\n",
- "\n",
- " ws.binaryType = comm.kernel.ws.binaryType;\n",
- " ws.readyState = comm.kernel.ws.readyState;\n",
- " function updateReadyState(_event) {\n",
- " if (comm.kernel.ws) {\n",
- " ws.readyState = comm.kernel.ws.readyState;\n",
- " } else {\n",
- " ws.readyState = 3; // Closed state.\n",
- " }\n",
- " }\n",
- " comm.kernel.ws.addEventListener('open', updateReadyState);\n",
- " comm.kernel.ws.addEventListener('close', updateReadyState);\n",
- " comm.kernel.ws.addEventListener('error', updateReadyState);\n",
- "\n",
- " ws.close = function () {\n",
- " comm.close();\n",
- " };\n",
- " ws.send = function (m) {\n",
- " //console.log('sending', m);\n",
- " comm.send(m);\n",
- " };\n",
- " // Register the callback with on_msg.\n",
- " comm.on_msg(function (msg) {\n",
- " //console.log('receiving', msg['content']['data'], msg);\n",
- " var data = msg['content']['data'];\n",
- " if (data['blob'] !== undefined) {\n",
- " data = {\n",
- " data: new Blob(msg['buffers'], { type: data['blob'] }),\n",
- " };\n",
- " }\n",
- " // Pass the mpl event to the overridden (by mpl) onmessage function.\n",
- " ws.onmessage(data);\n",
- " });\n",
- " return ws;\n",
- "};\n",
- "\n",
- "mpl.mpl_figure_comm = function (comm, msg) {\n",
- " // This is the function which gets called when the mpl process\n",
- " // starts-up an IPython Comm through the \"matplotlib\" channel.\n",
- "\n",
- " var id = msg.content.data.id;\n",
- " // Get hold of the div created by the display call when the Comm\n",
- " // socket was opened in Python.\n",
- " var element = document.getElementById(id);\n",
- " var ws_proxy = comm_websocket_adapter(comm);\n",
- "\n",
- " function ondownload(figure, _format) {\n",
- " window.open(figure.canvas.toDataURL());\n",
- " }\n",
- "\n",
- " var fig = new mpl.figure(id, ws_proxy, ondownload, element);\n",
- "\n",
- " // Call onopen now - mpl needs it, as it is assuming we've passed it a real\n",
- " // web socket which is closed, not our websocket->open comm proxy.\n",
- " ws_proxy.onopen();\n",
- "\n",
- " fig.parent_element = element;\n",
- " fig.cell_info = mpl.find_output_cell(\"\");\n",
- " if (!fig.cell_info) {\n",
- " console.error('Failed to find cell for figure', id, fig);\n",
- " return;\n",
- " }\n",
- " fig.cell_info[0].output_area.element.on(\n",
- " 'cleared',\n",
- " { fig: fig },\n",
- " fig._remove_fig_handler\n",
- " );\n",
- "};\n",
- "\n",
- "mpl.figure.prototype.handle_close = function (fig, msg) {\n",
- " var width = fig.canvas.width / fig.ratio;\n",
- " fig.cell_info[0].output_area.element.off(\n",
- " 'cleared',\n",
- " fig._remove_fig_handler\n",
- " );\n",
- " fig.resizeObserverInstance.unobserve(fig.canvas_div);\n",
- "\n",
- " // Update the output cell to use the data from the current canvas.\n",
- " fig.push_to_output();\n",
- " var dataURL = fig.canvas.toDataURL();\n",
- " // Re-enable the keyboard manager in IPython - without this line, in FF,\n",
- " // the notebook keyboard shortcuts fail.\n",
- " IPython.keyboard_manager.enable();\n",
- " fig.parent_element.innerHTML =\n",
- " '
';\n",
- " fig.close_ws(fig, msg);\n",
- "};\n",
- "\n",
- "mpl.figure.prototype.close_ws = function (fig, msg) {\n",
- " fig.send_message('closing', msg);\n",
- " // fig.ws.close()\n",
- "};\n",
- "\n",
- "mpl.figure.prototype.push_to_output = function (_remove_interactive) {\n",
- " // Turn the data on the canvas into data in the output cell.\n",
- " var width = this.canvas.width / this.ratio;\n",
- " var dataURL = this.canvas.toDataURL();\n",
- " this.cell_info[1]['text/html'] =\n",
- " '
';\n",
- "};\n",
- "\n",
- "mpl.figure.prototype.updated_canvas_event = function () {\n",
- " // Tell IPython that the notebook contents must change.\n",
- " IPython.notebook.set_dirty(true);\n",
- " this.send_message('ack', {});\n",
- " var fig = this;\n",
- " // Wait a second, then push the new image to the DOM so\n",
- " // that it is saved nicely (might be nice to debounce this).\n",
- " setTimeout(function () {\n",
- " fig.push_to_output();\n",
- " }, 1000);\n",
- "};\n",
- "\n",
- "mpl.figure.prototype._init_toolbar = function () {\n",
- " var fig = this;\n",
- "\n",
- " var toolbar = document.createElement('div');\n",
- " toolbar.classList = 'btn-toolbar';\n",
- " this.root.appendChild(toolbar);\n",
- "\n",
- " function on_click_closure(name) {\n",
- " return function (_event) {\n",
- " return fig.toolbar_button_onclick(name);\n",
- " };\n",
- " }\n",
- "\n",
- " function on_mouseover_closure(tooltip) {\n",
- " return function (event) {\n",
- " if (!event.currentTarget.disabled) {\n",
- " return fig.toolbar_button_onmouseover(tooltip);\n",
- " }\n",
- " };\n",
- " }\n",
- "\n",
- " fig.buttons = {};\n",
- " var buttonGroup = document.createElement('div');\n",
- " buttonGroup.classList = 'btn-group';\n",
- " var button;\n",
- " for (var toolbar_ind in mpl.toolbar_items) {\n",
- " var name = mpl.toolbar_items[toolbar_ind][0];\n",
- " var tooltip = mpl.toolbar_items[toolbar_ind][1];\n",
- " var image = mpl.toolbar_items[toolbar_ind][2];\n",
- " var method_name = mpl.toolbar_items[toolbar_ind][3];\n",
- "\n",
- " if (!name) {\n",
- " /* Instead of a spacer, we start a new button group. */\n",
- " if (buttonGroup.hasChildNodes()) {\n",
- " toolbar.appendChild(buttonGroup);\n",
- " }\n",
- " buttonGroup = document.createElement('div');\n",
- " buttonGroup.classList = 'btn-group';\n",
- " continue;\n",
- " }\n",
- "\n",
- " button = fig.buttons[name] = document.createElement('button');\n",
- " button.classList = 'btn btn-default';\n",
- " button.href = '#';\n",
- " button.title = name;\n",
- " button.innerHTML = '';\n",
- " button.addEventListener('click', on_click_closure(method_name));\n",
- " button.addEventListener('mouseover', on_mouseover_closure(tooltip));\n",
- " buttonGroup.appendChild(button);\n",
- " }\n",
- "\n",
- " if (buttonGroup.hasChildNodes()) {\n",
- " toolbar.appendChild(buttonGroup);\n",
- " }\n",
- "\n",
- " // Add the status bar.\n",
- " var status_bar = document.createElement('span');\n",
- " status_bar.classList = 'mpl-message pull-right';\n",
- " toolbar.appendChild(status_bar);\n",
- " this.message = status_bar;\n",
- "\n",
- " // Add the close button to the window.\n",
- " var buttongrp = document.createElement('div');\n",
- " buttongrp.classList = 'btn-group inline pull-right';\n",
- " button = document.createElement('button');\n",
- " button.classList = 'btn btn-mini btn-primary';\n",
- " button.href = '#';\n",
- " button.title = 'Stop Interaction';\n",
- " button.innerHTML = '';\n",
- " button.addEventListener('click', function (_evt) {\n",
- " fig.handle_close(fig, {});\n",
- " });\n",
- " button.addEventListener(\n",
- " 'mouseover',\n",
- " on_mouseover_closure('Stop Interaction')\n",
- " );\n",
- " buttongrp.appendChild(button);\n",
- " var titlebar = this.root.querySelector('.ui-dialog-titlebar');\n",
- " titlebar.insertBefore(buttongrp, titlebar.firstChild);\n",
- "};\n",
- "\n",
- "mpl.figure.prototype._remove_fig_handler = function (event) {\n",
- " var fig = event.data.fig;\n",
- " if (event.target !== this) {\n",
- " // Ignore bubbled events from children.\n",
- " return;\n",
- " }\n",
- " fig.close_ws(fig, {});\n",
- "};\n",
- "\n",
- "mpl.figure.prototype._root_extra_style = function (el) {\n",
- " el.style.boxSizing = 'content-box'; // override notebook setting of border-box.\n",
- "};\n",
- "\n",
- "mpl.figure.prototype._canvas_extra_style = function (el) {\n",
- " // this is important to make the div 'focusable\n",
- " el.setAttribute('tabindex', 0);\n",
- " // reach out to IPython and tell the keyboard manager to turn it's self\n",
- " // off when our div gets focus\n",
- "\n",
- " // location in version 3\n",
- " if (IPython.notebook.keyboard_manager) {\n",
- " IPython.notebook.keyboard_manager.register_events(el);\n",
- " } else {\n",
- " // location in version 2\n",
- " IPython.keyboard_manager.register_events(el);\n",
- " }\n",
- "};\n",
- "\n",
- "mpl.figure.prototype._key_event_extra = function (event, _name) {\n",
- " // Check for shift+enter\n",
- " if (event.shiftKey && event.which === 13) {\n",
- " this.canvas_div.blur();\n",
- " // select the cell after this one\n",
- " var index = IPython.notebook.find_cell_index(this.cell_info[0]);\n",
- " IPython.notebook.select(index + 1);\n",
- " }\n",
- "};\n",
- "\n",
- "mpl.figure.prototype.handle_save = function (fig, _msg) {\n",
- " fig.ondownload(fig, null);\n",
- "};\n",
- "\n",
- "mpl.find_output_cell = function (html_output) {\n",
- " // Return the cell and output element which can be found *uniquely* in the notebook.\n",
- " // Note - this is a bit hacky, but it is done because the \"notebook_saving.Notebook\"\n",
- " // IPython event is triggered only after the cells have been serialised, which for\n",
- " // our purposes (turning an active figure into a static one), is too late.\n",
- " var cells = IPython.notebook.get_cells();\n",
- " var ncells = cells.length;\n",
- " for (var i = 0; i < ncells; i++) {\n",
- " var cell = cells[i];\n",
- " if (cell.cell_type === 'code') {\n",
- " for (var j = 0; j < cell.output_area.outputs.length; j++) {\n",
- " var data = cell.output_area.outputs[j];\n",
- " if (data.data) {\n",
- " // IPython >= 3 moved mimebundle to data attribute of output\n",
- " data = data.data;\n",
- " }\n",
- " if (data['text/html'] === html_output) {\n",
- " return [cell, data, j];\n",
- " }\n",
- " }\n",
- " }\n",
- " }\n",
- "};\n",
- "\n",
- "// Register the function which deals with the matplotlib target/channel.\n",
- "// The kernel may be null if the page has been refreshed.\n",
- "if (IPython.notebook.kernel !== null) {\n",
- " IPython.notebook.kernel.comm_manager.register_target(\n",
- " 'matplotlib',\n",
- " mpl.mpl_figure_comm\n",
- " );\n",
- "}\n"
- ],
- "text/plain": [
- ""
- ]
- },
- "metadata": {},
- "output_type": "display_data"
- },
- {
- "data": {
- "text/html": [
- "
"
- ],
- "text/plain": [
- ""
- ]
- },
- "metadata": {},
- "output_type": "display_data"
- }
- ],
+ "outputs": [],
"source": [
"fig, ax = plt.subplots()\n",
"\n",
"# We then use ax to do our plotting\n",
- "ax.plot(x,y,color='red',ls='-',lw=2,alpha=1,zorder=1)\n",
- "ax.plot(x,y,color='royalblue',marker='*',ms=15,ls='None',zorder=0)\n",
- "\n",
+ "ax.plot(x,y,color='royalblue',marker='*',ms=15,ls='None')\n",
+ "ax.plot(x,y,color='red',ls='-',lw=2,alpha=1)\n",
"ax.invert_yaxis()"
]
},
@@ -4461,997 +488,9 @@
},
{
"cell_type": "code",
- "execution_count": 32,
+ "execution_count": null,
"metadata": {},
- "outputs": [
- {
- "data": {
- "application/javascript": [
- "/* Put everything inside the global mpl namespace */\n",
- "/* global mpl */\n",
- "window.mpl = {};\n",
- "\n",
- "mpl.get_websocket_type = function () {\n",
- " if (typeof WebSocket !== 'undefined') {\n",
- " return WebSocket;\n",
- " } else if (typeof MozWebSocket !== 'undefined') {\n",
- " return MozWebSocket;\n",
- " } else {\n",
- " alert(\n",
- " 'Your browser does not have WebSocket support. ' +\n",
- " 'Please try Chrome, Safari or Firefox ≥ 6. ' +\n",
- " 'Firefox 4 and 5 are also supported but you ' +\n",
- " 'have to enable WebSockets in about:config.'\n",
- " );\n",
- " }\n",
- "};\n",
- "\n",
- "mpl.figure = function (figure_id, websocket, ondownload, parent_element) {\n",
- " this.id = figure_id;\n",
- "\n",
- " this.ws = websocket;\n",
- "\n",
- " this.supports_binary = this.ws.binaryType !== undefined;\n",
- "\n",
- " if (!this.supports_binary) {\n",
- " var warnings = document.getElementById('mpl-warnings');\n",
- " if (warnings) {\n",
- " warnings.style.display = 'block';\n",
- " warnings.textContent =\n",
- " 'This browser does not support binary websocket messages. ' +\n",
- " 'Performance may be slow.';\n",
- " }\n",
- " }\n",
- "\n",
- " this.imageObj = new Image();\n",
- "\n",
- " this.context = undefined;\n",
- " this.message = undefined;\n",
- " this.canvas = undefined;\n",
- " this.rubberband_canvas = undefined;\n",
- " this.rubberband_context = undefined;\n",
- " this.format_dropdown = undefined;\n",
- "\n",
- " this.image_mode = 'full';\n",
- "\n",
- " this.root = document.createElement('div');\n",
- " this.root.setAttribute('style', 'display: inline-block');\n",
- " this._root_extra_style(this.root);\n",
- "\n",
- " parent_element.appendChild(this.root);\n",
- "\n",
- " this._init_header(this);\n",
- " this._init_canvas(this);\n",
- " this._init_toolbar(this);\n",
- "\n",
- " var fig = this;\n",
- "\n",
- " this.waiting = false;\n",
- "\n",
- " this.ws.onopen = function () {\n",
- " fig.send_message('supports_binary', { value: fig.supports_binary });\n",
- " fig.send_message('send_image_mode', {});\n",
- " if (fig.ratio !== 1) {\n",
- " fig.send_message('set_device_pixel_ratio', {\n",
- " device_pixel_ratio: fig.ratio,\n",
- " });\n",
- " }\n",
- " fig.send_message('refresh', {});\n",
- " };\n",
- "\n",
- " this.imageObj.onload = function () {\n",
- " if (fig.image_mode === 'full') {\n",
- " // Full images could contain transparency (where diff images\n",
- " // almost always do), so we need to clear the canvas so that\n",
- " // there is no ghosting.\n",
- " fig.context.clearRect(0, 0, fig.canvas.width, fig.canvas.height);\n",
- " }\n",
- " fig.context.drawImage(fig.imageObj, 0, 0);\n",
- " };\n",
- "\n",
- " this.imageObj.onunload = function () {\n",
- " fig.ws.close();\n",
- " };\n",
- "\n",
- " this.ws.onmessage = this._make_on_message_function(this);\n",
- "\n",
- " this.ondownload = ondownload;\n",
- "};\n",
- "\n",
- "mpl.figure.prototype._init_header = function () {\n",
- " var titlebar = document.createElement('div');\n",
- " titlebar.classList =\n",
- " 'ui-dialog-titlebar ui-widget-header ui-corner-all ui-helper-clearfix';\n",
- " var titletext = document.createElement('div');\n",
- " titletext.classList = 'ui-dialog-title';\n",
- " titletext.setAttribute(\n",
- " 'style',\n",
- " 'width: 100%; text-align: center; padding: 3px;'\n",
- " );\n",
- " titlebar.appendChild(titletext);\n",
- " this.root.appendChild(titlebar);\n",
- " this.header = titletext;\n",
- "};\n",
- "\n",
- "mpl.figure.prototype._canvas_extra_style = function (_canvas_div) {};\n",
- "\n",
- "mpl.figure.prototype._root_extra_style = function (_canvas_div) {};\n",
- "\n",
- "mpl.figure.prototype._init_canvas = function () {\n",
- " var fig = this;\n",
- "\n",
- " var canvas_div = (this.canvas_div = document.createElement('div'));\n",
- " canvas_div.setAttribute(\n",
- " 'style',\n",
- " 'border: 1px solid #ddd;' +\n",
- " 'box-sizing: content-box;' +\n",
- " 'clear: both;' +\n",
- " 'min-height: 1px;' +\n",
- " 'min-width: 1px;' +\n",
- " 'outline: 0;' +\n",
- " 'overflow: hidden;' +\n",
- " 'position: relative;' +\n",
- " 'resize: both;'\n",
- " );\n",
- "\n",
- " function on_keyboard_event_closure(name) {\n",
- " return function (event) {\n",
- " return fig.key_event(event, name);\n",
- " };\n",
- " }\n",
- "\n",
- " canvas_div.addEventListener(\n",
- " 'keydown',\n",
- " on_keyboard_event_closure('key_press')\n",
- " );\n",
- " canvas_div.addEventListener(\n",
- " 'keyup',\n",
- " on_keyboard_event_closure('key_release')\n",
- " );\n",
- "\n",
- " this._canvas_extra_style(canvas_div);\n",
- " this.root.appendChild(canvas_div);\n",
- "\n",
- " var canvas = (this.canvas = document.createElement('canvas'));\n",
- " canvas.classList.add('mpl-canvas');\n",
- " canvas.setAttribute('style', 'box-sizing: content-box;');\n",
- "\n",
- " this.context = canvas.getContext('2d');\n",
- "\n",
- " var backingStore =\n",
- " this.context.backingStorePixelRatio ||\n",
- " this.context.webkitBackingStorePixelRatio ||\n",
- " this.context.mozBackingStorePixelRatio ||\n",
- " this.context.msBackingStorePixelRatio ||\n",
- " this.context.oBackingStorePixelRatio ||\n",
- " this.context.backingStorePixelRatio ||\n",
- " 1;\n",
- "\n",
- " this.ratio = (window.devicePixelRatio || 1) / backingStore;\n",
- "\n",
- " var rubberband_canvas = (this.rubberband_canvas = document.createElement(\n",
- " 'canvas'\n",
- " ));\n",
- " rubberband_canvas.setAttribute(\n",
- " 'style',\n",
- " 'box-sizing: content-box; position: absolute; left: 0; top: 0; z-index: 1;'\n",
- " );\n",
- "\n",
- " // Apply a ponyfill if ResizeObserver is not implemented by browser.\n",
- " if (this.ResizeObserver === undefined) {\n",
- " if (window.ResizeObserver !== undefined) {\n",
- " this.ResizeObserver = window.ResizeObserver;\n",
- " } else {\n",
- " var obs = _JSXTOOLS_RESIZE_OBSERVER({});\n",
- " this.ResizeObserver = obs.ResizeObserver;\n",
- " }\n",
- " }\n",
- "\n",
- " this.resizeObserverInstance = new this.ResizeObserver(function (entries) {\n",
- " var nentries = entries.length;\n",
- " for (var i = 0; i < nentries; i++) {\n",
- " var entry = entries[i];\n",
- " var width, height;\n",
- " if (entry.contentBoxSize) {\n",
- " if (entry.contentBoxSize instanceof Array) {\n",
- " // Chrome 84 implements new version of spec.\n",
- " width = entry.contentBoxSize[0].inlineSize;\n",
- " height = entry.contentBoxSize[0].blockSize;\n",
- " } else {\n",
- " // Firefox implements old version of spec.\n",
- " width = entry.contentBoxSize.inlineSize;\n",
- " height = entry.contentBoxSize.blockSize;\n",
- " }\n",
- " } else {\n",
- " // Chrome <84 implements even older version of spec.\n",
- " width = entry.contentRect.width;\n",
- " height = entry.contentRect.height;\n",
- " }\n",
- "\n",
- " // Keep the size of the canvas and rubber band canvas in sync with\n",
- " // the canvas container.\n",
- " if (entry.devicePixelContentBoxSize) {\n",
- " // Chrome 84 implements new version of spec.\n",
- " canvas.setAttribute(\n",
- " 'width',\n",
- " entry.devicePixelContentBoxSize[0].inlineSize\n",
- " );\n",
- " canvas.setAttribute(\n",
- " 'height',\n",
- " entry.devicePixelContentBoxSize[0].blockSize\n",
- " );\n",
- " } else {\n",
- " canvas.setAttribute('width', width * fig.ratio);\n",
- " canvas.setAttribute('height', height * fig.ratio);\n",
- " }\n",
- " canvas.setAttribute(\n",
- " 'style',\n",
- " 'width: ' + width + 'px; height: ' + height + 'px;'\n",
- " );\n",
- "\n",
- " rubberband_canvas.setAttribute('width', width);\n",
- " rubberband_canvas.setAttribute('height', height);\n",
- "\n",
- " // And update the size in Python. We ignore the initial 0/0 size\n",
- " // that occurs as the element is placed into the DOM, which should\n",
- " // otherwise not happen due to the minimum size styling.\n",
- " if (fig.ws.readyState == 1 && width != 0 && height != 0) {\n",
- " fig.request_resize(width, height);\n",
- " }\n",
- " }\n",
- " });\n",
- " this.resizeObserverInstance.observe(canvas_div);\n",
- "\n",
- " function on_mouse_event_closure(name) {\n",
- " return function (event) {\n",
- " return fig.mouse_event(event, name);\n",
- " };\n",
- " }\n",
- "\n",
- " rubberband_canvas.addEventListener(\n",
- " 'mousedown',\n",
- " on_mouse_event_closure('button_press')\n",
- " );\n",
- " rubberband_canvas.addEventListener(\n",
- " 'mouseup',\n",
- " on_mouse_event_closure('button_release')\n",
- " );\n",
- " rubberband_canvas.addEventListener(\n",
- " 'dblclick',\n",
- " on_mouse_event_closure('dblclick')\n",
- " );\n",
- " // Throttle sequential mouse events to 1 every 20ms.\n",
- " rubberband_canvas.addEventListener(\n",
- " 'mousemove',\n",
- " on_mouse_event_closure('motion_notify')\n",
- " );\n",
- "\n",
- " rubberband_canvas.addEventListener(\n",
- " 'mouseenter',\n",
- " on_mouse_event_closure('figure_enter')\n",
- " );\n",
- " rubberband_canvas.addEventListener(\n",
- " 'mouseleave',\n",
- " on_mouse_event_closure('figure_leave')\n",
- " );\n",
- "\n",
- " canvas_div.addEventListener('wheel', function (event) {\n",
- " if (event.deltaY < 0) {\n",
- " event.step = 1;\n",
- " } else {\n",
- " event.step = -1;\n",
- " }\n",
- " on_mouse_event_closure('scroll')(event);\n",
- " });\n",
- "\n",
- " canvas_div.appendChild(canvas);\n",
- " canvas_div.appendChild(rubberband_canvas);\n",
- "\n",
- " this.rubberband_context = rubberband_canvas.getContext('2d');\n",
- " this.rubberband_context.strokeStyle = '#000000';\n",
- "\n",
- " this._resize_canvas = function (width, height, forward) {\n",
- " if (forward) {\n",
- " canvas_div.style.width = width + 'px';\n",
- " canvas_div.style.height = height + 'px';\n",
- " }\n",
- " };\n",
- "\n",
- " // Disable right mouse context menu.\n",
- " this.rubberband_canvas.addEventListener('contextmenu', function (_e) {\n",
- " event.preventDefault();\n",
- " return false;\n",
- " });\n",
- "\n",
- " function set_focus() {\n",
- " canvas.focus();\n",
- " canvas_div.focus();\n",
- " }\n",
- "\n",
- " window.setTimeout(set_focus, 100);\n",
- "};\n",
- "\n",
- "mpl.figure.prototype._init_toolbar = function () {\n",
- " var fig = this;\n",
- "\n",
- " var toolbar = document.createElement('div');\n",
- " toolbar.classList = 'mpl-toolbar';\n",
- " this.root.appendChild(toolbar);\n",
- "\n",
- " function on_click_closure(name) {\n",
- " return function (_event) {\n",
- " return fig.toolbar_button_onclick(name);\n",
- " };\n",
- " }\n",
- "\n",
- " function on_mouseover_closure(tooltip) {\n",
- " return function (event) {\n",
- " if (!event.currentTarget.disabled) {\n",
- " return fig.toolbar_button_onmouseover(tooltip);\n",
- " }\n",
- " };\n",
- " }\n",
- "\n",
- " fig.buttons = {};\n",
- " var buttonGroup = document.createElement('div');\n",
- " buttonGroup.classList = 'mpl-button-group';\n",
- " for (var toolbar_ind in mpl.toolbar_items) {\n",
- " var name = mpl.toolbar_items[toolbar_ind][0];\n",
- " var tooltip = mpl.toolbar_items[toolbar_ind][1];\n",
- " var image = mpl.toolbar_items[toolbar_ind][2];\n",
- " var method_name = mpl.toolbar_items[toolbar_ind][3];\n",
- "\n",
- " if (!name) {\n",
- " /* Instead of a spacer, we start a new button group. */\n",
- " if (buttonGroup.hasChildNodes()) {\n",
- " toolbar.appendChild(buttonGroup);\n",
- " }\n",
- " buttonGroup = document.createElement('div');\n",
- " buttonGroup.classList = 'mpl-button-group';\n",
- " continue;\n",
- " }\n",
- "\n",
- " var button = (fig.buttons[name] = document.createElement('button'));\n",
- " button.classList = 'mpl-widget';\n",
- " button.setAttribute('role', 'button');\n",
- " button.setAttribute('aria-disabled', 'false');\n",
- " button.addEventListener('click', on_click_closure(method_name));\n",
- " button.addEventListener('mouseover', on_mouseover_closure(tooltip));\n",
- "\n",
- " var icon_img = document.createElement('img');\n",
- " icon_img.src = '_images/' + image + '.png';\n",
- " icon_img.srcset = '_images/' + image + '_large.png 2x';\n",
- " icon_img.alt = tooltip;\n",
- " button.appendChild(icon_img);\n",
- "\n",
- " buttonGroup.appendChild(button);\n",
- " }\n",
- "\n",
- " if (buttonGroup.hasChildNodes()) {\n",
- " toolbar.appendChild(buttonGroup);\n",
- " }\n",
- "\n",
- " var fmt_picker = document.createElement('select');\n",
- " fmt_picker.classList = 'mpl-widget';\n",
- " toolbar.appendChild(fmt_picker);\n",
- " this.format_dropdown = fmt_picker;\n",
- "\n",
- " for (var ind in mpl.extensions) {\n",
- " var fmt = mpl.extensions[ind];\n",
- " var option = document.createElement('option');\n",
- " option.selected = fmt === mpl.default_extension;\n",
- " option.innerHTML = fmt;\n",
- " fmt_picker.appendChild(option);\n",
- " }\n",
- "\n",
- " var status_bar = document.createElement('span');\n",
- " status_bar.classList = 'mpl-message';\n",
- " toolbar.appendChild(status_bar);\n",
- " this.message = status_bar;\n",
- "};\n",
- "\n",
- "mpl.figure.prototype.request_resize = function (x_pixels, y_pixels) {\n",
- " // Request matplotlib to resize the figure. Matplotlib will then trigger a resize in the client,\n",
- " // which will in turn request a refresh of the image.\n",
- " this.send_message('resize', { width: x_pixels, height: y_pixels });\n",
- "};\n",
- "\n",
- "mpl.figure.prototype.send_message = function (type, properties) {\n",
- " properties['type'] = type;\n",
- " properties['figure_id'] = this.id;\n",
- " this.ws.send(JSON.stringify(properties));\n",
- "};\n",
- "\n",
- "mpl.figure.prototype.send_draw_message = function () {\n",
- " if (!this.waiting) {\n",
- " this.waiting = true;\n",
- " this.ws.send(JSON.stringify({ type: 'draw', figure_id: this.id }));\n",
- " }\n",
- "};\n",
- "\n",
- "mpl.figure.prototype.handle_save = function (fig, _msg) {\n",
- " var format_dropdown = fig.format_dropdown;\n",
- " var format = format_dropdown.options[format_dropdown.selectedIndex].value;\n",
- " fig.ondownload(fig, format);\n",
- "};\n",
- "\n",
- "mpl.figure.prototype.handle_resize = function (fig, msg) {\n",
- " var size = msg['size'];\n",
- " if (size[0] !== fig.canvas.width || size[1] !== fig.canvas.height) {\n",
- " fig._resize_canvas(size[0], size[1], msg['forward']);\n",
- " fig.send_message('refresh', {});\n",
- " }\n",
- "};\n",
- "\n",
- "mpl.figure.prototype.handle_rubberband = function (fig, msg) {\n",
- " var x0 = msg['x0'] / fig.ratio;\n",
- " var y0 = (fig.canvas.height - msg['y0']) / fig.ratio;\n",
- " var x1 = msg['x1'] / fig.ratio;\n",
- " var y1 = (fig.canvas.height - msg['y1']) / fig.ratio;\n",
- " x0 = Math.floor(x0) + 0.5;\n",
- " y0 = Math.floor(y0) + 0.5;\n",
- " x1 = Math.floor(x1) + 0.5;\n",
- " y1 = Math.floor(y1) + 0.5;\n",
- " var min_x = Math.min(x0, x1);\n",
- " var min_y = Math.min(y0, y1);\n",
- " var width = Math.abs(x1 - x0);\n",
- " var height = Math.abs(y1 - y0);\n",
- "\n",
- " fig.rubberband_context.clearRect(\n",
- " 0,\n",
- " 0,\n",
- " fig.canvas.width / fig.ratio,\n",
- " fig.canvas.height / fig.ratio\n",
- " );\n",
- "\n",
- " fig.rubberband_context.strokeRect(min_x, min_y, width, height);\n",
- "};\n",
- "\n",
- "mpl.figure.prototype.handle_figure_label = function (fig, msg) {\n",
- " // Updates the figure title.\n",
- " fig.header.textContent = msg['label'];\n",
- "};\n",
- "\n",
- "mpl.figure.prototype.handle_cursor = function (fig, msg) {\n",
- " fig.rubberband_canvas.style.cursor = msg['cursor'];\n",
- "};\n",
- "\n",
- "mpl.figure.prototype.handle_message = function (fig, msg) {\n",
- " fig.message.textContent = msg['message'];\n",
- "};\n",
- "\n",
- "mpl.figure.prototype.handle_draw = function (fig, _msg) {\n",
- " // Request the server to send over a new figure.\n",
- " fig.send_draw_message();\n",
- "};\n",
- "\n",
- "mpl.figure.prototype.handle_image_mode = function (fig, msg) {\n",
- " fig.image_mode = msg['mode'];\n",
- "};\n",
- "\n",
- "mpl.figure.prototype.handle_history_buttons = function (fig, msg) {\n",
- " for (var key in msg) {\n",
- " if (!(key in fig.buttons)) {\n",
- " continue;\n",
- " }\n",
- " fig.buttons[key].disabled = !msg[key];\n",
- " fig.buttons[key].setAttribute('aria-disabled', !msg[key]);\n",
- " }\n",
- "};\n",
- "\n",
- "mpl.figure.prototype.handle_navigate_mode = function (fig, msg) {\n",
- " if (msg['mode'] === 'PAN') {\n",
- " fig.buttons['Pan'].classList.add('active');\n",
- " fig.buttons['Zoom'].classList.remove('active');\n",
- " } else if (msg['mode'] === 'ZOOM') {\n",
- " fig.buttons['Pan'].classList.remove('active');\n",
- " fig.buttons['Zoom'].classList.add('active');\n",
- " } else {\n",
- " fig.buttons['Pan'].classList.remove('active');\n",
- " fig.buttons['Zoom'].classList.remove('active');\n",
- " }\n",
- "};\n",
- "\n",
- "mpl.figure.prototype.updated_canvas_event = function () {\n",
- " // Called whenever the canvas gets updated.\n",
- " this.send_message('ack', {});\n",
- "};\n",
- "\n",
- "// A function to construct a web socket function for onmessage handling.\n",
- "// Called in the figure constructor.\n",
- "mpl.figure.prototype._make_on_message_function = function (fig) {\n",
- " return function socket_on_message(evt) {\n",
- " if (evt.data instanceof Blob) {\n",
- " var img = evt.data;\n",
- " if (img.type !== 'image/png') {\n",
- " /* FIXME: We get \"Resource interpreted as Image but\n",
- " * transferred with MIME type text/plain:\" errors on\n",
- " * Chrome. But how to set the MIME type? It doesn't seem\n",
- " * to be part of the websocket stream */\n",
- " img.type = 'image/png';\n",
- " }\n",
- "\n",
- " /* Free the memory for the previous frames */\n",
- " if (fig.imageObj.src) {\n",
- " (window.URL || window.webkitURL).revokeObjectURL(\n",
- " fig.imageObj.src\n",
- " );\n",
- " }\n",
- "\n",
- " fig.imageObj.src = (window.URL || window.webkitURL).createObjectURL(\n",
- " img\n",
- " );\n",
- " fig.updated_canvas_event();\n",
- " fig.waiting = false;\n",
- " return;\n",
- " } else if (\n",
- " typeof evt.data === 'string' &&\n",
- " evt.data.slice(0, 21) === 'data:image/png;base64'\n",
- " ) {\n",
- " fig.imageObj.src = evt.data;\n",
- " fig.updated_canvas_event();\n",
- " fig.waiting = false;\n",
- " return;\n",
- " }\n",
- "\n",
- " var msg = JSON.parse(evt.data);\n",
- " var msg_type = msg['type'];\n",
- "\n",
- " // Call the \"handle_{type}\" callback, which takes\n",
- " // the figure and JSON message as its only arguments.\n",
- " try {\n",
- " var callback = fig['handle_' + msg_type];\n",
- " } catch (e) {\n",
- " console.log(\n",
- " \"No handler for the '\" + msg_type + \"' message type: \",\n",
- " msg\n",
- " );\n",
- " return;\n",
- " }\n",
- "\n",
- " if (callback) {\n",
- " try {\n",
- " // console.log(\"Handling '\" + msg_type + \"' message: \", msg);\n",
- " callback(fig, msg);\n",
- " } catch (e) {\n",
- " console.log(\n",
- " \"Exception inside the 'handler_\" + msg_type + \"' callback:\",\n",
- " e,\n",
- " e.stack,\n",
- " msg\n",
- " );\n",
- " }\n",
- " }\n",
- " };\n",
- "};\n",
- "\n",
- "// from https://stackoverflow.com/questions/1114465/getting-mouse-location-in-canvas\n",
- "mpl.findpos = function (e) {\n",
- " //this section is from http://www.quirksmode.org/js/events_properties.html\n",
- " var targ;\n",
- " if (!e) {\n",
- " e = window.event;\n",
- " }\n",
- " if (e.target) {\n",
- " targ = e.target;\n",
- " } else if (e.srcElement) {\n",
- " targ = e.srcElement;\n",
- " }\n",
- " if (targ.nodeType === 3) {\n",
- " // defeat Safari bug\n",
- " targ = targ.parentNode;\n",
- " }\n",
- "\n",
- " // pageX,Y are the mouse positions relative to the document\n",
- " var boundingRect = targ.getBoundingClientRect();\n",
- " var x = e.pageX - (boundingRect.left + document.body.scrollLeft);\n",
- " var y = e.pageY - (boundingRect.top + document.body.scrollTop);\n",
- "\n",
- " return { x: x, y: y };\n",
- "};\n",
- "\n",
- "/*\n",
- " * return a copy of an object with only non-object keys\n",
- " * we need this to avoid circular references\n",
- " * https://stackoverflow.com/a/24161582/3208463\n",
- " */\n",
- "function simpleKeys(original) {\n",
- " return Object.keys(original).reduce(function (obj, key) {\n",
- " if (typeof original[key] !== 'object') {\n",
- " obj[key] = original[key];\n",
- " }\n",
- " return obj;\n",
- " }, {});\n",
- "}\n",
- "\n",
- "mpl.figure.prototype.mouse_event = function (event, name) {\n",
- " var canvas_pos = mpl.findpos(event);\n",
- "\n",
- " if (name === 'button_press') {\n",
- " this.canvas.focus();\n",
- " this.canvas_div.focus();\n",
- " }\n",
- "\n",
- " var x = canvas_pos.x * this.ratio;\n",
- " var y = canvas_pos.y * this.ratio;\n",
- "\n",
- " this.send_message(name, {\n",
- " x: x,\n",
- " y: y,\n",
- " button: event.button,\n",
- " step: event.step,\n",
- " guiEvent: simpleKeys(event),\n",
- " });\n",
- "\n",
- " /* This prevents the web browser from automatically changing to\n",
- " * the text insertion cursor when the button is pressed. We want\n",
- " * to control all of the cursor setting manually through the\n",
- " * 'cursor' event from matplotlib */\n",
- " event.preventDefault();\n",
- " return false;\n",
- "};\n",
- "\n",
- "mpl.figure.prototype._key_event_extra = function (_event, _name) {\n",
- " // Handle any extra behaviour associated with a key event\n",
- "};\n",
- "\n",
- "mpl.figure.prototype.key_event = function (event, name) {\n",
- " // Prevent repeat events\n",
- " if (name === 'key_press') {\n",
- " if (event.key === this._key) {\n",
- " return;\n",
- " } else {\n",
- " this._key = event.key;\n",
- " }\n",
- " }\n",
- " if (name === 'key_release') {\n",
- " this._key = null;\n",
- " }\n",
- "\n",
- " var value = '';\n",
- " if (event.ctrlKey && event.key !== 'Control') {\n",
- " value += 'ctrl+';\n",
- " }\n",
- " else if (event.altKey && event.key !== 'Alt') {\n",
- " value += 'alt+';\n",
- " }\n",
- " else if (event.shiftKey && event.key !== 'Shift') {\n",
- " value += 'shift+';\n",
- " }\n",
- "\n",
- " value += 'k' + event.key;\n",
- "\n",
- " this._key_event_extra(event, name);\n",
- "\n",
- " this.send_message(name, { key: value, guiEvent: simpleKeys(event) });\n",
- " return false;\n",
- "};\n",
- "\n",
- "mpl.figure.prototype.toolbar_button_onclick = function (name) {\n",
- " if (name === 'download') {\n",
- " this.handle_save(this, null);\n",
- " } else {\n",
- " this.send_message('toolbar_button', { name: name });\n",
- " }\n",
- "};\n",
- "\n",
- "mpl.figure.prototype.toolbar_button_onmouseover = function (tooltip) {\n",
- " this.message.textContent = tooltip;\n",
- "};\n",
- "\n",
- "///////////////// REMAINING CONTENT GENERATED BY embed_js.py /////////////////\n",
- "// prettier-ignore\n",
- "var _JSXTOOLS_RESIZE_OBSERVER=function(A){var t,i=new WeakMap,n=new WeakMap,a=new WeakMap,r=new WeakMap,o=new Set;function s(e){if(!(this instanceof s))throw new TypeError(\"Constructor requires 'new' operator\");i.set(this,e)}function h(){throw new TypeError(\"Function is not a constructor\")}function c(e,t,i,n){e=0 in arguments?Number(arguments[0]):0,t=1 in arguments?Number(arguments[1]):0,i=2 in arguments?Number(arguments[2]):0,n=3 in arguments?Number(arguments[3]):0,this.right=(this.x=this.left=e)+(this.width=i),this.bottom=(this.y=this.top=t)+(this.height=n),Object.freeze(this)}function d(){t=requestAnimationFrame(d);var s=new WeakMap,p=new Set;o.forEach((function(t){r.get(t).forEach((function(i){var r=t instanceof window.SVGElement,o=a.get(t),d=r?0:parseFloat(o.paddingTop),f=r?0:parseFloat(o.paddingRight),l=r?0:parseFloat(o.paddingBottom),u=r?0:parseFloat(o.paddingLeft),g=r?0:parseFloat(o.borderTopWidth),m=r?0:parseFloat(o.borderRightWidth),w=r?0:parseFloat(o.borderBottomWidth),b=u+f,F=d+l,v=(r?0:parseFloat(o.borderLeftWidth))+m,W=g+w,y=r?0:t.offsetHeight-W-t.clientHeight,E=r?0:t.offsetWidth-v-t.clientWidth,R=b+v,z=F+W,M=r?t.width:parseFloat(o.width)-R-E,O=r?t.height:parseFloat(o.height)-z-y;if(n.has(t)){var k=n.get(t);if(k[0]===M&&k[1]===O)return}n.set(t,[M,O]);var S=Object.create(h.prototype);S.target=t,S.contentRect=new c(u,d,M,O),s.has(i)||(s.set(i,[]),p.add(i)),s.get(i).push(S)}))})),p.forEach((function(e){i.get(e).call(e,s.get(e),e)}))}return s.prototype.observe=function(i){if(i instanceof window.Element){r.has(i)||(r.set(i,new Set),o.add(i),a.set(i,window.getComputedStyle(i)));var n=r.get(i);n.has(this)||n.add(this),cancelAnimationFrame(t),t=requestAnimationFrame(d)}},s.prototype.unobserve=function(i){if(i instanceof window.Element&&r.has(i)){var n=r.get(i);n.has(this)&&(n.delete(this),n.size||(r.delete(i),o.delete(i))),n.size||r.delete(i),o.size||cancelAnimationFrame(t)}},A.DOMRectReadOnly=c,A.ResizeObserver=s,A.ResizeObserverEntry=h,A}; // eslint-disable-line\n",
- "mpl.toolbar_items = [[\"Home\", \"Reset original view\", \"fa fa-home icon-home\", \"home\"], [\"Back\", \"Back to previous view\", \"fa fa-arrow-left icon-arrow-left\", \"back\"], [\"Forward\", \"Forward to next view\", \"fa fa-arrow-right icon-arrow-right\", \"forward\"], [\"\", \"\", \"\", \"\"], [\"Pan\", \"Left button pans, Right button zooms\\nx/y fixes axis, CTRL fixes aspect\", \"fa fa-arrows icon-move\", \"pan\"], [\"Zoom\", \"Zoom to rectangle\\nx/y fixes axis\", \"fa fa-square-o icon-check-empty\", \"zoom\"], [\"\", \"\", \"\", \"\"], [\"Download\", \"Download plot\", \"fa fa-floppy-o icon-save\", \"download\"]];\n",
- "\n",
- "mpl.extensions = [\"eps\", \"jpeg\", \"pgf\", \"pdf\", \"png\", \"ps\", \"raw\", \"svg\", \"tif\"];\n",
- "\n",
- "mpl.default_extension = \"png\";/* global mpl */\n",
- "\n",
- "var comm_websocket_adapter = function (comm) {\n",
- " // Create a \"websocket\"-like object which calls the given IPython comm\n",
- " // object with the appropriate methods. Currently this is a non binary\n",
- " // socket, so there is still some room for performance tuning.\n",
- " var ws = {};\n",
- "\n",
- " ws.binaryType = comm.kernel.ws.binaryType;\n",
- " ws.readyState = comm.kernel.ws.readyState;\n",
- " function updateReadyState(_event) {\n",
- " if (comm.kernel.ws) {\n",
- " ws.readyState = comm.kernel.ws.readyState;\n",
- " } else {\n",
- " ws.readyState = 3; // Closed state.\n",
- " }\n",
- " }\n",
- " comm.kernel.ws.addEventListener('open', updateReadyState);\n",
- " comm.kernel.ws.addEventListener('close', updateReadyState);\n",
- " comm.kernel.ws.addEventListener('error', updateReadyState);\n",
- "\n",
- " ws.close = function () {\n",
- " comm.close();\n",
- " };\n",
- " ws.send = function (m) {\n",
- " //console.log('sending', m);\n",
- " comm.send(m);\n",
- " };\n",
- " // Register the callback with on_msg.\n",
- " comm.on_msg(function (msg) {\n",
- " //console.log('receiving', msg['content']['data'], msg);\n",
- " var data = msg['content']['data'];\n",
- " if (data['blob'] !== undefined) {\n",
- " data = {\n",
- " data: new Blob(msg['buffers'], { type: data['blob'] }),\n",
- " };\n",
- " }\n",
- " // Pass the mpl event to the overridden (by mpl) onmessage function.\n",
- " ws.onmessage(data);\n",
- " });\n",
- " return ws;\n",
- "};\n",
- "\n",
- "mpl.mpl_figure_comm = function (comm, msg) {\n",
- " // This is the function which gets called when the mpl process\n",
- " // starts-up an IPython Comm through the \"matplotlib\" channel.\n",
- "\n",
- " var id = msg.content.data.id;\n",
- " // Get hold of the div created by the display call when the Comm\n",
- " // socket was opened in Python.\n",
- " var element = document.getElementById(id);\n",
- " var ws_proxy = comm_websocket_adapter(comm);\n",
- "\n",
- " function ondownload(figure, _format) {\n",
- " window.open(figure.canvas.toDataURL());\n",
- " }\n",
- "\n",
- " var fig = new mpl.figure(id, ws_proxy, ondownload, element);\n",
- "\n",
- " // Call onopen now - mpl needs it, as it is assuming we've passed it a real\n",
- " // web socket which is closed, not our websocket->open comm proxy.\n",
- " ws_proxy.onopen();\n",
- "\n",
- " fig.parent_element = element;\n",
- " fig.cell_info = mpl.find_output_cell(\"\");\n",
- " if (!fig.cell_info) {\n",
- " console.error('Failed to find cell for figure', id, fig);\n",
- " return;\n",
- " }\n",
- " fig.cell_info[0].output_area.element.on(\n",
- " 'cleared',\n",
- " { fig: fig },\n",
- " fig._remove_fig_handler\n",
- " );\n",
- "};\n",
- "\n",
- "mpl.figure.prototype.handle_close = function (fig, msg) {\n",
- " var width = fig.canvas.width / fig.ratio;\n",
- " fig.cell_info[0].output_area.element.off(\n",
- " 'cleared',\n",
- " fig._remove_fig_handler\n",
- " );\n",
- " fig.resizeObserverInstance.unobserve(fig.canvas_div);\n",
- "\n",
- " // Update the output cell to use the data from the current canvas.\n",
- " fig.push_to_output();\n",
- " var dataURL = fig.canvas.toDataURL();\n",
- " // Re-enable the keyboard manager in IPython - without this line, in FF,\n",
- " // the notebook keyboard shortcuts fail.\n",
- " IPython.keyboard_manager.enable();\n",
- " fig.parent_element.innerHTML =\n",
- " '
';\n",
- " fig.close_ws(fig, msg);\n",
- "};\n",
- "\n",
- "mpl.figure.prototype.close_ws = function (fig, msg) {\n",
- " fig.send_message('closing', msg);\n",
- " // fig.ws.close()\n",
- "};\n",
- "\n",
- "mpl.figure.prototype.push_to_output = function (_remove_interactive) {\n",
- " // Turn the data on the canvas into data in the output cell.\n",
- " var width = this.canvas.width / this.ratio;\n",
- " var dataURL = this.canvas.toDataURL();\n",
- " this.cell_info[1]['text/html'] =\n",
- " '
';\n",
- "};\n",
- "\n",
- "mpl.figure.prototype.updated_canvas_event = function () {\n",
- " // Tell IPython that the notebook contents must change.\n",
- " IPython.notebook.set_dirty(true);\n",
- " this.send_message('ack', {});\n",
- " var fig = this;\n",
- " // Wait a second, then push the new image to the DOM so\n",
- " // that it is saved nicely (might be nice to debounce this).\n",
- " setTimeout(function () {\n",
- " fig.push_to_output();\n",
- " }, 1000);\n",
- "};\n",
- "\n",
- "mpl.figure.prototype._init_toolbar = function () {\n",
- " var fig = this;\n",
- "\n",
- " var toolbar = document.createElement('div');\n",
- " toolbar.classList = 'btn-toolbar';\n",
- " this.root.appendChild(toolbar);\n",
- "\n",
- " function on_click_closure(name) {\n",
- " return function (_event) {\n",
- " return fig.toolbar_button_onclick(name);\n",
- " };\n",
- " }\n",
- "\n",
- " function on_mouseover_closure(tooltip) {\n",
- " return function (event) {\n",
- " if (!event.currentTarget.disabled) {\n",
- " return fig.toolbar_button_onmouseover(tooltip);\n",
- " }\n",
- " };\n",
- " }\n",
- "\n",
- " fig.buttons = {};\n",
- " var buttonGroup = document.createElement('div');\n",
- " buttonGroup.classList = 'btn-group';\n",
- " var button;\n",
- " for (var toolbar_ind in mpl.toolbar_items) {\n",
- " var name = mpl.toolbar_items[toolbar_ind][0];\n",
- " var tooltip = mpl.toolbar_items[toolbar_ind][1];\n",
- " var image = mpl.toolbar_items[toolbar_ind][2];\n",
- " var method_name = mpl.toolbar_items[toolbar_ind][3];\n",
- "\n",
- " if (!name) {\n",
- " /* Instead of a spacer, we start a new button group. */\n",
- " if (buttonGroup.hasChildNodes()) {\n",
- " toolbar.appendChild(buttonGroup);\n",
- " }\n",
- " buttonGroup = document.createElement('div');\n",
- " buttonGroup.classList = 'btn-group';\n",
- " continue;\n",
- " }\n",
- "\n",
- " button = fig.buttons[name] = document.createElement('button');\n",
- " button.classList = 'btn btn-default';\n",
- " button.href = '#';\n",
- " button.title = name;\n",
- " button.innerHTML = '';\n",
- " button.addEventListener('click', on_click_closure(method_name));\n",
- " button.addEventListener('mouseover', on_mouseover_closure(tooltip));\n",
- " buttonGroup.appendChild(button);\n",
- " }\n",
- "\n",
- " if (buttonGroup.hasChildNodes()) {\n",
- " toolbar.appendChild(buttonGroup);\n",
- " }\n",
- "\n",
- " // Add the status bar.\n",
- " var status_bar = document.createElement('span');\n",
- " status_bar.classList = 'mpl-message pull-right';\n",
- " toolbar.appendChild(status_bar);\n",
- " this.message = status_bar;\n",
- "\n",
- " // Add the close button to the window.\n",
- " var buttongrp = document.createElement('div');\n",
- " buttongrp.classList = 'btn-group inline pull-right';\n",
- " button = document.createElement('button');\n",
- " button.classList = 'btn btn-mini btn-primary';\n",
- " button.href = '#';\n",
- " button.title = 'Stop Interaction';\n",
- " button.innerHTML = '';\n",
- " button.addEventListener('click', function (_evt) {\n",
- " fig.handle_close(fig, {});\n",
- " });\n",
- " button.addEventListener(\n",
- " 'mouseover',\n",
- " on_mouseover_closure('Stop Interaction')\n",
- " );\n",
- " buttongrp.appendChild(button);\n",
- " var titlebar = this.root.querySelector('.ui-dialog-titlebar');\n",
- " titlebar.insertBefore(buttongrp, titlebar.firstChild);\n",
- "};\n",
- "\n",
- "mpl.figure.prototype._remove_fig_handler = function (event) {\n",
- " var fig = event.data.fig;\n",
- " if (event.target !== this) {\n",
- " // Ignore bubbled events from children.\n",
- " return;\n",
- " }\n",
- " fig.close_ws(fig, {});\n",
- "};\n",
- "\n",
- "mpl.figure.prototype._root_extra_style = function (el) {\n",
- " el.style.boxSizing = 'content-box'; // override notebook setting of border-box.\n",
- "};\n",
- "\n",
- "mpl.figure.prototype._canvas_extra_style = function (el) {\n",
- " // this is important to make the div 'focusable\n",
- " el.setAttribute('tabindex', 0);\n",
- " // reach out to IPython and tell the keyboard manager to turn it's self\n",
- " // off when our div gets focus\n",
- "\n",
- " // location in version 3\n",
- " if (IPython.notebook.keyboard_manager) {\n",
- " IPython.notebook.keyboard_manager.register_events(el);\n",
- " } else {\n",
- " // location in version 2\n",
- " IPython.keyboard_manager.register_events(el);\n",
- " }\n",
- "};\n",
- "\n",
- "mpl.figure.prototype._key_event_extra = function (event, _name) {\n",
- " // Check for shift+enter\n",
- " if (event.shiftKey && event.which === 13) {\n",
- " this.canvas_div.blur();\n",
- " // select the cell after this one\n",
- " var index = IPython.notebook.find_cell_index(this.cell_info[0]);\n",
- " IPython.notebook.select(index + 1);\n",
- " }\n",
- "};\n",
- "\n",
- "mpl.figure.prototype.handle_save = function (fig, _msg) {\n",
- " fig.ondownload(fig, null);\n",
- "};\n",
- "\n",
- "mpl.find_output_cell = function (html_output) {\n",
- " // Return the cell and output element which can be found *uniquely* in the notebook.\n",
- " // Note - this is a bit hacky, but it is done because the \"notebook_saving.Notebook\"\n",
- " // IPython event is triggered only after the cells have been serialised, which for\n",
- " // our purposes (turning an active figure into a static one), is too late.\n",
- " var cells = IPython.notebook.get_cells();\n",
- " var ncells = cells.length;\n",
- " for (var i = 0; i < ncells; i++) {\n",
- " var cell = cells[i];\n",
- " if (cell.cell_type === 'code') {\n",
- " for (var j = 0; j < cell.output_area.outputs.length; j++) {\n",
- " var data = cell.output_area.outputs[j];\n",
- " if (data.data) {\n",
- " // IPython >= 3 moved mimebundle to data attribute of output\n",
- " data = data.data;\n",
- " }\n",
- " if (data['text/html'] === html_output) {\n",
- " return [cell, data, j];\n",
- " }\n",
- " }\n",
- " }\n",
- " }\n",
- "};\n",
- "\n",
- "// Register the function which deals with the matplotlib target/channel.\n",
- "// The kernel may be null if the page has been refreshed.\n",
- "if (IPython.notebook.kernel !== null) {\n",
- " IPython.notebook.kernel.comm_manager.register_target(\n",
- " 'matplotlib',\n",
- " mpl.mpl_figure_comm\n",
- " );\n",
- "}\n"
- ],
- "text/plain": [
- ""
- ]
- },
- "metadata": {},
- "output_type": "display_data"
- },
- {
- "data": {
- "text/html": [
- "
"
- ],
- "text/plain": [
- ""
- ]
- },
- "metadata": {},
- "output_type": "display_data"
- },
- {
- "data": {
- "text/plain": [
- "[]"
- ]
- },
- "execution_count": 32,
- "metadata": {},
- "output_type": "execute_result"
- }
- ],
+ "outputs": [],
"source": [
"fig, ax = plt.subplots()\n",
"ax.set_ylim((90,0)) # set limits on y-axis\n",
@@ -5470,997 +509,9 @@
},
{
"cell_type": "code",
- "execution_count": 34,
+ "execution_count": null,
"metadata": {},
- "outputs": [
- {
- "data": {
- "application/javascript": [
- "/* Put everything inside the global mpl namespace */\n",
- "/* global mpl */\n",
- "window.mpl = {};\n",
- "\n",
- "mpl.get_websocket_type = function () {\n",
- " if (typeof WebSocket !== 'undefined') {\n",
- " return WebSocket;\n",
- " } else if (typeof MozWebSocket !== 'undefined') {\n",
- " return MozWebSocket;\n",
- " } else {\n",
- " alert(\n",
- " 'Your browser does not have WebSocket support. ' +\n",
- " 'Please try Chrome, Safari or Firefox ≥ 6. ' +\n",
- " 'Firefox 4 and 5 are also supported but you ' +\n",
- " 'have to enable WebSockets in about:config.'\n",
- " );\n",
- " }\n",
- "};\n",
- "\n",
- "mpl.figure = function (figure_id, websocket, ondownload, parent_element) {\n",
- " this.id = figure_id;\n",
- "\n",
- " this.ws = websocket;\n",
- "\n",
- " this.supports_binary = this.ws.binaryType !== undefined;\n",
- "\n",
- " if (!this.supports_binary) {\n",
- " var warnings = document.getElementById('mpl-warnings');\n",
- " if (warnings) {\n",
- " warnings.style.display = 'block';\n",
- " warnings.textContent =\n",
- " 'This browser does not support binary websocket messages. ' +\n",
- " 'Performance may be slow.';\n",
- " }\n",
- " }\n",
- "\n",
- " this.imageObj = new Image();\n",
- "\n",
- " this.context = undefined;\n",
- " this.message = undefined;\n",
- " this.canvas = undefined;\n",
- " this.rubberband_canvas = undefined;\n",
- " this.rubberband_context = undefined;\n",
- " this.format_dropdown = undefined;\n",
- "\n",
- " this.image_mode = 'full';\n",
- "\n",
- " this.root = document.createElement('div');\n",
- " this.root.setAttribute('style', 'display: inline-block');\n",
- " this._root_extra_style(this.root);\n",
- "\n",
- " parent_element.appendChild(this.root);\n",
- "\n",
- " this._init_header(this);\n",
- " this._init_canvas(this);\n",
- " this._init_toolbar(this);\n",
- "\n",
- " var fig = this;\n",
- "\n",
- " this.waiting = false;\n",
- "\n",
- " this.ws.onopen = function () {\n",
- " fig.send_message('supports_binary', { value: fig.supports_binary });\n",
- " fig.send_message('send_image_mode', {});\n",
- " if (fig.ratio !== 1) {\n",
- " fig.send_message('set_device_pixel_ratio', {\n",
- " device_pixel_ratio: fig.ratio,\n",
- " });\n",
- " }\n",
- " fig.send_message('refresh', {});\n",
- " };\n",
- "\n",
- " this.imageObj.onload = function () {\n",
- " if (fig.image_mode === 'full') {\n",
- " // Full images could contain transparency (where diff images\n",
- " // almost always do), so we need to clear the canvas so that\n",
- " // there is no ghosting.\n",
- " fig.context.clearRect(0, 0, fig.canvas.width, fig.canvas.height);\n",
- " }\n",
- " fig.context.drawImage(fig.imageObj, 0, 0);\n",
- " };\n",
- "\n",
- " this.imageObj.onunload = function () {\n",
- " fig.ws.close();\n",
- " };\n",
- "\n",
- " this.ws.onmessage = this._make_on_message_function(this);\n",
- "\n",
- " this.ondownload = ondownload;\n",
- "};\n",
- "\n",
- "mpl.figure.prototype._init_header = function () {\n",
- " var titlebar = document.createElement('div');\n",
- " titlebar.classList =\n",
- " 'ui-dialog-titlebar ui-widget-header ui-corner-all ui-helper-clearfix';\n",
- " var titletext = document.createElement('div');\n",
- " titletext.classList = 'ui-dialog-title';\n",
- " titletext.setAttribute(\n",
- " 'style',\n",
- " 'width: 100%; text-align: center; padding: 3px;'\n",
- " );\n",
- " titlebar.appendChild(titletext);\n",
- " this.root.appendChild(titlebar);\n",
- " this.header = titletext;\n",
- "};\n",
- "\n",
- "mpl.figure.prototype._canvas_extra_style = function (_canvas_div) {};\n",
- "\n",
- "mpl.figure.prototype._root_extra_style = function (_canvas_div) {};\n",
- "\n",
- "mpl.figure.prototype._init_canvas = function () {\n",
- " var fig = this;\n",
- "\n",
- " var canvas_div = (this.canvas_div = document.createElement('div'));\n",
- " canvas_div.setAttribute(\n",
- " 'style',\n",
- " 'border: 1px solid #ddd;' +\n",
- " 'box-sizing: content-box;' +\n",
- " 'clear: both;' +\n",
- " 'min-height: 1px;' +\n",
- " 'min-width: 1px;' +\n",
- " 'outline: 0;' +\n",
- " 'overflow: hidden;' +\n",
- " 'position: relative;' +\n",
- " 'resize: both;'\n",
- " );\n",
- "\n",
- " function on_keyboard_event_closure(name) {\n",
- " return function (event) {\n",
- " return fig.key_event(event, name);\n",
- " };\n",
- " }\n",
- "\n",
- " canvas_div.addEventListener(\n",
- " 'keydown',\n",
- " on_keyboard_event_closure('key_press')\n",
- " );\n",
- " canvas_div.addEventListener(\n",
- " 'keyup',\n",
- " on_keyboard_event_closure('key_release')\n",
- " );\n",
- "\n",
- " this._canvas_extra_style(canvas_div);\n",
- " this.root.appendChild(canvas_div);\n",
- "\n",
- " var canvas = (this.canvas = document.createElement('canvas'));\n",
- " canvas.classList.add('mpl-canvas');\n",
- " canvas.setAttribute('style', 'box-sizing: content-box;');\n",
- "\n",
- " this.context = canvas.getContext('2d');\n",
- "\n",
- " var backingStore =\n",
- " this.context.backingStorePixelRatio ||\n",
- " this.context.webkitBackingStorePixelRatio ||\n",
- " this.context.mozBackingStorePixelRatio ||\n",
- " this.context.msBackingStorePixelRatio ||\n",
- " this.context.oBackingStorePixelRatio ||\n",
- " this.context.backingStorePixelRatio ||\n",
- " 1;\n",
- "\n",
- " this.ratio = (window.devicePixelRatio || 1) / backingStore;\n",
- "\n",
- " var rubberband_canvas = (this.rubberband_canvas = document.createElement(\n",
- " 'canvas'\n",
- " ));\n",
- " rubberband_canvas.setAttribute(\n",
- " 'style',\n",
- " 'box-sizing: content-box; position: absolute; left: 0; top: 0; z-index: 1;'\n",
- " );\n",
- "\n",
- " // Apply a ponyfill if ResizeObserver is not implemented by browser.\n",
- " if (this.ResizeObserver === undefined) {\n",
- " if (window.ResizeObserver !== undefined) {\n",
- " this.ResizeObserver = window.ResizeObserver;\n",
- " } else {\n",
- " var obs = _JSXTOOLS_RESIZE_OBSERVER({});\n",
- " this.ResizeObserver = obs.ResizeObserver;\n",
- " }\n",
- " }\n",
- "\n",
- " this.resizeObserverInstance = new this.ResizeObserver(function (entries) {\n",
- " var nentries = entries.length;\n",
- " for (var i = 0; i < nentries; i++) {\n",
- " var entry = entries[i];\n",
- " var width, height;\n",
- " if (entry.contentBoxSize) {\n",
- " if (entry.contentBoxSize instanceof Array) {\n",
- " // Chrome 84 implements new version of spec.\n",
- " width = entry.contentBoxSize[0].inlineSize;\n",
- " height = entry.contentBoxSize[0].blockSize;\n",
- " } else {\n",
- " // Firefox implements old version of spec.\n",
- " width = entry.contentBoxSize.inlineSize;\n",
- " height = entry.contentBoxSize.blockSize;\n",
- " }\n",
- " } else {\n",
- " // Chrome <84 implements even older version of spec.\n",
- " width = entry.contentRect.width;\n",
- " height = entry.contentRect.height;\n",
- " }\n",
- "\n",
- " // Keep the size of the canvas and rubber band canvas in sync with\n",
- " // the canvas container.\n",
- " if (entry.devicePixelContentBoxSize) {\n",
- " // Chrome 84 implements new version of spec.\n",
- " canvas.setAttribute(\n",
- " 'width',\n",
- " entry.devicePixelContentBoxSize[0].inlineSize\n",
- " );\n",
- " canvas.setAttribute(\n",
- " 'height',\n",
- " entry.devicePixelContentBoxSize[0].blockSize\n",
- " );\n",
- " } else {\n",
- " canvas.setAttribute('width', width * fig.ratio);\n",
- " canvas.setAttribute('height', height * fig.ratio);\n",
- " }\n",
- " canvas.setAttribute(\n",
- " 'style',\n",
- " 'width: ' + width + 'px; height: ' + height + 'px;'\n",
- " );\n",
- "\n",
- " rubberband_canvas.setAttribute('width', width);\n",
- " rubberband_canvas.setAttribute('height', height);\n",
- "\n",
- " // And update the size in Python. We ignore the initial 0/0 size\n",
- " // that occurs as the element is placed into the DOM, which should\n",
- " // otherwise not happen due to the minimum size styling.\n",
- " if (fig.ws.readyState == 1 && width != 0 && height != 0) {\n",
- " fig.request_resize(width, height);\n",
- " }\n",
- " }\n",
- " });\n",
- " this.resizeObserverInstance.observe(canvas_div);\n",
- "\n",
- " function on_mouse_event_closure(name) {\n",
- " return function (event) {\n",
- " return fig.mouse_event(event, name);\n",
- " };\n",
- " }\n",
- "\n",
- " rubberband_canvas.addEventListener(\n",
- " 'mousedown',\n",
- " on_mouse_event_closure('button_press')\n",
- " );\n",
- " rubberband_canvas.addEventListener(\n",
- " 'mouseup',\n",
- " on_mouse_event_closure('button_release')\n",
- " );\n",
- " rubberband_canvas.addEventListener(\n",
- " 'dblclick',\n",
- " on_mouse_event_closure('dblclick')\n",
- " );\n",
- " // Throttle sequential mouse events to 1 every 20ms.\n",
- " rubberband_canvas.addEventListener(\n",
- " 'mousemove',\n",
- " on_mouse_event_closure('motion_notify')\n",
- " );\n",
- "\n",
- " rubberband_canvas.addEventListener(\n",
- " 'mouseenter',\n",
- " on_mouse_event_closure('figure_enter')\n",
- " );\n",
- " rubberband_canvas.addEventListener(\n",
- " 'mouseleave',\n",
- " on_mouse_event_closure('figure_leave')\n",
- " );\n",
- "\n",
- " canvas_div.addEventListener('wheel', function (event) {\n",
- " if (event.deltaY < 0) {\n",
- " event.step = 1;\n",
- " } else {\n",
- " event.step = -1;\n",
- " }\n",
- " on_mouse_event_closure('scroll')(event);\n",
- " });\n",
- "\n",
- " canvas_div.appendChild(canvas);\n",
- " canvas_div.appendChild(rubberband_canvas);\n",
- "\n",
- " this.rubberband_context = rubberband_canvas.getContext('2d');\n",
- " this.rubberband_context.strokeStyle = '#000000';\n",
- "\n",
- " this._resize_canvas = function (width, height, forward) {\n",
- " if (forward) {\n",
- " canvas_div.style.width = width + 'px';\n",
- " canvas_div.style.height = height + 'px';\n",
- " }\n",
- " };\n",
- "\n",
- " // Disable right mouse context menu.\n",
- " this.rubberband_canvas.addEventListener('contextmenu', function (_e) {\n",
- " event.preventDefault();\n",
- " return false;\n",
- " });\n",
- "\n",
- " function set_focus() {\n",
- " canvas.focus();\n",
- " canvas_div.focus();\n",
- " }\n",
- "\n",
- " window.setTimeout(set_focus, 100);\n",
- "};\n",
- "\n",
- "mpl.figure.prototype._init_toolbar = function () {\n",
- " var fig = this;\n",
- "\n",
- " var toolbar = document.createElement('div');\n",
- " toolbar.classList = 'mpl-toolbar';\n",
- " this.root.appendChild(toolbar);\n",
- "\n",
- " function on_click_closure(name) {\n",
- " return function (_event) {\n",
- " return fig.toolbar_button_onclick(name);\n",
- " };\n",
- " }\n",
- "\n",
- " function on_mouseover_closure(tooltip) {\n",
- " return function (event) {\n",
- " if (!event.currentTarget.disabled) {\n",
- " return fig.toolbar_button_onmouseover(tooltip);\n",
- " }\n",
- " };\n",
- " }\n",
- "\n",
- " fig.buttons = {};\n",
- " var buttonGroup = document.createElement('div');\n",
- " buttonGroup.classList = 'mpl-button-group';\n",
- " for (var toolbar_ind in mpl.toolbar_items) {\n",
- " var name = mpl.toolbar_items[toolbar_ind][0];\n",
- " var tooltip = mpl.toolbar_items[toolbar_ind][1];\n",
- " var image = mpl.toolbar_items[toolbar_ind][2];\n",
- " var method_name = mpl.toolbar_items[toolbar_ind][3];\n",
- "\n",
- " if (!name) {\n",
- " /* Instead of a spacer, we start a new button group. */\n",
- " if (buttonGroup.hasChildNodes()) {\n",
- " toolbar.appendChild(buttonGroup);\n",
- " }\n",
- " buttonGroup = document.createElement('div');\n",
- " buttonGroup.classList = 'mpl-button-group';\n",
- " continue;\n",
- " }\n",
- "\n",
- " var button = (fig.buttons[name] = document.createElement('button'));\n",
- " button.classList = 'mpl-widget';\n",
- " button.setAttribute('role', 'button');\n",
- " button.setAttribute('aria-disabled', 'false');\n",
- " button.addEventListener('click', on_click_closure(method_name));\n",
- " button.addEventListener('mouseover', on_mouseover_closure(tooltip));\n",
- "\n",
- " var icon_img = document.createElement('img');\n",
- " icon_img.src = '_images/' + image + '.png';\n",
- " icon_img.srcset = '_images/' + image + '_large.png 2x';\n",
- " icon_img.alt = tooltip;\n",
- " button.appendChild(icon_img);\n",
- "\n",
- " buttonGroup.appendChild(button);\n",
- " }\n",
- "\n",
- " if (buttonGroup.hasChildNodes()) {\n",
- " toolbar.appendChild(buttonGroup);\n",
- " }\n",
- "\n",
- " var fmt_picker = document.createElement('select');\n",
- " fmt_picker.classList = 'mpl-widget';\n",
- " toolbar.appendChild(fmt_picker);\n",
- " this.format_dropdown = fmt_picker;\n",
- "\n",
- " for (var ind in mpl.extensions) {\n",
- " var fmt = mpl.extensions[ind];\n",
- " var option = document.createElement('option');\n",
- " option.selected = fmt === mpl.default_extension;\n",
- " option.innerHTML = fmt;\n",
- " fmt_picker.appendChild(option);\n",
- " }\n",
- "\n",
- " var status_bar = document.createElement('span');\n",
- " status_bar.classList = 'mpl-message';\n",
- " toolbar.appendChild(status_bar);\n",
- " this.message = status_bar;\n",
- "};\n",
- "\n",
- "mpl.figure.prototype.request_resize = function (x_pixels, y_pixels) {\n",
- " // Request matplotlib to resize the figure. Matplotlib will then trigger a resize in the client,\n",
- " // which will in turn request a refresh of the image.\n",
- " this.send_message('resize', { width: x_pixels, height: y_pixels });\n",
- "};\n",
- "\n",
- "mpl.figure.prototype.send_message = function (type, properties) {\n",
- " properties['type'] = type;\n",
- " properties['figure_id'] = this.id;\n",
- " this.ws.send(JSON.stringify(properties));\n",
- "};\n",
- "\n",
- "mpl.figure.prototype.send_draw_message = function () {\n",
- " if (!this.waiting) {\n",
- " this.waiting = true;\n",
- " this.ws.send(JSON.stringify({ type: 'draw', figure_id: this.id }));\n",
- " }\n",
- "};\n",
- "\n",
- "mpl.figure.prototype.handle_save = function (fig, _msg) {\n",
- " var format_dropdown = fig.format_dropdown;\n",
- " var format = format_dropdown.options[format_dropdown.selectedIndex].value;\n",
- " fig.ondownload(fig, format);\n",
- "};\n",
- "\n",
- "mpl.figure.prototype.handle_resize = function (fig, msg) {\n",
- " var size = msg['size'];\n",
- " if (size[0] !== fig.canvas.width || size[1] !== fig.canvas.height) {\n",
- " fig._resize_canvas(size[0], size[1], msg['forward']);\n",
- " fig.send_message('refresh', {});\n",
- " }\n",
- "};\n",
- "\n",
- "mpl.figure.prototype.handle_rubberband = function (fig, msg) {\n",
- " var x0 = msg['x0'] / fig.ratio;\n",
- " var y0 = (fig.canvas.height - msg['y0']) / fig.ratio;\n",
- " var x1 = msg['x1'] / fig.ratio;\n",
- " var y1 = (fig.canvas.height - msg['y1']) / fig.ratio;\n",
- " x0 = Math.floor(x0) + 0.5;\n",
- " y0 = Math.floor(y0) + 0.5;\n",
- " x1 = Math.floor(x1) + 0.5;\n",
- " y1 = Math.floor(y1) + 0.5;\n",
- " var min_x = Math.min(x0, x1);\n",
- " var min_y = Math.min(y0, y1);\n",
- " var width = Math.abs(x1 - x0);\n",
- " var height = Math.abs(y1 - y0);\n",
- "\n",
- " fig.rubberband_context.clearRect(\n",
- " 0,\n",
- " 0,\n",
- " fig.canvas.width / fig.ratio,\n",
- " fig.canvas.height / fig.ratio\n",
- " );\n",
- "\n",
- " fig.rubberband_context.strokeRect(min_x, min_y, width, height);\n",
- "};\n",
- "\n",
- "mpl.figure.prototype.handle_figure_label = function (fig, msg) {\n",
- " // Updates the figure title.\n",
- " fig.header.textContent = msg['label'];\n",
- "};\n",
- "\n",
- "mpl.figure.prototype.handle_cursor = function (fig, msg) {\n",
- " fig.rubberband_canvas.style.cursor = msg['cursor'];\n",
- "};\n",
- "\n",
- "mpl.figure.prototype.handle_message = function (fig, msg) {\n",
- " fig.message.textContent = msg['message'];\n",
- "};\n",
- "\n",
- "mpl.figure.prototype.handle_draw = function (fig, _msg) {\n",
- " // Request the server to send over a new figure.\n",
- " fig.send_draw_message();\n",
- "};\n",
- "\n",
- "mpl.figure.prototype.handle_image_mode = function (fig, msg) {\n",
- " fig.image_mode = msg['mode'];\n",
- "};\n",
- "\n",
- "mpl.figure.prototype.handle_history_buttons = function (fig, msg) {\n",
- " for (var key in msg) {\n",
- " if (!(key in fig.buttons)) {\n",
- " continue;\n",
- " }\n",
- " fig.buttons[key].disabled = !msg[key];\n",
- " fig.buttons[key].setAttribute('aria-disabled', !msg[key]);\n",
- " }\n",
- "};\n",
- "\n",
- "mpl.figure.prototype.handle_navigate_mode = function (fig, msg) {\n",
- " if (msg['mode'] === 'PAN') {\n",
- " fig.buttons['Pan'].classList.add('active');\n",
- " fig.buttons['Zoom'].classList.remove('active');\n",
- " } else if (msg['mode'] === 'ZOOM') {\n",
- " fig.buttons['Pan'].classList.remove('active');\n",
- " fig.buttons['Zoom'].classList.add('active');\n",
- " } else {\n",
- " fig.buttons['Pan'].classList.remove('active');\n",
- " fig.buttons['Zoom'].classList.remove('active');\n",
- " }\n",
- "};\n",
- "\n",
- "mpl.figure.prototype.updated_canvas_event = function () {\n",
- " // Called whenever the canvas gets updated.\n",
- " this.send_message('ack', {});\n",
- "};\n",
- "\n",
- "// A function to construct a web socket function for onmessage handling.\n",
- "// Called in the figure constructor.\n",
- "mpl.figure.prototype._make_on_message_function = function (fig) {\n",
- " return function socket_on_message(evt) {\n",
- " if (evt.data instanceof Blob) {\n",
- " var img = evt.data;\n",
- " if (img.type !== 'image/png') {\n",
- " /* FIXME: We get \"Resource interpreted as Image but\n",
- " * transferred with MIME type text/plain:\" errors on\n",
- " * Chrome. But how to set the MIME type? It doesn't seem\n",
- " * to be part of the websocket stream */\n",
- " img.type = 'image/png';\n",
- " }\n",
- "\n",
- " /* Free the memory for the previous frames */\n",
- " if (fig.imageObj.src) {\n",
- " (window.URL || window.webkitURL).revokeObjectURL(\n",
- " fig.imageObj.src\n",
- " );\n",
- " }\n",
- "\n",
- " fig.imageObj.src = (window.URL || window.webkitURL).createObjectURL(\n",
- " img\n",
- " );\n",
- " fig.updated_canvas_event();\n",
- " fig.waiting = false;\n",
- " return;\n",
- " } else if (\n",
- " typeof evt.data === 'string' &&\n",
- " evt.data.slice(0, 21) === 'data:image/png;base64'\n",
- " ) {\n",
- " fig.imageObj.src = evt.data;\n",
- " fig.updated_canvas_event();\n",
- " fig.waiting = false;\n",
- " return;\n",
- " }\n",
- "\n",
- " var msg = JSON.parse(evt.data);\n",
- " var msg_type = msg['type'];\n",
- "\n",
- " // Call the \"handle_{type}\" callback, which takes\n",
- " // the figure and JSON message as its only arguments.\n",
- " try {\n",
- " var callback = fig['handle_' + msg_type];\n",
- " } catch (e) {\n",
- " console.log(\n",
- " \"No handler for the '\" + msg_type + \"' message type: \",\n",
- " msg\n",
- " );\n",
- " return;\n",
- " }\n",
- "\n",
- " if (callback) {\n",
- " try {\n",
- " // console.log(\"Handling '\" + msg_type + \"' message: \", msg);\n",
- " callback(fig, msg);\n",
- " } catch (e) {\n",
- " console.log(\n",
- " \"Exception inside the 'handler_\" + msg_type + \"' callback:\",\n",
- " e,\n",
- " e.stack,\n",
- " msg\n",
- " );\n",
- " }\n",
- " }\n",
- " };\n",
- "};\n",
- "\n",
- "// from https://stackoverflow.com/questions/1114465/getting-mouse-location-in-canvas\n",
- "mpl.findpos = function (e) {\n",
- " //this section is from http://www.quirksmode.org/js/events_properties.html\n",
- " var targ;\n",
- " if (!e) {\n",
- " e = window.event;\n",
- " }\n",
- " if (e.target) {\n",
- " targ = e.target;\n",
- " } else if (e.srcElement) {\n",
- " targ = e.srcElement;\n",
- " }\n",
- " if (targ.nodeType === 3) {\n",
- " // defeat Safari bug\n",
- " targ = targ.parentNode;\n",
- " }\n",
- "\n",
- " // pageX,Y are the mouse positions relative to the document\n",
- " var boundingRect = targ.getBoundingClientRect();\n",
- " var x = e.pageX - (boundingRect.left + document.body.scrollLeft);\n",
- " var y = e.pageY - (boundingRect.top + document.body.scrollTop);\n",
- "\n",
- " return { x: x, y: y };\n",
- "};\n",
- "\n",
- "/*\n",
- " * return a copy of an object with only non-object keys\n",
- " * we need this to avoid circular references\n",
- " * https://stackoverflow.com/a/24161582/3208463\n",
- " */\n",
- "function simpleKeys(original) {\n",
- " return Object.keys(original).reduce(function (obj, key) {\n",
- " if (typeof original[key] !== 'object') {\n",
- " obj[key] = original[key];\n",
- " }\n",
- " return obj;\n",
- " }, {});\n",
- "}\n",
- "\n",
- "mpl.figure.prototype.mouse_event = function (event, name) {\n",
- " var canvas_pos = mpl.findpos(event);\n",
- "\n",
- " if (name === 'button_press') {\n",
- " this.canvas.focus();\n",
- " this.canvas_div.focus();\n",
- " }\n",
- "\n",
- " var x = canvas_pos.x * this.ratio;\n",
- " var y = canvas_pos.y * this.ratio;\n",
- "\n",
- " this.send_message(name, {\n",
- " x: x,\n",
- " y: y,\n",
- " button: event.button,\n",
- " step: event.step,\n",
- " guiEvent: simpleKeys(event),\n",
- " });\n",
- "\n",
- " /* This prevents the web browser from automatically changing to\n",
- " * the text insertion cursor when the button is pressed. We want\n",
- " * to control all of the cursor setting manually through the\n",
- " * 'cursor' event from matplotlib */\n",
- " event.preventDefault();\n",
- " return false;\n",
- "};\n",
- "\n",
- "mpl.figure.prototype._key_event_extra = function (_event, _name) {\n",
- " // Handle any extra behaviour associated with a key event\n",
- "};\n",
- "\n",
- "mpl.figure.prototype.key_event = function (event, name) {\n",
- " // Prevent repeat events\n",
- " if (name === 'key_press') {\n",
- " if (event.key === this._key) {\n",
- " return;\n",
- " } else {\n",
- " this._key = event.key;\n",
- " }\n",
- " }\n",
- " if (name === 'key_release') {\n",
- " this._key = null;\n",
- " }\n",
- "\n",
- " var value = '';\n",
- " if (event.ctrlKey && event.key !== 'Control') {\n",
- " value += 'ctrl+';\n",
- " }\n",
- " else if (event.altKey && event.key !== 'Alt') {\n",
- " value += 'alt+';\n",
- " }\n",
- " else if (event.shiftKey && event.key !== 'Shift') {\n",
- " value += 'shift+';\n",
- " }\n",
- "\n",
- " value += 'k' + event.key;\n",
- "\n",
- " this._key_event_extra(event, name);\n",
- "\n",
- " this.send_message(name, { key: value, guiEvent: simpleKeys(event) });\n",
- " return false;\n",
- "};\n",
- "\n",
- "mpl.figure.prototype.toolbar_button_onclick = function (name) {\n",
- " if (name === 'download') {\n",
- " this.handle_save(this, null);\n",
- " } else {\n",
- " this.send_message('toolbar_button', { name: name });\n",
- " }\n",
- "};\n",
- "\n",
- "mpl.figure.prototype.toolbar_button_onmouseover = function (tooltip) {\n",
- " this.message.textContent = tooltip;\n",
- "};\n",
- "\n",
- "///////////////// REMAINING CONTENT GENERATED BY embed_js.py /////////////////\n",
- "// prettier-ignore\n",
- "var _JSXTOOLS_RESIZE_OBSERVER=function(A){var t,i=new WeakMap,n=new WeakMap,a=new WeakMap,r=new WeakMap,o=new Set;function s(e){if(!(this instanceof s))throw new TypeError(\"Constructor requires 'new' operator\");i.set(this,e)}function h(){throw new TypeError(\"Function is not a constructor\")}function c(e,t,i,n){e=0 in arguments?Number(arguments[0]):0,t=1 in arguments?Number(arguments[1]):0,i=2 in arguments?Number(arguments[2]):0,n=3 in arguments?Number(arguments[3]):0,this.right=(this.x=this.left=e)+(this.width=i),this.bottom=(this.y=this.top=t)+(this.height=n),Object.freeze(this)}function d(){t=requestAnimationFrame(d);var s=new WeakMap,p=new Set;o.forEach((function(t){r.get(t).forEach((function(i){var r=t instanceof window.SVGElement,o=a.get(t),d=r?0:parseFloat(o.paddingTop),f=r?0:parseFloat(o.paddingRight),l=r?0:parseFloat(o.paddingBottom),u=r?0:parseFloat(o.paddingLeft),g=r?0:parseFloat(o.borderTopWidth),m=r?0:parseFloat(o.borderRightWidth),w=r?0:parseFloat(o.borderBottomWidth),b=u+f,F=d+l,v=(r?0:parseFloat(o.borderLeftWidth))+m,W=g+w,y=r?0:t.offsetHeight-W-t.clientHeight,E=r?0:t.offsetWidth-v-t.clientWidth,R=b+v,z=F+W,M=r?t.width:parseFloat(o.width)-R-E,O=r?t.height:parseFloat(o.height)-z-y;if(n.has(t)){var k=n.get(t);if(k[0]===M&&k[1]===O)return}n.set(t,[M,O]);var S=Object.create(h.prototype);S.target=t,S.contentRect=new c(u,d,M,O),s.has(i)||(s.set(i,[]),p.add(i)),s.get(i).push(S)}))})),p.forEach((function(e){i.get(e).call(e,s.get(e),e)}))}return s.prototype.observe=function(i){if(i instanceof window.Element){r.has(i)||(r.set(i,new Set),o.add(i),a.set(i,window.getComputedStyle(i)));var n=r.get(i);n.has(this)||n.add(this),cancelAnimationFrame(t),t=requestAnimationFrame(d)}},s.prototype.unobserve=function(i){if(i instanceof window.Element&&r.has(i)){var n=r.get(i);n.has(this)&&(n.delete(this),n.size||(r.delete(i),o.delete(i))),n.size||r.delete(i),o.size||cancelAnimationFrame(t)}},A.DOMRectReadOnly=c,A.ResizeObserver=s,A.ResizeObserverEntry=h,A}; // eslint-disable-line\n",
- "mpl.toolbar_items = [[\"Home\", \"Reset original view\", \"fa fa-home icon-home\", \"home\"], [\"Back\", \"Back to previous view\", \"fa fa-arrow-left icon-arrow-left\", \"back\"], [\"Forward\", \"Forward to next view\", \"fa fa-arrow-right icon-arrow-right\", \"forward\"], [\"\", \"\", \"\", \"\"], [\"Pan\", \"Left button pans, Right button zooms\\nx/y fixes axis, CTRL fixes aspect\", \"fa fa-arrows icon-move\", \"pan\"], [\"Zoom\", \"Zoom to rectangle\\nx/y fixes axis\", \"fa fa-square-o icon-check-empty\", \"zoom\"], [\"\", \"\", \"\", \"\"], [\"Download\", \"Download plot\", \"fa fa-floppy-o icon-save\", \"download\"]];\n",
- "\n",
- "mpl.extensions = [\"eps\", \"jpeg\", \"pgf\", \"pdf\", \"png\", \"ps\", \"raw\", \"svg\", \"tif\"];\n",
- "\n",
- "mpl.default_extension = \"png\";/* global mpl */\n",
- "\n",
- "var comm_websocket_adapter = function (comm) {\n",
- " // Create a \"websocket\"-like object which calls the given IPython comm\n",
- " // object with the appropriate methods. Currently this is a non binary\n",
- " // socket, so there is still some room for performance tuning.\n",
- " var ws = {};\n",
- "\n",
- " ws.binaryType = comm.kernel.ws.binaryType;\n",
- " ws.readyState = comm.kernel.ws.readyState;\n",
- " function updateReadyState(_event) {\n",
- " if (comm.kernel.ws) {\n",
- " ws.readyState = comm.kernel.ws.readyState;\n",
- " } else {\n",
- " ws.readyState = 3; // Closed state.\n",
- " }\n",
- " }\n",
- " comm.kernel.ws.addEventListener('open', updateReadyState);\n",
- " comm.kernel.ws.addEventListener('close', updateReadyState);\n",
- " comm.kernel.ws.addEventListener('error', updateReadyState);\n",
- "\n",
- " ws.close = function () {\n",
- " comm.close();\n",
- " };\n",
- " ws.send = function (m) {\n",
- " //console.log('sending', m);\n",
- " comm.send(m);\n",
- " };\n",
- " // Register the callback with on_msg.\n",
- " comm.on_msg(function (msg) {\n",
- " //console.log('receiving', msg['content']['data'], msg);\n",
- " var data = msg['content']['data'];\n",
- " if (data['blob'] !== undefined) {\n",
- " data = {\n",
- " data: new Blob(msg['buffers'], { type: data['blob'] }),\n",
- " };\n",
- " }\n",
- " // Pass the mpl event to the overridden (by mpl) onmessage function.\n",
- " ws.onmessage(data);\n",
- " });\n",
- " return ws;\n",
- "};\n",
- "\n",
- "mpl.mpl_figure_comm = function (comm, msg) {\n",
- " // This is the function which gets called when the mpl process\n",
- " // starts-up an IPython Comm through the \"matplotlib\" channel.\n",
- "\n",
- " var id = msg.content.data.id;\n",
- " // Get hold of the div created by the display call when the Comm\n",
- " // socket was opened in Python.\n",
- " var element = document.getElementById(id);\n",
- " var ws_proxy = comm_websocket_adapter(comm);\n",
- "\n",
- " function ondownload(figure, _format) {\n",
- " window.open(figure.canvas.toDataURL());\n",
- " }\n",
- "\n",
- " var fig = new mpl.figure(id, ws_proxy, ondownload, element);\n",
- "\n",
- " // Call onopen now - mpl needs it, as it is assuming we've passed it a real\n",
- " // web socket which is closed, not our websocket->open comm proxy.\n",
- " ws_proxy.onopen();\n",
- "\n",
- " fig.parent_element = element;\n",
- " fig.cell_info = mpl.find_output_cell(\"\");\n",
- " if (!fig.cell_info) {\n",
- " console.error('Failed to find cell for figure', id, fig);\n",
- " return;\n",
- " }\n",
- " fig.cell_info[0].output_area.element.on(\n",
- " 'cleared',\n",
- " { fig: fig },\n",
- " fig._remove_fig_handler\n",
- " );\n",
- "};\n",
- "\n",
- "mpl.figure.prototype.handle_close = function (fig, msg) {\n",
- " var width = fig.canvas.width / fig.ratio;\n",
- " fig.cell_info[0].output_area.element.off(\n",
- " 'cleared',\n",
- " fig._remove_fig_handler\n",
- " );\n",
- " fig.resizeObserverInstance.unobserve(fig.canvas_div);\n",
- "\n",
- " // Update the output cell to use the data from the current canvas.\n",
- " fig.push_to_output();\n",
- " var dataURL = fig.canvas.toDataURL();\n",
- " // Re-enable the keyboard manager in IPython - without this line, in FF,\n",
- " // the notebook keyboard shortcuts fail.\n",
- " IPython.keyboard_manager.enable();\n",
- " fig.parent_element.innerHTML =\n",
- " '
';\n",
- " fig.close_ws(fig, msg);\n",
- "};\n",
- "\n",
- "mpl.figure.prototype.close_ws = function (fig, msg) {\n",
- " fig.send_message('closing', msg);\n",
- " // fig.ws.close()\n",
- "};\n",
- "\n",
- "mpl.figure.prototype.push_to_output = function (_remove_interactive) {\n",
- " // Turn the data on the canvas into data in the output cell.\n",
- " var width = this.canvas.width / this.ratio;\n",
- " var dataURL = this.canvas.toDataURL();\n",
- " this.cell_info[1]['text/html'] =\n",
- " '
';\n",
- "};\n",
- "\n",
- "mpl.figure.prototype.updated_canvas_event = function () {\n",
- " // Tell IPython that the notebook contents must change.\n",
- " IPython.notebook.set_dirty(true);\n",
- " this.send_message('ack', {});\n",
- " var fig = this;\n",
- " // Wait a second, then push the new image to the DOM so\n",
- " // that it is saved nicely (might be nice to debounce this).\n",
- " setTimeout(function () {\n",
- " fig.push_to_output();\n",
- " }, 1000);\n",
- "};\n",
- "\n",
- "mpl.figure.prototype._init_toolbar = function () {\n",
- " var fig = this;\n",
- "\n",
- " var toolbar = document.createElement('div');\n",
- " toolbar.classList = 'btn-toolbar';\n",
- " this.root.appendChild(toolbar);\n",
- "\n",
- " function on_click_closure(name) {\n",
- " return function (_event) {\n",
- " return fig.toolbar_button_onclick(name);\n",
- " };\n",
- " }\n",
- "\n",
- " function on_mouseover_closure(tooltip) {\n",
- " return function (event) {\n",
- " if (!event.currentTarget.disabled) {\n",
- " return fig.toolbar_button_onmouseover(tooltip);\n",
- " }\n",
- " };\n",
- " }\n",
- "\n",
- " fig.buttons = {};\n",
- " var buttonGroup = document.createElement('div');\n",
- " buttonGroup.classList = 'btn-group';\n",
- " var button;\n",
- " for (var toolbar_ind in mpl.toolbar_items) {\n",
- " var name = mpl.toolbar_items[toolbar_ind][0];\n",
- " var tooltip = mpl.toolbar_items[toolbar_ind][1];\n",
- " var image = mpl.toolbar_items[toolbar_ind][2];\n",
- " var method_name = mpl.toolbar_items[toolbar_ind][3];\n",
- "\n",
- " if (!name) {\n",
- " /* Instead of a spacer, we start a new button group. */\n",
- " if (buttonGroup.hasChildNodes()) {\n",
- " toolbar.appendChild(buttonGroup);\n",
- " }\n",
- " buttonGroup = document.createElement('div');\n",
- " buttonGroup.classList = 'btn-group';\n",
- " continue;\n",
- " }\n",
- "\n",
- " button = fig.buttons[name] = document.createElement('button');\n",
- " button.classList = 'btn btn-default';\n",
- " button.href = '#';\n",
- " button.title = name;\n",
- " button.innerHTML = '';\n",
- " button.addEventListener('click', on_click_closure(method_name));\n",
- " button.addEventListener('mouseover', on_mouseover_closure(tooltip));\n",
- " buttonGroup.appendChild(button);\n",
- " }\n",
- "\n",
- " if (buttonGroup.hasChildNodes()) {\n",
- " toolbar.appendChild(buttonGroup);\n",
- " }\n",
- "\n",
- " // Add the status bar.\n",
- " var status_bar = document.createElement('span');\n",
- " status_bar.classList = 'mpl-message pull-right';\n",
- " toolbar.appendChild(status_bar);\n",
- " this.message = status_bar;\n",
- "\n",
- " // Add the close button to the window.\n",
- " var buttongrp = document.createElement('div');\n",
- " buttongrp.classList = 'btn-group inline pull-right';\n",
- " button = document.createElement('button');\n",
- " button.classList = 'btn btn-mini btn-primary';\n",
- " button.href = '#';\n",
- " button.title = 'Stop Interaction';\n",
- " button.innerHTML = '';\n",
- " button.addEventListener('click', function (_evt) {\n",
- " fig.handle_close(fig, {});\n",
- " });\n",
- " button.addEventListener(\n",
- " 'mouseover',\n",
- " on_mouseover_closure('Stop Interaction')\n",
- " );\n",
- " buttongrp.appendChild(button);\n",
- " var titlebar = this.root.querySelector('.ui-dialog-titlebar');\n",
- " titlebar.insertBefore(buttongrp, titlebar.firstChild);\n",
- "};\n",
- "\n",
- "mpl.figure.prototype._remove_fig_handler = function (event) {\n",
- " var fig = event.data.fig;\n",
- " if (event.target !== this) {\n",
- " // Ignore bubbled events from children.\n",
- " return;\n",
- " }\n",
- " fig.close_ws(fig, {});\n",
- "};\n",
- "\n",
- "mpl.figure.prototype._root_extra_style = function (el) {\n",
- " el.style.boxSizing = 'content-box'; // override notebook setting of border-box.\n",
- "};\n",
- "\n",
- "mpl.figure.prototype._canvas_extra_style = function (el) {\n",
- " // this is important to make the div 'focusable\n",
- " el.setAttribute('tabindex', 0);\n",
- " // reach out to IPython and tell the keyboard manager to turn it's self\n",
- " // off when our div gets focus\n",
- "\n",
- " // location in version 3\n",
- " if (IPython.notebook.keyboard_manager) {\n",
- " IPython.notebook.keyboard_manager.register_events(el);\n",
- " } else {\n",
- " // location in version 2\n",
- " IPython.keyboard_manager.register_events(el);\n",
- " }\n",
- "};\n",
- "\n",
- "mpl.figure.prototype._key_event_extra = function (event, _name) {\n",
- " // Check for shift+enter\n",
- " if (event.shiftKey && event.which === 13) {\n",
- " this.canvas_div.blur();\n",
- " // select the cell after this one\n",
- " var index = IPython.notebook.find_cell_index(this.cell_info[0]);\n",
- " IPython.notebook.select(index + 1);\n",
- " }\n",
- "};\n",
- "\n",
- "mpl.figure.prototype.handle_save = function (fig, _msg) {\n",
- " fig.ondownload(fig, null);\n",
- "};\n",
- "\n",
- "mpl.find_output_cell = function (html_output) {\n",
- " // Return the cell and output element which can be found *uniquely* in the notebook.\n",
- " // Note - this is a bit hacky, but it is done because the \"notebook_saving.Notebook\"\n",
- " // IPython event is triggered only after the cells have been serialised, which for\n",
- " // our purposes (turning an active figure into a static one), is too late.\n",
- " var cells = IPython.notebook.get_cells();\n",
- " var ncells = cells.length;\n",
- " for (var i = 0; i < ncells; i++) {\n",
- " var cell = cells[i];\n",
- " if (cell.cell_type === 'code') {\n",
- " for (var j = 0; j < cell.output_area.outputs.length; j++) {\n",
- " var data = cell.output_area.outputs[j];\n",
- " if (data.data) {\n",
- " // IPython >= 3 moved mimebundle to data attribute of output\n",
- " data = data.data;\n",
- " }\n",
- " if (data['text/html'] === html_output) {\n",
- " return [cell, data, j];\n",
- " }\n",
- " }\n",
- " }\n",
- " }\n",
- "};\n",
- "\n",
- "// Register the function which deals with the matplotlib target/channel.\n",
- "// The kernel may be null if the page has been refreshed.\n",
- "if (IPython.notebook.kernel !== null) {\n",
- " IPython.notebook.kernel.comm_manager.register_target(\n",
- " 'matplotlib',\n",
- " mpl.mpl_figure_comm\n",
- " );\n",
- "}\n"
- ],
- "text/plain": [
- ""
- ]
- },
- "metadata": {},
- "output_type": "display_data"
- },
- {
- "data": {
- "text/html": [
- "
"
- ],
- "text/plain": [
- ""
- ]
- },
- "metadata": {},
- "output_type": "display_data"
- },
- {
- "data": {
- "text/plain": [
- "[]"
- ]
- },
- "execution_count": 34,
- "metadata": {},
- "output_type": "execute_result"
- }
- ],
+ "outputs": [],
"source": [
"fig, ax = plt.subplots()\n",
"\n",
@@ -6469,7 +520,7 @@
"ax.set_xlabel('x',fontsize=15)\n",
"ax.set_ylabel('y',fontsize=15)\n",
"ax.plot(x,y,color='gold',mec='mediumvioletred',mew=2,marker='p',ms=25,ls='None')\n",
- "ax.plot(x,y,color='mediumvioletred',ls='dashdot',lw=2)"
+ "ax.plot(x,y,color='mediumvioletred',ls='-.',lw=2)"
]
},
{
@@ -6483,997 +534,9 @@
},
{
"cell_type": "code",
- "execution_count": 36,
+ "execution_count": null,
"metadata": {},
- "outputs": [
- {
- "data": {
- "application/javascript": [
- "/* Put everything inside the global mpl namespace */\n",
- "/* global mpl */\n",
- "window.mpl = {};\n",
- "\n",
- "mpl.get_websocket_type = function () {\n",
- " if (typeof WebSocket !== 'undefined') {\n",
- " return WebSocket;\n",
- " } else if (typeof MozWebSocket !== 'undefined') {\n",
- " return MozWebSocket;\n",
- " } else {\n",
- " alert(\n",
- " 'Your browser does not have WebSocket support. ' +\n",
- " 'Please try Chrome, Safari or Firefox ≥ 6. ' +\n",
- " 'Firefox 4 and 5 are also supported but you ' +\n",
- " 'have to enable WebSockets in about:config.'\n",
- " );\n",
- " }\n",
- "};\n",
- "\n",
- "mpl.figure = function (figure_id, websocket, ondownload, parent_element) {\n",
- " this.id = figure_id;\n",
- "\n",
- " this.ws = websocket;\n",
- "\n",
- " this.supports_binary = this.ws.binaryType !== undefined;\n",
- "\n",
- " if (!this.supports_binary) {\n",
- " var warnings = document.getElementById('mpl-warnings');\n",
- " if (warnings) {\n",
- " warnings.style.display = 'block';\n",
- " warnings.textContent =\n",
- " 'This browser does not support binary websocket messages. ' +\n",
- " 'Performance may be slow.';\n",
- " }\n",
- " }\n",
- "\n",
- " this.imageObj = new Image();\n",
- "\n",
- " this.context = undefined;\n",
- " this.message = undefined;\n",
- " this.canvas = undefined;\n",
- " this.rubberband_canvas = undefined;\n",
- " this.rubberband_context = undefined;\n",
- " this.format_dropdown = undefined;\n",
- "\n",
- " this.image_mode = 'full';\n",
- "\n",
- " this.root = document.createElement('div');\n",
- " this.root.setAttribute('style', 'display: inline-block');\n",
- " this._root_extra_style(this.root);\n",
- "\n",
- " parent_element.appendChild(this.root);\n",
- "\n",
- " this._init_header(this);\n",
- " this._init_canvas(this);\n",
- " this._init_toolbar(this);\n",
- "\n",
- " var fig = this;\n",
- "\n",
- " this.waiting = false;\n",
- "\n",
- " this.ws.onopen = function () {\n",
- " fig.send_message('supports_binary', { value: fig.supports_binary });\n",
- " fig.send_message('send_image_mode', {});\n",
- " if (fig.ratio !== 1) {\n",
- " fig.send_message('set_device_pixel_ratio', {\n",
- " device_pixel_ratio: fig.ratio,\n",
- " });\n",
- " }\n",
- " fig.send_message('refresh', {});\n",
- " };\n",
- "\n",
- " this.imageObj.onload = function () {\n",
- " if (fig.image_mode === 'full') {\n",
- " // Full images could contain transparency (where diff images\n",
- " // almost always do), so we need to clear the canvas so that\n",
- " // there is no ghosting.\n",
- " fig.context.clearRect(0, 0, fig.canvas.width, fig.canvas.height);\n",
- " }\n",
- " fig.context.drawImage(fig.imageObj, 0, 0);\n",
- " };\n",
- "\n",
- " this.imageObj.onunload = function () {\n",
- " fig.ws.close();\n",
- " };\n",
- "\n",
- " this.ws.onmessage = this._make_on_message_function(this);\n",
- "\n",
- " this.ondownload = ondownload;\n",
- "};\n",
- "\n",
- "mpl.figure.prototype._init_header = function () {\n",
- " var titlebar = document.createElement('div');\n",
- " titlebar.classList =\n",
- " 'ui-dialog-titlebar ui-widget-header ui-corner-all ui-helper-clearfix';\n",
- " var titletext = document.createElement('div');\n",
- " titletext.classList = 'ui-dialog-title';\n",
- " titletext.setAttribute(\n",
- " 'style',\n",
- " 'width: 100%; text-align: center; padding: 3px;'\n",
- " );\n",
- " titlebar.appendChild(titletext);\n",
- " this.root.appendChild(titlebar);\n",
- " this.header = titletext;\n",
- "};\n",
- "\n",
- "mpl.figure.prototype._canvas_extra_style = function (_canvas_div) {};\n",
- "\n",
- "mpl.figure.prototype._root_extra_style = function (_canvas_div) {};\n",
- "\n",
- "mpl.figure.prototype._init_canvas = function () {\n",
- " var fig = this;\n",
- "\n",
- " var canvas_div = (this.canvas_div = document.createElement('div'));\n",
- " canvas_div.setAttribute(\n",
- " 'style',\n",
- " 'border: 1px solid #ddd;' +\n",
- " 'box-sizing: content-box;' +\n",
- " 'clear: both;' +\n",
- " 'min-height: 1px;' +\n",
- " 'min-width: 1px;' +\n",
- " 'outline: 0;' +\n",
- " 'overflow: hidden;' +\n",
- " 'position: relative;' +\n",
- " 'resize: both;'\n",
- " );\n",
- "\n",
- " function on_keyboard_event_closure(name) {\n",
- " return function (event) {\n",
- " return fig.key_event(event, name);\n",
- " };\n",
- " }\n",
- "\n",
- " canvas_div.addEventListener(\n",
- " 'keydown',\n",
- " on_keyboard_event_closure('key_press')\n",
- " );\n",
- " canvas_div.addEventListener(\n",
- " 'keyup',\n",
- " on_keyboard_event_closure('key_release')\n",
- " );\n",
- "\n",
- " this._canvas_extra_style(canvas_div);\n",
- " this.root.appendChild(canvas_div);\n",
- "\n",
- " var canvas = (this.canvas = document.createElement('canvas'));\n",
- " canvas.classList.add('mpl-canvas');\n",
- " canvas.setAttribute('style', 'box-sizing: content-box;');\n",
- "\n",
- " this.context = canvas.getContext('2d');\n",
- "\n",
- " var backingStore =\n",
- " this.context.backingStorePixelRatio ||\n",
- " this.context.webkitBackingStorePixelRatio ||\n",
- " this.context.mozBackingStorePixelRatio ||\n",
- " this.context.msBackingStorePixelRatio ||\n",
- " this.context.oBackingStorePixelRatio ||\n",
- " this.context.backingStorePixelRatio ||\n",
- " 1;\n",
- "\n",
- " this.ratio = (window.devicePixelRatio || 1) / backingStore;\n",
- "\n",
- " var rubberband_canvas = (this.rubberband_canvas = document.createElement(\n",
- " 'canvas'\n",
- " ));\n",
- " rubberband_canvas.setAttribute(\n",
- " 'style',\n",
- " 'box-sizing: content-box; position: absolute; left: 0; top: 0; z-index: 1;'\n",
- " );\n",
- "\n",
- " // Apply a ponyfill if ResizeObserver is not implemented by browser.\n",
- " if (this.ResizeObserver === undefined) {\n",
- " if (window.ResizeObserver !== undefined) {\n",
- " this.ResizeObserver = window.ResizeObserver;\n",
- " } else {\n",
- " var obs = _JSXTOOLS_RESIZE_OBSERVER({});\n",
- " this.ResizeObserver = obs.ResizeObserver;\n",
- " }\n",
- " }\n",
- "\n",
- " this.resizeObserverInstance = new this.ResizeObserver(function (entries) {\n",
- " var nentries = entries.length;\n",
- " for (var i = 0; i < nentries; i++) {\n",
- " var entry = entries[i];\n",
- " var width, height;\n",
- " if (entry.contentBoxSize) {\n",
- " if (entry.contentBoxSize instanceof Array) {\n",
- " // Chrome 84 implements new version of spec.\n",
- " width = entry.contentBoxSize[0].inlineSize;\n",
- " height = entry.contentBoxSize[0].blockSize;\n",
- " } else {\n",
- " // Firefox implements old version of spec.\n",
- " width = entry.contentBoxSize.inlineSize;\n",
- " height = entry.contentBoxSize.blockSize;\n",
- " }\n",
- " } else {\n",
- " // Chrome <84 implements even older version of spec.\n",
- " width = entry.contentRect.width;\n",
- " height = entry.contentRect.height;\n",
- " }\n",
- "\n",
- " // Keep the size of the canvas and rubber band canvas in sync with\n",
- " // the canvas container.\n",
- " if (entry.devicePixelContentBoxSize) {\n",
- " // Chrome 84 implements new version of spec.\n",
- " canvas.setAttribute(\n",
- " 'width',\n",
- " entry.devicePixelContentBoxSize[0].inlineSize\n",
- " );\n",
- " canvas.setAttribute(\n",
- " 'height',\n",
- " entry.devicePixelContentBoxSize[0].blockSize\n",
- " );\n",
- " } else {\n",
- " canvas.setAttribute('width', width * fig.ratio);\n",
- " canvas.setAttribute('height', height * fig.ratio);\n",
- " }\n",
- " canvas.setAttribute(\n",
- " 'style',\n",
- " 'width: ' + width + 'px; height: ' + height + 'px;'\n",
- " );\n",
- "\n",
- " rubberband_canvas.setAttribute('width', width);\n",
- " rubberband_canvas.setAttribute('height', height);\n",
- "\n",
- " // And update the size in Python. We ignore the initial 0/0 size\n",
- " // that occurs as the element is placed into the DOM, which should\n",
- " // otherwise not happen due to the minimum size styling.\n",
- " if (fig.ws.readyState == 1 && width != 0 && height != 0) {\n",
- " fig.request_resize(width, height);\n",
- " }\n",
- " }\n",
- " });\n",
- " this.resizeObserverInstance.observe(canvas_div);\n",
- "\n",
- " function on_mouse_event_closure(name) {\n",
- " return function (event) {\n",
- " return fig.mouse_event(event, name);\n",
- " };\n",
- " }\n",
- "\n",
- " rubberband_canvas.addEventListener(\n",
- " 'mousedown',\n",
- " on_mouse_event_closure('button_press')\n",
- " );\n",
- " rubberband_canvas.addEventListener(\n",
- " 'mouseup',\n",
- " on_mouse_event_closure('button_release')\n",
- " );\n",
- " rubberband_canvas.addEventListener(\n",
- " 'dblclick',\n",
- " on_mouse_event_closure('dblclick')\n",
- " );\n",
- " // Throttle sequential mouse events to 1 every 20ms.\n",
- " rubberband_canvas.addEventListener(\n",
- " 'mousemove',\n",
- " on_mouse_event_closure('motion_notify')\n",
- " );\n",
- "\n",
- " rubberband_canvas.addEventListener(\n",
- " 'mouseenter',\n",
- " on_mouse_event_closure('figure_enter')\n",
- " );\n",
- " rubberband_canvas.addEventListener(\n",
- " 'mouseleave',\n",
- " on_mouse_event_closure('figure_leave')\n",
- " );\n",
- "\n",
- " canvas_div.addEventListener('wheel', function (event) {\n",
- " if (event.deltaY < 0) {\n",
- " event.step = 1;\n",
- " } else {\n",
- " event.step = -1;\n",
- " }\n",
- " on_mouse_event_closure('scroll')(event);\n",
- " });\n",
- "\n",
- " canvas_div.appendChild(canvas);\n",
- " canvas_div.appendChild(rubberband_canvas);\n",
- "\n",
- " this.rubberband_context = rubberband_canvas.getContext('2d');\n",
- " this.rubberband_context.strokeStyle = '#000000';\n",
- "\n",
- " this._resize_canvas = function (width, height, forward) {\n",
- " if (forward) {\n",
- " canvas_div.style.width = width + 'px';\n",
- " canvas_div.style.height = height + 'px';\n",
- " }\n",
- " };\n",
- "\n",
- " // Disable right mouse context menu.\n",
- " this.rubberband_canvas.addEventListener('contextmenu', function (_e) {\n",
- " event.preventDefault();\n",
- " return false;\n",
- " });\n",
- "\n",
- " function set_focus() {\n",
- " canvas.focus();\n",
- " canvas_div.focus();\n",
- " }\n",
- "\n",
- " window.setTimeout(set_focus, 100);\n",
- "};\n",
- "\n",
- "mpl.figure.prototype._init_toolbar = function () {\n",
- " var fig = this;\n",
- "\n",
- " var toolbar = document.createElement('div');\n",
- " toolbar.classList = 'mpl-toolbar';\n",
- " this.root.appendChild(toolbar);\n",
- "\n",
- " function on_click_closure(name) {\n",
- " return function (_event) {\n",
- " return fig.toolbar_button_onclick(name);\n",
- " };\n",
- " }\n",
- "\n",
- " function on_mouseover_closure(tooltip) {\n",
- " return function (event) {\n",
- " if (!event.currentTarget.disabled) {\n",
- " return fig.toolbar_button_onmouseover(tooltip);\n",
- " }\n",
- " };\n",
- " }\n",
- "\n",
- " fig.buttons = {};\n",
- " var buttonGroup = document.createElement('div');\n",
- " buttonGroup.classList = 'mpl-button-group';\n",
- " for (var toolbar_ind in mpl.toolbar_items) {\n",
- " var name = mpl.toolbar_items[toolbar_ind][0];\n",
- " var tooltip = mpl.toolbar_items[toolbar_ind][1];\n",
- " var image = mpl.toolbar_items[toolbar_ind][2];\n",
- " var method_name = mpl.toolbar_items[toolbar_ind][3];\n",
- "\n",
- " if (!name) {\n",
- " /* Instead of a spacer, we start a new button group. */\n",
- " if (buttonGroup.hasChildNodes()) {\n",
- " toolbar.appendChild(buttonGroup);\n",
- " }\n",
- " buttonGroup = document.createElement('div');\n",
- " buttonGroup.classList = 'mpl-button-group';\n",
- " continue;\n",
- " }\n",
- "\n",
- " var button = (fig.buttons[name] = document.createElement('button'));\n",
- " button.classList = 'mpl-widget';\n",
- " button.setAttribute('role', 'button');\n",
- " button.setAttribute('aria-disabled', 'false');\n",
- " button.addEventListener('click', on_click_closure(method_name));\n",
- " button.addEventListener('mouseover', on_mouseover_closure(tooltip));\n",
- "\n",
- " var icon_img = document.createElement('img');\n",
- " icon_img.src = '_images/' + image + '.png';\n",
- " icon_img.srcset = '_images/' + image + '_large.png 2x';\n",
- " icon_img.alt = tooltip;\n",
- " button.appendChild(icon_img);\n",
- "\n",
- " buttonGroup.appendChild(button);\n",
- " }\n",
- "\n",
- " if (buttonGroup.hasChildNodes()) {\n",
- " toolbar.appendChild(buttonGroup);\n",
- " }\n",
- "\n",
- " var fmt_picker = document.createElement('select');\n",
- " fmt_picker.classList = 'mpl-widget';\n",
- " toolbar.appendChild(fmt_picker);\n",
- " this.format_dropdown = fmt_picker;\n",
- "\n",
- " for (var ind in mpl.extensions) {\n",
- " var fmt = mpl.extensions[ind];\n",
- " var option = document.createElement('option');\n",
- " option.selected = fmt === mpl.default_extension;\n",
- " option.innerHTML = fmt;\n",
- " fmt_picker.appendChild(option);\n",
- " }\n",
- "\n",
- " var status_bar = document.createElement('span');\n",
- " status_bar.classList = 'mpl-message';\n",
- " toolbar.appendChild(status_bar);\n",
- " this.message = status_bar;\n",
- "};\n",
- "\n",
- "mpl.figure.prototype.request_resize = function (x_pixels, y_pixels) {\n",
- " // Request matplotlib to resize the figure. Matplotlib will then trigger a resize in the client,\n",
- " // which will in turn request a refresh of the image.\n",
- " this.send_message('resize', { width: x_pixels, height: y_pixels });\n",
- "};\n",
- "\n",
- "mpl.figure.prototype.send_message = function (type, properties) {\n",
- " properties['type'] = type;\n",
- " properties['figure_id'] = this.id;\n",
- " this.ws.send(JSON.stringify(properties));\n",
- "};\n",
- "\n",
- "mpl.figure.prototype.send_draw_message = function () {\n",
- " if (!this.waiting) {\n",
- " this.waiting = true;\n",
- " this.ws.send(JSON.stringify({ type: 'draw', figure_id: this.id }));\n",
- " }\n",
- "};\n",
- "\n",
- "mpl.figure.prototype.handle_save = function (fig, _msg) {\n",
- " var format_dropdown = fig.format_dropdown;\n",
- " var format = format_dropdown.options[format_dropdown.selectedIndex].value;\n",
- " fig.ondownload(fig, format);\n",
- "};\n",
- "\n",
- "mpl.figure.prototype.handle_resize = function (fig, msg) {\n",
- " var size = msg['size'];\n",
- " if (size[0] !== fig.canvas.width || size[1] !== fig.canvas.height) {\n",
- " fig._resize_canvas(size[0], size[1], msg['forward']);\n",
- " fig.send_message('refresh', {});\n",
- " }\n",
- "};\n",
- "\n",
- "mpl.figure.prototype.handle_rubberband = function (fig, msg) {\n",
- " var x0 = msg['x0'] / fig.ratio;\n",
- " var y0 = (fig.canvas.height - msg['y0']) / fig.ratio;\n",
- " var x1 = msg['x1'] / fig.ratio;\n",
- " var y1 = (fig.canvas.height - msg['y1']) / fig.ratio;\n",
- " x0 = Math.floor(x0) + 0.5;\n",
- " y0 = Math.floor(y0) + 0.5;\n",
- " x1 = Math.floor(x1) + 0.5;\n",
- " y1 = Math.floor(y1) + 0.5;\n",
- " var min_x = Math.min(x0, x1);\n",
- " var min_y = Math.min(y0, y1);\n",
- " var width = Math.abs(x1 - x0);\n",
- " var height = Math.abs(y1 - y0);\n",
- "\n",
- " fig.rubberband_context.clearRect(\n",
- " 0,\n",
- " 0,\n",
- " fig.canvas.width / fig.ratio,\n",
- " fig.canvas.height / fig.ratio\n",
- " );\n",
- "\n",
- " fig.rubberband_context.strokeRect(min_x, min_y, width, height);\n",
- "};\n",
- "\n",
- "mpl.figure.prototype.handle_figure_label = function (fig, msg) {\n",
- " // Updates the figure title.\n",
- " fig.header.textContent = msg['label'];\n",
- "};\n",
- "\n",
- "mpl.figure.prototype.handle_cursor = function (fig, msg) {\n",
- " fig.rubberband_canvas.style.cursor = msg['cursor'];\n",
- "};\n",
- "\n",
- "mpl.figure.prototype.handle_message = function (fig, msg) {\n",
- " fig.message.textContent = msg['message'];\n",
- "};\n",
- "\n",
- "mpl.figure.prototype.handle_draw = function (fig, _msg) {\n",
- " // Request the server to send over a new figure.\n",
- " fig.send_draw_message();\n",
- "};\n",
- "\n",
- "mpl.figure.prototype.handle_image_mode = function (fig, msg) {\n",
- " fig.image_mode = msg['mode'];\n",
- "};\n",
- "\n",
- "mpl.figure.prototype.handle_history_buttons = function (fig, msg) {\n",
- " for (var key in msg) {\n",
- " if (!(key in fig.buttons)) {\n",
- " continue;\n",
- " }\n",
- " fig.buttons[key].disabled = !msg[key];\n",
- " fig.buttons[key].setAttribute('aria-disabled', !msg[key]);\n",
- " }\n",
- "};\n",
- "\n",
- "mpl.figure.prototype.handle_navigate_mode = function (fig, msg) {\n",
- " if (msg['mode'] === 'PAN') {\n",
- " fig.buttons['Pan'].classList.add('active');\n",
- " fig.buttons['Zoom'].classList.remove('active');\n",
- " } else if (msg['mode'] === 'ZOOM') {\n",
- " fig.buttons['Pan'].classList.remove('active');\n",
- " fig.buttons['Zoom'].classList.add('active');\n",
- " } else {\n",
- " fig.buttons['Pan'].classList.remove('active');\n",
- " fig.buttons['Zoom'].classList.remove('active');\n",
- " }\n",
- "};\n",
- "\n",
- "mpl.figure.prototype.updated_canvas_event = function () {\n",
- " // Called whenever the canvas gets updated.\n",
- " this.send_message('ack', {});\n",
- "};\n",
- "\n",
- "// A function to construct a web socket function for onmessage handling.\n",
- "// Called in the figure constructor.\n",
- "mpl.figure.prototype._make_on_message_function = function (fig) {\n",
- " return function socket_on_message(evt) {\n",
- " if (evt.data instanceof Blob) {\n",
- " var img = evt.data;\n",
- " if (img.type !== 'image/png') {\n",
- " /* FIXME: We get \"Resource interpreted as Image but\n",
- " * transferred with MIME type text/plain:\" errors on\n",
- " * Chrome. But how to set the MIME type? It doesn't seem\n",
- " * to be part of the websocket stream */\n",
- " img.type = 'image/png';\n",
- " }\n",
- "\n",
- " /* Free the memory for the previous frames */\n",
- " if (fig.imageObj.src) {\n",
- " (window.URL || window.webkitURL).revokeObjectURL(\n",
- " fig.imageObj.src\n",
- " );\n",
- " }\n",
- "\n",
- " fig.imageObj.src = (window.URL || window.webkitURL).createObjectURL(\n",
- " img\n",
- " );\n",
- " fig.updated_canvas_event();\n",
- " fig.waiting = false;\n",
- " return;\n",
- " } else if (\n",
- " typeof evt.data === 'string' &&\n",
- " evt.data.slice(0, 21) === 'data:image/png;base64'\n",
- " ) {\n",
- " fig.imageObj.src = evt.data;\n",
- " fig.updated_canvas_event();\n",
- " fig.waiting = false;\n",
- " return;\n",
- " }\n",
- "\n",
- " var msg = JSON.parse(evt.data);\n",
- " var msg_type = msg['type'];\n",
- "\n",
- " // Call the \"handle_{type}\" callback, which takes\n",
- " // the figure and JSON message as its only arguments.\n",
- " try {\n",
- " var callback = fig['handle_' + msg_type];\n",
- " } catch (e) {\n",
- " console.log(\n",
- " \"No handler for the '\" + msg_type + \"' message type: \",\n",
- " msg\n",
- " );\n",
- " return;\n",
- " }\n",
- "\n",
- " if (callback) {\n",
- " try {\n",
- " // console.log(\"Handling '\" + msg_type + \"' message: \", msg);\n",
- " callback(fig, msg);\n",
- " } catch (e) {\n",
- " console.log(\n",
- " \"Exception inside the 'handler_\" + msg_type + \"' callback:\",\n",
- " e,\n",
- " e.stack,\n",
- " msg\n",
- " );\n",
- " }\n",
- " }\n",
- " };\n",
- "};\n",
- "\n",
- "// from https://stackoverflow.com/questions/1114465/getting-mouse-location-in-canvas\n",
- "mpl.findpos = function (e) {\n",
- " //this section is from http://www.quirksmode.org/js/events_properties.html\n",
- " var targ;\n",
- " if (!e) {\n",
- " e = window.event;\n",
- " }\n",
- " if (e.target) {\n",
- " targ = e.target;\n",
- " } else if (e.srcElement) {\n",
- " targ = e.srcElement;\n",
- " }\n",
- " if (targ.nodeType === 3) {\n",
- " // defeat Safari bug\n",
- " targ = targ.parentNode;\n",
- " }\n",
- "\n",
- " // pageX,Y are the mouse positions relative to the document\n",
- " var boundingRect = targ.getBoundingClientRect();\n",
- " var x = e.pageX - (boundingRect.left + document.body.scrollLeft);\n",
- " var y = e.pageY - (boundingRect.top + document.body.scrollTop);\n",
- "\n",
- " return { x: x, y: y };\n",
- "};\n",
- "\n",
- "/*\n",
- " * return a copy of an object with only non-object keys\n",
- " * we need this to avoid circular references\n",
- " * https://stackoverflow.com/a/24161582/3208463\n",
- " */\n",
- "function simpleKeys(original) {\n",
- " return Object.keys(original).reduce(function (obj, key) {\n",
- " if (typeof original[key] !== 'object') {\n",
- " obj[key] = original[key];\n",
- " }\n",
- " return obj;\n",
- " }, {});\n",
- "}\n",
- "\n",
- "mpl.figure.prototype.mouse_event = function (event, name) {\n",
- " var canvas_pos = mpl.findpos(event);\n",
- "\n",
- " if (name === 'button_press') {\n",
- " this.canvas.focus();\n",
- " this.canvas_div.focus();\n",
- " }\n",
- "\n",
- " var x = canvas_pos.x * this.ratio;\n",
- " var y = canvas_pos.y * this.ratio;\n",
- "\n",
- " this.send_message(name, {\n",
- " x: x,\n",
- " y: y,\n",
- " button: event.button,\n",
- " step: event.step,\n",
- " guiEvent: simpleKeys(event),\n",
- " });\n",
- "\n",
- " /* This prevents the web browser from automatically changing to\n",
- " * the text insertion cursor when the button is pressed. We want\n",
- " * to control all of the cursor setting manually through the\n",
- " * 'cursor' event from matplotlib */\n",
- " event.preventDefault();\n",
- " return false;\n",
- "};\n",
- "\n",
- "mpl.figure.prototype._key_event_extra = function (_event, _name) {\n",
- " // Handle any extra behaviour associated with a key event\n",
- "};\n",
- "\n",
- "mpl.figure.prototype.key_event = function (event, name) {\n",
- " // Prevent repeat events\n",
- " if (name === 'key_press') {\n",
- " if (event.key === this._key) {\n",
- " return;\n",
- " } else {\n",
- " this._key = event.key;\n",
- " }\n",
- " }\n",
- " if (name === 'key_release') {\n",
- " this._key = null;\n",
- " }\n",
- "\n",
- " var value = '';\n",
- " if (event.ctrlKey && event.key !== 'Control') {\n",
- " value += 'ctrl+';\n",
- " }\n",
- " else if (event.altKey && event.key !== 'Alt') {\n",
- " value += 'alt+';\n",
- " }\n",
- " else if (event.shiftKey && event.key !== 'Shift') {\n",
- " value += 'shift+';\n",
- " }\n",
- "\n",
- " value += 'k' + event.key;\n",
- "\n",
- " this._key_event_extra(event, name);\n",
- "\n",
- " this.send_message(name, { key: value, guiEvent: simpleKeys(event) });\n",
- " return false;\n",
- "};\n",
- "\n",
- "mpl.figure.prototype.toolbar_button_onclick = function (name) {\n",
- " if (name === 'download') {\n",
- " this.handle_save(this, null);\n",
- " } else {\n",
- " this.send_message('toolbar_button', { name: name });\n",
- " }\n",
- "};\n",
- "\n",
- "mpl.figure.prototype.toolbar_button_onmouseover = function (tooltip) {\n",
- " this.message.textContent = tooltip;\n",
- "};\n",
- "\n",
- "///////////////// REMAINING CONTENT GENERATED BY embed_js.py /////////////////\n",
- "// prettier-ignore\n",
- "var _JSXTOOLS_RESIZE_OBSERVER=function(A){var t,i=new WeakMap,n=new WeakMap,a=new WeakMap,r=new WeakMap,o=new Set;function s(e){if(!(this instanceof s))throw new TypeError(\"Constructor requires 'new' operator\");i.set(this,e)}function h(){throw new TypeError(\"Function is not a constructor\")}function c(e,t,i,n){e=0 in arguments?Number(arguments[0]):0,t=1 in arguments?Number(arguments[1]):0,i=2 in arguments?Number(arguments[2]):0,n=3 in arguments?Number(arguments[3]):0,this.right=(this.x=this.left=e)+(this.width=i),this.bottom=(this.y=this.top=t)+(this.height=n),Object.freeze(this)}function d(){t=requestAnimationFrame(d);var s=new WeakMap,p=new Set;o.forEach((function(t){r.get(t).forEach((function(i){var r=t instanceof window.SVGElement,o=a.get(t),d=r?0:parseFloat(o.paddingTop),f=r?0:parseFloat(o.paddingRight),l=r?0:parseFloat(o.paddingBottom),u=r?0:parseFloat(o.paddingLeft),g=r?0:parseFloat(o.borderTopWidth),m=r?0:parseFloat(o.borderRightWidth),w=r?0:parseFloat(o.borderBottomWidth),b=u+f,F=d+l,v=(r?0:parseFloat(o.borderLeftWidth))+m,W=g+w,y=r?0:t.offsetHeight-W-t.clientHeight,E=r?0:t.offsetWidth-v-t.clientWidth,R=b+v,z=F+W,M=r?t.width:parseFloat(o.width)-R-E,O=r?t.height:parseFloat(o.height)-z-y;if(n.has(t)){var k=n.get(t);if(k[0]===M&&k[1]===O)return}n.set(t,[M,O]);var S=Object.create(h.prototype);S.target=t,S.contentRect=new c(u,d,M,O),s.has(i)||(s.set(i,[]),p.add(i)),s.get(i).push(S)}))})),p.forEach((function(e){i.get(e).call(e,s.get(e),e)}))}return s.prototype.observe=function(i){if(i instanceof window.Element){r.has(i)||(r.set(i,new Set),o.add(i),a.set(i,window.getComputedStyle(i)));var n=r.get(i);n.has(this)||n.add(this),cancelAnimationFrame(t),t=requestAnimationFrame(d)}},s.prototype.unobserve=function(i){if(i instanceof window.Element&&r.has(i)){var n=r.get(i);n.has(this)&&(n.delete(this),n.size||(r.delete(i),o.delete(i))),n.size||r.delete(i),o.size||cancelAnimationFrame(t)}},A.DOMRectReadOnly=c,A.ResizeObserver=s,A.ResizeObserverEntry=h,A}; // eslint-disable-line\n",
- "mpl.toolbar_items = [[\"Home\", \"Reset original view\", \"fa fa-home icon-home\", \"home\"], [\"Back\", \"Back to previous view\", \"fa fa-arrow-left icon-arrow-left\", \"back\"], [\"Forward\", \"Forward to next view\", \"fa fa-arrow-right icon-arrow-right\", \"forward\"], [\"\", \"\", \"\", \"\"], [\"Pan\", \"Left button pans, Right button zooms\\nx/y fixes axis, CTRL fixes aspect\", \"fa fa-arrows icon-move\", \"pan\"], [\"Zoom\", \"Zoom to rectangle\\nx/y fixes axis\", \"fa fa-square-o icon-check-empty\", \"zoom\"], [\"\", \"\", \"\", \"\"], [\"Download\", \"Download plot\", \"fa fa-floppy-o icon-save\", \"download\"]];\n",
- "\n",
- "mpl.extensions = [\"eps\", \"jpeg\", \"pgf\", \"pdf\", \"png\", \"ps\", \"raw\", \"svg\", \"tif\"];\n",
- "\n",
- "mpl.default_extension = \"png\";/* global mpl */\n",
- "\n",
- "var comm_websocket_adapter = function (comm) {\n",
- " // Create a \"websocket\"-like object which calls the given IPython comm\n",
- " // object with the appropriate methods. Currently this is a non binary\n",
- " // socket, so there is still some room for performance tuning.\n",
- " var ws = {};\n",
- "\n",
- " ws.binaryType = comm.kernel.ws.binaryType;\n",
- " ws.readyState = comm.kernel.ws.readyState;\n",
- " function updateReadyState(_event) {\n",
- " if (comm.kernel.ws) {\n",
- " ws.readyState = comm.kernel.ws.readyState;\n",
- " } else {\n",
- " ws.readyState = 3; // Closed state.\n",
- " }\n",
- " }\n",
- " comm.kernel.ws.addEventListener('open', updateReadyState);\n",
- " comm.kernel.ws.addEventListener('close', updateReadyState);\n",
- " comm.kernel.ws.addEventListener('error', updateReadyState);\n",
- "\n",
- " ws.close = function () {\n",
- " comm.close();\n",
- " };\n",
- " ws.send = function (m) {\n",
- " //console.log('sending', m);\n",
- " comm.send(m);\n",
- " };\n",
- " // Register the callback with on_msg.\n",
- " comm.on_msg(function (msg) {\n",
- " //console.log('receiving', msg['content']['data'], msg);\n",
- " var data = msg['content']['data'];\n",
- " if (data['blob'] !== undefined) {\n",
- " data = {\n",
- " data: new Blob(msg['buffers'], { type: data['blob'] }),\n",
- " };\n",
- " }\n",
- " // Pass the mpl event to the overridden (by mpl) onmessage function.\n",
- " ws.onmessage(data);\n",
- " });\n",
- " return ws;\n",
- "};\n",
- "\n",
- "mpl.mpl_figure_comm = function (comm, msg) {\n",
- " // This is the function which gets called when the mpl process\n",
- " // starts-up an IPython Comm through the \"matplotlib\" channel.\n",
- "\n",
- " var id = msg.content.data.id;\n",
- " // Get hold of the div created by the display call when the Comm\n",
- " // socket was opened in Python.\n",
- " var element = document.getElementById(id);\n",
- " var ws_proxy = comm_websocket_adapter(comm);\n",
- "\n",
- " function ondownload(figure, _format) {\n",
- " window.open(figure.canvas.toDataURL());\n",
- " }\n",
- "\n",
- " var fig = new mpl.figure(id, ws_proxy, ondownload, element);\n",
- "\n",
- " // Call onopen now - mpl needs it, as it is assuming we've passed it a real\n",
- " // web socket which is closed, not our websocket->open comm proxy.\n",
- " ws_proxy.onopen();\n",
- "\n",
- " fig.parent_element = element;\n",
- " fig.cell_info = mpl.find_output_cell(\"\");\n",
- " if (!fig.cell_info) {\n",
- " console.error('Failed to find cell for figure', id, fig);\n",
- " return;\n",
- " }\n",
- " fig.cell_info[0].output_area.element.on(\n",
- " 'cleared',\n",
- " { fig: fig },\n",
- " fig._remove_fig_handler\n",
- " );\n",
- "};\n",
- "\n",
- "mpl.figure.prototype.handle_close = function (fig, msg) {\n",
- " var width = fig.canvas.width / fig.ratio;\n",
- " fig.cell_info[0].output_area.element.off(\n",
- " 'cleared',\n",
- " fig._remove_fig_handler\n",
- " );\n",
- " fig.resizeObserverInstance.unobserve(fig.canvas_div);\n",
- "\n",
- " // Update the output cell to use the data from the current canvas.\n",
- " fig.push_to_output();\n",
- " var dataURL = fig.canvas.toDataURL();\n",
- " // Re-enable the keyboard manager in IPython - without this line, in FF,\n",
- " // the notebook keyboard shortcuts fail.\n",
- " IPython.keyboard_manager.enable();\n",
- " fig.parent_element.innerHTML =\n",
- " '
';\n",
- " fig.close_ws(fig, msg);\n",
- "};\n",
- "\n",
- "mpl.figure.prototype.close_ws = function (fig, msg) {\n",
- " fig.send_message('closing', msg);\n",
- " // fig.ws.close()\n",
- "};\n",
- "\n",
- "mpl.figure.prototype.push_to_output = function (_remove_interactive) {\n",
- " // Turn the data on the canvas into data in the output cell.\n",
- " var width = this.canvas.width / this.ratio;\n",
- " var dataURL = this.canvas.toDataURL();\n",
- " this.cell_info[1]['text/html'] =\n",
- " '
';\n",
- "};\n",
- "\n",
- "mpl.figure.prototype.updated_canvas_event = function () {\n",
- " // Tell IPython that the notebook contents must change.\n",
- " IPython.notebook.set_dirty(true);\n",
- " this.send_message('ack', {});\n",
- " var fig = this;\n",
- " // Wait a second, then push the new image to the DOM so\n",
- " // that it is saved nicely (might be nice to debounce this).\n",
- " setTimeout(function () {\n",
- " fig.push_to_output();\n",
- " }, 1000);\n",
- "};\n",
- "\n",
- "mpl.figure.prototype._init_toolbar = function () {\n",
- " var fig = this;\n",
- "\n",
- " var toolbar = document.createElement('div');\n",
- " toolbar.classList = 'btn-toolbar';\n",
- " this.root.appendChild(toolbar);\n",
- "\n",
- " function on_click_closure(name) {\n",
- " return function (_event) {\n",
- " return fig.toolbar_button_onclick(name);\n",
- " };\n",
- " }\n",
- "\n",
- " function on_mouseover_closure(tooltip) {\n",
- " return function (event) {\n",
- " if (!event.currentTarget.disabled) {\n",
- " return fig.toolbar_button_onmouseover(tooltip);\n",
- " }\n",
- " };\n",
- " }\n",
- "\n",
- " fig.buttons = {};\n",
- " var buttonGroup = document.createElement('div');\n",
- " buttonGroup.classList = 'btn-group';\n",
- " var button;\n",
- " for (var toolbar_ind in mpl.toolbar_items) {\n",
- " var name = mpl.toolbar_items[toolbar_ind][0];\n",
- " var tooltip = mpl.toolbar_items[toolbar_ind][1];\n",
- " var image = mpl.toolbar_items[toolbar_ind][2];\n",
- " var method_name = mpl.toolbar_items[toolbar_ind][3];\n",
- "\n",
- " if (!name) {\n",
- " /* Instead of a spacer, we start a new button group. */\n",
- " if (buttonGroup.hasChildNodes()) {\n",
- " toolbar.appendChild(buttonGroup);\n",
- " }\n",
- " buttonGroup = document.createElement('div');\n",
- " buttonGroup.classList = 'btn-group';\n",
- " continue;\n",
- " }\n",
- "\n",
- " button = fig.buttons[name] = document.createElement('button');\n",
- " button.classList = 'btn btn-default';\n",
- " button.href = '#';\n",
- " button.title = name;\n",
- " button.innerHTML = '';\n",
- " button.addEventListener('click', on_click_closure(method_name));\n",
- " button.addEventListener('mouseover', on_mouseover_closure(tooltip));\n",
- " buttonGroup.appendChild(button);\n",
- " }\n",
- "\n",
- " if (buttonGroup.hasChildNodes()) {\n",
- " toolbar.appendChild(buttonGroup);\n",
- " }\n",
- "\n",
- " // Add the status bar.\n",
- " var status_bar = document.createElement('span');\n",
- " status_bar.classList = 'mpl-message pull-right';\n",
- " toolbar.appendChild(status_bar);\n",
- " this.message = status_bar;\n",
- "\n",
- " // Add the close button to the window.\n",
- " var buttongrp = document.createElement('div');\n",
- " buttongrp.classList = 'btn-group inline pull-right';\n",
- " button = document.createElement('button');\n",
- " button.classList = 'btn btn-mini btn-primary';\n",
- " button.href = '#';\n",
- " button.title = 'Stop Interaction';\n",
- " button.innerHTML = '';\n",
- " button.addEventListener('click', function (_evt) {\n",
- " fig.handle_close(fig, {});\n",
- " });\n",
- " button.addEventListener(\n",
- " 'mouseover',\n",
- " on_mouseover_closure('Stop Interaction')\n",
- " );\n",
- " buttongrp.appendChild(button);\n",
- " var titlebar = this.root.querySelector('.ui-dialog-titlebar');\n",
- " titlebar.insertBefore(buttongrp, titlebar.firstChild);\n",
- "};\n",
- "\n",
- "mpl.figure.prototype._remove_fig_handler = function (event) {\n",
- " var fig = event.data.fig;\n",
- " if (event.target !== this) {\n",
- " // Ignore bubbled events from children.\n",
- " return;\n",
- " }\n",
- " fig.close_ws(fig, {});\n",
- "};\n",
- "\n",
- "mpl.figure.prototype._root_extra_style = function (el) {\n",
- " el.style.boxSizing = 'content-box'; // override notebook setting of border-box.\n",
- "};\n",
- "\n",
- "mpl.figure.prototype._canvas_extra_style = function (el) {\n",
- " // this is important to make the div 'focusable\n",
- " el.setAttribute('tabindex', 0);\n",
- " // reach out to IPython and tell the keyboard manager to turn it's self\n",
- " // off when our div gets focus\n",
- "\n",
- " // location in version 3\n",
- " if (IPython.notebook.keyboard_manager) {\n",
- " IPython.notebook.keyboard_manager.register_events(el);\n",
- " } else {\n",
- " // location in version 2\n",
- " IPython.keyboard_manager.register_events(el);\n",
- " }\n",
- "};\n",
- "\n",
- "mpl.figure.prototype._key_event_extra = function (event, _name) {\n",
- " // Check for shift+enter\n",
- " if (event.shiftKey && event.which === 13) {\n",
- " this.canvas_div.blur();\n",
- " // select the cell after this one\n",
- " var index = IPython.notebook.find_cell_index(this.cell_info[0]);\n",
- " IPython.notebook.select(index + 1);\n",
- " }\n",
- "};\n",
- "\n",
- "mpl.figure.prototype.handle_save = function (fig, _msg) {\n",
- " fig.ondownload(fig, null);\n",
- "};\n",
- "\n",
- "mpl.find_output_cell = function (html_output) {\n",
- " // Return the cell and output element which can be found *uniquely* in the notebook.\n",
- " // Note - this is a bit hacky, but it is done because the \"notebook_saving.Notebook\"\n",
- " // IPython event is triggered only after the cells have been serialised, which for\n",
- " // our purposes (turning an active figure into a static one), is too late.\n",
- " var cells = IPython.notebook.get_cells();\n",
- " var ncells = cells.length;\n",
- " for (var i = 0; i < ncells; i++) {\n",
- " var cell = cells[i];\n",
- " if (cell.cell_type === 'code') {\n",
- " for (var j = 0; j < cell.output_area.outputs.length; j++) {\n",
- " var data = cell.output_area.outputs[j];\n",
- " if (data.data) {\n",
- " // IPython >= 3 moved mimebundle to data attribute of output\n",
- " data = data.data;\n",
- " }\n",
- " if (data['text/html'] === html_output) {\n",
- " return [cell, data, j];\n",
- " }\n",
- " }\n",
- " }\n",
- " }\n",
- "};\n",
- "\n",
- "// Register the function which deals with the matplotlib target/channel.\n",
- "// The kernel may be null if the page has been refreshed.\n",
- "if (IPython.notebook.kernel !== null) {\n",
- " IPython.notebook.kernel.comm_manager.register_target(\n",
- " 'matplotlib',\n",
- " mpl.mpl_figure_comm\n",
- " );\n",
- "}\n"
- ],
- "text/plain": [
- ""
- ]
- },
- "metadata": {},
- "output_type": "display_data"
- },
- {
- "data": {
- "text/html": [
- "
"
- ],
- "text/plain": [
- ""
- ]
- },
- "metadata": {},
- "output_type": "display_data"
- },
- {
- "data": {
- "text/plain": [
- "Text(0, 0.5, 'y')"
- ]
- },
- "execution_count": 36,
- "metadata": {},
- "output_type": "execute_result"
- }
- ],
+ "outputs": [],
"source": [
"# two figures, side by side:\n",
"fig, axarr = plt.subplots(1,2,figsize=(10,5))\n",
@@ -7481,18 +544,16 @@
"# axarr is an array of axis objects, with each element representing one subplot\n",
"\n",
"# first subplot\n",
- "ax1 = axarr[0]\n",
- "ax1.plot(x,y,color='blue',marker='s',ms=15,ls='None')\n",
- "\n",
+ "ax=axarr[0]\n",
+ "ax.plot(x,y,color='blue',marker='s',ms=15,ls='None')\n",
"\n",
"# second subplot\n",
- "ax2=axarr[1]\n",
- "ax2.plot(x,y,color='red',marker='*',ms=15,ls='None')\n",
+ "ax=axarr[1]\n",
+ "ax.plot(x,y,color='red',marker='*',ms=15,ls='None')\n",
"\n",
"# change title on first subplot\n",
- "#ax=axarr[0]\n",
- "ax1.set_xlabel('x',fontsize=16)\n",
- "ax1.set_ylabel('y',fontsize=16)"
+ "ax=axarr[0]\n",
+ "ax.set_xlabel('x',fontsize=16)"
]
},
{
@@ -7506,987 +567,9 @@
},
{
"cell_type": "code",
- "execution_count": 37,
+ "execution_count": null,
"metadata": {},
- "outputs": [
- {
- "data": {
- "application/javascript": [
- "/* Put everything inside the global mpl namespace */\n",
- "/* global mpl */\n",
- "window.mpl = {};\n",
- "\n",
- "mpl.get_websocket_type = function () {\n",
- " if (typeof WebSocket !== 'undefined') {\n",
- " return WebSocket;\n",
- " } else if (typeof MozWebSocket !== 'undefined') {\n",
- " return MozWebSocket;\n",
- " } else {\n",
- " alert(\n",
- " 'Your browser does not have WebSocket support. ' +\n",
- " 'Please try Chrome, Safari or Firefox ≥ 6. ' +\n",
- " 'Firefox 4 and 5 are also supported but you ' +\n",
- " 'have to enable WebSockets in about:config.'\n",
- " );\n",
- " }\n",
- "};\n",
- "\n",
- "mpl.figure = function (figure_id, websocket, ondownload, parent_element) {\n",
- " this.id = figure_id;\n",
- "\n",
- " this.ws = websocket;\n",
- "\n",
- " this.supports_binary = this.ws.binaryType !== undefined;\n",
- "\n",
- " if (!this.supports_binary) {\n",
- " var warnings = document.getElementById('mpl-warnings');\n",
- " if (warnings) {\n",
- " warnings.style.display = 'block';\n",
- " warnings.textContent =\n",
- " 'This browser does not support binary websocket messages. ' +\n",
- " 'Performance may be slow.';\n",
- " }\n",
- " }\n",
- "\n",
- " this.imageObj = new Image();\n",
- "\n",
- " this.context = undefined;\n",
- " this.message = undefined;\n",
- " this.canvas = undefined;\n",
- " this.rubberband_canvas = undefined;\n",
- " this.rubberband_context = undefined;\n",
- " this.format_dropdown = undefined;\n",
- "\n",
- " this.image_mode = 'full';\n",
- "\n",
- " this.root = document.createElement('div');\n",
- " this.root.setAttribute('style', 'display: inline-block');\n",
- " this._root_extra_style(this.root);\n",
- "\n",
- " parent_element.appendChild(this.root);\n",
- "\n",
- " this._init_header(this);\n",
- " this._init_canvas(this);\n",
- " this._init_toolbar(this);\n",
- "\n",
- " var fig = this;\n",
- "\n",
- " this.waiting = false;\n",
- "\n",
- " this.ws.onopen = function () {\n",
- " fig.send_message('supports_binary', { value: fig.supports_binary });\n",
- " fig.send_message('send_image_mode', {});\n",
- " if (fig.ratio !== 1) {\n",
- " fig.send_message('set_device_pixel_ratio', {\n",
- " device_pixel_ratio: fig.ratio,\n",
- " });\n",
- " }\n",
- " fig.send_message('refresh', {});\n",
- " };\n",
- "\n",
- " this.imageObj.onload = function () {\n",
- " if (fig.image_mode === 'full') {\n",
- " // Full images could contain transparency (where diff images\n",
- " // almost always do), so we need to clear the canvas so that\n",
- " // there is no ghosting.\n",
- " fig.context.clearRect(0, 0, fig.canvas.width, fig.canvas.height);\n",
- " }\n",
- " fig.context.drawImage(fig.imageObj, 0, 0);\n",
- " };\n",
- "\n",
- " this.imageObj.onunload = function () {\n",
- " fig.ws.close();\n",
- " };\n",
- "\n",
- " this.ws.onmessage = this._make_on_message_function(this);\n",
- "\n",
- " this.ondownload = ondownload;\n",
- "};\n",
- "\n",
- "mpl.figure.prototype._init_header = function () {\n",
- " var titlebar = document.createElement('div');\n",
- " titlebar.classList =\n",
- " 'ui-dialog-titlebar ui-widget-header ui-corner-all ui-helper-clearfix';\n",
- " var titletext = document.createElement('div');\n",
- " titletext.classList = 'ui-dialog-title';\n",
- " titletext.setAttribute(\n",
- " 'style',\n",
- " 'width: 100%; text-align: center; padding: 3px;'\n",
- " );\n",
- " titlebar.appendChild(titletext);\n",
- " this.root.appendChild(titlebar);\n",
- " this.header = titletext;\n",
- "};\n",
- "\n",
- "mpl.figure.prototype._canvas_extra_style = function (_canvas_div) {};\n",
- "\n",
- "mpl.figure.prototype._root_extra_style = function (_canvas_div) {};\n",
- "\n",
- "mpl.figure.prototype._init_canvas = function () {\n",
- " var fig = this;\n",
- "\n",
- " var canvas_div = (this.canvas_div = document.createElement('div'));\n",
- " canvas_div.setAttribute(\n",
- " 'style',\n",
- " 'border: 1px solid #ddd;' +\n",
- " 'box-sizing: content-box;' +\n",
- " 'clear: both;' +\n",
- " 'min-height: 1px;' +\n",
- " 'min-width: 1px;' +\n",
- " 'outline: 0;' +\n",
- " 'overflow: hidden;' +\n",
- " 'position: relative;' +\n",
- " 'resize: both;'\n",
- " );\n",
- "\n",
- " function on_keyboard_event_closure(name) {\n",
- " return function (event) {\n",
- " return fig.key_event(event, name);\n",
- " };\n",
- " }\n",
- "\n",
- " canvas_div.addEventListener(\n",
- " 'keydown',\n",
- " on_keyboard_event_closure('key_press')\n",
- " );\n",
- " canvas_div.addEventListener(\n",
- " 'keyup',\n",
- " on_keyboard_event_closure('key_release')\n",
- " );\n",
- "\n",
- " this._canvas_extra_style(canvas_div);\n",
- " this.root.appendChild(canvas_div);\n",
- "\n",
- " var canvas = (this.canvas = document.createElement('canvas'));\n",
- " canvas.classList.add('mpl-canvas');\n",
- " canvas.setAttribute('style', 'box-sizing: content-box;');\n",
- "\n",
- " this.context = canvas.getContext('2d');\n",
- "\n",
- " var backingStore =\n",
- " this.context.backingStorePixelRatio ||\n",
- " this.context.webkitBackingStorePixelRatio ||\n",
- " this.context.mozBackingStorePixelRatio ||\n",
- " this.context.msBackingStorePixelRatio ||\n",
- " this.context.oBackingStorePixelRatio ||\n",
- " this.context.backingStorePixelRatio ||\n",
- " 1;\n",
- "\n",
- " this.ratio = (window.devicePixelRatio || 1) / backingStore;\n",
- "\n",
- " var rubberband_canvas = (this.rubberband_canvas = document.createElement(\n",
- " 'canvas'\n",
- " ));\n",
- " rubberband_canvas.setAttribute(\n",
- " 'style',\n",
- " 'box-sizing: content-box; position: absolute; left: 0; top: 0; z-index: 1;'\n",
- " );\n",
- "\n",
- " // Apply a ponyfill if ResizeObserver is not implemented by browser.\n",
- " if (this.ResizeObserver === undefined) {\n",
- " if (window.ResizeObserver !== undefined) {\n",
- " this.ResizeObserver = window.ResizeObserver;\n",
- " } else {\n",
- " var obs = _JSXTOOLS_RESIZE_OBSERVER({});\n",
- " this.ResizeObserver = obs.ResizeObserver;\n",
- " }\n",
- " }\n",
- "\n",
- " this.resizeObserverInstance = new this.ResizeObserver(function (entries) {\n",
- " var nentries = entries.length;\n",
- " for (var i = 0; i < nentries; i++) {\n",
- " var entry = entries[i];\n",
- " var width, height;\n",
- " if (entry.contentBoxSize) {\n",
- " if (entry.contentBoxSize instanceof Array) {\n",
- " // Chrome 84 implements new version of spec.\n",
- " width = entry.contentBoxSize[0].inlineSize;\n",
- " height = entry.contentBoxSize[0].blockSize;\n",
- " } else {\n",
- " // Firefox implements old version of spec.\n",
- " width = entry.contentBoxSize.inlineSize;\n",
- " height = entry.contentBoxSize.blockSize;\n",
- " }\n",
- " } else {\n",
- " // Chrome <84 implements even older version of spec.\n",
- " width = entry.contentRect.width;\n",
- " height = entry.contentRect.height;\n",
- " }\n",
- "\n",
- " // Keep the size of the canvas and rubber band canvas in sync with\n",
- " // the canvas container.\n",
- " if (entry.devicePixelContentBoxSize) {\n",
- " // Chrome 84 implements new version of spec.\n",
- " canvas.setAttribute(\n",
- " 'width',\n",
- " entry.devicePixelContentBoxSize[0].inlineSize\n",
- " );\n",
- " canvas.setAttribute(\n",
- " 'height',\n",
- " entry.devicePixelContentBoxSize[0].blockSize\n",
- " );\n",
- " } else {\n",
- " canvas.setAttribute('width', width * fig.ratio);\n",
- " canvas.setAttribute('height', height * fig.ratio);\n",
- " }\n",
- " canvas.setAttribute(\n",
- " 'style',\n",
- " 'width: ' + width + 'px; height: ' + height + 'px;'\n",
- " );\n",
- "\n",
- " rubberband_canvas.setAttribute('width', width);\n",
- " rubberband_canvas.setAttribute('height', height);\n",
- "\n",
- " // And update the size in Python. We ignore the initial 0/0 size\n",
- " // that occurs as the element is placed into the DOM, which should\n",
- " // otherwise not happen due to the minimum size styling.\n",
- " if (fig.ws.readyState == 1 && width != 0 && height != 0) {\n",
- " fig.request_resize(width, height);\n",
- " }\n",
- " }\n",
- " });\n",
- " this.resizeObserverInstance.observe(canvas_div);\n",
- "\n",
- " function on_mouse_event_closure(name) {\n",
- " return function (event) {\n",
- " return fig.mouse_event(event, name);\n",
- " };\n",
- " }\n",
- "\n",
- " rubberband_canvas.addEventListener(\n",
- " 'mousedown',\n",
- " on_mouse_event_closure('button_press')\n",
- " );\n",
- " rubberband_canvas.addEventListener(\n",
- " 'mouseup',\n",
- " on_mouse_event_closure('button_release')\n",
- " );\n",
- " rubberband_canvas.addEventListener(\n",
- " 'dblclick',\n",
- " on_mouse_event_closure('dblclick')\n",
- " );\n",
- " // Throttle sequential mouse events to 1 every 20ms.\n",
- " rubberband_canvas.addEventListener(\n",
- " 'mousemove',\n",
- " on_mouse_event_closure('motion_notify')\n",
- " );\n",
- "\n",
- " rubberband_canvas.addEventListener(\n",
- " 'mouseenter',\n",
- " on_mouse_event_closure('figure_enter')\n",
- " );\n",
- " rubberband_canvas.addEventListener(\n",
- " 'mouseleave',\n",
- " on_mouse_event_closure('figure_leave')\n",
- " );\n",
- "\n",
- " canvas_div.addEventListener('wheel', function (event) {\n",
- " if (event.deltaY < 0) {\n",
- " event.step = 1;\n",
- " } else {\n",
- " event.step = -1;\n",
- " }\n",
- " on_mouse_event_closure('scroll')(event);\n",
- " });\n",
- "\n",
- " canvas_div.appendChild(canvas);\n",
- " canvas_div.appendChild(rubberband_canvas);\n",
- "\n",
- " this.rubberband_context = rubberband_canvas.getContext('2d');\n",
- " this.rubberband_context.strokeStyle = '#000000';\n",
- "\n",
- " this._resize_canvas = function (width, height, forward) {\n",
- " if (forward) {\n",
- " canvas_div.style.width = width + 'px';\n",
- " canvas_div.style.height = height + 'px';\n",
- " }\n",
- " };\n",
- "\n",
- " // Disable right mouse context menu.\n",
- " this.rubberband_canvas.addEventListener('contextmenu', function (_e) {\n",
- " event.preventDefault();\n",
- " return false;\n",
- " });\n",
- "\n",
- " function set_focus() {\n",
- " canvas.focus();\n",
- " canvas_div.focus();\n",
- " }\n",
- "\n",
- " window.setTimeout(set_focus, 100);\n",
- "};\n",
- "\n",
- "mpl.figure.prototype._init_toolbar = function () {\n",
- " var fig = this;\n",
- "\n",
- " var toolbar = document.createElement('div');\n",
- " toolbar.classList = 'mpl-toolbar';\n",
- " this.root.appendChild(toolbar);\n",
- "\n",
- " function on_click_closure(name) {\n",
- " return function (_event) {\n",
- " return fig.toolbar_button_onclick(name);\n",
- " };\n",
- " }\n",
- "\n",
- " function on_mouseover_closure(tooltip) {\n",
- " return function (event) {\n",
- " if (!event.currentTarget.disabled) {\n",
- " return fig.toolbar_button_onmouseover(tooltip);\n",
- " }\n",
- " };\n",
- " }\n",
- "\n",
- " fig.buttons = {};\n",
- " var buttonGroup = document.createElement('div');\n",
- " buttonGroup.classList = 'mpl-button-group';\n",
- " for (var toolbar_ind in mpl.toolbar_items) {\n",
- " var name = mpl.toolbar_items[toolbar_ind][0];\n",
- " var tooltip = mpl.toolbar_items[toolbar_ind][1];\n",
- " var image = mpl.toolbar_items[toolbar_ind][2];\n",
- " var method_name = mpl.toolbar_items[toolbar_ind][3];\n",
- "\n",
- " if (!name) {\n",
- " /* Instead of a spacer, we start a new button group. */\n",
- " if (buttonGroup.hasChildNodes()) {\n",
- " toolbar.appendChild(buttonGroup);\n",
- " }\n",
- " buttonGroup = document.createElement('div');\n",
- " buttonGroup.classList = 'mpl-button-group';\n",
- " continue;\n",
- " }\n",
- "\n",
- " var button = (fig.buttons[name] = document.createElement('button'));\n",
- " button.classList = 'mpl-widget';\n",
- " button.setAttribute('role', 'button');\n",
- " button.setAttribute('aria-disabled', 'false');\n",
- " button.addEventListener('click', on_click_closure(method_name));\n",
- " button.addEventListener('mouseover', on_mouseover_closure(tooltip));\n",
- "\n",
- " var icon_img = document.createElement('img');\n",
- " icon_img.src = '_images/' + image + '.png';\n",
- " icon_img.srcset = '_images/' + image + '_large.png 2x';\n",
- " icon_img.alt = tooltip;\n",
- " button.appendChild(icon_img);\n",
- "\n",
- " buttonGroup.appendChild(button);\n",
- " }\n",
- "\n",
- " if (buttonGroup.hasChildNodes()) {\n",
- " toolbar.appendChild(buttonGroup);\n",
- " }\n",
- "\n",
- " var fmt_picker = document.createElement('select');\n",
- " fmt_picker.classList = 'mpl-widget';\n",
- " toolbar.appendChild(fmt_picker);\n",
- " this.format_dropdown = fmt_picker;\n",
- "\n",
- " for (var ind in mpl.extensions) {\n",
- " var fmt = mpl.extensions[ind];\n",
- " var option = document.createElement('option');\n",
- " option.selected = fmt === mpl.default_extension;\n",
- " option.innerHTML = fmt;\n",
- " fmt_picker.appendChild(option);\n",
- " }\n",
- "\n",
- " var status_bar = document.createElement('span');\n",
- " status_bar.classList = 'mpl-message';\n",
- " toolbar.appendChild(status_bar);\n",
- " this.message = status_bar;\n",
- "};\n",
- "\n",
- "mpl.figure.prototype.request_resize = function (x_pixels, y_pixels) {\n",
- " // Request matplotlib to resize the figure. Matplotlib will then trigger a resize in the client,\n",
- " // which will in turn request a refresh of the image.\n",
- " this.send_message('resize', { width: x_pixels, height: y_pixels });\n",
- "};\n",
- "\n",
- "mpl.figure.prototype.send_message = function (type, properties) {\n",
- " properties['type'] = type;\n",
- " properties['figure_id'] = this.id;\n",
- " this.ws.send(JSON.stringify(properties));\n",
- "};\n",
- "\n",
- "mpl.figure.prototype.send_draw_message = function () {\n",
- " if (!this.waiting) {\n",
- " this.waiting = true;\n",
- " this.ws.send(JSON.stringify({ type: 'draw', figure_id: this.id }));\n",
- " }\n",
- "};\n",
- "\n",
- "mpl.figure.prototype.handle_save = function (fig, _msg) {\n",
- " var format_dropdown = fig.format_dropdown;\n",
- " var format = format_dropdown.options[format_dropdown.selectedIndex].value;\n",
- " fig.ondownload(fig, format);\n",
- "};\n",
- "\n",
- "mpl.figure.prototype.handle_resize = function (fig, msg) {\n",
- " var size = msg['size'];\n",
- " if (size[0] !== fig.canvas.width || size[1] !== fig.canvas.height) {\n",
- " fig._resize_canvas(size[0], size[1], msg['forward']);\n",
- " fig.send_message('refresh', {});\n",
- " }\n",
- "};\n",
- "\n",
- "mpl.figure.prototype.handle_rubberband = function (fig, msg) {\n",
- " var x0 = msg['x0'] / fig.ratio;\n",
- " var y0 = (fig.canvas.height - msg['y0']) / fig.ratio;\n",
- " var x1 = msg['x1'] / fig.ratio;\n",
- " var y1 = (fig.canvas.height - msg['y1']) / fig.ratio;\n",
- " x0 = Math.floor(x0) + 0.5;\n",
- " y0 = Math.floor(y0) + 0.5;\n",
- " x1 = Math.floor(x1) + 0.5;\n",
- " y1 = Math.floor(y1) + 0.5;\n",
- " var min_x = Math.min(x0, x1);\n",
- " var min_y = Math.min(y0, y1);\n",
- " var width = Math.abs(x1 - x0);\n",
- " var height = Math.abs(y1 - y0);\n",
- "\n",
- " fig.rubberband_context.clearRect(\n",
- " 0,\n",
- " 0,\n",
- " fig.canvas.width / fig.ratio,\n",
- " fig.canvas.height / fig.ratio\n",
- " );\n",
- "\n",
- " fig.rubberband_context.strokeRect(min_x, min_y, width, height);\n",
- "};\n",
- "\n",
- "mpl.figure.prototype.handle_figure_label = function (fig, msg) {\n",
- " // Updates the figure title.\n",
- " fig.header.textContent = msg['label'];\n",
- "};\n",
- "\n",
- "mpl.figure.prototype.handle_cursor = function (fig, msg) {\n",
- " fig.rubberband_canvas.style.cursor = msg['cursor'];\n",
- "};\n",
- "\n",
- "mpl.figure.prototype.handle_message = function (fig, msg) {\n",
- " fig.message.textContent = msg['message'];\n",
- "};\n",
- "\n",
- "mpl.figure.prototype.handle_draw = function (fig, _msg) {\n",
- " // Request the server to send over a new figure.\n",
- " fig.send_draw_message();\n",
- "};\n",
- "\n",
- "mpl.figure.prototype.handle_image_mode = function (fig, msg) {\n",
- " fig.image_mode = msg['mode'];\n",
- "};\n",
- "\n",
- "mpl.figure.prototype.handle_history_buttons = function (fig, msg) {\n",
- " for (var key in msg) {\n",
- " if (!(key in fig.buttons)) {\n",
- " continue;\n",
- " }\n",
- " fig.buttons[key].disabled = !msg[key];\n",
- " fig.buttons[key].setAttribute('aria-disabled', !msg[key]);\n",
- " }\n",
- "};\n",
- "\n",
- "mpl.figure.prototype.handle_navigate_mode = function (fig, msg) {\n",
- " if (msg['mode'] === 'PAN') {\n",
- " fig.buttons['Pan'].classList.add('active');\n",
- " fig.buttons['Zoom'].classList.remove('active');\n",
- " } else if (msg['mode'] === 'ZOOM') {\n",
- " fig.buttons['Pan'].classList.remove('active');\n",
- " fig.buttons['Zoom'].classList.add('active');\n",
- " } else {\n",
- " fig.buttons['Pan'].classList.remove('active');\n",
- " fig.buttons['Zoom'].classList.remove('active');\n",
- " }\n",
- "};\n",
- "\n",
- "mpl.figure.prototype.updated_canvas_event = function () {\n",
- " // Called whenever the canvas gets updated.\n",
- " this.send_message('ack', {});\n",
- "};\n",
- "\n",
- "// A function to construct a web socket function for onmessage handling.\n",
- "// Called in the figure constructor.\n",
- "mpl.figure.prototype._make_on_message_function = function (fig) {\n",
- " return function socket_on_message(evt) {\n",
- " if (evt.data instanceof Blob) {\n",
- " var img = evt.data;\n",
- " if (img.type !== 'image/png') {\n",
- " /* FIXME: We get \"Resource interpreted as Image but\n",
- " * transferred with MIME type text/plain:\" errors on\n",
- " * Chrome. But how to set the MIME type? It doesn't seem\n",
- " * to be part of the websocket stream */\n",
- " img.type = 'image/png';\n",
- " }\n",
- "\n",
- " /* Free the memory for the previous frames */\n",
- " if (fig.imageObj.src) {\n",
- " (window.URL || window.webkitURL).revokeObjectURL(\n",
- " fig.imageObj.src\n",
- " );\n",
- " }\n",
- "\n",
- " fig.imageObj.src = (window.URL || window.webkitURL).createObjectURL(\n",
- " img\n",
- " );\n",
- " fig.updated_canvas_event();\n",
- " fig.waiting = false;\n",
- " return;\n",
- " } else if (\n",
- " typeof evt.data === 'string' &&\n",
- " evt.data.slice(0, 21) === 'data:image/png;base64'\n",
- " ) {\n",
- " fig.imageObj.src = evt.data;\n",
- " fig.updated_canvas_event();\n",
- " fig.waiting = false;\n",
- " return;\n",
- " }\n",
- "\n",
- " var msg = JSON.parse(evt.data);\n",
- " var msg_type = msg['type'];\n",
- "\n",
- " // Call the \"handle_{type}\" callback, which takes\n",
- " // the figure and JSON message as its only arguments.\n",
- " try {\n",
- " var callback = fig['handle_' + msg_type];\n",
- " } catch (e) {\n",
- " console.log(\n",
- " \"No handler for the '\" + msg_type + \"' message type: \",\n",
- " msg\n",
- " );\n",
- " return;\n",
- " }\n",
- "\n",
- " if (callback) {\n",
- " try {\n",
- " // console.log(\"Handling '\" + msg_type + \"' message: \", msg);\n",
- " callback(fig, msg);\n",
- " } catch (e) {\n",
- " console.log(\n",
- " \"Exception inside the 'handler_\" + msg_type + \"' callback:\",\n",
- " e,\n",
- " e.stack,\n",
- " msg\n",
- " );\n",
- " }\n",
- " }\n",
- " };\n",
- "};\n",
- "\n",
- "// from https://stackoverflow.com/questions/1114465/getting-mouse-location-in-canvas\n",
- "mpl.findpos = function (e) {\n",
- " //this section is from http://www.quirksmode.org/js/events_properties.html\n",
- " var targ;\n",
- " if (!e) {\n",
- " e = window.event;\n",
- " }\n",
- " if (e.target) {\n",
- " targ = e.target;\n",
- " } else if (e.srcElement) {\n",
- " targ = e.srcElement;\n",
- " }\n",
- " if (targ.nodeType === 3) {\n",
- " // defeat Safari bug\n",
- " targ = targ.parentNode;\n",
- " }\n",
- "\n",
- " // pageX,Y are the mouse positions relative to the document\n",
- " var boundingRect = targ.getBoundingClientRect();\n",
- " var x = e.pageX - (boundingRect.left + document.body.scrollLeft);\n",
- " var y = e.pageY - (boundingRect.top + document.body.scrollTop);\n",
- "\n",
- " return { x: x, y: y };\n",
- "};\n",
- "\n",
- "/*\n",
- " * return a copy of an object with only non-object keys\n",
- " * we need this to avoid circular references\n",
- " * https://stackoverflow.com/a/24161582/3208463\n",
- " */\n",
- "function simpleKeys(original) {\n",
- " return Object.keys(original).reduce(function (obj, key) {\n",
- " if (typeof original[key] !== 'object') {\n",
- " obj[key] = original[key];\n",
- " }\n",
- " return obj;\n",
- " }, {});\n",
- "}\n",
- "\n",
- "mpl.figure.prototype.mouse_event = function (event, name) {\n",
- " var canvas_pos = mpl.findpos(event);\n",
- "\n",
- " if (name === 'button_press') {\n",
- " this.canvas.focus();\n",
- " this.canvas_div.focus();\n",
- " }\n",
- "\n",
- " var x = canvas_pos.x * this.ratio;\n",
- " var y = canvas_pos.y * this.ratio;\n",
- "\n",
- " this.send_message(name, {\n",
- " x: x,\n",
- " y: y,\n",
- " button: event.button,\n",
- " step: event.step,\n",
- " guiEvent: simpleKeys(event),\n",
- " });\n",
- "\n",
- " /* This prevents the web browser from automatically changing to\n",
- " * the text insertion cursor when the button is pressed. We want\n",
- " * to control all of the cursor setting manually through the\n",
- " * 'cursor' event from matplotlib */\n",
- " event.preventDefault();\n",
- " return false;\n",
- "};\n",
- "\n",
- "mpl.figure.prototype._key_event_extra = function (_event, _name) {\n",
- " // Handle any extra behaviour associated with a key event\n",
- "};\n",
- "\n",
- "mpl.figure.prototype.key_event = function (event, name) {\n",
- " // Prevent repeat events\n",
- " if (name === 'key_press') {\n",
- " if (event.key === this._key) {\n",
- " return;\n",
- " } else {\n",
- " this._key = event.key;\n",
- " }\n",
- " }\n",
- " if (name === 'key_release') {\n",
- " this._key = null;\n",
- " }\n",
- "\n",
- " var value = '';\n",
- " if (event.ctrlKey && event.key !== 'Control') {\n",
- " value += 'ctrl+';\n",
- " }\n",
- " else if (event.altKey && event.key !== 'Alt') {\n",
- " value += 'alt+';\n",
- " }\n",
- " else if (event.shiftKey && event.key !== 'Shift') {\n",
- " value += 'shift+';\n",
- " }\n",
- "\n",
- " value += 'k' + event.key;\n",
- "\n",
- " this._key_event_extra(event, name);\n",
- "\n",
- " this.send_message(name, { key: value, guiEvent: simpleKeys(event) });\n",
- " return false;\n",
- "};\n",
- "\n",
- "mpl.figure.prototype.toolbar_button_onclick = function (name) {\n",
- " if (name === 'download') {\n",
- " this.handle_save(this, null);\n",
- " } else {\n",
- " this.send_message('toolbar_button', { name: name });\n",
- " }\n",
- "};\n",
- "\n",
- "mpl.figure.prototype.toolbar_button_onmouseover = function (tooltip) {\n",
- " this.message.textContent = tooltip;\n",
- "};\n",
- "\n",
- "///////////////// REMAINING CONTENT GENERATED BY embed_js.py /////////////////\n",
- "// prettier-ignore\n",
- "var _JSXTOOLS_RESIZE_OBSERVER=function(A){var t,i=new WeakMap,n=new WeakMap,a=new WeakMap,r=new WeakMap,o=new Set;function s(e){if(!(this instanceof s))throw new TypeError(\"Constructor requires 'new' operator\");i.set(this,e)}function h(){throw new TypeError(\"Function is not a constructor\")}function c(e,t,i,n){e=0 in arguments?Number(arguments[0]):0,t=1 in arguments?Number(arguments[1]):0,i=2 in arguments?Number(arguments[2]):0,n=3 in arguments?Number(arguments[3]):0,this.right=(this.x=this.left=e)+(this.width=i),this.bottom=(this.y=this.top=t)+(this.height=n),Object.freeze(this)}function d(){t=requestAnimationFrame(d);var s=new WeakMap,p=new Set;o.forEach((function(t){r.get(t).forEach((function(i){var r=t instanceof window.SVGElement,o=a.get(t),d=r?0:parseFloat(o.paddingTop),f=r?0:parseFloat(o.paddingRight),l=r?0:parseFloat(o.paddingBottom),u=r?0:parseFloat(o.paddingLeft),g=r?0:parseFloat(o.borderTopWidth),m=r?0:parseFloat(o.borderRightWidth),w=r?0:parseFloat(o.borderBottomWidth),b=u+f,F=d+l,v=(r?0:parseFloat(o.borderLeftWidth))+m,W=g+w,y=r?0:t.offsetHeight-W-t.clientHeight,E=r?0:t.offsetWidth-v-t.clientWidth,R=b+v,z=F+W,M=r?t.width:parseFloat(o.width)-R-E,O=r?t.height:parseFloat(o.height)-z-y;if(n.has(t)){var k=n.get(t);if(k[0]===M&&k[1]===O)return}n.set(t,[M,O]);var S=Object.create(h.prototype);S.target=t,S.contentRect=new c(u,d,M,O),s.has(i)||(s.set(i,[]),p.add(i)),s.get(i).push(S)}))})),p.forEach((function(e){i.get(e).call(e,s.get(e),e)}))}return s.prototype.observe=function(i){if(i instanceof window.Element){r.has(i)||(r.set(i,new Set),o.add(i),a.set(i,window.getComputedStyle(i)));var n=r.get(i);n.has(this)||n.add(this),cancelAnimationFrame(t),t=requestAnimationFrame(d)}},s.prototype.unobserve=function(i){if(i instanceof window.Element&&r.has(i)){var n=r.get(i);n.has(this)&&(n.delete(this),n.size||(r.delete(i),o.delete(i))),n.size||r.delete(i),o.size||cancelAnimationFrame(t)}},A.DOMRectReadOnly=c,A.ResizeObserver=s,A.ResizeObserverEntry=h,A}; // eslint-disable-line\n",
- "mpl.toolbar_items = [[\"Home\", \"Reset original view\", \"fa fa-home icon-home\", \"home\"], [\"Back\", \"Back to previous view\", \"fa fa-arrow-left icon-arrow-left\", \"back\"], [\"Forward\", \"Forward to next view\", \"fa fa-arrow-right icon-arrow-right\", \"forward\"], [\"\", \"\", \"\", \"\"], [\"Pan\", \"Left button pans, Right button zooms\\nx/y fixes axis, CTRL fixes aspect\", \"fa fa-arrows icon-move\", \"pan\"], [\"Zoom\", \"Zoom to rectangle\\nx/y fixes axis\", \"fa fa-square-o icon-check-empty\", \"zoom\"], [\"\", \"\", \"\", \"\"], [\"Download\", \"Download plot\", \"fa fa-floppy-o icon-save\", \"download\"]];\n",
- "\n",
- "mpl.extensions = [\"eps\", \"jpeg\", \"pgf\", \"pdf\", \"png\", \"ps\", \"raw\", \"svg\", \"tif\"];\n",
- "\n",
- "mpl.default_extension = \"png\";/* global mpl */\n",
- "\n",
- "var comm_websocket_adapter = function (comm) {\n",
- " // Create a \"websocket\"-like object which calls the given IPython comm\n",
- " // object with the appropriate methods. Currently this is a non binary\n",
- " // socket, so there is still some room for performance tuning.\n",
- " var ws = {};\n",
- "\n",
- " ws.binaryType = comm.kernel.ws.binaryType;\n",
- " ws.readyState = comm.kernel.ws.readyState;\n",
- " function updateReadyState(_event) {\n",
- " if (comm.kernel.ws) {\n",
- " ws.readyState = comm.kernel.ws.readyState;\n",
- " } else {\n",
- " ws.readyState = 3; // Closed state.\n",
- " }\n",
- " }\n",
- " comm.kernel.ws.addEventListener('open', updateReadyState);\n",
- " comm.kernel.ws.addEventListener('close', updateReadyState);\n",
- " comm.kernel.ws.addEventListener('error', updateReadyState);\n",
- "\n",
- " ws.close = function () {\n",
- " comm.close();\n",
- " };\n",
- " ws.send = function (m) {\n",
- " //console.log('sending', m);\n",
- " comm.send(m);\n",
- " };\n",
- " // Register the callback with on_msg.\n",
- " comm.on_msg(function (msg) {\n",
- " //console.log('receiving', msg['content']['data'], msg);\n",
- " var data = msg['content']['data'];\n",
- " if (data['blob'] !== undefined) {\n",
- " data = {\n",
- " data: new Blob(msg['buffers'], { type: data['blob'] }),\n",
- " };\n",
- " }\n",
- " // Pass the mpl event to the overridden (by mpl) onmessage function.\n",
- " ws.onmessage(data);\n",
- " });\n",
- " return ws;\n",
- "};\n",
- "\n",
- "mpl.mpl_figure_comm = function (comm, msg) {\n",
- " // This is the function which gets called when the mpl process\n",
- " // starts-up an IPython Comm through the \"matplotlib\" channel.\n",
- "\n",
- " var id = msg.content.data.id;\n",
- " // Get hold of the div created by the display call when the Comm\n",
- " // socket was opened in Python.\n",
- " var element = document.getElementById(id);\n",
- " var ws_proxy = comm_websocket_adapter(comm);\n",
- "\n",
- " function ondownload(figure, _format) {\n",
- " window.open(figure.canvas.toDataURL());\n",
- " }\n",
- "\n",
- " var fig = new mpl.figure(id, ws_proxy, ondownload, element);\n",
- "\n",
- " // Call onopen now - mpl needs it, as it is assuming we've passed it a real\n",
- " // web socket which is closed, not our websocket->open comm proxy.\n",
- " ws_proxy.onopen();\n",
- "\n",
- " fig.parent_element = element;\n",
- " fig.cell_info = mpl.find_output_cell(\"\");\n",
- " if (!fig.cell_info) {\n",
- " console.error('Failed to find cell for figure', id, fig);\n",
- " return;\n",
- " }\n",
- " fig.cell_info[0].output_area.element.on(\n",
- " 'cleared',\n",
- " { fig: fig },\n",
- " fig._remove_fig_handler\n",
- " );\n",
- "};\n",
- "\n",
- "mpl.figure.prototype.handle_close = function (fig, msg) {\n",
- " var width = fig.canvas.width / fig.ratio;\n",
- " fig.cell_info[0].output_area.element.off(\n",
- " 'cleared',\n",
- " fig._remove_fig_handler\n",
- " );\n",
- " fig.resizeObserverInstance.unobserve(fig.canvas_div);\n",
- "\n",
- " // Update the output cell to use the data from the current canvas.\n",
- " fig.push_to_output();\n",
- " var dataURL = fig.canvas.toDataURL();\n",
- " // Re-enable the keyboard manager in IPython - without this line, in FF,\n",
- " // the notebook keyboard shortcuts fail.\n",
- " IPython.keyboard_manager.enable();\n",
- " fig.parent_element.innerHTML =\n",
- " '
';\n",
- " fig.close_ws(fig, msg);\n",
- "};\n",
- "\n",
- "mpl.figure.prototype.close_ws = function (fig, msg) {\n",
- " fig.send_message('closing', msg);\n",
- " // fig.ws.close()\n",
- "};\n",
- "\n",
- "mpl.figure.prototype.push_to_output = function (_remove_interactive) {\n",
- " // Turn the data on the canvas into data in the output cell.\n",
- " var width = this.canvas.width / this.ratio;\n",
- " var dataURL = this.canvas.toDataURL();\n",
- " this.cell_info[1]['text/html'] =\n",
- " '
';\n",
- "};\n",
- "\n",
- "mpl.figure.prototype.updated_canvas_event = function () {\n",
- " // Tell IPython that the notebook contents must change.\n",
- " IPython.notebook.set_dirty(true);\n",
- " this.send_message('ack', {});\n",
- " var fig = this;\n",
- " // Wait a second, then push the new image to the DOM so\n",
- " // that it is saved nicely (might be nice to debounce this).\n",
- " setTimeout(function () {\n",
- " fig.push_to_output();\n",
- " }, 1000);\n",
- "};\n",
- "\n",
- "mpl.figure.prototype._init_toolbar = function () {\n",
- " var fig = this;\n",
- "\n",
- " var toolbar = document.createElement('div');\n",
- " toolbar.classList = 'btn-toolbar';\n",
- " this.root.appendChild(toolbar);\n",
- "\n",
- " function on_click_closure(name) {\n",
- " return function (_event) {\n",
- " return fig.toolbar_button_onclick(name);\n",
- " };\n",
- " }\n",
- "\n",
- " function on_mouseover_closure(tooltip) {\n",
- " return function (event) {\n",
- " if (!event.currentTarget.disabled) {\n",
- " return fig.toolbar_button_onmouseover(tooltip);\n",
- " }\n",
- " };\n",
- " }\n",
- "\n",
- " fig.buttons = {};\n",
- " var buttonGroup = document.createElement('div');\n",
- " buttonGroup.classList = 'btn-group';\n",
- " var button;\n",
- " for (var toolbar_ind in mpl.toolbar_items) {\n",
- " var name = mpl.toolbar_items[toolbar_ind][0];\n",
- " var tooltip = mpl.toolbar_items[toolbar_ind][1];\n",
- " var image = mpl.toolbar_items[toolbar_ind][2];\n",
- " var method_name = mpl.toolbar_items[toolbar_ind][3];\n",
- "\n",
- " if (!name) {\n",
- " /* Instead of a spacer, we start a new button group. */\n",
- " if (buttonGroup.hasChildNodes()) {\n",
- " toolbar.appendChild(buttonGroup);\n",
- " }\n",
- " buttonGroup = document.createElement('div');\n",
- " buttonGroup.classList = 'btn-group';\n",
- " continue;\n",
- " }\n",
- "\n",
- " button = fig.buttons[name] = document.createElement('button');\n",
- " button.classList = 'btn btn-default';\n",
- " button.href = '#';\n",
- " button.title = name;\n",
- " button.innerHTML = '';\n",
- " button.addEventListener('click', on_click_closure(method_name));\n",
- " button.addEventListener('mouseover', on_mouseover_closure(tooltip));\n",
- " buttonGroup.appendChild(button);\n",
- " }\n",
- "\n",
- " if (buttonGroup.hasChildNodes()) {\n",
- " toolbar.appendChild(buttonGroup);\n",
- " }\n",
- "\n",
- " // Add the status bar.\n",
- " var status_bar = document.createElement('span');\n",
- " status_bar.classList = 'mpl-message pull-right';\n",
- " toolbar.appendChild(status_bar);\n",
- " this.message = status_bar;\n",
- "\n",
- " // Add the close button to the window.\n",
- " var buttongrp = document.createElement('div');\n",
- " buttongrp.classList = 'btn-group inline pull-right';\n",
- " button = document.createElement('button');\n",
- " button.classList = 'btn btn-mini btn-primary';\n",
- " button.href = '#';\n",
- " button.title = 'Stop Interaction';\n",
- " button.innerHTML = '';\n",
- " button.addEventListener('click', function (_evt) {\n",
- " fig.handle_close(fig, {});\n",
- " });\n",
- " button.addEventListener(\n",
- " 'mouseover',\n",
- " on_mouseover_closure('Stop Interaction')\n",
- " );\n",
- " buttongrp.appendChild(button);\n",
- " var titlebar = this.root.querySelector('.ui-dialog-titlebar');\n",
- " titlebar.insertBefore(buttongrp, titlebar.firstChild);\n",
- "};\n",
- "\n",
- "mpl.figure.prototype._remove_fig_handler = function (event) {\n",
- " var fig = event.data.fig;\n",
- " if (event.target !== this) {\n",
- " // Ignore bubbled events from children.\n",
- " return;\n",
- " }\n",
- " fig.close_ws(fig, {});\n",
- "};\n",
- "\n",
- "mpl.figure.prototype._root_extra_style = function (el) {\n",
- " el.style.boxSizing = 'content-box'; // override notebook setting of border-box.\n",
- "};\n",
- "\n",
- "mpl.figure.prototype._canvas_extra_style = function (el) {\n",
- " // this is important to make the div 'focusable\n",
- " el.setAttribute('tabindex', 0);\n",
- " // reach out to IPython and tell the keyboard manager to turn it's self\n",
- " // off when our div gets focus\n",
- "\n",
- " // location in version 3\n",
- " if (IPython.notebook.keyboard_manager) {\n",
- " IPython.notebook.keyboard_manager.register_events(el);\n",
- " } else {\n",
- " // location in version 2\n",
- " IPython.keyboard_manager.register_events(el);\n",
- " }\n",
- "};\n",
- "\n",
- "mpl.figure.prototype._key_event_extra = function (event, _name) {\n",
- " // Check for shift+enter\n",
- " if (event.shiftKey && event.which === 13) {\n",
- " this.canvas_div.blur();\n",
- " // select the cell after this one\n",
- " var index = IPython.notebook.find_cell_index(this.cell_info[0]);\n",
- " IPython.notebook.select(index + 1);\n",
- " }\n",
- "};\n",
- "\n",
- "mpl.figure.prototype.handle_save = function (fig, _msg) {\n",
- " fig.ondownload(fig, null);\n",
- "};\n",
- "\n",
- "mpl.find_output_cell = function (html_output) {\n",
- " // Return the cell and output element which can be found *uniquely* in the notebook.\n",
- " // Note - this is a bit hacky, but it is done because the \"notebook_saving.Notebook\"\n",
- " // IPython event is triggered only after the cells have been serialised, which for\n",
- " // our purposes (turning an active figure into a static one), is too late.\n",
- " var cells = IPython.notebook.get_cells();\n",
- " var ncells = cells.length;\n",
- " for (var i = 0; i < ncells; i++) {\n",
- " var cell = cells[i];\n",
- " if (cell.cell_type === 'code') {\n",
- " for (var j = 0; j < cell.output_area.outputs.length; j++) {\n",
- " var data = cell.output_area.outputs[j];\n",
- " if (data.data) {\n",
- " // IPython >= 3 moved mimebundle to data attribute of output\n",
- " data = data.data;\n",
- " }\n",
- " if (data['text/html'] === html_output) {\n",
- " return [cell, data, j];\n",
- " }\n",
- " }\n",
- " }\n",
- " }\n",
- "};\n",
- "\n",
- "// Register the function which deals with the matplotlib target/channel.\n",
- "// The kernel may be null if the page has been refreshed.\n",
- "if (IPython.notebook.kernel !== null) {\n",
- " IPython.notebook.kernel.comm_manager.register_target(\n",
- " 'matplotlib',\n",
- " mpl.mpl_figure_comm\n",
- " );\n",
- "}\n"
- ],
- "text/plain": [
- ""
- ]
- },
- "metadata": {},
- "output_type": "display_data"
- },
- {
- "data": {
- "text/html": [
- "
"
- ],
- "text/plain": [
- ""
- ]
- },
- "metadata": {},
- "output_type": "display_data"
- }
- ],
+ "outputs": [],
"source": [
"nrow=2\n",
"ncol=3\n",
@@ -8512,997 +595,9 @@
},
{
"cell_type": "code",
- "execution_count": 38,
+ "execution_count": null,
"metadata": {},
- "outputs": [
- {
- "data": {
- "application/javascript": [
- "/* Put everything inside the global mpl namespace */\n",
- "/* global mpl */\n",
- "window.mpl = {};\n",
- "\n",
- "mpl.get_websocket_type = function () {\n",
- " if (typeof WebSocket !== 'undefined') {\n",
- " return WebSocket;\n",
- " } else if (typeof MozWebSocket !== 'undefined') {\n",
- " return MozWebSocket;\n",
- " } else {\n",
- " alert(\n",
- " 'Your browser does not have WebSocket support. ' +\n",
- " 'Please try Chrome, Safari or Firefox ≥ 6. ' +\n",
- " 'Firefox 4 and 5 are also supported but you ' +\n",
- " 'have to enable WebSockets in about:config.'\n",
- " );\n",
- " }\n",
- "};\n",
- "\n",
- "mpl.figure = function (figure_id, websocket, ondownload, parent_element) {\n",
- " this.id = figure_id;\n",
- "\n",
- " this.ws = websocket;\n",
- "\n",
- " this.supports_binary = this.ws.binaryType !== undefined;\n",
- "\n",
- " if (!this.supports_binary) {\n",
- " var warnings = document.getElementById('mpl-warnings');\n",
- " if (warnings) {\n",
- " warnings.style.display = 'block';\n",
- " warnings.textContent =\n",
- " 'This browser does not support binary websocket messages. ' +\n",
- " 'Performance may be slow.';\n",
- " }\n",
- " }\n",
- "\n",
- " this.imageObj = new Image();\n",
- "\n",
- " this.context = undefined;\n",
- " this.message = undefined;\n",
- " this.canvas = undefined;\n",
- " this.rubberband_canvas = undefined;\n",
- " this.rubberband_context = undefined;\n",
- " this.format_dropdown = undefined;\n",
- "\n",
- " this.image_mode = 'full';\n",
- "\n",
- " this.root = document.createElement('div');\n",
- " this.root.setAttribute('style', 'display: inline-block');\n",
- " this._root_extra_style(this.root);\n",
- "\n",
- " parent_element.appendChild(this.root);\n",
- "\n",
- " this._init_header(this);\n",
- " this._init_canvas(this);\n",
- " this._init_toolbar(this);\n",
- "\n",
- " var fig = this;\n",
- "\n",
- " this.waiting = false;\n",
- "\n",
- " this.ws.onopen = function () {\n",
- " fig.send_message('supports_binary', { value: fig.supports_binary });\n",
- " fig.send_message('send_image_mode', {});\n",
- " if (fig.ratio !== 1) {\n",
- " fig.send_message('set_device_pixel_ratio', {\n",
- " device_pixel_ratio: fig.ratio,\n",
- " });\n",
- " }\n",
- " fig.send_message('refresh', {});\n",
- " };\n",
- "\n",
- " this.imageObj.onload = function () {\n",
- " if (fig.image_mode === 'full') {\n",
- " // Full images could contain transparency (where diff images\n",
- " // almost always do), so we need to clear the canvas so that\n",
- " // there is no ghosting.\n",
- " fig.context.clearRect(0, 0, fig.canvas.width, fig.canvas.height);\n",
- " }\n",
- " fig.context.drawImage(fig.imageObj, 0, 0);\n",
- " };\n",
- "\n",
- " this.imageObj.onunload = function () {\n",
- " fig.ws.close();\n",
- " };\n",
- "\n",
- " this.ws.onmessage = this._make_on_message_function(this);\n",
- "\n",
- " this.ondownload = ondownload;\n",
- "};\n",
- "\n",
- "mpl.figure.prototype._init_header = function () {\n",
- " var titlebar = document.createElement('div');\n",
- " titlebar.classList =\n",
- " 'ui-dialog-titlebar ui-widget-header ui-corner-all ui-helper-clearfix';\n",
- " var titletext = document.createElement('div');\n",
- " titletext.classList = 'ui-dialog-title';\n",
- " titletext.setAttribute(\n",
- " 'style',\n",
- " 'width: 100%; text-align: center; padding: 3px;'\n",
- " );\n",
- " titlebar.appendChild(titletext);\n",
- " this.root.appendChild(titlebar);\n",
- " this.header = titletext;\n",
- "};\n",
- "\n",
- "mpl.figure.prototype._canvas_extra_style = function (_canvas_div) {};\n",
- "\n",
- "mpl.figure.prototype._root_extra_style = function (_canvas_div) {};\n",
- "\n",
- "mpl.figure.prototype._init_canvas = function () {\n",
- " var fig = this;\n",
- "\n",
- " var canvas_div = (this.canvas_div = document.createElement('div'));\n",
- " canvas_div.setAttribute(\n",
- " 'style',\n",
- " 'border: 1px solid #ddd;' +\n",
- " 'box-sizing: content-box;' +\n",
- " 'clear: both;' +\n",
- " 'min-height: 1px;' +\n",
- " 'min-width: 1px;' +\n",
- " 'outline: 0;' +\n",
- " 'overflow: hidden;' +\n",
- " 'position: relative;' +\n",
- " 'resize: both;'\n",
- " );\n",
- "\n",
- " function on_keyboard_event_closure(name) {\n",
- " return function (event) {\n",
- " return fig.key_event(event, name);\n",
- " };\n",
- " }\n",
- "\n",
- " canvas_div.addEventListener(\n",
- " 'keydown',\n",
- " on_keyboard_event_closure('key_press')\n",
- " );\n",
- " canvas_div.addEventListener(\n",
- " 'keyup',\n",
- " on_keyboard_event_closure('key_release')\n",
- " );\n",
- "\n",
- " this._canvas_extra_style(canvas_div);\n",
- " this.root.appendChild(canvas_div);\n",
- "\n",
- " var canvas = (this.canvas = document.createElement('canvas'));\n",
- " canvas.classList.add('mpl-canvas');\n",
- " canvas.setAttribute('style', 'box-sizing: content-box;');\n",
- "\n",
- " this.context = canvas.getContext('2d');\n",
- "\n",
- " var backingStore =\n",
- " this.context.backingStorePixelRatio ||\n",
- " this.context.webkitBackingStorePixelRatio ||\n",
- " this.context.mozBackingStorePixelRatio ||\n",
- " this.context.msBackingStorePixelRatio ||\n",
- " this.context.oBackingStorePixelRatio ||\n",
- " this.context.backingStorePixelRatio ||\n",
- " 1;\n",
- "\n",
- " this.ratio = (window.devicePixelRatio || 1) / backingStore;\n",
- "\n",
- " var rubberband_canvas = (this.rubberband_canvas = document.createElement(\n",
- " 'canvas'\n",
- " ));\n",
- " rubberband_canvas.setAttribute(\n",
- " 'style',\n",
- " 'box-sizing: content-box; position: absolute; left: 0; top: 0; z-index: 1;'\n",
- " );\n",
- "\n",
- " // Apply a ponyfill if ResizeObserver is not implemented by browser.\n",
- " if (this.ResizeObserver === undefined) {\n",
- " if (window.ResizeObserver !== undefined) {\n",
- " this.ResizeObserver = window.ResizeObserver;\n",
- " } else {\n",
- " var obs = _JSXTOOLS_RESIZE_OBSERVER({});\n",
- " this.ResizeObserver = obs.ResizeObserver;\n",
- " }\n",
- " }\n",
- "\n",
- " this.resizeObserverInstance = new this.ResizeObserver(function (entries) {\n",
- " var nentries = entries.length;\n",
- " for (var i = 0; i < nentries; i++) {\n",
- " var entry = entries[i];\n",
- " var width, height;\n",
- " if (entry.contentBoxSize) {\n",
- " if (entry.contentBoxSize instanceof Array) {\n",
- " // Chrome 84 implements new version of spec.\n",
- " width = entry.contentBoxSize[0].inlineSize;\n",
- " height = entry.contentBoxSize[0].blockSize;\n",
- " } else {\n",
- " // Firefox implements old version of spec.\n",
- " width = entry.contentBoxSize.inlineSize;\n",
- " height = entry.contentBoxSize.blockSize;\n",
- " }\n",
- " } else {\n",
- " // Chrome <84 implements even older version of spec.\n",
- " width = entry.contentRect.width;\n",
- " height = entry.contentRect.height;\n",
- " }\n",
- "\n",
- " // Keep the size of the canvas and rubber band canvas in sync with\n",
- " // the canvas container.\n",
- " if (entry.devicePixelContentBoxSize) {\n",
- " // Chrome 84 implements new version of spec.\n",
- " canvas.setAttribute(\n",
- " 'width',\n",
- " entry.devicePixelContentBoxSize[0].inlineSize\n",
- " );\n",
- " canvas.setAttribute(\n",
- " 'height',\n",
- " entry.devicePixelContentBoxSize[0].blockSize\n",
- " );\n",
- " } else {\n",
- " canvas.setAttribute('width', width * fig.ratio);\n",
- " canvas.setAttribute('height', height * fig.ratio);\n",
- " }\n",
- " canvas.setAttribute(\n",
- " 'style',\n",
- " 'width: ' + width + 'px; height: ' + height + 'px;'\n",
- " );\n",
- "\n",
- " rubberband_canvas.setAttribute('width', width);\n",
- " rubberband_canvas.setAttribute('height', height);\n",
- "\n",
- " // And update the size in Python. We ignore the initial 0/0 size\n",
- " // that occurs as the element is placed into the DOM, which should\n",
- " // otherwise not happen due to the minimum size styling.\n",
- " if (fig.ws.readyState == 1 && width != 0 && height != 0) {\n",
- " fig.request_resize(width, height);\n",
- " }\n",
- " }\n",
- " });\n",
- " this.resizeObserverInstance.observe(canvas_div);\n",
- "\n",
- " function on_mouse_event_closure(name) {\n",
- " return function (event) {\n",
- " return fig.mouse_event(event, name);\n",
- " };\n",
- " }\n",
- "\n",
- " rubberband_canvas.addEventListener(\n",
- " 'mousedown',\n",
- " on_mouse_event_closure('button_press')\n",
- " );\n",
- " rubberband_canvas.addEventListener(\n",
- " 'mouseup',\n",
- " on_mouse_event_closure('button_release')\n",
- " );\n",
- " rubberband_canvas.addEventListener(\n",
- " 'dblclick',\n",
- " on_mouse_event_closure('dblclick')\n",
- " );\n",
- " // Throttle sequential mouse events to 1 every 20ms.\n",
- " rubberband_canvas.addEventListener(\n",
- " 'mousemove',\n",
- " on_mouse_event_closure('motion_notify')\n",
- " );\n",
- "\n",
- " rubberband_canvas.addEventListener(\n",
- " 'mouseenter',\n",
- " on_mouse_event_closure('figure_enter')\n",
- " );\n",
- " rubberband_canvas.addEventListener(\n",
- " 'mouseleave',\n",
- " on_mouse_event_closure('figure_leave')\n",
- " );\n",
- "\n",
- " canvas_div.addEventListener('wheel', function (event) {\n",
- " if (event.deltaY < 0) {\n",
- " event.step = 1;\n",
- " } else {\n",
- " event.step = -1;\n",
- " }\n",
- " on_mouse_event_closure('scroll')(event);\n",
- " });\n",
- "\n",
- " canvas_div.appendChild(canvas);\n",
- " canvas_div.appendChild(rubberband_canvas);\n",
- "\n",
- " this.rubberband_context = rubberband_canvas.getContext('2d');\n",
- " this.rubberband_context.strokeStyle = '#000000';\n",
- "\n",
- " this._resize_canvas = function (width, height, forward) {\n",
- " if (forward) {\n",
- " canvas_div.style.width = width + 'px';\n",
- " canvas_div.style.height = height + 'px';\n",
- " }\n",
- " };\n",
- "\n",
- " // Disable right mouse context menu.\n",
- " this.rubberband_canvas.addEventListener('contextmenu', function (_e) {\n",
- " event.preventDefault();\n",
- " return false;\n",
- " });\n",
- "\n",
- " function set_focus() {\n",
- " canvas.focus();\n",
- " canvas_div.focus();\n",
- " }\n",
- "\n",
- " window.setTimeout(set_focus, 100);\n",
- "};\n",
- "\n",
- "mpl.figure.prototype._init_toolbar = function () {\n",
- " var fig = this;\n",
- "\n",
- " var toolbar = document.createElement('div');\n",
- " toolbar.classList = 'mpl-toolbar';\n",
- " this.root.appendChild(toolbar);\n",
- "\n",
- " function on_click_closure(name) {\n",
- " return function (_event) {\n",
- " return fig.toolbar_button_onclick(name);\n",
- " };\n",
- " }\n",
- "\n",
- " function on_mouseover_closure(tooltip) {\n",
- " return function (event) {\n",
- " if (!event.currentTarget.disabled) {\n",
- " return fig.toolbar_button_onmouseover(tooltip);\n",
- " }\n",
- " };\n",
- " }\n",
- "\n",
- " fig.buttons = {};\n",
- " var buttonGroup = document.createElement('div');\n",
- " buttonGroup.classList = 'mpl-button-group';\n",
- " for (var toolbar_ind in mpl.toolbar_items) {\n",
- " var name = mpl.toolbar_items[toolbar_ind][0];\n",
- " var tooltip = mpl.toolbar_items[toolbar_ind][1];\n",
- " var image = mpl.toolbar_items[toolbar_ind][2];\n",
- " var method_name = mpl.toolbar_items[toolbar_ind][3];\n",
- "\n",
- " if (!name) {\n",
- " /* Instead of a spacer, we start a new button group. */\n",
- " if (buttonGroup.hasChildNodes()) {\n",
- " toolbar.appendChild(buttonGroup);\n",
- " }\n",
- " buttonGroup = document.createElement('div');\n",
- " buttonGroup.classList = 'mpl-button-group';\n",
- " continue;\n",
- " }\n",
- "\n",
- " var button = (fig.buttons[name] = document.createElement('button'));\n",
- " button.classList = 'mpl-widget';\n",
- " button.setAttribute('role', 'button');\n",
- " button.setAttribute('aria-disabled', 'false');\n",
- " button.addEventListener('click', on_click_closure(method_name));\n",
- " button.addEventListener('mouseover', on_mouseover_closure(tooltip));\n",
- "\n",
- " var icon_img = document.createElement('img');\n",
- " icon_img.src = '_images/' + image + '.png';\n",
- " icon_img.srcset = '_images/' + image + '_large.png 2x';\n",
- " icon_img.alt = tooltip;\n",
- " button.appendChild(icon_img);\n",
- "\n",
- " buttonGroup.appendChild(button);\n",
- " }\n",
- "\n",
- " if (buttonGroup.hasChildNodes()) {\n",
- " toolbar.appendChild(buttonGroup);\n",
- " }\n",
- "\n",
- " var fmt_picker = document.createElement('select');\n",
- " fmt_picker.classList = 'mpl-widget';\n",
- " toolbar.appendChild(fmt_picker);\n",
- " this.format_dropdown = fmt_picker;\n",
- "\n",
- " for (var ind in mpl.extensions) {\n",
- " var fmt = mpl.extensions[ind];\n",
- " var option = document.createElement('option');\n",
- " option.selected = fmt === mpl.default_extension;\n",
- " option.innerHTML = fmt;\n",
- " fmt_picker.appendChild(option);\n",
- " }\n",
- "\n",
- " var status_bar = document.createElement('span');\n",
- " status_bar.classList = 'mpl-message';\n",
- " toolbar.appendChild(status_bar);\n",
- " this.message = status_bar;\n",
- "};\n",
- "\n",
- "mpl.figure.prototype.request_resize = function (x_pixels, y_pixels) {\n",
- " // Request matplotlib to resize the figure. Matplotlib will then trigger a resize in the client,\n",
- " // which will in turn request a refresh of the image.\n",
- " this.send_message('resize', { width: x_pixels, height: y_pixels });\n",
- "};\n",
- "\n",
- "mpl.figure.prototype.send_message = function (type, properties) {\n",
- " properties['type'] = type;\n",
- " properties['figure_id'] = this.id;\n",
- " this.ws.send(JSON.stringify(properties));\n",
- "};\n",
- "\n",
- "mpl.figure.prototype.send_draw_message = function () {\n",
- " if (!this.waiting) {\n",
- " this.waiting = true;\n",
- " this.ws.send(JSON.stringify({ type: 'draw', figure_id: this.id }));\n",
- " }\n",
- "};\n",
- "\n",
- "mpl.figure.prototype.handle_save = function (fig, _msg) {\n",
- " var format_dropdown = fig.format_dropdown;\n",
- " var format = format_dropdown.options[format_dropdown.selectedIndex].value;\n",
- " fig.ondownload(fig, format);\n",
- "};\n",
- "\n",
- "mpl.figure.prototype.handle_resize = function (fig, msg) {\n",
- " var size = msg['size'];\n",
- " if (size[0] !== fig.canvas.width || size[1] !== fig.canvas.height) {\n",
- " fig._resize_canvas(size[0], size[1], msg['forward']);\n",
- " fig.send_message('refresh', {});\n",
- " }\n",
- "};\n",
- "\n",
- "mpl.figure.prototype.handle_rubberband = function (fig, msg) {\n",
- " var x0 = msg['x0'] / fig.ratio;\n",
- " var y0 = (fig.canvas.height - msg['y0']) / fig.ratio;\n",
- " var x1 = msg['x1'] / fig.ratio;\n",
- " var y1 = (fig.canvas.height - msg['y1']) / fig.ratio;\n",
- " x0 = Math.floor(x0) + 0.5;\n",
- " y0 = Math.floor(y0) + 0.5;\n",
- " x1 = Math.floor(x1) + 0.5;\n",
- " y1 = Math.floor(y1) + 0.5;\n",
- " var min_x = Math.min(x0, x1);\n",
- " var min_y = Math.min(y0, y1);\n",
- " var width = Math.abs(x1 - x0);\n",
- " var height = Math.abs(y1 - y0);\n",
- "\n",
- " fig.rubberband_context.clearRect(\n",
- " 0,\n",
- " 0,\n",
- " fig.canvas.width / fig.ratio,\n",
- " fig.canvas.height / fig.ratio\n",
- " );\n",
- "\n",
- " fig.rubberband_context.strokeRect(min_x, min_y, width, height);\n",
- "};\n",
- "\n",
- "mpl.figure.prototype.handle_figure_label = function (fig, msg) {\n",
- " // Updates the figure title.\n",
- " fig.header.textContent = msg['label'];\n",
- "};\n",
- "\n",
- "mpl.figure.prototype.handle_cursor = function (fig, msg) {\n",
- " fig.rubberband_canvas.style.cursor = msg['cursor'];\n",
- "};\n",
- "\n",
- "mpl.figure.prototype.handle_message = function (fig, msg) {\n",
- " fig.message.textContent = msg['message'];\n",
- "};\n",
- "\n",
- "mpl.figure.prototype.handle_draw = function (fig, _msg) {\n",
- " // Request the server to send over a new figure.\n",
- " fig.send_draw_message();\n",
- "};\n",
- "\n",
- "mpl.figure.prototype.handle_image_mode = function (fig, msg) {\n",
- " fig.image_mode = msg['mode'];\n",
- "};\n",
- "\n",
- "mpl.figure.prototype.handle_history_buttons = function (fig, msg) {\n",
- " for (var key in msg) {\n",
- " if (!(key in fig.buttons)) {\n",
- " continue;\n",
- " }\n",
- " fig.buttons[key].disabled = !msg[key];\n",
- " fig.buttons[key].setAttribute('aria-disabled', !msg[key]);\n",
- " }\n",
- "};\n",
- "\n",
- "mpl.figure.prototype.handle_navigate_mode = function (fig, msg) {\n",
- " if (msg['mode'] === 'PAN') {\n",
- " fig.buttons['Pan'].classList.add('active');\n",
- " fig.buttons['Zoom'].classList.remove('active');\n",
- " } else if (msg['mode'] === 'ZOOM') {\n",
- " fig.buttons['Pan'].classList.remove('active');\n",
- " fig.buttons['Zoom'].classList.add('active');\n",
- " } else {\n",
- " fig.buttons['Pan'].classList.remove('active');\n",
- " fig.buttons['Zoom'].classList.remove('active');\n",
- " }\n",
- "};\n",
- "\n",
- "mpl.figure.prototype.updated_canvas_event = function () {\n",
- " // Called whenever the canvas gets updated.\n",
- " this.send_message('ack', {});\n",
- "};\n",
- "\n",
- "// A function to construct a web socket function for onmessage handling.\n",
- "// Called in the figure constructor.\n",
- "mpl.figure.prototype._make_on_message_function = function (fig) {\n",
- " return function socket_on_message(evt) {\n",
- " if (evt.data instanceof Blob) {\n",
- " var img = evt.data;\n",
- " if (img.type !== 'image/png') {\n",
- " /* FIXME: We get \"Resource interpreted as Image but\n",
- " * transferred with MIME type text/plain:\" errors on\n",
- " * Chrome. But how to set the MIME type? It doesn't seem\n",
- " * to be part of the websocket stream */\n",
- " img.type = 'image/png';\n",
- " }\n",
- "\n",
- " /* Free the memory for the previous frames */\n",
- " if (fig.imageObj.src) {\n",
- " (window.URL || window.webkitURL).revokeObjectURL(\n",
- " fig.imageObj.src\n",
- " );\n",
- " }\n",
- "\n",
- " fig.imageObj.src = (window.URL || window.webkitURL).createObjectURL(\n",
- " img\n",
- " );\n",
- " fig.updated_canvas_event();\n",
- " fig.waiting = false;\n",
- " return;\n",
- " } else if (\n",
- " typeof evt.data === 'string' &&\n",
- " evt.data.slice(0, 21) === 'data:image/png;base64'\n",
- " ) {\n",
- " fig.imageObj.src = evt.data;\n",
- " fig.updated_canvas_event();\n",
- " fig.waiting = false;\n",
- " return;\n",
- " }\n",
- "\n",
- " var msg = JSON.parse(evt.data);\n",
- " var msg_type = msg['type'];\n",
- "\n",
- " // Call the \"handle_{type}\" callback, which takes\n",
- " // the figure and JSON message as its only arguments.\n",
- " try {\n",
- " var callback = fig['handle_' + msg_type];\n",
- " } catch (e) {\n",
- " console.log(\n",
- " \"No handler for the '\" + msg_type + \"' message type: \",\n",
- " msg\n",
- " );\n",
- " return;\n",
- " }\n",
- "\n",
- " if (callback) {\n",
- " try {\n",
- " // console.log(\"Handling '\" + msg_type + \"' message: \", msg);\n",
- " callback(fig, msg);\n",
- " } catch (e) {\n",
- " console.log(\n",
- " \"Exception inside the 'handler_\" + msg_type + \"' callback:\",\n",
- " e,\n",
- " e.stack,\n",
- " msg\n",
- " );\n",
- " }\n",
- " }\n",
- " };\n",
- "};\n",
- "\n",
- "// from https://stackoverflow.com/questions/1114465/getting-mouse-location-in-canvas\n",
- "mpl.findpos = function (e) {\n",
- " //this section is from http://www.quirksmode.org/js/events_properties.html\n",
- " var targ;\n",
- " if (!e) {\n",
- " e = window.event;\n",
- " }\n",
- " if (e.target) {\n",
- " targ = e.target;\n",
- " } else if (e.srcElement) {\n",
- " targ = e.srcElement;\n",
- " }\n",
- " if (targ.nodeType === 3) {\n",
- " // defeat Safari bug\n",
- " targ = targ.parentNode;\n",
- " }\n",
- "\n",
- " // pageX,Y are the mouse positions relative to the document\n",
- " var boundingRect = targ.getBoundingClientRect();\n",
- " var x = e.pageX - (boundingRect.left + document.body.scrollLeft);\n",
- " var y = e.pageY - (boundingRect.top + document.body.scrollTop);\n",
- "\n",
- " return { x: x, y: y };\n",
- "};\n",
- "\n",
- "/*\n",
- " * return a copy of an object with only non-object keys\n",
- " * we need this to avoid circular references\n",
- " * https://stackoverflow.com/a/24161582/3208463\n",
- " */\n",
- "function simpleKeys(original) {\n",
- " return Object.keys(original).reduce(function (obj, key) {\n",
- " if (typeof original[key] !== 'object') {\n",
- " obj[key] = original[key];\n",
- " }\n",
- " return obj;\n",
- " }, {});\n",
- "}\n",
- "\n",
- "mpl.figure.prototype.mouse_event = function (event, name) {\n",
- " var canvas_pos = mpl.findpos(event);\n",
- "\n",
- " if (name === 'button_press') {\n",
- " this.canvas.focus();\n",
- " this.canvas_div.focus();\n",
- " }\n",
- "\n",
- " var x = canvas_pos.x * this.ratio;\n",
- " var y = canvas_pos.y * this.ratio;\n",
- "\n",
- " this.send_message(name, {\n",
- " x: x,\n",
- " y: y,\n",
- " button: event.button,\n",
- " step: event.step,\n",
- " guiEvent: simpleKeys(event),\n",
- " });\n",
- "\n",
- " /* This prevents the web browser from automatically changing to\n",
- " * the text insertion cursor when the button is pressed. We want\n",
- " * to control all of the cursor setting manually through the\n",
- " * 'cursor' event from matplotlib */\n",
- " event.preventDefault();\n",
- " return false;\n",
- "};\n",
- "\n",
- "mpl.figure.prototype._key_event_extra = function (_event, _name) {\n",
- " // Handle any extra behaviour associated with a key event\n",
- "};\n",
- "\n",
- "mpl.figure.prototype.key_event = function (event, name) {\n",
- " // Prevent repeat events\n",
- " if (name === 'key_press') {\n",
- " if (event.key === this._key) {\n",
- " return;\n",
- " } else {\n",
- " this._key = event.key;\n",
- " }\n",
- " }\n",
- " if (name === 'key_release') {\n",
- " this._key = null;\n",
- " }\n",
- "\n",
- " var value = '';\n",
- " if (event.ctrlKey && event.key !== 'Control') {\n",
- " value += 'ctrl+';\n",
- " }\n",
- " else if (event.altKey && event.key !== 'Alt') {\n",
- " value += 'alt+';\n",
- " }\n",
- " else if (event.shiftKey && event.key !== 'Shift') {\n",
- " value += 'shift+';\n",
- " }\n",
- "\n",
- " value += 'k' + event.key;\n",
- "\n",
- " this._key_event_extra(event, name);\n",
- "\n",
- " this.send_message(name, { key: value, guiEvent: simpleKeys(event) });\n",
- " return false;\n",
- "};\n",
- "\n",
- "mpl.figure.prototype.toolbar_button_onclick = function (name) {\n",
- " if (name === 'download') {\n",
- " this.handle_save(this, null);\n",
- " } else {\n",
- " this.send_message('toolbar_button', { name: name });\n",
- " }\n",
- "};\n",
- "\n",
- "mpl.figure.prototype.toolbar_button_onmouseover = function (tooltip) {\n",
- " this.message.textContent = tooltip;\n",
- "};\n",
- "\n",
- "///////////////// REMAINING CONTENT GENERATED BY embed_js.py /////////////////\n",
- "// prettier-ignore\n",
- "var _JSXTOOLS_RESIZE_OBSERVER=function(A){var t,i=new WeakMap,n=new WeakMap,a=new WeakMap,r=new WeakMap,o=new Set;function s(e){if(!(this instanceof s))throw new TypeError(\"Constructor requires 'new' operator\");i.set(this,e)}function h(){throw new TypeError(\"Function is not a constructor\")}function c(e,t,i,n){e=0 in arguments?Number(arguments[0]):0,t=1 in arguments?Number(arguments[1]):0,i=2 in arguments?Number(arguments[2]):0,n=3 in arguments?Number(arguments[3]):0,this.right=(this.x=this.left=e)+(this.width=i),this.bottom=(this.y=this.top=t)+(this.height=n),Object.freeze(this)}function d(){t=requestAnimationFrame(d);var s=new WeakMap,p=new Set;o.forEach((function(t){r.get(t).forEach((function(i){var r=t instanceof window.SVGElement,o=a.get(t),d=r?0:parseFloat(o.paddingTop),f=r?0:parseFloat(o.paddingRight),l=r?0:parseFloat(o.paddingBottom),u=r?0:parseFloat(o.paddingLeft),g=r?0:parseFloat(o.borderTopWidth),m=r?0:parseFloat(o.borderRightWidth),w=r?0:parseFloat(o.borderBottomWidth),b=u+f,F=d+l,v=(r?0:parseFloat(o.borderLeftWidth))+m,W=g+w,y=r?0:t.offsetHeight-W-t.clientHeight,E=r?0:t.offsetWidth-v-t.clientWidth,R=b+v,z=F+W,M=r?t.width:parseFloat(o.width)-R-E,O=r?t.height:parseFloat(o.height)-z-y;if(n.has(t)){var k=n.get(t);if(k[0]===M&&k[1]===O)return}n.set(t,[M,O]);var S=Object.create(h.prototype);S.target=t,S.contentRect=new c(u,d,M,O),s.has(i)||(s.set(i,[]),p.add(i)),s.get(i).push(S)}))})),p.forEach((function(e){i.get(e).call(e,s.get(e),e)}))}return s.prototype.observe=function(i){if(i instanceof window.Element){r.has(i)||(r.set(i,new Set),o.add(i),a.set(i,window.getComputedStyle(i)));var n=r.get(i);n.has(this)||n.add(this),cancelAnimationFrame(t),t=requestAnimationFrame(d)}},s.prototype.unobserve=function(i){if(i instanceof window.Element&&r.has(i)){var n=r.get(i);n.has(this)&&(n.delete(this),n.size||(r.delete(i),o.delete(i))),n.size||r.delete(i),o.size||cancelAnimationFrame(t)}},A.DOMRectReadOnly=c,A.ResizeObserver=s,A.ResizeObserverEntry=h,A}; // eslint-disable-line\n",
- "mpl.toolbar_items = [[\"Home\", \"Reset original view\", \"fa fa-home icon-home\", \"home\"], [\"Back\", \"Back to previous view\", \"fa fa-arrow-left icon-arrow-left\", \"back\"], [\"Forward\", \"Forward to next view\", \"fa fa-arrow-right icon-arrow-right\", \"forward\"], [\"\", \"\", \"\", \"\"], [\"Pan\", \"Left button pans, Right button zooms\\nx/y fixes axis, CTRL fixes aspect\", \"fa fa-arrows icon-move\", \"pan\"], [\"Zoom\", \"Zoom to rectangle\\nx/y fixes axis\", \"fa fa-square-o icon-check-empty\", \"zoom\"], [\"\", \"\", \"\", \"\"], [\"Download\", \"Download plot\", \"fa fa-floppy-o icon-save\", \"download\"]];\n",
- "\n",
- "mpl.extensions = [\"eps\", \"jpeg\", \"pgf\", \"pdf\", \"png\", \"ps\", \"raw\", \"svg\", \"tif\"];\n",
- "\n",
- "mpl.default_extension = \"png\";/* global mpl */\n",
- "\n",
- "var comm_websocket_adapter = function (comm) {\n",
- " // Create a \"websocket\"-like object which calls the given IPython comm\n",
- " // object with the appropriate methods. Currently this is a non binary\n",
- " // socket, so there is still some room for performance tuning.\n",
- " var ws = {};\n",
- "\n",
- " ws.binaryType = comm.kernel.ws.binaryType;\n",
- " ws.readyState = comm.kernel.ws.readyState;\n",
- " function updateReadyState(_event) {\n",
- " if (comm.kernel.ws) {\n",
- " ws.readyState = comm.kernel.ws.readyState;\n",
- " } else {\n",
- " ws.readyState = 3; // Closed state.\n",
- " }\n",
- " }\n",
- " comm.kernel.ws.addEventListener('open', updateReadyState);\n",
- " comm.kernel.ws.addEventListener('close', updateReadyState);\n",
- " comm.kernel.ws.addEventListener('error', updateReadyState);\n",
- "\n",
- " ws.close = function () {\n",
- " comm.close();\n",
- " };\n",
- " ws.send = function (m) {\n",
- " //console.log('sending', m);\n",
- " comm.send(m);\n",
- " };\n",
- " // Register the callback with on_msg.\n",
- " comm.on_msg(function (msg) {\n",
- " //console.log('receiving', msg['content']['data'], msg);\n",
- " var data = msg['content']['data'];\n",
- " if (data['blob'] !== undefined) {\n",
- " data = {\n",
- " data: new Blob(msg['buffers'], { type: data['blob'] }),\n",
- " };\n",
- " }\n",
- " // Pass the mpl event to the overridden (by mpl) onmessage function.\n",
- " ws.onmessage(data);\n",
- " });\n",
- " return ws;\n",
- "};\n",
- "\n",
- "mpl.mpl_figure_comm = function (comm, msg) {\n",
- " // This is the function which gets called when the mpl process\n",
- " // starts-up an IPython Comm through the \"matplotlib\" channel.\n",
- "\n",
- " var id = msg.content.data.id;\n",
- " // Get hold of the div created by the display call when the Comm\n",
- " // socket was opened in Python.\n",
- " var element = document.getElementById(id);\n",
- " var ws_proxy = comm_websocket_adapter(comm);\n",
- "\n",
- " function ondownload(figure, _format) {\n",
- " window.open(figure.canvas.toDataURL());\n",
- " }\n",
- "\n",
- " var fig = new mpl.figure(id, ws_proxy, ondownload, element);\n",
- "\n",
- " // Call onopen now - mpl needs it, as it is assuming we've passed it a real\n",
- " // web socket which is closed, not our websocket->open comm proxy.\n",
- " ws_proxy.onopen();\n",
- "\n",
- " fig.parent_element = element;\n",
- " fig.cell_info = mpl.find_output_cell(\"\");\n",
- " if (!fig.cell_info) {\n",
- " console.error('Failed to find cell for figure', id, fig);\n",
- " return;\n",
- " }\n",
- " fig.cell_info[0].output_area.element.on(\n",
- " 'cleared',\n",
- " { fig: fig },\n",
- " fig._remove_fig_handler\n",
- " );\n",
- "};\n",
- "\n",
- "mpl.figure.prototype.handle_close = function (fig, msg) {\n",
- " var width = fig.canvas.width / fig.ratio;\n",
- " fig.cell_info[0].output_area.element.off(\n",
- " 'cleared',\n",
- " fig._remove_fig_handler\n",
- " );\n",
- " fig.resizeObserverInstance.unobserve(fig.canvas_div);\n",
- "\n",
- " // Update the output cell to use the data from the current canvas.\n",
- " fig.push_to_output();\n",
- " var dataURL = fig.canvas.toDataURL();\n",
- " // Re-enable the keyboard manager in IPython - without this line, in FF,\n",
- " // the notebook keyboard shortcuts fail.\n",
- " IPython.keyboard_manager.enable();\n",
- " fig.parent_element.innerHTML =\n",
- " '
';\n",
- " fig.close_ws(fig, msg);\n",
- "};\n",
- "\n",
- "mpl.figure.prototype.close_ws = function (fig, msg) {\n",
- " fig.send_message('closing', msg);\n",
- " // fig.ws.close()\n",
- "};\n",
- "\n",
- "mpl.figure.prototype.push_to_output = function (_remove_interactive) {\n",
- " // Turn the data on the canvas into data in the output cell.\n",
- " var width = this.canvas.width / this.ratio;\n",
- " var dataURL = this.canvas.toDataURL();\n",
- " this.cell_info[1]['text/html'] =\n",
- " '
';\n",
- "};\n",
- "\n",
- "mpl.figure.prototype.updated_canvas_event = function () {\n",
- " // Tell IPython that the notebook contents must change.\n",
- " IPython.notebook.set_dirty(true);\n",
- " this.send_message('ack', {});\n",
- " var fig = this;\n",
- " // Wait a second, then push the new image to the DOM so\n",
- " // that it is saved nicely (might be nice to debounce this).\n",
- " setTimeout(function () {\n",
- " fig.push_to_output();\n",
- " }, 1000);\n",
- "};\n",
- "\n",
- "mpl.figure.prototype._init_toolbar = function () {\n",
- " var fig = this;\n",
- "\n",
- " var toolbar = document.createElement('div');\n",
- " toolbar.classList = 'btn-toolbar';\n",
- " this.root.appendChild(toolbar);\n",
- "\n",
- " function on_click_closure(name) {\n",
- " return function (_event) {\n",
- " return fig.toolbar_button_onclick(name);\n",
- " };\n",
- " }\n",
- "\n",
- " function on_mouseover_closure(tooltip) {\n",
- " return function (event) {\n",
- " if (!event.currentTarget.disabled) {\n",
- " return fig.toolbar_button_onmouseover(tooltip);\n",
- " }\n",
- " };\n",
- " }\n",
- "\n",
- " fig.buttons = {};\n",
- " var buttonGroup = document.createElement('div');\n",
- " buttonGroup.classList = 'btn-group';\n",
- " var button;\n",
- " for (var toolbar_ind in mpl.toolbar_items) {\n",
- " var name = mpl.toolbar_items[toolbar_ind][0];\n",
- " var tooltip = mpl.toolbar_items[toolbar_ind][1];\n",
- " var image = mpl.toolbar_items[toolbar_ind][2];\n",
- " var method_name = mpl.toolbar_items[toolbar_ind][3];\n",
- "\n",
- " if (!name) {\n",
- " /* Instead of a spacer, we start a new button group. */\n",
- " if (buttonGroup.hasChildNodes()) {\n",
- " toolbar.appendChild(buttonGroup);\n",
- " }\n",
- " buttonGroup = document.createElement('div');\n",
- " buttonGroup.classList = 'btn-group';\n",
- " continue;\n",
- " }\n",
- "\n",
- " button = fig.buttons[name] = document.createElement('button');\n",
- " button.classList = 'btn btn-default';\n",
- " button.href = '#';\n",
- " button.title = name;\n",
- " button.innerHTML = '';\n",
- " button.addEventListener('click', on_click_closure(method_name));\n",
- " button.addEventListener('mouseover', on_mouseover_closure(tooltip));\n",
- " buttonGroup.appendChild(button);\n",
- " }\n",
- "\n",
- " if (buttonGroup.hasChildNodes()) {\n",
- " toolbar.appendChild(buttonGroup);\n",
- " }\n",
- "\n",
- " // Add the status bar.\n",
- " var status_bar = document.createElement('span');\n",
- " status_bar.classList = 'mpl-message pull-right';\n",
- " toolbar.appendChild(status_bar);\n",
- " this.message = status_bar;\n",
- "\n",
- " // Add the close button to the window.\n",
- " var buttongrp = document.createElement('div');\n",
- " buttongrp.classList = 'btn-group inline pull-right';\n",
- " button = document.createElement('button');\n",
- " button.classList = 'btn btn-mini btn-primary';\n",
- " button.href = '#';\n",
- " button.title = 'Stop Interaction';\n",
- " button.innerHTML = '';\n",
- " button.addEventListener('click', function (_evt) {\n",
- " fig.handle_close(fig, {});\n",
- " });\n",
- " button.addEventListener(\n",
- " 'mouseover',\n",
- " on_mouseover_closure('Stop Interaction')\n",
- " );\n",
- " buttongrp.appendChild(button);\n",
- " var titlebar = this.root.querySelector('.ui-dialog-titlebar');\n",
- " titlebar.insertBefore(buttongrp, titlebar.firstChild);\n",
- "};\n",
- "\n",
- "mpl.figure.prototype._remove_fig_handler = function (event) {\n",
- " var fig = event.data.fig;\n",
- " if (event.target !== this) {\n",
- " // Ignore bubbled events from children.\n",
- " return;\n",
- " }\n",
- " fig.close_ws(fig, {});\n",
- "};\n",
- "\n",
- "mpl.figure.prototype._root_extra_style = function (el) {\n",
- " el.style.boxSizing = 'content-box'; // override notebook setting of border-box.\n",
- "};\n",
- "\n",
- "mpl.figure.prototype._canvas_extra_style = function (el) {\n",
- " // this is important to make the div 'focusable\n",
- " el.setAttribute('tabindex', 0);\n",
- " // reach out to IPython and tell the keyboard manager to turn it's self\n",
- " // off when our div gets focus\n",
- "\n",
- " // location in version 3\n",
- " if (IPython.notebook.keyboard_manager) {\n",
- " IPython.notebook.keyboard_manager.register_events(el);\n",
- " } else {\n",
- " // location in version 2\n",
- " IPython.keyboard_manager.register_events(el);\n",
- " }\n",
- "};\n",
- "\n",
- "mpl.figure.prototype._key_event_extra = function (event, _name) {\n",
- " // Check for shift+enter\n",
- " if (event.shiftKey && event.which === 13) {\n",
- " this.canvas_div.blur();\n",
- " // select the cell after this one\n",
- " var index = IPython.notebook.find_cell_index(this.cell_info[0]);\n",
- " IPython.notebook.select(index + 1);\n",
- " }\n",
- "};\n",
- "\n",
- "mpl.figure.prototype.handle_save = function (fig, _msg) {\n",
- " fig.ondownload(fig, null);\n",
- "};\n",
- "\n",
- "mpl.find_output_cell = function (html_output) {\n",
- " // Return the cell and output element which can be found *uniquely* in the notebook.\n",
- " // Note - this is a bit hacky, but it is done because the \"notebook_saving.Notebook\"\n",
- " // IPython event is triggered only after the cells have been serialised, which for\n",
- " // our purposes (turning an active figure into a static one), is too late.\n",
- " var cells = IPython.notebook.get_cells();\n",
- " var ncells = cells.length;\n",
- " for (var i = 0; i < ncells; i++) {\n",
- " var cell = cells[i];\n",
- " if (cell.cell_type === 'code') {\n",
- " for (var j = 0; j < cell.output_area.outputs.length; j++) {\n",
- " var data = cell.output_area.outputs[j];\n",
- " if (data.data) {\n",
- " // IPython >= 3 moved mimebundle to data attribute of output\n",
- " data = data.data;\n",
- " }\n",
- " if (data['text/html'] === html_output) {\n",
- " return [cell, data, j];\n",
- " }\n",
- " }\n",
- " }\n",
- " }\n",
- "};\n",
- "\n",
- "// Register the function which deals with the matplotlib target/channel.\n",
- "// The kernel may be null if the page has been refreshed.\n",
- "if (IPython.notebook.kernel !== null) {\n",
- " IPython.notebook.kernel.comm_manager.register_target(\n",
- " 'matplotlib',\n",
- " mpl.mpl_figure_comm\n",
- " );\n",
- "}\n"
- ],
- "text/plain": [
- ""
- ]
- },
- "metadata": {},
- "output_type": "display_data"
- },
- {
- "data": {
- "text/html": [
- "
"
- ],
- "text/plain": [
- ""
- ]
- },
- "metadata": {},
- "output_type": "display_data"
- },
- {
- "data": {
- "text/plain": [
- "(0.0, 20.0)"
- ]
- },
- "execution_count": 38,
- "metadata": {},
- "output_type": "execute_result"
- }
- ],
+ "outputs": [],
"source": [
"nrow=2\n",
"ncol=3\n",
@@ -9531,997 +626,9 @@
},
{
"cell_type": "code",
- "execution_count": 54,
+ "execution_count": null,
"metadata": {},
- "outputs": [
- {
- "data": {
- "application/javascript": [
- "/* Put everything inside the global mpl namespace */\n",
- "/* global mpl */\n",
- "window.mpl = {};\n",
- "\n",
- "mpl.get_websocket_type = function () {\n",
- " if (typeof WebSocket !== 'undefined') {\n",
- " return WebSocket;\n",
- " } else if (typeof MozWebSocket !== 'undefined') {\n",
- " return MozWebSocket;\n",
- " } else {\n",
- " alert(\n",
- " 'Your browser does not have WebSocket support. ' +\n",
- " 'Please try Chrome, Safari or Firefox ≥ 6. ' +\n",
- " 'Firefox 4 and 5 are also supported but you ' +\n",
- " 'have to enable WebSockets in about:config.'\n",
- " );\n",
- " }\n",
- "};\n",
- "\n",
- "mpl.figure = function (figure_id, websocket, ondownload, parent_element) {\n",
- " this.id = figure_id;\n",
- "\n",
- " this.ws = websocket;\n",
- "\n",
- " this.supports_binary = this.ws.binaryType !== undefined;\n",
- "\n",
- " if (!this.supports_binary) {\n",
- " var warnings = document.getElementById('mpl-warnings');\n",
- " if (warnings) {\n",
- " warnings.style.display = 'block';\n",
- " warnings.textContent =\n",
- " 'This browser does not support binary websocket messages. ' +\n",
- " 'Performance may be slow.';\n",
- " }\n",
- " }\n",
- "\n",
- " this.imageObj = new Image();\n",
- "\n",
- " this.context = undefined;\n",
- " this.message = undefined;\n",
- " this.canvas = undefined;\n",
- " this.rubberband_canvas = undefined;\n",
- " this.rubberband_context = undefined;\n",
- " this.format_dropdown = undefined;\n",
- "\n",
- " this.image_mode = 'full';\n",
- "\n",
- " this.root = document.createElement('div');\n",
- " this.root.setAttribute('style', 'display: inline-block');\n",
- " this._root_extra_style(this.root);\n",
- "\n",
- " parent_element.appendChild(this.root);\n",
- "\n",
- " this._init_header(this);\n",
- " this._init_canvas(this);\n",
- " this._init_toolbar(this);\n",
- "\n",
- " var fig = this;\n",
- "\n",
- " this.waiting = false;\n",
- "\n",
- " this.ws.onopen = function () {\n",
- " fig.send_message('supports_binary', { value: fig.supports_binary });\n",
- " fig.send_message('send_image_mode', {});\n",
- " if (fig.ratio !== 1) {\n",
- " fig.send_message('set_device_pixel_ratio', {\n",
- " device_pixel_ratio: fig.ratio,\n",
- " });\n",
- " }\n",
- " fig.send_message('refresh', {});\n",
- " };\n",
- "\n",
- " this.imageObj.onload = function () {\n",
- " if (fig.image_mode === 'full') {\n",
- " // Full images could contain transparency (where diff images\n",
- " // almost always do), so we need to clear the canvas so that\n",
- " // there is no ghosting.\n",
- " fig.context.clearRect(0, 0, fig.canvas.width, fig.canvas.height);\n",
- " }\n",
- " fig.context.drawImage(fig.imageObj, 0, 0);\n",
- " };\n",
- "\n",
- " this.imageObj.onunload = function () {\n",
- " fig.ws.close();\n",
- " };\n",
- "\n",
- " this.ws.onmessage = this._make_on_message_function(this);\n",
- "\n",
- " this.ondownload = ondownload;\n",
- "};\n",
- "\n",
- "mpl.figure.prototype._init_header = function () {\n",
- " var titlebar = document.createElement('div');\n",
- " titlebar.classList =\n",
- " 'ui-dialog-titlebar ui-widget-header ui-corner-all ui-helper-clearfix';\n",
- " var titletext = document.createElement('div');\n",
- " titletext.classList = 'ui-dialog-title';\n",
- " titletext.setAttribute(\n",
- " 'style',\n",
- " 'width: 100%; text-align: center; padding: 3px;'\n",
- " );\n",
- " titlebar.appendChild(titletext);\n",
- " this.root.appendChild(titlebar);\n",
- " this.header = titletext;\n",
- "};\n",
- "\n",
- "mpl.figure.prototype._canvas_extra_style = function (_canvas_div) {};\n",
- "\n",
- "mpl.figure.prototype._root_extra_style = function (_canvas_div) {};\n",
- "\n",
- "mpl.figure.prototype._init_canvas = function () {\n",
- " var fig = this;\n",
- "\n",
- " var canvas_div = (this.canvas_div = document.createElement('div'));\n",
- " canvas_div.setAttribute(\n",
- " 'style',\n",
- " 'border: 1px solid #ddd;' +\n",
- " 'box-sizing: content-box;' +\n",
- " 'clear: both;' +\n",
- " 'min-height: 1px;' +\n",
- " 'min-width: 1px;' +\n",
- " 'outline: 0;' +\n",
- " 'overflow: hidden;' +\n",
- " 'position: relative;' +\n",
- " 'resize: both;'\n",
- " );\n",
- "\n",
- " function on_keyboard_event_closure(name) {\n",
- " return function (event) {\n",
- " return fig.key_event(event, name);\n",
- " };\n",
- " }\n",
- "\n",
- " canvas_div.addEventListener(\n",
- " 'keydown',\n",
- " on_keyboard_event_closure('key_press')\n",
- " );\n",
- " canvas_div.addEventListener(\n",
- " 'keyup',\n",
- " on_keyboard_event_closure('key_release')\n",
- " );\n",
- "\n",
- " this._canvas_extra_style(canvas_div);\n",
- " this.root.appendChild(canvas_div);\n",
- "\n",
- " var canvas = (this.canvas = document.createElement('canvas'));\n",
- " canvas.classList.add('mpl-canvas');\n",
- " canvas.setAttribute('style', 'box-sizing: content-box;');\n",
- "\n",
- " this.context = canvas.getContext('2d');\n",
- "\n",
- " var backingStore =\n",
- " this.context.backingStorePixelRatio ||\n",
- " this.context.webkitBackingStorePixelRatio ||\n",
- " this.context.mozBackingStorePixelRatio ||\n",
- " this.context.msBackingStorePixelRatio ||\n",
- " this.context.oBackingStorePixelRatio ||\n",
- " this.context.backingStorePixelRatio ||\n",
- " 1;\n",
- "\n",
- " this.ratio = (window.devicePixelRatio || 1) / backingStore;\n",
- "\n",
- " var rubberband_canvas = (this.rubberband_canvas = document.createElement(\n",
- " 'canvas'\n",
- " ));\n",
- " rubberband_canvas.setAttribute(\n",
- " 'style',\n",
- " 'box-sizing: content-box; position: absolute; left: 0; top: 0; z-index: 1;'\n",
- " );\n",
- "\n",
- " // Apply a ponyfill if ResizeObserver is not implemented by browser.\n",
- " if (this.ResizeObserver === undefined) {\n",
- " if (window.ResizeObserver !== undefined) {\n",
- " this.ResizeObserver = window.ResizeObserver;\n",
- " } else {\n",
- " var obs = _JSXTOOLS_RESIZE_OBSERVER({});\n",
- " this.ResizeObserver = obs.ResizeObserver;\n",
- " }\n",
- " }\n",
- "\n",
- " this.resizeObserverInstance = new this.ResizeObserver(function (entries) {\n",
- " var nentries = entries.length;\n",
- " for (var i = 0; i < nentries; i++) {\n",
- " var entry = entries[i];\n",
- " var width, height;\n",
- " if (entry.contentBoxSize) {\n",
- " if (entry.contentBoxSize instanceof Array) {\n",
- " // Chrome 84 implements new version of spec.\n",
- " width = entry.contentBoxSize[0].inlineSize;\n",
- " height = entry.contentBoxSize[0].blockSize;\n",
- " } else {\n",
- " // Firefox implements old version of spec.\n",
- " width = entry.contentBoxSize.inlineSize;\n",
- " height = entry.contentBoxSize.blockSize;\n",
- " }\n",
- " } else {\n",
- " // Chrome <84 implements even older version of spec.\n",
- " width = entry.contentRect.width;\n",
- " height = entry.contentRect.height;\n",
- " }\n",
- "\n",
- " // Keep the size of the canvas and rubber band canvas in sync with\n",
- " // the canvas container.\n",
- " if (entry.devicePixelContentBoxSize) {\n",
- " // Chrome 84 implements new version of spec.\n",
- " canvas.setAttribute(\n",
- " 'width',\n",
- " entry.devicePixelContentBoxSize[0].inlineSize\n",
- " );\n",
- " canvas.setAttribute(\n",
- " 'height',\n",
- " entry.devicePixelContentBoxSize[0].blockSize\n",
- " );\n",
- " } else {\n",
- " canvas.setAttribute('width', width * fig.ratio);\n",
- " canvas.setAttribute('height', height * fig.ratio);\n",
- " }\n",
- " canvas.setAttribute(\n",
- " 'style',\n",
- " 'width: ' + width + 'px; height: ' + height + 'px;'\n",
- " );\n",
- "\n",
- " rubberband_canvas.setAttribute('width', width);\n",
- " rubberband_canvas.setAttribute('height', height);\n",
- "\n",
- " // And update the size in Python. We ignore the initial 0/0 size\n",
- " // that occurs as the element is placed into the DOM, which should\n",
- " // otherwise not happen due to the minimum size styling.\n",
- " if (fig.ws.readyState == 1 && width != 0 && height != 0) {\n",
- " fig.request_resize(width, height);\n",
- " }\n",
- " }\n",
- " });\n",
- " this.resizeObserverInstance.observe(canvas_div);\n",
- "\n",
- " function on_mouse_event_closure(name) {\n",
- " return function (event) {\n",
- " return fig.mouse_event(event, name);\n",
- " };\n",
- " }\n",
- "\n",
- " rubberband_canvas.addEventListener(\n",
- " 'mousedown',\n",
- " on_mouse_event_closure('button_press')\n",
- " );\n",
- " rubberband_canvas.addEventListener(\n",
- " 'mouseup',\n",
- " on_mouse_event_closure('button_release')\n",
- " );\n",
- " rubberband_canvas.addEventListener(\n",
- " 'dblclick',\n",
- " on_mouse_event_closure('dblclick')\n",
- " );\n",
- " // Throttle sequential mouse events to 1 every 20ms.\n",
- " rubberband_canvas.addEventListener(\n",
- " 'mousemove',\n",
- " on_mouse_event_closure('motion_notify')\n",
- " );\n",
- "\n",
- " rubberband_canvas.addEventListener(\n",
- " 'mouseenter',\n",
- " on_mouse_event_closure('figure_enter')\n",
- " );\n",
- " rubberband_canvas.addEventListener(\n",
- " 'mouseleave',\n",
- " on_mouse_event_closure('figure_leave')\n",
- " );\n",
- "\n",
- " canvas_div.addEventListener('wheel', function (event) {\n",
- " if (event.deltaY < 0) {\n",
- " event.step = 1;\n",
- " } else {\n",
- " event.step = -1;\n",
- " }\n",
- " on_mouse_event_closure('scroll')(event);\n",
- " });\n",
- "\n",
- " canvas_div.appendChild(canvas);\n",
- " canvas_div.appendChild(rubberband_canvas);\n",
- "\n",
- " this.rubberband_context = rubberband_canvas.getContext('2d');\n",
- " this.rubberband_context.strokeStyle = '#000000';\n",
- "\n",
- " this._resize_canvas = function (width, height, forward) {\n",
- " if (forward) {\n",
- " canvas_div.style.width = width + 'px';\n",
- " canvas_div.style.height = height + 'px';\n",
- " }\n",
- " };\n",
- "\n",
- " // Disable right mouse context menu.\n",
- " this.rubberband_canvas.addEventListener('contextmenu', function (_e) {\n",
- " event.preventDefault();\n",
- " return false;\n",
- " });\n",
- "\n",
- " function set_focus() {\n",
- " canvas.focus();\n",
- " canvas_div.focus();\n",
- " }\n",
- "\n",
- " window.setTimeout(set_focus, 100);\n",
- "};\n",
- "\n",
- "mpl.figure.prototype._init_toolbar = function () {\n",
- " var fig = this;\n",
- "\n",
- " var toolbar = document.createElement('div');\n",
- " toolbar.classList = 'mpl-toolbar';\n",
- " this.root.appendChild(toolbar);\n",
- "\n",
- " function on_click_closure(name) {\n",
- " return function (_event) {\n",
- " return fig.toolbar_button_onclick(name);\n",
- " };\n",
- " }\n",
- "\n",
- " function on_mouseover_closure(tooltip) {\n",
- " return function (event) {\n",
- " if (!event.currentTarget.disabled) {\n",
- " return fig.toolbar_button_onmouseover(tooltip);\n",
- " }\n",
- " };\n",
- " }\n",
- "\n",
- " fig.buttons = {};\n",
- " var buttonGroup = document.createElement('div');\n",
- " buttonGroup.classList = 'mpl-button-group';\n",
- " for (var toolbar_ind in mpl.toolbar_items) {\n",
- " var name = mpl.toolbar_items[toolbar_ind][0];\n",
- " var tooltip = mpl.toolbar_items[toolbar_ind][1];\n",
- " var image = mpl.toolbar_items[toolbar_ind][2];\n",
- " var method_name = mpl.toolbar_items[toolbar_ind][3];\n",
- "\n",
- " if (!name) {\n",
- " /* Instead of a spacer, we start a new button group. */\n",
- " if (buttonGroup.hasChildNodes()) {\n",
- " toolbar.appendChild(buttonGroup);\n",
- " }\n",
- " buttonGroup = document.createElement('div');\n",
- " buttonGroup.classList = 'mpl-button-group';\n",
- " continue;\n",
- " }\n",
- "\n",
- " var button = (fig.buttons[name] = document.createElement('button'));\n",
- " button.classList = 'mpl-widget';\n",
- " button.setAttribute('role', 'button');\n",
- " button.setAttribute('aria-disabled', 'false');\n",
- " button.addEventListener('click', on_click_closure(method_name));\n",
- " button.addEventListener('mouseover', on_mouseover_closure(tooltip));\n",
- "\n",
- " var icon_img = document.createElement('img');\n",
- " icon_img.src = '_images/' + image + '.png';\n",
- " icon_img.srcset = '_images/' + image + '_large.png 2x';\n",
- " icon_img.alt = tooltip;\n",
- " button.appendChild(icon_img);\n",
- "\n",
- " buttonGroup.appendChild(button);\n",
- " }\n",
- "\n",
- " if (buttonGroup.hasChildNodes()) {\n",
- " toolbar.appendChild(buttonGroup);\n",
- " }\n",
- "\n",
- " var fmt_picker = document.createElement('select');\n",
- " fmt_picker.classList = 'mpl-widget';\n",
- " toolbar.appendChild(fmt_picker);\n",
- " this.format_dropdown = fmt_picker;\n",
- "\n",
- " for (var ind in mpl.extensions) {\n",
- " var fmt = mpl.extensions[ind];\n",
- " var option = document.createElement('option');\n",
- " option.selected = fmt === mpl.default_extension;\n",
- " option.innerHTML = fmt;\n",
- " fmt_picker.appendChild(option);\n",
- " }\n",
- "\n",
- " var status_bar = document.createElement('span');\n",
- " status_bar.classList = 'mpl-message';\n",
- " toolbar.appendChild(status_bar);\n",
- " this.message = status_bar;\n",
- "};\n",
- "\n",
- "mpl.figure.prototype.request_resize = function (x_pixels, y_pixels) {\n",
- " // Request matplotlib to resize the figure. Matplotlib will then trigger a resize in the client,\n",
- " // which will in turn request a refresh of the image.\n",
- " this.send_message('resize', { width: x_pixels, height: y_pixels });\n",
- "};\n",
- "\n",
- "mpl.figure.prototype.send_message = function (type, properties) {\n",
- " properties['type'] = type;\n",
- " properties['figure_id'] = this.id;\n",
- " this.ws.send(JSON.stringify(properties));\n",
- "};\n",
- "\n",
- "mpl.figure.prototype.send_draw_message = function () {\n",
- " if (!this.waiting) {\n",
- " this.waiting = true;\n",
- " this.ws.send(JSON.stringify({ type: 'draw', figure_id: this.id }));\n",
- " }\n",
- "};\n",
- "\n",
- "mpl.figure.prototype.handle_save = function (fig, _msg) {\n",
- " var format_dropdown = fig.format_dropdown;\n",
- " var format = format_dropdown.options[format_dropdown.selectedIndex].value;\n",
- " fig.ondownload(fig, format);\n",
- "};\n",
- "\n",
- "mpl.figure.prototype.handle_resize = function (fig, msg) {\n",
- " var size = msg['size'];\n",
- " if (size[0] !== fig.canvas.width || size[1] !== fig.canvas.height) {\n",
- " fig._resize_canvas(size[0], size[1], msg['forward']);\n",
- " fig.send_message('refresh', {});\n",
- " }\n",
- "};\n",
- "\n",
- "mpl.figure.prototype.handle_rubberband = function (fig, msg) {\n",
- " var x0 = msg['x0'] / fig.ratio;\n",
- " var y0 = (fig.canvas.height - msg['y0']) / fig.ratio;\n",
- " var x1 = msg['x1'] / fig.ratio;\n",
- " var y1 = (fig.canvas.height - msg['y1']) / fig.ratio;\n",
- " x0 = Math.floor(x0) + 0.5;\n",
- " y0 = Math.floor(y0) + 0.5;\n",
- " x1 = Math.floor(x1) + 0.5;\n",
- " y1 = Math.floor(y1) + 0.5;\n",
- " var min_x = Math.min(x0, x1);\n",
- " var min_y = Math.min(y0, y1);\n",
- " var width = Math.abs(x1 - x0);\n",
- " var height = Math.abs(y1 - y0);\n",
- "\n",
- " fig.rubberband_context.clearRect(\n",
- " 0,\n",
- " 0,\n",
- " fig.canvas.width / fig.ratio,\n",
- " fig.canvas.height / fig.ratio\n",
- " );\n",
- "\n",
- " fig.rubberband_context.strokeRect(min_x, min_y, width, height);\n",
- "};\n",
- "\n",
- "mpl.figure.prototype.handle_figure_label = function (fig, msg) {\n",
- " // Updates the figure title.\n",
- " fig.header.textContent = msg['label'];\n",
- "};\n",
- "\n",
- "mpl.figure.prototype.handle_cursor = function (fig, msg) {\n",
- " fig.rubberband_canvas.style.cursor = msg['cursor'];\n",
- "};\n",
- "\n",
- "mpl.figure.prototype.handle_message = function (fig, msg) {\n",
- " fig.message.textContent = msg['message'];\n",
- "};\n",
- "\n",
- "mpl.figure.prototype.handle_draw = function (fig, _msg) {\n",
- " // Request the server to send over a new figure.\n",
- " fig.send_draw_message();\n",
- "};\n",
- "\n",
- "mpl.figure.prototype.handle_image_mode = function (fig, msg) {\n",
- " fig.image_mode = msg['mode'];\n",
- "};\n",
- "\n",
- "mpl.figure.prototype.handle_history_buttons = function (fig, msg) {\n",
- " for (var key in msg) {\n",
- " if (!(key in fig.buttons)) {\n",
- " continue;\n",
- " }\n",
- " fig.buttons[key].disabled = !msg[key];\n",
- " fig.buttons[key].setAttribute('aria-disabled', !msg[key]);\n",
- " }\n",
- "};\n",
- "\n",
- "mpl.figure.prototype.handle_navigate_mode = function (fig, msg) {\n",
- " if (msg['mode'] === 'PAN') {\n",
- " fig.buttons['Pan'].classList.add('active');\n",
- " fig.buttons['Zoom'].classList.remove('active');\n",
- " } else if (msg['mode'] === 'ZOOM') {\n",
- " fig.buttons['Pan'].classList.remove('active');\n",
- " fig.buttons['Zoom'].classList.add('active');\n",
- " } else {\n",
- " fig.buttons['Pan'].classList.remove('active');\n",
- " fig.buttons['Zoom'].classList.remove('active');\n",
- " }\n",
- "};\n",
- "\n",
- "mpl.figure.prototype.updated_canvas_event = function () {\n",
- " // Called whenever the canvas gets updated.\n",
- " this.send_message('ack', {});\n",
- "};\n",
- "\n",
- "// A function to construct a web socket function for onmessage handling.\n",
- "// Called in the figure constructor.\n",
- "mpl.figure.prototype._make_on_message_function = function (fig) {\n",
- " return function socket_on_message(evt) {\n",
- " if (evt.data instanceof Blob) {\n",
- " var img = evt.data;\n",
- " if (img.type !== 'image/png') {\n",
- " /* FIXME: We get \"Resource interpreted as Image but\n",
- " * transferred with MIME type text/plain:\" errors on\n",
- " * Chrome. But how to set the MIME type? It doesn't seem\n",
- " * to be part of the websocket stream */\n",
- " img.type = 'image/png';\n",
- " }\n",
- "\n",
- " /* Free the memory for the previous frames */\n",
- " if (fig.imageObj.src) {\n",
- " (window.URL || window.webkitURL).revokeObjectURL(\n",
- " fig.imageObj.src\n",
- " );\n",
- " }\n",
- "\n",
- " fig.imageObj.src = (window.URL || window.webkitURL).createObjectURL(\n",
- " img\n",
- " );\n",
- " fig.updated_canvas_event();\n",
- " fig.waiting = false;\n",
- " return;\n",
- " } else if (\n",
- " typeof evt.data === 'string' &&\n",
- " evt.data.slice(0, 21) === 'data:image/png;base64'\n",
- " ) {\n",
- " fig.imageObj.src = evt.data;\n",
- " fig.updated_canvas_event();\n",
- " fig.waiting = false;\n",
- " return;\n",
- " }\n",
- "\n",
- " var msg = JSON.parse(evt.data);\n",
- " var msg_type = msg['type'];\n",
- "\n",
- " // Call the \"handle_{type}\" callback, which takes\n",
- " // the figure and JSON message as its only arguments.\n",
- " try {\n",
- " var callback = fig['handle_' + msg_type];\n",
- " } catch (e) {\n",
- " console.log(\n",
- " \"No handler for the '\" + msg_type + \"' message type: \",\n",
- " msg\n",
- " );\n",
- " return;\n",
- " }\n",
- "\n",
- " if (callback) {\n",
- " try {\n",
- " // console.log(\"Handling '\" + msg_type + \"' message: \", msg);\n",
- " callback(fig, msg);\n",
- " } catch (e) {\n",
- " console.log(\n",
- " \"Exception inside the 'handler_\" + msg_type + \"' callback:\",\n",
- " e,\n",
- " e.stack,\n",
- " msg\n",
- " );\n",
- " }\n",
- " }\n",
- " };\n",
- "};\n",
- "\n",
- "// from https://stackoverflow.com/questions/1114465/getting-mouse-location-in-canvas\n",
- "mpl.findpos = function (e) {\n",
- " //this section is from http://www.quirksmode.org/js/events_properties.html\n",
- " var targ;\n",
- " if (!e) {\n",
- " e = window.event;\n",
- " }\n",
- " if (e.target) {\n",
- " targ = e.target;\n",
- " } else if (e.srcElement) {\n",
- " targ = e.srcElement;\n",
- " }\n",
- " if (targ.nodeType === 3) {\n",
- " // defeat Safari bug\n",
- " targ = targ.parentNode;\n",
- " }\n",
- "\n",
- " // pageX,Y are the mouse positions relative to the document\n",
- " var boundingRect = targ.getBoundingClientRect();\n",
- " var x = e.pageX - (boundingRect.left + document.body.scrollLeft);\n",
- " var y = e.pageY - (boundingRect.top + document.body.scrollTop);\n",
- "\n",
- " return { x: x, y: y };\n",
- "};\n",
- "\n",
- "/*\n",
- " * return a copy of an object with only non-object keys\n",
- " * we need this to avoid circular references\n",
- " * https://stackoverflow.com/a/24161582/3208463\n",
- " */\n",
- "function simpleKeys(original) {\n",
- " return Object.keys(original).reduce(function (obj, key) {\n",
- " if (typeof original[key] !== 'object') {\n",
- " obj[key] = original[key];\n",
- " }\n",
- " return obj;\n",
- " }, {});\n",
- "}\n",
- "\n",
- "mpl.figure.prototype.mouse_event = function (event, name) {\n",
- " var canvas_pos = mpl.findpos(event);\n",
- "\n",
- " if (name === 'button_press') {\n",
- " this.canvas.focus();\n",
- " this.canvas_div.focus();\n",
- " }\n",
- "\n",
- " var x = canvas_pos.x * this.ratio;\n",
- " var y = canvas_pos.y * this.ratio;\n",
- "\n",
- " this.send_message(name, {\n",
- " x: x,\n",
- " y: y,\n",
- " button: event.button,\n",
- " step: event.step,\n",
- " guiEvent: simpleKeys(event),\n",
- " });\n",
- "\n",
- " /* This prevents the web browser from automatically changing to\n",
- " * the text insertion cursor when the button is pressed. We want\n",
- " * to control all of the cursor setting manually through the\n",
- " * 'cursor' event from matplotlib */\n",
- " event.preventDefault();\n",
- " return false;\n",
- "};\n",
- "\n",
- "mpl.figure.prototype._key_event_extra = function (_event, _name) {\n",
- " // Handle any extra behaviour associated with a key event\n",
- "};\n",
- "\n",
- "mpl.figure.prototype.key_event = function (event, name) {\n",
- " // Prevent repeat events\n",
- " if (name === 'key_press') {\n",
- " if (event.key === this._key) {\n",
- " return;\n",
- " } else {\n",
- " this._key = event.key;\n",
- " }\n",
- " }\n",
- " if (name === 'key_release') {\n",
- " this._key = null;\n",
- " }\n",
- "\n",
- " var value = '';\n",
- " if (event.ctrlKey && event.key !== 'Control') {\n",
- " value += 'ctrl+';\n",
- " }\n",
- " else if (event.altKey && event.key !== 'Alt') {\n",
- " value += 'alt+';\n",
- " }\n",
- " else if (event.shiftKey && event.key !== 'Shift') {\n",
- " value += 'shift+';\n",
- " }\n",
- "\n",
- " value += 'k' + event.key;\n",
- "\n",
- " this._key_event_extra(event, name);\n",
- "\n",
- " this.send_message(name, { key: value, guiEvent: simpleKeys(event) });\n",
- " return false;\n",
- "};\n",
- "\n",
- "mpl.figure.prototype.toolbar_button_onclick = function (name) {\n",
- " if (name === 'download') {\n",
- " this.handle_save(this, null);\n",
- " } else {\n",
- " this.send_message('toolbar_button', { name: name });\n",
- " }\n",
- "};\n",
- "\n",
- "mpl.figure.prototype.toolbar_button_onmouseover = function (tooltip) {\n",
- " this.message.textContent = tooltip;\n",
- "};\n",
- "\n",
- "///////////////// REMAINING CONTENT GENERATED BY embed_js.py /////////////////\n",
- "// prettier-ignore\n",
- "var _JSXTOOLS_RESIZE_OBSERVER=function(A){var t,i=new WeakMap,n=new WeakMap,a=new WeakMap,r=new WeakMap,o=new Set;function s(e){if(!(this instanceof s))throw new TypeError(\"Constructor requires 'new' operator\");i.set(this,e)}function h(){throw new TypeError(\"Function is not a constructor\")}function c(e,t,i,n){e=0 in arguments?Number(arguments[0]):0,t=1 in arguments?Number(arguments[1]):0,i=2 in arguments?Number(arguments[2]):0,n=3 in arguments?Number(arguments[3]):0,this.right=(this.x=this.left=e)+(this.width=i),this.bottom=(this.y=this.top=t)+(this.height=n),Object.freeze(this)}function d(){t=requestAnimationFrame(d);var s=new WeakMap,p=new Set;o.forEach((function(t){r.get(t).forEach((function(i){var r=t instanceof window.SVGElement,o=a.get(t),d=r?0:parseFloat(o.paddingTop),f=r?0:parseFloat(o.paddingRight),l=r?0:parseFloat(o.paddingBottom),u=r?0:parseFloat(o.paddingLeft),g=r?0:parseFloat(o.borderTopWidth),m=r?0:parseFloat(o.borderRightWidth),w=r?0:parseFloat(o.borderBottomWidth),b=u+f,F=d+l,v=(r?0:parseFloat(o.borderLeftWidth))+m,W=g+w,y=r?0:t.offsetHeight-W-t.clientHeight,E=r?0:t.offsetWidth-v-t.clientWidth,R=b+v,z=F+W,M=r?t.width:parseFloat(o.width)-R-E,O=r?t.height:parseFloat(o.height)-z-y;if(n.has(t)){var k=n.get(t);if(k[0]===M&&k[1]===O)return}n.set(t,[M,O]);var S=Object.create(h.prototype);S.target=t,S.contentRect=new c(u,d,M,O),s.has(i)||(s.set(i,[]),p.add(i)),s.get(i).push(S)}))})),p.forEach((function(e){i.get(e).call(e,s.get(e),e)}))}return s.prototype.observe=function(i){if(i instanceof window.Element){r.has(i)||(r.set(i,new Set),o.add(i),a.set(i,window.getComputedStyle(i)));var n=r.get(i);n.has(this)||n.add(this),cancelAnimationFrame(t),t=requestAnimationFrame(d)}},s.prototype.unobserve=function(i){if(i instanceof window.Element&&r.has(i)){var n=r.get(i);n.has(this)&&(n.delete(this),n.size||(r.delete(i),o.delete(i))),n.size||r.delete(i),o.size||cancelAnimationFrame(t)}},A.DOMRectReadOnly=c,A.ResizeObserver=s,A.ResizeObserverEntry=h,A}; // eslint-disable-line\n",
- "mpl.toolbar_items = [[\"Home\", \"Reset original view\", \"fa fa-home icon-home\", \"home\"], [\"Back\", \"Back to previous view\", \"fa fa-arrow-left icon-arrow-left\", \"back\"], [\"Forward\", \"Forward to next view\", \"fa fa-arrow-right icon-arrow-right\", \"forward\"], [\"\", \"\", \"\", \"\"], [\"Pan\", \"Left button pans, Right button zooms\\nx/y fixes axis, CTRL fixes aspect\", \"fa fa-arrows icon-move\", \"pan\"], [\"Zoom\", \"Zoom to rectangle\\nx/y fixes axis\", \"fa fa-square-o icon-check-empty\", \"zoom\"], [\"\", \"\", \"\", \"\"], [\"Download\", \"Download plot\", \"fa fa-floppy-o icon-save\", \"download\"]];\n",
- "\n",
- "mpl.extensions = [\"eps\", \"jpeg\", \"pgf\", \"pdf\", \"png\", \"ps\", \"raw\", \"svg\", \"tif\"];\n",
- "\n",
- "mpl.default_extension = \"png\";/* global mpl */\n",
- "\n",
- "var comm_websocket_adapter = function (comm) {\n",
- " // Create a \"websocket\"-like object which calls the given IPython comm\n",
- " // object with the appropriate methods. Currently this is a non binary\n",
- " // socket, so there is still some room for performance tuning.\n",
- " var ws = {};\n",
- "\n",
- " ws.binaryType = comm.kernel.ws.binaryType;\n",
- " ws.readyState = comm.kernel.ws.readyState;\n",
- " function updateReadyState(_event) {\n",
- " if (comm.kernel.ws) {\n",
- " ws.readyState = comm.kernel.ws.readyState;\n",
- " } else {\n",
- " ws.readyState = 3; // Closed state.\n",
- " }\n",
- " }\n",
- " comm.kernel.ws.addEventListener('open', updateReadyState);\n",
- " comm.kernel.ws.addEventListener('close', updateReadyState);\n",
- " comm.kernel.ws.addEventListener('error', updateReadyState);\n",
- "\n",
- " ws.close = function () {\n",
- " comm.close();\n",
- " };\n",
- " ws.send = function (m) {\n",
- " //console.log('sending', m);\n",
- " comm.send(m);\n",
- " };\n",
- " // Register the callback with on_msg.\n",
- " comm.on_msg(function (msg) {\n",
- " //console.log('receiving', msg['content']['data'], msg);\n",
- " var data = msg['content']['data'];\n",
- " if (data['blob'] !== undefined) {\n",
- " data = {\n",
- " data: new Blob(msg['buffers'], { type: data['blob'] }),\n",
- " };\n",
- " }\n",
- " // Pass the mpl event to the overridden (by mpl) onmessage function.\n",
- " ws.onmessage(data);\n",
- " });\n",
- " return ws;\n",
- "};\n",
- "\n",
- "mpl.mpl_figure_comm = function (comm, msg) {\n",
- " // This is the function which gets called when the mpl process\n",
- " // starts-up an IPython Comm through the \"matplotlib\" channel.\n",
- "\n",
- " var id = msg.content.data.id;\n",
- " // Get hold of the div created by the display call when the Comm\n",
- " // socket was opened in Python.\n",
- " var element = document.getElementById(id);\n",
- " var ws_proxy = comm_websocket_adapter(comm);\n",
- "\n",
- " function ondownload(figure, _format) {\n",
- " window.open(figure.canvas.toDataURL());\n",
- " }\n",
- "\n",
- " var fig = new mpl.figure(id, ws_proxy, ondownload, element);\n",
- "\n",
- " // Call onopen now - mpl needs it, as it is assuming we've passed it a real\n",
- " // web socket which is closed, not our websocket->open comm proxy.\n",
- " ws_proxy.onopen();\n",
- "\n",
- " fig.parent_element = element;\n",
- " fig.cell_info = mpl.find_output_cell(\"\");\n",
- " if (!fig.cell_info) {\n",
- " console.error('Failed to find cell for figure', id, fig);\n",
- " return;\n",
- " }\n",
- " fig.cell_info[0].output_area.element.on(\n",
- " 'cleared',\n",
- " { fig: fig },\n",
- " fig._remove_fig_handler\n",
- " );\n",
- "};\n",
- "\n",
- "mpl.figure.prototype.handle_close = function (fig, msg) {\n",
- " var width = fig.canvas.width / fig.ratio;\n",
- " fig.cell_info[0].output_area.element.off(\n",
- " 'cleared',\n",
- " fig._remove_fig_handler\n",
- " );\n",
- " fig.resizeObserverInstance.unobserve(fig.canvas_div);\n",
- "\n",
- " // Update the output cell to use the data from the current canvas.\n",
- " fig.push_to_output();\n",
- " var dataURL = fig.canvas.toDataURL();\n",
- " // Re-enable the keyboard manager in IPython - without this line, in FF,\n",
- " // the notebook keyboard shortcuts fail.\n",
- " IPython.keyboard_manager.enable();\n",
- " fig.parent_element.innerHTML =\n",
- " '
';\n",
- " fig.close_ws(fig, msg);\n",
- "};\n",
- "\n",
- "mpl.figure.prototype.close_ws = function (fig, msg) {\n",
- " fig.send_message('closing', msg);\n",
- " // fig.ws.close()\n",
- "};\n",
- "\n",
- "mpl.figure.prototype.push_to_output = function (_remove_interactive) {\n",
- " // Turn the data on the canvas into data in the output cell.\n",
- " var width = this.canvas.width / this.ratio;\n",
- " var dataURL = this.canvas.toDataURL();\n",
- " this.cell_info[1]['text/html'] =\n",
- " '
';\n",
- "};\n",
- "\n",
- "mpl.figure.prototype.updated_canvas_event = function () {\n",
- " // Tell IPython that the notebook contents must change.\n",
- " IPython.notebook.set_dirty(true);\n",
- " this.send_message('ack', {});\n",
- " var fig = this;\n",
- " // Wait a second, then push the new image to the DOM so\n",
- " // that it is saved nicely (might be nice to debounce this).\n",
- " setTimeout(function () {\n",
- " fig.push_to_output();\n",
- " }, 1000);\n",
- "};\n",
- "\n",
- "mpl.figure.prototype._init_toolbar = function () {\n",
- " var fig = this;\n",
- "\n",
- " var toolbar = document.createElement('div');\n",
- " toolbar.classList = 'btn-toolbar';\n",
- " this.root.appendChild(toolbar);\n",
- "\n",
- " function on_click_closure(name) {\n",
- " return function (_event) {\n",
- " return fig.toolbar_button_onclick(name);\n",
- " };\n",
- " }\n",
- "\n",
- " function on_mouseover_closure(tooltip) {\n",
- " return function (event) {\n",
- " if (!event.currentTarget.disabled) {\n",
- " return fig.toolbar_button_onmouseover(tooltip);\n",
- " }\n",
- " };\n",
- " }\n",
- "\n",
- " fig.buttons = {};\n",
- " var buttonGroup = document.createElement('div');\n",
- " buttonGroup.classList = 'btn-group';\n",
- " var button;\n",
- " for (var toolbar_ind in mpl.toolbar_items) {\n",
- " var name = mpl.toolbar_items[toolbar_ind][0];\n",
- " var tooltip = mpl.toolbar_items[toolbar_ind][1];\n",
- " var image = mpl.toolbar_items[toolbar_ind][2];\n",
- " var method_name = mpl.toolbar_items[toolbar_ind][3];\n",
- "\n",
- " if (!name) {\n",
- " /* Instead of a spacer, we start a new button group. */\n",
- " if (buttonGroup.hasChildNodes()) {\n",
- " toolbar.appendChild(buttonGroup);\n",
- " }\n",
- " buttonGroup = document.createElement('div');\n",
- " buttonGroup.classList = 'btn-group';\n",
- " continue;\n",
- " }\n",
- "\n",
- " button = fig.buttons[name] = document.createElement('button');\n",
- " button.classList = 'btn btn-default';\n",
- " button.href = '#';\n",
- " button.title = name;\n",
- " button.innerHTML = '';\n",
- " button.addEventListener('click', on_click_closure(method_name));\n",
- " button.addEventListener('mouseover', on_mouseover_closure(tooltip));\n",
- " buttonGroup.appendChild(button);\n",
- " }\n",
- "\n",
- " if (buttonGroup.hasChildNodes()) {\n",
- " toolbar.appendChild(buttonGroup);\n",
- " }\n",
- "\n",
- " // Add the status bar.\n",
- " var status_bar = document.createElement('span');\n",
- " status_bar.classList = 'mpl-message pull-right';\n",
- " toolbar.appendChild(status_bar);\n",
- " this.message = status_bar;\n",
- "\n",
- " // Add the close button to the window.\n",
- " var buttongrp = document.createElement('div');\n",
- " buttongrp.classList = 'btn-group inline pull-right';\n",
- " button = document.createElement('button');\n",
- " button.classList = 'btn btn-mini btn-primary';\n",
- " button.href = '#';\n",
- " button.title = 'Stop Interaction';\n",
- " button.innerHTML = '';\n",
- " button.addEventListener('click', function (_evt) {\n",
- " fig.handle_close(fig, {});\n",
- " });\n",
- " button.addEventListener(\n",
- " 'mouseover',\n",
- " on_mouseover_closure('Stop Interaction')\n",
- " );\n",
- " buttongrp.appendChild(button);\n",
- " var titlebar = this.root.querySelector('.ui-dialog-titlebar');\n",
- " titlebar.insertBefore(buttongrp, titlebar.firstChild);\n",
- "};\n",
- "\n",
- "mpl.figure.prototype._remove_fig_handler = function (event) {\n",
- " var fig = event.data.fig;\n",
- " if (event.target !== this) {\n",
- " // Ignore bubbled events from children.\n",
- " return;\n",
- " }\n",
- " fig.close_ws(fig, {});\n",
- "};\n",
- "\n",
- "mpl.figure.prototype._root_extra_style = function (el) {\n",
- " el.style.boxSizing = 'content-box'; // override notebook setting of border-box.\n",
- "};\n",
- "\n",
- "mpl.figure.prototype._canvas_extra_style = function (el) {\n",
- " // this is important to make the div 'focusable\n",
- " el.setAttribute('tabindex', 0);\n",
- " // reach out to IPython and tell the keyboard manager to turn it's self\n",
- " // off when our div gets focus\n",
- "\n",
- " // location in version 3\n",
- " if (IPython.notebook.keyboard_manager) {\n",
- " IPython.notebook.keyboard_manager.register_events(el);\n",
- " } else {\n",
- " // location in version 2\n",
- " IPython.keyboard_manager.register_events(el);\n",
- " }\n",
- "};\n",
- "\n",
- "mpl.figure.prototype._key_event_extra = function (event, _name) {\n",
- " // Check for shift+enter\n",
- " if (event.shiftKey && event.which === 13) {\n",
- " this.canvas_div.blur();\n",
- " // select the cell after this one\n",
- " var index = IPython.notebook.find_cell_index(this.cell_info[0]);\n",
- " IPython.notebook.select(index + 1);\n",
- " }\n",
- "};\n",
- "\n",
- "mpl.figure.prototype.handle_save = function (fig, _msg) {\n",
- " fig.ondownload(fig, null);\n",
- "};\n",
- "\n",
- "mpl.find_output_cell = function (html_output) {\n",
- " // Return the cell and output element which can be found *uniquely* in the notebook.\n",
- " // Note - this is a bit hacky, but it is done because the \"notebook_saving.Notebook\"\n",
- " // IPython event is triggered only after the cells have been serialised, which for\n",
- " // our purposes (turning an active figure into a static one), is too late.\n",
- " var cells = IPython.notebook.get_cells();\n",
- " var ncells = cells.length;\n",
- " for (var i = 0; i < ncells; i++) {\n",
- " var cell = cells[i];\n",
- " if (cell.cell_type === 'code') {\n",
- " for (var j = 0; j < cell.output_area.outputs.length; j++) {\n",
- " var data = cell.output_area.outputs[j];\n",
- " if (data.data) {\n",
- " // IPython >= 3 moved mimebundle to data attribute of output\n",
- " data = data.data;\n",
- " }\n",
- " if (data['text/html'] === html_output) {\n",
- " return [cell, data, j];\n",
- " }\n",
- " }\n",
- " }\n",
- " }\n",
- "};\n",
- "\n",
- "// Register the function which deals with the matplotlib target/channel.\n",
- "// The kernel may be null if the page has been refreshed.\n",
- "if (IPython.notebook.kernel !== null) {\n",
- " IPython.notebook.kernel.comm_manager.register_target(\n",
- " 'matplotlib',\n",
- " mpl.mpl_figure_comm\n",
- " );\n",
- "}\n"
- ],
- "text/plain": [
- ""
- ]
- },
- "metadata": {},
- "output_type": "display_data"
- },
- {
- "data": {
- "text/html": [
- "
"
- ],
- "text/plain": [
- ""
- ]
- },
- "metadata": {},
- "output_type": "display_data"
- },
- {
- "data": {
- "text/plain": [
- ""
- ]
- },
- "execution_count": 54,
- "metadata": {},
- "output_type": "execute_result"
- }
- ],
+ "outputs": [],
"source": [
"x=np.arange(10)+1.\n",
"y1=x**2\n",
@@ -10530,10 +637,10 @@
"fig, ax = plt.subplots()\n",
"ax.set_yscale('log')\n",
"# The `label` keyword below is used to specify the label for the particular data set\n",
- "ax.plot(x,y1,color='blue',mec='orange',mew=2,marker='*',ms=20,ls='None',label='The daily stipen')\n",
- "ax.plot(x,y2,color='red',marker='s',ms=15,ls='None',label='date')\n",
- "ax.text(8,1,'$y=x^{n}$',fontsize=24)\n",
- "ax.legend(loc='upper left',fontsize=16,frameon=False)"
+ "ax.plot(x,y1,color='blue',mec='orange',mew=2,marker='*',ms=20,ls='None',label='$y=x^2$')\n",
+ "ax.plot(x,y2,color='red',marker='s',ms=15,ls='None',label='$y=\\sqrt{x}$')\n",
+ "ax.text(6,10,'$y=x^{n}$',fontsize=24)\n",
+ "ax.legend(loc='upper left',fontsize=16,numpoints=1)"
]
},
{
@@ -10551,78 +658,18 @@
},
{
"cell_type": "code",
- "execution_count": 60,
- "metadata": {},
- "outputs": [
- {
- "data": {
- "text/plain": [
- "array([5., 5., 5., 5., 5., 5., 5., 5., 5., 5.])"
- ]
- },
- "execution_count": 60,
- "metadata": {},
- "output_type": "execute_result"
- }
- ],
- "source": [
- "np.zeros(10)+5"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": 14,
+ "execution_count": null,
"metadata": {},
- "outputs": [
- {
- "data": {
- "text/plain": [
- "(array([-20., 0., 20., 40., 60., 80., 100., 120.]),\n",
- " [Text(0, 0, ''),\n",
- " Text(0, 0, ''),\n",
- " Text(0, 0, ''),\n",
- " Text(0, 0, ''),\n",
- " Text(0, 0, ''),\n",
- " Text(0, 0, ''),\n",
- " Text(0, 0, ''),\n",
- " Text(0, 0, '')])"
- ]
- },
- "execution_count": 14,
- "metadata": {},
- "output_type": "execute_result"
- },
- {
- "data": {
- "image/png": "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\n",
- "text/plain": [
- ""
- ]
- },
- "metadata": {
- "needs_background": "light"
- },
- "output_type": "display_data"
- }
- ],
+ "outputs": [],
"source": [
- "import matplotlib.pyplot as plt\n",
- "import numpy as np\n",
"# first, generate some fake data\n",
- "\n",
- "fontsize = 15\n",
- "\n",
"x=np.arange(10)+1.\n",
"y=x**2\n",
"\n",
"xerr=np.zeros(10)+0.5 # fixed error in x\n",
"yerr=np.sqrt(y) # Poisson error in y\n",
"\n",
- "plt.errorbar(x,y,xerr=xerr,yerr=yerr,marker='o',ls='None',markeredgecolor='k',markerfacecolor='k',ecolor='k',capsize=2)\n",
- "plt.xlabel('x',fontsize=fontsize)\n",
- "plt.ylabel('y',fontsize=fontsize)\n",
- "plt.xticks(fontsize=fontsize)\n",
- "plt.yticks(fontsize=fontsize)\n"
+ "plt.errorbar(x,y,xerr=xerr,yerr=yerr,marker='o',ls='None')"
]
},
{
@@ -10634,32 +681,19 @@
},
{
"cell_type": "code",
- "execution_count": 21,
+ "execution_count": null,
"metadata": {},
- "outputs": [
- {
- "data": {
- "image/png": "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\n",
- "text/plain": [
- ""
- ]
- },
- "metadata": {
- "needs_background": "light"
- },
- "output_type": "display_data"
- }
- ],
+ "outputs": [],
"source": [
"import numpy.random as npr\n",
"\n",
"x1=npr.randn(10000) # mean=0, std=1.0\n",
"x2=npr.randn(10000)*0.5+1. # mean=1, std=0.5\n",
"\n",
- "bins=np.linspace(-5.,5.,100)\n",
+ "bins=np.linspace(-5.,5.,21)\n",
"\n",
- "info1 = plt.hist(x1,bins=bins, color='red',lw=1)#, histtype='step')\n",
- "info2 = plt.hist(x2,bins=bins, color='blue',lw=1,alpha=0.5)#, histtype='step')"
+ "info1 = plt.hist(x1,bins=bins, color='red',lw=1, histtype='step')\n",
+ "info2 = plt.hist(x2,bins=bins, color='blue',lw=1, histtype='step')"
]
},
{
@@ -10671,22 +705,9 @@
},
{
"cell_type": "code",
- "execution_count": 26,
+ "execution_count": null,
"metadata": {},
- "outputs": [
- {
- "data": {
- "image/png": "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\n",
- "text/plain": [
- ""
- ]
- },
- "metadata": {
- "needs_background": "light"
- },
- "output_type": "display_data"
- }
- ],
+ "outputs": [],
"source": [
"# Display an image from a FITS file\n",
"\n",
@@ -10716,32 +737,9 @@
},
{
"cell_type": "code",
- "execution_count": 27,
+ "execution_count": null,
"metadata": {},
- "outputs": [
- {
- "data": {
- "text/plain": [
- ""
- ]
- },
- "execution_count": 27,
- "metadata": {},
- "output_type": "execute_result"
- },
- {
- "data": {
- "image/png": "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\n",
- "text/plain": [
- ""
- ]
- },
- "metadata": {
- "needs_background": "light"
- },
- "output_type": "display_data"
- }
- ],
+ "outputs": [],
"source": [
"im1 = fits.open('data/SN2011iv_B_SWO_DC_2011_12_11SN.fits')\n",
"im2 = fits.open('data/SN2011iv_B_template.fits')\n",
@@ -10759,37 +757,10 @@
},
{
"cell_type": "code",
- "execution_count": 30,
+ "execution_count": null,
"metadata": {},
- "outputs": [
- {
- "data": {
- "text/plain": [
- ""
- ]
- },
- "execution_count": 30,
- "metadata": {},
- "output_type": "execute_result"
- },
- {
- "data": {
- "image/png": "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\n",
- "text/plain": [
- ""
- ]
- },
- "metadata": {
- "needs_background": "light"
- },
- "output_type": "display_data"
- }
- ],
- "source": [
- "im_diff = im1[0].data-im2[0].data\n",
- "fig,ax = plt.subplots(figsize=(8,8))\n",
- "ax.imshow(im_diff, vmin=-40,vmax=40, cmap='gray_r')"
- ]
+ "outputs": [],
+ "source": []
},
{
"cell_type": "markdown",
@@ -10801,7 +772,7 @@
},
{
"cell_type": "code",
- "execution_count": 31,
+ "execution_count": null,
"metadata": {},
"outputs": [],
"source": [
@@ -10817,9 +788,7 @@
"ax.legend(loc='upper left',fontsize=16,numpoints=1)\n",
"\n",
"# Note these two lines\n",
- "fig.savefig('example.pdf',format='pdf',bbox_inches='tight')\n",
- "fig.savefig('example.png',bbox_inches='tight')\n",
- "fig.savefig('example.jpg',bbox_inches='tight')\n",
+ "fig.savefig('example.pdf',format='pdf')\n",
"plt.close()"
]
},
@@ -10858,7 +827,7 @@
},
{
"cell_type": "code",
- "execution_count": 79,
+ "execution_count": null,
"metadata": {},
"outputs": [],
"source": [
@@ -10878,7 +847,7 @@
},
{
"cell_type": "code",
- "execution_count": 80,
+ "execution_count": null,
"metadata": {},
"outputs": [],
"source": [
@@ -10899,7 +868,7 @@
},
{
"cell_type": "code",
- "execution_count": 81,
+ "execution_count": null,
"metadata": {},
"outputs": [],
"source": [
@@ -10916,18 +885,9 @@
},
{
"cell_type": "code",
- "execution_count": 83,
+ "execution_count": null,
"metadata": {},
- "outputs": [
- {
- "name": "stdout",
- "output_type": "stream",
- "text": [
- "H0 = 73.15001352528321 +/- 0.624509056264018 [km/s/Mpc] for survey 1\n",
- "H0 = 71.30245219798228 +/- 0.5501608597182198 [km/s/Mpc] for survey 2\n"
- ]
- }
- ],
+ "outputs": [],
"source": [
"idx1_valid = np.where((DM_err>0)&(survey==1))[0]\n",
"popt1, pcov1 = curve_fit(DM_model,np.log10(zcmb[idx1_valid]),DM[idx1_valid],sigma=DM_err[idx1_valid])\n",
@@ -10942,50 +902,14 @@
"cell_type": "markdown",
"metadata": {},
"source": [
- "Wow! The Hubble parameters constrained by survey 1 and 2 disagree with each other by about $3\\sigma$!? \n",
"Let's plot the fitting results."
]
},
{
"cell_type": "code",
- "execution_count": 84,
+ "execution_count": null,
"metadata": {},
- "outputs": [
- {
- "data": {
- "text/plain": [
- "Text(0.5, 1.0, 'Survey 2')"
- ]
- },
- "execution_count": 84,
- "metadata": {},
- "output_type": "execute_result"
- },
- {
- "data": {
- "image/png": "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\n",
- "text/plain": [
- ""
- ]
- },
- "metadata": {
- "needs_background": "light"
- },
- "output_type": "display_data"
- },
- {
- "data": {
- "image/png": "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t4F5ZnaSmR1iZr8CTgBm5jNWEZFila6pqba2FoDZs1Onq7VfvpueFgNTgDJgE/AmcBHh0Fd3/8jMJgKXESSQfsAbwNkEewuLiHR76Zqafvvb31JbW0tFRUXOXy+vNQp3/4m77+nuW7r71u6+l7tf7e4bI2Ved/fj3b00LPcld5+tHb4aTJkyhbFjx+bltS6//PKs2zwff/xx9tprL3r37o1ZMD+yrKyM888/P1nmjjvuYM6cOR0QaW4cd9xxTJgwoVXnLFy4EDPjhRde6JigRNJIbWoqLy8nFosxc2buG1+KoY9CilhrEkVFRQVbb7018+fPZ9GiRQDcc889nHvuuckyxZ4oRDqLaFPTu8OGsbCmhoNqarrsqCfpIl555RWmTp1KLBZLHhs9enQBIxLpukpLS1lVW0tFXR3D3nsPgOonnqD6K1/J+WupRtGJzZs3j1GjRtG7d2/2339/XnrppUbP19fX84tf/IKdd96ZzTffnF122YUbb7yxUZnHHnuMAw44gH79+tGvXz++/OUvc+eddwJBs9HatWuZPn16stMsXe0i0fRSV1fH9773PcyMKVOmJK+RaHqaMmUKc+fOpSb81tPSNx8z41e/+hXTpk1j4MCBDBo0iF/+8pcA3Hjjjey0005svfXWnHHGGXz22WeNzn3uueeYOHEiffv2ZcCAAXzrW99i1apVjcq88847HHHEEfTp04eysjJ+97vfpY3jhRdeYNKkSWy11VZstdVWHH/88bz//vvNxi3SVlnPh/if/+G92loqgNlA1dChUFcHHZAkAHD3LnUbM2aMd3Wnn366Dxo0yEeMGOF/+tOffO7cub7nnnv6sGHDfMOGDclylZWVvsUWW/iMGTP873//u1944YXeo0cPv++++9zdff369d6/f38/7bTT/G9/+5vPnz/ff/nLX/r111/v7u5Lly71/v37+5lnnumLFi3yRYsW+fr165vEs379el+0aJEDPm3aNF+0aJG//vrr7u4+fPhwnzZtmru7v/76637QQQf56NGjk9d75513mn2fgA8dOtSnTp3q8+fP9+9+97sO+AUXXOATJkzw++67z2fOnOm9evXyyy67LHne6tWrvX///j5+/Hi/5557/KabbvKhQ4f6F77wBf/888/d3b2+vt5Hjx7tO+ywg998883Jn2FpaanHYrHktZYtW+b9+vXzgw8+2OfNm+d33XWX77bbbj527Fivr693d/cFCxY44M8//3xb/jtFGonFYo1+Bxt54QV3SN5KwAlv1dXV7XpdYIk387mqpieA738fnnuuMK/95S/Dr3/d6tM++OAD7r33Xvbdd18AxowZw8iRI5kzZw5nn302r7/+Otdeey1/+MMfOP300wE45JBDWLlyJdOnT+fII4/ktddeY/369VxzzTVstdVWABx66KHJ1xg9ejQ9e/Zk2LBhjB8/vtlY+vXrl3y+rKys2bIjR45km222ob6+PuP1osrLy5PD/Q455BDuvPNOfvvb37JixQr69esHBDWae+65hx/+8IcAXHnllQDMnz8/Waa8vJzx48czd+5cTjrpJB544AGeffZZnnzyScaNG9foZ1heXp58/enTp7PddtvxwAMP0KtXsMjxF7/4RUaNGsVf//pXJk2alNX7EMnWsmXLqK2tpaqqqqFj2h16NG4AemfYMOrefTcvManpqZMaMmRIMkkADB8+nDFjxvD0008D8PDDD9OjRw+OPfZYNm3alLxNnDiR5557jrq6OkaOHMmWW27JySefzL333su6desK9G6aN3HixOS/e/TowYgRIxgzZkwyAQDsvPPOvBe20QI8/fTTHHrooY3KjBs3jrKyMh577LFkmW233TaZJKDhZxj10EMPceyxx9KjR4/kz3DEiBHam106TJP5EGZNkgTu7PDOO42+9ee6AztKNQpo0zf6QhsyZEjaYytXrgSCGkddXR39+/dPe/7KlSsZNmwYf//734nH45xwwgnU19dz6KGHcvXVV7PTTjt1aPzZ2nrrrRs97tWrV9pj0T6KlStXssceezS51rbbbsuHH34IwPvvv9/sz/Cjjz5KPv7ggw+YMWMGM2bMaFL2nXfeac1bEclKaWlpMB9izJggSUSfA6ZWVxPPc0xKFJ3U6tWr0x5LfEBus8029OzZk8cff5weqd9GaEg048eP58EHH2TDhg089NBDnHfeeZx88sk8+eSTHfsGOtD222+f9uezatWqZI1hu+22a/Zn2KdPn+TjbbbZhmOPPZazzjqrSdlBgwblMGqRwOiyMt6rrYWwdQDg6336cN+GDVRWVnZozaE5anrqpFavXs0TTzyRfPz222+zdOlS9tlnHwAOPvhg6urqWL9+PWPHjm1yS7S3J/Tp04ejjjqKM844o9HoqdRv6+2V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\n",
- "text/plain": [
- ""
- ]
- },
- "metadata": {
- "needs_background": "light"
- },
- "output_type": "display_data"
- }
- ],
+ "outputs": [],
"source": [
"fontsize = 15\n",
"plt.figure(1)\n",
@@ -11010,13 +934,6 @@
"plt.legend(frameon=False,fontsize=fontsize)\n",
"plt.title('Survey 2',fontsize=fontsize)"
]
- },
- {
- "cell_type": "code",
- "execution_count": null,
- "metadata": {},
- "outputs": [],
- "source": []
}
],
"metadata": {