1738 lines
254 KiB
Plaintext
1738 lines
254 KiB
Plaintext
{
|
|
"cells": [
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 1,
|
|
"metadata": {},
|
|
"outputs": [],
|
|
"source": [
|
|
"%matplotlib notebook\n",
|
|
"\n",
|
|
"import numpy as np\n",
|
|
"import toolz\n",
|
|
"import matplotlib.pyplot as plt"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"metadata": {},
|
|
"source": [
|
|
"## Frequency response\n",
|
|
"\n",
|
|
"Implicitly plot the function\n",
|
|
"\n",
|
|
"\\begin{align}\n",
|
|
"\\frac{\\gamma^2}{z^2} &= (\\omega^2 - \\alpha - \\frac{3}{4}\\beta z^2)^2 + (\\delta \\omega)^2 \\implies \\\\\n",
|
|
"\\frac{z}{\\gamma} &= \\frac{1}{\\sqrt{(\\omega^2 - \\alpha - \\frac{3}{4}\\beta z^2)^2 + (\\delta \\omega)^2}} \\implies \\\\\n",
|
|
"F &= G\n",
|
|
"\\end{align}\n"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 2,
|
|
"metadata": {},
|
|
"outputs": [],
|
|
"source": [
|
|
"def left(gamma, z):\n",
|
|
" return z / gamma\n",
|
|
"\n",
|
|
"def right(alpha, beta, delta, z, omega):\n",
|
|
" denom = (omega**2 - alpha - (3/4)*beta*z**2)**2 + (delta*omega)**2\n",
|
|
" return 1/np.sqrt(denom)"
|
|
]
|
|
},
|
|
{
|
|
"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",
|
|
" fig.ws.close();\n",
|
|
" }\n",
|
|
"\n",
|
|
" this.ws.onmessage = this._make_on_message_function(this);\n",
|
|
"\n",
|
|
" this.ondownload = ondownload;\n",
|
|
"}\n",
|
|
"\n",
|
|
"mpl.figure.prototype._init_header = function() {\n",
|
|
" var titlebar = $(\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 overridden (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",
|
|
" event.shiftKey = false;\n",
|
|
" // Send a \"J\" for go to next cell\n",
|
|
" event.which = 74;\n",
|
|
" event.keyCode = 74;\n",
|
|
" manager.command_mode();\n",
|
|
" manager.handle_keydown(event);\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,iVBORw0KGgoAAAANSUhEUgAABQAAAAPACAYAAABq3NR5AAAgAElEQVR4nOzdaZhV5ZU/7HKIJtEkpk0nHe1oD+nW7nT+iR3Sb9L+00l3Kw4xDgmoiIqIgmicR4yAM1FUNHFEDY7BCScURxzAKag4oMYZFKOCBAWZCqrOej/4Wm8eDmANe5+nzvG+r2t/SJ29n2eV11VL1y97n90UAAAAAEDDaspdAAAAAABQHgEgAAAAADQwASAAAAAANDABIAAAAAA0MAEgAAAAADQwASAAAAAANDABIAAAAAA0MAEgAAAAADQwASAAAAAANDABIAAAAAA0MAEgAAAAADQwASAAAAAANDABIAAAAAA0MAEgAAAAADQwASAAAAAANDABIAAAAAA0MAEgAAAAADQwASAAAAAANDABIAAAAAA0MAEgAAAAADQwASAAAAAANDABIAAAAAA0MAEgAAAAADQwASAAAAAANDABIAAAAAA0MAEgAAAAADQwASAAAAAANDABIAAAAAA0MAEgAAAAADQwASAAAAAANDABIAAAAAA0MAEgAAAAADQwASAAAAAANDABIAAAAAA0MAEgAAAAADQwASAAAAAANDABIAAAAAA0MAEgAAAAADQwASAAAAAANDABIAAAAAA0MAEgAAAAADQwASAAAAAANDABIAAAAAA0MAEgAAAAADQwASAAAAAANDABIAAAAAA0MAEgAAAAADQwASAAAAAANDABIAAAAAA0MAEgAAAAADQwASAAAAAANDABIAAAAAA0MAEgAAAAADQwASAAAAAANDABIAAAAAA0MAEgAAAAADQwASAAAAAANDABIAAAAAA0MAEgAAAAADQwASAAAAAANDABIAAAAAA0MAEgAAAAADQwASAAAAAANDABIAAAAAA0MAEgAAAAADQwASAAAAAANDABIAAAAAA0MAEgAAAAADQwASAAAAAANDABIAAAAAA0MAEgAAAAADQwASAAAAAANDABIAAAAAA0MAEgAAAAADQwASAAAAAANDABIAAAAAA0MAEgAAAAADQwASAAAAAANDABIAAAAAA0MAEgAAAAADQwASAAAAAANDABIAAAAAA0MAEgAAAAADQwASAAAAAANDABIAAAAAA0MAEgAAAAADQwASAAAAAANDABIAAAAAA0MAEgAAAAADQwASAAAAAANDABIAAAAAA0MAEgAAAAADQw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lkrhwoUz9en0ateuLcO4tXotO40aNTLb/eeff3J9va7odunfL7/8snkdll7mlIb+bVv2mDAOGTLEbHPPnj1W63744Ydm3Y0bN2Y4Rv+2PWclAL/++mvzvI0bN7ZYLy1BYK288MIL2f44hFsckQC0VEqUKKG1a9dabOOee+6RYRh69NFHsz3fo48+KsMwVL58eZt9Blfk6P6dmpqqypUryzAMFSlSRAkJCVbr07/tJyUlRc8884z5Pf7www95aof7N9KQAITp3LlzZicNCgrKtn65cuVkGIYee+yxXJ0n/Vsnv/nmG6t1N2zYYNadOHFihmMNGzY0j924ccNqO4MHD873wOlqHBXv7Pzzzz/mBuKGYWjdunUW677yyiv673//q0mTJum7777T/v37tXPnTk2ZMsV8kYFh3FpBZO2the7IkfGeN2+eKleurIEDB2r16tWKiYlRTEyMli1bpoCAAPONz4Zhed+fmjVrmrHMTmBgoNne+fPnc329ruh26N+///67Gevnn38+2/r0b9uyx4SxV69eZpu//vqr1brTp083665atSrDMfq37TkjAXjhwgVz4u/h4aF9+/ZZrPvII4+oadOmmjZtmrZv3679+/dr27ZtGjt2rO6//37z2mvUqKHLly875PrvZPZMANaqVUvDhw9XeHi49u7dq6ioKM2fP998LDAt3hs2bMiyjbTH/mrXrp3t+dISGz4+Pjb7DK7I0f17586d5vnatGmTbX36t/1MnDjR/P5atmyZ53a4fyMNCUCYTp48aXbSdu3aZVs/bUCvUqVKrs4zevRo8zxbtmyxWjf9fgXvv/9+hmOvvvqqeczSG4jSpN+vYNeuXbm6XlflqHhnp2vXrjn+o8baUvPExER16NDBbKtFixY2vc47nSPjffnyZauPeoSHh6tgwYIyDEPe3t5Z7hGU9svz/fffn+350u83ZOmtZu7mdujfY8aMMa/B2mrPNPRv27LHhLFz585mm8eOHbNaN/0+vQsXLsxwjP5te45OECQnJ6t+/frmOUNDQ63Wt9a/ExISMiSX+vXrZ+OrdT32ind2j/SlfytshQoVsvwBPu0NwHXq1Mn2fGl71Xp4eOT5mt2Bo/t3t27dLK4Aywr92z62b98uT09PGYahcuXK6ezZs3lui/s30pAAhIkVgO7ldlghNHbsWPMann766Xzvz5iUlGS+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\" width=\"640\">"
|
|
],
|
|
"text/plain": [
|
|
"<IPython.core.display.HTML object>"
|
|
]
|
|
},
|
|
"metadata": {},
|
|
"output_type": "display_data"
|
|
}
|
|
],
|
|
"source": [
|
|
"gamma = 1\n",
|
|
"alpha = 1\n",
|
|
"beta_mul = 0.01\n",
|
|
"delta = 0.1\n",
|
|
"\n",
|
|
"z, omega = np.meshgrid(\n",
|
|
" np.linspace(0, 15, 500),\n",
|
|
" np.linspace(0, 2, 500)\n",
|
|
")\n",
|
|
"\n",
|
|
"plt.figure()\n",
|
|
"for beta in (-0.3, 0.0, 1, 4):\n",
|
|
" F = left(gamma, z)\n",
|
|
" G = right(alpha, beta*beta_mul, delta, z, omega)\n",
|
|
" plt.contour(omega, z, (F-G), [0])\n",
|
|
" plt.xlabel(\"$\\omega$\")\n",
|
|
" plt.ylabel(\"$z/\\gamma$\")"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 7,
|
|
"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",
|
|
" fig.ws.close();\n",
|
|
" }\n",
|
|
"\n",
|
|
" this.ws.onmessage = this._make_on_message_function(this);\n",
|
|
"\n",
|
|
" this.ondownload = ondownload;\n",
|
|
"}\n",
|
|
"\n",
|
|
"mpl.figure.prototype._init_header = function() {\n",
|
|
" var titlebar = $(\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 overridden (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",
|
|
" event.shiftKey = false;\n",
|
|
" // Send a \"J\" for go to next cell\n",
|
|
" event.which = 74;\n",
|
|
" event.keyCode = 74;\n",
|
|
" manager.command_mode();\n",
|
|
" manager.handle_keydown(event);\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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AImIiIiIiIiIiMwYE4BERERERERERERmjAlAIiIiIiIiIiIiM8YEIBERERERERERkRljApCIiIiIiIiIiMiMMQFIRERERERERERkxpgAJCIiIiIiIiIiMmNMABIREREREREREZkxJgCJiIiIiIiIiIjMGBOAFqxjx44QQhSpnDp1Suvy4uPj0bdvX7i4uMDa2houLi7o27cv4uPjDd6mvLw8REZGwtPTE3Xq1EHVqlXRpEkTBAUF4ccffzR4OZmZmZg7dy5at26NatWqoVq1amjdujXmzp2L+/fvG7wcc2KMeD958gR79+7FmDFj4OHhAUdHR1hZWaFWrVpo164d5s2bh7t37xp1Wwxx8eJFBAUFoUmTJqhatSrq1KkDT09PREZGIi8vrzhfl8kzRrw3bdpk8Gc3bdqkd5uePHmC8PBweHh4oGbNmrCzs4ObmxumTp2KjIwMg/ctIyMDU6dOhZubG+zs7FCzZk14eHggIiICT548KeI3ZR5KGu+bN28W+fONGzcu8bYYgse3djk5OdiwYQO8vLxQv359WFtbw97eHq6urhg5ciTOnj1r0HLYf5uOksScfbhpKUms2X+bpuLGnH246Xn69Ck+//xzdOnSBXXq1EGVKlXQoEED9OjRAzExMQYv5+zZsxg6dCgaNWoEGxsb1KtXD15eXtixY0eRtmfHjh3o2rUr6tWrBxsbGzRq1AhDhw5FYmKiwcsw1nmCShcTgBasqBeMlSpVwi+//KK2nIKCAvj7++v8bEBAAAoKCnRuT2ZmJt58802ty7CxscGGDRv07ldycjLq16+vdTkNGjRASkpKsb83U1XSeH///fdwcHDQ+7nq1atj586dRtsWfaKiomBtba31823atEFmZmaJvz9TY4zj25gXEOnp6fjnP/+p8/8mNjZW734dOnQI1atX17ocV1dXpKenl+SrM0kljXdxLh68vLxKvC368PjWLiMjAy1bttT7HU+YMAHPnj3TuAz236alJDFnH25aSnp8s/82PSWJOftw03LlyhW4ubnpjc+jR490LmfevHmoVKmS1mX07NkTT58+1bmM7OxseHt7a11GpUqVMH/+fL37ZKzzBJU+JgAt2I0bN3Dx4kWdZdeuXfLA7dq1q8blzJw5U7Zxd3dHTEwMUlNTERMTA3d3d1kXEhKidVvy8/Ph6ekp2/bv3x+HDx9GSkoK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Kz09Hf/85z+1Lqd69eoGvaHu0KFDcjSRpuLq6or09HSD9tFcleR8rtC2bVsIIVC5cuUiPWrJ47vsHDt2TL7BU1fp0qWL1rv27L9NS0lizj7ctJQk1uy/TZMxzukK7MMrNsU0DNpKy5YtdSb/FEJDQ1WS+S8Wb29vjSMIlWVnZ8Pb21vrMipVqmTQqFxjnSeo9DEBSACAt956S3YUv/76a7GWERcXhz59+sDZ2RnW1tZwdnZGnz59dN7xf1FeXh7Wrl0LT09P1K5dG1WrVkWTJk0QGBhYpEmqMzMzMWfOHLRq1QoODg5wcHBA69atMWfOHLVh0paoOPE21sXDpUuXsHLlSgwcOBCtWrVCvXr1UKVKFTg4OKBp06bw9fXFnj17inQ38OLFiwgMDESTJk1QtWpV1K5dG56enoiMjDTqW89MVXHinZWVhW3btmH8+PFo27YtGjVqBDs7O1hbW6NevXro0qULFi5cqHGEiDaPHz9GeHg4PDw84OjoCDs7O7i5uWHKlCnIyMgweDkZGRmYMmUKXF1dYWdnB0dHR3h4eCA8PFzrHGSWpKTn859//lkew0V9sySP77J1//59hIeHo1OnTqhbty6qVKkCW1tbvPLKKxg4cCAOHDigdT4eZey/TUdxY84+3PQUN9bsv02XMc7p7MMrvpiYGIwaNQotW7ZErVq1YG1tDRcXF/To0QPR0dFFmgPz7NmzGDJkCBo2bAhra2s4OTmha9eu2LFjR5G2afv27ejatSucnJxgbW2Nhg0bYsiQIRof2dfGWOcJKl1MABIREREREREREZkxJgCJiIiIiIiIiIjMGBOAREREREREREREZowJQCIiIiIiIiIiIjPGBCAREREREREREZEZYwKQiIiIiIiIiIjIjDEBSEREREREREREZMaYACQiIiIiIiIiIjJjTAASERERERERERGZMSYAiYiIiIiIiIiIzBgTgERERERERERERGaMCUAiIiIiIiIiIiIzxgQgERERERERERGRGWMCkIiIiIiIiIiIyIwxAUhERERERERERGTGmAAkIiIiIiIiIiIyY0wAEhERERERERERmTEmAImIiIiIiIiIiMwYE4BERERERERERERmjAlAIiIiIiIiIiIiM8YEIBERERERERERkRljApCIiIiIiIiIiMiMMQFIRERERERERERkxpgAJCIiIiI1ubm5aNGiBYQQaN26NfLz8w36XKtWrSCEQKNGjUp5C4mIiIjIUEwAEhEREZGaRYsWQQgBIQROnTpl8Of8/Pzk5+7cuVN6G0hEREREBmMCkIiIiIhU3L17F3Z2dhBCoGfPnkX6bEREhEwAHjhwoJS2kIiIiIiKgglAIiIiIlIxYcIEmcRLSUkp0md37NghP7t8+fJS2kIiIiIiKgomAImIiIhIun//PmxsbCCEgKenZ5E/n5CQIBOA06ZNK4UtJCIiIqKiYgKQiIiIiKRly5bJBF50dHSRP6+cAJw0aVIpbCERERERFRUTgEREREQktWnTBkIIVK5cGQ8fPlSrT01Nha+vL4YOHYpnz56p1e/fv18mAENCQspik4mIiIhIDyYAiYiIiAgA8Oeff6Jy5coQQsDDw0NjmwULFkAIAVdXV431n376qUwARkZGlubmEhEREZGBmAAkIiIiIgBAYmKiTN4FBgZqbNOtWzcIIfDee+9prB81apRcRmpqamluLhEREREZiAlAIiIiIgIAbNmyRSbvlixZolb/9OlT2NnZQQiB4OBgjcto0qQJhBBwcHBAXl5eaW8yERERERmACUAiIiIiAgCsWbNGJgDXrVunVr9nzx5ZP3XqVLX6CxcuyPrBgweXxSYTERERkQGYACQiIiIiAKoJwGXLlqnVd+zYES+99BKEEAgKClKr9/f3l59PSEgoi00mIiIiIgMwAUhEREREAIADBw7IBF7v3r1V6nbt2gUhBDp06AAhBNzd3VXqT58+LV8g0q5du7LcbCIiIiLSgwlAIiIiIgIAPHz4EDY2NhBC4KWXXsL8+fORmpqK1atXw9bWFtbW1khOTpajABX1K1asgIODA4QQsLW1xU8//VTeu0JERERESpgAJCIiIiJp/vz5chTgiyUqKgoA0LVrV4311apVw/Hjx8t5D4iIiIjoRUwAEhEREZGKDRs24F//+hfs7Oxgb2+PTp06qczpd+/ePfj6+sLR0RE2NjZ49dVXMWnSJPz666/luNVEREREpA0TgERERERERERERGaMCUAiIiIiIiIiIiIzxgQgERERERERERGRGWMCkIiIiIiIiIiIyIwxAUhERERERERERGTGmAAkIiIiIiIiIiIyY0wAEhERERERERERmTEmAImIiIiIiIiIiMwYE4BERERERERERERmjAlAIiIiIiIiIiIiM8YEIBERERERERERkRljApCIiIiIiIiIiMiMMQFIRERERERERERkxpgAJCIiIiIiIiIiMmNMABIREREREREREZkxJgCJiIiIiIiIiIjMGBOAREREREREREREZowJQCIiIiIiIiIiIjPGBCAREREREREREZEZYwKQiIiIiIiIiIjIjDEBSEREREREREREZMaYACQiIiIiIiIiIjJjTAASERERERERERGZMSYAiYiIiIiIiIiIzBgTgERERERERERERGbs/wNKcwmKRpxmRQAAAABJRU5ErkJggg==\" width=\"640\">"
|
|
],
|
|
"text/plain": [
|
|
"<IPython.core.display.HTML object>"
|
|
]
|
|
},
|
|
"metadata": {},
|
|
"output_type": "display_data"
|
|
}
|
|
],
|
|
"source": [
|
|
"def left(gamma, z):\n",
|
|
" return z / gamma\n",
|
|
"\n",
|
|
"def right(alpha, beta, delta, z, f):\n",
|
|
" omega = 2*np.pi*f\n",
|
|
" denom = (omega**2 - alpha - (3/4)*beta*z**2)**2 + (delta*omega)**2\n",
|
|
" return 1/np.sqrt(denom)\n",
|
|
"\n",
|
|
"f_resonance = 8e3\n",
|
|
"omega_resonance = 2*np.pi*f_resonance\n",
|
|
"\n",
|
|
"gamma = 1e7\n",
|
|
"alpha = omega_resonance**2\n",
|
|
"beta_mul = 1e8\n",
|
|
"delta = 200\n",
|
|
"\n",
|
|
"z, fs = np.meshgrid(\n",
|
|
" np.linspace(0, 1.2, 500),\n",
|
|
" np.linspace(7e3, 9e3, 500)\n",
|
|
")\n",
|
|
"\n",
|
|
"plt.figure()\n",
|
|
"for beta in (0.0, 1, 4):\n",
|
|
" F = left(gamma, z)\n",
|
|
" G = right(alpha, beta*beta_mul, delta, z, fs)\n",
|
|
" plt.contour(fs, z, (F-G), [0])\n",
|
|
" plt.xlabel(\"$\\omega$\")\n",
|
|
" plt.ylabel(\"$z/\\gamma$\")"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"metadata": {},
|
|
"source": [
|
|
"## Rough method\n",
|
|
"\n",
|
|
"#### Simulating frequency response -- no coupling\n",
|
|
"\n",
|
|
" 1. Calculate linear stiffness $\\alpha$ from resonance frequencies.\n",
|
|
" 2. Derive slope and half-width maximum by search on $\\beta$ and $\\delta$. Scale signals and apply MSE loss function.\n",
|
|
" 3. Finally, scale amplitude by the inverse of scaling factor in 2).\n",
|
|
" \n",
|
|
"Step 3) outputs ballpark parameters for frequency scan simulations. See other notebook for coupling and further optimization."
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": null,
|
|
"metadata": {},
|
|
"outputs": [],
|
|
"source": []
|
|
}
|
|
],
|
|
"metadata": {
|
|
"anaconda-cloud": {},
|
|
"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.5.2"
|
|
}
|
|
},
|
|
"nbformat": 4,
|
|
"nbformat_minor": 1
|
|
}
|