Format: application/octet-stream
⬇ Download File (1.2 MB)
   1  {
   2   "cells": [
   3    {
   4     "cell_type": "markdown",
   5     "metadata": {},
   6     "source": [
   7      "---\n",
   8      "\n",
   9      "_You are currently looking at **version 1.0** of this notebook. To download notebooks and datafiles, as well as get help on Jupyter notebooks in the Coursera platform, visit the [Jupyter Notebook FAQ](https://www.coursera.org/learn/python-machine-learning/resources/bANLa) course resource._\n",
  10      "\n",
  11      "---"
  12     ]
  13    },
  14    {
  15     "cell_type": "markdown",
  16     "metadata": {},
  17     "source": [
  18      "# Classifier Visualization Playground\n",
  19      "\n",
  20      "The purpose of this notebook is to let you visualize various classsifiers' decision boundaries.\n",
  21      "\n",
  22      "The data used in this notebook is based on the [UCI Mushroom Data Set](http://archive.ics.uci.edu/ml/datasets/Mushroom?ref=datanews.io) stored in `mushrooms.csv`. \n",
  23      "\n",
  24      "In order to better vizualize the decision boundaries, we'll perform Principal Component Analysis (PCA) on the data to reduce the dimensionality to 2 dimensions. Dimensionality reduction will be covered in module 4 of this course.\n",
  25      "\n",
  26      "Play around with different models and parameters to see how they affect the classifier's decision boundary and accuracy!"
  27     ]
  28    },
  29    {
  30     "cell_type": "code",
  31     "execution_count": 1,
  32     "metadata": {},
  33     "outputs": [
  34      {
  35       "data": {
  36        "application/javascript": [
  37         "/* Put everything inside the global mpl namespace */\n",
  38         "/* global mpl */\n",
  39         "window.mpl = {};\n",
  40         "\n",
  41         "mpl.get_websocket_type = function () {\n",
  42         "    if (typeof WebSocket !== 'undefined') {\n",
  43         "        return WebSocket;\n",
  44         "    } else if (typeof MozWebSocket !== 'undefined') {\n",
  45         "        return MozWebSocket;\n",
  46         "    } else {\n",
  47         "        alert(\n",
  48         "            'Your browser does not have WebSocket support. ' +\n",
  49         "                'Please try Chrome, Safari or Firefox ≥ 6. ' +\n",
  50         "                'Firefox 4 and 5 are also supported but you ' +\n",
  51         "                'have to enable WebSockets in about:config.'\n",
  52         "        );\n",
  53         "    }\n",
  54         "};\n",
  55         "\n",
  56         "mpl.figure = function (figure_id, websocket, ondownload, parent_element) {\n",
  57         "    this.id = figure_id;\n",
  58         "\n",
  59         "    this.ws = websocket;\n",
  60         "\n",
  61         "    this.supports_binary = this.ws.binaryType !== undefined;\n",
  62         "\n",
  63         "    if (!this.supports_binary) {\n",
  64         "        var warnings = document.getElementById('mpl-warnings');\n",
  65         "        if (warnings) {\n",
  66         "            warnings.style.display = 'block';\n",
  67         "            warnings.textContent =\n",
  68         "                'This browser does not support binary websocket messages. ' +\n",
  69         "                'Performance may be slow.';\n",
  70         "        }\n",
  71         "    }\n",
  72         "\n",
  73         "    this.imageObj = new Image();\n",
  74         "\n",
  75         "    this.context = undefined;\n",
  76         "    this.message = undefined;\n",
  77         "    this.canvas = undefined;\n",
  78         "    this.rubberband_canvas = undefined;\n",
  79         "    this.rubberband_context = undefined;\n",
  80         "    this.format_dropdown = undefined;\n",
  81         "\n",
  82         "    this.image_mode = 'full';\n",
  83         "\n",
  84         "    this.root = document.createElement('div');\n",
  85         "    this.root.setAttribute('style', 'display: inline-block');\n",
  86         "    this._root_extra_style(this.root);\n",
  87         "\n",
  88         "    parent_element.appendChild(this.root);\n",
  89         "\n",
  90         "    this._init_header(this);\n",
  91         "    this._init_canvas(this);\n",
  92         "    this._init_toolbar(this);\n",
  93         "\n",
  94         "    var fig = this;\n",
  95         "\n",
  96         "    this.waiting = false;\n",
  97         "\n",
  98         "    this.ws.onopen = function () {\n",
  99         "        fig.send_message('supports_binary', { value: fig.supports_binary });\n",
 100         "        fig.send_message('send_image_mode', {});\n",
 101         "        if (fig.ratio !== 1) {\n",
 102         "            fig.send_message('set_dpi_ratio', { dpi_ratio: fig.ratio });\n",
 103         "        }\n",
 104         "        fig.send_message('refresh', {});\n",
 105         "    };\n",
 106         "\n",
 107         "    this.imageObj.onload = function () {\n",
 108         "        if (fig.image_mode === 'full') {\n",
 109         "            // Full images could contain transparency (where diff images\n",
 110         "            // almost always do), so we need to clear the canvas so that\n",
 111         "            // there is no ghosting.\n",
 112         "            fig.context.clearRect(0, 0, fig.canvas.width, fig.canvas.height);\n",
 113         "        }\n",
 114         "        fig.context.drawImage(fig.imageObj, 0, 0);\n",
 115         "    };\n",
 116         "\n",
 117         "    this.imageObj.onunload = function () {\n",
 118         "        fig.ws.close();\n",
 119         "    };\n",
 120         "\n",
 121         "    this.ws.onmessage = this._make_on_message_function(this);\n",
 122         "\n",
 123         "    this.ondownload = ondownload;\n",
 124         "};\n",
 125         "\n",
 126         "mpl.figure.prototype._init_header = function () {\n",
 127         "    var titlebar = document.createElement('div');\n",
 128         "    titlebar.classList =\n",
 129         "        'ui-dialog-titlebar ui-widget-header ui-corner-all ui-helper-clearfix';\n",
 130         "    var titletext = document.createElement('div');\n",
 131         "    titletext.classList = 'ui-dialog-title';\n",
 132         "    titletext.setAttribute(\n",
 133         "        'style',\n",
 134         "        'width: 100%; text-align: center; padding: 3px;'\n",
 135         "    );\n",
 136         "    titlebar.appendChild(titletext);\n",
 137         "    this.root.appendChild(titlebar);\n",
 138         "    this.header = titletext;\n",
 139         "};\n",
 140         "\n",
 141         "mpl.figure.prototype._canvas_extra_style = function (_canvas_div) {};\n",
 142         "\n",
 143         "mpl.figure.prototype._root_extra_style = function (_canvas_div) {};\n",
 144         "\n",
 145         "mpl.figure.prototype._init_canvas = function () {\n",
 146         "    var fig = this;\n",
 147         "\n",
 148         "    var canvas_div = (this.canvas_div = document.createElement('div'));\n",
 149         "    canvas_div.setAttribute(\n",
 150         "        'style',\n",
 151         "        'border: 1px solid #ddd;' +\n",
 152         "            'box-sizing: content-box;' +\n",
 153         "            'clear: both;' +\n",
 154         "            'min-height: 1px;' +\n",
 155         "            'min-width: 1px;' +\n",
 156         "            'outline: 0;' +\n",
 157         "            'overflow: hidden;' +\n",
 158         "            'position: relative;' +\n",
 159         "            'resize: both;'\n",
 160         "    );\n",
 161         "\n",
 162         "    function on_keyboard_event_closure(name) {\n",
 163         "        return function (event) {\n",
 164         "            return fig.key_event(event, name);\n",
 165         "        };\n",
 166         "    }\n",
 167         "\n",
 168         "    canvas_div.addEventListener(\n",
 169         "        'keydown',\n",
 170         "        on_keyboard_event_closure('key_press')\n",
 171         "    );\n",
 172         "    canvas_div.addEventListener(\n",
 173         "        'keyup',\n",
 174         "        on_keyboard_event_closure('key_release')\n",
 175         "    );\n",
 176         "\n",
 177         "    this._canvas_extra_style(canvas_div);\n",
 178         "    this.root.appendChild(canvas_div);\n",
 179         "\n",
 180         "    var canvas = (this.canvas = document.createElement('canvas'));\n",
 181         "    canvas.classList.add('mpl-canvas');\n",
 182         "    canvas.setAttribute('style', 'box-sizing: content-box;');\n",
 183         "\n",
 184         "    this.context = canvas.getContext('2d');\n",
 185         "\n",
 186         "    var backingStore =\n",
 187         "        this.context.backingStorePixelRatio ||\n",
 188         "        this.context.webkitBackingStorePixelRatio ||\n",
 189         "        this.context.mozBackingStorePixelRatio ||\n",
 190         "        this.context.msBackingStorePixelRatio ||\n",
 191         "        this.context.oBackingStorePixelRatio ||\n",
 192         "        this.context.backingStorePixelRatio ||\n",
 193         "        1;\n",
 194         "\n",
 195         "    this.ratio = (window.devicePixelRatio || 1) / backingStore;\n",
 196         "\n",
 197         "    var rubberband_canvas = (this.rubberband_canvas = document.createElement(\n",
 198         "        'canvas'\n",
 199         "    ));\n",
 200         "    rubberband_canvas.setAttribute(\n",
 201         "        'style',\n",
 202         "        'box-sizing: content-box; position: absolute; left: 0; top: 0; z-index: 1;'\n",
 203         "    );\n",
 204         "\n",
 205         "    // Apply a ponyfill if ResizeObserver is not implemented by browser.\n",
 206         "    if (this.ResizeObserver === undefined) {\n",
 207         "        if (window.ResizeObserver !== undefined) {\n",
 208         "            this.ResizeObserver = window.ResizeObserver;\n",
 209         "        } else {\n",
 210         "            var obs = _JSXTOOLS_RESIZE_OBSERVER({});\n",
 211         "            this.ResizeObserver = obs.ResizeObserver;\n",
 212         "        }\n",
 213         "    }\n",
 214         "\n",
 215         "    this.resizeObserverInstance = new this.ResizeObserver(function (entries) {\n",
 216         "        var nentries = entries.length;\n",
 217         "        for (var i = 0; i < nentries; i++) {\n",
 218         "            var entry = entries[i];\n",
 219         "            var width, height;\n",
 220         "            if (entry.contentBoxSize) {\n",
 221         "                if (entry.contentBoxSize instanceof Array) {\n",
 222         "                    // Chrome 84 implements new version of spec.\n",
 223         "                    width = entry.contentBoxSize[0].inlineSize;\n",
 224         "                    height = entry.contentBoxSize[0].blockSize;\n",
 225         "                } else {\n",
 226         "                    // Firefox implements old version of spec.\n",
 227         "                    width = entry.contentBoxSize.inlineSize;\n",
 228         "                    height = entry.contentBoxSize.blockSize;\n",
 229         "                }\n",
 230         "            } else {\n",
 231         "                // Chrome <84 implements even older version of spec.\n",
 232         "                width = entry.contentRect.width;\n",
 233         "                height = entry.contentRect.height;\n",
 234         "            }\n",
 235         "\n",
 236         "            // Keep the size of the canvas and rubber band canvas in sync with\n",
 237         "            // the canvas container.\n",
 238         "            if (entry.devicePixelContentBoxSize) {\n",
 239         "                // Chrome 84 implements new version of spec.\n",
 240         "                canvas.setAttribute(\n",
 241         "                    'width',\n",
 242         "                    entry.devicePixelContentBoxSize[0].inlineSize\n",
 243         "                );\n",
 244         "                canvas.setAttribute(\n",
 245         "                    'height',\n",
 246         "                    entry.devicePixelContentBoxSize[0].blockSize\n",
 247         "                );\n",
 248         "            } else {\n",
 249         "                canvas.setAttribute('width', width * fig.ratio);\n",
 250         "                canvas.setAttribute('height', height * fig.ratio);\n",
 251         "            }\n",
 252         "            canvas.setAttribute(\n",
 253         "                'style',\n",
 254         "                'width: ' + width + 'px; height: ' + height + 'px;'\n",
 255         "            );\n",
 256         "\n",
 257         "            rubberband_canvas.setAttribute('width', width);\n",
 258         "            rubberband_canvas.setAttribute('height', height);\n",
 259         "\n",
 260         "            // And update the size in Python. We ignore the initial 0/0 size\n",
 261         "            // that occurs as the element is placed into the DOM, which should\n",
 262         "            // otherwise not happen due to the minimum size styling.\n",
 263         "            if (fig.ws.readyState == 1 && width != 0 && height != 0) {\n",
 264         "                fig.request_resize(width, height);\n",
 265         "            }\n",
 266         "        }\n",
 267         "    });\n",
 268         "    this.resizeObserverInstance.observe(canvas_div);\n",
 269         "\n",
 270         "    function on_mouse_event_closure(name) {\n",
 271         "        return function (event) {\n",
 272         "            return fig.mouse_event(event, name);\n",
 273         "        };\n",
 274         "    }\n",
 275         "\n",
 276         "    rubberband_canvas.addEventListener(\n",
 277         "        'mousedown',\n",
 278         "        on_mouse_event_closure('button_press')\n",
 279         "    );\n",
 280         "    rubberband_canvas.addEventListener(\n",
 281         "        'mouseup',\n",
 282         "        on_mouse_event_closure('button_release')\n",
 283         "    );\n",
 284         "    // Throttle sequential mouse events to 1 every 20ms.\n",
 285         "    rubberband_canvas.addEventListener(\n",
 286         "        'mousemove',\n",
 287         "        on_mouse_event_closure('motion_notify')\n",
 288         "    );\n",
 289         "\n",
 290         "    rubberband_canvas.addEventListener(\n",
 291         "        'mouseenter',\n",
 292         "        on_mouse_event_closure('figure_enter')\n",
 293         "    );\n",
 294         "    rubberband_canvas.addEventListener(\n",
 295         "        'mouseleave',\n",
 296         "        on_mouse_event_closure('figure_leave')\n",
 297         "    );\n",
 298         "\n",
 299         "    canvas_div.addEventListener('wheel', function (event) {\n",
 300         "        if (event.deltaY < 0) {\n",
 301         "            event.step = 1;\n",
 302         "        } else {\n",
 303         "            event.step = -1;\n",
 304         "        }\n",
 305         "        on_mouse_event_closure('scroll')(event);\n",
 306         "    });\n",
 307         "\n",
 308         "    canvas_div.appendChild(canvas);\n",
 309         "    canvas_div.appendChild(rubberband_canvas);\n",
 310         "\n",
 311         "    this.rubberband_context = rubberband_canvas.getContext('2d');\n",
 312         "    this.rubberband_context.strokeStyle = '#000000';\n",
 313         "\n",
 314         "    this._resize_canvas = function (width, height, forward) {\n",
 315         "        if (forward) {\n",
 316         "            canvas_div.style.width = width + 'px';\n",
 317         "            canvas_div.style.height = height + 'px';\n",
 318         "        }\n",
 319         "    };\n",
 320         "\n",
 321         "    // Disable right mouse context menu.\n",
 322         "    this.rubberband_canvas.addEventListener('contextmenu', function (_e) {\n",
 323         "        event.preventDefault();\n",
 324         "        return false;\n",
 325         "    });\n",
 326         "\n",
 327         "    function set_focus() {\n",
 328         "        canvas.focus();\n",
 329         "        canvas_div.focus();\n",
 330         "    }\n",
 331         "\n",
 332         "    window.setTimeout(set_focus, 100);\n",
 333         "};\n",
 334         "\n",
 335         "mpl.figure.prototype._init_toolbar = function () {\n",
 336         "    var fig = this;\n",
 337         "\n",
 338         "    var toolbar = document.createElement('div');\n",
 339         "    toolbar.classList = 'mpl-toolbar';\n",
 340         "    this.root.appendChild(toolbar);\n",
 341         "\n",
 342         "    function on_click_closure(name) {\n",
 343         "        return function (_event) {\n",
 344         "            return fig.toolbar_button_onclick(name);\n",
 345         "        };\n",
 346         "    }\n",
 347         "\n",
 348         "    function on_mouseover_closure(tooltip) {\n",
 349         "        return function (event) {\n",
 350         "            if (!event.currentTarget.disabled) {\n",
 351         "                return fig.toolbar_button_onmouseover(tooltip);\n",
 352         "            }\n",
 353         "        };\n",
 354         "    }\n",
 355         "\n",
 356         "    fig.buttons = {};\n",
 357         "    var buttonGroup = document.createElement('div');\n",
 358         "    buttonGroup.classList = 'mpl-button-group';\n",
 359         "    for (var toolbar_ind in mpl.toolbar_items) {\n",
 360         "        var name = mpl.toolbar_items[toolbar_ind][0];\n",
 361         "        var tooltip = mpl.toolbar_items[toolbar_ind][1];\n",
 362         "        var image = mpl.toolbar_items[toolbar_ind][2];\n",
 363         "        var method_name = mpl.toolbar_items[toolbar_ind][3];\n",
 364         "\n",
 365         "        if (!name) {\n",
 366         "            /* Instead of a spacer, we start a new button group. */\n",
 367         "            if (buttonGroup.hasChildNodes()) {\n",
 368         "                toolbar.appendChild(buttonGroup);\n",
 369         "            }\n",
 370         "            buttonGroup = document.createElement('div');\n",
 371         "            buttonGroup.classList = 'mpl-button-group';\n",
 372         "            continue;\n",
 373         "        }\n",
 374         "\n",
 375         "        var button = (fig.buttons[name] = document.createElement('button'));\n",
 376         "        button.classList = 'mpl-widget';\n",
 377         "        button.setAttribute('role', 'button');\n",
 378         "        button.setAttribute('aria-disabled', 'false');\n",
 379         "        button.addEventListener('click', on_click_closure(method_name));\n",
 380         "        button.addEventListener('mouseover', on_mouseover_closure(tooltip));\n",
 381         "\n",
 382         "        var icon_img = document.createElement('img');\n",
 383         "        icon_img.src = '_images/' + image + '.png';\n",
 384         "        icon_img.srcset = '_images/' + image + '_large.png 2x';\n",
 385         "        icon_img.alt = tooltip;\n",
 386         "        button.appendChild(icon_img);\n",
 387         "\n",
 388         "        buttonGroup.appendChild(button);\n",
 389         "    }\n",
 390         "\n",
 391         "    if (buttonGroup.hasChildNodes()) {\n",
 392         "        toolbar.appendChild(buttonGroup);\n",
 393         "    }\n",
 394         "\n",
 395         "    var fmt_picker = document.createElement('select');\n",
 396         "    fmt_picker.classList = 'mpl-widget';\n",
 397         "    toolbar.appendChild(fmt_picker);\n",
 398         "    this.format_dropdown = fmt_picker;\n",
 399         "\n",
 400         "    for (var ind in mpl.extensions) {\n",
 401         "        var fmt = mpl.extensions[ind];\n",
 402         "        var option = document.createElement('option');\n",
 403         "        option.selected = fmt === mpl.default_extension;\n",
 404         "        option.innerHTML = fmt;\n",
 405         "        fmt_picker.appendChild(option);\n",
 406         "    }\n",
 407         "\n",
 408         "    var status_bar = document.createElement('span');\n",
 409         "    status_bar.classList = 'mpl-message';\n",
 410         "    toolbar.appendChild(status_bar);\n",
 411         "    this.message = status_bar;\n",
 412         "};\n",
 413         "\n",
 414         "mpl.figure.prototype.request_resize = function (x_pixels, y_pixels) {\n",
 415         "    // Request matplotlib to resize the figure. Matplotlib will then trigger a resize in the client,\n",
 416         "    // which will in turn request a refresh of the image.\n",
 417         "    this.send_message('resize', { width: x_pixels, height: y_pixels });\n",
 418         "};\n",
 419         "\n",
 420         "mpl.figure.prototype.send_message = function (type, properties) {\n",
 421         "    properties['type'] = type;\n",
 422         "    properties['figure_id'] = this.id;\n",
 423         "    this.ws.send(JSON.stringify(properties));\n",
 424         "};\n",
 425         "\n",
 426         "mpl.figure.prototype.send_draw_message = function () {\n",
 427         "    if (!this.waiting) {\n",
 428         "        this.waiting = true;\n",
 429         "        this.ws.send(JSON.stringify({ type: 'draw', figure_id: this.id }));\n",
 430         "    }\n",
 431         "};\n",
 432         "\n",
 433         "mpl.figure.prototype.handle_save = function (fig, _msg) {\n",
 434         "    var format_dropdown = fig.format_dropdown;\n",
 435         "    var format = format_dropdown.options[format_dropdown.selectedIndex].value;\n",
 436         "    fig.ondownload(fig, format);\n",
 437         "};\n",
 438         "\n",
 439         "mpl.figure.prototype.handle_resize = function (fig, msg) {\n",
 440         "    var size = msg['size'];\n",
 441         "    if (size[0] !== fig.canvas.width || size[1] !== fig.canvas.height) {\n",
 442         "        fig._resize_canvas(size[0], size[1], msg['forward']);\n",
 443         "        fig.send_message('refresh', {});\n",
 444         "    }\n",
 445         "};\n",
 446         "\n",
 447         "mpl.figure.prototype.handle_rubberband = function (fig, msg) {\n",
 448         "    var x0 = msg['x0'] / fig.ratio;\n",
 449         "    var y0 = (fig.canvas.height - msg['y0']) / fig.ratio;\n",
 450         "    var x1 = msg['x1'] / fig.ratio;\n",
 451         "    var y1 = (fig.canvas.height - msg['y1']) / fig.ratio;\n",
 452         "    x0 = Math.floor(x0) + 0.5;\n",
 453         "    y0 = Math.floor(y0) + 0.5;\n",
 454         "    x1 = Math.floor(x1) + 0.5;\n",
 455         "    y1 = Math.floor(y1) + 0.5;\n",
 456         "    var min_x = Math.min(x0, x1);\n",
 457         "    var min_y = Math.min(y0, y1);\n",
 458         "    var width = Math.abs(x1 - x0);\n",
 459         "    var height = Math.abs(y1 - y0);\n",
 460         "\n",
 461         "    fig.rubberband_context.clearRect(\n",
 462         "        0,\n",
 463         "        0,\n",
 464         "        fig.canvas.width / fig.ratio,\n",
 465         "        fig.canvas.height / fig.ratio\n",
 466         "    );\n",
 467         "\n",
 468         "    fig.rubberband_context.strokeRect(min_x, min_y, width, height);\n",
 469         "};\n",
 470         "\n",
 471         "mpl.figure.prototype.handle_figure_label = function (fig, msg) {\n",
 472         "    // Updates the figure title.\n",
 473         "    fig.header.textContent = msg['label'];\n",
 474         "};\n",
 475         "\n",
 476         "mpl.figure.prototype.handle_cursor = function (fig, msg) {\n",
 477         "    var cursor = msg['cursor'];\n",
 478         "    switch (cursor) {\n",
 479         "        case 0:\n",
 480         "            cursor = 'pointer';\n",
 481         "            break;\n",
 482         "        case 1:\n",
 483         "            cursor = 'default';\n",
 484         "            break;\n",
 485         "        case 2:\n",
 486         "            cursor = 'crosshair';\n",
 487         "            break;\n",
 488         "        case 3:\n",
 489         "            cursor = 'move';\n",
 490         "            break;\n",
 491         "    }\n",
 492         "    fig.rubberband_canvas.style.cursor = cursor;\n",
 493         "};\n",
 494         "\n",
 495         "mpl.figure.prototype.handle_message = function (fig, msg) {\n",
 496         "    fig.message.textContent = msg['message'];\n",
 497         "};\n",
 498         "\n",
 499         "mpl.figure.prototype.handle_draw = function (fig, _msg) {\n",
 500         "    // Request the server to send over a new figure.\n",
 501         "    fig.send_draw_message();\n",
 502         "};\n",
 503         "\n",
 504         "mpl.figure.prototype.handle_image_mode = function (fig, msg) {\n",
 505         "    fig.image_mode = msg['mode'];\n",
 506         "};\n",
 507         "\n",
 508         "mpl.figure.prototype.handle_history_buttons = function (fig, msg) {\n",
 509         "    for (var key in msg) {\n",
 510         "        if (!(key in fig.buttons)) {\n",
 511         "            continue;\n",
 512         "        }\n",
 513         "        fig.buttons[key].disabled = !msg[key];\n",
 514         "        fig.buttons[key].setAttribute('aria-disabled', !msg[key]);\n",
 515         "    }\n",
 516         "};\n",
 517         "\n",
 518         "mpl.figure.prototype.handle_navigate_mode = function (fig, msg) {\n",
 519         "    if (msg['mode'] === 'PAN') {\n",
 520         "        fig.buttons['Pan'].classList.add('active');\n",
 521         "        fig.buttons['Zoom'].classList.remove('active');\n",
 522         "    } else if (msg['mode'] === 'ZOOM') {\n",
 523         "        fig.buttons['Pan'].classList.remove('active');\n",
 524         "        fig.buttons['Zoom'].classList.add('active');\n",
 525         "    } else {\n",
 526         "        fig.buttons['Pan'].classList.remove('active');\n",
 527         "        fig.buttons['Zoom'].classList.remove('active');\n",
 528         "    }\n",
 529         "};\n",
 530         "\n",
 531         "mpl.figure.prototype.updated_canvas_event = function () {\n",
 532         "    // Called whenever the canvas gets updated.\n",
 533         "    this.send_message('ack', {});\n",
 534         "};\n",
 535         "\n",
 536         "// A function to construct a web socket function for onmessage handling.\n",
 537         "// Called in the figure constructor.\n",
 538         "mpl.figure.prototype._make_on_message_function = function (fig) {\n",
 539         "    return function socket_on_message(evt) {\n",
 540         "        if (evt.data instanceof Blob) {\n",
 541         "            /* FIXME: We get \"Resource interpreted as Image but\n",
 542         "             * transferred with MIME type text/plain:\" errors on\n",
 543         "             * Chrome.  But how to set the MIME type?  It doesn't seem\n",
 544         "             * to be part of the websocket stream */\n",
 545         "            evt.data.type = 'image/png';\n",
 546         "\n",
 547         "            /* Free the memory for the previous frames */\n",
 548         "            if (fig.imageObj.src) {\n",
 549         "                (window.URL || window.webkitURL).revokeObjectURL(\n",
 550         "                    fig.imageObj.src\n",
 551         "                );\n",
 552         "            }\n",
 553         "\n",
 554         "            fig.imageObj.src = (window.URL || window.webkitURL).createObjectURL(\n",
 555         "                evt.data\n",
 556         "            );\n",
 557         "            fig.updated_canvas_event();\n",
 558         "            fig.waiting = false;\n",
 559         "            return;\n",
 560         "        } else if (\n",
 561         "            typeof evt.data === 'string' &&\n",
 562         "            evt.data.slice(0, 21) === 'data:image/png;base64'\n",
 563         "        ) {\n",
 564         "            fig.imageObj.src = evt.data;\n",
 565         "            fig.updated_canvas_event();\n",
 566         "            fig.waiting = false;\n",
 567         "            return;\n",
 568         "        }\n",
 569         "\n",
 570         "        var msg = JSON.parse(evt.data);\n",
 571         "        var msg_type = msg['type'];\n",
 572         "\n",
 573         "        // Call the  \"handle_{type}\" callback, which takes\n",
 574         "        // the figure and JSON message as its only arguments.\n",
 575         "        try {\n",
 576         "            var callback = fig['handle_' + msg_type];\n",
 577         "        } catch (e) {\n",
 578         "            console.log(\n",
 579         "                \"No handler for the '\" + msg_type + \"' message type: \",\n",
 580         "                msg\n",
 581         "            );\n",
 582         "            return;\n",
 583         "        }\n",
 584         "\n",
 585         "        if (callback) {\n",
 586         "            try {\n",
 587         "                // console.log(\"Handling '\" + msg_type + \"' message: \", msg);\n",
 588         "                callback(fig, msg);\n",
 589         "            } catch (e) {\n",
 590         "                console.log(\n",
 591         "                    \"Exception inside the 'handler_\" + msg_type + \"' callback:\",\n",
 592         "                    e,\n",
 593         "                    e.stack,\n",
 594         "                    msg\n",
 595         "                );\n",
 596         "            }\n",
 597         "        }\n",
 598         "    };\n",
 599         "};\n",
 600         "\n",
 601         "// from http://stackoverflow.com/questions/1114465/getting-mouse-location-in-canvas\n",
 602         "mpl.findpos = function (e) {\n",
 603         "    //this section is from http://www.quirksmode.org/js/events_properties.html\n",
 604         "    var targ;\n",
 605         "    if (!e) {\n",
 606         "        e = window.event;\n",
 607         "    }\n",
 608         "    if (e.target) {\n",
 609         "        targ = e.target;\n",
 610         "    } else if (e.srcElement) {\n",
 611         "        targ = e.srcElement;\n",
 612         "    }\n",
 613         "    if (targ.nodeType === 3) {\n",
 614         "        // defeat Safari bug\n",
 615         "        targ = targ.parentNode;\n",
 616         "    }\n",
 617         "\n",
 618         "    // pageX,Y are the mouse positions relative to the document\n",
 619         "    var boundingRect = targ.getBoundingClientRect();\n",
 620         "    var x = e.pageX - (boundingRect.left + document.body.scrollLeft);\n",
 621         "    var y = e.pageY - (boundingRect.top + document.body.scrollTop);\n",
 622         "\n",
 623         "    return { x: x, y: y };\n",
 624         "};\n",
 625         "\n",
 626         "/*\n",
 627         " * return a copy of an object with only non-object keys\n",
 628         " * we need this to avoid circular references\n",
 629         " * http://stackoverflow.com/a/24161582/3208463\n",
 630         " */\n",
 631         "function simpleKeys(original) {\n",
 632         "    return Object.keys(original).reduce(function (obj, key) {\n",
 633         "        if (typeof original[key] !== 'object') {\n",
 634         "            obj[key] = original[key];\n",
 635         "        }\n",
 636         "        return obj;\n",
 637         "    }, {});\n",
 638         "}\n",
 639         "\n",
 640         "mpl.figure.prototype.mouse_event = function (event, name) {\n",
 641         "    var canvas_pos = mpl.findpos(event);\n",
 642         "\n",
 643         "    if (name === 'button_press') {\n",
 644         "        this.canvas.focus();\n",
 645         "        this.canvas_div.focus();\n",
 646         "    }\n",
 647         "\n",
 648         "    var x = canvas_pos.x * this.ratio;\n",
 649         "    var y = canvas_pos.y * this.ratio;\n",
 650         "\n",
 651         "    this.send_message(name, {\n",
 652         "        x: x,\n",
 653         "        y: y,\n",
 654         "        button: event.button,\n",
 655         "        step: event.step,\n",
 656         "        guiEvent: simpleKeys(event),\n",
 657         "    });\n",
 658         "\n",
 659         "    /* This prevents the web browser from automatically changing to\n",
 660         "     * the text insertion cursor when the button is pressed.  We want\n",
 661         "     * to control all of the cursor setting manually through the\n",
 662         "     * 'cursor' event from matplotlib */\n",
 663         "    event.preventDefault();\n",
 664         "    return false;\n",
 665         "};\n",
 666         "\n",
 667         "mpl.figure.prototype._key_event_extra = function (_event, _name) {\n",
 668         "    // Handle any extra behaviour associated with a key event\n",
 669         "};\n",
 670         "\n",
 671         "mpl.figure.prototype.key_event = function (event, name) {\n",
 672         "    // Prevent repeat events\n",
 673         "    if (name === 'key_press') {\n",
 674         "        if (event.which === this._key) {\n",
 675         "            return;\n",
 676         "        } else {\n",
 677         "            this._key = event.which;\n",
 678         "        }\n",
 679         "    }\n",
 680         "    if (name === 'key_release') {\n",
 681         "        this._key = null;\n",
 682         "    }\n",
 683         "\n",
 684         "    var value = '';\n",
 685         "    if (event.ctrlKey && event.which !== 17) {\n",
 686         "        value += 'ctrl+';\n",
 687         "    }\n",
 688         "    if (event.altKey && event.which !== 18) {\n",
 689         "        value += 'alt+';\n",
 690         "    }\n",
 691         "    if (event.shiftKey && event.which !== 16) {\n",
 692         "        value += 'shift+';\n",
 693         "    }\n",
 694         "\n",
 695         "    value += 'k';\n",
 696         "    value += event.which.toString();\n",
 697         "\n",
 698         "    this._key_event_extra(event, name);\n",
 699         "\n",
 700         "    this.send_message(name, { key: value, guiEvent: simpleKeys(event) });\n",
 701         "    return false;\n",
 702         "};\n",
 703         "\n",
 704         "mpl.figure.prototype.toolbar_button_onclick = function (name) {\n",
 705         "    if (name === 'download') {\n",
 706         "        this.handle_save(this, null);\n",
 707         "    } else {\n",
 708         "        this.send_message('toolbar_button', { name: name });\n",
 709         "    }\n",
 710         "};\n",
 711         "\n",
 712         "mpl.figure.prototype.toolbar_button_onmouseover = function (tooltip) {\n",
 713         "    this.message.textContent = tooltip;\n",
 714         "};\n",
 715         "\n",
 716         "///////////////// REMAINING CONTENT GENERATED BY embed_js.py /////////////////\n",
 717         "// prettier-ignore\n",
 718         "var _JSXTOOLS_RESIZE_OBSERVER=function(A){var t,i=new WeakMap,n=new WeakMap,a=new WeakMap,r=new WeakMap,o=new Set;function s(e){if(!(this instanceof s))throw new TypeError(\"Constructor requires 'new' operator\");i.set(this,e)}function h(){throw new TypeError(\"Function is not a constructor\")}function c(e,t,i,n){e=0 in arguments?Number(arguments[0]):0,t=1 in arguments?Number(arguments[1]):0,i=2 in arguments?Number(arguments[2]):0,n=3 in arguments?Number(arguments[3]):0,this.right=(this.x=this.left=e)+(this.width=i),this.bottom=(this.y=this.top=t)+(this.height=n),Object.freeze(this)}function d(){t=requestAnimationFrame(d);var s=new WeakMap,p=new Set;o.forEach((function(t){r.get(t).forEach((function(i){var r=t instanceof window.SVGElement,o=a.get(t),d=r?0:parseFloat(o.paddingTop),f=r?0:parseFloat(o.paddingRight),l=r?0:parseFloat(o.paddingBottom),u=r?0:parseFloat(o.paddingLeft),g=r?0:parseFloat(o.borderTopWidth),m=r?0:parseFloat(o.borderRightWidth),w=r?0:parseFloat(o.borderBottomWidth),b=u+f,F=d+l,v=(r?0:parseFloat(o.borderLeftWidth))+m,W=g+w,y=r?0:t.offsetHeight-W-t.clientHeight,E=r?0:t.offsetWidth-v-t.clientWidth,R=b+v,z=F+W,M=r?t.width:parseFloat(o.width)-R-E,O=r?t.height:parseFloat(o.height)-z-y;if(n.has(t)){var k=n.get(t);if(k[0]===M&&k[1]===O)return}n.set(t,[M,O]);var S=Object.create(h.prototype);S.target=t,S.contentRect=new c(u,d,M,O),s.has(i)||(s.set(i,[]),p.add(i)),s.get(i).push(S)}))})),p.forEach((function(e){i.get(e).call(e,s.get(e),e)}))}return s.prototype.observe=function(i){if(i instanceof window.Element){r.has(i)||(r.set(i,new Set),o.add(i),a.set(i,window.getComputedStyle(i)));var n=r.get(i);n.has(this)||n.add(this),cancelAnimationFrame(t),t=requestAnimationFrame(d)}},s.prototype.unobserve=function(i){if(i instanceof window.Element&&r.has(i)){var n=r.get(i);n.has(this)&&(n.delete(this),n.size||(r.delete(i),o.delete(i))),n.size||r.delete(i),o.size||cancelAnimationFrame(t)}},A.DOMRectReadOnly=c,A.ResizeObserver=s,A.ResizeObserverEntry=h,A}; // eslint-disable-line\n",
 719         "mpl.toolbar_items = [[\"Home\", \"Reset original view\", \"fa fa-home icon-home\", \"home\"], [\"Back\", \"Back to previous view\", \"fa fa-arrow-left icon-arrow-left\", \"back\"], [\"Forward\", \"Forward to next view\", \"fa fa-arrow-right icon-arrow-right\", \"forward\"], [\"\", \"\", \"\", \"\"], [\"Pan\", \"Left button pans, Right button zooms\\nx/y fixes axis, CTRL fixes aspect\", \"fa fa-arrows icon-move\", \"pan\"], [\"Zoom\", \"Zoom to rectangle\\nx/y fixes axis, CTRL fixes aspect\", \"fa fa-square-o icon-check-empty\", \"zoom\"], [\"\", \"\", \"\", \"\"], [\"Download\", \"Download plot\", \"fa fa-floppy-o icon-save\", \"download\"]];\n",
 720         "\n",
 721         "mpl.extensions = [\"eps\", \"jpeg\", \"pdf\", \"png\", \"ps\", \"raw\", \"svg\", \"tif\"];\n",
 722         "\n",
 723         "mpl.default_extension = \"png\";/* global mpl */\n",
 724         "\n",
 725         "var comm_websocket_adapter = function (comm) {\n",
 726         "    // Create a \"websocket\"-like object which calls the given IPython comm\n",
 727         "    // object with the appropriate methods. Currently this is a non binary\n",
 728         "    // socket, so there is still some room for performance tuning.\n",
 729         "    var ws = {};\n",
 730         "\n",
 731         "    ws.close = function () {\n",
 732         "        comm.close();\n",
 733         "    };\n",
 734         "    ws.send = function (m) {\n",
 735         "        //console.log('sending', m);\n",
 736         "        comm.send(m);\n",
 737         "    };\n",
 738         "    // Register the callback with on_msg.\n",
 739         "    comm.on_msg(function (msg) {\n",
 740         "        //console.log('receiving', msg['content']['data'], msg);\n",
 741         "        // Pass the mpl event to the overridden (by mpl) onmessage function.\n",
 742         "        ws.onmessage(msg['content']['data']);\n",
 743         "    });\n",
 744         "    return ws;\n",
 745         "};\n",
 746         "\n",
 747         "mpl.mpl_figure_comm = function (comm, msg) {\n",
 748         "    // This is the function which gets called when the mpl process\n",
 749         "    // starts-up an IPython Comm through the \"matplotlib\" channel.\n",
 750         "\n",
 751         "    var id = msg.content.data.id;\n",
 752         "    // Get hold of the div created by the display call when the Comm\n",
 753         "    // socket was opened in Python.\n",
 754         "    var element = document.getElementById(id);\n",
 755         "    var ws_proxy = comm_websocket_adapter(comm);\n",
 756         "\n",
 757         "    function ondownload(figure, _format) {\n",
 758         "        window.open(figure.canvas.toDataURL());\n",
 759         "    }\n",
 760         "\n",
 761         "    var fig = new mpl.figure(id, ws_proxy, ondownload, element);\n",
 762         "\n",
 763         "    // Call onopen now - mpl needs it, as it is assuming we've passed it a real\n",
 764         "    // web socket which is closed, not our websocket->open comm proxy.\n",
 765         "    ws_proxy.onopen();\n",
 766         "\n",
 767         "    fig.parent_element = element;\n",
 768         "    fig.cell_info = mpl.find_output_cell(\"<div id='\" + id + \"'></div>\");\n",
 769         "    if (!fig.cell_info) {\n",
 770         "        console.error('Failed to find cell for figure', id, fig);\n",
 771         "        return;\n",
 772         "    }\n",
 773         "    fig.cell_info[0].output_area.element.on(\n",
 774         "        'cleared',\n",
 775         "        { fig: fig },\n",
 776         "        fig._remove_fig_handler\n",
 777         "    );\n",
 778         "};\n",
 779         "\n",
 780         "mpl.figure.prototype.handle_close = function (fig, msg) {\n",
 781         "    var width = fig.canvas.width / fig.ratio;\n",
 782         "    fig.cell_info[0].output_area.element.off(\n",
 783         "        'cleared',\n",
 784         "        fig._remove_fig_handler\n",
 785         "    );\n",
 786         "    fig.resizeObserverInstance.unobserve(fig.canvas_div);\n",
 787         "\n",
 788         "    // Update the output cell to use the data from the current canvas.\n",
 789         "    fig.push_to_output();\n",
 790         "    var dataURL = fig.canvas.toDataURL();\n",
 791         "    // Re-enable the keyboard manager in IPython - without this line, in FF,\n",
 792         "    // the notebook keyboard shortcuts fail.\n",
 793         "    IPython.keyboard_manager.enable();\n",
 794         "    fig.parent_element.innerHTML =\n",
 795         "        '<img src=\"' + dataURL + '\" width=\"' + width + '\">';\n",
 796         "    fig.close_ws(fig, msg);\n",
 797         "};\n",
 798         "\n",
 799         "mpl.figure.prototype.close_ws = function (fig, msg) {\n",
 800         "    fig.send_message('closing', msg);\n",
 801         "    // fig.ws.close()\n",
 802         "};\n",
 803         "\n",
 804         "mpl.figure.prototype.push_to_output = function (_remove_interactive) {\n",
 805         "    // Turn the data on the canvas into data in the output cell.\n",
 806         "    var width = this.canvas.width / this.ratio;\n",
 807         "    var dataURL = this.canvas.toDataURL();\n",
 808         "    this.cell_info[1]['text/html'] =\n",
 809         "        '<img src=\"' + dataURL + '\" width=\"' + width + '\">';\n",
 810         "};\n",
 811         "\n",
 812         "mpl.figure.prototype.updated_canvas_event = function () {\n",
 813         "    // Tell IPython that the notebook contents must change.\n",
 814         "    IPython.notebook.set_dirty(true);\n",
 815         "    this.send_message('ack', {});\n",
 816         "    var fig = this;\n",
 817         "    // Wait a second, then push the new image to the DOM so\n",
 818         "    // that it is saved nicely (might be nice to debounce this).\n",
 819         "    setTimeout(function () {\n",
 820         "        fig.push_to_output();\n",
 821         "    }, 1000);\n",
 822         "};\n",
 823         "\n",
 824         "mpl.figure.prototype._init_toolbar = function () {\n",
 825         "    var fig = this;\n",
 826         "\n",
 827         "    var toolbar = document.createElement('div');\n",
 828         "    toolbar.classList = 'btn-toolbar';\n",
 829         "    this.root.appendChild(toolbar);\n",
 830         "\n",
 831         "    function on_click_closure(name) {\n",
 832         "        return function (_event) {\n",
 833         "            return fig.toolbar_button_onclick(name);\n",
 834         "        };\n",
 835         "    }\n",
 836         "\n",
 837         "    function on_mouseover_closure(tooltip) {\n",
 838         "        return function (event) {\n",
 839         "            if (!event.currentTarget.disabled) {\n",
 840         "                return fig.toolbar_button_onmouseover(tooltip);\n",
 841         "            }\n",
 842         "        };\n",
 843         "    }\n",
 844         "\n",
 845         "    fig.buttons = {};\n",
 846         "    var buttonGroup = document.createElement('div');\n",
 847         "    buttonGroup.classList = 'btn-group';\n",
 848         "    var button;\n",
 849         "    for (var toolbar_ind in mpl.toolbar_items) {\n",
 850         "        var name = mpl.toolbar_items[toolbar_ind][0];\n",
 851         "        var tooltip = mpl.toolbar_items[toolbar_ind][1];\n",
 852         "        var image = mpl.toolbar_items[toolbar_ind][2];\n",
 853         "        var method_name = mpl.toolbar_items[toolbar_ind][3];\n",
 854         "\n",
 855         "        if (!name) {\n",
 856         "            /* Instead of a spacer, we start a new button group. */\n",
 857         "            if (buttonGroup.hasChildNodes()) {\n",
 858         "                toolbar.appendChild(buttonGroup);\n",
 859         "            }\n",
 860         "            buttonGroup = document.createElement('div');\n",
 861         "            buttonGroup.classList = 'btn-group';\n",
 862         "            continue;\n",
 863         "        }\n",
 864         "\n",
 865         "        button = fig.buttons[name] = document.createElement('button');\n",
 866         "        button.classList = 'btn btn-default';\n",
 867         "        button.href = '#';\n",
 868         "        button.title = name;\n",
 869         "        button.innerHTML = '<i class=\"fa ' + image + ' fa-lg\"></i>';\n",
 870         "        button.addEventListener('click', on_click_closure(method_name));\n",
 871         "        button.addEventListener('mouseover', on_mouseover_closure(tooltip));\n",
 872         "        buttonGroup.appendChild(button);\n",
 873         "    }\n",
 874         "\n",
 875         "    if (buttonGroup.hasChildNodes()) {\n",
 876         "        toolbar.appendChild(buttonGroup);\n",
 877         "    }\n",
 878         "\n",
 879         "    // Add the status bar.\n",
 880         "    var status_bar = document.createElement('span');\n",
 881         "    status_bar.classList = 'mpl-message pull-right';\n",
 882         "    toolbar.appendChild(status_bar);\n",
 883         "    this.message = status_bar;\n",
 884         "\n",
 885         "    // Add the close button to the window.\n",
 886         "    var buttongrp = document.createElement('div');\n",
 887         "    buttongrp.classList = 'btn-group inline pull-right';\n",
 888         "    button = document.createElement('button');\n",
 889         "    button.classList = 'btn btn-mini btn-primary';\n",
 890         "    button.href = '#';\n",
 891         "    button.title = 'Stop Interaction';\n",
 892         "    button.innerHTML = '<i class=\"fa fa-power-off icon-remove icon-large\"></i>';\n",
 893         "    button.addEventListener('click', function (_evt) {\n",
 894         "        fig.handle_close(fig, {});\n",
 895         "    });\n",
 896         "    button.addEventListener(\n",
 897         "        'mouseover',\n",
 898         "        on_mouseover_closure('Stop Interaction')\n",
 899         "    );\n",
 900         "    buttongrp.appendChild(button);\n",
 901         "    var titlebar = this.root.querySelector('.ui-dialog-titlebar');\n",
 902         "    titlebar.insertBefore(buttongrp, titlebar.firstChild);\n",
 903         "};\n",
 904         "\n",
 905         "mpl.figure.prototype._remove_fig_handler = function (event) {\n",
 906         "    var fig = event.data.fig;\n",
 907         "    if (event.target !== this) {\n",
 908         "        // Ignore bubbled events from children.\n",
 909         "        return;\n",
 910         "    }\n",
 911         "    fig.close_ws(fig, {});\n",
 912         "};\n",
 913         "\n",
 914         "mpl.figure.prototype._root_extra_style = function (el) {\n",
 915         "    el.style.boxSizing = 'content-box'; // override notebook setting of border-box.\n",
 916         "};\n",
 917         "\n",
 918         "mpl.figure.prototype._canvas_extra_style = function (el) {\n",
 919         "    // this is important to make the div 'focusable\n",
 920         "    el.setAttribute('tabindex', 0);\n",
 921         "    // reach out to IPython and tell the keyboard manager to turn it's self\n",
 922         "    // off when our div gets focus\n",
 923         "\n",
 924         "    // location in version 3\n",
 925         "    if (IPython.notebook.keyboard_manager) {\n",
 926         "        IPython.notebook.keyboard_manager.register_events(el);\n",
 927         "    } else {\n",
 928         "        // location in version 2\n",
 929         "        IPython.keyboard_manager.register_events(el);\n",
 930         "    }\n",
 931         "};\n",
 932         "\n",
 933         "mpl.figure.prototype._key_event_extra = function (event, _name) {\n",
 934         "    var manager = IPython.notebook.keyboard_manager;\n",
 935         "    if (!manager) {\n",
 936         "        manager = IPython.keyboard_manager;\n",
 937         "    }\n",
 938         "\n",
 939         "    // Check for shift+enter\n",
 940         "    if (event.shiftKey && event.which === 13) {\n",
 941         "        this.canvas_div.blur();\n",
 942         "        // select the cell after this one\n",
 943         "        var index = IPython.notebook.find_cell_index(this.cell_info[0]);\n",
 944         "        IPython.notebook.select(index + 1);\n",
 945         "    }\n",
 946         "};\n",
 947         "\n",
 948         "mpl.figure.prototype.handle_save = function (fig, _msg) {\n",
 949         "    fig.ondownload(fig, null);\n",
 950         "};\n",
 951         "\n",
 952         "mpl.find_output_cell = function (html_output) {\n",
 953         "    // Return the cell and output element which can be found *uniquely* in the notebook.\n",
 954         "    // Note - this is a bit hacky, but it is done because the \"notebook_saving.Notebook\"\n",
 955         "    // IPython event is triggered only after the cells have been serialised, which for\n",
 956         "    // our purposes (turning an active figure into a static one), is too late.\n",
 957         "    var cells = IPython.notebook.get_cells();\n",
 958         "    var ncells = cells.length;\n",
 959         "    for (var i = 0; i < ncells; i++) {\n",
 960         "        var cell = cells[i];\n",
 961         "        if (cell.cell_type === 'code') {\n",
 962         "            for (var j = 0; j < cell.output_area.outputs.length; j++) {\n",
 963         "                var data = cell.output_area.outputs[j];\n",
 964         "                if (data.data) {\n",
 965         "                    // IPython >= 3 moved mimebundle to data attribute of output\n",
 966         "                    data = data.data;\n",
 967         "                }\n",
 968         "                if (data['text/html'] === html_output) {\n",
 969         "                    return [cell, data, j];\n",
 970         "                }\n",
 971         "            }\n",
 972         "        }\n",
 973         "    }\n",
 974         "};\n",
 975         "\n",
 976         "// Register the function which deals with the matplotlib target/channel.\n",
 977         "// The kernel may be null if the page has been refreshed.\n",
 978         "if (IPython.notebook.kernel !== null) {\n",
 979         "    IPython.notebook.kernel.comm_manager.register_target(\n",
 980         "        'matplotlib',\n",
 981         "        mpl.mpl_figure_comm\n",
 982         "    );\n",
 983         "}\n"
 984        ],
 985        "text/plain": [
 986         "<IPython.core.display.Javascript object>"
 987        ]
 988       },
 989       "metadata": {},
 990       "output_type": "display_data"
 991      },
 992      {
 993       "data": {
 994        "text/html": [
 995         "<img src=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAwAAAAJACAYAAAA6rgFWAAAgAElEQVR4XuydB5hVxfnG3y0snaWjFKkKihqVIopdYy8kaqwxsRtL/MfYFRt2YxJrrDG22FvsDSURQSyooIiA9CK9l2XL/3lnPevdyy3n3D33njt33nkeH3V3zplvft/szLwz38wpqqmpqYGSCIiACIiACIiACIiACIiAEwSKJACc8LMqKQIiIAIiIAIiIAIiIAKGgASAGoIIiIAIiIAIiIAIiIAIOERAAsAhZ6uqIiACIiACIiACIiACIiABoDYgAiIgAiIgAiIgAiIgAg4RkABwyNmqqgiIgAiIgAiIgAiIgAhIAKgNiIAIiIAIiIAIiIAIiIBDBCQAHHK2qioCIiACIiACIiACIiACEgBqAyIgAiIgAiIgAiIgAiLgEAEJAIecraqKgAiIgAiIgAiIgAiIgASA2oAIiIAIiIAIiIAIiIAIOERAAsAhZ6uqIiACIiACIiACIiACIiABoDYgAiIgAiIgAiIgAiIgAg4RkABwyNmqqgiIgAiIgAiIgAiIgAhIAKgNiIAIiIAIiIAIiIAIiIBDBCQAHHK2qioCIiACIiACIiACIiACEgBqAyIgAiIgAiIgAiIgAiLgEAEJAIecraqKgAiIgAiIgAiIgAiIgASA2oAIiIAIiIAIiIAIiIAIOERAAsAhZ6uqIiACIiACIiACIiACIiABoDYgAiIgAiIgAiIgAiIgAg4RkABwyNmqqgiIgAiIgAiIgAiIgAhIAKgNiIAIiECGBH7/+9/j0UcfxfTp09GjR48M36LHREAEREAERCC3BCQAcstbpYmACAQgUFRUZHLz31OmTEHv3r0TPr333nvjww8/NL975JFHwIl5LpIEQHLK//rXv3DyySfXy9C8eXO0bt0a/fr1w6677orf/va32HLLLUNx1V577YVRo0ahpqYmlPeleklVVRX++c9/4oknnsCECROwatUqtGnTBpttthkGDx6Mww8/3PzTkMQ2v+eee9a164a8S8+KgAiIQDwBCQC1CREQgbwlwElQaWkpKisrcdlll+HGG2/cxFYKg759+6KkpMTkkwDID3d6AuAXv/gFhg0bZoxat24dFi5ciE8++QSTJk1CcXExzjvvPPzlL38xfm5IypUA4OT/0EMPxVtvvWXEzCGHHIKuXbti6dKlmDZtGsaMGYOddtoJH330UUOqY0SvBECDEOphERCBFAQkANQ8REAE8pYAJ0FdunTB5ptvjjlz5mD27NmbTBQvueQS3HrrrWaS+fLLL0sA5Ik3PQHwu9/9Dvzv+PTBBx+YnZpZs2bhzDPPxH333dcgy3MlALjqz50LChvuOJSXl9eze+3atUbgcFeqIUkCoCH09KwIiEA6AhIA6Qjp9yIgApER8ATAVVddZSaJL730Ut1qMo3auHEjunXrZkKDOOG64YYbNhEAXmz+jBkzNqnHNddcg2uvvRacjHIC6aX//e9/RlSMHz8eixYtMuEdfM9BBx2Eq6++ui5fbAjQ22+/jbvvvtuEKnFSeMQRR+C2227bZILo2fP111+D5b/44ouYO3currjiCvP/TO+//755dty4ceCEcosttsCvf/1rswsSP+FkfpY5YsQI8xztbd++Pfbbbz8MHz58kxCb2DrPnz/frL5zNZ6r2cceeyxuuukmNG7cGCNHjsR1112HL774wuyucNX773//O9q1a+erPaQTAHzJd999ZybS9ONnn31mVs69xOdfffVV4wPa2ahRI2y33Xb4wx/+gBNPPLEuH/3as2fPhDbFrqDTx0899ZRZmaeYZJlsN0cffTQoIps0aeKrXmeffTb+8Y9/4G9/+xv+7//+z9czXiaW/8ADD+DLL780uyG0+4QTTsBFF11kmDMlCp3ynmfb89pIoIKVWQREQATiCEgAqEmIgAjkLQFPAHCCyl0ATtJfe+21OntfeOEFHHXUUWbSP3Xq1FAEAEM7GNbRqlUrE8fNHQiGd9AGTlh//PHHTQQAJ5EUAIcddhg6depkBAUnrhQlnEjHJgqAiooKdO7c2byXE3WWxcktV8vvv/9+M8llvDzf27FjRxMHzlXlbbbZBqNHjzaTdS99+umn5h2MQ6e9zEM7X3nlFbRo0cKIgoEDB9bl9wQABcWbb75pBBXZvvPOO5g4caKxgeKFYoAcevXqhY8//tiEthx44IHmGT/JjwDge7iazlX1Cy+80IgeLzVt2tTUhVxo35IlS/DGG28YsXTllVcawcO0fPlyI0xY3syZM+sJNLL2zoPQdnLh2QP6dP369YYl/cR29d577xmhky5RVF1//fXGR/fee2+67HW/P/XUU825AYYL7b///saHY8eONWxZ/rvvvmt2tygOuJNFYdq9e/d651mY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SQHDbbgiylh/rrpzYslQHx6E5CQidsLMiRa/UMsJIuO1ubruN0zGw59ucu3F8sd/RIm2UqzQBoYJ8TxAosRJifclYD7DuvBrpjwvwEmJn5TOxvh35OoMgFcuV1C5Is+dDvKg4GHsN1fouZvjRwDEfwmYk1j6kjfyxB8O5i4Qf87JN8vjRDFbo4sAACAASURBVJv8ucrLg+VhCADazAPc/FI1P1jF9shbabjKzMOz+++/v7neNf4gOyf83NnhTT3eHfMUDzwgzLCv2JQNAcD3U6DwOxUUHrSBHxAjn2RfAg7SRjMRALSJV4PyED//tvm3SkFEQcXdCt7M47UT5s1EALCv4AcBKapZZ+7KeedEeAD77bffNlxYNv/uuLhA0UAu3vWjfv4WlUcERKBhBCQAGsZPT4uACIhAQRBINdkriArmsBLphF8OTVFRIiACIpCQgASAGoYIiIAIiEDK1V7hCUZAAiAYL+UWARHIPQEJgNwzV4kiIAIikHcEtAMQnkskAMJjqTeJgAhkh4AEQHa46q0iIAIiYBUBCYDw3CUBEB5LvUkERCA7BCQAssNVbxUBERABERABERABERCBvCQgAZCXbpFRIiACIiACIiACIiACIpAdAhIA2eGqt4qACIiACIiACIiACIhAXhKQAMhLt8goERABERABERABERABEcgOAQmA7HDVW0VABERABERABERABEQgLwlIAOSlW2RUPIHly5dj1KhR6Nat2yZfIxUtERABERABESgkAhs2bMDs2bOx5557onXr1oVUNdUlTwhIAOSJI2RGagKvvPIKhg0bJkwiIAIiIAIi4AyBl19+GUcccYQz9VVFc0dAAiB3rFVSAwh88cUXGDBgANgZ9unTpwFv0qMiIAIiIAIikN8Epk6daha9Pv/8c+y00075bayss5KABICVbnPP6G+++QbbbrstJk6ciP79+7sHQDUWAREQARFwhoDGPGdcHVlFJQAiQ6+CgxBQZxiElvKKgAiIgAjYTEBjns3es8N2CQA7/OS8leoMnW8CAiACIiACzhDQmOeMqyOrqARAZOhVcBAC6gyD0FJeERABERABmwlozLPZe3bYLgFgh5+ct1KdofNNQABEQAREwBkCGvOccXVkFZUAiAy9Cg5CQJ1hEFrKKwIikCsClZWVWLZsGVavXo2amppcFatyLCRQVFRkvmPTqlUr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SXny23+8Z2aPBRZNAYqLaw8PM4afE/EJz9e+p1n7n78MHH+/vxfjz3+bg7+TgbIW/r4krB2AUBpKMgHwxhtv4JBDDsENN9yACy64ANdeey2efvppzJ07Fx06dMCwYcPM71q3bl1nR6IQoH/84x+47777MG3aNBQVFZmQol//+te48cYb656bOHEirrjiCrPzwB0I7kT86U9/wu9+97u6PAwr2nvvvfHvf/8bzM8di9WrV2Pw4MG455570Ldv33o8/vnPf+KOO+7A5MmT0axZM+y5556mzK233jqlvfzl73//exPGNGPGjLq8fuqRyCESAKE0U72kAQQkABoAT4/mjoAEQO5YqyQRqCNQ7yrPjbWTcB4ALu+WPBbfe2b9SmDpDwBX+otLgPIutff29z+i/ke8Ep014KR/xezacuLzx7on2YfBdAagwY04mQC48847cf755+OBBx7ACy+8gPfffx+XXXYZdt99d3z99de4+uqrsdVWW2HMmDFo3LixsSNeAFAwHHfccTjvvPNw2GGHobi4GFOnTgVDhTg5Z+IEfdCgQejYsaN5Z7t27cyuw1NPPYVbbrkFF198scnnCYAePXpg6NChOP7447Fy5UpccsklpvxJkyaB5xeYGL50+eWXm7JPPPFELFmyBNdcc435N3c6ttxyy4T2ejDjBYCfeiRzhARAg5uoXtBAAhIADQSox3NDQAIgN5xVigjUI5Bocu59gZcZGaLTpnv9g8Dxh3lbbQ7M/RwoblS7ExB/b3+sYOBHxnrsDiyaBFRtrM3PswDNO2xaTuxHzDb89JXh2A+D5UAEpJvE2dyaPAEwduxYDBgwAOvXr8eoUaPMwWD+94MPPohjjz0Wt956Ky666KK6qj777LM45phjjEA4/fTTE06oOfHnZH7ZMoaHJU6cpL/00kuYMmUKunXrVpfp4IMPNnbMmzcP5eXldQKAP3/99dfr8j333HP4zW9+Y4TIkCFDsHz5cnN2gbsFsflmz55tJv5HHnkknnzyyUACwE89JABs/isobNslAArbvwVTOwmAgnGlKmIbgUQT6WR3/LNu3nWfnjjgz/gFX29Ff8hZPwsG75rQSa/V3vjD1GUHoFELgGcO+P0BJv537K4Dn3tnODBrbO3B4upqoG3P2tCk3vvUXhcau4sQW2aI/LMqAHIgYFKhiL8FyMu73XbbgWEv//nP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ZYnWCdABsM6MOUJAgAOss0oiT2d50lh1nieZkqk7BJwvleOp80xZonUCdACsM2OOEBDgAOusksjTWZ40Vp3nSaZk6g4B50vleOo8U5ZonQAdAOvMmCMEBPbv3497770XX/rSlzB27NgQSBxsEcnTef2QKZk6T8D5EtlPydR5AiwxCAToAARBC5SBBEiABEiABEiABEiABDwiQAfAI9CshgRIgARIgARIgARIgASCQIAOQBC0QBlIgARIgARIgARIgARIwCMCdAA8As1qSIAESIAESIAESIAESCAIBOgABEELlMFVAi+99BIeeeQR/P3vf9deVpRXFefPn49bbrkFJ554oqt1R7XwlpYWLF26FG+99RbWrFmDxsZG3Hrrrbjtttui2mTH2tXa2opvfetbePTRR3Hw4EHMmTMHN954Iy677DLH6ohbQeyPzmqcY6azPKU0GSu/+c1vYt26dWhoaMCIESMwe/Zs/Ou//is+85nPOF8hSyQBEwJ0ANhFIk/g4osvxoEDByD/Pvroo7XB90c/+hFef/11PPfcczjzzDMjz8DpBm7fvh3HHXcc5s2bh1mzZuGBBx6gA6AIecmSJVi9ejV+8IMfaOx+85vfaPx+/etf41Of+pRiKUxmJMD+6Gx/4JjpLE8p7ZVXXsHvfvc7LF68GBMmTEBbW5v2m5e/yWKKLArwQwJeEqAD4CVt1uULAQljlxwKVFZhZ8yYgWOOOQYvvPCCL3KFudKBgQFN/JycHG31v7q6mg6AgkKffvppnHfeeZrR/8///M+DOcQpkNjgO3fuRF5enkJJTGIkwP7obH/gmOksz0ylLViwALt379Z++/yQgJcE6AB4SZt1BYqArPy///772LBhQ6DkCpswdADUNfbFL35RW/E7dOgQ8vPzBzP+9re/1Vb/ly9fjlNPPVW9QKYcRoD90b1OwTHTebbnn38+3nnnHWzdutX5wlkiCWQgQAeA3SOWBA4fPowpU6Zox3/+9Kc/xZKBU42mwaVOcuHChejr68OqVauGZNJfBv35z3+Oq666Sr1ApqQD4FEf4JjpDOj+/n7IP7II8D//8z+4/vrrcc899+Dqq692pgKWQgKKBOgAKIJismgRkEtXv//977Fy5UpeBM5StXQA1AHKmf9p06bh2WefHZJpz549GD9+PG6//XZ84xvfUC+QKekAeNQHOGY6A/qaa66BOPryKSwsxI9//GNce+21zhTOUkjAAgE6ABZgMan/BOQi1RlnnKEkiESnkYuqyZ+bb74Z3/3ud3H33XfjuuuuUyoryomyZUoHQL13iAMwffp0PPPMMykdgO9///taRCB+7BNgf7TPLl1OjpnOMZWz/nLHQv7585//jPvuuw///u//jq9//evOVcKSSECBAB0ABUhMEhwCslL61FNPKQl00UUXYfTo0UPSfvvb39ZCVX7ve9/DTTfdpFRO1BNly5QGl3oP4REgdVZ2U7I/2iWXOh/HTGd5Jpcmq/8SBUwuAkswBX5IwCsCdAC8Is16fCegT2TiAEjMen6cIUCDS52jnO+XC7/Jl4DlYrBEBeIlYHWW6VKyP2bPUC+BY6ZzLNOV9NBDD+GKK67QjqOecsop7lfIGkjgAwJ0ANgVYkFA4izLw18Sa1n+mx/nCNDgUmcpR3/OPfdcLRLQpZdeOpjxnHPOwdq1axkGVB1l2pTsjw5ABLRxkmOmMywzlXL55Zdr7wHs3buXOwDu42YNBgJ0ANgdIk9AHv2S85Vnn312ypV/icPMj3UCYszKYzbyCqusYMnjQZdccolWkBi5JSUl1guNQQ6J+S+P0Mm5X3mLQnYE7r//fu216k9/+tMxIOBOE9kfnePKMdM5lnpJsvtXUVGBk08+GTU1Ndr7KRIFSIJR3HDDDfjhD3/ofKUskQQyEKADwO4ReQKnn346li1blrad+iNCkQfhcAPr6uqwY8eOlKVu27YN8j0/wwnII3Tf/OY38eijj+LgwYOYM2eOFvnnsssuI64sCLA/ZgEvKSvHTOdY6iXJUR/5591330VTUxPKysq0l9S/8IUvQCIs8UMCXhOgA+A1cdZHAiRAAiRAAiRAAiRAAj4SoAPgI3xWTQIkQAIkQAIkQAIkQAJeE6AD4DVx1kcCJEACJEACJEACJEACPhKgA+AjfFZNAiRAAiRAAiRAAiRAAl4ToAPgNXHWRwIkQAIkQAIkQAIkQAI+EqAD4CN8Vk0CJEACJEACJEACJEACXhOgA+A1cdZHAiRAAiRAAiRAAiRAAj4SoAPgI3xWTQIkQAIkQAIkQAIkQAJeE6AD4DVx1kcCJEACJEACJEACJEACPhKgA+AjfFZNAiRAAiRAAiRAAiRAAl4ToAPgNXHWRwIkQAI+EPjlL3+Jz3/+84M15+Xloba2FmeddRa++93vYsKECYPfbd26Ff/xH/+B559/HvX19cjJycHUqVPx8Y9/HNdee+1g2vXr1+OnP/0p1qxZg7Vr16K9vR0vv/wyTj/9dB9ayCpJgARIgARUCdABUCXFdCRAAiQQYgK6A/DQQw9hzpw56OjowF//+ld8//vfx/jx47Fu3TqUlpbiySefxGWXXYaqqipcd911OP744zUHQL7/xS9+gdzcXM3gl89///d/4xvf+IaWRhyKP//5z3QAQtxHKDoJkEB8CNABiI+u2VISIIEYE9AdgNWrV2P+/PmDJG655RYsXboUjzzyCE499VQce+yxmDVrlmbIjxw5cgixgYEBPPbYY7jooou0v/f392sOgXz+8Ic/4OKLL6YDEOM+xqaTAAmEhwAdgPDoipKSAAmQgG0C6RyAp59+Gueddx6+973vYc+ePbjnnnuwYsUKLFiwwFJddAAs4WJiEiABEvCVAB0AX/GzchIgARLwhkA6B+AnP/kJrr/+etx333248847cfjwYezdu9eyUHQALCNjBhIgARLwjQAdAN/Qs2ISIAES8I6A7gCsXLkSJ554Ijo7O7Fs2TLtYrD896ZNm1BXV4fjjjtO2wGw+qEDYJUY05MACZCAfwToAPjHnjWTAAmQgGcEkqMA6RXLmf//+q//wqJFizBixAg6AJ5phBWRAAmQgH8E6AD4x541kwAJkIBnBHQH4OGHH8ZRRx2F/Px81NTUYNy4cYMyzJ49m0eAPNMIKyIBEiAB/wjQAfCPPWsmARIgAc8IpLsDYBTgK1/5Cu6++25eAvZMK6yIBEiABPwhQAfAH+6slQRIgAQ8JaDiAGzbts00DOjjjz+uPQiW/OEdAE/VycpIgARIICsCdACywsfMJEACJBAOAioOgLREHgK79NJLMXbs2MGHwOTv77zzjvYQmLwFoD8EJi//ShhR+cjl4h/96Ee47bbbMHfuXO1RsXPOOScccCglCZAACcSMAB2AmCmczSUBEognAVUHQOhs3bpVM+aff/551NfXa499TZ06FWeffTa+/OUva9GC5LN9+3bt76k+U6ZM0b7nhwRIgARIIHgE6AAETyeUiARIgARIgARIgARIgARcI0AHwDW0LJgESIAESIAESIAESIAEgkeADkDwdEKJSIAESIAESIAESIAESMA1AnQAXEPLgkmABEiABEiABEiABEggeAToAARPJ5SIBEiABEiABEiABEiABFwjQAfANbQsmARIgARIgARIgARIgASCR4AOQPB0QolIgARIgARIgARIgARIwDUCdABcQ8uCSYAESIAESIAESIAESCB4BOgABE8nlIgESIAESIAESIAESIAEXCNAB8A1tCyYBEiABEiABEiABEiABIJHgA5A8HRCiUiABEiABEiABEiABEjANQJ0AFxDy4JJgARIgARIgARIgARIIHgE6AAETyeUiARIgARIgARIgARIgARcI0AHwDW0LJgESIAESIAESIAESIAEgkeADkDwdEKJSIAESIAESIAESIAESMA1AnQAXEPLgkmABEiABEiABEiABEggeAToAARPJ5SIBEiABEiABEiABEiABFwjQAfANbQsmARIgARIgARIgARIgASCR+D/A7Hf8/76NzBPAAAAAElFTkSuQmCC\" width=\"768\">"
 996        ],
 997        "text/plain": [
 998         "<IPython.core.display.HTML object>"
 999        ]
1000       },
1001       "metadata": {},
1002       "output_type": "display_data"
1003      }
1004     ],
1005     "source": [
1006      "%matplotlib notebook\n",
1007      "\n",
1008      "import pandas as pd\n",
1009      "import numpy as np\n",
1010      "import matplotlib.pyplot as plt\n",
1011      "from sklearn.decomposition import PCA\n",
1012      "from sklearn.model_selection import train_test_split\n",
1013      "\n",
1014      "df = pd.read_csv('mushrooms.csv')\n",
1015      "df2 = pd.get_dummies(df)\n",
1016      "\n",
1017      "df3 = df2.sample(frac=0.08)\n",
1018      "\n",
1019      "X = df3.iloc[:,2:]\n",
1020      "y = df3.iloc[:,1]\n",
1021      "\n",
1022      "\n",
1023      "pca = PCA(n_components=2).fit_transform(X)\n",
1024      "\n",
1025      "X_train, X_test, y_train, y_test = train_test_split(pca, y, random_state=0)\n",
1026      "\n",
1027      "\n",
1028      "plt.figure(dpi=120)\n",
1029      "plt.scatter(pca[y.values==0,0], pca[y.values==0,1], alpha=0.5, label='Edible', s=2)\n",
1030      "plt.scatter(pca[y.values==1,0], pca[y.values==1,1], alpha=0.5, label='Poisonous', s=2)\n",
1031      "plt.legend()\n",
1032      "plt.title('Mushroom Data Set\\nFirst Two Principal Components')\n",
1033      "plt.xlabel('PC1')\n",
1034      "plt.ylabel('PC2')\n",
1035      "plt.gca().set_aspect('equal')"
1036     ]
1037    },
1038    {
1039     "cell_type": "code",
1040     "execution_count": 2,
1041     "metadata": {},
1042     "outputs": [],
1043     "source": [
1044      "def plot_mushroom_boundary(X, y, fitted_model):\n",
1045      "\n",
1046      "    plt.figure(figsize=(9.8,5), dpi=100)\n",
1047      "    \n",
1048      "    for i, plot_type in enumerate(['Decision Boundary', 'Decision Probabilities']):\n",
1049      "        plt.subplot(1,2,i+1)\n",
1050      "\n",
1051      "        mesh_step_size = 0.01  # step size in the mesh\n",
1052      "        x_min, x_max = X[:, 0].min() - .1, X[:, 0].max() + .1\n",
1053      "        y_min, y_max = X[:, 1].min() - .1, X[:, 1].max() + .1\n",
1054      "        xx, yy = np.meshgrid(np.arange(x_min, x_max, mesh_step_size), np.arange(y_min, y_max, mesh_step_size))\n",
1055      "        if i == 0:\n",
1056      "            Z = fitted_model.predict(np.c_[xx.ravel(), yy.ravel()])\n",
1057      "        else:\n",
1058      "            try:\n",
1059      "                Z = fitted_model.predict_proba(np.c_[xx.ravel(), yy.ravel()])[:,1]\n",
1060      "            except:\n",
1061      "                plt.text(0.4, 0.5, 'Probabilities Unavailable', horizontalalignment='center',\n",
1062      "                     verticalalignment='center', transform = plt.gca().transAxes, fontsize=12)\n",
1063      "                plt.axis('off')\n",
1064      "                break\n",
1065      "        Z = Z.reshape(xx.shape)\n",
1066      "        plt.scatter(X[y.values==0,0], X[y.values==0,1], alpha=0.4, label='Edible', s=5)\n",
1067      "        plt.scatter(X[y.values==1,0], X[y.values==1,1], alpha=0.4, label='Posionous', s=5)\n",
1068      "        plt.imshow(Z, interpolation='nearest', cmap='RdYlBu_r', alpha=0.15, \n",
1069      "                   extent=(x_min, x_max, y_min, y_max), origin='lower')\n",
1070      "        plt.title(plot_type + '\\n' + \n",
1071      "                  str(fitted_model).split('(')[0]+ ' Test Accuracy: ' + str(np.round(fitted_model.score(X, y), 5)))\n",
1072      "        plt.gca().set_aspect('equal');\n",
1073      "        \n",
1074      "    plt.tight_layout()\n",
1075      "    plt.subplots_adjust(top=0.9, bottom=0.08, wspace=0.02)"
1076     ]
1077    },
1078    {
1079     "cell_type": "code",
1080     "execution_count": 3,
1081     "metadata": {
1082      "scrolled": false
1083     },
1084     "outputs": [
1085      {
1086       "data": {
1087        "application/javascript": [
1088         "/* Put everything inside the global mpl namespace */\n",
1089         "/* global mpl */\n",
1090         "window.mpl = {};\n",
1091         "\n",
1092         "mpl.get_websocket_type = function () {\n",
1093         "    if (typeof WebSocket !== 'undefined') {\n",
1094         "        return WebSocket;\n",
1095         "    } else if (typeof MozWebSocket !== 'undefined') {\n",
1096         "        return MozWebSocket;\n",
1097         "    } else {\n",
1098         "        alert(\n",
1099         "            'Your browser does not have WebSocket support. ' +\n",
1100         "                'Please try Chrome, Safari or Firefox ≥ 6. ' +\n",
1101         "                'Firefox 4 and 5 are also supported but you ' +\n",
1102         "                'have to enable WebSockets in about:config.'\n",
1103         "        );\n",
1104         "    }\n",
1105         "};\n",
1106         "\n",
1107         "mpl.figure = function (figure_id, websocket, ondownload, parent_element) {\n",
1108         "    this.id = figure_id;\n",
1109         "\n",
1110         "    this.ws = websocket;\n",
1111         "\n",
1112         "    this.supports_binary = this.ws.binaryType !== undefined;\n",
1113         "\n",
1114         "    if (!this.supports_binary) {\n",
1115         "        var warnings = document.getElementById('mpl-warnings');\n",
1116         "        if (warnings) {\n",
1117         "            warnings.style.display = 'block';\n",
1118         "            warnings.textContent =\n",
1119         "                'This browser does not support binary websocket messages. ' +\n",
1120         "                'Performance may be slow.';\n",
1121         "        }\n",
1122         "    }\n",
1123         "\n",
1124         "    this.imageObj = new Image();\n",
1125         "\n",
1126         "    this.context = undefined;\n",
1127         "    this.message = undefined;\n",
1128         "    this.canvas = undefined;\n",
1129         "    this.rubberband_canvas = undefined;\n",
1130         "    this.rubberband_context = undefined;\n",
1131         "    this.format_dropdown = undefined;\n",
1132         "\n",
1133         "    this.image_mode = 'full';\n",
1134         "\n",
1135         "    this.root = document.createElement('div');\n",
1136         "    this.root.setAttribute('style', 'display: inline-block');\n",
1137         "    this._root_extra_style(this.root);\n",
1138         "\n",
1139         "    parent_element.appendChild(this.root);\n",
1140         "\n",
1141         "    this._init_header(this);\n",
1142         "    this._init_canvas(this);\n",
1143         "    this._init_toolbar(this);\n",
1144         "\n",
1145         "    var fig = this;\n",
1146         "\n",
1147         "    this.waiting = false;\n",
1148         "\n",
1149         "    this.ws.onopen = function () {\n",
1150         "        fig.send_message('supports_binary', { value: fig.supports_binary });\n",
1151         "        fig.send_message('send_image_mode', {});\n",
1152         "        if (fig.ratio !== 1) {\n",
1153         "            fig.send_message('set_dpi_ratio', { dpi_ratio: fig.ratio });\n",
1154         "        }\n",
1155         "        fig.send_message('refresh', {});\n",
1156         "    };\n",
1157         "\n",
1158         "    this.imageObj.onload = function () {\n",
1159         "        if (fig.image_mode === 'full') {\n",
1160         "            // Full images could contain transparency (where diff images\n",
1161         "            // almost always do), so we need to clear the canvas so that\n",
1162         "            // there is no ghosting.\n",
1163         "            fig.context.clearRect(0, 0, fig.canvas.width, fig.canvas.height);\n",
1164         "        }\n",
1165         "        fig.context.drawImage(fig.imageObj, 0, 0);\n",
1166         "    };\n",
1167         "\n",
1168         "    this.imageObj.onunload = function () {\n",
1169         "        fig.ws.close();\n",
1170         "    };\n",
1171         "\n",
1172         "    this.ws.onmessage = this._make_on_message_function(this);\n",
1173         "\n",
1174         "    this.ondownload = ondownload;\n",
1175         "};\n",
1176         "\n",
1177         "mpl.figure.prototype._init_header = function () {\n",
1178         "    var titlebar = document.createElement('div');\n",
1179         "    titlebar.classList =\n",
1180         "        'ui-dialog-titlebar ui-widget-header ui-corner-all ui-helper-clearfix';\n",
1181         "    var titletext = document.createElement('div');\n",
1182         "    titletext.classList = 'ui-dialog-title';\n",
1183         "    titletext.setAttribute(\n",
1184         "        'style',\n",
1185         "        'width: 100%; text-align: center; padding: 3px;'\n",
1186         "    );\n",
1187         "    titlebar.appendChild(titletext);\n",
1188         "    this.root.appendChild(titlebar);\n",
1189         "    this.header = titletext;\n",
1190         "};\n",
1191         "\n",
1192         "mpl.figure.prototype._canvas_extra_style = function (_canvas_div) {};\n",
1193         "\n",
1194         "mpl.figure.prototype._root_extra_style = function (_canvas_div) {};\n",
1195         "\n",
1196         "mpl.figure.prototype._init_canvas = function () {\n",
1197         "    var fig = this;\n",
1198         "\n",
1199         "    var canvas_div = (this.canvas_div = document.createElement('div'));\n",
1200         "    canvas_div.setAttribute(\n",
1201         "        'style',\n",
1202         "        'border: 1px solid #ddd;' +\n",
1203         "            'box-sizing: content-box;' +\n",
1204         "            'clear: both;' +\n",
1205         "            'min-height: 1px;' +\n",
1206         "            'min-width: 1px;' +\n",
1207         "            'outline: 0;' +\n",
1208         "            'overflow: hidden;' +\n",
1209         "            'position: relative;' +\n",
1210         "            'resize: both;'\n",
1211         "    );\n",
1212         "\n",
1213         "    function on_keyboard_event_closure(name) {\n",
1214         "        return function (event) {\n",
1215         "            return fig.key_event(event, name);\n",
1216         "        };\n",
1217         "    }\n",
1218         "\n",
1219         "    canvas_div.addEventListener(\n",
1220         "        'keydown',\n",
1221         "        on_keyboard_event_closure('key_press')\n",
1222         "    );\n",
1223         "    canvas_div.addEventListener(\n",
1224         "        'keyup',\n",
1225         "        on_keyboard_event_closure('key_release')\n",
1226         "    );\n",
1227         "\n",
1228         "    this._canvas_extra_style(canvas_div);\n",
1229         "    this.root.appendChild(canvas_div);\n",
1230         "\n",
1231         "    var canvas = (this.canvas = document.createElement('canvas'));\n",
1232         "    canvas.classList.add('mpl-canvas');\n",
1233         "    canvas.setAttribute('style', 'box-sizing: content-box;');\n",
1234         "\n",
1235         "    this.context = canvas.getContext('2d');\n",
1236         "\n",
1237         "    var backingStore =\n",
1238         "        this.context.backingStorePixelRatio ||\n",
1239         "        this.context.webkitBackingStorePixelRatio ||\n",
1240         "        this.context.mozBackingStorePixelRatio ||\n",
1241         "        this.context.msBackingStorePixelRatio ||\n",
1242         "        this.context.oBackingStorePixelRatio ||\n",
1243         "        this.context.backingStorePixelRatio ||\n",
1244         "        1;\n",
1245         "\n",
1246         "    this.ratio = (window.devicePixelRatio || 1) / backingStore;\n",
1247         "\n",
1248         "    var rubberband_canvas = (this.rubberband_canvas = document.createElement(\n",
1249         "        'canvas'\n",
1250         "    ));\n",
1251         "    rubberband_canvas.setAttribute(\n",
1252         "        'style',\n",
1253         "        'box-sizing: content-box; position: absolute; left: 0; top: 0; z-index: 1;'\n",
1254         "    );\n",
1255         "\n",
1256         "    // Apply a ponyfill if ResizeObserver is not implemented by browser.\n",
1257         "    if (this.ResizeObserver === undefined) {\n",
1258         "        if (window.ResizeObserver !== undefined) {\n",
1259         "            this.ResizeObserver = window.ResizeObserver;\n",
1260         "        } else {\n",
1261         "            var obs = _JSXTOOLS_RESIZE_OBSERVER({});\n",
1262         "            this.ResizeObserver = obs.ResizeObserver;\n",
1263         "        }\n",
1264         "    }\n",
1265         "\n",
1266         "    this.resizeObserverInstance = new this.ResizeObserver(function (entries) {\n",
1267         "        var nentries = entries.length;\n",
1268         "        for (var i = 0; i < nentries; i++) {\n",
1269         "            var entry = entries[i];\n",
1270         "            var width, height;\n",
1271         "            if (entry.contentBoxSize) {\n",
1272         "                if (entry.contentBoxSize instanceof Array) {\n",
1273         "                    // Chrome 84 implements new version of spec.\n",
1274         "                    width = entry.contentBoxSize[0].inlineSize;\n",
1275         "                    height = entry.contentBoxSize[0].blockSize;\n",
1276         "                } else {\n",
1277         "                    // Firefox implements old version of spec.\n",
1278         "                    width = entry.contentBoxSize.inlineSize;\n",
1279         "                    height = entry.contentBoxSize.blockSize;\n",
1280         "                }\n",
1281         "            } else {\n",
1282         "                // Chrome <84 implements even older version of spec.\n",
1283         "                width = entry.contentRect.width;\n",
1284         "                height = entry.contentRect.height;\n",
1285         "            }\n",
1286         "\n",
1287         "            // Keep the size of the canvas and rubber band canvas in sync with\n",
1288         "            // the canvas container.\n",
1289         "            if (entry.devicePixelContentBoxSize) {\n",
1290         "                // Chrome 84 implements new version of spec.\n",
1291         "                canvas.setAttribute(\n",
1292         "                    'width',\n",
1293         "                    entry.devicePixelContentBoxSize[0].inlineSize\n",
1294         "                );\n",
1295         "                canvas.setAttribute(\n",
1296         "                    'height',\n",
1297         "                    entry.devicePixelContentBoxSize[0].blockSize\n",
1298         "                );\n",
1299         "            } else {\n",
1300         "                canvas.setAttribute('width', width * fig.ratio);\n",
1301         "                canvas.setAttribute('height', height * fig.ratio);\n",
1302         "            }\n",
1303         "            canvas.setAttribute(\n",
1304         "                'style',\n",
1305         "                'width: ' + width + 'px; height: ' + height + 'px;'\n",
1306         "            );\n",
1307         "\n",
1308         "            rubberband_canvas.setAttribute('width', width);\n",
1309         "            rubberband_canvas.setAttribute('height', height);\n",
1310         "\n",
1311         "            // And update the size in Python. We ignore the initial 0/0 size\n",
1312         "            // that occurs as the element is placed into the DOM, which should\n",
1313         "            // otherwise not happen due to the minimum size styling.\n",
1314         "            if (fig.ws.readyState == 1 && width != 0 && height != 0) {\n",
1315         "                fig.request_resize(width, height);\n",
1316         "            }\n",
1317         "        }\n",
1318         "    });\n",
1319         "    this.resizeObserverInstance.observe(canvas_div);\n",
1320         "\n",
1321         "    function on_mouse_event_closure(name) {\n",
1322         "        return function (event) {\n",
1323         "            return fig.mouse_event(event, name);\n",
1324         "        };\n",
1325         "    }\n",
1326         "\n",
1327         "    rubberband_canvas.addEventListener(\n",
1328         "        'mousedown',\n",
1329         "        on_mouse_event_closure('button_press')\n",
1330         "    );\n",
1331         "    rubberband_canvas.addEventListener(\n",
1332         "        'mouseup',\n",
1333         "        on_mouse_event_closure('button_release')\n",
1334         "    );\n",
1335         "    // Throttle sequential mouse events to 1 every 20ms.\n",
1336         "    rubberband_canvas.addEventListener(\n",
1337         "        'mousemove',\n",
1338         "        on_mouse_event_closure('motion_notify')\n",
1339         "    );\n",
1340         "\n",
1341         "    rubberband_canvas.addEventListener(\n",
1342         "        'mouseenter',\n",
1343         "        on_mouse_event_closure('figure_enter')\n",
1344         "    );\n",
1345         "    rubberband_canvas.addEventListener(\n",
1346         "        'mouseleave',\n",
1347         "        on_mouse_event_closure('figure_leave')\n",
1348         "    );\n",
1349         "\n",
1350         "    canvas_div.addEventListener('wheel', function (event) {\n",
1351         "        if (event.deltaY < 0) {\n",
1352         "            event.step = 1;\n",
1353         "        } else {\n",
1354         "            event.step = -1;\n",
1355         "        }\n",
1356         "        on_mouse_event_closure('scroll')(event);\n",
1357         "    });\n",
1358         "\n",
1359         "    canvas_div.appendChild(canvas);\n",
1360         "    canvas_div.appendChild(rubberband_canvas);\n",
1361         "\n",
1362         "    this.rubberband_context = rubberband_canvas.getContext('2d');\n",
1363         "    this.rubberband_context.strokeStyle = '#000000';\n",
1364         "\n",
1365         "    this._resize_canvas = function (width, height, forward) {\n",
1366         "        if (forward) {\n",
1367         "            canvas_div.style.width = width + 'px';\n",
1368         "            canvas_div.style.height = height + 'px';\n",
1369         "        }\n",
1370         "    };\n",
1371         "\n",
1372         "    // Disable right mouse context menu.\n",
1373         "    this.rubberband_canvas.addEventListener('contextmenu', function (_e) {\n",
1374         "        event.preventDefault();\n",
1375         "        return false;\n",
1376         "    });\n",
1377         "\n",
1378         "    function set_focus() {\n",
1379         "        canvas.focus();\n",
1380         "        canvas_div.focus();\n",
1381         "    }\n",
1382         "\n",
1383         "    window.setTimeout(set_focus, 100);\n",
1384         "};\n",
1385         "\n",
1386         "mpl.figure.prototype._init_toolbar = function () {\n",
1387         "    var fig = this;\n",
1388         "\n",
1389         "    var toolbar = document.createElement('div');\n",
1390         "    toolbar.classList = 'mpl-toolbar';\n",
1391         "    this.root.appendChild(toolbar);\n",
1392         "\n",
1393         "    function on_click_closure(name) {\n",
1394         "        return function (_event) {\n",
1395         "            return fig.toolbar_button_onclick(name);\n",
1396         "        };\n",
1397         "    }\n",
1398         "\n",
1399         "    function on_mouseover_closure(tooltip) {\n",
1400         "        return function (event) {\n",
1401         "            if (!event.currentTarget.disabled) {\n",
1402         "                return fig.toolbar_button_onmouseover(tooltip);\n",
1403         "            }\n",
1404         "        };\n",
1405         "    }\n",
1406         "\n",
1407         "    fig.buttons = {};\n",
1408         "    var buttonGroup = document.createElement('div');\n",
1409         "    buttonGroup.classList = 'mpl-button-group';\n",
1410         "    for (var toolbar_ind in mpl.toolbar_items) {\n",
1411         "        var name = mpl.toolbar_items[toolbar_ind][0];\n",
1412         "        var tooltip = mpl.toolbar_items[toolbar_ind][1];\n",
1413         "        var image = mpl.toolbar_items[toolbar_ind][2];\n",
1414         "        var method_name = mpl.toolbar_items[toolbar_ind][3];\n",
1415         "\n",
1416         "        if (!name) {\n",
1417         "            /* Instead of a spacer, we start a new button group. */\n",
1418         "            if (buttonGroup.hasChildNodes()) {\n",
1419         "                toolbar.appendChild(buttonGroup);\n",
1420         "            }\n",
1421         "            buttonGroup = document.createElement('div');\n",
1422         "            buttonGroup.classList = 'mpl-button-group';\n",
1423         "            continue;\n",
1424         "        }\n",
1425         "\n",
1426         "        var button = (fig.buttons[name] = document.createElement('button'));\n",
1427         "        button.classList = 'mpl-widget';\n",
1428         "        button.setAttribute('role', 'button');\n",
1429         "        button.setAttribute('aria-disabled', 'false');\n",
1430         "        button.addEventListener('click', on_click_closure(method_name));\n",
1431         "        button.addEventListener('mouseover', on_mouseover_closure(tooltip));\n",
1432         "\n",
1433         "        var icon_img = document.createElement('img');\n",
1434         "        icon_img.src = '_images/' + image + '.png';\n",
1435         "        icon_img.srcset = '_images/' + image + '_large.png 2x';\n",
1436         "        icon_img.alt = tooltip;\n",
1437         "        button.appendChild(icon_img);\n",
1438         "\n",
1439         "        buttonGroup.appendChild(button);\n",
1440         "    }\n",
1441         "\n",
1442         "    if (buttonGroup.hasChildNodes()) {\n",
1443         "        toolbar.appendChild(buttonGroup);\n",
1444         "    }\n",
1445         "\n",
1446         "    var fmt_picker = document.createElement('select');\n",
1447         "    fmt_picker.classList = 'mpl-widget';\n",
1448         "    toolbar.appendChild(fmt_picker);\n",
1449         "    this.format_dropdown = fmt_picker;\n",
1450         "\n",
1451         "    for (var ind in mpl.extensions) {\n",
1452         "        var fmt = mpl.extensions[ind];\n",
1453         "        var option = document.createElement('option');\n",
1454         "        option.selected = fmt === mpl.default_extension;\n",
1455         "        option.innerHTML = fmt;\n",
1456         "        fmt_picker.appendChild(option);\n",
1457         "    }\n",
1458         "\n",
1459         "    var status_bar = document.createElement('span');\n",
1460         "    status_bar.classList = 'mpl-message';\n",
1461         "    toolbar.appendChild(status_bar);\n",
1462         "    this.message = status_bar;\n",
1463         "};\n",
1464         "\n",
1465         "mpl.figure.prototype.request_resize = function (x_pixels, y_pixels) {\n",
1466         "    // Request matplotlib to resize the figure. Matplotlib will then trigger a resize in the client,\n",
1467         "    // which will in turn request a refresh of the image.\n",
1468         "    this.send_message('resize', { width: x_pixels, height: y_pixels });\n",
1469         "};\n",
1470         "\n",
1471         "mpl.figure.prototype.send_message = function (type, properties) {\n",
1472         "    properties['type'] = type;\n",
1473         "    properties['figure_id'] = this.id;\n",
1474         "    this.ws.send(JSON.stringify(properties));\n",
1475         "};\n",
1476         "\n",
1477         "mpl.figure.prototype.send_draw_message = function () {\n",
1478         "    if (!this.waiting) {\n",
1479         "        this.waiting = true;\n",
1480         "        this.ws.send(JSON.stringify({ type: 'draw', figure_id: this.id }));\n",
1481         "    }\n",
1482         "};\n",
1483         "\n",
1484         "mpl.figure.prototype.handle_save = function (fig, _msg) {\n",
1485         "    var format_dropdown = fig.format_dropdown;\n",
1486         "    var format = format_dropdown.options[format_dropdown.selectedIndex].value;\n",
1487         "    fig.ondownload(fig, format);\n",
1488         "};\n",
1489         "\n",
1490         "mpl.figure.prototype.handle_resize = function (fig, msg) {\n",
1491         "    var size = msg['size'];\n",
1492         "    if (size[0] !== fig.canvas.width || size[1] !== fig.canvas.height) {\n",
1493         "        fig._resize_canvas(size[0], size[1], msg['forward']);\n",
1494         "        fig.send_message('refresh', {});\n",
1495         "    }\n",
1496         "};\n",
1497         "\n",
1498         "mpl.figure.prototype.handle_rubberband = function (fig, msg) {\n",
1499         "    var x0 = msg['x0'] / fig.ratio;\n",
1500         "    var y0 = (fig.canvas.height - msg['y0']) / fig.ratio;\n",
1501         "    var x1 = msg['x1'] / fig.ratio;\n",
1502         "    var y1 = (fig.canvas.height - msg['y1']) / fig.ratio;\n",
1503         "    x0 = Math.floor(x0) + 0.5;\n",
1504         "    y0 = Math.floor(y0) + 0.5;\n",
1505         "    x1 = Math.floor(x1) + 0.5;\n",
1506         "    y1 = Math.floor(y1) + 0.5;\n",
1507         "    var min_x = Math.min(x0, x1);\n",
1508         "    var min_y = Math.min(y0, y1);\n",
1509         "    var width = Math.abs(x1 - x0);\n",
1510         "    var height = Math.abs(y1 - y0);\n",
1511         "\n",
1512         "    fig.rubberband_context.clearRect(\n",
1513         "        0,\n",
1514         "        0,\n",
1515         "        fig.canvas.width / fig.ratio,\n",
1516         "        fig.canvas.height / fig.ratio\n",
1517         "    );\n",
1518         "\n",
1519         "    fig.rubberband_context.strokeRect(min_x, min_y, width, height);\n",
1520         "};\n",
1521         "\n",
1522         "mpl.figure.prototype.handle_figure_label = function (fig, msg) {\n",
1523         "    // Updates the figure title.\n",
1524         "    fig.header.textContent = msg['label'];\n",
1525         "};\n",
1526         "\n",
1527         "mpl.figure.prototype.handle_cursor = function (fig, msg) {\n",
1528         "    var cursor = msg['cursor'];\n",
1529         "    switch (cursor) {\n",
1530         "        case 0:\n",
1531         "            cursor = 'pointer';\n",
1532         "            break;\n",
1533         "        case 1:\n",
1534         "            cursor = 'default';\n",
1535         "            break;\n",
1536         "        case 2:\n",
1537         "            cursor = 'crosshair';\n",
1538         "            break;\n",
1539         "        case 3:\n",
1540         "            cursor = 'move';\n",
1541         "            break;\n",
1542         "    }\n",
1543         "    fig.rubberband_canvas.style.cursor = cursor;\n",
1544         "};\n",
1545         "\n",
1546         "mpl.figure.prototype.handle_message = function (fig, msg) {\n",
1547         "    fig.message.textContent = msg['message'];\n",
1548         "};\n",
1549         "\n",
1550         "mpl.figure.prototype.handle_draw = function (fig, _msg) {\n",
1551         "    // Request the server to send over a new figure.\n",
1552         "    fig.send_draw_message();\n",
1553         "};\n",
1554         "\n",
1555         "mpl.figure.prototype.handle_image_mode = function (fig, msg) {\n",
1556         "    fig.image_mode = msg['mode'];\n",
1557         "};\n",
1558         "\n",
1559         "mpl.figure.prototype.handle_history_buttons = function (fig, msg) {\n",
1560         "    for (var key in msg) {\n",
1561         "        if (!(key in fig.buttons)) {\n",
1562         "            continue;\n",
1563         "        }\n",
1564         "        fig.buttons[key].disabled = !msg[key];\n",
1565         "        fig.buttons[key].setAttribute('aria-disabled', !msg[key]);\n",
1566         "    }\n",
1567         "};\n",
1568         "\n",
1569         "mpl.figure.prototype.handle_navigate_mode = function (fig, msg) {\n",
1570         "    if (msg['mode'] === 'PAN') {\n",
1571         "        fig.buttons['Pan'].classList.add('active');\n",
1572         "        fig.buttons['Zoom'].classList.remove('active');\n",
1573         "    } else if (msg['mode'] === 'ZOOM') {\n",
1574         "        fig.buttons['Pan'].classList.remove('active');\n",
1575         "        fig.buttons['Zoom'].classList.add('active');\n",
1576         "    } else {\n",
1577         "        fig.buttons['Pan'].classList.remove('active');\n",
1578         "        fig.buttons['Zoom'].classList.remove('active');\n",
1579         "    }\n",
1580         "};\n",
1581         "\n",
1582         "mpl.figure.prototype.updated_canvas_event = function () {\n",
1583         "    // Called whenever the canvas gets updated.\n",
1584         "    this.send_message('ack', {});\n",
1585         "};\n",
1586         "\n",
1587         "// A function to construct a web socket function for onmessage handling.\n",
1588         "// Called in the figure constructor.\n",
1589         "mpl.figure.prototype._make_on_message_function = function (fig) {\n",
1590         "    return function socket_on_message(evt) {\n",
1591         "        if (evt.data instanceof Blob) {\n",
1592         "            /* FIXME: We get \"Resource interpreted as Image but\n",
1593         "             * transferred with MIME type text/plain:\" errors on\n",
1594         "             * Chrome.  But how to set the MIME type?  It doesn't seem\n",
1595         "             * to be part of the websocket stream */\n",
1596         "            evt.data.type = 'image/png';\n",
1597         "\n",
1598         "            /* Free the memory for the previous frames */\n",
1599         "            if (fig.imageObj.src) {\n",
1600         "                (window.URL || window.webkitURL).revokeObjectURL(\n",
1601         "                    fig.imageObj.src\n",
1602         "                );\n",
1603         "            }\n",
1604         "\n",
1605         "            fig.imageObj.src = (window.URL || window.webkitURL).createObjectURL(\n",
1606         "                evt.data\n",
1607         "            );\n",
1608         "            fig.updated_canvas_event();\n",
1609         "            fig.waiting = false;\n",
1610         "            return;\n",
1611         "        } else if (\n",
1612         "            typeof evt.data === 'string' &&\n",
1613         "            evt.data.slice(0, 21) === 'data:image/png;base64'\n",
1614         "        ) {\n",
1615         "            fig.imageObj.src = evt.data;\n",
1616         "            fig.updated_canvas_event();\n",
1617         "            fig.waiting = false;\n",
1618         "            return;\n",
1619         "        }\n",
1620         "\n",
1621         "        var msg = JSON.parse(evt.data);\n",
1622         "        var msg_type = msg['type'];\n",
1623         "\n",
1624         "        // Call the  \"handle_{type}\" callback, which takes\n",
1625         "        // the figure and JSON message as its only arguments.\n",
1626         "        try {\n",
1627         "            var callback = fig['handle_' + msg_type];\n",
1628         "        } catch (e) {\n",
1629         "            console.log(\n",
1630         "                \"No handler for the '\" + msg_type + \"' message type: \",\n",
1631         "                msg\n",
1632         "            );\n",
1633         "            return;\n",
1634         "        }\n",
1635         "\n",
1636         "        if (callback) {\n",
1637         "            try {\n",
1638         "                // console.log(\"Handling '\" + msg_type + \"' message: \", msg);\n",
1639         "                callback(fig, msg);\n",
1640         "            } catch (e) {\n",
1641         "                console.log(\n",
1642         "                    \"Exception inside the 'handler_\" + msg_type + \"' callback:\",\n",
1643         "                    e,\n",
1644         "                    e.stack,\n",
1645         "                    msg\n",
1646         "                );\n",
1647         "            }\n",
1648         "        }\n",
1649         "    };\n",
1650         "};\n",
1651         "\n",
1652         "// from http://stackoverflow.com/questions/1114465/getting-mouse-location-in-canvas\n",
1653         "mpl.findpos = function (e) {\n",
1654         "    //this section is from http://www.quirksmode.org/js/events_properties.html\n",
1655         "    var targ;\n",
1656         "    if (!e) {\n",
1657         "        e = window.event;\n",
1658         "    }\n",
1659         "    if (e.target) {\n",
1660         "        targ = e.target;\n",
1661         "    } else if (e.srcElement) {\n",
1662         "        targ = e.srcElement;\n",
1663         "    }\n",
1664         "    if (targ.nodeType === 3) {\n",
1665         "        // defeat Safari bug\n",
1666         "        targ = targ.parentNode;\n",
1667         "    }\n",
1668         "\n",
1669         "    // pageX,Y are the mouse positions relative to the document\n",
1670         "    var boundingRect = targ.getBoundingClientRect();\n",
1671         "    var x = e.pageX - (boundingRect.left + document.body.scrollLeft);\n",
1672         "    var y = e.pageY - (boundingRect.top + document.body.scrollTop);\n",
1673         "\n",
1674         "    return { x: x, y: y };\n",
1675         "};\n",
1676         "\n",
1677         "/*\n",
1678         " * return a copy of an object with only non-object keys\n",
1679         " * we need this to avoid circular references\n",
1680         " * http://stackoverflow.com/a/24161582/3208463\n",
1681         " */\n",
1682         "function simpleKeys(original) {\n",
1683         "    return Object.keys(original).reduce(function (obj, key) {\n",
1684         "        if (typeof original[key] !== 'object') {\n",
1685         "            obj[key] = original[key];\n",
1686         "        }\n",
1687         "        return obj;\n",
1688         "    }, {});\n",
1689         "}\n",
1690         "\n",
1691         "mpl.figure.prototype.mouse_event = function (event, name) {\n",
1692         "    var canvas_pos = mpl.findpos(event);\n",
1693         "\n",
1694         "    if (name === 'button_press') {\n",
1695         "        this.canvas.focus();\n",
1696         "        this.canvas_div.focus();\n",
1697         "    }\n",
1698         "\n",
1699         "    var x = canvas_pos.x * this.ratio;\n",
1700         "    var y = canvas_pos.y * this.ratio;\n",
1701         "\n",
1702         "    this.send_message(name, {\n",
1703         "        x: x,\n",
1704         "        y: y,\n",
1705         "        button: event.button,\n",
1706         "        step: event.step,\n",
1707         "        guiEvent: simpleKeys(event),\n",
1708         "    });\n",
1709         "\n",
1710         "    /* This prevents the web browser from automatically changing to\n",
1711         "     * the text insertion cursor when the button is pressed.  We want\n",
1712         "     * to control all of the cursor setting manually through the\n",
1713         "     * 'cursor' event from matplotlib */\n",
1714         "    event.preventDefault();\n",
1715         "    return false;\n",
1716         "};\n",
1717         "\n",
1718         "mpl.figure.prototype._key_event_extra = function (_event, _name) {\n",
1719         "    // Handle any extra behaviour associated with a key event\n",
1720         "};\n",
1721         "\n",
1722         "mpl.figure.prototype.key_event = function (event, name) {\n",
1723         "    // Prevent repeat events\n",
1724         "    if (name === 'key_press') {\n",
1725         "        if (event.which === this._key) {\n",
1726         "            return;\n",
1727         "        } else {\n",
1728         "            this._key = event.which;\n",
1729         "        }\n",
1730         "    }\n",
1731         "    if (name === 'key_release') {\n",
1732         "        this._key = null;\n",
1733         "    }\n",
1734         "\n",
1735         "    var value = '';\n",
1736         "    if (event.ctrlKey && event.which !== 17) {\n",
1737         "        value += 'ctrl+';\n",
1738         "    }\n",
1739         "    if (event.altKey && event.which !== 18) {\n",
1740         "        value += 'alt+';\n",
1741         "    }\n",
1742         "    if (event.shiftKey && event.which !== 16) {\n",
1743         "        value += 'shift+';\n",
1744         "    }\n",
1745         "\n",
1746         "    value += 'k';\n",
1747         "    value += event.which.toString();\n",
1748         "\n",
1749         "    this._key_event_extra(event, name);\n",
1750         "\n",
1751         "    this.send_message(name, { key: value, guiEvent: simpleKeys(event) });\n",
1752         "    return false;\n",
1753         "};\n",
1754         "\n",
1755         "mpl.figure.prototype.toolbar_button_onclick = function (name) {\n",
1756         "    if (name === 'download') {\n",
1757         "        this.handle_save(this, null);\n",
1758         "    } else {\n",
1759         "        this.send_message('toolbar_button', { name: name });\n",
1760         "    }\n",
1761         "};\n",
1762         "\n",
1763         "mpl.figure.prototype.toolbar_button_onmouseover = function (tooltip) {\n",
1764         "    this.message.textContent = tooltip;\n",
1765         "};\n",
1766         "\n",
1767         "///////////////// REMAINING CONTENT GENERATED BY embed_js.py /////////////////\n",
1768         "// prettier-ignore\n",
1769         "var _JSXTOOLS_RESIZE_OBSERVER=function(A){var t,i=new WeakMap,n=new WeakMap,a=new WeakMap,r=new WeakMap,o=new Set;function s(e){if(!(this instanceof s))throw new TypeError(\"Constructor requires 'new' operator\");i.set(this,e)}function h(){throw new TypeError(\"Function is not a constructor\")}function c(e,t,i,n){e=0 in arguments?Number(arguments[0]):0,t=1 in arguments?Number(arguments[1]):0,i=2 in arguments?Number(arguments[2]):0,n=3 in arguments?Number(arguments[3]):0,this.right=(this.x=this.left=e)+(this.width=i),this.bottom=(this.y=this.top=t)+(this.height=n),Object.freeze(this)}function d(){t=requestAnimationFrame(d);var s=new WeakMap,p=new Set;o.forEach((function(t){r.get(t).forEach((function(i){var r=t instanceof window.SVGElement,o=a.get(t),d=r?0:parseFloat(o.paddingTop),f=r?0:parseFloat(o.paddingRight),l=r?0:parseFloat(o.paddingBottom),u=r?0:parseFloat(o.paddingLeft),g=r?0:parseFloat(o.borderTopWidth),m=r?0:parseFloat(o.borderRightWidth),w=r?0:parseFloat(o.borderBottomWidth),b=u+f,F=d+l,v=(r?0:parseFloat(o.borderLeftWidth))+m,W=g+w,y=r?0:t.offsetHeight-W-t.clientHeight,E=r?0:t.offsetWidth-v-t.clientWidth,R=b+v,z=F+W,M=r?t.width:parseFloat(o.width)-R-E,O=r?t.height:parseFloat(o.height)-z-y;if(n.has(t)){var k=n.get(t);if(k[0]===M&&k[1]===O)return}n.set(t,[M,O]);var S=Object.create(h.prototype);S.target=t,S.contentRect=new c(u,d,M,O),s.has(i)||(s.set(i,[]),p.add(i)),s.get(i).push(S)}))})),p.forEach((function(e){i.get(e).call(e,s.get(e),e)}))}return s.prototype.observe=function(i){if(i instanceof window.Element){r.has(i)||(r.set(i,new Set),o.add(i),a.set(i,window.getComputedStyle(i)));var n=r.get(i);n.has(this)||n.add(this),cancelAnimationFrame(t),t=requestAnimationFrame(d)}},s.prototype.unobserve=function(i){if(i instanceof window.Element&&r.has(i)){var n=r.get(i);n.has(this)&&(n.delete(this),n.size||(r.delete(i),o.delete(i))),n.size||r.delete(i),o.size||cancelAnimationFrame(t)}},A.DOMRectReadOnly=c,A.ResizeObserver=s,A.ResizeObserverEntry=h,A}; // eslint-disable-line\n",
1770         "mpl.toolbar_items = [[\"Home\", \"Reset original view\", \"fa fa-home icon-home\", \"home\"], [\"Back\", \"Back to previous view\", \"fa fa-arrow-left icon-arrow-left\", \"back\"], [\"Forward\", \"Forward to next view\", \"fa fa-arrow-right icon-arrow-right\", \"forward\"], [\"\", \"\", \"\", \"\"], [\"Pan\", \"Left button pans, Right button zooms\\nx/y fixes axis, CTRL fixes aspect\", \"fa fa-arrows icon-move\", \"pan\"], [\"Zoom\", \"Zoom to rectangle\\nx/y fixes axis, CTRL fixes aspect\", \"fa fa-square-o icon-check-empty\", \"zoom\"], [\"\", \"\", \"\", \"\"], [\"Download\", \"Download plot\", \"fa fa-floppy-o icon-save\", \"download\"]];\n",
1771         "\n",
1772         "mpl.extensions = [\"eps\", \"jpeg\", \"pdf\", \"png\", \"ps\", \"raw\", \"svg\", \"tif\"];\n",
1773         "\n",
1774         "mpl.default_extension = \"png\";/* global mpl */\n",
1775         "\n",
1776         "var comm_websocket_adapter = function (comm) {\n",
1777         "    // Create a \"websocket\"-like object which calls the given IPython comm\n",
1778         "    // object with the appropriate methods. Currently this is a non binary\n",
1779         "    // socket, so there is still some room for performance tuning.\n",
1780         "    var ws = {};\n",
1781         "\n",
1782         "    ws.close = function () {\n",
1783         "        comm.close();\n",
1784         "    };\n",
1785         "    ws.send = function (m) {\n",
1786         "        //console.log('sending', m);\n",
1787         "        comm.send(m);\n",
1788         "    };\n",
1789         "    // Register the callback with on_msg.\n",
1790         "    comm.on_msg(function (msg) {\n",
1791         "        //console.log('receiving', msg['content']['data'], msg);\n",
1792         "        // Pass the mpl event to the overridden (by mpl) onmessage function.\n",
1793         "        ws.onmessage(msg['content']['data']);\n",
1794         "    });\n",
1795         "    return ws;\n",
1796         "};\n",
1797         "\n",
1798         "mpl.mpl_figure_comm = function (comm, msg) {\n",
1799         "    // This is the function which gets called when the mpl process\n",
1800         "    // starts-up an IPython Comm through the \"matplotlib\" channel.\n",
1801         "\n",
1802         "    var id = msg.content.data.id;\n",
1803         "    // Get hold of the div created by the display call when the Comm\n",
1804         "    // socket was opened in Python.\n",
1805         "    var element = document.getElementById(id);\n",
1806         "    var ws_proxy = comm_websocket_adapter(comm);\n",
1807         "\n",
1808         "    function ondownload(figure, _format) {\n",
1809         "        window.open(figure.canvas.toDataURL());\n",
1810         "    }\n",
1811         "\n",
1812         "    var fig = new mpl.figure(id, ws_proxy, ondownload, element);\n",
1813         "\n",
1814         "    // Call onopen now - mpl needs it, as it is assuming we've passed it a real\n",
1815         "    // web socket which is closed, not our websocket->open comm proxy.\n",
1816         "    ws_proxy.onopen();\n",
1817         "\n",
1818         "    fig.parent_element = element;\n",
1819         "    fig.cell_info = mpl.find_output_cell(\"<div id='\" + id + \"'></div>\");\n",
1820         "    if (!fig.cell_info) {\n",
1821         "        console.error('Failed to find cell for figure', id, fig);\n",
1822         "        return;\n",
1823         "    }\n",
1824         "    fig.cell_info[0].output_area.element.on(\n",
1825         "        'cleared',\n",
1826         "        { fig: fig },\n",
1827         "        fig._remove_fig_handler\n",
1828         "    );\n",
1829         "};\n",
1830         "\n",
1831         "mpl.figure.prototype.handle_close = function (fig, msg) {\n",
1832         "    var width = fig.canvas.width / fig.ratio;\n",
1833         "    fig.cell_info[0].output_area.element.off(\n",
1834         "        'cleared',\n",
1835         "        fig._remove_fig_handler\n",
1836         "    );\n",
1837         "    fig.resizeObserverInstance.unobserve(fig.canvas_div);\n",
1838         "\n",
1839         "    // Update the output cell to use the data from the current canvas.\n",
1840         "    fig.push_to_output();\n",
1841         "    var dataURL = fig.canvas.toDataURL();\n",
1842         "    // Re-enable the keyboard manager in IPython - without this line, in FF,\n",
1843         "    // the notebook keyboard shortcuts fail.\n",
1844         "    IPython.keyboard_manager.enable();\n",
1845         "    fig.parent_element.innerHTML =\n",
1846         "        '<img src=\"' + dataURL + '\" width=\"' + width + '\">';\n",
1847         "    fig.close_ws(fig, msg);\n",
1848         "};\n",
1849         "\n",
1850         "mpl.figure.prototype.close_ws = function (fig, msg) {\n",
1851         "    fig.send_message('closing', msg);\n",
1852         "    // fig.ws.close()\n",
1853         "};\n",
1854         "\n",
1855         "mpl.figure.prototype.push_to_output = function (_remove_interactive) {\n",
1856         "    // Turn the data on the canvas into data in the output cell.\n",
1857         "    var width = this.canvas.width / this.ratio;\n",
1858         "    var dataURL = this.canvas.toDataURL();\n",
1859         "    this.cell_info[1]['text/html'] =\n",
1860         "        '<img src=\"' + dataURL + '\" width=\"' + width + '\">';\n",
1861         "};\n",
1862         "\n",
1863         "mpl.figure.prototype.updated_canvas_event = function () {\n",
1864         "    // Tell IPython that the notebook contents must change.\n",
1865         "    IPython.notebook.set_dirty(true);\n",
1866         "    this.send_message('ack', {});\n",
1867         "    var fig = this;\n",
1868         "    // Wait a second, then push the new image to the DOM so\n",
1869         "    // that it is saved nicely (might be nice to debounce this).\n",
1870         "    setTimeout(function () {\n",
1871         "        fig.push_to_output();\n",
1872         "    }, 1000);\n",
1873         "};\n",
1874         "\n",
1875         "mpl.figure.prototype._init_toolbar = function () {\n",
1876         "    var fig = this;\n",
1877         "\n",
1878         "    var toolbar = document.createElement('div');\n",
1879         "    toolbar.classList = 'btn-toolbar';\n",
1880         "    this.root.appendChild(toolbar);\n",
1881         "\n",
1882         "    function on_click_closure(name) {\n",
1883         "        return function (_event) {\n",
1884         "            return fig.toolbar_button_onclick(name);\n",
1885         "        };\n",
1886         "    }\n",
1887         "\n",
1888         "    function on_mouseover_closure(tooltip) {\n",
1889         "        return function (event) {\n",
1890         "            if (!event.currentTarget.disabled) {\n",
1891         "                return fig.toolbar_button_onmouseover(tooltip);\n",
1892         "            }\n",
1893         "        };\n",
1894         "    }\n",
1895         "\n",
1896         "    fig.buttons = {};\n",
1897         "    var buttonGroup = document.createElement('div');\n",
1898         "    buttonGroup.classList = 'btn-group';\n",
1899         "    var button;\n",
1900         "    for (var toolbar_ind in mpl.toolbar_items) {\n",
1901         "        var name = mpl.toolbar_items[toolbar_ind][0];\n",
1902         "        var tooltip = mpl.toolbar_items[toolbar_ind][1];\n",
1903         "        var image = mpl.toolbar_items[toolbar_ind][2];\n",
1904         "        var method_name = mpl.toolbar_items[toolbar_ind][3];\n",
1905         "\n",
1906         "        if (!name) {\n",
1907         "            /* Instead of a spacer, we start a new button group. */\n",
1908         "            if (buttonGroup.hasChildNodes()) {\n",
1909         "                toolbar.appendChild(buttonGroup);\n",
1910         "            }\n",
1911         "            buttonGroup = document.createElement('div');\n",
1912         "            buttonGroup.classList = 'btn-group';\n",
1913         "            continue;\n",
1914         "        }\n",
1915         "\n",
1916         "        button = fig.buttons[name] = document.createElement('button');\n",
1917         "        button.classList = 'btn btn-default';\n",
1918         "        button.href = '#';\n",
1919         "        button.title = name;\n",
1920         "        button.innerHTML = '<i class=\"fa ' + image + ' fa-lg\"></i>';\n",
1921         "        button.addEventListener('click', on_click_closure(method_name));\n",
1922         "        button.addEventListener('mouseover', on_mouseover_closure(tooltip));\n",
1923         "        buttonGroup.appendChild(button);\n",
1924         "    }\n",
1925         "\n",
1926         "    if (buttonGroup.hasChildNodes()) {\n",
1927         "        toolbar.appendChild(buttonGroup);\n",
1928         "    }\n",
1929         "\n",
1930         "    // Add the status bar.\n",
1931         "    var status_bar = document.createElement('span');\n",
1932         "    status_bar.classList = 'mpl-message pull-right';\n",
1933         "    toolbar.appendChild(status_bar);\n",
1934         "    this.message = status_bar;\n",
1935         "\n",
1936         "    // Add the close button to the window.\n",
1937         "    var buttongrp = document.createElement('div');\n",
1938         "    buttongrp.classList = 'btn-group inline pull-right';\n",
1939         "    button = document.createElement('button');\n",
1940         "    button.classList = 'btn btn-mini btn-primary';\n",
1941         "    button.href = '#';\n",
1942         "    button.title = 'Stop Interaction';\n",
1943         "    button.innerHTML = '<i class=\"fa fa-power-off icon-remove icon-large\"></i>';\n",
1944         "    button.addEventListener('click', function (_evt) {\n",
1945         "        fig.handle_close(fig, {});\n",
1946         "    });\n",
1947         "    button.addEventListener(\n",
1948         "        'mouseover',\n",
1949         "        on_mouseover_closure('Stop Interaction')\n",
1950         "    );\n",
1951         "    buttongrp.appendChild(button);\n",
1952         "    var titlebar = this.root.querySelector('.ui-dialog-titlebar');\n",
1953         "    titlebar.insertBefore(buttongrp, titlebar.firstChild);\n",
1954         "};\n",
1955         "\n",
1956         "mpl.figure.prototype._remove_fig_handler = function (event) {\n",
1957         "    var fig = event.data.fig;\n",
1958         "    if (event.target !== this) {\n",
1959         "        // Ignore bubbled events from children.\n",
1960         "        return;\n",
1961         "    }\n",
1962         "    fig.close_ws(fig, {});\n",
1963         "};\n",
1964         "\n",
1965         "mpl.figure.prototype._root_extra_style = function (el) {\n",
1966         "    el.style.boxSizing = 'content-box'; // override notebook setting of border-box.\n",
1967         "};\n",
1968         "\n",
1969         "mpl.figure.prototype._canvas_extra_style = function (el) {\n",
1970         "    // this is important to make the div 'focusable\n",
1971         "    el.setAttribute('tabindex', 0);\n",
1972         "    // reach out to IPython and tell the keyboard manager to turn it's self\n",
1973         "    // off when our div gets focus\n",
1974         "\n",
1975         "    // location in version 3\n",
1976         "    if (IPython.notebook.keyboard_manager) {\n",
1977         "        IPython.notebook.keyboard_manager.register_events(el);\n",
1978         "    } else {\n",
1979         "        // location in version 2\n",
1980         "        IPython.keyboard_manager.register_events(el);\n",
1981         "    }\n",
1982         "};\n",
1983         "\n",
1984         "mpl.figure.prototype._key_event_extra = function (event, _name) {\n",
1985         "    var manager = IPython.notebook.keyboard_manager;\n",
1986         "    if (!manager) {\n",
1987         "        manager = IPython.keyboard_manager;\n",
1988         "    }\n",
1989         "\n",
1990         "    // Check for shift+enter\n",
1991         "    if (event.shiftKey && event.which === 13) {\n",
1992         "        this.canvas_div.blur();\n",
1993         "        // select the cell after this one\n",
1994         "        var index = IPython.notebook.find_cell_index(this.cell_info[0]);\n",
1995         "        IPython.notebook.select(index + 1);\n",
1996         "    }\n",
1997         "};\n",
1998         "\n",
1999         "mpl.figure.prototype.handle_save = function (fig, _msg) {\n",
2000         "    fig.ondownload(fig, null);\n",
2001         "};\n",
2002         "\n",
2003         "mpl.find_output_cell = function (html_output) {\n",
2004         "    // Return the cell and output element which can be found *uniquely* in the notebook.\n",
2005         "    // Note - this is a bit hacky, but it is done because the \"notebook_saving.Notebook\"\n",
2006         "    // IPython event is triggered only after the cells have been serialised, which for\n",
2007         "    // our purposes (turning an active figure into a static one), is too late.\n",
2008         "    var cells = IPython.notebook.get_cells();\n",
2009         "    var ncells = cells.length;\n",
2010         "    for (var i = 0; i < ncells; i++) {\n",
2011         "        var cell = cells[i];\n",
2012         "        if (cell.cell_type === 'code') {\n",
2013         "            for (var j = 0; j < cell.output_area.outputs.length; j++) {\n",
2014         "                var data = cell.output_area.outputs[j];\n",
2015         "                if (data.data) {\n",
2016         "                    // IPython >= 3 moved mimebundle to data attribute of output\n",
2017         "                    data = data.data;\n",
2018         "                }\n",
2019         "                if (data['text/html'] === html_output) {\n",
2020         "                    return [cell, data, j];\n",
2021         "                }\n",
2022         "            }\n",
2023         "        }\n",
2024         "    }\n",
2025         "};\n",
2026         "\n",
2027         "// Register the function which deals with the matplotlib target/channel.\n",
2028         "// The kernel may be null if the page has been refreshed.\n",
2029         "if (IPython.notebook.kernel !== null) {\n",
2030         "    IPython.notebook.kernel.comm_manager.register_target(\n",
2031         "        'matplotlib',\n",
2032         "        mpl.mpl_figure_comm\n",
2033         "    );\n",
2034         "}\n"
2035        ],
2036        "text/plain": [
2037         "<IPython.core.display.Javascript object>"
2038        ]
2039       },
2040       "metadata": {},
2041       "output_type": "display_data"
2042      },
2043      {
2044       "data": {
2045        "text/html": [
2046         "<img src=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAA9QAAAH0CAYAAADc52WbAAAgAElEQVR4XuydB9wtR1n/573JpUjue5Mg1eQPkWCAUFR6aEoTAoKINJEmqHQVVJRmwEIVEAugKB1BekcQpISmIkiAUAIE0glJIAlCkpv7/j+/2Z3dZ9rus3v2nDnlt58P5L7nTNvfzp6Z7zzPPLO1s7OzY3hRASpABagAFaACVIAKUAEqQAWoABWgAoMU2CJQD9KLiakAFaACVIAKUAEqQAWoABWgAlSAClgFCNTsCFSAClABKkAFqAAVoAJUgApQASpABUYoQKAeIRqzUAEqQAWoABWgAlSAClABKkAFqAAVIFCzD1ABKkAFqAAVoAJUgApQASpABagAFRihAIF6hGjMQgWoABWgAlSAClABKkAFqAAVoAJUgEDNPkAFqAAVoAJUgApQASpABagAFaACVGCEAgTqEaIxCxWgAlSAClABKkAFqAAVoAJUgApQAQI1+wAVoAJUgApQASpABagAFaACVIAKUIERChCoR4jGLFSAClABKkAFqAAVoAJUgApQASpABQjU7ANUgApQASpABagAFaACVIAKUAEqQAVGKECgHiEas1ABKkAFqAAVoAJUgApQASpABagAFSBQsw9QAaHAK1/5SvOwhz2s+eSyl72sOfjgg811r3tdc+c739k8/OEPN1e+8pXnptnJJ59sjjjiCPOKV7zCPPShD1XXg7Qf+chHDPIv+tra2vKq/Imf+Anz//7f/zP3v//9zR/8wR+YK1zhCotu0qD6Smo3qKFMTAWoABVYsAIcE4cLHo6J29vb5ud+7ufMH/7hH5q73e1uwwvM5MDY9eY3v9lceOGFk5X5C7/wC+Z73/ue+eIXv9hbJu7zT//0T81xxx1n02IO8ou/+IvmP/7jPwzKwYXvnvGMZ5idnZ2mvL//+783mCeEc5yx85/ehjIBFViAAgTqBYjMKlZHATd5ANBe5zrXMZdccon57ne/a44//ngLuQcccIB54xvfaO54xzvO5aYuuugi87nPfc5c61rXMle60pXUdXzjG98w559/vh20F31hUP21X/s188QnPtFWjcH9ox/9qPnLv/xL8yu/8ivmLW95y6KbNKg+AvUguZiYClCBDVKAY+Lwhy3HxP3795tvfvOb5s///M/N1772NfOud71rMqguDdSf/vSnzWGH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\" width=\"980\">"
2047        ],
2048        "text/plain": [
2049         "<IPython.core.display.HTML object>"
2050        ]
2051       },
2052       "metadata": {},
2053       "output_type": "display_data"
2054      }
2055     ],
2056     "source": [
2057      "from sklearn.linear_model import LogisticRegression\n",
2058      "\n",
2059      "model = LogisticRegression()\n",
2060      "model.fit(X_train,y_train)\n",
2061      "\n",
2062      "plot_mushroom_boundary(X_test, y_test, model)"
2063     ]
2064    },
2065    {
2066     "cell_type": "code",
2067     "execution_count": 4,
2068     "metadata": {},
2069     "outputs": [
2070      {
2071       "data": {
2072        "application/javascript": [
2073         "/* Put everything inside the global mpl namespace */\n",
2074         "/* global mpl */\n",
2075         "window.mpl = {};\n",
2076         "\n",
2077         "mpl.get_websocket_type = function () {\n",
2078         "    if (typeof WebSocket !== 'undefined') {\n",
2079         "        return WebSocket;\n",
2080         "    } else if (typeof MozWebSocket !== 'undefined') {\n",
2081         "        return MozWebSocket;\n",
2082         "    } else {\n",
2083         "        alert(\n",
2084         "            'Your browser does not have WebSocket support. ' +\n",
2085         "                'Please try Chrome, Safari or Firefox ≥ 6. ' +\n",
2086         "                'Firefox 4 and 5 are also supported but you ' +\n",
2087         "                'have to enable WebSockets in about:config.'\n",
2088         "        );\n",
2089         "    }\n",
2090         "};\n",
2091         "\n",
2092         "mpl.figure = function (figure_id, websocket, ondownload, parent_element) {\n",
2093         "    this.id = figure_id;\n",
2094         "\n",
2095         "    this.ws = websocket;\n",
2096         "\n",
2097         "    this.supports_binary = this.ws.binaryType !== undefined;\n",
2098         "\n",
2099         "    if (!this.supports_binary) {\n",
2100         "        var warnings = document.getElementById('mpl-warnings');\n",
2101         "        if (warnings) {\n",
2102         "            warnings.style.display = 'block';\n",
2103         "            warnings.textContent =\n",
2104         "                'This browser does not support binary websocket messages. ' +\n",
2105         "                'Performance may be slow.';\n",
2106         "        }\n",
2107         "    }\n",
2108         "\n",
2109         "    this.imageObj = new Image();\n",
2110         "\n",
2111         "    this.context = undefined;\n",
2112         "    this.message = undefined;\n",
2113         "    this.canvas = undefined;\n",
2114         "    this.rubberband_canvas = undefined;\n",
2115         "    this.rubberband_context = undefined;\n",
2116         "    this.format_dropdown = undefined;\n",
2117         "\n",
2118         "    this.image_mode = 'full';\n",
2119         "\n",
2120         "    this.root = document.createElement('div');\n",
2121         "    this.root.setAttribute('style', 'display: inline-block');\n",
2122         "    this._root_extra_style(this.root);\n",
2123         "\n",
2124         "    parent_element.appendChild(this.root);\n",
2125         "\n",
2126         "    this._init_header(this);\n",
2127         "    this._init_canvas(this);\n",
2128         "    this._init_toolbar(this);\n",
2129         "\n",
2130         "    var fig = this;\n",
2131         "\n",
2132         "    this.waiting = false;\n",
2133         "\n",
2134         "    this.ws.onopen = function () {\n",
2135         "        fig.send_message('supports_binary', { value: fig.supports_binary });\n",
2136         "        fig.send_message('send_image_mode', {});\n",
2137         "        if (fig.ratio !== 1) {\n",
2138         "            fig.send_message('set_dpi_ratio', { dpi_ratio: fig.ratio });\n",
2139         "        }\n",
2140         "        fig.send_message('refresh', {});\n",
2141         "    };\n",
2142         "\n",
2143         "    this.imageObj.onload = function () {\n",
2144         "        if (fig.image_mode === 'full') {\n",
2145         "            // Full images could contain transparency (where diff images\n",
2146         "            // almost always do), so we need to clear the canvas so that\n",
2147         "            // there is no ghosting.\n",
2148         "            fig.context.clearRect(0, 0, fig.canvas.width, fig.canvas.height);\n",
2149         "        }\n",
2150         "        fig.context.drawImage(fig.imageObj, 0, 0);\n",
2151         "    };\n",
2152         "\n",
2153         "    this.imageObj.onunload = function () {\n",
2154         "        fig.ws.close();\n",
2155         "    };\n",
2156         "\n",
2157         "    this.ws.onmessage = this._make_on_message_function(this);\n",
2158         "\n",
2159         "    this.ondownload = ondownload;\n",
2160         "};\n",
2161         "\n",
2162         "mpl.figure.prototype._init_header = function () {\n",
2163         "    var titlebar = document.createElement('div');\n",
2164         "    titlebar.classList =\n",
2165         "        'ui-dialog-titlebar ui-widget-header ui-corner-all ui-helper-clearfix';\n",
2166         "    var titletext = document.createElement('div');\n",
2167         "    titletext.classList = 'ui-dialog-title';\n",
2168         "    titletext.setAttribute(\n",
2169         "        'style',\n",
2170         "        'width: 100%; text-align: center; padding: 3px;'\n",
2171         "    );\n",
2172         "    titlebar.appendChild(titletext);\n",
2173         "    this.root.appendChild(titlebar);\n",
2174         "    this.header = titletext;\n",
2175         "};\n",
2176         "\n",
2177         "mpl.figure.prototype._canvas_extra_style = function (_canvas_div) {};\n",
2178         "\n",
2179         "mpl.figure.prototype._root_extra_style = function (_canvas_div) {};\n",
2180         "\n",
2181         "mpl.figure.prototype._init_canvas = function () {\n",
2182         "    var fig = this;\n",
2183         "\n",
2184         "    var canvas_div = (this.canvas_div = document.createElement('div'));\n",
2185         "    canvas_div.setAttribute(\n",
2186         "        'style',\n",
2187         "        'border: 1px solid #ddd;' +\n",
2188         "            'box-sizing: content-box;' +\n",
2189         "            'clear: both;' +\n",
2190         "            'min-height: 1px;' +\n",
2191         "            'min-width: 1px;' +\n",
2192         "            'outline: 0;' +\n",
2193         "            'overflow: hidden;' +\n",
2194         "            'position: relative;' +\n",
2195         "            'resize: both;'\n",
2196         "    );\n",
2197         "\n",
2198         "    function on_keyboard_event_closure(name) {\n",
2199         "        return function (event) {\n",
2200         "            return fig.key_event(event, name);\n",
2201         "        };\n",
2202         "    }\n",
2203         "\n",
2204         "    canvas_div.addEventListener(\n",
2205         "        'keydown',\n",
2206         "        on_keyboard_event_closure('key_press')\n",
2207         "    );\n",
2208         "    canvas_div.addEventListener(\n",
2209         "        'keyup',\n",
2210         "        on_keyboard_event_closure('key_release')\n",
2211         "    );\n",
2212         "\n",
2213         "    this._canvas_extra_style(canvas_div);\n",
2214         "    this.root.appendChild(canvas_div);\n",
2215         "\n",
2216         "    var canvas = (this.canvas = document.createElement('canvas'));\n",
2217         "    canvas.classList.add('mpl-canvas');\n",
2218         "    canvas.setAttribute('style', 'box-sizing: content-box;');\n",
2219         "\n",
2220         "    this.context = canvas.getContext('2d');\n",
2221         "\n",
2222         "    var backingStore =\n",
2223         "        this.context.backingStorePixelRatio ||\n",
2224         "        this.context.webkitBackingStorePixelRatio ||\n",
2225         "        this.context.mozBackingStorePixelRatio ||\n",
2226         "        this.context.msBackingStorePixelRatio ||\n",
2227         "        this.context.oBackingStorePixelRatio ||\n",
2228         "        this.context.backingStorePixelRatio ||\n",
2229         "        1;\n",
2230         "\n",
2231         "    this.ratio = (window.devicePixelRatio || 1) / backingStore;\n",
2232         "\n",
2233         "    var rubberband_canvas = (this.rubberband_canvas = document.createElement(\n",
2234         "        'canvas'\n",
2235         "    ));\n",
2236         "    rubberband_canvas.setAttribute(\n",
2237         "        'style',\n",
2238         "        'box-sizing: content-box; position: absolute; left: 0; top: 0; z-index: 1;'\n",
2239         "    );\n",
2240         "\n",
2241         "    // Apply a ponyfill if ResizeObserver is not implemented by browser.\n",
2242         "    if (this.ResizeObserver === undefined) {\n",
2243         "        if (window.ResizeObserver !== undefined) {\n",
2244         "            this.ResizeObserver = window.ResizeObserver;\n",
2245         "        } else {\n",
2246         "            var obs = _JSXTOOLS_RESIZE_OBSERVER({});\n",
2247         "            this.ResizeObserver = obs.ResizeObserver;\n",
2248         "        }\n",
2249         "    }\n",
2250         "\n",
2251         "    this.resizeObserverInstance = new this.ResizeObserver(function (entries) {\n",
2252         "        var nentries = entries.length;\n",
2253         "        for (var i = 0; i < nentries; i++) {\n",
2254         "            var entry = entries[i];\n",
2255         "            var width, height;\n",
2256         "            if (entry.contentBoxSize) {\n",
2257         "                if (entry.contentBoxSize instanceof Array) {\n",
2258         "                    // Chrome 84 implements new version of spec.\n",
2259         "                    width = entry.contentBoxSize[0].inlineSize;\n",
2260         "                    height = entry.contentBoxSize[0].blockSize;\n",
2261         "                } else {\n",
2262         "                    // Firefox implements old version of spec.\n",
2263         "                    width = entry.contentBoxSize.inlineSize;\n",
2264         "                    height = entry.contentBoxSize.blockSize;\n",
2265         "                }\n",
2266         "            } else {\n",
2267         "                // Chrome <84 implements even older version of spec.\n",
2268         "                width = entry.contentRect.width;\n",
2269         "                height = entry.contentRect.height;\n",
2270         "            }\n",
2271         "\n",
2272         "            // Keep the size of the canvas and rubber band canvas in sync with\n",
2273         "            // the canvas container.\n",
2274         "            if (entry.devicePixelContentBoxSize) {\n",
2275         "                // Chrome 84 implements new version of spec.\n",
2276         "                canvas.setAttribute(\n",
2277         "                    'width',\n",
2278         "                    entry.devicePixelContentBoxSize[0].inlineSize\n",
2279         "                );\n",
2280         "                canvas.setAttribute(\n",
2281         "                    'height',\n",
2282         "                    entry.devicePixelContentBoxSize[0].blockSize\n",
2283         "                );\n",
2284         "            } else {\n",
2285         "                canvas.setAttribute('width', width * fig.ratio);\n",
2286         "                canvas.setAttribute('height', height * fig.ratio);\n",
2287         "            }\n",
2288         "            canvas.setAttribute(\n",
2289         "                'style',\n",
2290         "                'width: ' + width + 'px; height: ' + height + 'px;'\n",
2291         "            );\n",
2292         "\n",
2293         "            rubberband_canvas.setAttribute('width', width);\n",
2294         "            rubberband_canvas.setAttribute('height', height);\n",
2295         "\n",
2296         "            // And update the size in Python. We ignore the initial 0/0 size\n",
2297         "            // that occurs as the element is placed into the DOM, which should\n",
2298         "            // otherwise not happen due to the minimum size styling.\n",
2299         "            if (fig.ws.readyState == 1 && width != 0 && height != 0) {\n",
2300         "                fig.request_resize(width, height);\n",
2301         "            }\n",
2302         "        }\n",
2303         "    });\n",
2304         "    this.resizeObserverInstance.observe(canvas_div);\n",
2305         "\n",
2306         "    function on_mouse_event_closure(name) {\n",
2307         "        return function (event) {\n",
2308         "            return fig.mouse_event(event, name);\n",
2309         "        };\n",
2310         "    }\n",
2311         "\n",
2312         "    rubberband_canvas.addEventListener(\n",
2313         "        'mousedown',\n",
2314         "        on_mouse_event_closure('button_press')\n",
2315         "    );\n",
2316         "    rubberband_canvas.addEventListener(\n",
2317         "        'mouseup',\n",
2318         "        on_mouse_event_closure('button_release')\n",
2319         "    );\n",
2320         "    // Throttle sequential mouse events to 1 every 20ms.\n",
2321         "    rubberband_canvas.addEventListener(\n",
2322         "        'mousemove',\n",
2323         "        on_mouse_event_closure('motion_notify')\n",
2324         "    );\n",
2325         "\n",
2326         "    rubberband_canvas.addEventListener(\n",
2327         "        'mouseenter',\n",
2328         "        on_mouse_event_closure('figure_enter')\n",
2329         "    );\n",
2330         "    rubberband_canvas.addEventListener(\n",
2331         "        'mouseleave',\n",
2332         "        on_mouse_event_closure('figure_leave')\n",
2333         "    );\n",
2334         "\n",
2335         "    canvas_div.addEventListener('wheel', function (event) {\n",
2336         "        if (event.deltaY < 0) {\n",
2337         "            event.step = 1;\n",
2338         "        } else {\n",
2339         "            event.step = -1;\n",
2340         "        }\n",
2341         "        on_mouse_event_closure('scroll')(event);\n",
2342         "    });\n",
2343         "\n",
2344         "    canvas_div.appendChild(canvas);\n",
2345         "    canvas_div.appendChild(rubberband_canvas);\n",
2346         "\n",
2347         "    this.rubberband_context = rubberband_canvas.getContext('2d');\n",
2348         "    this.rubberband_context.strokeStyle = '#000000';\n",
2349         "\n",
2350         "    this._resize_canvas = function (width, height, forward) {\n",
2351         "        if (forward) {\n",
2352         "            canvas_div.style.width = width + 'px';\n",
2353         "            canvas_div.style.height = height + 'px';\n",
2354         "        }\n",
2355         "    };\n",
2356         "\n",
2357         "    // Disable right mouse context menu.\n",
2358         "    this.rubberband_canvas.addEventListener('contextmenu', function (_e) {\n",
2359         "        event.preventDefault();\n",
2360         "        return false;\n",
2361         "    });\n",
2362         "\n",
2363         "    function set_focus() {\n",
2364         "        canvas.focus();\n",
2365         "        canvas_div.focus();\n",
2366         "    }\n",
2367         "\n",
2368         "    window.setTimeout(set_focus, 100);\n",
2369         "};\n",
2370         "\n",
2371         "mpl.figure.prototype._init_toolbar = function () {\n",
2372         "    var fig = this;\n",
2373         "\n",
2374         "    var toolbar = document.createElement('div');\n",
2375         "    toolbar.classList = 'mpl-toolbar';\n",
2376         "    this.root.appendChild(toolbar);\n",
2377         "\n",
2378         "    function on_click_closure(name) {\n",
2379         "        return function (_event) {\n",
2380         "            return fig.toolbar_button_onclick(name);\n",
2381         "        };\n",
2382         "    }\n",
2383         "\n",
2384         "    function on_mouseover_closure(tooltip) {\n",
2385         "        return function (event) {\n",
2386         "            if (!event.currentTarget.disabled) {\n",
2387         "                return fig.toolbar_button_onmouseover(tooltip);\n",
2388         "            }\n",
2389         "        };\n",
2390         "    }\n",
2391         "\n",
2392         "    fig.buttons = {};\n",
2393         "    var buttonGroup = document.createElement('div');\n",
2394         "    buttonGroup.classList = 'mpl-button-group';\n",
2395         "    for (var toolbar_ind in mpl.toolbar_items) {\n",
2396         "        var name = mpl.toolbar_items[toolbar_ind][0];\n",
2397         "        var tooltip = mpl.toolbar_items[toolbar_ind][1];\n",
2398         "        var image = mpl.toolbar_items[toolbar_ind][2];\n",
2399         "        var method_name = mpl.toolbar_items[toolbar_ind][3];\n",
2400         "\n",
2401         "        if (!name) {\n",
2402         "            /* Instead of a spacer, we start a new button group. */\n",
2403         "            if (buttonGroup.hasChildNodes()) {\n",
2404         "                toolbar.appendChild(buttonGroup);\n",
2405         "            }\n",
2406         "            buttonGroup = document.createElement('div');\n",
2407         "            buttonGroup.classList = 'mpl-button-group';\n",
2408         "            continue;\n",
2409         "        }\n",
2410         "\n",
2411         "        var button = (fig.buttons[name] = document.createElement('button'));\n",
2412         "        button.classList = 'mpl-widget';\n",
2413         "        button.setAttribute('role', 'button');\n",
2414         "        button.setAttribute('aria-disabled', 'false');\n",
2415         "        button.addEventListener('click', on_click_closure(method_name));\n",
2416         "        button.addEventListener('mouseover', on_mouseover_closure(tooltip));\n",
2417         "\n",
2418         "        var icon_img = document.createElement('img');\n",
2419         "        icon_img.src = '_images/' + image + '.png';\n