Skip to content

Instantly share code, notes, and snippets.

@genkuroki
Created June 19, 2017 12:15
Show Gist options
  • Save genkuroki/6e34061a1608afb0115010f20a55c2a0 to your computer and use it in GitHub Desktop.
Save genkuroki/6e34061a1608afb0115010f20a55c2a0 to your computer and use it in GitHub Desktop.
sympy plot_implicit examples.ipynb
Display the source blob
Display the rendered blob
Raw
{
"cells": [
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# sympy plot_implicit examples"
]
},
{
"cell_type": "code",
"execution_count": 1,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAGcAAAAYBAMAAAAVG/7eAAAAMFBMVEX///8AAAAAAAAAAAAAAAAA\nAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAv3aB7AAAAD3RSTlMAEHarIkSJZt3NVLsy\nme8Q6PJIAAAACXBIWXMAAA7EAAAOxAGVKw4bAAABe0lEQVQ4EY2TP0vDQByG38Q0jWmrof0ABgW3\nal1EJ7OIjsXBSbCTW8HP4KJOdmxc2llQqo4i5htYXMShg066iAX/bTFc7nd30UR6w+W5596XS0IC\nxKN57XBKXDJ0nDG9sVYi/a/mScsrvqeUMjSV6sZHWildi6Q9FKhChuYRy1WzgjM032+KXAJ+a2Nw\nFYhAvi9QhT+6AlM+/Ca24rDtqiWhSS4Ar8TF45PzmBMlqSn4DKwEfDERhm8pJamp1HFYqTyzOuuS\nA+ik8h2MR6kVOnKgNfJ7lvIJUalxBp0frhQizH0CpmMObU96XjK6Dyj0pJZk1QAN43LP9P32i+8z\n/YRJl0e19kE0DgO2HLBZ7LEV3V5uiNs4xbSY9D7D5B6VSi3MiaQCpzA82M48dEdaKhVquJRWULEP\n3cN29wZrwslXXurlvhRNuL7TXAIq0+X7XVLRlU7SFqtpv2UnDL+VNEcqAdFTjTo0L04uY6o+akfk\n9nEheGTYqAaZ2R9co1KPxlKKUQAAAABJRU5ErkJggg==\n",
"text/latex": [
"$$x^{2} + y^{2} - 2$$"
],
"text/plain": [
" 2 2 \n",
"x + y - 2"
]
},
"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,iVBORw0KGgoAAAANSUhEUgAABLAAAAOECAYAAACxbcj6AAAgAElEQVR4XuzdCdgVZf3G8Vt2EEPNFVFEizAr96VcMmVR6W+4gLmWqJgpmZmpaSoQZu65VQqaaSqLpiYpouYW5b6FopXgkgtiuSEKCP/rOUdke1/emXPmnvOcOd9zXV4tzPxmns/vcc7j7cycFcQHAQQQQAABBBBAAAEEEEAAAQQQQACBiAVWiPjcODUEEEAAAQQQQAABBBBAAAEEEEAAAQREgMUkQAABBBBAAAEEEEAAAQQQQAABBBCIWoAAK+r2cHIIIIAAAggggAACCCCAAAIIIIAAAgRYzAEEEEAAAQQQQAABBBBAAAEEEEAAgagFCLCibg8nhwACCCCAAAIIIIAAAggggAACCCBAgMUcQAABBBBAAAEEEEAAAQQQQAABBBCIWoAAK+r2cHIIIIAAAggggAACCCCAAAIIIIAAAgRYzAEEEEAAAQQQQAABBBBAAAEEEEAAgagFCLCibg8nhwACCCCAAAIIIIAAAggggAACCCBAgMUcQAABBBBAAAEEEEAAAQQQQAABBBCIWoAAK+r2cHIIIIAAAggggAACCCCAAAIIIIAAAgRYzAEEEEAAAQQQQAABBBBAAAEEEEAAgagFCLCibg8nhwACCCCAAAIIIIAAAggggAACCCBAgMUcQAABBBBAAAEEEEAAAQQQQAABBBCIWoAAK+r2cHIIIIAAAggggAACCCCAAAIIIIAAAgRYzAEEEEAAAQQQQAABBBBAAAEEEEAAgagFCLCibg8nhwACCCCAAAIIIIAAAggggAACCCBAgMUcQAABBBBAAAEEEEAAAQQQQAABBBCIWoAAK+r2cHIIIIAAAggggAACCCCAAAIIIIAAAgRYzAEEEEAAAQQQQAABBBBAAAEEEEAAgagFCLCibg8nhwACCCCAAAIIIIAAAggggAACCCBAgMUcQAABBBBAAAEEEEAAAQQQQAABBBCIWoAAK+r2cHIIIIAAAggggAACCCCAAAIIIIAAAgRYzAEEEEAAAQQQQAABBBBAAAEEEEAAgagFCLCibg8nhwACCCCAAAIIIIAAAggggAACCCBAgMUcQAABBBBAAAEEEEAAAQQQQAABBBCIWoAAK+r2cHIIIIAAAggggAACCCCAAAIIIIAAAgRYzAEEEEAAAQQQQAABBBBAAAEEEEAAgagFCLCibg8nhwACCCCAAAIIIIAAAggggAACCCBAgMUcQAABBBBAAAEEEEAAAQQQQAABBBCIWoAAK+r2cHIIIIAAAggggAACCCCAAAIIIIAAAgRYzAEEEEAAAQQQQAABBBBAAAEEEEAAgagFCLCibg8nhwACCCCAAAIIIIAAAggggAACCCBAgMUcQAABBBBAAAEEEEAAAQQQQAABBBCIWoAAK+r2cHIIIIAAAggggAACCCCAAAIIIIAAAgRYzAEEEEAAAQQQQAABBBBAAAEEEEAAgagFCLCibg8nhwACCCCAAAIIIIAAAggggAACCCBAgMUcQAABBBBAAAEEEEAAAQQQQAABBBCIWoAAK+r2cHIIIIAAAggggAACCCCAAAIIIIAAAgRYzAEEEEAAAQQQQAABBBBAAAEEEEAAgagFCLCibg8nhwACCCCAAAIIIIAAAggggAACCCBAgMUcQAABBBBAAAEEEEAAAQQQQAABBBCIWoAAK+r2cHIIIIAAAggggAACCCCAAAIIIIAAAgRYzAEEEEAAAQQQQAABBBBAAAEEEEAAgagFCLCibg8nhwACCCCAAAIIIIAAAggggAACCCBAgMUcQAABBBBAAAEEEEAAAQQQQAABBBCIWoAAK+r2cHIIIIAAAggggAACCCCAAAIIIIAAAgRYzAEEEEAAAQQQQAABBBBAAAEEEEAAgagFCLCibg8nhwACCCCAAAIIIIAAAggggAACCCBAgMUcQAABBBBAAAEEEEAAAQQQQAABBBCIWoAAK+r2cHIIIIAAAggggAACCCCAAAIIIIAAAgRYzAEEEEAAAQQQQAABBBBAAAEEEEAAgagFCLCibg8nhwACCCCAAAIIIIAAAggggAACCCBAgMUcQAABBBBAAAEEEEAAAQQQQAABBBCIWoAAK+r2cHIIIIAAAggggAACCCCAAAIIIIAAAgRYzAEEEEAAAQQQQAABBBBAAAEEEEAAgagFCLCibg8nhwACCCCAAAIIIIAAAggggAACCCBAgMUcQAABBBBAAAEEEEAAAQQQQAABBBCIWoAAK+r2cHIIIIAAAggggAACCCCAAAIIIIAAAgRYzAEEEEAAAQQQQAABBBBAAAEEEEAAgagFCLCibg8nhwACCCCAAAIIIIAAAggggAACCCBAgMUcQAABBBBAAAEEEEAAAQQQQAABBBCIWoAAK+r2cHIIIIAAAggggAACCCCAAAIIIIAAAgRYzAEEEEAAAQQQQAABBBBAAAEEEEAAgagFCLCibg8nhwACCCCAAAIIIIAAAggggAACCCBAgMUcQAABBBBAAAEEEEAAAQQQQAABBBCIWoAAK+r2cHIIIIAAAggggAACCCCAAAIIIIAAAgRYzAEEEEAAAQQQQAABBBBAAAEEEEAAgagFCLCibg8nhwACCCCAAAIIIIAAAggggAACCCBAgMUcQAABBBBAAAEEEEAAAQQQQAABBBCIWoAAK+r2cHIIIIAAAggggAACCCCAAAIIIIAAAgRYzAEEEEAAAQQQQAABBBBAAAEEEEAAgagFCLCibg8nhwACCCCAAAIIIIAAAggggAACCCBAgMUcQAABBBBAAAEEEEAAAQQQQAABBBCIWoAAK+r2cHIIIIAAAggggAACCCCAAAIIIIAAAgRYzAEEEEAAAQQQQAABBBBAAAEEEEAAgagFCLCibg8nhwACCCCAAAIIIIAAAggggAACCCBAgMUcQAABBBBAAAEEEEAAAQQQQAABBBCIWoAAK+r2cHIIIIAAAggggAACCCCAAAIIIIAAAgRYzAEEEEAAAQQQQAABBBBAAAEEEEAAgagFCLCibg8nhwACCCCAAAIIIIAAAggggAACCCBAgMUcQAABBBBAAAEEEEAAAQQQQAABBBCIWoAAK+r2cHIIIIAAAggggAACCCCAAAIIIIAAAgRYzAEEEEAAAQQQQAABBBBAAAEEEEAAgagFCLCibg8nhwACCCCAAAIIIIAAAggggAACCCBAgMUcQAABBBBAAAEEEEAAAQQQQAABBBCIWoAAK+r2cHIIIIAAAggggAACCCCAAAIIIIAAAgRYzAEEEEAAAQQQQAABBBBAAAEEEEAAgagFCLCibg8nhwACCCCAAAIIIIAAAggggAACCCBAgMUcQAABBBBAAAEEEEAAAQQQQAABBBCIWoAAK+r2cHIIIIAAAggggAACCCCAAAIIIIAAAgRYzAEEEEAAAQQQQAABBBBAAAEEEEAAgagFCLCibg8nhwACCCCAAAIIIIAAAggggAACCCBAgMUcQAABBBBAAAEEEEAAAQQQQAABBBCIWoAAK+r2cHIIIIAAAggggAACCCCAAAIIIIAAAgRYzAEEEEAAAQQQQAABBBBAAAEEEEAAgagFCLCibg8nhwACCCCAAAIIIIAAAggggAACCCBAgMUcQAABBBBAAIF6E+goaVdJ/SRtJWlDSStKelvSU5JukHSlpNlVDmwlScdK2kdSD0kfS3pe0rWSLpE0t8r67I4AAggggAACCCCQUIAAKyEUmyGAAAIIIIBANALvSgrh0vI+UyXtIemfFZ51CKzulLRBM/s/KqmPpP9VWJ/dEEAAAQQQQAABBFIIEGClwGJTBBBAAAEEEIhCYIGkjyTdKOlmSQ9/EiStJ+kISd+TFNY40yV9WdL7Kc+6naTHJG38yV1cP5H0R0ltJX1H0qmSWkmaJKlvytpsjgACCCCAAAIIIFCBAAFWBWjsggACCCCAAAI1FbhY0ghJbzRzFidIOvOTPwv//ayUZ3u0pIs+2WeQpHFL7f9jSWd/8v99U9KElPXZHAEEEEAAAQQQQCClAAFWSjA2RwABBBBAIHKBgySNz+D9T5EPc7mn10bS65I+K+keSd9IOZgpkr4o6XFJmzexb7gT6xVJa3wSXoUQiw8CCCCAAAIIIICAUYAAy4hLaQQQQAABBGogMF/Se5/cNXSVpPtrcA4xHPJvkrb95KXrX0hxQuGdV//+ZPuTJZ3RzL6XSTpc0oefBGUfpDgGmyKAAAIIIIAAAgikFCDASgnG5ggggAACCEQuEH4pL3y/h/dEhc8Lkn4n6feSXo783LM8vTDu8CL2Rz75pcKktcMvDi58ZLC3pLua2fFQSaM++bPwS4jhOHwQQAABBBBAAAEETAIEWCZYyiKAAAIIIFAjgW6fvGg8PErY85NzCGFW+Osvkq785OXn4c6hon42++Ql7GF84X1ZQ1MMNNx19fNPtg93Y01rZt+dFwu3DpT0hxTHYFMEEEAAAQQQQACBlAIEWCnB2ByBRhVYsGDBCuPGjVstjH/llVfmUZkMJ8Lbb7/dCdcMQRcr1ei2Bx988FZvvfXWgXPnzt0r/K27WJj1Xps2bW787Gc/+4err77672n1Y3fddddd/zR//vzw3qsF66677rajR48O77RK9PnmN7955pw5c8JL3LXXXnut+b3vfW9WUzseeuihG7/88ssPhj/r2LHj8TfffPOvkxzg8ssvL/393txn/vz5n+3Ro8fsTTbZZOaaa66ZpCTbJBSIfd4mHEZ0m+Hqawm2ftuBAwfOXGGFFRbesew7IJURQCATAQKsTBgpgkDxBcaOHbt6u3btZhR/pIwQgeIJzJ07Vw899JD+8pe/6PHHH9f8+fO1wgrlJcBaa62lnXfeWTvttJNWW62UUdf1549//KOuuiq8+kvabbfddMQRR6QazyWXXKJJkyaV9rnhhhvUunXrJvd/7bXXdOSRR5b+7IADDtDAgQMTHWfAgAGJtrv++uvVoUOHRNuyEQIIIIBAZQJz5sxZY9CgQW9Wtjd7IYBA3gIEWHmLczwE6lSAAKtOG8dpI7CUwNtvv6177rmn9NeLL75Y+tMQZoW/vvzlL2uXXXbRtttuq7Ztww/t1dcnhHMjRowoBXTdu3fXWWedpfbt26caBAFWKi42RgABBOpagACrrtvHyTegAAFWAzadISNQicAdd9yx4gcffPB+2Ldfv35q0yb8Sj2fagXmzZuniRMnlsrgWq3mkvtju3zPV199Vccff7zGjRtXCq8WLCg/QRH++yqrrKKjjjpKxx13nDp1WvKJt1hdH330UfXp00fvvfee1l13Xd17772l/0z7CWO+8MILS7v973//U+fOnZss8fTTT2vzzTcv/dl5552noUOTvWZr1qwmn0gs1XnnnXdKwVv4zJw5U126dEl7+mzfjECs87beG4arr4PY5mPbqVOnzn379m3+wuw7DSojgEAFAgRYFaCxCwKNKLB4gNW/f38CrIwmQVigTpgwoVQN14xQPymD7bKeH330kRY+YnfnnXeW7lQKwVUIrcJjhOGRtRCoBrvw/22wwQalxw67dQvvhS9/YnR9/vnntf322+vNN9/U6quvrvvuu0+9evWqaEKNHDlSp5xySmnfF154QT16hB8yXPZz1113qXfv8COF0jXXXFN6jLDaTwiwVl65/KqycKccAVa1oov2j3HeZje62lXC1WePbT62BFg+Zyoj4BAgwHKoUhOBAgoQYHmaygLV4xpr0OIb7fIrT548ufReqLFjx+rdd9/99G6rcLfPd7/7XR1yyCFab731SkXeeOMNXXrppTr33HM1e/Zs7bfffqWAZuEntjn78ssvl8Krl156SZ/5zGdKgdvCO6Mq8R4/fvyn77MKIVUI9pr6jBo1Socffnjpjx5++GFtueWWlRxuiX0IsKombLZAbPPWN9J8K+Pq88Y2H1sCLJ8zlRFwCBBgOVSpiUABBQiwPE1lgepxJcCSQrDz+9//vvTXv/71rxJ0uNsq3GW15557avDg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E4ECChBgeZrKAtXjSoBVfNdnnnlG77777qcDHTVqlEaPHq127drp3nvvXQJgs802WyKQ2mmnnUrbdO/eXdOnT19i25tuuknf//73deCBB5Z+YbBXr17q0qWLQrg0efJknX322XrsscdK+3z9618vPUbYqlWrTMAJsDJhJMDyMRJgYZujgO9Qi6+9CLB8zlRGwCFAgOVQpSYCBRQgwPI0lQDL40qAVXzXhSFUkpFOmzZN66+//qebthRg7bnnni2WDb9sec0112jllVducdukGxBgJZVKvx3X2vRmSfbANYlSZdtgW5lbkr0IsJIosQ0CcQoQYMXZF84KgegECLA8LWGB6nElwCq+qyvACu+3Gjt2bOluq6eeekozZszQ//73v9IdXF27dtU222yjgw46SH369MkcmQArc9JPC3Kt9dji6nHlO8znurQtd2B5ramOQNYCBFhZi1IPgYIKEGB5Gsvi3+PK4h9Xn4CvMgGWz5ZrrccWV48r32E+VwIsry3VEXALEGC5hamPQEEECLA8jWTx73Fl8Y+rT8BXmQDLZ8u11mOLq8eV7zCfKwGW15bqCLgFCLDcwtRHoCACBFieRrL497iy+MfVJ+CrTIDls+Va67HF1ePKd5jPlQDLa0t1BNwCBFhuYeojUBABAixPI1n8e1xZ/OPqE8i28scfS889V675/vvvaJttyi+Ff/DBt9W5c5fSf//CF6TWrbM9bqNV41rr6TiuHle+w3yuBFheW6oj4BYgwHILUx+BgggQYHkayeLf48riH1efQNOVf/lLac6c9Ef98EPp1lulPfaQ5s17R2eeWQ6wTjzxbbVp00W33CL17y917Ji+drt20gknpN+viHtwrfV0FVePK99hPlcCLK8t1RFwCxBguYWpj0BBBAiwPI1k8e9xZfGPazUCr7yybBg1aZJ0001Sp07NVz7llMqOuuqqUvfuUlOPEL74ovTf/1ZW9+c/b36/Dz6QBgyQlv4xxRB6detW2fFi3otrrac7uHpc+Q7zuRJgeW2pjoBbgADLLUx9BAoiQIDlaSSLf48ri39ckwrcc4/08MNLbn3FFdI3v7lshUMPlXr1Slo5/XZ5vgNr6lRp9Ohlz3HCBOmQQ5b8/7faStppp/TjiWkPrrWebuDqceU7zOdKgOW1pToCbgECLLcw9REoiAABlqeRLP49riz+cV0oEO5e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jXGNTVX2htiWTRZ7B96BFZuKDRFInQABVupawgEhkE4BAixPX1igelwJsIrr+uabb6pr164lgHBnVLhDqpzPOeeco9tuu02tWrUqvQOroUcVQ71TTz1Vd999tzp06KBly5aV8xWNbssdWIkwNliEc63HFlePK9cwn+umttyB5bWmOgJJCxBgJS1KPQRyKkCA5Wksi3+PK4v/4rqOHTtW559/fgkgvMQ9vMy9nE+/fv306KOPapdddtEbb7zR6K6XX365rrzyytKfv/322+rSpUs5X9PgtgRYzSZstADnWo8trh5XrmE+VwIsry3VEXALEGC5hamPQE4ENgywBgwYULo7gU/zBcLif/r06aVCuDbfc8MK2CbrWV8tza7vvfee9tprLy1ZskQ777yzXn755UbvoGpMJ/z64Ny5c0vv0QovgW/sc+utt5bekRU+zz77rPbee+9Y4CtWNP5r7SHAqr97bOnSperYsWOsmmzUtECa523TR5/eLXD19Qbb6thyB5bPmcoIOAQIsByq1EQghwITJ07cvnXr1u/mcGgMCQEEciAQfh1w9OjR+uMf/1gaTXh88JBDDil7ZCNGjNDChQvVo0cPXXPNNY3uP2PGjNKjhuEzZswY7bHHHrG+a9CgQbG2u/feez99l1esHdgIAQQQQKBsgdWrV+8wZMiQJWXvyA4IIFATAQKsmrDzpQhkT4AAK3s944gRqLVAeKF6uBuqOZ/waF6LFk0vV+655x5NmjSp9FVHHHGEwrusKvkQYFWixj4IIIBANgUIsLLZN466uAJNrwiLa8PIEUBgA4F169a1mDRp0nbhX33uc5/7OzjJCbz//vvtcU3Oc8NK2NbWdejQoX3efffdh5tzFN/61rc+P2TIkFVbqjFo0KDT/v73v98StmnZsuVvv/e97x1/+OGHr6nke4888sgn165du3fLli3nTJs2rU9jNY499thvr1y58rrw5zvvvPOB48ePfyHO940bN67033tjn7Vr136+W7duK3v27Lm0U6dOcUqyTUwBzgcxocrcDNcywcrYHNsysMrctN72xBNPXNqiRYt1Ze7O5gggUCMBAqwawfO1CCCAAAIIFEDgUEmPNXOc7SR9uIUa4S3tE0N2JenpcAOWpMZfNNX0wcz4pMabkqKfM2z4E97g/oNP/mhnSQuaLs0WCCCAAAIIIIAAApUKEGBV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\" width=\"640\">"
],
"text/plain": [
"<IPython.core.display.HTML object>"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"text/plain": [
"<sympy.plotting.plot.Plot at 0x9fd1c26c18>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"%matplotlib notebook\n",
"from sympy import *\n",
"init_printing()\n",
"from IPython.display import display\n",
"\n",
"x, y = symbols(\"x y\")\n",
"f = x**2+y**2-2\n",
"display(f)\n",
"p = plot_implicit(f,(x,-2,2),(y,-2,2))\n",
"fig = p._backend.fig\n",
"ax = p._backend.ax\n",
"ax.set_aspect('equal')\n",
"ax.grid(True)\n",
"display(p)"
]
},
{
"cell_type": "code",
"execution_count": 2,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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\nRU5ErkJggg==\n",
"text/latex": [
"$$x \\left(x^{2} - 9\\right) \\left(x^{2} - 4\\right) \\left(x^{2} - 1\\right) - 1.4 y \\left(y^{2} - 9\\right) \\left(y^{2} - 4\\right) \\left(y^{2} - 1\\right)$$"
],
"text/plain": [
" ⎛ 2 ⎞ ⎛ 2 ⎞ ⎛ 2 ⎞ ⎛ 2 ⎞ ⎛ 2 ⎞ ⎛ 2 ⎞\n",
"x⋅⎝x - 9⎠⋅⎝x - 4⎠⋅⎝x - 1⎠ - 1.4⋅y⋅⎝y - 9⎠⋅⎝y - 4⎠⋅⎝y - 1⎠"
]
},
"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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ECBAgEBFAgKsioatVQIECBAgQIAAAQIECBAgQIBAiQICrBKnpmYCBAgQIECAAAECBAgQIECAQEUCAqyKhq1VAgQIECBAgAABAgQIECBAgECJAgKsEqemZgIECBAgQIAAAQIECBAgQIBARQICrIqGrVUCBAgQIECAAAECBAgQIECAQIkCAqwSp6ZmAgQIECBAgAABAgQIECBAgEBFAgKsioatVQIECBAgQIAAAQIECBAgQIBAiQICrBKnpmYCBAgQIECAAAECBAgQIECAQEUCAqyKhq1VAgQIECBAgAABAgQIECBAgECJAgKsEqemZgIECBAgQIAAAQIECBAgQIBARQICrIqGrVUCBAgQIECAAAECBAgQIECAQIkCAqwSp6ZmAgQIECBAgAABAgQIECBAgEBFAgKsioatVQIECBAgQIAAAQIECBAgQIBAiQICrBKnpmYCBAgQIECAAAECBAgQIECAQEUCAqyKhq1VAgQIECBAgAABAgQIECBAgECJAgKsEqemZgIECBAgQIAAAQIECBAgQIBARQICrIqGrVUCBAgQIECAAAECBAgQIECAQIkCAqwSp6ZmAgQIECBAgAABAgQIECBAgEBFAgKsioatVQIECBAgQIAAAQIECBAgQIBAiQICrBKnpmYCBAgQIECAAAECBAgQIECAQEUCAqyKhq1VAgQIECBAgAABAgQIECBAgECJAgKsEqemZgIECBAgQIAAAQIECBAgQIBARQICrIqGrVUCBAgQIECAAAECBAgQIECAQIkCAqwSp6ZmAgQIECBAgAABAgQIECBAgEBFAgKsioatVQIECBAgQIAAAQIECBAgQIBAiQICrBKnpmYCBAgQIECAAAECBAgQIECAQEUCAqyKhq1VAgQIECBAgAABAgQIECBAgECJAgKsEqemZgIECBAgQIAAAQIECBAgQIBARQICrIqGrVUCBAgQIECAAAECBAgQIECAQIkCAqwSp6ZmAgQIECBAgAABAgQIECBAgEBFAgKsioatVQIECBAgQIAAAQIECBAgQIBAiQICrBKnpmYCBAgQIECAAAECBAgQIECAQEUCAqyKhq1VAgQIECBAgAABAgQIECBAgECJAgKsEqemZgIECBAgQIAAAQIECBAgQIBARQICrIqG75uDfQAABXpJREFUrVUCBAgQIECAAAECBAgQIECAQIkCAqwSp6ZmAgQIECBAgAABAgQIECBAgEBFAgKsioatVQIECBAgQIAAAQIECBAgQIBAiQICrBKnpmYCBAgQIECAAAECBAgQIECAQEUCAqyKhq1VAgQIECBAgAABAgQIECBAgECJAgKsEqemZgIECBAgQIAAAQIECBAgQIBARQICrIqGrVUCBAgQIECAAAECBAgQIECAQIkCAqwSp6ZmAgQIECBAgAABAgQIECBAgEBFAgKsioatVQIECBAgQIAAAQIECBAgQIBAiQICrBKnpmYCBAgQIECAAAECBAgQIECAQEUCAqyKhq1VAgQIECBAgAABAgQIECBAgECJAgKsEqemZgIECBAgQIAAAQIECBAgQIBARQICrIqGrVUCBAgQIECAAAECBAgQIECAQIkCAqwSp6ZmAgQIECBAgAABAgQIECBAgEBFAgKsioatVQIECBAgQIAAAQIECBAgQIBAiQICrBKnpmYCBAgQIECAAAECBAgQIECAQEUCAqyKhq1VAgQIECBAgAABAgQIECBAgECJAgKsEqemZgIECBAgQIAAAQIECBAgQIBARQICrIqGrVUCBAgQIECAAAECBAgQIECAQIkCAqwSp6ZmAgQIECBAgAABAgQIECBAgEBFAgKsioatVQIECBAgQIAAAQIECBAgQIBAiQICrBKnpmYCBAgQIECAAAECBAgQIECAQEUCAqyKhq1VAgQIECBAgAABAgQIECBAgECJAgKsEqemZgIECBAgQIAAAQIECBAgQIBARQICrIqGrVUCBAgQIECAAAECBAgQIECAQIkCAqwSp6ZmAgQIECBAgAABAgQIECBAgEBFAgKsioatVQIECBAgQIAAAQIECBAgQIBAiQICrBKnpmYCBAgQIECAAAECBAgQIECAQEUCAqyKhq1VAgQIECBAgAABAgQIECBAgECJAgKsEqemZgIECBAgQIAAAQIECBAgQIBARQICrIqGrVUCBAgQIECAAAECBAgQIECAQIkCAqwSp6ZmAgQIECBAgAABAgQIECBAgEBFAgKsioatVQIECBAgQIAAAQIECBAgQIBAiQICrBKnpmYCBAgQIECAAAECBAgQIECAQEUCAqyKhq1VAgQIECBAgAABAgQIECBAgECJAgKsEqemZgIECBAgQIAAAQIECBAgQIBARQICrIqGrVUCBAgQIECAAAECBAgQIECAQIkCAqwSp6ZmAgQIECBAgAABAgQIECBAgEBFAgKsioatVQIECBAgQIAAAQIECBAgQIBAiQICrBKnpmYCBAgQIECAAAECBAgQIECAQEUCAqyKhq1VAgQIECBAgAABAgQIECBAgECJAgKsEqemZgIECBAgQIAAAQIECBAgQIBARQICrIqGrVUCBAgQIECAAAECBAgQIECAQIkCAqwSp6ZmAgQIECBAgAABAgQIECBAgEBFAgKsioatVQIECBAgQIAAAQIECBAgQIBAiQICrBKnpmYCBAgQIECAAAECBAgQIECAQEUCAqyKhq1VAgQIECBAgAABAgQIECBAgECJAgKsEqemZgIECBAgQIAAAQIECBAgQIBARQICrIqGrVUCBAgQIECAAAECBAgQIECAQIkCAqwSp6ZmAgQIECBAgAABAgQIECBAgEBFAgKsioatVQIECBAgQIAAAQIECBAgQIBAiQICrBKnpmYCBAgQIECAAAECBAgQIECAQEUCAqyKhq1VAgQIECBAgAABAgQIECBAgECJAgKsEqemZgIECBAgQIAAAQIECBAgQIBARQICrIqGrVUCBAgQIECAAAECBAgQIECAQIkCAqwSp6ZmAgQIECBAgAABAgQIECBAgEBFAv8fgZzIvbI28zkAAAAASUVORK5CYII=\" width=\"640\">"
],
"text/plain": [
"<IPython.core.display.HTML object>"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"text/plain": [
"<sympy.plotting.plot.Plot at 0x9fd30b8ba8>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"from sympy import *\n",
"init_printing()\n",
"from IPython.display import display\n",
"%matplotlib notebook\n",
"\n",
"x, y = symbols(\"x y\")\n",
"f = x*(x** 2-1)*(x**2-4)*(x**2-9)-1.4*y*(y**2-1)*(y**2-4)*(y**2-9)\n",
"display(f)\n",
"p = plot_implicit(f, (x, -5, 5), (y, -5, 5))\n",
"p._backend.ax.set_aspect('equal')\n",
"display(p)"
]
},
{
"cell_type": "code",
"execution_count": 3,
"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,iVBORw0KGgoAAAANSUhEUgAABLAAAAOECAYAAACxbcj6AAAgAElEQVR4XuzdB/RlVXk34B/g0IMQIagQKSJiwRKxJKKxoNil2YiKoCjVCCpRgw0VVAQbKCBF0KBBDIglILYI2MAWFBsKCmJQVD56n2+duY60Kff+bzn77PPctVgDzDl7v+/zbmXmN/eeu0y8CBAgQIAAAQIECBAgQIAAAQIECBQssEzBtSmNAAECBAgQIECAAAECBAgQIECAQARYDgEBAgQIECBAgAABAgQIECBAgEDRAgKsosejOAIECBAgQIAAAQIECBAgQIAAAQGWM0CAAAECBAgQIECAAAECBAgQIFC0gACr6PEojgABAgQIECBAgAABAgQIECBAQIDlDBAgQIAAAQIECBAgQIAAAQIECBQtIMAqejyKI0CAAAECBAgQIECAAAECBAgQEGA5AwQIECBAgAABAgQIECBAgAABAkULCLCKHo/iCBAgQIAAAQIECBAgQIAAAQIEBFjOAAECBAgQIECAAAECBAgQIECAQNECAqyix6M4AgQIECBAgAABAgQIECBAgAABAZYzQIAAAQIECBAgQIAAAQIECBAgULSAAKvo8SiOAAECBAgQIECAAAECBAgQIEBAgOUMECBAgAABAgQIECBAgAABAgQIFC0gwCp6PIojQIAAAQIECBAgQIAAAQIECBAQYDkDBAgQIECAAAECBAgQIECAAAECRQsIsIoej+IIECBAgAABAgQIECBAgAABAgQEWM4AAQIECBAgQIAAAQIECBAgQIBA0QICrKLHozgCBAgQIECAAAECBAgQIECAAAEBljNAgAABAgQIECBAgAABAgQIECBQtIAAq+jxKI4AAQIECBAgQIAAAQIECBAgQECA5QwQIECAAAECBAgQIECAAAECBAgULSDAKno8iiNAgAABAgQIECBAgAABAgQIEBBgOQMECBAgQIAAAQIECBAgQIAAAQJFCwiwih6P4ggQIECAAAECBAgQIECAAAECBARYzgABAgQIECBAgAABAgQIECBAgEDRAgKsosejOAIECBAgQIAAAQIECBAgQIAAAQGWM0CAAAECBAgQIECAAAECBAgQIFC0gACr6PEojgABAgQIECBAgAABAgQIECBAQIDlDBAgQIAAAQIECBAgQIAAAQIECBQtIMAqejyKI0CAAAECBAgQIECAAAECBAgQEGA5AwQIECBAgAABAgQIECBAgAABAkULCLCKHo/iCBAgQIAAAQIECBAgQIAAAQIEBFjOAAECBAgQIECAAAECBAgQIECAQNECAqyix6M4AgQIECBAgAABAgQIECBAgAABAZYzQIAAAQIECBAgQIAAAQIECBAgULSAAKvo8SiOAAECBAgQIECAAAECBAgQIEBAgOUMECBAgAABAgQIECBAgAABAgQIFC0gwCp6PIojQIAAAQIECBAgQIAAAQIECBAQYDkDBAgQIECAAAECBAgQIECAAAECRQsIsIoej+IIECBAgAABAgQIECBAgAABAgQEWM4AAQIECBAgQIAAAQIECBAgQIBA0QICrKLHozgCBAgQIECAAAECBAgQIECAAAEBljNAgAABAgQIECBAgAABAgQIECBQtIAAq+jxKI4AAQIECBAgQIAAAQIECBAgQECA5QwQIECAAAECBAgQIECAAAECBAgULSDAKno8iiNAgAABAgQIECBAgAABAgQIEBBgOQMECBAgQIAAAQIECBAgQIAAAQJFCwiwih6P4ggQIECAAAECBAgQIECAAAECBARYzgABAgQIECBAgAABAgQIECBAgEDRAgKsosejOAIECBAgQIAAAQIECBAgQIAAAQGWM0CAAAECBAgQIECAAAECBAgQIFC0gACr6PEojgABAgQIECBAgAABAgQIECBAQIDlDBAgQIAAAQIECBAgQIAAAQIECBQtIMAqejyKI0CAAAECBAgQIECAAAECBAgQEGA5AwQIECBAgAABAgQIECBAgAABAkULCLCKHo/iCBAgQIAAAQIECBAgQIAAAQIEBFjOAAECBAgQIECAAAECBAgQIECAQNECAqyix6M4AgQIECBAgAABAgQIECBAgAABAZYzQIAAAQIECBAgQIAAAQIECBAgULSAAKvo8SiOAAECBAgQIECAAAECBAgQIEBAgOUMECBAgAABAgQIECBAgAABAgQIFC0gwCp6PIojQIAAAQIECBAgQIAAAQIECBAQYDkDBAgQIECAAAECBAgQIECAAAECRQsIsIoej+IIECBAgAABAgQIECBAgAABAgQEWM4AAQIECBAgQIAAAQIECBAgQIBA0QICrKLHozgCBAgQIECAAAECBAgQIECAAAEBljNAgAABAgQIECBAgAABAgQIECBQtIAAq+jxKI4AAQIECBAgQIAAAQIECBAgQECA5QwQIECAAAECBAgQIECAAAECBAgULSDAKno8iiNAgAABAgQIECBAgAABAgQIEBBgOQMECBAgQIAAAQIECBAgQIAAAQJFCwiwih6P4ggQIECAAAECBAgQIECAAAECBARYzgABAgQIECBAgAABAgQIECBAgEDRAgKsosejOAIECBAgQIAAAQIECBAgQIAAAQGWM0CAAAECBAgQIECAAAECBAgQIFC0gACr6PEojgABAgQIECBAgAABAgQIECBAQIDlDBAgQIAAAQIECBAgQIAAAQIECBQtIMAqejyKI0CAAAECBAgQIECAAAECBAgQEGA5AwQIECBAgAABAgQIECBAgAABAkULCLCKHo/iCBAgQIAAAQIECBAgQIAAAQIEBFjOAAECBAgQIECAAAECBAgQIECAQNECAqyix6M4AgQIECBAgAABAgQIECBAgAABAZYzQIAAAQIECBAgQIAAAQIECBAgULSAAKvo8SiOAAECBAgQIECAAAECBAgQIEBAgOUMECBAgAABAgQIECBAgAABAgQIFC0gwCp6PIojQIAAAQIECBAgQIAAAQIECBAQYDkDBAgQIECAAAECBAgQIECAAAECRQsIsIoej+IIECBAgAABAgQIECBAgAABAgQEWM4AAQIECBAgQIAAAQIECBAgQIBA0QICrKLHozgCBAgQIECAAAECBAgQIECAAAEBljNAgAABAgQIECBAgAABAgQIECBQtIAAq+jxKI4AAQIECBAgQIAAAQIECBAgQECA5QwQIECAAAECBAgQIECAAAECBAgULSDAKno8iiNAgAABAgQIECBAgAABAgQIEBBgOQMECBAgQIAAAQIECBAgQIAAAQJFCwiwih6P4ggQIECAAAECBAgQIECAAAECBARYzgABAgQIECBAgAABAgQIECBAgEDRAgKsosejOAIECBAgQIAAAQIECBAgQIAAAQGWM0CAAAECBAgQIECAAAECBAgQIFC0gACr6PEojgABAgQIECBAgAABAgQIECBAQIDlDBAgQIAAAQKjCrwoyYlJrh31RtcTIECAAAECBAgQmIuAAGsuau4hQIAAAQL9FrglyZVJPpXk2CRn9JtD9wQIECBAgAABAtMWEGBNW9j6BAgQIECgPoGbkzS/hpj/l9Z+leSjSY5LclF97eqIAAECBAgQIECgbQEB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QIAAAQIECBAgQIAAAQIECCQJCFhJsMYSIECAAAECBAgQIECAAAECBAjECAhYMY6mECBAgAABAgQIECBAgAABAgQIJAkIWEmwxhIgQIAAAQIECBAgQIAAAQIECMQICFgxjqYQIECAAAECBAgQIECAAAECBAgkCQhYSbDGEiBAgAABAgQIECBAgAABAgQIxAgIWDGOphAgQIAAAQIECBAgQIAAAQIECCQJCFhJsMYSIECAAAECBAgQIECAAAECBAjECAhYMY6mECBAgAABAgQIECBAgAABAgQIJAkIWEmwxhIgQIAAAQIECBAgQIAAAQIECMQICFgxjqYQIECAAAECBAgQIECAAAECBAgkCQhYSbDGEiBAgAABAgQIECBAgAABAgQIxAgIWDGOphAgQIAAAQIECBAgQIAAAQIECCQJCFhJsMYSIECAAAECBAgQIECAAAECBAjECAhYMY6mECBAgAABAgQIECBAgAABAgQIJAkIWEmwxhIgQIAAAQIECBAgQIAAAQIECMQICFgxjqYQIECAAAECBAgQIECAAAECBAgkCQhYSbDGEiBAgAABAgQIECBAgAABAgQIxAgIWDGOphAgQIAAAQIECBAgQIAAAQIECCQJCFhJsMYSIECAAAECBAgQIECAAAECBAjECAhYMY6mECBAgAABAgQIECBAgAABAgQIJAkIWEmwxhIgQIAAAQIECBAgQIAAAQIECMQICFgxjqYQIECAAAECBAgQIECAAAECBAgkCQhYSbDGEiBAgAABAgQIECBAgAABAgQIxAgIWDGOphAgQIAAAQIECBAgQIAAAQIECCQJCFhJsMYSIECAAAECBAgQIECAAAECBAjECAhYMY6mECBAgAABAgQIECBAgAABAgQIJAkIWEmwxhIgQIAAAQIECBAgQIAAAQIECMQICFgxjqYQIECAAAECBAgQIECAAAECBAgkCQhYSbDGEiBAgAABAgQIECBAgAABAgQIxAgIWDGOphAgQIAAAQIECBAgQIAAAQIECCQJCFhJsMYSIECAAAECBAgQIECAAAECBAjECAhYMY6mECBAgAABAgQIECBAgAABAgQIJAkIWEmwxhIgQIAAAQIECBAgQIAAAQIECMQICFgxjqYQIECAAAECBAgQIECAAAECBAgkCQhYSbDGEiBAgAABAgQIECBAgAABAgQIxAgIWDGOphAgQIAAAQIECBAgQIAAAQIECCQJCFhJsMYSIECAAAECBAgQIECAAAECBAjECAhYMY6mECBAgAABAgQIECBAgAABAgQIJAkIWEmwxhIgQIAAAQIECBAgQIAAAQIECMQICFgxjqYQIECAAAECBAgQIECAAAECBAgkCQhYSbDGEiBAgAABAgQIECBAgAABAgQIxAgIWDGOphAgQIAAAQIECBAgQIAAAQIECCQJCFhJsMYSIECAAAECBAgQIECAAAECBAjECAhYMY6mECBAgAABAgQIECBAgAABAgQIJAkIWEmwxhIgQIAAAQIECBAgQIAAAQIECMQICFgxjqYQIECAAAECBAgQIECAAAECBAgkCQhYSbDGEiBAgAABAgQIECBAgAABAgQIxAgIWDGOphAgQIAAAQIECBAgQIAAAQIECCQJCFhJsMYSIECAAAECBAgQIECAAAECBAjECAhYMY6mECBAgAABAgQIECBAgAABAgQIJAkIWEmwxhIgQIAAAQIECBAgQIAAAQIECMQICFgxjqYQIECAAAECBAgQIECAAAECBAgkCQhYSbDGEiBAgAABAgQIECBAgAABAgQIxAgIWDGOphAgQIAAAQIECBAgQIAAAQIECCQJCFhJsMYSIECAAAECBAgQIECAAAECBAjECAhYMY6mECBAgAABAgQIECBAgAABAgQIJAkIWEmwxhIgQIAAAQIECBAgQIAAAQIECMQICFgxjqYQIECAAAECBAgQIECAAAECBAgkCQhYSbDGEiBAgAABAgQIECBAgAABAgQIxAgIWDGOphAgQIAAAQIECBAgQIAAAQIECCQJCFhJsMYSIECAAAECBAgQIECAAAECBAjECAhYMY6mECBAgAABAgQIECBAgAABAgQIJAkIWEmwxhIgQIAAAQIECBAgQIAAAQIECMQICFgxjqYQIECAAAECBAgQIECAAAECBAgkCQhYSbDGEiBAgAABAgQIECBAgAABAgQIxAgIWDGOphAgQIAAAQIECBAgQIAAAQIECCQJCFhJsMYSIECAAAECBAgQIECAAAECBAjECAhYMY6mECBAgAABAgQIECBAgAABAgQIJAkIWEmwxhIgQIAAAQIECBAgQIAAAQIECMQICFgxjqYQIECAAAECBAgQIECAAAECBAgkCQhYSbDGEiBAgAABAgQIECBAgAABAgQIxAgIWDGOphAgQIAAAQIECBAgQIAAAQIECCQJCFhJsMYSIECAAAECBAgQIECAAAECBAjECAhYMY6mECBAgAABAgQIECBAgAABAgQIJAkIWEmwxhIgQIAAAQIECBAgQIAAAQIECMQICFgxjqYQIECAAAECBAgQIECAAAECBAgkCQhYSbDGEiBAgAABAgQIECBAgAABAgQIxAgIWDGOphAgQIAAAQIECBAgQIAAAQIECCQJCFhJsMYSIECAAAECBAgQIECAAAECBAjECAhYMY6mECBAgAABAgQIECBAgAABAgQIJAkIWEmwxhIgQIAAAQIECBAgQIAAAQIECMQICFgxjqYQIECAAAECBAgQIECAAAECBAgkCQhYSbDGEiBAgAABAgQIECBAgAABAgQIxAgIWDGOphAgQIAAAQIECBAgQIAAAQIECCQJCFhJsMYSIECAAAECBAgQIECAAAECBAjECAhYMY6mECBAgAABAgQIECBAgAABAgQIJAkIWEmwxhIgQIAAAQIECBAgQIAAAQIECMQICFgxjqYQIECAAAECBAgQIECAAAECBAgkCQhYSbDGEiBAgAABAgQIECBAgAABAgQIxAgIWDGOphAgQIAAAQIECBAgQIAAAQIECCQJCFhJsMYSIECAAAECBAgQIECAAAECBAjECAhYMY6mECBAgAABAgQIECBAgAABAgQIJAkIWEmwxhIgQIAAAQIECBAgQIAAAQIECMQI/BfdnI0XXtQ48wAAAABJRU5ErkJggg==\" width=\"640\">"
],
"text/plain": [
"<IPython.core.display.HTML object>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"%matplotlib notebook\n",
"#%matplotlib inline\n",
"import numpy as np\n",
"from sympy import *\n",
"init_printing()\n",
"\n",
"x, y = symbols(\"x y\")\n",
"p = plot_implicit(Eq(x**2 + y**2, 5), (x, -3, 3), (y, -3, 3))\n",
"fig = p._backend.fig\n",
"ax = p._backend.ax\n",
"xx = yy = np.linspace(-3,3)\n",
"ax.plot(xx,yy) # y = x\n",
"ax.plot([0],[0],'o') # Point (0,0)\n",
"ax.set_aspect('equal','datalim')\n",
"#fig.canvas.draw()"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": []
}
],
"metadata": {
"_draft": {
"nbviewer_url": "https://gist.github.com/3a877757f4ef15ea2d8c1f12c9e02f39"
},
"gist": {
"data": {
"description": "Python3/sympy plot_implicit examples.ipynb",
"public": true
},
"id": "3a877757f4ef15ea2d8c1f12c9e02f39"
},
"kernelspec": {
"display_name": "Python 3",
"language": "python",
"name": "python3"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 3
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.6.1"
}
},
"nbformat": 4,
"nbformat_minor": 2
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment