Skip to content

Instantly share code, notes, and snippets.

@DRosenman
Last active December 5, 2017 08:42
Show Gist options
  • Save DRosenman/e66dc17f66f24cc95ad9169eeb4625cc to your computer and use it in GitHub Desktop.
Save DRosenman/e66dc17f66f24cc95ad9169eeb4625cc to your computer and use it in GitHub Desktop.
Lunar Isochron Dating
Display the source blob
Display the rendered blob
Raw
{
"cells": [
{
"cell_type": "code",
"execution_count": 60,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"<script>jQuery(function() {if (jQuery(\"body.notebook_app\").length == 0) { jQuery(\".input_area\").toggle(); jQuery(\".prompt\").toggle();}});</script>"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"text/html": [
"<button onclick=\"jQuery('.input_area').toggle(); jQuery('.prompt').toggle();\">Toggle code</button>"
]
},
"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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AAAAAACAESEBDAAAAAAAADAiJIABAAAAAAAARoQEMAAAAAAAAMCIkAAGAAAAAAAAGBESwAAAAAAAAAAjQgIYAAAAAAAAYERIAAMAAAAAAACMCAlgAAAAAAAAgBEhAQwAAAAAAAAwIiSAAQAAAAAAAEaEBDAAAAAAAADAiJAABgAAAAAAABgREsAAAAAAAAAAI0ICGAAAAAAAAGBESAADAAAAAAAAjAgJYAAAAAAAAIARIQEMAAAAAAAAMCIkgAEAAAAAAABGhAQwAAAAAAAAwIiQAAYAAAAAAAAYERLAAAAAAAAAACNCAhgAAAAAAABgREgAAwAAAAAAAIwICWAAAAAAAACAESEBDAAAAAAAADAiJIABAAAAAAAARoQEMAAAAAAAAMCIkAAGAAAAAAAAGBESwAAAAAAAAAAjQgIYAAAAAAAAYERIAAMAAAAAAACMCAlgAAAAAAAAgBEhAQwAAAAAAAAwIiSAAQAAAAAAAEaEBDAAAAAAAADAiJAABgAAAAAAABgREsAAAAAAAAAAI0ICGAAAAAAAAGBESAADAAAAAAAAjAgJYAAAAAAAAIARIQEMAAAAAAAAMCIkgAEAAAAAAABGhAQwAAAAAAAAwIiQAAYAAAAAAAAYERLAAAAAAAAAACNCAhgAAAAAAABgREgAAwAAAAAAAIwICWAAAAAAAACAESEBDAAAAAAAADAiJIABAAAAAAAARoQEMAAAAAAAAMCIkAAGAAAAAAAAGBESwAAAAAAAAAAjQgIYAAAAAAAAYERIAAMAAAAAAACMCAlgAAAAAAAAgBEhAQwAAAAAAAAwIiSAAQAAAAAAAEaEBDAAAAAAAADAiJAABgAAAAAAABgREsAAAAAAAAAAI0ICGAAAAAAAAGBESAADAAAAAAAAjAgJYAAAAAAAAIARIQEMAAAAAAAAMCIkgAEAAAAAAABGhAQwAAAAAAAAwIiQAAYAAAAAAAAYERLAAAAAAAAAACNCAhgAAAAAAABgREgAAwAAAAAAAIwICWAAAAAAAACAESEBDAAAAAAAADAiJIABAAAAAAAARoQEMAAAAAAAAMCIkAAGAAAAAAAAGBESwAAAAAAAAAAjQgIYAAAAAAAAYERIAAMAAAAAAACMCAlgAAAAAAAAgBEhAQwAAAAAAAAwIiSAAQAAAAAAAEaEBDAAAAAAAADAiJAABgAAAAAAABgR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JeOtu+66rVHsb3zjG6tNN00/1+G57LLLWomrM844o7X88Y9/XF17bQoltW2zzTat99tM/eQnP6ne+c53Vl/84hdbydmJbLnlltVznvOc6iUveUm18cYb15f2b1jbWcoW8v4cw/z/5mpb6bSQ+/7a175Wfetb36quuKJ7BqzxVltttWr//fevXvrSl1b77LNPfSkAMEokgIGlKMndlFJOkrY7kli9sER+hV1VX9Yd15d4UIl+NG/b71zD3U4p0X0fbysxU0lCd9/nTKKZSB62ZHtX/D/Lli0bAwCYzEUXXdT9XWbskEMOqf8CC8eNN9449vd///fj9tXJ4k53utPYd77znfrWc+e0004be9KTnjS2xRZb9Pw/umObbbapbzU9t95669irX/3qsZVXXrnn/U8Ud77zncdOOumk+l6mNqztLGULdX/uGOb/N5fbOuyww8ZWX331nvczVRx88MFj11xzTX1PAMCoyPnyxue+0VMsOeYAXnoy3+1TS3y2tXa7VUpsX+K+JTbMBV2uLPG4Et9vrc29jDrOqOFuhqcAAMAIu+2226qnPe1p1ac+9an6krZVVlmlNXp9t912qzbYYIP60rY//elP1WMf+9jqBz/4QX3J3PjRj35UffnLX64uv7xTNGnuPP/5z6+OOuqo1vPRbe21167uda97VXvuuWd1t7vd7Q7lmP/whz9UT3ziE6uTTjqpvmRyw9rOUrWQ9+cY5v8319vKaPyUkW7K/d/1rnet9thjj+re9773HbYRn/jEJ6pHPvKR1XXXXVdfAgAAo0ECeGm6scQzSvxdiZ/mggn8tcQHSuxcYtASzjOR8s/dZxl+UmJFuWMAAGD0vPWtb62OP/74eq3tBS94QXXJJZdUv/71r1vz0/75z3+uvvSlL1Vbb337TDXXX399ddBBB1XXXHNNfclwpWTtbEkZ5o985CP1WtvOO+9cfeUrX2k9vp/97GetZNcFF1zQSsQeccQR1eqrr15fs2olwVLePeVwJzOs7SxlC31/Hub/N8xtbbjhhtVhhx3W2pezf1566aWtMu3nnHNOdeWVV1annnpq9ZCHPKS+dltKuafsNAAAwKjZocTfl3hViX8v8S8l9iuxZgkWJiWgAYCBKAHNQnbFFVeMrbfeeuP20SOPPLL+6x399re/Hdt2223HXf8Nb3hD/dfZ9853vrO1jfyP++6779grX/nKsS984QtjF1988dipp5467v+YSQnoXXfdddx93e9+9xu77rrr6r/2dsopp4ytuuqq42735je/uf5rb8PazjA0n/8c6+bbQt+fh/n/DWNbe+yxR+s2H/nIR8auv/76+tKJ3XLLLWPPe97zxm0j8a1vfau+BgCw2CkBDcBiJQEMAAxEApiF7FWvetW4/fOhD33o2G233Vb/tbdvfvOb426TJFOSTXPhggsuGFu+fHlr3tym2UoAX3jhhePuJ3HmmWfWf53c85///HG3e+ADH1j/5Y6GtZ1hWYgJ4IW+Pw/z/xvGtk488cSxv/3tb/Vaf5IETseH7u0885nPrP8KACx2EsCgBDQAAADzKPODHnPMMfVa2+GHH36HuWeb9ttvv3GlXK+99trq85//fL02uzIXbkokr7zy3P2E/sUvflG32jJ36f3vf/96bXJPecpT6lZbSjdPZFjbWaoW+v48zP9vWNvaf//9x5Uo70fmB37Vq1IE7XZf//rX6xYAACx+EsAAALDA5eT3d7/73ep//ud/WnMp/ud//mf1jne8o3ViPfMZZo7OYbn66qtbcyvmfznyyCOr9773vdXnPve56pe//GV9jdlzyy23VKeddlp19NFHV29+85ur973vfa15JGd7bswkxJJceP/739/aTrZ3wgkntOakZO6dfvrp1Z/+9Kd6raq23377at99963XJvec5zynbrUdd9xxdWvxae5vW221Vd2aWve8qZH36USGtZ2laqHvz8P8/xb6c9GcCzhzBGfeYQAAGAUSwAAAsECdddZZ1ZOf/ORq0003rfbZZ5/qec97XmvE0utf//rq5S9/efWP//iP1cMf/vDqLne5S+vE+ote9KLqvPPOq289u5KAzqisO93pTtUBBxzQ+l9e97rXVS9+8Yurpz/96dU973nP6u53v3v1zne+s7rpppvqW03u29/+dmskWCcyMixuvvnm6qijjqq22GKL1gn6F77whdW//du/tR7fgQceWN35zneunvGMZ1SXXXZZ6/rTcd1111VHHHFE63nbcccdq6c97WnVv/zLv7S2k+098YlPrDbbbLPqYQ97WPW9732vvhVzIR0Kuj3ykY+ccoRgR67bLfvUX//613ptcdlggw3qVtsNN9xQt6bWvG6OGRMZ1naWqoW+Pw/z/1voz8VGG21Ut2432x2MAABgvkgAAwDAAvSWt7ylVZb1y1/+cl8J1Ysuuqg1QvbTn/50fcnsyLYPPvjgVgL6W9/6VmtU7kRSDvZf//Vfq1133bX6+c9/Xl86mIwoTNL1Na95zbiRY93+9re/VZ/97GdbJXlPOumk+tL+nXjiia2Svkk453mbyK233tpKOjz0oQ+tnv/850/62Jm+n/70p3Wrbe+9965bU0sngW233bZea++vc9UJYq7ttttudavt/PPP7zvhdeaZZ9attj333LNu3dGwtrNULfT9eZj/30J/Lnp1Itpkk03qFgAALG4SwAAAsMB89KMfrV772te25k/stt5661X3ute9qr322qu6z33u0yrd2u9oqulIojVzK37yk5+sL7nd5ptvXt3vfver7nGPe1SrrbZafWnbr371q+rBD35wdfbZZ9eX9CeP96lPfWr1/e9/v76kfTL+vve9b7XTTjtVa665Zn1p21/+8pfWCOmUwe7Xhz/84dYo4j/+8Y/1JW1rr712axtJaO2www53mOs1t/u7v/u7amxsrL6E2ZIEZLck9gfRvH7z/haLzMXbnSDL++8973lPvTaxXO9d73pXvdbWLJ/bbVjbWaoW+v48zP9voT8XzeoO22yzzcBzCQMAwEIlAQwAAAtIkiwp89ztKU95SvXjH/+4VZryZz/7WfWDH/ygNbLqkksuaV12yimntEpCpzTybEqJ529+85v1WluSp+ecc051+eWXVz/60Y9a8+f+/ve/r/77v/+7WmutteprtedSTDI3pZb79YlPfGLF9nbfffdWYjejgFMKOyO/0v7Qhz5Ubbjhhq3rxI033lg985nP7Gsu0jxPKe+ckb0dj3/841ujfPM8ZhtnnHFGK4GdbaUMdZLuHZl/OI+T2ZOSwtmPuw0yJ200r599crHKPtfd+eANb3hD9fGPf7xeu6Ps9+mY0J0Yyz6dmMywtrPULPT9eZj/32J4b3/sYx+rW22Pe9zj6hYAACx+EsAAALCAJEn55z//uV6rWuWXv/jFL1Z77LFHz9G+SVBmHuC3ve1trZPtmRd4NiS5m/l8uyVJlJLU9773vetL2jbeeOPqla98ZWs01frrr19fWlUXXnhh9e///u/12tR+85vftJY5Cf/DH/6w2nfffcc95nXXXbc193DK0GZ+3o4koDN372SSwHrWs561YlR1kl8ZaX3CCSe0yluvuuqqrcs7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zjijNXK9u/z03nvvXX35y1+uVl999foSAAAAWDgyaX3qV7Uik9oDAEvDbbfdNnbeeeeNvetd7xp78IMfvOL7QCc222yzsWuvvba+9u0uuuiicdc75JBD6r/c0aGHHjruul/60pfqv/RvvfXWW3H7VVZZpfV/N5166qnjtnPwwQfXf+nf+uuvv+L2K6+8cs/t/OM//uO47Xzuc5+r/7J45PXqfgxzFcccc0y9xeF59KMfPe5/OPbYY+u/9Gfbbbcdd/szzjij/stwNPfjbbbZpv5L/6688spx95G47rrr6r/25z3vec+42++///71X243rO0MU/P5z7FuPi30/XmY/998PhfnnHPO2EYbbTTu9ve9733Hrr766voaAMAoy/ny7u8BJXI+HZYUI4ABAGARycjgnXbaqXrJS17SGu2b0Xfdo4JTYvOTn/xkvTY922yzTd1qO+ecc+pWf37961+PK/mcUWDdpUAnUn6k163+/OY3vxk352/+717b2W677epW22yVymZ2NMucn3766XVrahmxfPHFF9drVbXaaqtVO++8c722ePztb3+rW7dbddVV61Z/8ti7Ze7tpmFtZylb6PvzMP+/+XoufvGLX7TKPHfPZ5/Pza9//evVBhtsUF8CAACjTQIYAAAWsYc85CGtksbdTjvttLo1PXvttVfdamuWjJ1K8/rN+5vIueeeW/35z3+u16b2ne98p2617bnnnnVrvIc97GF1q23Qx8PcyvzV3VKKemwsnfSn9o1vfKNuteW17lUGfKHbZJNN6tbtLr/88rrVn+Z8qb3m9R3Wdpayhb4/D/P/m4/nIh2DHvGIR4ybbzidgFK6374KAMBSIgEMAACL3IMe9KC61XbFFVfUrelJwrZ7fsQklAcZNfuxj32sbrXts88+dWtyN998c/XZz362Xpvaxz/+8brVNtF2khjeaKON6rV2Ajhz6i4mxx57bCtxMtdx6KGH1lscnszJ2T2KPSPIv/3tb9drk/voRz9at9qe+MQn1q3FJe+3zTffvF5rG7SjwimnnFK32u52t7vVrdsNazvDtO+++47bh7fddtv6L/Njoe/Pw/z/hv1cZNTwfvvtV/32t7+tL6mqLbfcsrXPZgkAAEuJBDAAACxyzYRvd7JzOjbccMPq7/7u7+q1qpVUecUrXlGvTe6LX/xi9YMf/KBeq1ojtp7xjGfUa1P7z//8z3HloyeSUp7diau11lprwu2kdOhLX/rSeq39eJ7//Oe3Es7Mv5VXXvkOiecjjjii9TpNJkmdlEHvWG+99aqDDjqoXlt8krjq9q53vau65ZZb6rXJZTR89/sumvfXMaztLFULfX8e5v83zG2lekTKPl944YX1Je3R6Rn525wGAAAAlgIJYAAAWEBe//rXV//7v//bd0ImJ9Lf/va312tte+yxR92avpe97GWtk/cdxx9/fCs5O5mf/vSn1XOf+9x6rS3r66+/fr02tYzgevrTnz5pcjajkQ8++OB6re2QQw5pJa4nkjmT73znO9dr7VHNSXJfc8019SVT++tf/1q95z3vucPINGbu1a9+9bjyrkk0HnXUUfXaHaUMcXNfy2vcPdqwl8MPP7w1T3QnMnp0oXjWs55Vt9oyJ/Zhhx1W3XbbbfUlveX98MxnPrNea7v73e9ePfCBD6zXxhvWdpayYe3PMZ19epj/3zC2lU5Dj3nMY6rly5fXl7Q7MqWMdOb+BQCApWiVegksLpuVOKzdLI3DDqs22ywXAQCLXRKMRx55ZPWhD32oVS5z1VVXbY3oXXvttetrtCVZ8/3vf791ovyrX/1qfWnVut6HP/zhOyRdr7766urd7353vVZVu+22W3XggQfWa3e0xRZbtE6qd4/2O/XUU1vJop133nncd4+rrrqqev/73189+9nPrq677rr60nZp2C984Qvjykl3u/jii8eVcd5mm21aCdlf/epXrcd0z3ves3VZkhqRBGyu/7SnPa268sorW5dFErtf/vKXW6OAJ7LmmmtWD3jAA1rJ9U6i6xe/+EX1yU9+spVEv+td71ptsMEGrcu7XXrppa0RZG9+85tbo4aTCL/vfe+7oBKHoyD7bV7njPzrSDvzeOb5zgjAyGuX1+CpT31qa67PjuyveW3zOk8m5WeTgOpIueB+y17n/fbLX/6y9b7sjrPPPnvcfKX5H/L+al4vceONN044D+kOO+xQffe73229LzrOOuus1kj3vA+23nrrcZ0y8h744Ac/2EroNqsA5Pix66671mvjDWs7M5ES7eecc07P53A2I8eMzr41m4a1P8d09ulh/n/D2FaSv6effnq91va6172uNed1r9d9ssjn7WSfJQDA4vCnP/2p+sAHPlCvtWTlT+0mACxcu5RI3axWLFu2bAwAGA1PfOITV3zGd8fmm28+dq973Wtsr732ai3XXXfdntf74Ac/WN/TeBdddNG46x1yyCH1XyZ24403jj3iEY8Yd7tObLHFFmP3u9/9xu55z3uOrbbaanf4+yabbDL2k5/8pL6n3k499dRxt3n9618/9shHPnLcZbmf3XfffWznnXceW2uttcb9LbHGGmuMnXzyyfU9Tu0zn/nM2JprrnmH+0nkOb7Pfe4ztueee7Ye10YbbdTzem984xvre2M23XrrrWMHHHDAHZ7vVVZZZWz77bcfu+997zu24YYb3uHv2S9OO+20+l4ml9eu+7b77LNP/ZepbbPNNuNuO52Y6n33u9/9bmy77bbredu85/Pez/55t7vdbWyllVbqeb2Xv/zl9b1NbFjbma48T722OdtxzDHH1FucfcPYn2O6+/Sw/r+Y6201bzeTyOcSALD45Xx543M+59NhSVECGgAAFoGURj733HOrH/7wh61l90jbWGuttaqjjz66esELXlBfMnNrrLFG9ZWvfOUOJWPj8ssvr3784x+3RtE2yzWnLGxKLO++++71Jf3JqMOMGH7wgx9cX9IefZjRiRkReMMNN9SXtmXkWOYcfsQjHlFfMrWUl87/do973KO+5HZ5jjPq8Mwzz2w9roxsblpllVVaI9KYfZ3XP69Rt1tvvbU1Mi8jbTOSvVtG+GW0+IMe9KD6ksXtLne5S2s0Z68R5nnP572f/TPznI415lHNXNdvectbqre+9a31JRMb1naWsoW+Pw/z//PeBgCA4ZMABgCABeQjH/lIdeyxx1YHHXRQX4nGjTfeuJX0Pf/881slimdbyjenTHLKjD784Q9vlaSeSEo+Zz7ilInecccd60sHkzLMKUWbMtgTzfmY/ynPT5LCBxxwQH1p/zJHcm77iU98otprr71aSd3JJBGex/62t72tVRL6ec97Xv0XZlvKvH7mM59pJfZTRnki66yzTmsalLyOo1aOe6uttmqVyP385z/femxJnk0m75kXvvCFraRt5ltNud1+DGs7S9lC35+H+f95bwMAwHD5xQaLU0pWLGs3S2PZsmqXXVSxAIBRlITjz3/+8+qiiy5qjZC66aabqnXXXbc1j+i97nWv1ny8kyVlZ1v+h4ygzQjgjM7NyfrMwZsT+pmzdxBJKj/sYQ+r16rqjW98Y3X44YfXa1V1yy23tOYgTsIpo3Ezr3Hm6s1tNtxww/paM5d5hzOyOo8pc5xmRHNGF2ee4ySy87iSvGD4LrjgguqMM86oLrvssta+n9d9p512ao0KXCqvSebizmj7jJTM+y/zCOe9kBGS9773vVvHgKmSt/0Y1naWsoW+Pw/z//PeBgDm0vLly6tdd921XmvJyvJ2E5YGCWBYnCSAAYBFb6oEMAAAAAxKAhiUgAYAAAAAAAAYGRLAAAAAAAAAACNCAhgAAAAAAABgREgAAwAAAAAAAIwICWAAAAAAAACAESEBDAAAAAAAADAiJIABAAAAAAAARoQEMAAAMC/23XffamxsbEUcfvjh9V8AAAAAmC4JYAAAAAAAAIARIQEMAAAAAAAAMCIkgAEAAAAAAABGhAQwAAAAAAAAwIiQAAYAAAAAAAAYERLAAAAAAAAAACNCAhgAAAAAAABgREgAAwAAAAAAAIwICWAAAAAAAACAESEBDAAAAAAAADAiJIABAAAAAAAARoQEMAAAAAAAAMCIkAAGAAAAAAAAGBESwAAAAAAAAAAjQgIYAAAAAAAAYERIAAMAAAAAAACMCAlgAAAAAAAAgBEhAQwAAAAAAAAwIiSAAQAAAAAAAEaEBDAAAAAAAADAiJAABgAAAAAAABgREsAAAAAAAAAAI0ICGAAAAAAAAGBESAADAAAAAAAAjAgJYAAAAAAAAIARIQEMAAAAAAAAMCIkgAEAAAAAAABGhAQwAAAAAAAAwIiQAAYAAAAAAAAYERLAAAAAAAAAACNCAhgAAIDqwgsvrN7//vdXT3va06qddtqpWm+99arVV1+92myzzap99923evOb31z94Q9/qK8NAAAALFQr1UtgcdmlxLJ2szSWLat22SUXAQDA4A499NDq4x//eL02sfXXX7+VJH7Ws55VXwIAALCwLF++vNp1113rtZasLG83YWkwAhgAAGCJ++1vf9tarrPOOtXTn/706sMf/nD1ne98pzrrrLOq448/vpXwXWmllaq//OUv1cEHH1x97nOfa10fAAAAWHiMAIbFyQhgAABmTZK6e+yxR/Wc5zynWnfddetLx/vsZz9bPeMZz2i1N9100+o3v/lNtfbaa7fWAQAAFgojgMEIYAAAgCXvE5/4RPWSl7xkwuRvZGTwgQce2GpfccUV1Te/+c1WGwAAAFhYjACGxckIYAAAhu5973tf9aIXvajVfutb31q94hWvaLWXqgsvvLA688wzWyW0b7rppmqjjTaqdtxxx2rvvfeu1lxzzfpa8+Paa6+tTjvttNb/loT9qquuWt31rnet7ne/+1V3v/vd62vNjmFta5iPCQCAxcsIYJAAhsVKAhgAgKF7xzveUb385S9f0X7Zy17Wai81xx13XPWmN72pNUdyLxlJfeihh1ZvfOMbW+Wyh+kHP/hBdcQRR1SnnHJKdcstt9SXjpeTYa985SurZz/72a25nadrWNsa5mMCAGDxkwAGJaABAADo06mnnlq3qiXZAfFvf/tb9axnPat60pOeNGHyN6677rrWaOmdd965+u53v1tfOreSGD3ssMNao4+//vWvT5gojXQgPeSQQ6rHPOYx1VVXXVVf2r9hbWuYjwkAAGCU6BYLi5MRwAAADNWPf/zjaq+99qpuvfXWasstt6wuuuiiarXVVqv/Ovpuu+226slPfnJ1/PHH15e0rbLKKtXWW29dbbDBBq3n5Jprrqn/0rb22mu35kt+4AMfWF8y+/KaPOEJT6i++tWv1pfcbosttmhFktIpWX3zzTfXf2nbY489qu985zvVOuusU18yuWFta5iPCQCA0WIEMBgBDAAAwBSSaEtJ4yTl4sgjj1xSyd/InMfN5O8LXvCC6pJLLql+/etfV2effXb15z//ufrSl77USgh3XH/99dVBBx10h8TwbPr3f//3OyRKH//4x1c/+9nPqssuu6z60Y9+VJ1//vnVn/70p+qd73xntd5669XXqqqf/OQnrVG2/RrWtob5mAAAAEaNEcCwOBkBDADAUGTka0oen3DCCa31pz/96dVnPvOZVnupuPLKK6vtttuuuvbaa+tL2knw17zmNfXaeElQPvjBD64uvvji+pKqesMb3tCax3a2XXDBBdWOO+64IjkfL37xi6t3v/vd9dodpXz1wx/+8HFJ6SRU73e/+9VrvQ1rW8N8TAAAjB4jgMEIYAAAACYwNjZW/dM//dOK5O8DHvCA6iMf+UirvZT893//97jk70Mf+tDq1a9+db12RymR3XyeMko1ieTZlpHJ3YnSlD9+xzveUa/1tvvuu7f+n26vfe1r69bEhrWtYT4mAACAUSQBDAAAwB0k+Zsyuh/72Mda6/e9732rr33ta0tuXtWMgD7mmGPqtbbDDz+8WmmlyQtq7bffftVDHvKQeq1qJZA///nP12uzp5Oc70hiOvMST+Xggw+uttpqq3qtas1TnDmMJzOsbQ3zMQEAAIwiCWAAAIARl2RuSuR+9KMfbZUuPuqoo6pPfepTk85L+6IXvag6+uijW+173/ve1cknn1xtuOGGrfWl5PTTT2/NM9ux/fbbV/vuu2+9NrnnPOc5davtuOOOq1uz4xe/+EX1+9//vl6rWknS/fffv16bXK77uMc9rl5ry/zFExnWtob5mAAAAEaVBDAAAMAid+6557ZGpHbi5S9/eevyW265pVU6d5tttmmV0X3uc59bve51r2vNXfusZz2ruuqqq1rXa0ry9/3vf3+rfa973as65ZRTqk022aS1vtR85StfqVttj3zkI6cc/duR63b79re/Xf31r3+t12bukksuqVttO+ywQ7X22mvXa1O7z33uU7famiNvuw1rW8N8TAAAAKNKAhgAAGCRy+jebve///1bSeE999yzlQy+9NJL67/cbuONN6623Xbbeu12L37xi6v3ve99rfYuu+zSSv5uuummrfWl6Kc//Wndatt7773r1tS22GKLcc/xTTfdVJ133nn12sw15xTOazqIZlK/+Vi7DWtbw3xMAAAAo0oCGAAAYJE7++yz61bbaqutVu2zzz7jLt9yyy2r+93vfq0RlauvvnprTt+ml7zkJdV73/veVjvJ329961vVne50p9b6UnX++efXrbadd965bvWnef3m/c3EyiuP/0l/66231q3+3HzzzXWr7S9/+Ut12WWX1WvjDWtbw3xMAAAAo0oCGAAAYJHrHgGc8sQveMELWuWdV1111daI3syr+tvf/rb60Y9+VP3qV7+q/vjHP1Zve9vb6lu0vexlL6ve8573tNpJWib5u9lmm7XWl6obbrjhDiWJt9pqq7rVn+b181rMlubo2Lyug+h1/YkS1MPa1jAfEwAAwKiSAAYAAFjExsbGqnPOOadea69fccUVrZG73/ve96p3v/vd1T3ucY/6r20bbLBBtdtuu9VrVfXqV7+6ete73tVq53YZBZxE2rJlyyaMmY6qPPTQQ8fNWzxXceyxx9ZbHFyexzyfHRlZPWhSPCOvuw2a0JzM9ttvX7faLr744upPf/pTvTa1H//4x3Xrdn/4wx/q1njD2tYwHxMAAMCokgAGAABYxC644IJWmdtu6623XmsE71577VVfMrnPfe5zdatqJdv222+/6l73utek8W//9m/1LUbXddddV7fa1l577VZSeRDrrLNO3Wpr3udMJFmaeYa7db+Wk8n/ceKJJ9Zrt5vo/xvWtob5mAAAAEaVBDAAAMAi1pz/N44++uhq1113rdeYrmbicM0116xb/VtrrbXqVttsJyMPPPDAutX2lre8pbr66qvrtYkdeeSRd+g4EJP9f8Pa1jAfEwAAwCgarOsysFDsUmJZu1kay5ZVu+ySiwAAWGpe85rXVEcddVS9VlUPfvCDW6WfF7rzzjuvuvzyy+u1uZPvyZtvvnm9Npg8jw996EPrtfZ8vs05gafysY99rHrOc55Tr1Wt0dXf/OY367WZywjwe97zntVtt91WX1JVD3/4w6sTTjjhDqOPOz75yU9W//AP/1Ddeuut9SW3e9Ob3lT9+7//e7023rC2NczHBADA6Fm+fHmzQ2xWlrebsDRIAMPiJAEMAEDLox71qOrkk0+u16rqy1/+8h1GUDI9P/rRj6o999yzXquqO9/5ztXvf//7eq0/H/zgB6vDDjusXquq/fffv2eZ4plIOe43v/nN9VrbNtts0+oc8JjHPKZVUvmvf/1rddZZZ1Uf+tCHqi984Qut66Sc9frrr19dc801rfV45zvfWb30pS+t1+5oWNsa5mMCAGC0SACDEtAAAACLWncJ6I033rg64IAD6jVmat11161bbTfeeGPd6t8NN9xQt9qa9zkb/uM//qN6/OMfX6+1/eY3v6le+MIXVtttt121xhprtPaNRzziESsSpXHEEUdUO+ywQ73WtuGGG9at3oa1rWE+JgAAgFEjAQwAALBIXXrppdUVV1xRr1XVPvvsU6266qr1GjPVTNZef/311djYWL3Wn4xS7TYXCeBVVlmlNfL7ZS97Was9ldVWW601uvb1r3/9HebHnSpZOqxtDfMxAQAAjBoJYAAAgEWqe/RvZP5fZs+mm27aKinccfPNN1d//OMf67X+XHbZZXWrbbPNNqtbsytJ0ne84x2t6WEy53BKJDdl/tyDDz64OvPMM6vXvva1rcuuvPLK1rKjOXq2l2Fta5iPCQAAYJSYAxgWJ3MAAwBQHX744a2Stx2nnnpqte+++9ZrC9t5551XXX755fXa3Mn35M0337xeG9y2227bKj3ckUTj/e9//3ptao973OOqk046qV6rqo9//OOthOUw/Pa3v20lrDNyOc/BVlttVa2++ur1X6vqT3/607iEdJKpmTu3nxG3TcPa1jAfEwAAi5M5gEECGBYrCWAAAKonPvGJ1QknnNBqZ6TqVVddVW2wwQat9YXu0EMPbSVD59oxxxzT2tZ0PeYxj6m+/vWv12tVdeyxx1aHHHJIvTa1zFd78cUX12tVdcYZZ1R77rlnvTa/vvWtb1X77bdfvVZVD3rQg6rTTjutXptdw9rWMB8TAAALkwQwKAENAACwaJ111ll1q6q23377RZP8XUx22223utV2+umn162p/e53vxuX/M08tTvvvHO9Nv++8pWv1K22xz72sXVr9g1rW8N8TAAAAAuVBDAAAMAilFK3KYfbsfvuu9ctZtMBBxxQt9q++c1vVmNjY/Xa5L7xjW/UrbaHPexh1brrrluvza9bb721+sIXvlCvtefb/Yd/+Id6bXYNa1vDfEwAAAALmQQwAADAInT22WfXrbbFlgBOKeUkUuc6ZlL+Ofbee+9q0003rdeq6te//nX17W9/u16b3Ec/+tG61ZaS3QvFhz/84erSSy+t19pzFW+xxRb12uwa1raG+ZgAAAAWMglgAACARai7/HMYATw3Vl555TskkY844ohWcnkyp5xySvW9732vXquq9dZbrzrooIPqtfl14YUXVq9//evrtXZp6re85S312uwa1raG+ZgAAAAWOglgAACARWixjwBeTF796lePK938ne98pzrqqKPqtTu67LLLquc+97n1WttLXvKScSOJJ3L44YdXK6200orYd999679M7JJLLqmuv/76em1y559/frXffvtVV155ZX1JVb3yla/se27iYW1rmI8JAABg1EgAAwAALELdI4C32mqrvpKLTE+e29e97nX1WttrX/va6rDDDqsuv/zy+pKquu2226rjjjuuVTb64osvri+tWmWIX/7yl9drs++EE06ott566+qlL31pKzl9ww031H+53bnnnlu96lWvqnbbbbfqN7/5TX1pVT3wgQ8cN3J2KsPa1jAfEwAAwKhZqV4Ci8suJZa1m6WxbFm1yy65CACApeDaa6+tNthggxVliDO3bBKPzJ0kd/M8n3jiifUlbausskq1zTbbtF6Piy66qLr66qvrv7SttdZa1cknn1w96EEPqi+ZXEYAp8R0xz777DPlnMPve9/7qhe96EX1Wvt/2m677aqNNtqolTj93e9+N250bMf973//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AAAAAADQEApgAAAAAAAAgIZQAAMAAAAAAAA0hAIYAAAAAAAAoCEUwAAAAAAAAAANoQAGAAAAAAAAaAgFMAAAAAAAAEBDKIABAAAAAAAAGkIBDAAAAAAAANAQCmAAAAAAAACAhlAAAwAAAAAAADSEAhgAAAAAAACgIRTAAAAAAAAAAA2hAAYAAAAAAABoCAUwAAAAAAAAQEMogAEAAAAAAAAaQgEMAAAAAAAA0BAKYAAAAAAAAICGUAADAAAAAAAANIQCGAAAAAAAAKAhFMAAAAAAAAAADaEABgAAAAAAAGgIBTAAAAAAAABAQyiAAQAAAAAAABpCAQwAAAAAAADQEApgAAAAAAAAgIZQAAMAAAAAAAA0hAIYAAAAAAAAoCEUwAAAAAAAAAANoQAGAAAAAAAAaAgFMAAAAAAAAEBDKIABAAAAAAAAGkIBDAAAAAAAANAQCmAAAAAAAACAhlAAAwAAAAAAADSEAhgAAAAAAACgIRTAAAAAAAAAAA2hAAYAAAAAAABoCAUwAAAAAAAAQEMogAEAAAAAAAAaQgEMAAAAAAAA0BAKYAAAAAAAAICGUAADAAAAAAAANIQCGAAAAAAAAKAhFMAAAAAAAAAADaEABgAAAAAAAGgIBTAAAAAAAABAQyiAAQAAAAAAABpCAQwAAAAAAADQEApgAAAAAAAAgIZQAAMAAAAAAAA0hAIYAAAAAAAAoCEUwAAAAAAAAAANoQAGAAAAAAAAaAgFMAAAAAAAAEBDKIABAAAAAAAAGkIBDAAAAAAAANAQCmAAAAAAAACAhlAAAwAAAAAAADSEAhgAAAAAAACgIRTAAAAAAAAAAA2hAAYAAAAAAABoCAUwAAAAAAAAQEMogAEAAAAAAAAaQgEMAAAAAAAA0BAKYAAAAAAAAICGUAADAAAAAAAANIQCGAAAAAAAAKAhFMAAAAAAAAAADaEABgAAAAAAAGgIBTAAAAAAAABAQyiAAQAAAAAAABpCAQwAAAAAAADQEApgAAAAAAAAgIZQAAMAAAAAAAA0hAIYAAAAAAAAoCEUwAAAAAAAAAANoQAGAAAAAAAAaAgFMAAAAAAAAEBDKIABAAAAAAAAGkIBDAAAAAAAANAQCmAAAAAAAACAhlAAAwAAAAAAADSEAhgAAAAAAACgIRTAAAAAAAAAAA2hAAYAAAAAAABoCAUwAAAAAAAAQEMo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AAMAAAAAAAA0hAIYAAAAAAAAoCEUwAAAAAAAAAANoQAGAAAAAAAAaAgFMAAAAAAAAEBDKIABAAAAAAAAGkIBDAAAAAAAANAQCmAAAAAAAACAhlAAAwAAAAAAADSEAhgAAAAAAACgIRTAAAAAAAAAAA2hAAYAAAAAAABoCAUwAAAAAAAAQEMogAEAAAAAAAAaQgEMAAAAAAAA0BAKYAAAAAAAAICGUAADAAAAAAAANIQCGAAAAAAAAKAhFMAAAAAAAAAADaEABgAAAAAAAGgIBTAAAAAAAABAQyiAAQAAAAAAABpCAQwAAAAAAADQEApgAAAAAAAAgIZQAAMAAAAAAAA0hAIYAAAAAAAAoCEUwAAAAAAAAAANoQAGAAAAAAAAaAgFMAAAAAAAAEBDKIABAAAAAAAAGkIBDAAAAAAAANAQCmAAAAAAAACAhlAAAwAAAAAAADSEAhgAAAAAAACgIRTAAAAAAAAAAA2hAAYAAAAAAABoCAUwAAAAAAAAQEMogAEAAAAAAAAaQgEMAAAAAAAA0BAKYAAAAAAAAICGUAADAAAAAAAANIQCGAAAAAAAAKAhFMAAAAAAAAAADaEABgAAAAAAAGgIBTAAAAAAAABAQyiAAQAAAAAAABpCAQwAAAAAAADQEApgAAAAAAAAgIZQAAMAAAAAAAA0hAIYAAAAAAAAoCEUwAAAAAAAAAANoQAGAAAAAAAAaAgFMAAAAAAAAEBDKIABAAAAAAAAGkIBDAAAAAAAANAQCmAAAAAAAACAhlAAAwAAAAAAADSEAhgAAAAAAACgIRTAAAAAAAAAAA2hAAYAAAAAAABoCAUwAAAAAAAAQEMogAEAAAAAAAAaQgEMAAAAAAAA0BAKYAAAAAAAAICGUAADAAAAAAAANIQCGAAAAAAAAKAhFMAAAAAAAAAADaEABgAAAAAAAGgIBTAAAAAAAABAQyiAAQAAAAAAABpCAQwAAAAAAADQEApgAAAAAAAAgIZQAAMAAAAAAAA0hAIYAAAAAAAAoCEUwAAAAAAAAAANoQAGAAAAAAAAaAgFMAAAAAAAAEBDKIABAAAAAAAAGkIBDAAAAAAAANAQCmAAAAAAAACAhlAAAwAAAAAAADSEAhgAAAAAAACgIRTAAAAAAAAAAA2hAAYAAAAAAABoCAUwAAAAAAAAQEMogAEAAAAAAAAaQgEMAAAAAAAA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\" width=\"640\">"
],
"text/plain": [
"<IPython.core.display.HTML object>"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"text/html": [
"<div>\n",
"<style>\n",
" .dataframe thead tr:only-child th {\n",
" text-align: right;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: left;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>Slope</th>\n",
" <th>Intercept</th>\n",
" <th>Std. Error Slope</th>\n",
" <th>$r^2$</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th></th>\n",
" <td>0.188</td>\n",
" <td>0.699</td>\n",
" <td>0.002</td>\n",
" <td>0.999</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" Slope Intercept Std. Error Slope $r^2$\n",
" 0.188 0.699 0.002 0.999"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"text/html": [
"<div>\n",
"<style>\n",
" .dataframe thead tr:only-child th {\n",
" text-align: right;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: left;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>Sample</th>\n",
" <th>Rb87ppm</th>\n",
" <th>Sr86ppm</th>\n",
" <th>Sr87Sr86</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th></th>\n",
" <td>1</td>\n",
" <td>1.030</td>\n",
" <td>95.6</td>\n",
" <td>0.70127</td>\n",
" </tr>\n",
" <tr>\n",
" <th></th>\n",
" <td>2</td>\n",
" <td>2.150</td>\n",
" <td>116.0</td>\n",
" <td>0.70243</td>\n",
" </tr>\n",
" <tr>\n",
" <th></th>\n",
" <td>3</td>\n",
" <td>0.940</td>\n",
" <td>86.1</td>\n",
" <td>0.70114</td>\n",
" </tr>\n",
" <tr>\n",
" <th></th>\n",
" <td>4</td>\n",
" <td>1.033</td>\n",
" <td>91.4</td>\n",
" <td>0.70112</td>\n",
" </tr>\n",
" <tr>\n",
" <th></th>\n",
" <td>5</td>\n",
" <td>1.150</td>\n",
" <td>122.9</td>\n",
" <td>0.70090</td>\n",
" </tr>\n",
" <tr>\n",
" <th></th>\n",
" <td>6</td>\n",
" <td>0.770</td>\n",
" <td>149.9</td>\n",
" <td>0.70011</td>\n",
" </tr>\n",
" <tr>\n",
" <th></th>\n",
" <td>7</td>\n",
" <td>0.826</td>\n",
" <td>100.4</td>\n",
" <td>0.70073</td>\n",
" </tr>\n",
" <tr>\n",
" <th></th>\n",
" <td>8</td>\n",
" <td>0.475</td>\n",
" <td>185.8</td>\n",
" <td>0.69972</td>\n",
" </tr>\n",
" <tr>\n",
" <th></th>\n",
" <td>9</td>\n",
" <td>0.490</td>\n",
" <td>80.6</td>\n",
" <td>0.70047</td>\n",
" </tr>\n",
" <tr>\n",
" <th></th>\n",
" <td>10</td>\n",
" <td>1.220</td>\n",
" <td>113.7</td>\n",
" <td>0.70123</td>\n",
" </tr>\n",
" <tr>\n",
" <th></th>\n",
" <td>11</td>\n",
" <td>1.020</td>\n",
" <td>147.9</td>\n",
" <td>0.70048</td>\n",
" </tr>\n",
" <tr>\n",
" <th></th>\n",
" <td>12</td>\n",
" <td>1.000</td>\n",
" <td>134.8</td>\n",
" <td>0.70056</td>\n",
" </tr>\n",
" <tr>\n",
" <th></th>\n",
" <td>13</td>\n",
" <td>1.210</td>\n",
" <td>114.2</td>\n",
" <td>0.70102</td>\n",
" </tr>\n",
" <tr>\n",
" <th></th>\n",
" <td>14</td>\n",
" <td>1.130</td>\n",
" <td>96.0</td>\n",
" <td>0.70133</td>\n",
" </tr>\n",
" <tr>\n",
" <th></th>\n",
" <td>15</td>\n",
" <td>10.100</td>\n",
" <td>171.5</td>\n",
" <td>0.71008</td>\n",
" </tr>\n",
" <tr>\n",
" <th></th>\n",
" <td>16</td>\n",
" <td>6.360</td>\n",
" <td>142.8</td>\n",
" <td>0.70771</td>\n",
" </tr>\n",
" <tr>\n",
" <th></th>\n",
" <td>17</td>\n",
" <td>6.330</td>\n",
" <td>143.3</td>\n",
" <td>0.70753</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" Sample Rb87ppm Sr86ppm Sr87Sr86\n",
" 1 1.030 95.6 0.70127\n",
" 2 2.150 116.0 0.70243\n",
" 3 0.940 86.1 0.70114\n",
" 4 1.033 91.4 0.70112\n",
" 5 1.150 122.9 0.70090\n",
" 6 0.770 149.9 0.70011\n",
" 7 0.826 100.4 0.70073\n",
" 8 0.475 185.8 0.69972\n",
" 9 0.490 80.6 0.70047\n",
" 10 1.220 113.7 0.70123\n",
" 11 1.020 147.9 0.70048\n",
" 12 1.000 134.8 0.70056\n",
" 13 1.210 114.2 0.70102\n",
" 14 1.130 96.0 0.70133\n",
" 15 10.100 171.5 0.71008\n",
" 16 6.360 142.8 0.70771\n",
" 17 6.330 143.3 0.70753"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"import IPython.core.display as di\n",
"di.display_html('<script>jQuery(function() {if (jQuery(\"body.notebook_app\").length == 0) { jQuery(\".input_area\").toggle(); jQuery(\".prompt\").toggle();}});</script>', raw=True)\n",
"di.display_html('''<button onclick=\"jQuery('.input_area').toggle(); jQuery('.prompt').toggle();\">Toggle code</button>''', raw=True)\n",
"import matplotlib.pyplot as plt\n",
"from IPython.display import display\n",
"%matplotlib notebook\n",
"import pandas as pd\n",
"import numpy as np\n",
"from scipy.stats import linregress\n",
"data = pd.read_csv(\"moonrockdata.csv\", index_col=0)\n",
"\n",
"Rb87 = data['Rb87ppm']\n",
"Sr86 = data['Sr86ppm']\n",
"Rb87toSr86 = Rb87/Sr86\n",
"Sr87toSr86 = data['Sr87Sr86']\n",
"regression_analysis = linregress(Rb87toSr86, Sr87toSr86)\n",
"slope = regression_analysis[0]\n",
"intercept = regression_analysis[1]\n",
"r_squared = regression_analysis[2]\n",
"std_error_slope = regression_analysis[4]\n",
"plt.scatter(Rb87toSr86,Sr87toSr86, s = 15)\n",
"x = np.linspace(0,0.065,100)\n",
"y = x*slope + intercept\n",
"slope_equation = \"slope $=$ \" + str(round(slope,3)) + \" $\\\\pm$ \" + str(round(std_error_slope,3))\n",
"r_squared_eq = \"$r^2 = $\" + str(round(r_squared,3))\n",
"plt.plot(x,y)\n",
"plt.axis('equal')\n",
"plt.title(\"Rubidium Strontium Isochron: Lunar Rocks\")\n",
"plt.ylabel(\"$\\\\frac{^{87}Sr}{^{86}Sr}$\")\n",
"plt.xlabel(\"$\\\\frac{^{87}Sr}{^{86}Sr}$\")\n",
"ax = plt.gca()\n",
"plt.text(0.5, 0.75,slope_equation, ha='center', va='center', transform=ax.transAxes)\n",
"plt.text(0.5, 0.68,r_squared_eq, ha='center', va='center', transform=ax.transAxes);\n",
"display(pd.DataFrame([[round(slope,3),round(intercept,3),round(std_error_slope,3), round(r_squared,3)]], \n",
" columns = ['Slope','Intercept','Std. Error Slope', '$r^2$'], index = [\"\"] ))\n",
"display(data)"
]
}
],
"metadata": {
"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