aboutsummaryrefslogtreecommitdiffstats
path: root/python/notebooks/Option Trades.ipynb
diff options
context:
space:
mode:
Diffstat (limited to 'python/notebooks/Option Trades.ipynb')
-rw-r--r--python/notebooks/Option Trades.ipynb6064
1 files changed, 26 insertions, 6038 deletions
diff --git a/python/notebooks/Option Trades.ipynb b/python/notebooks/Option Trades.ipynb
index aeadd98d..58b32b5d 100644
--- a/python/notebooks/Option Trades.ipynb
+++ b/python/notebooks/Option Trades.ipynb
@@ -2,10 +2,8 @@
"cells": [
{
"cell_type": "code",
- "execution_count": 2,
- "metadata": {
- "collapsed": true
- },
+ "execution_count": null,
+ "metadata": {},
"outputs": [],
"source": [
"from analytics import Swaption, BlackSwaption, Index, VolatilitySurface, Portfolio\n",
@@ -18,10 +16,8 @@
},
{
"cell_type": "code",
- "execution_count": 3,
- "metadata": {
- "collapsed": true
- },
+ "execution_count": null,
+ "metadata": {},
"outputs": [],
"source": [
"#Delta Chart: Red = Long Risk, Blue = Short Risk"
@@ -29,2377 +25,9 @@
},
{
"cell_type": "code",
- "execution_count": 91,
+ "execution_count": null,
"metadata": {},
- "outputs": [
- {
- "data": {
- "application/javascript": [
- "/* Put everything inside the global mpl namespace */\n",
- "window.mpl = {};\n",
- "\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('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",
- "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 = $('<div/>');\n",
- " this._root_extra_style(this.root)\n",
- " this.root.attr('style', 'display: inline-block');\n",
- "\n",
- " $(parent_element).append(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 (mpl.ratio != 1) {\n",
- " fig.send_message(\"set_dpi_ratio\", {'dpi_ratio': mpl.ratio});\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",
- " this.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 = $(\n",
- " '<div class=\"ui-dialog-titlebar ui-widget-header ui-corner-all ' +\n",
- " 'ui-helper-clearfix\"/>');\n",
- " var titletext = $(\n",
- " '<div class=\"ui-dialog-title\" style=\"width: 100%; ' +\n",
- " 'text-align: center; padding: 3px;\"/>');\n",
- " titlebar.append(titletext)\n",
- " this.root.append(titlebar);\n",
- " this.header = titletext[0];\n",
- "}\n",
- "\n",
- "\n",
- "\n",
- "mpl.figure.prototype._canvas_extra_style = function(canvas_div) {\n",
- "\n",
- "}\n",
- "\n",
- "\n",
- "mpl.figure.prototype._root_extra_style = function(canvas_div) {\n",
- "\n",
- "}\n",
- "\n",
- "mpl.figure.prototype._init_canvas = function() {\n",
- " var fig = this;\n",
- "\n",
- " var canvas_div = $('<div/>');\n",
- "\n",
- " canvas_div.attr('style', 'position: relative; clear: both; outline: 0');\n",
- "\n",
- " function canvas_keyboard_event(event) {\n",
- " return fig.key_event(event, event['data']);\n",
- " }\n",
- "\n",
- " canvas_div.keydown('key_press', canvas_keyboard_event);\n",
- " canvas_div.keyup('key_release', canvas_keyboard_event);\n",
- " this.canvas_div = canvas_div\n",
- " this._canvas_extra_style(canvas_div)\n",
- " this.root.append(canvas_div);\n",
- "\n",
- " var canvas = $('<canvas/>');\n",
- " canvas.addClass('mpl-canvas');\n",
- " canvas.attr('style', \"left: 0; top: 0; z-index: 0; outline: 0\")\n",
- "\n",
- " this.canvas = canvas[0];\n",
- " this.context = canvas[0].getContext(\"2d\");\n",
- "\n",
- " var backingStore = this.context.backingStorePixelRatio ||\n",
- "\tthis.context.webkitBackingStorePixelRatio ||\n",
- "\tthis.context.mozBackingStorePixelRatio ||\n",
- "\tthis.context.msBackingStorePixelRatio ||\n",
- "\tthis.context.oBackingStorePixelRatio ||\n",
- "\tthis.context.backingStorePixelRatio || 1;\n",
- "\n",
- " mpl.ratio = (window.devicePixelRatio || 1) / backingStore;\n",
- "\n",
- " var rubberband = $('<canvas/>');\n",
- " rubberband.attr('style', \"position: absolute; left: 0; top: 0; z-index: 1;\")\n",
- "\n",
- " var pass_mouse_events = true;\n",
- "\n",
- " canvas_div.resizable({\n",
- " start: function(event, ui) {\n",
- " pass_mouse_events = false;\n",
- " },\n",
- " resize: function(event, ui) {\n",
- " fig.request_resize(ui.size.width, ui.size.height);\n",
- " },\n",
- " stop: function(event, ui) {\n",
- " pass_mouse_events = true;\n",
- " fig.request_resize(ui.size.width, ui.size.height);\n",
- " },\n",
- " });\n",
- "\n",
- " function mouse_event_fn(event) {\n",
- " if (pass_mouse_events)\n",
- " return fig.mouse_event(event, event['data']);\n",
- " }\n",
- "\n",
- " rubberband.mousedown('button_press', mouse_event_fn);\n",
- " rubberband.mouseup('button_release', mouse_event_fn);\n",
- " // Throttle sequential mouse events to 1 every 20ms.\n",
- " rubberband.mousemove('motion_notify', mouse_event_fn);\n",
- "\n",
- " rubberband.mouseenter('figure_enter', mouse_event_fn);\n",
- " rubberband.mouseleave('figure_leave', mouse_event_fn);\n",
- "\n",
- " canvas_div.on(\"wheel\", function (event) {\n",
- " event = event.originalEvent;\n",
- " event['data'] = 'scroll'\n",
- " if (event.deltaY < 0) {\n",
- " event.step = 1;\n",
- " } else {\n",
- " event.step = -1;\n",
- " }\n",
- " mouse_event_fn(event);\n",
- " });\n",
- "\n",
- " canvas_div.append(canvas);\n",
- " canvas_div.append(rubberband);\n",
- "\n",
- " this.rubberband = rubberband;\n",
- " this.rubberband_canvas = rubberband[0];\n",
- " this.rubberband_context = rubberband[0].getContext(\"2d\");\n",
- " this.rubberband_context.strokeStyle = \"#000000\";\n",
- "\n",
- " this._resize_canvas = function(width, height) {\n",
- " // Keep the size of the canvas, canvas container, and rubber band\n",
- " // canvas in synch.\n",
- " canvas_div.css('width', width)\n",
- " canvas_div.css('height', height)\n",
- "\n",
- " canvas.attr('width', width * mpl.ratio);\n",
- " canvas.attr('height', height * mpl.ratio);\n",
- " canvas.attr('style', 'width: ' + width + 'px; height: ' + height + 'px;');\n",
- "\n",
- " rubberband.attr('width', width);\n",
- " rubberband.attr('height', height);\n",
- " }\n",
- "\n",
- " // Set the figure to an initial 600x600px, this will subsequently be updated\n",
- " // upon first draw.\n",
- " this._resize_canvas(600, 600);\n",
- "\n",
- " // Disable right mouse context menu.\n",
- " $(this.rubberband_canvas).bind(\"contextmenu\",function(e){\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 nav_element = $('<div/>')\n",
- " nav_element.attr('style', 'width: 100%');\n",
- " this.root.append(nav_element);\n",
- "\n",
- " // Define a callback function for later on.\n",
- " function toolbar_event(event) {\n",
- " return fig.toolbar_button_onclick(event['data']);\n",
- " }\n",
- " function toolbar_mouse_event(event) {\n",
- " return fig.toolbar_button_onmouseover(event['data']);\n",
- " }\n",
- "\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",
- " // put a spacer in here.\n",
- " continue;\n",
- " }\n",
- " var button = $('<button/>');\n",
- " button.addClass('ui-button ui-widget ui-state-default ui-corner-all ' +\n",
- " 'ui-button-icon-only');\n",
- " button.attr('role', 'button');\n",
- " button.attr('aria-disabled', 'false');\n",
- " button.click(method_name, toolbar_event);\n",
- " button.mouseover(tooltip, toolbar_mouse_event);\n",
- "\n",
- " var icon_img = $('<span/>');\n",
- " icon_img.addClass('ui-button-icon-primary ui-icon');\n",
- " icon_img.addClass(image);\n",
- " icon_img.addClass('ui-corner-all');\n",
- "\n",
- " var tooltip_span = $('<span/>');\n",
- " tooltip_span.addClass('ui-button-text');\n",
- " tooltip_span.html(tooltip);\n",
- "\n",
- " button.append(icon_img);\n",
- " button.append(tooltip_span);\n",
- "\n",
- " nav_element.append(button);\n",
- " }\n",
- "\n",
- " var fmt_picker_span = $('<span/>');\n",
- "\n",
- " var fmt_picker = $('<select/>');\n",
- " fmt_picker.addClass('mpl-toolbar-option ui-widget ui-widget-content');\n",
- " fmt_picker_span.append(fmt_picker);\n",
- " nav_element.append(fmt_picker_span);\n",
- " this.format_dropdown = fmt_picker[0];\n",
- "\n",
- " for (var ind in mpl.extensions) {\n",
- " var fmt = mpl.extensions[ind];\n",
- " var option = $(\n",
- " '<option/>', {selected: fmt === mpl.default_extension}).html(fmt);\n",
- " fmt_picker.append(option)\n",
- " }\n",
- "\n",
- " // Add hover states to the ui-buttons\n",
- " $( \".ui-button\" ).hover(\n",
- " function() { $(this).addClass(\"ui-state-hover\");},\n",
- " function() { $(this).removeClass(\"ui-state-hover\");}\n",
- " );\n",
- "\n",
- " var status_bar = $('<span class=\"mpl-message\"/>');\n",
- " nav_element.append(status_bar);\n",
- " this.message = status_bar[0];\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",
- "\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",
- "\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]);\n",
- " fig.send_message(\"refresh\", {});\n",
- " };\n",
- "}\n",
- "\n",
- "mpl.figure.prototype.handle_rubberband = function(fig, msg) {\n",
- " var x0 = msg['x0'] / mpl.ratio;\n",
- " var y0 = (fig.canvas.height - msg['y0']) / mpl.ratio;\n",
- " var x1 = msg['x1'] / mpl.ratio;\n",
- " var y1 = (fig.canvas.height - msg['y1']) / mpl.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, 0, fig.canvas.width, fig.canvas.height);\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",
- " var cursor = msg['cursor'];\n",
- " switch(cursor)\n",
- " {\n",
- " case 0:\n",
- " cursor = 'pointer';\n",
- " break;\n",
- " case 1:\n",
- " cursor = 'default';\n",
- " break;\n",
- " case 2:\n",
- " cursor = 'crosshair';\n",
- " break;\n",
- " case 3:\n",
- " cursor = 'move';\n",
- " break;\n",
- " }\n",
- " fig.rubberband_canvas.style.cursor = 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.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",
- " /* 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",
- " evt.data.type = \"image/png\";\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",
- " fig.imageObj.src = (window.URL || window.webkitURL).createObjectURL(\n",
- " evt.data);\n",
- " fig.updated_canvas_event();\n",
- " fig.waiting = false;\n",
- " return;\n",
- " }\n",
- " else if (typeof evt.data === 'string' && evt.data.slice(0, 21) == \"data:image/png;base64\") {\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(\"No handler for the '\" + msg_type + \"' message type: \", msg);\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(\"Exception inside the 'handler_\" + msg_type + \"' callback:\", e, e.stack, msg);\n",
- " }\n",
- " }\n",
- " };\n",
- "}\n",
- "\n",
- "// from http://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",
- " if (e.target)\n",
- " targ = e.target;\n",
- " else if (e.srcElement)\n",
- " targ = e.srcElement;\n",
- " if (targ.nodeType == 3) // defeat Safari bug\n",
- " targ = targ.parentNode;\n",
- "\n",
- " // jQuery normalizes the pageX and pageY\n",
- " // pageX,Y are the mouse positions relative to the document\n",
- " // offset() returns the position of the element relative to the document\n",
- " var x = e.pageX - $(targ).offset().left;\n",
- " var y = e.pageY - $(targ).offset().top;\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",
- " * http://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",
- " 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",
- " {\n",
- " this.canvas.focus();\n",
- " this.canvas_div.focus();\n",
- " }\n",
- "\n",
- " var x = canvas_pos.x * mpl.ratio;\n",
- " var y = canvas_pos.y * mpl.ratio;\n",
- "\n",
- " this.send_message(name, {x: x, y: y, button: event.button,\n",
- " step: event.step,\n",
- " guiEvent: simpleKeys(event)});\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",
- "\n",
- " // Prevent repeat events\n",
- " if (name == 'key_press')\n",
- " {\n",
- " if (event.which === this._key)\n",
- " return;\n",
- " else\n",
- " this._key = event.which;\n",
- " }\n",
- " if (name == 'key_release')\n",
- " this._key = null;\n",
- "\n",
- " var value = '';\n",
- " if (event.ctrlKey && event.which != 17)\n",
- " value += \"ctrl+\";\n",
- " if (event.altKey && event.which != 18)\n",
- " value += \"alt+\";\n",
- " if (event.shiftKey && event.which != 16)\n",
- " value += \"shift+\";\n",
- "\n",
- " value += 'k';\n",
- " value += event.which.toString();\n",
- "\n",
- " this._key_event_extra(event, name);\n",
- "\n",
- " this.send_message(name, {key: value,\n",
- " 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",
- "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\", \"Pan axes with left mouse, zoom with right\", \"fa fa-arrows icon-move\", \"pan\"], [\"Zoom\", \"Zoom to rectangle\", \"fa fa-square-o icon-check-empty\", \"zoom\"], [\"\", \"\", \"\", \"\"], [\"Download\", \"Download plot\", \"fa fa-floppy-o icon-save\", \"download\"]];\n",
- "\n",
- "mpl.extensions = [\"eps\", \"jpeg\", \"pdf\", \"png\", \"ps\", \"raw\", \"svg\", \"tif\"];\n",
- "\n",
- "mpl.default_extension = \"png\";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.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",
- " // Pass the mpl event to the overriden (by mpl) onmessage function.\n",
- " ws.onmessage(msg['content']['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 = $(\"#\" + id);\n",
- " var ws_proxy = comm_websocket_adapter(comm)\n",
- "\n",
- " function ondownload(figure, format) {\n",
- " window.open(figure.imageObj.src);\n",
- " }\n",
- "\n",
- " var fig = new mpl.figure(id, ws_proxy,\n",
- " ondownload,\n",
- " element.get(0));\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.get(0);\n",
- " fig.cell_info = mpl.find_output_cell(\"<div id='\" + id + \"'></div>\");\n",
- " if (!fig.cell_info) {\n",
- " console.error(\"Failed to find cell for figure\", id, fig);\n",
- " return;\n",
- " }\n",
- "\n",
- " var output_index = fig.cell_info[2]\n",
- " var cell = fig.cell_info[0];\n",
- "\n",
- "};\n",
- "\n",
- "mpl.figure.prototype.handle_close = function(fig, msg) {\n",
- " var width = fig.canvas.width/mpl.ratio\n",
- " fig.root.unbind('remove')\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).html('<img src=\"' + dataURL + '\" width=\"' + width + '\">');\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/mpl.ratio\n",
- " var dataURL = this.canvas.toDataURL();\n",
- " this.cell_info[1]['text/html'] = '<img src=\"' + dataURL + '\" width=\"' + width + '\">';\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 () { fig.push_to_output() }, 1000);\n",
- "}\n",
- "\n",
- "mpl.figure.prototype._init_toolbar = function() {\n",
- " var fig = this;\n",
- "\n",
- " var nav_element = $('<div/>')\n",
- " nav_element.attr('style', 'width: 100%');\n",
- " this.root.append(nav_element);\n",
- "\n",
- " // Define a callback function for later on.\n",
- " function toolbar_event(event) {\n",
- " return fig.toolbar_button_onclick(event['data']);\n",
- " }\n",
- " function toolbar_mouse_event(event) {\n",
- " return fig.toolbar_button_onmouseover(event['data']);\n",
- " }\n",
- "\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) { continue; };\n",
- "\n",
- " var button = $('<button class=\"btn btn-default\" href=\"#\" title=\"' + name + '\"><i class=\"fa ' + image + ' fa-lg\"></i></button>');\n",
- " button.click(method_name, toolbar_event);\n",
- " button.mouseover(tooltip, toolbar_mouse_event);\n",
- " nav_element.append(button);\n",
- " }\n",
- "\n",
- " // Add the status bar.\n",
- " var status_bar = $('<span class=\"mpl-message\" style=\"text-align:right; float: right;\"/>');\n",
- " nav_element.append(status_bar);\n",
- " this.message = status_bar[0];\n",
- "\n",
- " // Add the close button to the window.\n",
- " var buttongrp = $('<div class=\"btn-group inline pull-right\"></div>');\n",
- " var button = $('<button class=\"btn btn-mini btn-primary\" href=\"#\" title=\"Stop Interaction\"><i class=\"fa fa-power-off icon-remove icon-large\"></i></button>');\n",
- " button.click(function (evt) { fig.handle_close(fig, {}); } );\n",
- " button.mouseover('Stop Interaction', toolbar_mouse_event);\n",
- " buttongrp.append(button);\n",
- " var titlebar = this.root.find($('.ui-dialog-titlebar'));\n",
- " titlebar.prepend(buttongrp);\n",
- "}\n",
- "\n",
- "mpl.figure.prototype._root_extra_style = function(el){\n",
- " var fig = this\n",
- " el.on(\"remove\", function(){\n",
- "\tfig.close_ws(fig, {});\n",
- " });\n",
- "}\n",
- "\n",
- "mpl.figure.prototype._canvas_extra_style = function(el){\n",
- " // this is important to make the div 'focusable\n",
- " el.attr('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",
- " }\n",
- " else {\n",
- " // location in version 2\n",
- " IPython.keyboard_manager.register_events(el);\n",
- " }\n",
- "\n",
- "}\n",
- "\n",
- "mpl.figure.prototype._key_event_extra = function(event, name) {\n",
- " var manager = IPython.notebook.keyboard_manager;\n",
- " if (!manager)\n",
- " manager = IPython.keyboard_manager;\n",
- "\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",
- "\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('matplotlib', mpl.mpl_figure_comm);\n",
- "}\n"
- ],
- "text/plain": [
- "<IPython.core.display.Javascript object>"
- ]
- },
- "metadata": {},
- "output_type": "display_data"
- },
- {
- "data": {
- "text/html": [
- "<img src=\"data:image/png;base64,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\" width=\"640\">"
- ],
- "text/plain": [
- "<IPython.core.display.HTML object>"
- ]
- },
- "metadata": {},
- "output_type": "display_data"
- },
- {
- "data": {
- "application/javascript": [
- "/* Put everything inside the global mpl namespace */\n",
- "window.mpl = {};\n",
- "\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('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",
- "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 = $('<div/>');\n",
- " this._root_extra_style(this.root)\n",
- " this.root.attr('style', 'display: inline-block');\n",
- "\n",
- " $(parent_element).append(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 (mpl.ratio != 1) {\n",
- " fig.send_message(\"set_dpi_ratio\", {'dpi_ratio': mpl.ratio});\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",
- " this.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 = $(\n",
- " '<div class=\"ui-dialog-titlebar ui-widget-header ui-corner-all ' +\n",
- " 'ui-helper-clearfix\"/>');\n",
- " var titletext = $(\n",
- " '<div class=\"ui-dialog-title\" style=\"width: 100%; ' +\n",
- " 'text-align: center; padding: 3px;\"/>');\n",
- " titlebar.append(titletext)\n",
- " this.root.append(titlebar);\n",
- " this.header = titletext[0];\n",
- "}\n",
- "\n",
- "\n",
- "\n",
- "mpl.figure.prototype._canvas_extra_style = function(canvas_div) {\n",
- "\n",
- "}\n",
- "\n",
- "\n",
- "mpl.figure.prototype._root_extra_style = function(canvas_div) {\n",
- "\n",
- "}\n",
- "\n",
- "mpl.figure.prototype._init_canvas = function() {\n",
- " var fig = this;\n",
- "\n",
- " var canvas_div = $('<div/>');\n",
- "\n",
- " canvas_div.attr('style', 'position: relative; clear: both; outline: 0');\n",
- "\n",
- " function canvas_keyboard_event(event) {\n",
- " return fig.key_event(event, event['data']);\n",
- " }\n",
- "\n",
- " canvas_div.keydown('key_press', canvas_keyboard_event);\n",
- " canvas_div.keyup('key_release', canvas_keyboard_event);\n",
- " this.canvas_div = canvas_div\n",
- " this._canvas_extra_style(canvas_div)\n",
- " this.root.append(canvas_div);\n",
- "\n",
- " var canvas = $('<canvas/>');\n",
- " canvas.addClass('mpl-canvas');\n",
- " canvas.attr('style', \"left: 0; top: 0; z-index: 0; outline: 0\")\n",
- "\n",
- " this.canvas = canvas[0];\n",
- " this.context = canvas[0].getContext(\"2d\");\n",
- "\n",
- " var backingStore = this.context.backingStorePixelRatio ||\n",
- "\tthis.context.webkitBackingStorePixelRatio ||\n",
- "\tthis.context.mozBackingStorePixelRatio ||\n",
- "\tthis.context.msBackingStorePixelRatio ||\n",
- "\tthis.context.oBackingStorePixelRatio ||\n",
- "\tthis.context.backingStorePixelRatio || 1;\n",
- "\n",
- " mpl.ratio = (window.devicePixelRatio || 1) / backingStore;\n",
- "\n",
- " var rubberband = $('<canvas/>');\n",
- " rubberband.attr('style', \"position: absolute; left: 0; top: 0; z-index: 1;\")\n",
- "\n",
- " var pass_mouse_events = true;\n",
- "\n",
- " canvas_div.resizable({\n",
- " start: function(event, ui) {\n",
- " pass_mouse_events = false;\n",
- " },\n",
- " resize: function(event, ui) {\n",
- " fig.request_resize(ui.size.width, ui.size.height);\n",
- " },\n",
- " stop: function(event, ui) {\n",
- " pass_mouse_events = true;\n",
- " fig.request_resize(ui.size.width, ui.size.height);\n",
- " },\n",
- " });\n",
- "\n",
- " function mouse_event_fn(event) {\n",
- " if (pass_mouse_events)\n",
- " return fig.mouse_event(event, event['data']);\n",
- " }\n",
- "\n",
- " rubberband.mousedown('button_press', mouse_event_fn);\n",
- " rubberband.mouseup('button_release', mouse_event_fn);\n",
- " // Throttle sequential mouse events to 1 every 20ms.\n",
- " rubberband.mousemove('motion_notify', mouse_event_fn);\n",
- "\n",
- " rubberband.mouseenter('figure_enter', mouse_event_fn);\n",
- " rubberband.mouseleave('figure_leave', mouse_event_fn);\n",
- "\n",
- " canvas_div.on(\"wheel\", function (event) {\n",
- " event = event.originalEvent;\n",
- " event['data'] = 'scroll'\n",
- " if (event.deltaY < 0) {\n",
- " event.step = 1;\n",
- " } else {\n",
- " event.step = -1;\n",
- " }\n",
- " mouse_event_fn(event);\n",
- " });\n",
- "\n",
- " canvas_div.append(canvas);\n",
- " canvas_div.append(rubberband);\n",
- "\n",
- " this.rubberband = rubberband;\n",
- " this.rubberband_canvas = rubberband[0];\n",
- " this.rubberband_context = rubberband[0].getContext(\"2d\");\n",
- " this.rubberband_context.strokeStyle = \"#000000\";\n",
- "\n",
- " this._resize_canvas = function(width, height) {\n",
- " // Keep the size of the canvas, canvas container, and rubber band\n",
- " // canvas in synch.\n",
- " canvas_div.css('width', width)\n",
- " canvas_div.css('height', height)\n",
- "\n",
- " canvas.attr('width', width * mpl.ratio);\n",
- " canvas.attr('height', height * mpl.ratio);\n",
- " canvas.attr('style', 'width: ' + width + 'px; height: ' + height + 'px;');\n",
- "\n",
- " rubberband.attr('width', width);\n",
- " rubberband.attr('height', height);\n",
- " }\n",
- "\n",
- " // Set the figure to an initial 600x600px, this will subsequently be updated\n",
- " // upon first draw.\n",
- " this._resize_canvas(600, 600);\n",
- "\n",
- " // Disable right mouse context menu.\n",
- " $(this.rubberband_canvas).bind(\"contextmenu\",function(e){\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 nav_element = $('<div/>')\n",
- " nav_element.attr('style', 'width: 100%');\n",
- " this.root.append(nav_element);\n",
- "\n",
- " // Define a callback function for later on.\n",
- " function toolbar_event(event) {\n",
- " return fig.toolbar_button_onclick(event['data']);\n",
- " }\n",
- " function toolbar_mouse_event(event) {\n",
- " return fig.toolbar_button_onmouseover(event['data']);\n",
- " }\n",
- "\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",
- " // put a spacer in here.\n",
- " continue;\n",
- " }\n",
- " var button = $('<button/>');\n",
- " button.addClass('ui-button ui-widget ui-state-default ui-corner-all ' +\n",
- " 'ui-button-icon-only');\n",
- " button.attr('role', 'button');\n",
- " button.attr('aria-disabled', 'false');\n",
- " button.click(method_name, toolbar_event);\n",
- " button.mouseover(tooltip, toolbar_mouse_event);\n",
- "\n",
- " var icon_img = $('<span/>');\n",
- " icon_img.addClass('ui-button-icon-primary ui-icon');\n",
- " icon_img.addClass(image);\n",
- " icon_img.addClass('ui-corner-all');\n",
- "\n",
- " var tooltip_span = $('<span/>');\n",
- " tooltip_span.addClass('ui-button-text');\n",
- " tooltip_span.html(tooltip);\n",
- "\n",
- " button.append(icon_img);\n",
- " button.append(tooltip_span);\n",
- "\n",
- " nav_element.append(button);\n",
- " }\n",
- "\n",
- " var fmt_picker_span = $('<span/>');\n",
- "\n",
- " var fmt_picker = $('<select/>');\n",
- " fmt_picker.addClass('mpl-toolbar-option ui-widget ui-widget-content');\n",
- " fmt_picker_span.append(fmt_picker);\n",
- " nav_element.append(fmt_picker_span);\n",
- " this.format_dropdown = fmt_picker[0];\n",
- "\n",
- " for (var ind in mpl.extensions) {\n",
- " var fmt = mpl.extensions[ind];\n",
- " var option = $(\n",
- " '<option/>', {selected: fmt === mpl.default_extension}).html(fmt);\n",
- " fmt_picker.append(option)\n",
- " }\n",
- "\n",
- " // Add hover states to the ui-buttons\n",
- " $( \".ui-button\" ).hover(\n",
- " function() { $(this).addClass(\"ui-state-hover\");},\n",
- " function() { $(this).removeClass(\"ui-state-hover\");}\n",
- " );\n",
- "\n",
- " var status_bar = $('<span class=\"mpl-message\"/>');\n",
- " nav_element.append(status_bar);\n",
- " this.message = status_bar[0];\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",
- "\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",
- "\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]);\n",
- " fig.send_message(\"refresh\", {});\n",
- " };\n",
- "}\n",
- "\n",
- "mpl.figure.prototype.handle_rubberband = function(fig, msg) {\n",
- " var x0 = msg['x0'] / mpl.ratio;\n",
- " var y0 = (fig.canvas.height - msg['y0']) / mpl.ratio;\n",
- " var x1 = msg['x1'] / mpl.ratio;\n",
- " var y1 = (fig.canvas.height - msg['y1']) / mpl.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, 0, fig.canvas.width, fig.canvas.height);\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",
- " var cursor = msg['cursor'];\n",
- " switch(cursor)\n",
- " {\n",
- " case 0:\n",
- " cursor = 'pointer';\n",
- " break;\n",
- " case 1:\n",
- " cursor = 'default';\n",
- " break;\n",
- " case 2:\n",
- " cursor = 'crosshair';\n",
- " break;\n",
- " case 3:\n",
- " cursor = 'move';\n",
- " break;\n",
- " }\n",
- " fig.rubberband_canvas.style.cursor = 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.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",
- " /* 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",
- " evt.data.type = \"image/png\";\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",
- " fig.imageObj.src = (window.URL || window.webkitURL).createObjectURL(\n",
- " evt.data);\n",
- " fig.updated_canvas_event();\n",
- " fig.waiting = false;\n",
- " return;\n",
- " }\n",
- " else if (typeof evt.data === 'string' && evt.data.slice(0, 21) == \"data:image/png;base64\") {\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(\"No handler for the '\" + msg_type + \"' message type: \", msg);\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(\"Exception inside the 'handler_\" + msg_type + \"' callback:\", e, e.stack, msg);\n",
- " }\n",
- " }\n",
- " };\n",
- "}\n",
- "\n",
- "// from http://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",
- " if (e.target)\n",
- " targ = e.target;\n",
- " else if (e.srcElement)\n",
- " targ = e.srcElement;\n",
- " if (targ.nodeType == 3) // defeat Safari bug\n",
- " targ = targ.parentNode;\n",
- "\n",
- " // jQuery normalizes the pageX and pageY\n",
- " // pageX,Y are the mouse positions relative to the document\n",
- " // offset() returns the position of the element relative to the document\n",
- " var x = e.pageX - $(targ).offset().left;\n",
- " var y = e.pageY - $(targ).offset().top;\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",
- " * http://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",
- " 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",
- " {\n",
- " this.canvas.focus();\n",
- " this.canvas_div.focus();\n",
- " }\n",
- "\n",
- " var x = canvas_pos.x * mpl.ratio;\n",
- " var y = canvas_pos.y * mpl.ratio;\n",
- "\n",
- " this.send_message(name, {x: x, y: y, button: event.button,\n",
- " step: event.step,\n",
- " guiEvent: simpleKeys(event)});\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",
- "\n",
- " // Prevent repeat events\n",
- " if (name == 'key_press')\n",
- " {\n",
- " if (event.which === this._key)\n",
- " return;\n",
- " else\n",
- " this._key = event.which;\n",
- " }\n",
- " if (name == 'key_release')\n",
- " this._key = null;\n",
- "\n",
- " var value = '';\n",
- " if (event.ctrlKey && event.which != 17)\n",
- " value += \"ctrl+\";\n",
- " if (event.altKey && event.which != 18)\n",
- " value += \"alt+\";\n",
- " if (event.shiftKey && event.which != 16)\n",
- " value += \"shift+\";\n",
- "\n",
- " value += 'k';\n",
- " value += event.which.toString();\n",
- "\n",
- " this._key_event_extra(event, name);\n",
- "\n",
- " this.send_message(name, {key: value,\n",
- " 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",
- "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\", \"Pan axes with left mouse, zoom with right\", \"fa fa-arrows icon-move\", \"pan\"], [\"Zoom\", \"Zoom to rectangle\", \"fa fa-square-o icon-check-empty\", \"zoom\"], [\"\", \"\", \"\", \"\"], [\"Download\", \"Download plot\", \"fa fa-floppy-o icon-save\", \"download\"]];\n",
- "\n",
- "mpl.extensions = [\"eps\", \"jpeg\", \"pdf\", \"png\", \"ps\", \"raw\", \"svg\", \"tif\"];\n",
- "\n",
- "mpl.default_extension = \"png\";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.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",
- " // Pass the mpl event to the overriden (by mpl) onmessage function.\n",
- " ws.onmessage(msg['content']['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 = $(\"#\" + id);\n",
- " var ws_proxy = comm_websocket_adapter(comm)\n",
- "\n",
- " function ondownload(figure, format) {\n",
- " window.open(figure.imageObj.src);\n",
- " }\n",
- "\n",
- " var fig = new mpl.figure(id, ws_proxy,\n",
- " ondownload,\n",
- " element.get(0));\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.get(0);\n",
- " fig.cell_info = mpl.find_output_cell(\"<div id='\" + id + \"'></div>\");\n",
- " if (!fig.cell_info) {\n",
- " console.error(\"Failed to find cell for figure\", id, fig);\n",
- " return;\n",
- " }\n",
- "\n",
- " var output_index = fig.cell_info[2]\n",
- " var cell = fig.cell_info[0];\n",
- "\n",
- "};\n",
- "\n",
- "mpl.figure.prototype.handle_close = function(fig, msg) {\n",
- " var width = fig.canvas.width/mpl.ratio\n",
- " fig.root.unbind('remove')\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).html('<img src=\"' + dataURL + '\" width=\"' + width + '\">');\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/mpl.ratio\n",
- " var dataURL = this.canvas.toDataURL();\n",
- " this.cell_info[1]['text/html'] = '<img src=\"' + dataURL + '\" width=\"' + width + '\">';\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 () { fig.push_to_output() }, 1000);\n",
- "}\n",
- "\n",
- "mpl.figure.prototype._init_toolbar = function() {\n",
- " var fig = this;\n",
- "\n",
- " var nav_element = $('<div/>')\n",
- " nav_element.attr('style', 'width: 100%');\n",
- " this.root.append(nav_element);\n",
- "\n",
- " // Define a callback function for later on.\n",
- " function toolbar_event(event) {\n",
- " return fig.toolbar_button_onclick(event['data']);\n",
- " }\n",
- " function toolbar_mouse_event(event) {\n",
- " return fig.toolbar_button_onmouseover(event['data']);\n",
- " }\n",
- "\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) { continue; };\n",
- "\n",
- " var button = $('<button class=\"btn btn-default\" href=\"#\" title=\"' + name + '\"><i class=\"fa ' + image + ' fa-lg\"></i></button>');\n",
- " button.click(method_name, toolbar_event);\n",
- " button.mouseover(tooltip, toolbar_mouse_event);\n",
- " nav_element.append(button);\n",
- " }\n",
- "\n",
- " // Add the status bar.\n",
- " var status_bar = $('<span class=\"mpl-message\" style=\"text-align:right; float: right;\"/>');\n",
- " nav_element.append(status_bar);\n",
- " this.message = status_bar[0];\n",
- "\n",
- " // Add the close button to the window.\n",
- " var buttongrp = $('<div class=\"btn-group inline pull-right\"></div>');\n",
- " var button = $('<button class=\"btn btn-mini btn-primary\" href=\"#\" title=\"Stop Interaction\"><i class=\"fa fa-power-off icon-remove icon-large\"></i></button>');\n",
- " button.click(function (evt) { fig.handle_close(fig, {}); } );\n",
- " button.mouseover('Stop Interaction', toolbar_mouse_event);\n",
- " buttongrp.append(button);\n",
- " var titlebar = this.root.find($('.ui-dialog-titlebar'));\n",
- " titlebar.prepend(buttongrp);\n",
- "}\n",
- "\n",
- "mpl.figure.prototype._root_extra_style = function(el){\n",
- " var fig = this\n",
- " el.on(\"remove\", function(){\n",
- "\tfig.close_ws(fig, {});\n",
- " });\n",
- "}\n",
- "\n",
- "mpl.figure.prototype._canvas_extra_style = function(el){\n",
- " // this is important to make the div 'focusable\n",
- " el.attr('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",
- " }\n",
- " else {\n",
- " // location in version 2\n",
- " IPython.keyboard_manager.register_events(el);\n",
- " }\n",
- "\n",
- "}\n",
- "\n",
- "mpl.figure.prototype._key_event_extra = function(event, name) {\n",
- " var manager = IPython.notebook.keyboard_manager;\n",
- " if (!manager)\n",
- " manager = IPython.keyboard_manager;\n",
- "\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",
- "\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('matplotlib', mpl.mpl_figure_comm);\n",
- "}\n"
- ],
- "text/plain": [
- "<IPython.core.display.Javascript object>"
- ]
- },
- "metadata": {},
- "output_type": "display_data"
- },
- {
- "data": {
- "text/html": [
- "<img src=\"data:image/png;base64,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\" width=\"640\">"
- ],
- "text/plain": [
- "<IPython.core.display.HTML object>"
- ]
- },
- "metadata": {},
- "output_type": "display_data"
- },
- {
- "data": {
- "application/javascript": [
- "/* Put everything inside the global mpl namespace */\n",
- "window.mpl = {};\n",
- "\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('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",
- "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 = $('<div/>');\n",
- " this._root_extra_style(this.root)\n",
- " this.root.attr('style', 'display: inline-block');\n",
- "\n",
- " $(parent_element).append(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 (mpl.ratio != 1) {\n",
- " fig.send_message(\"set_dpi_ratio\", {'dpi_ratio': mpl.ratio});\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",
- " this.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 = $(\n",
- " '<div class=\"ui-dialog-titlebar ui-widget-header ui-corner-all ' +\n",
- " 'ui-helper-clearfix\"/>');\n",
- " var titletext = $(\n",
- " '<div class=\"ui-dialog-title\" style=\"width: 100%; ' +\n",
- " 'text-align: center; padding: 3px;\"/>');\n",
- " titlebar.append(titletext)\n",
- " this.root.append(titlebar);\n",
- " this.header = titletext[0];\n",
- "}\n",
- "\n",
- "\n",
- "\n",
- "mpl.figure.prototype._canvas_extra_style = function(canvas_div) {\n",
- "\n",
- "}\n",
- "\n",
- "\n",
- "mpl.figure.prototype._root_extra_style = function(canvas_div) {\n",
- "\n",
- "}\n",
- "\n",
- "mpl.figure.prototype._init_canvas = function() {\n",
- " var fig = this;\n",
- "\n",
- " var canvas_div = $('<div/>');\n",
- "\n",
- " canvas_div.attr('style', 'position: relative; clear: both; outline: 0');\n",
- "\n",
- " function canvas_keyboard_event(event) {\n",
- " return fig.key_event(event, event['data']);\n",
- " }\n",
- "\n",
- " canvas_div.keydown('key_press', canvas_keyboard_event);\n",
- " canvas_div.keyup('key_release', canvas_keyboard_event);\n",
- " this.canvas_div = canvas_div\n",
- " this._canvas_extra_style(canvas_div)\n",
- " this.root.append(canvas_div);\n",
- "\n",
- " var canvas = $('<canvas/>');\n",
- " canvas.addClass('mpl-canvas');\n",
- " canvas.attr('style', \"left: 0; top: 0; z-index: 0; outline: 0\")\n",
- "\n",
- " this.canvas = canvas[0];\n",
- " this.context = canvas[0].getContext(\"2d\");\n",
- "\n",
- " var backingStore = this.context.backingStorePixelRatio ||\n",
- "\tthis.context.webkitBackingStorePixelRatio ||\n",
- "\tthis.context.mozBackingStorePixelRatio ||\n",
- "\tthis.context.msBackingStorePixelRatio ||\n",
- "\tthis.context.oBackingStorePixelRatio ||\n",
- "\tthis.context.backingStorePixelRatio || 1;\n",
- "\n",
- " mpl.ratio = (window.devicePixelRatio || 1) / backingStore;\n",
- "\n",
- " var rubberband = $('<canvas/>');\n",
- " rubberband.attr('style', \"position: absolute; left: 0; top: 0; z-index: 1;\")\n",
- "\n",
- " var pass_mouse_events = true;\n",
- "\n",
- " canvas_div.resizable({\n",
- " start: function(event, ui) {\n",
- " pass_mouse_events = false;\n",
- " },\n",
- " resize: function(event, ui) {\n",
- " fig.request_resize(ui.size.width, ui.size.height);\n",
- " },\n",
- " stop: function(event, ui) {\n",
- " pass_mouse_events = true;\n",
- " fig.request_resize(ui.size.width, ui.size.height);\n",
- " },\n",
- " });\n",
- "\n",
- " function mouse_event_fn(event) {\n",
- " if (pass_mouse_events)\n",
- " return fig.mouse_event(event, event['data']);\n",
- " }\n",
- "\n",
- " rubberband.mousedown('button_press', mouse_event_fn);\n",
- " rubberband.mouseup('button_release', mouse_event_fn);\n",
- " // Throttle sequential mouse events to 1 every 20ms.\n",
- " rubberband.mousemove('motion_notify', mouse_event_fn);\n",
- "\n",
- " rubberband.mouseenter('figure_enter', mouse_event_fn);\n",
- " rubberband.mouseleave('figure_leave', mouse_event_fn);\n",
- "\n",
- " canvas_div.on(\"wheel\", function (event) {\n",
- " event = event.originalEvent;\n",
- " event['data'] = 'scroll'\n",
- " if (event.deltaY < 0) {\n",
- " event.step = 1;\n",
- " } else {\n",
- " event.step = -1;\n",
- " }\n",
- " mouse_event_fn(event);\n",
- " });\n",
- "\n",
- " canvas_div.append(canvas);\n",
- " canvas_div.append(rubberband);\n",
- "\n",
- " this.rubberband = rubberband;\n",
- " this.rubberband_canvas = rubberband[0];\n",
- " this.rubberband_context = rubberband[0].getContext(\"2d\");\n",
- " this.rubberband_context.strokeStyle = \"#000000\";\n",
- "\n",
- " this._resize_canvas = function(width, height) {\n",
- " // Keep the size of the canvas, canvas container, and rubber band\n",
- " // canvas in synch.\n",
- " canvas_div.css('width', width)\n",
- " canvas_div.css('height', height)\n",
- "\n",
- " canvas.attr('width', width * mpl.ratio);\n",
- " canvas.attr('height', height * mpl.ratio);\n",
- " canvas.attr('style', 'width: ' + width + 'px; height: ' + height + 'px;');\n",
- "\n",
- " rubberband.attr('width', width);\n",
- " rubberband.attr('height', height);\n",
- " }\n",
- "\n",
- " // Set the figure to an initial 600x600px, this will subsequently be updated\n",
- " // upon first draw.\n",
- " this._resize_canvas(600, 600);\n",
- "\n",
- " // Disable right mouse context menu.\n",
- " $(this.rubberband_canvas).bind(\"contextmenu\",function(e){\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 nav_element = $('<div/>')\n",
- " nav_element.attr('style', 'width: 100%');\n",
- " this.root.append(nav_element);\n",
- "\n",
- " // Define a callback function for later on.\n",
- " function toolbar_event(event) {\n",
- " return fig.toolbar_button_onclick(event['data']);\n",
- " }\n",
- " function toolbar_mouse_event(event) {\n",
- " return fig.toolbar_button_onmouseover(event['data']);\n",
- " }\n",
- "\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",
- " // put a spacer in here.\n",
- " continue;\n",
- " }\n",
- " var button = $('<button/>');\n",
- " button.addClass('ui-button ui-widget ui-state-default ui-corner-all ' +\n",
- " 'ui-button-icon-only');\n",
- " button.attr('role', 'button');\n",
- " button.attr('aria-disabled', 'false');\n",
- " button.click(method_name, toolbar_event);\n",
- " button.mouseover(tooltip, toolbar_mouse_event);\n",
- "\n",
- " var icon_img = $('<span/>');\n",
- " icon_img.addClass('ui-button-icon-primary ui-icon');\n",
- " icon_img.addClass(image);\n",
- " icon_img.addClass('ui-corner-all');\n",
- "\n",
- " var tooltip_span = $('<span/>');\n",
- " tooltip_span.addClass('ui-button-text');\n",
- " tooltip_span.html(tooltip);\n",
- "\n",
- " button.append(icon_img);\n",
- " button.append(tooltip_span);\n",
- "\n",
- " nav_element.append(button);\n",
- " }\n",
- "\n",
- " var fmt_picker_span = $('<span/>');\n",
- "\n",
- " var fmt_picker = $('<select/>');\n",
- " fmt_picker.addClass('mpl-toolbar-option ui-widget ui-widget-content');\n",
- " fmt_picker_span.append(fmt_picker);\n",
- " nav_element.append(fmt_picker_span);\n",
- " this.format_dropdown = fmt_picker[0];\n",
- "\n",
- " for (var ind in mpl.extensions) {\n",
- " var fmt = mpl.extensions[ind];\n",
- " var option = $(\n",
- " '<option/>', {selected: fmt === mpl.default_extension}).html(fmt);\n",
- " fmt_picker.append(option)\n",
- " }\n",
- "\n",
- " // Add hover states to the ui-buttons\n",
- " $( \".ui-button\" ).hover(\n",
- " function() { $(this).addClass(\"ui-state-hover\");},\n",
- " function() { $(this).removeClass(\"ui-state-hover\");}\n",
- " );\n",
- "\n",
- " var status_bar = $('<span class=\"mpl-message\"/>');\n",
- " nav_element.append(status_bar);\n",
- " this.message = status_bar[0];\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",
- "\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",
- "\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]);\n",
- " fig.send_message(\"refresh\", {});\n",
- " };\n",
- "}\n",
- "\n",
- "mpl.figure.prototype.handle_rubberband = function(fig, msg) {\n",
- " var x0 = msg['x0'] / mpl.ratio;\n",
- " var y0 = (fig.canvas.height - msg['y0']) / mpl.ratio;\n",
- " var x1 = msg['x1'] / mpl.ratio;\n",
- " var y1 = (fig.canvas.height - msg['y1']) / mpl.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, 0, fig.canvas.width, fig.canvas.height);\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",
- " var cursor = msg['cursor'];\n",
- " switch(cursor)\n",
- " {\n",
- " case 0:\n",
- " cursor = 'pointer';\n",
- " break;\n",
- " case 1:\n",
- " cursor = 'default';\n",
- " break;\n",
- " case 2:\n",
- " cursor = 'crosshair';\n",
- " break;\n",
- " case 3:\n",
- " cursor = 'move';\n",
- " break;\n",
- " }\n",
- " fig.rubberband_canvas.style.cursor = 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.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",
- " /* 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",
- " evt.data.type = \"image/png\";\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",
- " fig.imageObj.src = (window.URL || window.webkitURL).createObjectURL(\n",
- " evt.data);\n",
- " fig.updated_canvas_event();\n",
- " fig.waiting = false;\n",
- " return;\n",
- " }\n",
- " else if (typeof evt.data === 'string' && evt.data.slice(0, 21) == \"data:image/png;base64\") {\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(\"No handler for the '\" + msg_type + \"' message type: \", msg);\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(\"Exception inside the 'handler_\" + msg_type + \"' callback:\", e, e.stack, msg);\n",
- " }\n",
- " }\n",
- " };\n",
- "}\n",
- "\n",
- "// from http://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",
- " if (e.target)\n",
- " targ = e.target;\n",
- " else if (e.srcElement)\n",
- " targ = e.srcElement;\n",
- " if (targ.nodeType == 3) // defeat Safari bug\n",
- " targ = targ.parentNode;\n",
- "\n",
- " // jQuery normalizes the pageX and pageY\n",
- " // pageX,Y are the mouse positions relative to the document\n",
- " // offset() returns the position of the element relative to the document\n",
- " var x = e.pageX - $(targ).offset().left;\n",
- " var y = e.pageY - $(targ).offset().top;\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",
- " * http://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",
- " 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",
- " {\n",
- " this.canvas.focus();\n",
- " this.canvas_div.focus();\n",
- " }\n",
- "\n",
- " var x = canvas_pos.x * mpl.ratio;\n",
- " var y = canvas_pos.y * mpl.ratio;\n",
- "\n",
- " this.send_message(name, {x: x, y: y, button: event.button,\n",
- " step: event.step,\n",
- " guiEvent: simpleKeys(event)});\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",
- "\n",
- " // Prevent repeat events\n",
- " if (name == 'key_press')\n",
- " {\n",
- " if (event.which === this._key)\n",
- " return;\n",
- " else\n",
- " this._key = event.which;\n",
- " }\n",
- " if (name == 'key_release')\n",
- " this._key = null;\n",
- "\n",
- " var value = '';\n",
- " if (event.ctrlKey && event.which != 17)\n",
- " value += \"ctrl+\";\n",
- " if (event.altKey && event.which != 18)\n",
- " value += \"alt+\";\n",
- " if (event.shiftKey && event.which != 16)\n",
- " value += \"shift+\";\n",
- "\n",
- " value += 'k';\n",
- " value += event.which.toString();\n",
- "\n",
- " this._key_event_extra(event, name);\n",
- "\n",
- " this.send_message(name, {key: value,\n",
- " 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",
- "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\", \"Pan axes with left mouse, zoom with right\", \"fa fa-arrows icon-move\", \"pan\"], [\"Zoom\", \"Zoom to rectangle\", \"fa fa-square-o icon-check-empty\", \"zoom\"], [\"\", \"\", \"\", \"\"], [\"Download\", \"Download plot\", \"fa fa-floppy-o icon-save\", \"download\"]];\n",
- "\n",
- "mpl.extensions = [\"eps\", \"jpeg\", \"pdf\", \"png\", \"ps\", \"raw\", \"svg\", \"tif\"];\n",
- "\n",
- "mpl.default_extension = \"png\";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.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",
- " // Pass the mpl event to the overriden (by mpl) onmessage function.\n",
- " ws.onmessage(msg['content']['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 = $(\"#\" + id);\n",
- " var ws_proxy = comm_websocket_adapter(comm)\n",
- "\n",
- " function ondownload(figure, format) {\n",
- " window.open(figure.imageObj.src);\n",
- " }\n",
- "\n",
- " var fig = new mpl.figure(id, ws_proxy,\n",
- " ondownload,\n",
- " element.get(0));\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.get(0);\n",
- " fig.cell_info = mpl.find_output_cell(\"<div id='\" + id + \"'></div>\");\n",
- " if (!fig.cell_info) {\n",
- " console.error(\"Failed to find cell for figure\", id, fig);\n",
- " return;\n",
- " }\n",
- "\n",
- " var output_index = fig.cell_info[2]\n",
- " var cell = fig.cell_info[0];\n",
- "\n",
- "};\n",
- "\n",
- "mpl.figure.prototype.handle_close = function(fig, msg) {\n",
- " var width = fig.canvas.width/mpl.ratio\n",
- " fig.root.unbind('remove')\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).html('<img src=\"' + dataURL + '\" width=\"' + width + '\">');\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/mpl.ratio\n",
- " var dataURL = this.canvas.toDataURL();\n",
- " this.cell_info[1]['text/html'] = '<img src=\"' + dataURL + '\" width=\"' + width + '\">';\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 () { fig.push_to_output() }, 1000);\n",
- "}\n",
- "\n",
- "mpl.figure.prototype._init_toolbar = function() {\n",
- " var fig = this;\n",
- "\n",
- " var nav_element = $('<div/>')\n",
- " nav_element.attr('style', 'width: 100%');\n",
- " this.root.append(nav_element);\n",
- "\n",
- " // Define a callback function for later on.\n",
- " function toolbar_event(event) {\n",
- " return fig.toolbar_button_onclick(event['data']);\n",
- " }\n",
- " function toolbar_mouse_event(event) {\n",
- " return fig.toolbar_button_onmouseover(event['data']);\n",
- " }\n",
- "\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) { continue; };\n",
- "\n",
- " var button = $('<button class=\"btn btn-default\" href=\"#\" title=\"' + name + '\"><i class=\"fa ' + image + ' fa-lg\"></i></button>');\n",
- " button.click(method_name, toolbar_event);\n",
- " button.mouseover(tooltip, toolbar_mouse_event);\n",
- " nav_element.append(button);\n",
- " }\n",
- "\n",
- " // Add the status bar.\n",
- " var status_bar = $('<span class=\"mpl-message\" style=\"text-align:right; float: right;\"/>');\n",
- " nav_element.append(status_bar);\n",
- " this.message = status_bar[0];\n",
- "\n",
- " // Add the close button to the window.\n",
- " var buttongrp = $('<div class=\"btn-group inline pull-right\"></div>');\n",
- " var button = $('<button class=\"btn btn-mini btn-primary\" href=\"#\" title=\"Stop Interaction\"><i class=\"fa fa-power-off icon-remove icon-large\"></i></button>');\n",
- " button.click(function (evt) { fig.handle_close(fig, {}); } );\n",
- " button.mouseover('Stop Interaction', toolbar_mouse_event);\n",
- " buttongrp.append(button);\n",
- " var titlebar = this.root.find($('.ui-dialog-titlebar'));\n",
- " titlebar.prepend(buttongrp);\n",
- "}\n",
- "\n",
- "mpl.figure.prototype._root_extra_style = function(el){\n",
- " var fig = this\n",
- " el.on(\"remove\", function(){\n",
- "\tfig.close_ws(fig, {});\n",
- " });\n",
- "}\n",
- "\n",
- "mpl.figure.prototype._canvas_extra_style = function(el){\n",
- " // this is important to make the div 'focusable\n",
- " el.attr('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",
- " }\n",
- " else {\n",
- " // location in version 2\n",
- " IPython.keyboard_manager.register_events(el);\n",
- " }\n",
- "\n",
- "}\n",
- "\n",
- "mpl.figure.prototype._key_event_extra = function(event, name) {\n",
- " var manager = IPython.notebook.keyboard_manager;\n",
- " if (!manager)\n",
- " manager = IPython.keyboard_manager;\n",
- "\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",
- "\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('matplotlib', mpl.mpl_figure_comm);\n",
- "}\n"
- ],
- "text/plain": [
- "<IPython.core.display.Javascript object>"
- ]
- },
- "metadata": {},
- "output_type": "display_data"
- },
- {
- "data": {
- "text/html": [
- "<img src=\"data:image/png;base64,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\" width=\"640\">"
- ],
- "text/plain": [
- "<IPython.core.display.HTML object>"
- ]
- },
- "metadata": {},
- "output_type": "display_data"
- }
- ],
+ "outputs": [],
"source": [
"#Ad hoc\n",
"option_delta = Index.from_name('IG', 29, '5yr')\n",
@@ -2427,234 +55,18 @@
},
{
"cell_type": "code",
- "execution_count": 92,
+ "execution_count": null,
"metadata": {},
- "outputs": [
- {
- "data": {
- "text/html": [
- "Portfolio 2017-12-18\n",
- "\n",
- "<table border=\"1\" class=\"dataframe\">\n",
- " <thead>\n",
- " <tr style=\"text-align: right;\">\n",
- " <th>Product</th>\n",
- " <th>Index</th>\n",
- " <th>Notional</th>\n",
- " <th>Ref</th>\n",
- " <th>Strike</th>\n",
- " <th>Direction</th>\n",
- " <th>Expiry</th>\n",
- " <th>Vol</th>\n",
- " <th>PV</th>\n",
- " <th>Delta</th>\n",
- " <th>Gamma</th>\n",
- " <th>Theta</th>\n",
- " <th>Vega</th>\n",
- " </tr>\n",
- " </thead>\n",
- " <tbody>\n",
- " <tr>\n",
- " <td>Swaption</td>\n",
- " <td>IG29 5yr</td>\n",
- " <td>100,000,000.00</td>\n",
- " <td>50.00</td>\n",
- " <td>55</td>\n",
- " <td>Long</td>\n",
- " <td>2018-02-21</td>\n",
- " <td>38.00%</td>\n",
- " <td>95,836.17</td>\n",
- " <td>41.41%</td>\n",
- " <td>45.80%</td>\n",
- " <td>-1,117.14</td>\n",
- " <td>3,829.31</td>\n",
- " </tr>\n",
- " <tr>\n",
- " <td>Swaption</td>\n",
- " <td>IG29 5yr</td>\n",
- " <td>200,000,000.00</td>\n",
- " <td>50.00</td>\n",
- " <td>67.5</td>\n",
- " <td>Short</td>\n",
- " <td>2018-02-21</td>\n",
- " <td>61.00%</td>\n",
- " <td>-109,835.19</td>\n",
- " <td>-19.37%</td>\n",
- " <td>-20.88%</td>\n",
- " <td>2,487.79</td>\n",
- " <td>-5,367.41</td>\n",
- " </tr>\n",
- " <tr>\n",
- " <td>Swaption</td>\n",
- " <td>IG29 5yr</td>\n",
- " <td>1.00</td>\n",
- " <td>50.00</td>\n",
- " <td>80</td>\n",
- " <td>Long</td>\n",
- " <td>2018-02-21</td>\n",
- " <td>69.00%</td>\n",
- " <td>0.00</td>\n",
- " <td>9.41%</td>\n",
- " <td>11.39%</td>\n",
- " <td>-0.00</td>\n",
- " <td>0.00</td>\n",
- " </tr>\n",
- " <tr>\n",
- " <td>Index</td>\n",
- " <td>IG29 5yr</td>\n",
- " <td>2,671,159.95</td>\n",
- " <td>50.00</td>\n",
- " <td>N/A</td>\n",
- " <td>Seller</td>\n",
- " <td>N/A</td>\n",
- " <td>N/A</td>\n",
- " <td>69,548.44</td>\n",
- " <td>100.00%</td>\n",
- " <td>0.00%</td>\n",
- " <td>41.02</td>\n",
- " <td>0.00</td>\n",
- " </tr>\n",
- " </tbody>\n",
- "</table>"
- ],
- "text/plain": [
- "Portfolio 2017-12-18\n",
- "\n",
- "Product Index Notional Ref Strike Direction Expiry Vol PV Delta \\\n",
- "Swaption IG29 5yr 100,000,000.00 50.00 55 Long 2018-02-21 38.00% 95,836.17 41.41% \n",
- "Swaption IG29 5yr 200,000,000.00 50.00 67.5 Short 2018-02-21 61.00% -109,835.19 -19.37% \n",
- "Swaption IG29 5yr 1.00 50.00 80 Long 2018-02-21 69.00% 0.00 9.41% \n",
- " Index IG29 5yr 2,671,159.95 50.00 N/A Seller N/A N/A 69,548.44 100.00% \n",
- "\n",
- " Gamma Theta Vega \n",
- "45.80% -1,117.14 3,829.31 \n",
- "-20.88% 2,487.79 -5,367.41 \n",
- "11.39% -0.00 0.00 \n",
- " 0.00% 41.02 0.00"
- ]
- },
- "execution_count": 92,
- "metadata": {},
- "output_type": "execute_result"
- }
- ],
+ "outputs": [],
"source": [
"portf"
]
},
{
"cell_type": "code",
- "execution_count": 101,
+ "execution_count": null,
"metadata": {},
- "outputs": [
- {
- "data": {
- "text/html": [
- "Portfolio 2018-02-01\n",
- "\n",
- "<table border=\"1\" class=\"dataframe\">\n",
- " <thead>\n",
- " <tr style=\"text-align: right;\">\n",
- " <th>Product</th>\n",
- " <th>Index</th>\n",
- " <th>Notional</th>\n",
- " <th>Ref</th>\n",
- " <th>Strike</th>\n",
- " <th>Direction</th>\n",
- " <th>Expiry</th>\n",
- " <th>Vol</th>\n",
- " <th>PV</th>\n",
- " <th>Delta</th>\n",
- " <th>Gamma</th>\n",
- " <th>Theta</th>\n",
- " <th>Vega</th>\n",
- " </tr>\n",
- " </thead>\n",
- " <tbody>\n",
- " <tr>\n",
- " <td>Swaption</td>\n",
- " <td>IG29 5yr</td>\n",
- " <td>100,000,000.00</td>\n",
- " <td>52.00</td>\n",
- " <td>55</td>\n",
- " <td>Long</td>\n",
- " <td>2018-02-21</td>\n",
- " <td>38.00%</td>\n",
- " <td>42,176.72</td>\n",
- " <td>35.74%</td>\n",
- " <td>68.09%</td>\n",
- " <td>-1,901.54</td>\n",
- " <td>2,014.90</td>\n",
- " </tr>\n",
- " <tr>\n",
- " <td>Swaption</td>\n",
- " <td>IG29 5yr</td>\n",
- " <td>200,000,000.00</td>\n",
- " <td>52.00</td>\n",
- " <td>67.5</td>\n",
- " <td>Short</td>\n",
- " <td>2018-02-21</td>\n",
- " <td>61.00%</td>\n",
- " <td>-12,351.93</td>\n",
- " <td>-5.24%</td>\n",
- " <td>-15.28%</td>\n",
- " <td>1,591.11</td>\n",
- " <td>-1,112.36</td>\n",
- " </tr>\n",
- " <tr>\n",
- " <td>Swaption</td>\n",
- " <td>IG29 5yr</td>\n",
- " <td>1.00</td>\n",
- " <td>52.00</td>\n",
- " <td>80</td>\n",
- " <td>Long</td>\n",
- " <td>2018-02-21</td>\n",
- " <td>46.00%</td>\n",
- " <td>0.00</td>\n",
- " <td>0.01%</td>\n",
- " <td>0.18%</td>\n",
- " <td>-0.00</td>\n",
- " <td>0.00</td>\n",
- " </tr>\n",
- " <tr>\n",
- " <td>Index</td>\n",
- " <td>IG29 5yr</td>\n",
- " <td>2,671,159.95</td>\n",
- " <td>52.00</td>\n",
- " <td>N/A</td>\n",
- " <td>Seller</td>\n",
- " <td>N/A</td>\n",
- " <td>N/A</td>\n",
- " <td>62,152.51</td>\n",
- " <td>100.00%</td>\n",
- " <td>0.00%</td>\n",
- " <td>32.75</td>\n",
- " <td>0.00</td>\n",
- " </tr>\n",
- " </tbody>\n",
- "</table>"
- ],
- "text/plain": [
- "Portfolio 2018-02-01\n",
- "\n",
- "Product Index Notional Ref Strike Direction Expiry Vol PV Delta \\\n",
- "Swaption IG29 5yr 100,000,000.00 52.00 55 Long 2018-02-21 38.00% 42,176.72 35.74% \n",
- "Swaption IG29 5yr 200,000,000.00 52.00 67.5 Short 2018-02-21 61.00% -12,351.93 -5.24% \n",
- "Swaption IG29 5yr 1.00 52.00 80 Long 2018-02-21 46.00% 0.00 0.01% \n",
- " Index IG29 5yr 2,671,159.95 52.00 N/A Seller N/A N/A 62,152.51 100.00% \n",
- "\n",
- " Gamma Theta Vega \n",
- "68.09% -1,901.54 2,014.90 \n",
- "-15.28% 1,591.11 -1,112.36 \n",
- " 0.18% -0.00 0.00 \n",
- " 0.00% 32.75 0.00"
- ]
- },
- "execution_count": 101,
- "metadata": {},
- "output_type": "execute_result"
- }
- ],
+ "outputs": [],
"source": [
"portf.trade_date = datetime.date(2018,2,1)\n",
"portf.ref = 52\n",
@@ -2669,117 +81,9 @@
},
{
"cell_type": "code",
- "execution_count": 79,
+ "execution_count": null,
"metadata": {},
- "outputs": [
- {
- "data": {
- "text/html": [
- "Portfolio 2018-01-16\n",
- "\n",
- "<table border=\"1\" class=\"dataframe\">\n",
- " <thead>\n",
- " <tr style=\"text-align: right;\">\n",
- " <th>Product</th>\n",
- " <th>Index</th>\n",
- " <th>Notional</th>\n",
- " <th>Ref</th>\n",
- " <th>Strike</th>\n",
- " <th>Direction</th>\n",
- " <th>Expiry</th>\n",
- " <th>Vol</th>\n",
- " <th>PV</th>\n",
- " <th>Delta</th>\n",
- " <th>Gamma</th>\n",
- " <th>Theta</th>\n",
- " <th>Vega</th>\n",
- " </tr>\n",
- " </thead>\n",
- " <tbody>\n",
- " <tr>\n",
- " <td>Swaption</td>\n",
- " <td>IG29 5yr</td>\n",
- " <td>100,000,000.00</td>\n",
- " <td>66.00</td>\n",
- " <td>55</td>\n",
- " <td>Long</td>\n",
- " <td>2018-02-21</td>\n",
- " <td>25.00%</td>\n",
- " <td>570,031.76</td>\n",
- " <td>99.70%</td>\n",
- " <td>3.98%</td>\n",
- " <td>-35.39</td>\n",
- " <td>122.60</td>\n",
- " </tr>\n",
- " <tr>\n",
- " <td>Swaption</td>\n",
- " <td>IG29 5yr</td>\n",
- " <td>200,000,000.00</td>\n",
- " <td>66.00</td>\n",
- " <td>67.5</td>\n",
- " <td>Short</td>\n",
- " <td>2018-02-21</td>\n",
- " <td>31.00%</td>\n",
- " <td>-233,853.59</td>\n",
- " <td>-54.47%</td>\n",
- " <td>-56.34%</td>\n",
- " <td>3,288.26</td>\n",
- " <td>-7,636.47</td>\n",
- " </tr>\n",
- " <tr>\n",
- " <td>Swaption</td>\n",
- " <td>IG29 5yr</td>\n",
- " <td>100,000,000.00</td>\n",
- " <td>66.00</td>\n",
- " <td>80</td>\n",
- " <td>Long</td>\n",
- " <td>2018-02-21</td>\n",
- " <td>46.00%</td>\n",
- " <td>27,654.16</td>\n",
- " <td>14.31%</td>\n",
- " <td>23.29%</td>\n",
- " <td>-1,300.06</td>\n",
- " <td>2,085.89</td>\n",
- " </tr>\n",
- " <tr>\n",
- " <td>Index</td>\n",
- " <td>IG29 5yr</td>\n",
- " <td>14,735,263.02</td>\n",
- " <td>66.00</td>\n",
- " <td>N/A</td>\n",
- " <td>Seller</td>\n",
- " <td>N/A</td>\n",
- " <td>N/A</td>\n",
- " <td>242,206.53</td>\n",
- " <td>100.00%</td>\n",
- " <td>0.00%</td>\n",
- " <td>306.39</td>\n",
- " <td>0.00</td>\n",
- " </tr>\n",
- " </tbody>\n",
- "</table>"
- ],
- "text/plain": [
- "Portfolio 2018-01-16\n",
- "\n",
- "Product Index Notional Ref Strike Direction Expiry Vol PV Delta \\\n",
- "Swaption IG29 5yr 100,000,000.00 66.00 55 Long 2018-02-21 25.00% 570,031.76 99.70% \n",
- "Swaption IG29 5yr 200,000,000.00 66.00 67.5 Short 2018-02-21 31.00% -233,853.59 -54.47% \n",
- "Swaption IG29 5yr 100,000,000.00 66.00 80 Long 2018-02-21 46.00% 27,654.16 14.31% \n",
- " Index IG29 5yr 14,735,263.02 66.00 N/A Seller N/A N/A 242,206.53 100.00% \n",
- "\n",
- " Gamma Theta Vega \n",
- " 3.98% -35.39 122.60 \n",
- "-56.34% 3,288.26 -7,636.47 \n",
- "23.29% -1,300.06 2,085.89 \n",
- " 0.00% 306.39 0.00"
- ]
- },
- "execution_count": 79,
- "metadata": {},
- "output_type": "execute_result"
- }
- ],
+ "outputs": [],
"source": [
"df.spread = df.spread.round(2)\n",
"df1= df.set_index('spread', append=True)\n",
@@ -2789,9 +93,7 @@
{
"cell_type": "code",
"execution_count": null,
- "metadata": {
- "collapsed": true
- },
+ "metadata": {},
"outputs": [],
"source": [
"#Dec Jan 2017 Trade\n",
@@ -2805,9 +107,7 @@
{
"cell_type": "code",
"execution_count": null,
- "metadata": {
- "collapsed": true
- },
+ "metadata": {},
"outputs": [],
"source": [
"#Feb 2017: Sell May Buy April Calendar Trade\n",
@@ -2821,9 +121,7 @@
{
"cell_type": "code",
"execution_count": null,
- "metadata": {
- "collapsed": true
- },
+ "metadata": {},
"outputs": [],
"source": [
"#April 2017: Sell May Buy June Calendar Trade\n",
@@ -2837,9 +135,7 @@
{
"cell_type": "code",
"execution_count": null,
- "metadata": {
- "collapsed": true
- },
+ "metadata": {},
"outputs": [],
"source": [
"#June July 2017 Calendar Trade\n",
@@ -2859,9 +155,7 @@
{
"cell_type": "code",
"execution_count": null,
- "metadata": {
- "collapsed": true
- },
+ "metadata": {},
"outputs": [],
"source": [
"#July 2017: Buy Sept HY payer spread\n",
@@ -2874,3166 +168,9 @@
},
{
"cell_type": "code",
- "execution_count": 84,
+ "execution_count": null,
"metadata": {},
- "outputs": [
- {
- "data": {
- "application/javascript": [
- "/* Put everything inside the global mpl namespace */\n",
- "window.mpl = {};\n",
- "\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('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",
- "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 = $('<div/>');\n",
- " this._root_extra_style(this.root)\n",
- " this.root.attr('style', 'display: inline-block');\n",
- "\n",
- " $(parent_element).append(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 (mpl.ratio != 1) {\n",
- " fig.send_message(\"set_dpi_ratio\", {'dpi_ratio': mpl.ratio});\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",
- " this.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 = $(\n",
- " '<div class=\"ui-dialog-titlebar ui-widget-header ui-corner-all ' +\n",
- " 'ui-helper-clearfix\"/>');\n",
- " var titletext = $(\n",
- " '<div class=\"ui-dialog-title\" style=\"width: 100%; ' +\n",
- " 'text-align: center; padding: 3px;\"/>');\n",
- " titlebar.append(titletext)\n",
- " this.root.append(titlebar);\n",
- " this.header = titletext[0];\n",
- "}\n",
- "\n",
- "\n",
- "\n",
- "mpl.figure.prototype._canvas_extra_style = function(canvas_div) {\n",
- "\n",
- "}\n",
- "\n",
- "\n",
- "mpl.figure.prototype._root_extra_style = function(canvas_div) {\n",
- "\n",
- "}\n",
- "\n",
- "mpl.figure.prototype._init_canvas = function() {\n",
- " var fig = this;\n",
- "\n",
- " var canvas_div = $('<div/>');\n",
- "\n",
- " canvas_div.attr('style', 'position: relative; clear: both; outline: 0');\n",
- "\n",
- " function canvas_keyboard_event(event) {\n",
- " return fig.key_event(event, event['data']);\n",
- " }\n",
- "\n",
- " canvas_div.keydown('key_press', canvas_keyboard_event);\n",
- " canvas_div.keyup('key_release', canvas_keyboard_event);\n",
- " this.canvas_div = canvas_div\n",
- " this._canvas_extra_style(canvas_div)\n",
- " this.root.append(canvas_div);\n",
- "\n",
- " var canvas = $('<canvas/>');\n",
- " canvas.addClass('mpl-canvas');\n",
- " canvas.attr('style', \"left: 0; top: 0; z-index: 0; outline: 0\")\n",
- "\n",
- " this.canvas = canvas[0];\n",
- " this.context = canvas[0].getContext(\"2d\");\n",
- "\n",
- " var backingStore = this.context.backingStorePixelRatio ||\n",
- "\tthis.context.webkitBackingStorePixelRatio ||\n",
- "\tthis.context.mozBackingStorePixelRatio ||\n",
- "\tthis.context.msBackingStorePixelRatio ||\n",
- "\tthis.context.oBackingStorePixelRatio ||\n",
- "\tthis.context.backingStorePixelRatio || 1;\n",
- "\n",
- " mpl.ratio = (window.devicePixelRatio || 1) / backingStore;\n",
- "\n",
- " var rubberband = $('<canvas/>');\n",
- " rubberband.attr('style', \"position: absolute; left: 0; top: 0; z-index: 1;\")\n",
- "\n",
- " var pass_mouse_events = true;\n",
- "\n",
- " canvas_div.resizable({\n",
- " start: function(event, ui) {\n",
- " pass_mouse_events = false;\n",
- " },\n",
- " resize: function(event, ui) {\n",
- " fig.request_resize(ui.size.width, ui.size.height);\n",
- " },\n",
- " stop: function(event, ui) {\n",
- " pass_mouse_events = true;\n",
- " fig.request_resize(ui.size.width, ui.size.height);\n",
- " },\n",
- " });\n",
- "\n",
- " function mouse_event_fn(event) {\n",
- " if (pass_mouse_events)\n",
- " return fig.mouse_event(event, event['data']);\n",
- " }\n",
- "\n",
- " rubberband.mousedown('button_press', mouse_event_fn);\n",
- " rubberband.mouseup('button_release', mouse_event_fn);\n",
- " // Throttle sequential mouse events to 1 every 20ms.\n",
- " rubberband.mousemove('motion_notify', mouse_event_fn);\n",
- "\n",
- " rubberband.mouseenter('figure_enter', mouse_event_fn);\n",
- " rubberband.mouseleave('figure_leave', mouse_event_fn);\n",
- "\n",
- " canvas_div.on(\"wheel\", function (event) {\n",
- " event = event.originalEvent;\n",
- " event['data'] = 'scroll'\n",
- " if (event.deltaY < 0) {\n",
- " event.step = 1;\n",
- " } else {\n",
- " event.step = -1;\n",
- " }\n",
- " mouse_event_fn(event);\n",
- " });\n",
- "\n",
- " canvas_div.append(canvas);\n",
- " canvas_div.append(rubberband);\n",
- "\n",
- " this.rubberband = rubberband;\n",
- " this.rubberband_canvas = rubberband[0];\n",
- " this.rubberband_context = rubberband[0].getContext(\"2d\");\n",
- " this.rubberband_context.strokeStyle = \"#000000\";\n",
- "\n",
- " this._resize_canvas = function(width, height) {\n",
- " // Keep the size of the canvas, canvas container, and rubber band\n",
- " // canvas in synch.\n",
- " canvas_div.css('width', width)\n",
- " canvas_div.css('height', height)\n",
- "\n",
- " canvas.attr('width', width * mpl.ratio);\n",
- " canvas.attr('height', height * mpl.ratio);\n",
- " canvas.attr('style', 'width: ' + width + 'px; height: ' + height + 'px;');\n",
- "\n",
- " rubberband.attr('width', width);\n",
- " rubberband.attr('height', height);\n",
- " }\n",
- "\n",
- " // Set the figure to an initial 600x600px, this will subsequently be updated\n",
- " // upon first draw.\n",
- " this._resize_canvas(600, 600);\n",
- "\n",
- " // Disable right mouse context menu.\n",
- " $(this.rubberband_canvas).bind(\"contextmenu\",function(e){\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 nav_element = $('<div/>')\n",
- " nav_element.attr('style', 'width: 100%');\n",
- " this.root.append(nav_element);\n",
- "\n",
- " // Define a callback function for later on.\n",
- " function toolbar_event(event) {\n",
- " return fig.toolbar_button_onclick(event['data']);\n",
- " }\n",
- " function toolbar_mouse_event(event) {\n",
- " return fig.toolbar_button_onmouseover(event['data']);\n",
- " }\n",
- "\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",
- " // put a spacer in here.\n",
- " continue;\n",
- " }\n",
- " var button = $('<button/>');\n",
- " button.addClass('ui-button ui-widget ui-state-default ui-corner-all ' +\n",
- " 'ui-button-icon-only');\n",
- " button.attr('role', 'button');\n",
- " button.attr('aria-disabled', 'false');\n",
- " button.click(method_name, toolbar_event);\n",
- " button.mouseover(tooltip, toolbar_mouse_event);\n",
- "\n",
- " var icon_img = $('<span/>');\n",
- " icon_img.addClass('ui-button-icon-primary ui-icon');\n",
- " icon_img.addClass(image);\n",
- " icon_img.addClass('ui-corner-all');\n",
- "\n",
- " var tooltip_span = $('<span/>');\n",
- " tooltip_span.addClass('ui-button-text');\n",
- " tooltip_span.html(tooltip);\n",
- "\n",
- " button.append(icon_img);\n",
- " button.append(tooltip_span);\n",
- "\n",
- " nav_element.append(button);\n",
- " }\n",
- "\n",
- " var fmt_picker_span = $('<span/>');\n",
- "\n",
- " var fmt_picker = $('<select/>');\n",
- " fmt_picker.addClass('mpl-toolbar-option ui-widget ui-widget-content');\n",
- " fmt_picker_span.append(fmt_picker);\n",
- " nav_element.append(fmt_picker_span);\n",
- " this.format_dropdown = fmt_picker[0];\n",
- "\n",
- " for (var ind in mpl.extensions) {\n",
- " var fmt = mpl.extensions[ind];\n",
- " var option = $(\n",
- " '<option/>', {selected: fmt === mpl.default_extension}).html(fmt);\n",
- " fmt_picker.append(option)\n",
- " }\n",
- "\n",
- " // Add hover states to the ui-buttons\n",
- " $( \".ui-button\" ).hover(\n",
- " function() { $(this).addClass(\"ui-state-hover\");},\n",
- " function() { $(this).removeClass(\"ui-state-hover\");}\n",
- " );\n",
- "\n",
- " var status_bar = $('<span class=\"mpl-message\"/>');\n",
- " nav_element.append(status_bar);\n",
- " this.message = status_bar[0];\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",
- "\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",
- "\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]);\n",
- " fig.send_message(\"refresh\", {});\n",
- " };\n",
- "}\n",
- "\n",
- "mpl.figure.prototype.handle_rubberband = function(fig, msg) {\n",
- " var x0 = msg['x0'] / mpl.ratio;\n",
- " var y0 = (fig.canvas.height - msg['y0']) / mpl.ratio;\n",
- " var x1 = msg['x1'] / mpl.ratio;\n",
- " var y1 = (fig.canvas.height - msg['y1']) / mpl.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, 0, fig.canvas.width, fig.canvas.height);\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",
- " var cursor = msg['cursor'];\n",
- " switch(cursor)\n",
- " {\n",
- " case 0:\n",
- " cursor = 'pointer';\n",
- " break;\n",
- " case 1:\n",
- " cursor = 'default';\n",
- " break;\n",
- " case 2:\n",
- " cursor = 'crosshair';\n",
- " break;\n",
- " case 3:\n",
- " cursor = 'move';\n",
- " break;\n",
- " }\n",
- " fig.rubberband_canvas.style.cursor = 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.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",
- " /* 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",
- " evt.data.type = \"image/png\";\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",
- " fig.imageObj.src = (window.URL || window.webkitURL).createObjectURL(\n",
- " evt.data);\n",
- " fig.updated_canvas_event();\n",
- " fig.waiting = false;\n",
- " return;\n",
- " }\n",
- " else if (typeof evt.data === 'string' && evt.data.slice(0, 21) == \"data:image/png;base64\") {\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(\"No handler for the '\" + msg_type + \"' message type: \", msg);\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(\"Exception inside the 'handler_\" + msg_type + \"' callback:\", e, e.stack, msg);\n",
- " }\n",
- " }\n",
- " };\n",
- "}\n",
- "\n",
- "// from http://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",
- " if (e.target)\n",
- " targ = e.target;\n",
- " else if (e.srcElement)\n",
- " targ = e.srcElement;\n",
- " if (targ.nodeType == 3) // defeat Safari bug\n",
- " targ = targ.parentNode;\n",
- "\n",
- " // jQuery normalizes the pageX and pageY\n",
- " // pageX,Y are the mouse positions relative to the document\n",
- " // offset() returns the position of the element relative to the document\n",
- " var x = e.pageX - $(targ).offset().left;\n",
- " var y = e.pageY - $(targ).offset().top;\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",
- " * http://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",
- " 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",
- " {\n",
- " this.canvas.focus();\n",
- " this.canvas_div.focus();\n",
- " }\n",
- "\n",
- " var x = canvas_pos.x * mpl.ratio;\n",
- " var y = canvas_pos.y * mpl.ratio;\n",
- "\n",
- " this.send_message(name, {x: x, y: y, button: event.button,\n",
- " step: event.step,\n",
- " guiEvent: simpleKeys(event)});\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",
- "\n",
- " // Prevent repeat events\n",
- " if (name == 'key_press')\n",
- " {\n",
- " if (event.which === this._key)\n",
- " return;\n",
- " else\n",
- " this._key = event.which;\n",
- " }\n",
- " if (name == 'key_release')\n",
- " this._key = null;\n",
- "\n",
- " var value = '';\n",
- " if (event.ctrlKey && event.which != 17)\n",
- " value += \"ctrl+\";\n",
- " if (event.altKey && event.which != 18)\n",
- " value += \"alt+\";\n",
- " if (event.shiftKey && event.which != 16)\n",
- " value += \"shift+\";\n",
- "\n",
- " value += 'k';\n",
- " value += event.which.toString();\n",
- "\n",
- " this._key_event_extra(event, name);\n",
- "\n",
- " this.send_message(name, {key: value,\n",
- " 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",
- "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\", \"Pan axes with left mouse, zoom with right\", \"fa fa-arrows icon-move\", \"pan\"], [\"Zoom\", \"Zoom to rectangle\", \"fa fa-square-o icon-check-empty\", \"zoom\"], [\"\", \"\", \"\", \"\"], [\"Download\", \"Download plot\", \"fa fa-floppy-o icon-save\", \"download\"]];\n",
- "\n",
- "mpl.extensions = [\"eps\", \"jpeg\", \"pdf\", \"png\", \"ps\", \"raw\", \"svg\", \"tif\"];\n",
- "\n",
- "mpl.default_extension = \"png\";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.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",
- " // Pass the mpl event to the overriden (by mpl) onmessage function.\n",
- " ws.onmessage(msg['content']['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 = $(\"#\" + id);\n",
- " var ws_proxy = comm_websocket_adapter(comm)\n",
- "\n",
- " function ondownload(figure, format) {\n",
- " window.open(figure.imageObj.src);\n",
- " }\n",
- "\n",
- " var fig = new mpl.figure(id, ws_proxy,\n",
- " ondownload,\n",
- " element.get(0));\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.get(0);\n",
- " fig.cell_info = mpl.find_output_cell(\"<div id='\" + id + \"'></div>\");\n",
- " if (!fig.cell_info) {\n",
- " console.error(\"Failed to find cell for figure\", id, fig);\n",
- " return;\n",
- " }\n",
- "\n",
- " var output_index = fig.cell_info[2]\n",
- " var cell = fig.cell_info[0];\n",
- "\n",
- "};\n",
- "\n",
- "mpl.figure.prototype.handle_close = function(fig, msg) {\n",
- " var width = fig.canvas.width/mpl.ratio\n",
- " fig.root.unbind('remove')\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).html('<img src=\"' + dataURL + '\" width=\"' + width + '\">');\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/mpl.ratio\n",
- " var dataURL = this.canvas.toDataURL();\n",
- " this.cell_info[1]['text/html'] = '<img src=\"' + dataURL + '\" width=\"' + width + '\">';\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 () { fig.push_to_output() }, 1000);\n",
- "}\n",
- "\n",
- "mpl.figure.prototype._init_toolbar = function() {\n",
- " var fig = this;\n",
- "\n",
- " var nav_element = $('<div/>')\n",
- " nav_element.attr('style', 'width: 100%');\n",
- " this.root.append(nav_element);\n",
- "\n",
- " // Define a callback function for later on.\n",
- " function toolbar_event(event) {\n",
- " return fig.toolbar_button_onclick(event['data']);\n",
- " }\n",
- " function toolbar_mouse_event(event) {\n",
- " return fig.toolbar_button_onmouseover(event['data']);\n",
- " }\n",
- "\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) { continue; };\n",
- "\n",
- " var button = $('<button class=\"btn btn-default\" href=\"#\" title=\"' + name + '\"><i class=\"fa ' + image + ' fa-lg\"></i></button>');\n",
- " button.click(method_name, toolbar_event);\n",
- " button.mouseover(tooltip, toolbar_mouse_event);\n",
- " nav_element.append(button);\n",
- " }\n",
- "\n",
- " // Add the status bar.\n",
- " var status_bar = $('<span class=\"mpl-message\" style=\"text-align:right; float: right;\"/>');\n",
- " nav_element.append(status_bar);\n",
- " this.message = status_bar[0];\n",
- "\n",
- " // Add the close button to the window.\n",
- " var buttongrp = $('<div class=\"btn-group inline pull-right\"></div>');\n",
- " var button = $('<button class=\"btn btn-mini btn-primary\" href=\"#\" title=\"Stop Interaction\"><i class=\"fa fa-power-off icon-remove icon-large\"></i></button>');\n",
- " button.click(function (evt) { fig.handle_close(fig, {}); } );\n",
- " button.mouseover('Stop Interaction', toolbar_mouse_event);\n",
- " buttongrp.append(button);\n",
- " var titlebar = this.root.find($('.ui-dialog-titlebar'));\n",
- " titlebar.prepend(buttongrp);\n",
- "}\n",
- "\n",
- "mpl.figure.prototype._root_extra_style = function(el){\n",
- " var fig = this\n",
- " el.on(\"remove\", function(){\n",
- "\tfig.close_ws(fig, {});\n",
- " });\n",
- "}\n",
- "\n",
- "mpl.figure.prototype._canvas_extra_style = function(el){\n",
- " // this is important to make the div 'focusable\n",
- " el.attr('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",
- " }\n",
- " else {\n",
- " // location in version 2\n",
- " IPython.keyboard_manager.register_events(el);\n",
- " }\n",
- "\n",
- "}\n",
- "\n",
- "mpl.figure.prototype._key_event_extra = function(event, name) {\n",
- " var manager = IPython.notebook.keyboard_manager;\n",
- " if (!manager)\n",
- " manager = IPython.keyboard_manager;\n",
- "\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",
- "\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('matplotlib', mpl.mpl_figure_comm);\n",
- "}\n"
- ],
- "text/plain": [
- "<IPython.core.display.Javascript object>"
- ]
- },
- "metadata": {},
- "output_type": "display_data"
- },
- {
- "data": {
- "text/html": [
- "<img src=\"data:image/png;base64,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\" width=\"640\">"
- ],
- "text/plain": [
- "<IPython.core.display.HTML object>"
- ]
- },
- "metadata": {},
- "output_type": "display_data"
- },
- {
- "data": {
- "application/javascript": [
- "/* Put everything inside the global mpl namespace */\n",
- "window.mpl = {};\n",
- "\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('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",
- "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 = $('<div/>');\n",
- " this._root_extra_style(this.root)\n",
- " this.root.attr('style', 'display: inline-block');\n",
- "\n",
- " $(parent_element).append(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 (mpl.ratio != 1) {\n",
- " fig.send_message(\"set_dpi_ratio\", {'dpi_ratio': mpl.ratio});\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",
- " this.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 = $(\n",
- " '<div class=\"ui-dialog-titlebar ui-widget-header ui-corner-all ' +\n",
- " 'ui-helper-clearfix\"/>');\n",
- " var titletext = $(\n",
- " '<div class=\"ui-dialog-title\" style=\"width: 100%; ' +\n",
- " 'text-align: center; padding: 3px;\"/>');\n",
- " titlebar.append(titletext)\n",
- " this.root.append(titlebar);\n",
- " this.header = titletext[0];\n",
- "}\n",
- "\n",
- "\n",
- "\n",
- "mpl.figure.prototype._canvas_extra_style = function(canvas_div) {\n",
- "\n",
- "}\n",
- "\n",
- "\n",
- "mpl.figure.prototype._root_extra_style = function(canvas_div) {\n",
- "\n",
- "}\n",
- "\n",
- "mpl.figure.prototype._init_canvas = function() {\n",
- " var fig = this;\n",
- "\n",
- " var canvas_div = $('<div/>');\n",
- "\n",
- " canvas_div.attr('style', 'position: relative; clear: both; outline: 0');\n",
- "\n",
- " function canvas_keyboard_event(event) {\n",
- " return fig.key_event(event, event['data']);\n",
- " }\n",
- "\n",
- " canvas_div.keydown('key_press', canvas_keyboard_event);\n",
- " canvas_div.keyup('key_release', canvas_keyboard_event);\n",
- " this.canvas_div = canvas_div\n",
- " this._canvas_extra_style(canvas_div)\n",
- " this.root.append(canvas_div);\n",
- "\n",
- " var canvas = $('<canvas/>');\n",
- " canvas.addClass('mpl-canvas');\n",
- " canvas.attr('style', \"left: 0; top: 0; z-index: 0; outline: 0\")\n",
- "\n",
- " this.canvas = canvas[0];\n",
- " this.context = canvas[0].getContext(\"2d\");\n",
- "\n",
- " var backingStore = this.context.backingStorePixelRatio ||\n",
- "\tthis.context.webkitBackingStorePixelRatio ||\n",
- "\tthis.context.mozBackingStorePixelRatio ||\n",
- "\tthis.context.msBackingStorePixelRatio ||\n",
- "\tthis.context.oBackingStorePixelRatio ||\n",
- "\tthis.context.backingStorePixelRatio || 1;\n",
- "\n",
- " mpl.ratio = (window.devicePixelRatio || 1) / backingStore;\n",
- "\n",
- " var rubberband = $('<canvas/>');\n",
- " rubberband.attr('style', \"position: absolute; left: 0; top: 0; z-index: 1;\")\n",
- "\n",
- " var pass_mouse_events = true;\n",
- "\n",
- " canvas_div.resizable({\n",
- " start: function(event, ui) {\n",
- " pass_mouse_events = false;\n",
- " },\n",
- " resize: function(event, ui) {\n",
- " fig.request_resize(ui.size.width, ui.size.height);\n",
- " },\n",
- " stop: function(event, ui) {\n",
- " pass_mouse_events = true;\n",
- " fig.request_resize(ui.size.width, ui.size.height);\n",
- " },\n",
- " });\n",
- "\n",
- " function mouse_event_fn(event) {\n",
- " if (pass_mouse_events)\n",
- " return fig.mouse_event(event, event['data']);\n",
- " }\n",
- "\n",
- " rubberband.mousedown('button_press', mouse_event_fn);\n",
- " rubberband.mouseup('button_release', mouse_event_fn);\n",
- " // Throttle sequential mouse events to 1 every 20ms.\n",
- " rubberband.mousemove('motion_notify', mouse_event_fn);\n",
- "\n",
- " rubberband.mouseenter('figure_enter', mouse_event_fn);\n",
- " rubberband.mouseleave('figure_leave', mouse_event_fn);\n",
- "\n",
- " canvas_div.on(\"wheel\", function (event) {\n",
- " event = event.originalEvent;\n",
- " event['data'] = 'scroll'\n",
- " if (event.deltaY < 0) {\n",
- " event.step = 1;\n",
- " } else {\n",
- " event.step = -1;\n",
- " }\n",
- " mouse_event_fn(event);\n",
- " });\n",
- "\n",
- " canvas_div.append(canvas);\n",
- " canvas_div.append(rubberband);\n",
- "\n",
- " this.rubberband = rubberband;\n",
- " this.rubberband_canvas = rubberband[0];\n",
- " this.rubberband_context = rubberband[0].getContext(\"2d\");\n",
- " this.rubberband_context.strokeStyle = \"#000000\";\n",
- "\n",
- " this._resize_canvas = function(width, height) {\n",
- " // Keep the size of the canvas, canvas container, and rubber band\n",
- " // canvas in synch.\n",
- " canvas_div.css('width', width)\n",
- " canvas_div.css('height', height)\n",
- "\n",
- " canvas.attr('width', width * mpl.ratio);\n",
- " canvas.attr('height', height * mpl.ratio);\n",
- " canvas.attr('style', 'width: ' + width + 'px; height: ' + height + 'px;');\n",
- "\n",
- " rubberband.attr('width', width);\n",
- " rubberband.attr('height', height);\n",
- " }\n",
- "\n",
- " // Set the figure to an initial 600x600px, this will subsequently be updated\n",
- " // upon first draw.\n",
- " this._resize_canvas(600, 600);\n",
- "\n",
- " // Disable right mouse context menu.\n",
- " $(this.rubberband_canvas).bind(\"contextmenu\",function(e){\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 nav_element = $('<div/>')\n",
- " nav_element.attr('style', 'width: 100%');\n",
- " this.root.append(nav_element);\n",
- "\n",
- " // Define a callback function for later on.\n",
- " function toolbar_event(event) {\n",
- " return fig.toolbar_button_onclick(event['data']);\n",
- " }\n",
- " function toolbar_mouse_event(event) {\n",
- " return fig.toolbar_button_onmouseover(event['data']);\n",
- " }\n",
- "\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",
- " // put a spacer in here.\n",
- " continue;\n",
- " }\n",
- " var button = $('<button/>');\n",
- " button.addClass('ui-button ui-widget ui-state-default ui-corner-all ' +\n",
- " 'ui-button-icon-only');\n",
- " button.attr('role', 'button');\n",
- " button.attr('aria-disabled', 'false');\n",
- " button.click(method_name, toolbar_event);\n",
- " button.mouseover(tooltip, toolbar_mouse_event);\n",
- "\n",
- " var icon_img = $('<span/>');\n",
- " icon_img.addClass('ui-button-icon-primary ui-icon');\n",
- " icon_img.addClass(image);\n",
- " icon_img.addClass('ui-corner-all');\n",
- "\n",
- " var tooltip_span = $('<span/>');\n",
- " tooltip_span.addClass('ui-button-text');\n",
- " tooltip_span.html(tooltip);\n",
- "\n",
- " button.append(icon_img);\n",
- " button.append(tooltip_span);\n",
- "\n",
- " nav_element.append(button);\n",
- " }\n",
- "\n",
- " var fmt_picker_span = $('<span/>');\n",
- "\n",
- " var fmt_picker = $('<select/>');\n",
- " fmt_picker.addClass('mpl-toolbar-option ui-widget ui-widget-content');\n",
- " fmt_picker_span.append(fmt_picker);\n",
- " nav_element.append(fmt_picker_span);\n",
- " this.format_dropdown = fmt_picker[0];\n",
- "\n",
- " for (var ind in mpl.extensions) {\n",
- " var fmt = mpl.extensions[ind];\n",
- " var option = $(\n",
- " '<option/>', {selected: fmt === mpl.default_extension}).html(fmt);\n",
- " fmt_picker.append(option)\n",
- " }\n",
- "\n",
- " // Add hover states to the ui-buttons\n",
- " $( \".ui-button\" ).hover(\n",
- " function() { $(this).addClass(\"ui-state-hover\");},\n",
- " function() { $(this).removeClass(\"ui-state-hover\");}\n",
- " );\n",
- "\n",
- " var status_bar = $('<span class=\"mpl-message\"/>');\n",
- " nav_element.append(status_bar);\n",
- " this.message = status_bar[0];\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",
- "\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",
- "\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]);\n",
- " fig.send_message(\"refresh\", {});\n",
- " };\n",
- "}\n",
- "\n",
- "mpl.figure.prototype.handle_rubberband = function(fig, msg) {\n",
- " var x0 = msg['x0'] / mpl.ratio;\n",
- " var y0 = (fig.canvas.height - msg['y0']) / mpl.ratio;\n",
- " var x1 = msg['x1'] / mpl.ratio;\n",
- " var y1 = (fig.canvas.height - msg['y1']) / mpl.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, 0, fig.canvas.width, fig.canvas.height);\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",
- " var cursor = msg['cursor'];\n",
- " switch(cursor)\n",
- " {\n",
- " case 0:\n",
- " cursor = 'pointer';\n",
- " break;\n",
- " case 1:\n",
- " cursor = 'default';\n",
- " break;\n",
- " case 2:\n",
- " cursor = 'crosshair';\n",
- " break;\n",
- " case 3:\n",
- " cursor = 'move';\n",
- " break;\n",
- " }\n",
- " fig.rubberband_canvas.style.cursor = 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.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",
- " /* 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",
- " evt.data.type = \"image/png\";\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",
- " fig.imageObj.src = (window.URL || window.webkitURL).createObjectURL(\n",
- " evt.data);\n",
- " fig.updated_canvas_event();\n",
- " fig.waiting = false;\n",
- " return;\n",
- " }\n",
- " else if (typeof evt.data === 'string' && evt.data.slice(0, 21) == \"data:image/png;base64\") {\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(\"No handler for the '\" + msg_type + \"' message type: \", msg);\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(\"Exception inside the 'handler_\" + msg_type + \"' callback:\", e, e.stack, msg);\n",
- " }\n",
- " }\n",
- " };\n",
- "}\n",
- "\n",
- "// from http://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",
- " if (e.target)\n",
- " targ = e.target;\n",
- " else if (e.srcElement)\n",
- " targ = e.srcElement;\n",
- " if (targ.nodeType == 3) // defeat Safari bug\n",
- " targ = targ.parentNode;\n",
- "\n",
- " // jQuery normalizes the pageX and pageY\n",
- " // pageX,Y are the mouse positions relative to the document\n",
- " // offset() returns the position of the element relative to the document\n",
- " var x = e.pageX - $(targ).offset().left;\n",
- " var y = e.pageY - $(targ).offset().top;\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",
- " * http://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",
- " 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",
- " {\n",
- " this.canvas.focus();\n",
- " this.canvas_div.focus();\n",
- " }\n",
- "\n",
- " var x = canvas_pos.x * mpl.ratio;\n",
- " var y = canvas_pos.y * mpl.ratio;\n",
- "\n",
- " this.send_message(name, {x: x, y: y, button: event.button,\n",
- " step: event.step,\n",
- " guiEvent: simpleKeys(event)});\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",
- "\n",
- " // Prevent repeat events\n",
- " if (name == 'key_press')\n",
- " {\n",
- " if (event.which === this._key)\n",
- " return;\n",
- " else\n",
- " this._key = event.which;\n",
- " }\n",
- " if (name == 'key_release')\n",
- " this._key = null;\n",
- "\n",
- " var value = '';\n",
- " if (event.ctrlKey && event.which != 17)\n",
- " value += \"ctrl+\";\n",
- " if (event.altKey && event.which != 18)\n",
- " value += \"alt+\";\n",
- " if (event.shiftKey && event.which != 16)\n",
- " value += \"shift+\";\n",
- "\n",
- " value += 'k';\n",
- " value += event.which.toString();\n",
- "\n",
- " this._key_event_extra(event, name);\n",
- "\n",
- " this.send_message(name, {key: value,\n",
- " 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",
- "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\", \"Pan axes with left mouse, zoom with right\", \"fa fa-arrows icon-move\", \"pan\"], [\"Zoom\", \"Zoom to rectangle\", \"fa fa-square-o icon-check-empty\", \"zoom\"], [\"\", \"\", \"\", \"\"], [\"Download\", \"Download plot\", \"fa fa-floppy-o icon-save\", \"download\"]];\n",
- "\n",
- "mpl.extensions = [\"eps\", \"jpeg\", \"pdf\", \"png\", \"ps\", \"raw\", \"svg\", \"tif\"];\n",
- "\n",
- "mpl.default_extension = \"png\";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.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",
- " // Pass the mpl event to the overriden (by mpl) onmessage function.\n",
- " ws.onmessage(msg['content']['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 = $(\"#\" + id);\n",
- " var ws_proxy = comm_websocket_adapter(comm)\n",
- "\n",
- " function ondownload(figure, format) {\n",
- " window.open(figure.imageObj.src);\n",
- " }\n",
- "\n",
- " var fig = new mpl.figure(id, ws_proxy,\n",
- " ondownload,\n",
- " element.get(0));\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.get(0);\n",
- " fig.cell_info = mpl.find_output_cell(\"<div id='\" + id + \"'></div>\");\n",
- " if (!fig.cell_info) {\n",
- " console.error(\"Failed to find cell for figure\", id, fig);\n",
- " return;\n",
- " }\n",
- "\n",
- " var output_index = fig.cell_info[2]\n",
- " var cell = fig.cell_info[0];\n",
- "\n",
- "};\n",
- "\n",
- "mpl.figure.prototype.handle_close = function(fig, msg) {\n",
- " var width = fig.canvas.width/mpl.ratio\n",
- " fig.root.unbind('remove')\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).html('<img src=\"' + dataURL + '\" width=\"' + width + '\">');\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/mpl.ratio\n",
- " var dataURL = this.canvas.toDataURL();\n",
- " this.cell_info[1]['text/html'] = '<img src=\"' + dataURL + '\" width=\"' + width + '\">';\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 () { fig.push_to_output() }, 1000);\n",
- "}\n",
- "\n",
- "mpl.figure.prototype._init_toolbar = function() {\n",
- " var fig = this;\n",
- "\n",
- " var nav_element = $('<div/>')\n",
- " nav_element.attr('style', 'width: 100%');\n",
- " this.root.append(nav_element);\n",
- "\n",
- " // Define a callback function for later on.\n",
- " function toolbar_event(event) {\n",
- " return fig.toolbar_button_onclick(event['data']);\n",
- " }\n",
- " function toolbar_mouse_event(event) {\n",
- " return fig.toolbar_button_onmouseover(event['data']);\n",
- " }\n",
- "\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) { continue; };\n",
- "\n",
- " var button = $('<button class=\"btn btn-default\" href=\"#\" title=\"' + name + '\"><i class=\"fa ' + image + ' fa-lg\"></i></button>');\n",
- " button.click(method_name, toolbar_event);\n",
- " button.mouseover(tooltip, toolbar_mouse_event);\n",
- " nav_element.append(button);\n",
- " }\n",
- "\n",
- " // Add the status bar.\n",
- " var status_bar = $('<span class=\"mpl-message\" style=\"text-align:right; float: right;\"/>');\n",
- " nav_element.append(status_bar);\n",
- " this.message = status_bar[0];\n",
- "\n",
- " // Add the close button to the window.\n",
- " var buttongrp = $('<div class=\"btn-group inline pull-right\"></div>');\n",
- " var button = $('<button class=\"btn btn-mini btn-primary\" href=\"#\" title=\"Stop Interaction\"><i class=\"fa fa-power-off icon-remove icon-large\"></i></button>');\n",
- " button.click(function (evt) { fig.handle_close(fig, {}); } );\n",
- " button.mouseover('Stop Interaction', toolbar_mouse_event);\n",
- " buttongrp.append(button);\n",
- " var titlebar = this.root.find($('.ui-dialog-titlebar'));\n",
- " titlebar.prepend(buttongrp);\n",
- "}\n",
- "\n",
- "mpl.figure.prototype._root_extra_style = function(el){\n",
- " var fig = this\n",
- " el.on(\"remove\", function(){\n",
- "\tfig.close_ws(fig, {});\n",
- " });\n",
- "}\n",
- "\n",
- "mpl.figure.prototype._canvas_extra_style = function(el){\n",
- " // this is important to make the div 'focusable\n",
- " el.attr('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",
- " }\n",
- " else {\n",
- " // location in version 2\n",
- " IPython.keyboard_manager.register_events(el);\n",
- " }\n",
- "\n",
- "}\n",
- "\n",
- "mpl.figure.prototype._key_event_extra = function(event, name) {\n",
- " var manager = IPython.notebook.keyboard_manager;\n",
- " if (!manager)\n",
- " manager = IPython.keyboard_manager;\n",
- "\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",
- "\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('matplotlib', mpl.mpl_figure_comm);\n",
- "}\n"
- ],
- "text/plain": [
- "<IPython.core.display.Javascript object>"
- ]
- },
- "metadata": {},
- "output_type": "display_data"
- },
- {
- "data": {
- "text/html": [
- "<img src=\"data:image/png;base64,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\" width=\"640\">"
- ],
- "text/plain": [
- "<IPython.core.display.HTML object>"
- ]
- },
- "metadata": {},
- "output_type": "display_data"
- },
- {
- "data": {
- "application/javascript": [
- "/* Put everything inside the global mpl namespace */\n",
- "window.mpl = {};\n",
- "\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('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",
- "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 = $('<div/>');\n",
- " this._root_extra_style(this.root)\n",
- " this.root.attr('style', 'display: inline-block');\n",
- "\n",
- " $(parent_element).append(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 (mpl.ratio != 1) {\n",
- " fig.send_message(\"set_dpi_ratio\", {'dpi_ratio': mpl.ratio});\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",
- " this.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 = $(\n",
- " '<div class=\"ui-dialog-titlebar ui-widget-header ui-corner-all ' +\n",
- " 'ui-helper-clearfix\"/>');\n",
- " var titletext = $(\n",
- " '<div class=\"ui-dialog-title\" style=\"width: 100%; ' +\n",
- " 'text-align: center; padding: 3px;\"/>');\n",
- " titlebar.append(titletext)\n",
- " this.root.append(titlebar);\n",
- " this.header = titletext[0];\n",
- "}\n",
- "\n",
- "\n",
- "\n",
- "mpl.figure.prototype._canvas_extra_style = function(canvas_div) {\n",
- "\n",
- "}\n",
- "\n",
- "\n",
- "mpl.figure.prototype._root_extra_style = function(canvas_div) {\n",
- "\n",
- "}\n",
- "\n",
- "mpl.figure.prototype._init_canvas = function() {\n",
- " var fig = this;\n",
- "\n",
- " var canvas_div = $('<div/>');\n",
- "\n",
- " canvas_div.attr('style', 'position: relative; clear: both; outline: 0');\n",
- "\n",
- " function canvas_keyboard_event(event) {\n",
- " return fig.key_event(event, event['data']);\n",
- " }\n",
- "\n",
- " canvas_div.keydown('key_press', canvas_keyboard_event);\n",
- " canvas_div.keyup('key_release', canvas_keyboard_event);\n",
- " this.canvas_div = canvas_div\n",
- " this._canvas_extra_style(canvas_div)\n",
- " this.root.append(canvas_div);\n",
- "\n",
- " var canvas = $('<canvas/>');\n",
- " canvas.addClass('mpl-canvas');\n",
- " canvas.attr('style', \"left: 0; top: 0; z-index: 0; outline: 0\")\n",
- "\n",
- " this.canvas = canvas[0];\n",
- " this.context = canvas[0].getContext(\"2d\");\n",
- "\n",
- " var backingStore = this.context.backingStorePixelRatio ||\n",
- "\tthis.context.webkitBackingStorePixelRatio ||\n",
- "\tthis.context.mozBackingStorePixelRatio ||\n",
- "\tthis.context.msBackingStorePixelRatio ||\n",
- "\tthis.context.oBackingStorePixelRatio ||\n",
- "\tthis.context.backingStorePixelRatio || 1;\n",
- "\n",
- " mpl.ratio = (window.devicePixelRatio || 1) / backingStore;\n",
- "\n",
- " var rubberband = $('<canvas/>');\n",
- " rubberband.attr('style', \"position: absolute; left: 0; top: 0; z-index: 1;\")\n",
- "\n",
- " var pass_mouse_events = true;\n",
- "\n",
- " canvas_div.resizable({\n",
- " start: function(event, ui) {\n",
- " pass_mouse_events = false;\n",
- " },\n",
- " resize: function(event, ui) {\n",
- " fig.request_resize(ui.size.width, ui.size.height);\n",
- " },\n",
- " stop: function(event, ui) {\n",
- " pass_mouse_events = true;\n",
- " fig.request_resize(ui.size.width, ui.size.height);\n",
- " },\n",
- " });\n",
- "\n",
- " function mouse_event_fn(event) {\n",
- " if (pass_mouse_events)\n",
- " return fig.mouse_event(event, event['data']);\n",
- " }\n",
- "\n",
- " rubberband.mousedown('button_press', mouse_event_fn);\n",
- " rubberband.mouseup('button_release', mouse_event_fn);\n",
- " // Throttle sequential mouse events to 1 every 20ms.\n",
- " rubberband.mousemove('motion_notify', mouse_event_fn);\n",
- "\n",
- " rubberband.mouseenter('figure_enter', mouse_event_fn);\n",
- " rubberband.mouseleave('figure_leave', mouse_event_fn);\n",
- "\n",
- " canvas_div.on(\"wheel\", function (event) {\n",
- " event = event.originalEvent;\n",
- " event['data'] = 'scroll'\n",
- " if (event.deltaY < 0) {\n",
- " event.step = 1;\n",
- " } else {\n",
- " event.step = -1;\n",
- " }\n",
- " mouse_event_fn(event);\n",
- " });\n",
- "\n",
- " canvas_div.append(canvas);\n",
- " canvas_div.append(rubberband);\n",
- "\n",
- " this.rubberband = rubberband;\n",
- " this.rubberband_canvas = rubberband[0];\n",
- " this.rubberband_context = rubberband[0].getContext(\"2d\");\n",
- " this.rubberband_context.strokeStyle = \"#000000\";\n",
- "\n",
- " this._resize_canvas = function(width, height) {\n",
- " // Keep the size of the canvas, canvas container, and rubber band\n",
- " // canvas in synch.\n",
- " canvas_div.css('width', width)\n",
- " canvas_div.css('height', height)\n",
- "\n",
- " canvas.attr('width', width * mpl.ratio);\n",
- " canvas.attr('height', height * mpl.ratio);\n",
- " canvas.attr('style', 'width: ' + width + 'px; height: ' + height + 'px;');\n",
- "\n",
- " rubberband.attr('width', width);\n",
- " rubberband.attr('height', height);\n",
- " }\n",
- "\n",
- " // Set the figure to an initial 600x600px, this will subsequently be updated\n",
- " // upon first draw.\n",
- " this._resize_canvas(600, 600);\n",
- "\n",
- " // Disable right mouse context menu.\n",
- " $(this.rubberband_canvas).bind(\"contextmenu\",function(e){\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 nav_element = $('<div/>')\n",
- " nav_element.attr('style', 'width: 100%');\n",
- " this.root.append(nav_element);\n",
- "\n",
- " // Define a callback function for later on.\n",
- " function toolbar_event(event) {\n",
- " return fig.toolbar_button_onclick(event['data']);\n",
- " }\n",
- " function toolbar_mouse_event(event) {\n",
- " return fig.toolbar_button_onmouseover(event['data']);\n",
- " }\n",
- "\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",
- " // put a spacer in here.\n",
- " continue;\n",
- " }\n",
- " var button = $('<button/>');\n",
- " button.addClass('ui-button ui-widget ui-state-default ui-corner-all ' +\n",
- " 'ui-button-icon-only');\n",
- " button.attr('role', 'button');\n",
- " button.attr('aria-disabled', 'false');\n",
- " button.click(method_name, toolbar_event);\n",
- " button.mouseover(tooltip, toolbar_mouse_event);\n",
- "\n",
- " var icon_img = $('<span/>');\n",
- " icon_img.addClass('ui-button-icon-primary ui-icon');\n",
- " icon_img.addClass(image);\n",
- " icon_img.addClass('ui-corner-all');\n",
- "\n",
- " var tooltip_span = $('<span/>');\n",
- " tooltip_span.addClass('ui-button-text');\n",
- " tooltip_span.html(tooltip);\n",
- "\n",
- " button.append(icon_img);\n",
- " button.append(tooltip_span);\n",
- "\n",
- " nav_element.append(button);\n",
- " }\n",
- "\n",
- " var fmt_picker_span = $('<span/>');\n",
- "\n",
- " var fmt_picker = $('<select/>');\n",
- " fmt_picker.addClass('mpl-toolbar-option ui-widget ui-widget-content');\n",
- " fmt_picker_span.append(fmt_picker);\n",
- " nav_element.append(fmt_picker_span);\n",
- " this.format_dropdown = fmt_picker[0];\n",
- "\n",
- " for (var ind in mpl.extensions) {\n",
- " var fmt = mpl.extensions[ind];\n",
- " var option = $(\n",
- " '<option/>', {selected: fmt === mpl.default_extension}).html(fmt);\n",
- " fmt_picker.append(option)\n",
- " }\n",
- "\n",
- " // Add hover states to the ui-buttons\n",
- " $( \".ui-button\" ).hover(\n",
- " function() { $(this).addClass(\"ui-state-hover\");},\n",
- " function() { $(this).removeClass(\"ui-state-hover\");}\n",
- " );\n",
- "\n",
- " var status_bar = $('<span class=\"mpl-message\"/>');\n",
- " nav_element.append(status_bar);\n",
- " this.message = status_bar[0];\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",
- "\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",
- "\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]);\n",
- " fig.send_message(\"refresh\", {});\n",
- " };\n",
- "}\n",
- "\n",
- "mpl.figure.prototype.handle_rubberband = function(fig, msg) {\n",
- " var x0 = msg['x0'] / mpl.ratio;\n",
- " var y0 = (fig.canvas.height - msg['y0']) / mpl.ratio;\n",
- " var x1 = msg['x1'] / mpl.ratio;\n",
- " var y1 = (fig.canvas.height - msg['y1']) / mpl.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, 0, fig.canvas.width, fig.canvas.height);\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",
- " var cursor = msg['cursor'];\n",
- " switch(cursor)\n",
- " {\n",
- " case 0:\n",
- " cursor = 'pointer';\n",
- " break;\n",
- " case 1:\n",
- " cursor = 'default';\n",
- " break;\n",
- " case 2:\n",
- " cursor = 'crosshair';\n",
- " break;\n",
- " case 3:\n",
- " cursor = 'move';\n",
- " break;\n",
- " }\n",
- " fig.rubberband_canvas.style.cursor = 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.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",
- " /* 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",
- " evt.data.type = \"image/png\";\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",
- " fig.imageObj.src = (window.URL || window.webkitURL).createObjectURL(\n",
- " evt.data);\n",
- " fig.updated_canvas_event();\n",
- " fig.waiting = false;\n",
- " return;\n",
- " }\n",
- " else if (typeof evt.data === 'string' && evt.data.slice(0, 21) == \"data:image/png;base64\") {\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(\"No handler for the '\" + msg_type + \"' message type: \", msg);\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(\"Exception inside the 'handler_\" + msg_type + \"' callback:\", e, e.stack, msg);\n",
- " }\n",
- " }\n",
- " };\n",
- "}\n",
- "\n",
- "// from http://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",
- " if (e.target)\n",
- " targ = e.target;\n",
- " else if (e.srcElement)\n",
- " targ = e.srcElement;\n",
- " if (targ.nodeType == 3) // defeat Safari bug\n",
- " targ = targ.parentNode;\n",
- "\n",
- " // jQuery normalizes the pageX and pageY\n",
- " // pageX,Y are the mouse positions relative to the document\n",
- " // offset() returns the position of the element relative to the document\n",
- " var x = e.pageX - $(targ).offset().left;\n",
- " var y = e.pageY - $(targ).offset().top;\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",
- " * http://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",
- " 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",
- " {\n",
- " this.canvas.focus();\n",
- " this.canvas_div.focus();\n",
- " }\n",
- "\n",
- " var x = canvas_pos.x * mpl.ratio;\n",
- " var y = canvas_pos.y * mpl.ratio;\n",
- "\n",
- " this.send_message(name, {x: x, y: y, button: event.button,\n",
- " step: event.step,\n",
- " guiEvent: simpleKeys(event)});\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",
- "\n",
- " // Prevent repeat events\n",
- " if (name == 'key_press')\n",
- " {\n",
- " if (event.which === this._key)\n",
- " return;\n",
- " else\n",
- " this._key = event.which;\n",
- " }\n",
- " if (name == 'key_release')\n",
- " this._key = null;\n",
- "\n",
- " var value = '';\n",
- " if (event.ctrlKey && event.which != 17)\n",
- " value += \"ctrl+\";\n",
- " if (event.altKey && event.which != 18)\n",
- " value += \"alt+\";\n",
- " if (event.shiftKey && event.which != 16)\n",
- " value += \"shift+\";\n",
- "\n",
- " value += 'k';\n",
- " value += event.which.toString();\n",
- "\n",
- " this._key_event_extra(event, name);\n",
- "\n",
- " this.send_message(name, {key: value,\n",
- " 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",
- "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\", \"Pan axes with left mouse, zoom with right\", \"fa fa-arrows icon-move\", \"pan\"], [\"Zoom\", \"Zoom to rectangle\", \"fa fa-square-o icon-check-empty\", \"zoom\"], [\"\", \"\", \"\", \"\"], [\"Download\", \"Download plot\", \"fa fa-floppy-o icon-save\", \"download\"]];\n",
- "\n",
- "mpl.extensions = [\"eps\", \"jpeg\", \"pdf\", \"png\", \"ps\", \"raw\", \"svg\", \"tif\"];\n",
- "\n",
- "mpl.default_extension = \"png\";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.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",
- " // Pass the mpl event to the overriden (by mpl) onmessage function.\n",
- " ws.onmessage(msg['content']['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 = $(\"#\" + id);\n",
- " var ws_proxy = comm_websocket_adapter(comm)\n",
- "\n",
- " function ondownload(figure, format) {\n",
- " window.open(figure.imageObj.src);\n",
- " }\n",
- "\n",
- " var fig = new mpl.figure(id, ws_proxy,\n",
- " ondownload,\n",
- " element.get(0));\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.get(0);\n",
- " fig.cell_info = mpl.find_output_cell(\"<div id='\" + id + \"'></div>\");\n",
- " if (!fig.cell_info) {\n",
- " console.error(\"Failed to find cell for figure\", id, fig);\n",
- " return;\n",
- " }\n",
- "\n",
- " var output_index = fig.cell_info[2]\n",
- " var cell = fig.cell_info[0];\n",
- "\n",
- "};\n",
- "\n",
- "mpl.figure.prototype.handle_close = function(fig, msg) {\n",
- " var width = fig.canvas.width/mpl.ratio\n",
- " fig.root.unbind('remove')\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).html('<img src=\"' + dataURL + '\" width=\"' + width + '\">');\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/mpl.ratio\n",
- " var dataURL = this.canvas.toDataURL();\n",
- " this.cell_info[1]['text/html'] = '<img src=\"' + dataURL + '\" width=\"' + width + '\">';\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 () { fig.push_to_output() }, 1000);\n",
- "}\n",
- "\n",
- "mpl.figure.prototype._init_toolbar = function() {\n",
- " var fig = this;\n",
- "\n",
- " var nav_element = $('<div/>')\n",
- " nav_element.attr('style', 'width: 100%');\n",
- " this.root.append(nav_element);\n",
- "\n",
- " // Define a callback function for later on.\n",
- " function toolbar_event(event) {\n",
- " return fig.toolbar_button_onclick(event['data']);\n",
- " }\n",
- " function toolbar_mouse_event(event) {\n",
- " return fig.toolbar_button_onmouseover(event['data']);\n",
- " }\n",
- "\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) { continue; };\n",
- "\n",
- " var button = $('<button class=\"btn btn-default\" href=\"#\" title=\"' + name + '\"><i class=\"fa ' + image + ' fa-lg\"></i></button>');\n",
- " button.click(method_name, toolbar_event);\n",
- " button.mouseover(tooltip, toolbar_mouse_event);\n",
- " nav_element.append(button);\n",
- " }\n",
- "\n",
- " // Add the status bar.\n",
- " var status_bar = $('<span class=\"mpl-message\" style=\"text-align:right; float: right;\"/>');\n",
- " nav_element.append(status_bar);\n",
- " this.message = status_bar[0];\n",
- "\n",
- " // Add the close button to the window.\n",
- " var buttongrp = $('<div class=\"btn-group inline pull-right\"></div>');\n",
- " var button = $('<button class=\"btn btn-mini btn-primary\" href=\"#\" title=\"Stop Interaction\"><i class=\"fa fa-power-off icon-remove icon-large\"></i></button>');\n",
- " button.click(function (evt) { fig.handle_close(fig, {}); } );\n",
- " button.mouseover('Stop Interaction', toolbar_mouse_event);\n",
- " buttongrp.append(button);\n",
- " var titlebar = this.root.find($('.ui-dialog-titlebar'));\n",
- " titlebar.prepend(buttongrp);\n",
- "}\n",
- "\n",
- "mpl.figure.prototype._root_extra_style = function(el){\n",
- " var fig = this\n",
- " el.on(\"remove\", function(){\n",
- "\tfig.close_ws(fig, {});\n",
- " });\n",
- "}\n",
- "\n",
- "mpl.figure.prototype._canvas_extra_style = function(el){\n",
- " // this is important to make the div 'focusable\n",
- " el.attr('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",
- " }\n",
- " else {\n",
- " // location in version 2\n",
- " IPython.keyboard_manager.register_events(el);\n",
- " }\n",
- "\n",
- "}\n",
- "\n",
- "mpl.figure.prototype._key_event_extra = function(event, name) {\n",
- " var manager = IPython.notebook.keyboard_manager;\n",
- " if (!manager)\n",
- " manager = IPython.keyboard_manager;\n",
- "\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",
- "\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('matplotlib', mpl.mpl_figure_comm);\n",
- "}\n"
- ],
- "text/plain": [
- "<IPython.core.display.Javascript object>"
- ]
- },
- "metadata": {},
- "output_type": "display_data"
- },
- {
- "data": {
- "text/html": [
- "<img src=\"data:image/png;base64,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\" width=\"640\">"
- ],
- "text/plain": [
- "<IPython.core.display.HTML object>"
- ]
- },
- "metadata": {},
- "output_type": "display_data"
- },
- {
- "data": {
- "application/javascript": [
- "/* Put everything inside the global mpl namespace */\n",
- "window.mpl = {};\n",
- "\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('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",
- "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 = $('<div/>');\n",
- " this._root_extra_style(this.root)\n",
- " this.root.attr('style', 'display: inline-block');\n",
- "\n",
- " $(parent_element).append(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 (mpl.ratio != 1) {\n",
- " fig.send_message(\"set_dpi_ratio\", {'dpi_ratio': mpl.ratio});\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",
- " this.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 = $(\n",
- " '<div class=\"ui-dialog-titlebar ui-widget-header ui-corner-all ' +\n",
- " 'ui-helper-clearfix\"/>');\n",
- " var titletext = $(\n",
- " '<div class=\"ui-dialog-title\" style=\"width: 100%; ' +\n",
- " 'text-align: center; padding: 3px;\"/>');\n",
- " titlebar.append(titletext)\n",
- " this.root.append(titlebar);\n",
- " this.header = titletext[0];\n",
- "}\n",
- "\n",
- "\n",
- "\n",
- "mpl.figure.prototype._canvas_extra_style = function(canvas_div) {\n",
- "\n",
- "}\n",
- "\n",
- "\n",
- "mpl.figure.prototype._root_extra_style = function(canvas_div) {\n",
- "\n",
- "}\n",
- "\n",
- "mpl.figure.prototype._init_canvas = function() {\n",
- " var fig = this;\n",
- "\n",
- " var canvas_div = $('<div/>');\n",
- "\n",
- " canvas_div.attr('style', 'position: relative; clear: both; outline: 0');\n",
- "\n",
- " function canvas_keyboard_event(event) {\n",
- " return fig.key_event(event, event['data']);\n",
- " }\n",
- "\n",
- " canvas_div.keydown('key_press', canvas_keyboard_event);\n",
- " canvas_div.keyup('key_release', canvas_keyboard_event);\n",
- " this.canvas_div = canvas_div\n",
- " this._canvas_extra_style(canvas_div)\n",
- " this.root.append(canvas_div);\n",
- "\n",
- " var canvas = $('<canvas/>');\n",
- " canvas.addClass('mpl-canvas');\n",
- " canvas.attr('style', \"left: 0; top: 0; z-index: 0; outline: 0\")\n",
- "\n",
- " this.canvas = canvas[0];\n",
- " this.context = canvas[0].getContext(\"2d\");\n",
- "\n",
- " var backingStore = this.context.backingStorePixelRatio ||\n",
- "\tthis.context.webkitBackingStorePixelRatio ||\n",
- "\tthis.context.mozBackingStorePixelRatio ||\n",
- "\tthis.context.msBackingStorePixelRatio ||\n",
- "\tthis.context.oBackingStorePixelRatio ||\n",
- "\tthis.context.backingStorePixelRatio || 1;\n",
- "\n",
- " mpl.ratio = (window.devicePixelRatio || 1) / backingStore;\n",
- "\n",
- " var rubberband = $('<canvas/>');\n",
- " rubberband.attr('style', \"position: absolute; left: 0; top: 0; z-index: 1;\")\n",
- "\n",
- " var pass_mouse_events = true;\n",
- "\n",
- " canvas_div.resizable({\n",
- " start: function(event, ui) {\n",
- " pass_mouse_events = false;\n",
- " },\n",
- " resize: function(event, ui) {\n",
- " fig.request_resize(ui.size.width, ui.size.height);\n",
- " },\n",
- " stop: function(event, ui) {\n",
- " pass_mouse_events = true;\n",
- " fig.request_resize(ui.size.width, ui.size.height);\n",
- " },\n",
- " });\n",
- "\n",
- " function mouse_event_fn(event) {\n",
- " if (pass_mouse_events)\n",
- " return fig.mouse_event(event, event['data']);\n",
- " }\n",
- "\n",
- " rubberband.mousedown('button_press', mouse_event_fn);\n",
- " rubberband.mouseup('button_release', mouse_event_fn);\n",
- " // Throttle sequential mouse events to 1 every 20ms.\n",
- " rubberband.mousemove('motion_notify', mouse_event_fn);\n",
- "\n",
- " rubberband.mouseenter('figure_enter', mouse_event_fn);\n",
- " rubberband.mouseleave('figure_leave', mouse_event_fn);\n",
- "\n",
- " canvas_div.on(\"wheel\", function (event) {\n",
- " event = event.originalEvent;\n",
- " event['data'] = 'scroll'\n",
- " if (event.deltaY < 0) {\n",
- " event.step = 1;\n",
- " } else {\n",
- " event.step = -1;\n",
- " }\n",
- " mouse_event_fn(event);\n",
- " });\n",
- "\n",
- " canvas_div.append(canvas);\n",
- " canvas_div.append(rubberband);\n",
- "\n",
- " this.rubberband = rubberband;\n",
- " this.rubberband_canvas = rubberband[0];\n",
- " this.rubberband_context = rubberband[0].getContext(\"2d\");\n",
- " this.rubberband_context.strokeStyle = \"#000000\";\n",
- "\n",
- " this._resize_canvas = function(width, height) {\n",
- " // Keep the size of the canvas, canvas container, and rubber band\n",
- " // canvas in synch.\n",
- " canvas_div.css('width', width)\n",
- " canvas_div.css('height', height)\n",
- "\n",
- " canvas.attr('width', width * mpl.ratio);\n",
- " canvas.attr('height', height * mpl.ratio);\n",
- " canvas.attr('style', 'width: ' + width + 'px; height: ' + height + 'px;');\n",
- "\n",
- " rubberband.attr('width', width);\n",
- " rubberband.attr('height', height);\n",
- " }\n",
- "\n",
- " // Set the figure to an initial 600x600px, this will subsequently be updated\n",
- " // upon first draw.\n",
- " this._resize_canvas(600, 600);\n",
- "\n",
- " // Disable right mouse context menu.\n",
- " $(this.rubberband_canvas).bind(\"contextmenu\",function(e){\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 nav_element = $('<div/>')\n",
- " nav_element.attr('style', 'width: 100%');\n",
- " this.root.append(nav_element);\n",
- "\n",
- " // Define a callback function for later on.\n",
- " function toolbar_event(event) {\n",
- " return fig.toolbar_button_onclick(event['data']);\n",
- " }\n",
- " function toolbar_mouse_event(event) {\n",
- " return fig.toolbar_button_onmouseover(event['data']);\n",
- " }\n",
- "\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",
- " // put a spacer in here.\n",
- " continue;\n",
- " }\n",
- " var button = $('<button/>');\n",
- " button.addClass('ui-button ui-widget ui-state-default ui-corner-all ' +\n",
- " 'ui-button-icon-only');\n",
- " button.attr('role', 'button');\n",
- " button.attr('aria-disabled', 'false');\n",
- " button.click(method_name, toolbar_event);\n",
- " button.mouseover(tooltip, toolbar_mouse_event);\n",
- "\n",
- " var icon_img = $('<span/>');\n",
- " icon_img.addClass('ui-button-icon-primary ui-icon');\n",
- " icon_img.addClass(image);\n",
- " icon_img.addClass('ui-corner-all');\n",
- "\n",
- " var tooltip_span = $('<span/>');\n",
- " tooltip_span.addClass('ui-button-text');\n",
- " tooltip_span.html(tooltip);\n",
- "\n",
- " button.append(icon_img);\n",
- " button.append(tooltip_span);\n",
- "\n",
- " nav_element.append(button);\n",
- " }\n",
- "\n",
- " var fmt_picker_span = $('<span/>');\n",
- "\n",
- " var fmt_picker = $('<select/>');\n",
- " fmt_picker.addClass('mpl-toolbar-option ui-widget ui-widget-content');\n",
- " fmt_picker_span.append(fmt_picker);\n",
- " nav_element.append(fmt_picker_span);\n",
- " this.format_dropdown = fmt_picker[0];\n",
- "\n",
- " for (var ind in mpl.extensions) {\n",
- " var fmt = mpl.extensions[ind];\n",
- " var option = $(\n",
- " '<option/>', {selected: fmt === mpl.default_extension}).html(fmt);\n",
- " fmt_picker.append(option)\n",
- " }\n",
- "\n",
- " // Add hover states to the ui-buttons\n",
- " $( \".ui-button\" ).hover(\n",
- " function() { $(this).addClass(\"ui-state-hover\");},\n",
- " function() { $(this).removeClass(\"ui-state-hover\");}\n",
- " );\n",
- "\n",
- " var status_bar = $('<span class=\"mpl-message\"/>');\n",
- " nav_element.append(status_bar);\n",
- " this.message = status_bar[0];\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",
- "\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",
- "\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]);\n",
- " fig.send_message(\"refresh\", {});\n",
- " };\n",
- "}\n",
- "\n",
- "mpl.figure.prototype.handle_rubberband = function(fig, msg) {\n",
- " var x0 = msg['x0'] / mpl.ratio;\n",
- " var y0 = (fig.canvas.height - msg['y0']) / mpl.ratio;\n",
- " var x1 = msg['x1'] / mpl.ratio;\n",
- " var y1 = (fig.canvas.height - msg['y1']) / mpl.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, 0, fig.canvas.width, fig.canvas.height);\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",
- " var cursor = msg['cursor'];\n",
- " switch(cursor)\n",
- " {\n",
- " case 0:\n",
- " cursor = 'pointer';\n",
- " break;\n",
- " case 1:\n",
- " cursor = 'default';\n",
- " break;\n",
- " case 2:\n",
- " cursor = 'crosshair';\n",
- " break;\n",
- " case 3:\n",
- " cursor = 'move';\n",
- " break;\n",
- " }\n",
- " fig.rubberband_canvas.style.cursor = 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.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",
- " /* 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",
- " evt.data.type = \"image/png\";\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",
- " fig.imageObj.src = (window.URL || window.webkitURL).createObjectURL(\n",
- " evt.data);\n",
- " fig.updated_canvas_event();\n",
- " fig.waiting = false;\n",
- " return;\n",
- " }\n",
- " else if (typeof evt.data === 'string' && evt.data.slice(0, 21) == \"data:image/png;base64\") {\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(\"No handler for the '\" + msg_type + \"' message type: \", msg);\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(\"Exception inside the 'handler_\" + msg_type + \"' callback:\", e, e.stack, msg);\n",
- " }\n",
- " }\n",
- " };\n",
- "}\n",
- "\n",
- "// from http://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",
- " if (e.target)\n",
- " targ = e.target;\n",
- " else if (e.srcElement)\n",
- " targ = e.srcElement;\n",
- " if (targ.nodeType == 3) // defeat Safari bug\n",
- " targ = targ.parentNode;\n",
- "\n",
- " // jQuery normalizes the pageX and pageY\n",
- " // pageX,Y are the mouse positions relative to the document\n",
- " // offset() returns the position of the element relative to the document\n",
- " var x = e.pageX - $(targ).offset().left;\n",
- " var y = e.pageY - $(targ).offset().top;\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",
- " * http://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",
- " 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",
- " {\n",
- " this.canvas.focus();\n",
- " this.canvas_div.focus();\n",
- " }\n",
- "\n",
- " var x = canvas_pos.x * mpl.ratio;\n",
- " var y = canvas_pos.y * mpl.ratio;\n",
- "\n",
- " this.send_message(name, {x: x, y: y, button: event.button,\n",
- " step: event.step,\n",
- " guiEvent: simpleKeys(event)});\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",
- "\n",
- " // Prevent repeat events\n",
- " if (name == 'key_press')\n",
- " {\n",
- " if (event.which === this._key)\n",
- " return;\n",
- " else\n",
- " this._key = event.which;\n",
- " }\n",
- " if (name == 'key_release')\n",
- " this._key = null;\n",
- "\n",
- " var value = '';\n",
- " if (event.ctrlKey && event.which != 17)\n",
- " value += \"ctrl+\";\n",
- " if (event.altKey && event.which != 18)\n",
- " value += \"alt+\";\n",
- " if (event.shiftKey && event.which != 16)\n",
- " value += \"shift+\";\n",
- "\n",
- " value += 'k';\n",
- " value += event.which.toString();\n",
- "\n",
- " this._key_event_extra(event, name);\n",
- "\n",
- " this.send_message(name, {key: value,\n",
- " 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",
- "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\", \"Pan axes with left mouse, zoom with right\", \"fa fa-arrows icon-move\", \"pan\"], [\"Zoom\", \"Zoom to rectangle\", \"fa fa-square-o icon-check-empty\", \"zoom\"], [\"\", \"\", \"\", \"\"], [\"Download\", \"Download plot\", \"fa fa-floppy-o icon-save\", \"download\"]];\n",
- "\n",
- "mpl.extensions = [\"eps\", \"jpeg\", \"pdf\", \"png\", \"ps\", \"raw\", \"svg\", \"tif\"];\n",
- "\n",
- "mpl.default_extension = \"png\";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.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",
- " // Pass the mpl event to the overriden (by mpl) onmessage function.\n",
- " ws.onmessage(msg['content']['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 = $(\"#\" + id);\n",
- " var ws_proxy = comm_websocket_adapter(comm)\n",
- "\n",
- " function ondownload(figure, format) {\n",
- " window.open(figure.imageObj.src);\n",
- " }\n",
- "\n",
- " var fig = new mpl.figure(id, ws_proxy,\n",
- " ondownload,\n",
- " element.get(0));\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.get(0);\n",
- " fig.cell_info = mpl.find_output_cell(\"<div id='\" + id + \"'></div>\");\n",
- " if (!fig.cell_info) {\n",
- " console.error(\"Failed to find cell for figure\", id, fig);\n",
- " return;\n",
- " }\n",
- "\n",
- " var output_index = fig.cell_info[2]\n",
- " var cell = fig.cell_info[0];\n",
- "\n",
- "};\n",
- "\n",
- "mpl.figure.prototype.handle_close = function(fig, msg) {\n",
- " var width = fig.canvas.width/mpl.ratio\n",
- " fig.root.unbind('remove')\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).html('<img src=\"' + dataURL + '\" width=\"' + width + '\">');\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/mpl.ratio\n",
- " var dataURL = this.canvas.toDataURL();\n",
- " this.cell_info[1]['text/html'] = '<img src=\"' + dataURL + '\" width=\"' + width + '\">';\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 () { fig.push_to_output() }, 1000);\n",
- "}\n",
- "\n",
- "mpl.figure.prototype._init_toolbar = function() {\n",
- " var fig = this;\n",
- "\n",
- " var nav_element = $('<div/>')\n",
- " nav_element.attr('style', 'width: 100%');\n",
- " this.root.append(nav_element);\n",
- "\n",
- " // Define a callback function for later on.\n",
- " function toolbar_event(event) {\n",
- " return fig.toolbar_button_onclick(event['data']);\n",
- " }\n",
- " function toolbar_mouse_event(event) {\n",
- " return fig.toolbar_button_onmouseover(event['data']);\n",
- " }\n",
- "\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) { continue; };\n",
- "\n",
- " var button = $('<button class=\"btn btn-default\" href=\"#\" title=\"' + name + '\"><i class=\"fa ' + image + ' fa-lg\"></i></button>');\n",
- " button.click(method_name, toolbar_event);\n",
- " button.mouseover(tooltip, toolbar_mouse_event);\n",
- " nav_element.append(button);\n",
- " }\n",
- "\n",
- " // Add the status bar.\n",
- " var status_bar = $('<span class=\"mpl-message\" style=\"text-align:right; float: right;\"/>');\n",
- " nav_element.append(status_bar);\n",
- " this.message = status_bar[0];\n",
- "\n",
- " // Add the close button to the window.\n",
- " var buttongrp = $('<div class=\"btn-group inline pull-right\"></div>');\n",
- " var button = $('<button class=\"btn btn-mini btn-primary\" href=\"#\" title=\"Stop Interaction\"><i class=\"fa fa-power-off icon-remove icon-large\"></i></button>');\n",
- " button.click(function (evt) { fig.handle_close(fig, {}); } );\n",
- " button.mouseover('Stop Interaction', toolbar_mouse_event);\n",
- " buttongrp.append(button);\n",
- " var titlebar = this.root.find($('.ui-dialog-titlebar'));\n",
- " titlebar.prepend(buttongrp);\n",
- "}\n",
- "\n",
- "mpl.figure.prototype._root_extra_style = function(el){\n",
- " var fig = this\n",
- " el.on(\"remove\", function(){\n",
- "\tfig.close_ws(fig, {});\n",
- " });\n",
- "}\n",
- "\n",
- "mpl.figure.prototype._canvas_extra_style = function(el){\n",
- " // this is important to make the div 'focusable\n",
- " el.attr('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",
- " }\n",
- " else {\n",
- " // location in version 2\n",
- " IPython.keyboard_manager.register_events(el);\n",
- " }\n",
- "\n",
- "}\n",
- "\n",
- "mpl.figure.prototype._key_event_extra = function(event, name) {\n",
- " var manager = IPython.notebook.keyboard_manager;\n",
- " if (!manager)\n",
- " manager = IPython.keyboard_manager;\n",
- "\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",
- "\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('matplotlib', mpl.mpl_figure_comm);\n",
- "}\n"
- ],
- "text/plain": [
- "<IPython.core.display.Javascript object>"
- ]
- },
- "metadata": {},
- "output_type": "display_data"
- },
- {
- "data": {
- "text/html": [
- "<img src=\"data:image/png;base64,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\" width=\"640\">"
- ],
- "text/plain": [
- "<IPython.core.display.HTML object>"
- ]
- },
- "metadata": {},
- "output_type": "display_data"
- }
- ],
+ "outputs": [],
"source": [
"#Ad hoc\n",
"option_delta = Index.from_name('IG', 29, '5yr')\n",
@@ -6065,174 +202,27 @@
},
{
"cell_type": "code",
- "execution_count": 85,
+ "execution_count": null,
"metadata": {},
- "outputs": [
- {
- "data": {
- "text/html": [
- "Portfolio 2017-12-18\n",
- "\n",
- "<table border=\"1\" class=\"dataframe\">\n",
- " <thead>\n",
- " <tr style=\"text-align: right;\">\n",
- " <th>Product</th>\n",
- " <th>Index</th>\n",
- " <th>Notional</th>\n",
- " <th>Ref</th>\n",
- " <th>Strike</th>\n",
- " <th>Direction</th>\n",
- " <th>Expiry</th>\n",
- " <th>Vol</th>\n",
- " <th>PV</th>\n",
- " <th>Delta</th>\n",
- " <th>Gamma</th>\n",
- " <th>Theta</th>\n",
- " <th>Vega</th>\n",
- " </tr>\n",
- " </thead>\n",
- " <tbody>\n",
- " <tr>\n",
- " <td>Swaption</td>\n",
- " <td>IG29 5yr</td>\n",
- " <td>100,000,000.00</td>\n",
- " <td>49.50</td>\n",
- " <td>55</td>\n",
- " <td>Long</td>\n",
- " <td>2018-02-21</td>\n",
- " <td>38.00%</td>\n",
- " <td>86,764.11</td>\n",
- " <td>38.97%</td>\n",
- " <td>45.49%</td>\n",
- " <td>-1,084.69</td>\n",
- " <td>3,721.12</td>\n",
- " </tr>\n",
- " <tr>\n",
- " <td>Swaption</td>\n",
- " <td>IG29 5yr</td>\n",
- " <td>200,000,000.00</td>\n",
- " <td>49.50</td>\n",
- " <td>67.5</td>\n",
- " <td>Short</td>\n",
- " <td>2018-02-21</td>\n",
- " <td>61.00%</td>\n",
- " <td>-101,282.59</td>\n",
- " <td>-18.32%</td>\n",
- " <td>-20.38%</td>\n",
- " <td>2,375.57</td>\n",
- " <td>-5,130.32</td>\n",
- " </tr>\n",
- " <tr>\n",
- " <td>Swaption</td>\n",
- " <td>IG29 5yr</td>\n",
- " <td>100,000,000.00</td>\n",
- " <td>49.50</td>\n",
- " <td>52.5</td>\n",
- " <td>Short</td>\n",
- " <td>2018-01-21</td>\n",
- " <td>37.10%</td>\n",
- " <td>-67,574.92</td>\n",
- " <td>-42.02%</td>\n",
- " <td>-61.67%</td>\n",
- " <td>1,489.81</td>\n",
- " <td>-2,736.96</td>\n",
- " </tr>\n",
- " <tr>\n",
- " <td>Swaption</td>\n",
- " <td>IG29 5yr</td>\n",
- " <td>100,000,000.00</td>\n",
- " <td>49.50</td>\n",
- " <td>60</td>\n",
- " <td>Long</td>\n",
- " <td>2018-01-21</td>\n",
- " <td>58.10%</td>\n",
- " <td>39,028.47</td>\n",
- " <td>20.03%</td>\n",
- " <td>30.80%</td>\n",
- " <td>-1,623.74</td>\n",
- " <td>1,929.39</td>\n",
- " </tr>\n",
- " <tr>\n",
- " <td>Index</td>\n",
- " <td>IG29 5yr</td>\n",
- " <td>2,338,034.31</td>\n",
- " <td>49.50</td>\n",
- " <td>N/A</td>\n",
- " <td>Seller</td>\n",
- " <td>N/A</td>\n",
- " <td>N/A</td>\n",
- " <td>61,436.64</td>\n",
- " <td>100.00%</td>\n",
- " <td>0.00%</td>\n",
- " <td>35.60</td>\n",
- " <td>0.00</td>\n",
- " </tr>\n",
- " </tbody>\n",
- "</table>"
- ],
- "text/plain": [
- "Portfolio 2017-12-18\n",
- "\n",
- "Product Index Notional Ref Strike Direction Expiry Vol PV Delta \\\n",
- "Swaption IG29 5yr 100,000,000.00 49.50 55 Long 2018-02-21 38.00% 86,764.11 38.97% \n",
- "Swaption IG29 5yr 200,000,000.00 49.50 67.5 Short 2018-02-21 61.00% -101,282.59 -18.32% \n",
- "Swaption IG29 5yr 100,000,000.00 49.50 52.5 Short 2018-01-21 37.10% -67,574.92 -42.02% \n",
- "Swaption IG29 5yr 100,000,000.00 49.50 60 Long 2018-01-21 58.10% 39,028.47 20.03% \n",
- " Index IG29 5yr 2,338,034.31 49.50 N/A Seller N/A N/A 61,436.64 100.00% \n",
- "\n",
- " Gamma Theta Vega \n",
- "45.49% -1,084.69 3,721.12 \n",
- "-20.38% 2,375.57 -5,130.32 \n",
- "-61.67% 1,489.81 -2,736.96 \n",
- "30.80% -1,623.74 1,929.39 \n",
- " 0.00% 35.60 0.00"
- ]
- },
- "execution_count": 85,
- "metadata": {},
- "output_type": "execute_result"
- }
- ],
+ "outputs": [],
"source": [
"portf"
]
},
{
"cell_type": "code",
- "execution_count": 86,
+ "execution_count": null,
"metadata": {},
- "outputs": [
- {
- "data": {
- "text/plain": [
- "18371.70515613936"
- ]
- },
- "execution_count": 86,
- "metadata": {},
- "output_type": "execute_result"
- }
- ],
+ "outputs": [],
"source": [
"portf.pv"
]
},
{
"cell_type": "code",
- "execution_count": 90,
+ "execution_count": null,
"metadata": {},
- "outputs": [
- {
- "data": {
- "text/plain": [
- "49331.119620099111"
- ]
- },
- "execution_count": 90,
- "metadata": {},
- "output_type": "execute_result"
- }
- ],
+ "outputs": [],
"source": [
"portf.trade_date = datetime.date(2018,1,16)\n",
"portf.ref = 47\n",
@@ -6242,9 +232,7 @@
{
"cell_type": "code",
"execution_count": null,
- "metadata": {
- "collapsed": true
- },
+ "metadata": {},
"outputs": [],
"source": []
}