{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {
    "ein.tags": "worksheet-0",
    "slideshow": {
     "slide_type": "-"
    }
   },
   "source": [
    "# DST forecasting from OMNI data\n",
    "\n",
    "This example shows how to use AIDApy to perform the following tasks:\n",
    "\n",
    "* Download time series data from OMNI\n",
    "* Preprocess the data so that it can be used for machine learning\n",
    "* Train several models and evaluate their performance\n",
    "\n",
    "\n",
    "## Downloading data\n",
    "\n",
    "We will first download low-resolution data from [OMNI](https://omniweb.gsfc.nasa.gov/).\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {
    "autoscroll": false,
    "ein.hycell": false,
    "ein.tags": "worksheet-0",
    "slideshow": {
     "slide_type": "-"
    }
   },
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th>products</th>\n",
       "      <th>Bartels Rotation Number</th>\n",
       "      <th>ID IMF Spacecraft</th>\n",
       "      <th>ID SW Plasma Spacecraft</th>\n",
       "      <th>points(IMF Average)</th>\n",
       "      <th>points(Plasma Average)</th>\n",
       "      <th>|B|</th>\n",
       "      <th>Magnitude of Avg Field Vector</th>\n",
       "      <th>Lat. Angle of Aver. Field Vector</th>\n",
       "      <th>Long. Angle of Aver. Field Vector</th>\n",
       "      <th>Bx GSE, GSM</th>\n",
       "      <th>...</th>\n",
       "      <th>Proton Flux &gt; 10MeV</th>\n",
       "      <th>Proton Flux &gt; 30MeV</th>\n",
       "      <th>Proton Flux &gt; 60MeV</th>\n",
       "      <th>flag</th>\n",
       "      <th>ap index</th>\n",
       "      <th>f10.7 index</th>\n",
       "      <th>PC(N) index</th>\n",
       "      <th>AL index (Kyoto)</th>\n",
       "      <th>AU index (Kyoto)</th>\n",
       "      <th>Magnetosonic Mach No.</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>count</th>\n",
       "      <td>96385.000000</td>\n",
       "      <td>96385.000000</td>\n",
       "      <td>96354.00000</td>\n",
       "      <td>96385.000000</td>\n",
       "      <td>96354.00000</td>\n",
       "      <td>96385.000000</td>\n",
       "      <td>96385.000000</td>\n",
       "      <td>96385.000000</td>\n",
       "      <td>96385.000000</td>\n",
       "      <td>96385.000000</td>\n",
       "      <td>...</td>\n",
       "      <td>91174.000000</td>\n",
       "      <td>91171.000000</td>\n",
       "      <td>91169.000000</td>\n",
       "      <td>96385.000000</td>\n",
       "      <td>96385.000000</td>\n",
       "      <td>96265.000000</td>\n",
       "      <td>96212.000000</td>\n",
       "      <td>96385.000000</td>\n",
       "      <td>96385.000000</td>\n",
       "      <td>95501.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>mean</th>\n",
       "      <td>2413.760481</td>\n",
       "      <td>51.469160</td>\n",
       "      <td>52.41442</td>\n",
       "      <td>58.407595</td>\n",
       "      <td>34.32062</td>\n",
       "      <td>5.216666</td>\n",
       "      <td>4.620777</td>\n",
       "      <td>0.442976</td>\n",
       "      <td>200.817234</td>\n",
       "      <td>-0.003756</td>\n",
       "      <td>...</td>\n",
       "      <td>4.467667</td>\n",
       "      <td>0.895241</td>\n",
       "      <td>0.283256</td>\n",
       "      <td>-0.945936</td>\n",
       "      <td>8.207802</td>\n",
       "      <td>98.542824</td>\n",
       "      <td>0.876475</td>\n",
       "      <td>-93.396431</td>\n",
       "      <td>56.163034</td>\n",
       "      <td>5.769463</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>std</th>\n",
       "      <td>42.939382</td>\n",
       "      <td>3.027076</td>\n",
       "      <td>2.95985</td>\n",
       "      <td>7.630976</td>\n",
       "      <td>5.37908</td>\n",
       "      <td>2.785629</td>\n",
       "      <td>2.659993</td>\n",
       "      <td>29.518247</td>\n",
       "      <td>101.021925</td>\n",
       "      <td>3.079144</td>\n",
       "      <td>...</td>\n",
       "      <td>74.289989</td>\n",
       "      <td>15.688849</td>\n",
       "      <td>5.969648</td>\n",
       "      <td>0.226146</td>\n",
       "      <td>12.072234</td>\n",
       "      <td>29.679255</td>\n",
       "      <td>1.171071</td>\n",
       "      <td>128.300576</td>\n",
       "      <td>61.312826</td>\n",
       "      <td>1.119411</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>min</th>\n",
       "      <td>2339.000000</td>\n",
       "      <td>51.000000</td>\n",
       "      <td>51.00000</td>\n",
       "      <td>1.000000</td>\n",
       "      <td>1.00000</td>\n",
       "      <td>0.400000</td>\n",
       "      <td>0.100000</td>\n",
       "      <td>-89.200000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>-40.800000</td>\n",
       "      <td>...</td>\n",
       "      <td>0.050000</td>\n",
       "      <td>0.040000</td>\n",
       "      <td>0.030000</td>\n",
       "      <td>-1.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>65.100000</td>\n",
       "      <td>-6.900000</td>\n",
       "      <td>-2452.000000</td>\n",
       "      <td>-225.000000</td>\n",
       "      <td>0.600000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>25%</th>\n",
       "      <td>2377.000000</td>\n",
       "      <td>51.000000</td>\n",
       "      <td>52.00000</td>\n",
       "      <td>58.000000</td>\n",
       "      <td>34.00000</td>\n",
       "      <td>3.400000</td>\n",
       "      <td>2.900000</td>\n",
       "      <td>-18.600000</td>\n",
       "      <td>121.100000</td>\n",
       "      <td>-2.200000</td>\n",
       "      <td>...</td>\n",
       "      <td>0.140000</td>\n",
       "      <td>0.080000</td>\n",
       "      <td>0.060000</td>\n",
       "      <td>-1.000000</td>\n",
       "      <td>3.000000</td>\n",
       "      <td>73.500000</td>\n",
       "      <td>0.100000</td>\n",
       "      <td>-120.000000</td>\n",
       "      <td>17.000000</td>\n",
       "      <td>5.100000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>50%</th>\n",
       "      <td>2414.000000</td>\n",
       "      <td>51.000000</td>\n",
       "      <td>52.00000</td>\n",
       "      <td>60.000000</td>\n",
       "      <td>36.00000</td>\n",
       "      <td>4.600000</td>\n",
       "      <td>4.000000</td>\n",
       "      <td>0.100000</td>\n",
       "      <td>182.600000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>...</td>\n",
       "      <td>0.180000</td>\n",
       "      <td>0.100000</td>\n",
       "      <td>0.070000</td>\n",
       "      <td>-1.000000</td>\n",
       "      <td>5.000000</td>\n",
       "      <td>88.400000</td>\n",
       "      <td>0.600000</td>\n",
       "      <td>-38.000000</td>\n",
       "      <td>34.000000</td>\n",
       "      <td>5.800000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>75%</th>\n",
       "      <td>2451.000000</td>\n",
       "      <td>51.000000</td>\n",
       "      <td>52.00000</td>\n",
       "      <td>61.000000</td>\n",
       "      <td>37.00000</td>\n",
       "      <td>6.200000</td>\n",
       "      <td>5.600000</td>\n",
       "      <td>19.200000</td>\n",
       "      <td>300.600000</td>\n",
       "      <td>2.200000</td>\n",
       "      <td>...</td>\n",
       "      <td>0.220000</td>\n",
       "      <td>0.120000</td>\n",
       "      <td>0.090000</td>\n",
       "      <td>-1.000000</td>\n",
       "      <td>9.000000</td>\n",
       "      <td>117.800000</td>\n",
       "      <td>1.300000</td>\n",
       "      <td>-17.000000</td>\n",
       "      <td>72.000000</td>\n",
       "      <td>6.500000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>max</th>\n",
       "      <td>2488.000000</td>\n",
       "      <td>71.000000</td>\n",
       "      <td>71.00000</td>\n",
       "      <td>91.000000</td>\n",
       "      <td>52.00000</td>\n",
       "      <td>55.400000</td>\n",
       "      <td>54.500000</td>\n",
       "      <td>89.800000</td>\n",
       "      <td>360.000000</td>\n",
       "      <td>26.400000</td>\n",
       "      <td>...</td>\n",
       "      <td>4559.950000</td>\n",
       "      <td>1210.000000</td>\n",
       "      <td>956.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>300.000000</td>\n",
       "      <td>255.000000</td>\n",
       "      <td>18.400000</td>\n",
       "      <td>15.000000</td>\n",
       "      <td>873.000000</td>\n",
       "      <td>10.900000</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>8 rows × 52 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "products  Bartels Rotation Number  ID IMF Spacecraft  ID SW Plasma Spacecraft  \\\n",
       "count                96385.000000       96385.000000              96354.00000   \n",
       "mean                  2413.760481          51.469160                 52.41442   \n",
       "std                     42.939382           3.027076                  2.95985   \n",
       "min                   2339.000000          51.000000                 51.00000   \n",
       "25%                   2377.000000          51.000000                 52.00000   \n",
       "50%                   2414.000000          51.000000                 52.00000   \n",
       "75%                   2451.000000          51.000000                 52.00000   \n",
       "max                   2488.000000          71.000000                 71.00000   \n",
       "\n",
       "products  points(IMF Average)  points(Plasma Average)           |B|  \\\n",
       "count            96385.000000             96354.00000  96385.000000   \n",
       "mean                58.407595                34.32062      5.216666   \n",
       "std                  7.630976                 5.37908      2.785629   \n",
       "min                  1.000000                 1.00000      0.400000   \n",
       "25%                 58.000000                34.00000      3.400000   \n",
       "50%                 60.000000                36.00000      4.600000   \n",
       "75%                 61.000000                37.00000      6.200000   \n",
       "max                 91.000000                52.00000     55.400000   \n",
       "\n",
       "products  Magnitude of Avg Field Vector  Lat. Angle of Aver. Field Vector  \\\n",
       "count                      96385.000000                      96385.000000   \n",
       "mean                           4.620777                          0.442976   \n",
       "std                            2.659993                         29.518247   \n",
       "min                            0.100000                        -89.200000   \n",
       "25%                            2.900000                        -18.600000   \n",
       "50%                            4.000000                          0.100000   \n",
       "75%                            5.600000                         19.200000   \n",
       "max                           54.500000                         89.800000   \n",
       "\n",
       "products  Long. Angle of Aver. Field Vector   Bx GSE, GSM  ...  \\\n",
       "count                          96385.000000  96385.000000  ...   \n",
       "mean                             200.817234     -0.003756  ...   \n",
       "std                              101.021925      3.079144  ...   \n",
       "min                                0.000000    -40.800000  ...   \n",
       "25%                              121.100000     -2.200000  ...   \n",
       "50%                              182.600000      0.000000  ...   \n",
       "75%                              300.600000      2.200000  ...   \n",
       "max                              360.000000     26.400000  ...   \n",
       "\n",
       "products  Proton Flux > 10MeV  Proton Flux > 30MeV  Proton Flux > 60MeV  \\\n",
       "count            91174.000000         91171.000000         91169.000000   \n",
       "mean                 4.467667             0.895241             0.283256   \n",
       "std                 74.289989            15.688849             5.969648   \n",
       "min                  0.050000             0.040000             0.030000   \n",
       "25%                  0.140000             0.080000             0.060000   \n",
       "50%                  0.180000             0.100000             0.070000   \n",
       "75%                  0.220000             0.120000             0.090000   \n",
       "max               4559.950000          1210.000000           956.000000   \n",
       "\n",
       "products          flag      ap index   f10.7 index   PC(N) index  \\\n",
       "count     96385.000000  96385.000000  96265.000000  96212.000000   \n",
       "mean         -0.945936      8.207802     98.542824      0.876475   \n",
       "std           0.226146     12.072234     29.679255      1.171071   \n",
       "min          -1.000000      0.000000     65.100000     -6.900000   \n",
       "25%          -1.000000      3.000000     73.500000      0.100000   \n",
       "50%          -1.000000      5.000000     88.400000      0.600000   \n",
       "75%          -1.000000      9.000000    117.800000      1.300000   \n",
       "max           0.000000    300.000000    255.000000     18.400000   \n",
       "\n",
       "products  AL index (Kyoto)  AU index (Kyoto)  Magnetosonic Mach No.  \n",
       "count         96385.000000      96385.000000           95501.000000  \n",
       "mean            -93.396431         56.163034               5.769463  \n",
       "std             128.300576         61.312826               1.119411  \n",
       "min           -2452.000000       -225.000000               0.600000  \n",
       "25%            -120.000000         17.000000               5.100000  \n",
       "50%             -38.000000         34.000000               5.800000  \n",
       "75%             -17.000000         72.000000               6.500000  \n",
       "max              15.000000        873.000000              10.900000  \n",
       "\n",
       "[8 rows x 52 columns]"
      ]
     },
     "execution_count": 1,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "from datetime import datetime\n",
    "from aidapy import load_data\n",
    "\n",
    "# Set the start and end date as year, month, day\n",
    "t0 = datetime(2005, 1, 1)\n",
    "t1 = datetime(2015, 12, 31)\n",
    "\n",
    "# Download the data\n",
    "omnixr = load_data(mission='omni', start_time=t0, end_time=t1)\n",
    "\n",
    "# Store data in pandas format\n",
    "pd_data = omnixr['all1'].to_pandas()\n",
    "\n",
    "pd_data.describe()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "ein.tags": "worksheet-0",
    "slideshow": {
     "slide_type": "-"
    }
   },
   "source": [
    "Split the data into different sets\n",
    "--\n",
    "\n",
    "For evaluating the performance of a machine learning approach, the input data has to be split in different sets:\n",
    "\n",
    "* A training set, on which the model is trained\n",
    "* Optionally, a validation set, to tune so-called hyperparameters of the model\n",
    "* A test set, which is only used at the end to evaluate the performance of the model\n",
    "\n",
    "Such a separation is important to prevent [overfitting](https://en.wikipedia.org/wiki/Overfitting). Since there is usually a correlation between consecutive observations in a time series, it is important not to shuffle the data before splitting it in different sets. Otherwise, the test set would not be truly independent from the training set.\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {
    "autoscroll": false,
    "ein.hycell": false,
    "ein.tags": "worksheet-0",
    "slideshow": {
     "slide_type": "-"
    }
   },
   "outputs": [],
   "source": [
    "from sklearn.model_selection import train_test_split\n",
    "\n",
    "# Split into training and test data\n",
    "dtrain, dtest = train_test_split(pd_data, shuffle=False)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Let's have a look at the data\n",
    "\n",
    "Below, the DST index is shown. Note that there are quiet periods, and periods with more magnetic storms, indicated by large negative values."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "application/javascript": [
       "/* Put everything inside the global mpl namespace */\n",
       "window.mpl = {};\n",
       "\n",
       "\n",
       "mpl.get_websocket_type = function() {\n",
       "    if (typeof(WebSocket) !== 'undefined') {\n",
       "        return WebSocket;\n",
       "    } else if (typeof(MozWebSocket) !== 'undefined') {\n",
       "        return MozWebSocket;\n",
       "    } else {\n",
       "        alert('Your browser does not have WebSocket support.' +\n",
       "              'Please try Chrome, Safari or Firefox ≥ 6. ' +\n",
       "              'Firefox 4 and 5 are also supported but you ' +\n",
       "              'have to enable WebSockets in about:config.');\n",
       "    };\n",
       "}\n",
       "\n",
       "mpl.figure = function(figure_id, websocket, ondownload, parent_element) {\n",
       "    this.id = figure_id;\n",
       "\n",
       "    this.ws = websocket;\n",
       "\n",
       "    this.supports_binary = (this.ws.binaryType != undefined);\n",
       "\n",
       "    if (!this.supports_binary) {\n",
       "        var warnings = document.getElementById(\"mpl-warnings\");\n",
       "        if (warnings) {\n",
       "            warnings.style.display = 'block';\n",
       "            warnings.textContent = (\n",
       "                \"This browser does not support binary websocket messages. \" +\n",
       "                    \"Performance may be slow.\");\n",
       "        }\n",
       "    }\n",
       "\n",
       "    this.imageObj = new Image();\n",
       "\n",
       "    this.context = undefined;\n",
       "    this.message = undefined;\n",
       "    this.canvas = undefined;\n",
       "    this.rubberband_canvas = undefined;\n",
       "    this.rubberband_context = undefined;\n",
       "    this.format_dropdown = undefined;\n",
       "\n",
       "    this.image_mode = 'full';\n",
       "\n",
       "    this.root = $('<div/>');\n",
       "    this._root_extra_style(this.root)\n",
       "    this.root.attr('style', 'display: inline-block');\n",
       "\n",
       "    $(parent_element).append(this.root);\n",
       "\n",
       "    this._init_header(this);\n",
       "    this._init_canvas(this);\n",
       "    this._init_toolbar(this);\n",
       "\n",
       "    var fig = this;\n",
       "\n",
       "    this.waiting = false;\n",
       "\n",
       "    this.ws.onopen =  function () {\n",
       "            fig.send_message(\"supports_binary\", {value: fig.supports_binary});\n",
       "            fig.send_message(\"send_image_mode\", {});\n",
       "            if (mpl.ratio != 1) {\n",
       "                fig.send_message(\"set_dpi_ratio\", {'dpi_ratio': mpl.ratio});\n",
       "            }\n",
       "            fig.send_message(\"refresh\", {});\n",
       "        }\n",
       "\n",
       "    this.imageObj.onload = function() {\n",
       "            if (fig.image_mode == 'full') {\n",
       "                // Full images could contain transparency (where diff images\n",
       "                // almost always do), so we need to clear the canvas so that\n",
       "                // there is no ghosting.\n",
       "                fig.context.clearRect(0, 0, fig.canvas.width, fig.canvas.height);\n",
       "            }\n",
       "            fig.context.drawImage(fig.imageObj, 0, 0);\n",
       "        };\n",
       "\n",
       "    this.imageObj.onunload = function() {\n",
       "        fig.ws.close();\n",
       "    }\n",
       "\n",
       "    this.ws.onmessage = this._make_on_message_function(this);\n",
       "\n",
       "    this.ondownload = ondownload;\n",
       "}\n",
       "\n",
       "mpl.figure.prototype._init_header = function() {\n",
       "    var titlebar = $(\n",
       "        '<div class=\"ui-dialog-titlebar ui-widget-header ui-corner-all ' +\n",
       "        'ui-helper-clearfix\"/>');\n",
       "    var titletext = $(\n",
       "        '<div class=\"ui-dialog-title\" style=\"width: 100%; ' +\n",
       "        'text-align: center; padding: 3px;\"/>');\n",
       "    titlebar.append(titletext)\n",
       "    this.root.append(titlebar);\n",
       "    this.header = titletext[0];\n",
       "}\n",
       "\n",
       "\n",
       "\n",
       "mpl.figure.prototype._canvas_extra_style = function(canvas_div) {\n",
       "\n",
       "}\n",
       "\n",
       "\n",
       "mpl.figure.prototype._root_extra_style = function(canvas_div) {\n",
       "\n",
       "}\n",
       "\n",
       "mpl.figure.prototype._init_canvas = function() {\n",
       "    var fig = this;\n",
       "\n",
       "    var canvas_div = $('<div/>');\n",
       "\n",
       "    canvas_div.attr('style', 'position: relative; clear: both; outline: 0');\n",
       "\n",
       "    function canvas_keyboard_event(event) {\n",
       "        return fig.key_event(event, event['data']);\n",
       "    }\n",
       "\n",
       "    canvas_div.keydown('key_press', canvas_keyboard_event);\n",
       "    canvas_div.keyup('key_release', canvas_keyboard_event);\n",
       "    this.canvas_div = canvas_div\n",
       "    this._canvas_extra_style(canvas_div)\n",
       "    this.root.append(canvas_div);\n",
       "\n",
       "    var canvas = $('<canvas/>');\n",
       "    canvas.addClass('mpl-canvas');\n",
       "    canvas.attr('style', \"left: 0; top: 0; z-index: 0; outline: 0\")\n",
       "\n",
       "    this.canvas = canvas[0];\n",
       "    this.context = canvas[0].getContext(\"2d\");\n",
       "\n",
       "    var backingStore = this.context.backingStorePixelRatio ||\n",
       "\tthis.context.webkitBackingStorePixelRatio ||\n",
       "\tthis.context.mozBackingStorePixelRatio ||\n",
       "\tthis.context.msBackingStorePixelRatio ||\n",
       "\tthis.context.oBackingStorePixelRatio ||\n",
       "\tthis.context.backingStorePixelRatio || 1;\n",
       "\n",
       "    mpl.ratio = (window.devicePixelRatio || 1) / backingStore;\n",
       "\n",
       "    var rubberband = $('<canvas/>');\n",
       "    rubberband.attr('style', \"position: absolute; left: 0; top: 0; z-index: 1;\")\n",
       "\n",
       "    var pass_mouse_events = true;\n",
       "\n",
       "    canvas_div.resizable({\n",
       "        start: function(event, ui) {\n",
       "            pass_mouse_events = false;\n",
       "        },\n",
       "        resize: function(event, ui) {\n",
       "            fig.request_resize(ui.size.width, ui.size.height);\n",
       "        },\n",
       "        stop: function(event, ui) {\n",
       "            pass_mouse_events = true;\n",
       "            fig.request_resize(ui.size.width, ui.size.height);\n",
       "        },\n",
       "    });\n",
       "\n",
       "    function mouse_event_fn(event) {\n",
       "        if (pass_mouse_events)\n",
       "            return fig.mouse_event(event, event['data']);\n",
       "    }\n",
       "\n",
       "    rubberband.mousedown('button_press', mouse_event_fn);\n",
       "    rubberband.mouseup('button_release', mouse_event_fn);\n",
       "    // Throttle sequential mouse events to 1 every 20ms.\n",
       "    rubberband.mousemove('motion_notify', mouse_event_fn);\n",
       "\n",
       "    rubberband.mouseenter('figure_enter', mouse_event_fn);\n",
       "    rubberband.mouseleave('figure_leave', mouse_event_fn);\n",
       "\n",
       "    canvas_div.on(\"wheel\", function (event) {\n",
       "        event = event.originalEvent;\n",
       "        event['data'] = 'scroll'\n",
       "        if (event.deltaY < 0) {\n",
       "            event.step = 1;\n",
       "        } else {\n",
       "            event.step = -1;\n",
       "        }\n",
       "        mouse_event_fn(event);\n",
       "    });\n",
       "\n",
       "    canvas_div.append(canvas);\n",
       "    canvas_div.append(rubberband);\n",
       "\n",
       "    this.rubberband = rubberband;\n",
       "    this.rubberband_canvas = rubberband[0];\n",
       "    this.rubberband_context = rubberband[0].getContext(\"2d\");\n",
       "    this.rubberband_context.strokeStyle = \"#000000\";\n",
       "\n",
       "    this._resize_canvas = function(width, height) {\n",
       "        // Keep the size of the canvas, canvas container, and rubber band\n",
       "        // canvas in synch.\n",
       "        canvas_div.css('width', width)\n",
       "        canvas_div.css('height', height)\n",
       "\n",
       "        canvas.attr('width', width * mpl.ratio);\n",
       "        canvas.attr('height', height * mpl.ratio);\n",
       "        canvas.attr('style', 'width: ' + width + 'px; height: ' + height + 'px;');\n",
       "\n",
       "        rubberband.attr('width', width);\n",
       "        rubberband.attr('height', height);\n",
       "    }\n",
       "\n",
       "    // Set the figure to an initial 600x600px, this will subsequently be updated\n",
       "    // upon first draw.\n",
       "    this._resize_canvas(600, 600);\n",
       "\n",
       "    // Disable right mouse context menu.\n",
       "    $(this.rubberband_canvas).bind(\"contextmenu\",function(e){\n",
       "        return false;\n",
       "    });\n",
       "\n",
       "    function set_focus () {\n",
       "        canvas.focus();\n",
       "        canvas_div.focus();\n",
       "    }\n",
       "\n",
       "    window.setTimeout(set_focus, 100);\n",
       "}\n",
       "\n",
       "mpl.figure.prototype._init_toolbar = function() {\n",
       "    var fig = this;\n",
       "\n",
       "    var nav_element = $('<div/>')\n",
       "    nav_element.attr('style', 'width: 100%');\n",
       "    this.root.append(nav_element);\n",
       "\n",
       "    // Define a callback function for later on.\n",
       "    function toolbar_event(event) {\n",
       "        return fig.toolbar_button_onclick(event['data']);\n",
       "    }\n",
       "    function toolbar_mouse_event(event) {\n",
       "        return fig.toolbar_button_onmouseover(event['data']);\n",
       "    }\n",
       "\n",
       "    for(var toolbar_ind in mpl.toolbar_items) {\n",
       "        var name = mpl.toolbar_items[toolbar_ind][0];\n",
       "        var tooltip = mpl.toolbar_items[toolbar_ind][1];\n",
       "        var image = mpl.toolbar_items[toolbar_ind][2];\n",
       "        var method_name = mpl.toolbar_items[toolbar_ind][3];\n",
       "\n",
       "        if (!name) {\n",
       "            // put a spacer in here.\n",
       "            continue;\n",
       "        }\n",
       "        var button = $('<button/>');\n",
       "        button.addClass('ui-button ui-widget ui-state-default ui-corner-all ' +\n",
       "                        'ui-button-icon-only');\n",
       "        button.attr('role', 'button');\n",
       "        button.attr('aria-disabled', 'false');\n",
       "        button.click(method_name, toolbar_event);\n",
       "        button.mouseover(tooltip, toolbar_mouse_event);\n",
       "\n",
       "        var icon_img = $('<span/>');\n",
       "        icon_img.addClass('ui-button-icon-primary ui-icon');\n",
       "        icon_img.addClass(image);\n",
       "        icon_img.addClass('ui-corner-all');\n",
       "\n",
       "        var tooltip_span = $('<span/>');\n",
       "        tooltip_span.addClass('ui-button-text');\n",
       "        tooltip_span.html(tooltip);\n",
       "\n",
       "        button.append(icon_img);\n",
       "        button.append(tooltip_span);\n",
       "\n",
       "        nav_element.append(button);\n",
       "    }\n",
       "\n",
       "    var fmt_picker_span = $('<span/>');\n",
       "\n",
       "    var fmt_picker = $('<select/>');\n",
       "    fmt_picker.addClass('mpl-toolbar-option ui-widget ui-widget-content');\n",
       "    fmt_picker_span.append(fmt_picker);\n",
       "    nav_element.append(fmt_picker_span);\n",
       "    this.format_dropdown = fmt_picker[0];\n",
       "\n",
       "    for (var ind in mpl.extensions) {\n",
       "        var fmt = mpl.extensions[ind];\n",
       "        var option = $(\n",
       "            '<option/>', {selected: fmt === mpl.default_extension}).html(fmt);\n",
       "        fmt_picker.append(option)\n",
       "    }\n",
       "\n",
       "    // Add hover states to the ui-buttons\n",
       "    $( \".ui-button\" ).hover(\n",
       "        function() { $(this).addClass(\"ui-state-hover\");},\n",
       "        function() { $(this).removeClass(\"ui-state-hover\");}\n",
       "    );\n",
       "\n",
       "    var status_bar = $('<span class=\"mpl-message\"/>');\n",
       "    nav_element.append(status_bar);\n",
       "    this.message = status_bar[0];\n",
       "}\n",
       "\n",
       "mpl.figure.prototype.request_resize = function(x_pixels, y_pixels) {\n",
       "    // Request matplotlib to resize the figure. Matplotlib will then trigger a resize in the client,\n",
       "    // which will in turn request a refresh of the image.\n",
       "    this.send_message('resize', {'width': x_pixels, 'height': y_pixels});\n",
       "}\n",
       "\n",
       "mpl.figure.prototype.send_message = function(type, properties) {\n",
       "    properties['type'] = type;\n",
       "    properties['figure_id'] = this.id;\n",
       "    this.ws.send(JSON.stringify(properties));\n",
       "}\n",
       "\n",
       "mpl.figure.prototype.send_draw_message = function() {\n",
       "    if (!this.waiting) {\n",
       "        this.waiting = true;\n",
       "        this.ws.send(JSON.stringify({type: \"draw\", figure_id: this.id}));\n",
       "    }\n",
       "}\n",
       "\n",
       "\n",
       "mpl.figure.prototype.handle_save = function(fig, msg) {\n",
       "    var format_dropdown = fig.format_dropdown;\n",
       "    var format = format_dropdown.options[format_dropdown.selectedIndex].value;\n",
       "    fig.ondownload(fig, format);\n",
       "}\n",
       "\n",
       "\n",
       "mpl.figure.prototype.handle_resize = function(fig, msg) {\n",
       "    var size = msg['size'];\n",
       "    if (size[0] != fig.canvas.width || size[1] != fig.canvas.height) {\n",
       "        fig._resize_canvas(size[0], size[1]);\n",
       "        fig.send_message(\"refresh\", {});\n",
       "    };\n",
       "}\n",
       "\n",
       "mpl.figure.prototype.handle_rubberband = function(fig, msg) {\n",
       "    var x0 = msg['x0'] / mpl.ratio;\n",
       "    var y0 = (fig.canvas.height - msg['y0']) / mpl.ratio;\n",
       "    var x1 = msg['x1'] / mpl.ratio;\n",
       "    var y1 = (fig.canvas.height - msg['y1']) / mpl.ratio;\n",
       "    x0 = Math.floor(x0) + 0.5;\n",
       "    y0 = Math.floor(y0) + 0.5;\n",
       "    x1 = Math.floor(x1) + 0.5;\n",
       "    y1 = Math.floor(y1) + 0.5;\n",
       "    var min_x = Math.min(x0, x1);\n",
       "    var min_y = Math.min(y0, y1);\n",
       "    var width = Math.abs(x1 - x0);\n",
       "    var height = Math.abs(y1 - y0);\n",
       "\n",
       "    fig.rubberband_context.clearRect(\n",
       "        0, 0, fig.canvas.width, fig.canvas.height);\n",
       "\n",
       "    fig.rubberband_context.strokeRect(min_x, min_y, width, height);\n",
       "}\n",
       "\n",
       "mpl.figure.prototype.handle_figure_label = function(fig, msg) {\n",
       "    // Updates the figure title.\n",
       "    fig.header.textContent = msg['label'];\n",
       "}\n",
       "\n",
       "mpl.figure.prototype.handle_cursor = function(fig, msg) {\n",
       "    var cursor = msg['cursor'];\n",
       "    switch(cursor)\n",
       "    {\n",
       "    case 0:\n",
       "        cursor = 'pointer';\n",
       "        break;\n",
       "    case 1:\n",
       "        cursor = 'default';\n",
       "        break;\n",
       "    case 2:\n",
       "        cursor = 'crosshair';\n",
       "        break;\n",
       "    case 3:\n",
       "        cursor = 'move';\n",
       "        break;\n",
       "    }\n",
       "    fig.rubberband_canvas.style.cursor = cursor;\n",
       "}\n",
       "\n",
       "mpl.figure.prototype.handle_message = function(fig, msg) {\n",
       "    fig.message.textContent = msg['message'];\n",
       "}\n",
       "\n",
       "mpl.figure.prototype.handle_draw = function(fig, msg) {\n",
       "    // Request the server to send over a new figure.\n",
       "    fig.send_draw_message();\n",
       "}\n",
       "\n",
       "mpl.figure.prototype.handle_image_mode = function(fig, msg) {\n",
       "    fig.image_mode = msg['mode'];\n",
       "}\n",
       "\n",
       "mpl.figure.prototype.updated_canvas_event = function() {\n",
       "    // Called whenever the canvas gets updated.\n",
       "    this.send_message(\"ack\", {});\n",
       "}\n",
       "\n",
       "// A function to construct a web socket function for onmessage handling.\n",
       "// Called in the figure constructor.\n",
       "mpl.figure.prototype._make_on_message_function = function(fig) {\n",
       "    return function socket_on_message(evt) {\n",
       "        if (evt.data instanceof Blob) {\n",
       "            /* FIXME: We get \"Resource interpreted as Image but\n",
       "             * transferred with MIME type text/plain:\" errors on\n",
       "             * Chrome.  But how to set the MIME type?  It doesn't seem\n",
       "             * to be part of the websocket stream */\n",
       "            evt.data.type = \"image/png\";\n",
       "\n",
       "            /* Free the memory for the previous frames */\n",
       "            if (fig.imageObj.src) {\n",
       "                (window.URL || window.webkitURL).revokeObjectURL(\n",
       "                    fig.imageObj.src);\n",
       "            }\n",
       "\n",
       "            fig.imageObj.src = (window.URL || window.webkitURL).createObjectURL(\n",
       "                evt.data);\n",
       "            fig.updated_canvas_event();\n",
       "            fig.waiting = false;\n",
       "            return;\n",
       "        }\n",
       "        else if (typeof evt.data === 'string' && evt.data.slice(0, 21) == \"data:image/png;base64\") {\n",
       "            fig.imageObj.src = evt.data;\n",
       "            fig.updated_canvas_event();\n",
       "            fig.waiting = false;\n",
       "            return;\n",
       "        }\n",
       "\n",
       "        var msg = JSON.parse(evt.data);\n",
       "        var msg_type = msg['type'];\n",
       "\n",
       "        // Call the  \"handle_{type}\" callback, which takes\n",
       "        // the figure and JSON message as its only arguments.\n",
       "        try {\n",
       "            var callback = fig[\"handle_\" + msg_type];\n",
       "        } catch (e) {\n",
       "            console.log(\"No handler for the '\" + msg_type + \"' message type: \", msg);\n",
       "            return;\n",
       "        }\n",
       "\n",
       "        if (callback) {\n",
       "            try {\n",
       "                // console.log(\"Handling '\" + msg_type + \"' message: \", msg);\n",
       "                callback(fig, msg);\n",
       "            } catch (e) {\n",
       "                console.log(\"Exception inside the 'handler_\" + msg_type + \"' callback:\", e, e.stack, msg);\n",
       "            }\n",
       "        }\n",
       "    };\n",
       "}\n",
       "\n",
       "// from http://stackoverflow.com/questions/1114465/getting-mouse-location-in-canvas\n",
       "mpl.findpos = function(e) {\n",
       "    //this section is from http://www.quirksmode.org/js/events_properties.html\n",
       "    var targ;\n",
       "    if (!e)\n",
       "        e = window.event;\n",
       "    if (e.target)\n",
       "        targ = e.target;\n",
       "    else if (e.srcElement)\n",
       "        targ = e.srcElement;\n",
       "    if (targ.nodeType == 3) // defeat Safari bug\n",
       "        targ = targ.parentNode;\n",
       "\n",
       "    // jQuery normalizes the pageX and pageY\n",
       "    // pageX,Y are the mouse positions relative to the document\n",
       "    // offset() returns the position of the element relative to the document\n",
       "    var x = e.pageX - $(targ).offset().left;\n",
       "    var y = e.pageY - $(targ).offset().top;\n",
       "\n",
       "    return {\"x\": x, \"y\": y};\n",
       "};\n",
       "\n",
       "/*\n",
       " * return a copy of an object with only non-object keys\n",
       " * we need this to avoid circular references\n",
       " * http://stackoverflow.com/a/24161582/3208463\n",
       " */\n",
       "function simpleKeys (original) {\n",
       "  return Object.keys(original).reduce(function (obj, key) {\n",
       "    if (typeof original[key] !== 'object')\n",
       "        obj[key] = original[key]\n",
       "    return obj;\n",
       "  }, {});\n",
       "}\n",
       "\n",
       "mpl.figure.prototype.mouse_event = function(event, name) {\n",
       "    var canvas_pos = mpl.findpos(event)\n",
       "\n",
       "    if (name === 'button_press')\n",
       "    {\n",
       "        this.canvas.focus();\n",
       "        this.canvas_div.focus();\n",
       "    }\n",
       "\n",
       "    var x = canvas_pos.x * mpl.ratio;\n",
       "    var y = canvas_pos.y * mpl.ratio;\n",
       "\n",
       "    this.send_message(name, {x: x, y: y, button: event.button,\n",
       "                             step: event.step,\n",
       "                             guiEvent: simpleKeys(event)});\n",
       "\n",
       "    /* This prevents the web browser from automatically changing to\n",
       "     * the text insertion cursor when the button is pressed.  We want\n",
       "     * to control all of the cursor setting manually through the\n",
       "     * 'cursor' event from matplotlib */\n",
       "    event.preventDefault();\n",
       "    return false;\n",
       "}\n",
       "\n",
       "mpl.figure.prototype._key_event_extra = function(event, name) {\n",
       "    // Handle any extra behaviour associated with a key event\n",
       "}\n",
       "\n",
       "mpl.figure.prototype.key_event = function(event, name) {\n",
       "\n",
       "    // Prevent repeat events\n",
       "    if (name == 'key_press')\n",
       "    {\n",
       "        if (event.which === this._key)\n",
       "            return;\n",
       "        else\n",
       "            this._key = event.which;\n",
       "    }\n",
       "    if (name == 'key_release')\n",
       "        this._key = null;\n",
       "\n",
       "    var value = '';\n",
       "    if (event.ctrlKey && event.which != 17)\n",
       "        value += \"ctrl+\";\n",
       "    if (event.altKey && event.which != 18)\n",
       "        value += \"alt+\";\n",
       "    if (event.shiftKey && event.which != 16)\n",
       "        value += \"shift+\";\n",
       "\n",
       "    value += 'k';\n",
       "    value += event.which.toString();\n",
       "\n",
       "    this._key_event_extra(event, name);\n",
       "\n",
       "    this.send_message(name, {key: value,\n",
       "                             guiEvent: simpleKeys(event)});\n",
       "    return false;\n",
       "}\n",
       "\n",
       "mpl.figure.prototype.toolbar_button_onclick = function(name) {\n",
       "    if (name == 'download') {\n",
       "        this.handle_save(this, null);\n",
       "    } else {\n",
       "        this.send_message(\"toolbar_button\", {name: name});\n",
       "    }\n",
       "};\n",
       "\n",
       "mpl.figure.prototype.toolbar_button_onmouseover = function(tooltip) {\n",
       "    this.message.textContent = tooltip;\n",
       "};\n",
       "mpl.toolbar_items = [[\"Home\", \"Reset original view\", \"fa fa-home icon-home\", \"home\"], [\"Back\", \"Back to previous view\", \"fa fa-arrow-left icon-arrow-left\", \"back\"], [\"Forward\", \"Forward to next view\", \"fa fa-arrow-right icon-arrow-right\", \"forward\"], [\"\", \"\", \"\", \"\"], [\"Pan\", \"Pan axes with left mouse, zoom with right\", \"fa fa-arrows icon-move\", \"pan\"], [\"Zoom\", \"Zoom to rectangle\", \"fa fa-square-o icon-check-empty\", \"zoom\"], [\"\", \"\", \"\", \"\"], [\"Download\", \"Download plot\", \"fa fa-floppy-o icon-save\", \"download\"]];\n",
       "\n",
       "mpl.extensions = [\"eps\", \"jpeg\", \"pdf\", \"png\", \"ps\", \"raw\", \"svg\", \"tif\"];\n",
       "\n",
       "mpl.default_extension = \"png\";var comm_websocket_adapter = function(comm) {\n",
       "    // Create a \"websocket\"-like object which calls the given IPython comm\n",
       "    // object with the appropriate methods. Currently this is a non binary\n",
       "    // socket, so there is still some room for performance tuning.\n",
       "    var ws = {};\n",
       "\n",
       "    ws.close = function() {\n",
       "        comm.close()\n",
       "    };\n",
       "    ws.send = function(m) {\n",
       "        //console.log('sending', m);\n",
       "        comm.send(m);\n",
       "    };\n",
       "    // Register the callback with on_msg.\n",
       "    comm.on_msg(function(msg) {\n",
       "        //console.log('receiving', msg['content']['data'], msg);\n",
       "        // Pass the mpl event to the overridden (by mpl) onmessage function.\n",
       "        ws.onmessage(msg['content']['data'])\n",
       "    });\n",
       "    return ws;\n",
       "}\n",
       "\n",
       "mpl.mpl_figure_comm = function(comm, msg) {\n",
       "    // This is the function which gets called when the mpl process\n",
       "    // starts-up an IPython Comm through the \"matplotlib\" channel.\n",
       "\n",
       "    var id = msg.content.data.id;\n",
       "    // Get hold of the div created by the display call when the Comm\n",
       "    // socket was opened in Python.\n",
       "    var element = $(\"#\" + id);\n",
       "    var ws_proxy = comm_websocket_adapter(comm)\n",
       "\n",
       "    function ondownload(figure, format) {\n",
       "        window.open(figure.imageObj.src);\n",
       "    }\n",
       "\n",
       "    var fig = new mpl.figure(id, ws_proxy,\n",
       "                           ondownload,\n",
       "                           element.get(0));\n",
       "\n",
       "    // Call onopen now - mpl needs it, as it is assuming we've passed it a real\n",
       "    // web socket which is closed, not our websocket->open comm proxy.\n",
       "    ws_proxy.onopen();\n",
       "\n",
       "    fig.parent_element = element.get(0);\n",
       "    fig.cell_info = mpl.find_output_cell(\"<div id='\" + id + \"'></div>\");\n",
       "    if (!fig.cell_info) {\n",
       "        console.error(\"Failed to find cell for figure\", id, fig);\n",
       "        return;\n",
       "    }\n",
       "\n",
       "    var output_index = fig.cell_info[2]\n",
       "    var cell = fig.cell_info[0];\n",
       "\n",
       "};\n",
       "\n",
       "mpl.figure.prototype.handle_close = function(fig, msg) {\n",
       "    var width = fig.canvas.width/mpl.ratio\n",
       "    fig.root.unbind('remove')\n",
       "\n",
       "    // Update the output cell to use the data from the current canvas.\n",
       "    fig.push_to_output();\n",
       "    var dataURL = fig.canvas.toDataURL();\n",
       "    // Re-enable the keyboard manager in IPython - without this line, in FF,\n",
       "    // the notebook keyboard shortcuts fail.\n",
       "    IPython.keyboard_manager.enable()\n",
       "    $(fig.parent_element).html('<img src=\"' + dataURL + '\" width=\"' + width + '\">');\n",
       "    fig.close_ws(fig, msg);\n",
       "}\n",
       "\n",
       "mpl.figure.prototype.close_ws = function(fig, msg){\n",
       "    fig.send_message('closing', msg);\n",
       "    // fig.ws.close()\n",
       "}\n",
       "\n",
       "mpl.figure.prototype.push_to_output = function(remove_interactive) {\n",
       "    // Turn the data on the canvas into data in the output cell.\n",
       "    var width = this.canvas.width/mpl.ratio\n",
       "    var dataURL = this.canvas.toDataURL();\n",
       "    this.cell_info[1]['text/html'] = '<img src=\"' + dataURL + '\" width=\"' + width + '\">';\n",
       "}\n",
       "\n",
       "mpl.figure.prototype.updated_canvas_event = function() {\n",
       "    // Tell IPython that the notebook contents must change.\n",
       "    IPython.notebook.set_dirty(true);\n",
       "    this.send_message(\"ack\", {});\n",
       "    var fig = this;\n",
       "    // Wait a second, then push the new image to the DOM so\n",
       "    // that it is saved nicely (might be nice to debounce this).\n",
       "    setTimeout(function () { fig.push_to_output() }, 1000);\n",
       "}\n",
       "\n",
       "mpl.figure.prototype._init_toolbar = function() {\n",
       "    var fig = this;\n",
       "\n",
       "    var nav_element = $('<div/>')\n",
       "    nav_element.attr('style', 'width: 100%');\n",
       "    this.root.append(nav_element);\n",
       "\n",
       "    // Define a callback function for later on.\n",
       "    function toolbar_event(event) {\n",
       "        return fig.toolbar_button_onclick(event['data']);\n",
       "    }\n",
       "    function toolbar_mouse_event(event) {\n",
       "        return fig.toolbar_button_onmouseover(event['data']);\n",
       "    }\n",
       "\n",
       "    for(var toolbar_ind in mpl.toolbar_items){\n",
       "        var name = mpl.toolbar_items[toolbar_ind][0];\n",
       "        var tooltip = mpl.toolbar_items[toolbar_ind][1];\n",
       "        var image = mpl.toolbar_items[toolbar_ind][2];\n",
       "        var method_name = mpl.toolbar_items[toolbar_ind][3];\n",
       "\n",
       "        if (!name) { continue; };\n",
       "\n",
       "        var button = $('<button class=\"btn btn-default\" href=\"#\" title=\"' + name + '\"><i class=\"fa ' + image + ' fa-lg\"></i></button>');\n",
       "        button.click(method_name, toolbar_event);\n",
       "        button.mouseover(tooltip, toolbar_mouse_event);\n",
       "        nav_element.append(button);\n",
       "    }\n",
       "\n",
       "    // Add the status bar.\n",
       "    var status_bar = $('<span class=\"mpl-message\" style=\"text-align:right; float: right;\"/>');\n",
       "    nav_element.append(status_bar);\n",
       "    this.message = status_bar[0];\n",
       "\n",
       "    // Add the close button to the window.\n",
       "    var buttongrp = $('<div class=\"btn-group inline pull-right\"></div>');\n",
       "    var button = $('<button class=\"btn btn-mini btn-primary\" href=\"#\" title=\"Stop Interaction\"><i class=\"fa fa-power-off icon-remove icon-large\"></i></button>');\n",
       "    button.click(function (evt) { fig.handle_close(fig, {}); } );\n",
       "    button.mouseover('Stop Interaction', toolbar_mouse_event);\n",
       "    buttongrp.append(button);\n",
       "    var titlebar = this.root.find($('.ui-dialog-titlebar'));\n",
       "    titlebar.prepend(buttongrp);\n",
       "}\n",
       "\n",
       "mpl.figure.prototype._root_extra_style = function(el){\n",
       "    var fig = this\n",
       "    el.on(\"remove\", function(){\n",
       "\tfig.close_ws(fig, {});\n",
       "    });\n",
       "}\n",
       "\n",
       "mpl.figure.prototype._canvas_extra_style = function(el){\n",
       "    // this is important to make the div 'focusable\n",
       "    el.attr('tabindex', 0)\n",
       "    // reach out to IPython and tell the keyboard manager to turn it's self\n",
       "    // off when our div gets focus\n",
       "\n",
       "    // location in version 3\n",
       "    if (IPython.notebook.keyboard_manager) {\n",
       "        IPython.notebook.keyboard_manager.register_events(el);\n",
       "    }\n",
       "    else {\n",
       "        // location in version 2\n",
       "        IPython.keyboard_manager.register_events(el);\n",
       "    }\n",
       "\n",
       "}\n",
       "\n",
       "mpl.figure.prototype._key_event_extra = function(event, name) {\n",
       "    var manager = IPython.notebook.keyboard_manager;\n",
       "    if (!manager)\n",
       "        manager = IPython.keyboard_manager;\n",
       "\n",
       "    // Check for shift+enter\n",
       "    if (event.shiftKey && event.which == 13) {\n",
       "        this.canvas_div.blur();\n",
       "        event.shiftKey = false;\n",
       "        // Send a \"J\" for go to next cell\n",
       "        event.which = 74;\n",
       "        event.keyCode = 74;\n",
       "        manager.command_mode();\n",
       "        manager.handle_keydown(event);\n",
       "    }\n",
       "}\n",
       "\n",
       "mpl.figure.prototype.handle_save = function(fig, msg) {\n",
       "    fig.ondownload(fig, null);\n",
       "}\n",
       "\n",
       "\n",
       "mpl.find_output_cell = function(html_output) {\n",
       "    // Return the cell and output element which can be found *uniquely* in the notebook.\n",
       "    // Note - this is a bit hacky, but it is done because the \"notebook_saving.Notebook\"\n",
       "    // IPython event is triggered only after the cells have been serialised, which for\n",
       "    // our purposes (turning an active figure into a static one), is too late.\n",
       "    var cells = IPython.notebook.get_cells();\n",
       "    var ncells = cells.length;\n",
       "    for (var i=0; i<ncells; i++) {\n",
       "        var cell = cells[i];\n",
       "        if (cell.cell_type === 'code'){\n",
       "            for (var j=0; j<cell.output_area.outputs.length; j++) {\n",
       "                var data = cell.output_area.outputs[j];\n",
       "                if (data.data) {\n",
       "                    // IPython >= 3 moved mimebundle to data attribute of output\n",
       "                    data = data.data;\n",
       "                }\n",
       "                if (data['text/html'] == html_output) {\n",
       "                    return [cell, data, j];\n",
       "                }\n",
       "            }\n",
       "        }\n",
       "    }\n",
       "}\n",
       "\n",
       "// Register the function which deals with the matplotlib target/channel.\n",
       "// The kernel may be null if the page has been refreshed.\n",
       "if (IPython.notebook.kernel != null) {\n",
       "    IPython.notebook.kernel.comm_manager.register_target('matplotlib', mpl.mpl_figure_comm);\n",
       "}\n"
      ],
      "text/plain": [
       "<IPython.core.display.Javascript object>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "text/html": [
       "<img src=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAoAAAAHgCAYAAAA10dzkAAAgAElEQVR4XuydB5jUVNfHD713KUqVXqV3QUBEFBF7L/jaO4iAiCAdBRErTVTsgmKnKSqIFEGRXhSR3gRp0kHf88/Mnb2TTTLJZGZ3duec7/F5P3ZSbv65M/nl3FOy/MdGYqKAKCAKiAKigCggCogCSaNAFgHApLnXcqGigCggCogCooAoIAoYCggAykQQBUQBUUAUEAVEAVEgyRQQAEyyGy6XKwqIAqKAKCAKiAKigACgzAFRQBQQBUQBUUAUEAWSTAEBwCS74XK5ooAoIAqIAqKAKCAKCADKHBAFRAFRQBQQBUQBUSDJFBAATLIbLpcrCogCooAoIAqIAqKAAKDMAVFAFBAFRAFRQBQQBZJMAQHAJLvhcrmigCggCogCooAoIAoIAMocEAVEAVFAFBAFRAFRIMkUEABMshsulysKiAKigCggCogCooAAoMwBUUAUEAVEAVFAFBAFkkwBAcAku+FyuaKAKCAKiAKigCggCggAyhwQBUQBUUAUEAVEAVEgyRQQAEyyGy6XKwqIAqKAKCAKiAKigACgzAFRQBQQBUQBUUAUEAWSTAEBwCS74XK5ooAoIAqIAqKAKCAKCADKHBAFRAFRQBQQBUQBUSDJFBAATLIbLpcrCogCooAoIAqIAqKAAKDMAVFAFBAFRAFRQBQQBZJMAQHAJLvhcrmigCggCogCooAoIAoIAMocEAVEAVFAFBAFRAFRIMkUEABMshsulysKiAKigCggCogCooAAoMwBUUAUEAVEAVFAFBAFkkwBAcAku+FyuaKAKCAKiAKigCggCggAyhwQBUQBUUAUEAVEAVEgyRQQAEyyGy6XKwqIAqKAKCAKiAKigACgzAFRQBQQBUQBUUAUEAWSTAEBwCS74XK5ooAoIAqIAqKAKCAKCADKHBAFRAFRQBQQBUQBUSDJFBAATLIbLpcrCogCooAoIAqIAqKAAKDMAVFAFBAFRAFRQBQQBZJMAQHAJLvhcrmigCggCogCooAoIAoIAMocEAVEAVFAFBAFRAFRIMkUEABMshsulysKiAKigCggCogCooAAoMwBUUAUEAVEAVFAFBAFkkwBAcAku+Fyuf4VmDRpEt1xxx2hA+XKlYsKFy5MNWrUoA4dOtCdd95JJUqUSHWiWbNm0ahRo2jVqlW0b98+KlasGFWtWpU6duxITzzxBA0YMIAGDhwYcYAXXHABzZkzx3I7NbY///yTKlSoEPFYbjbAudq2bUvff/89tWnTxs0uMd3m7bffph49etDGjRupQIECxrGHDRtGNWvWpCuuuCKm58LBNm3aROeeey69+eab1LVrV8/Hh+7QCfciLeyqq66iM2fO0Oeff07Tp0+nxYsXG3MpnhYL/f3ovGbNGpoyZYpxf6Kd56+//jr179+ffvvtN8qXL1885ZJjiwIJqYAAYELeFhlUIiugIAuAUL16dTp16hTt2bOHfvzxRwMasmXLRpMnT6b27duHLmPcuHF0//3309VXX0033XQTFS1alLZu3UoLFiygJUuW0M8//0zbtm0z/lO2c+dOwsP94YcfNvZRVrBgQQN+rOyvv/6iP/74g+rXr08A01hYegLg0aNHDUju1q0bPf7446HLyZ8/P11zzTVxgawTJ07Qr7/+SpUqVaLixYt7lhD74h5h/3jbkSNHjDFift1222300EMP0auvvkr//fdfXE8dC/39AODHH39M1157ra+XktOnTxvfoxtvvNHVi1dcBZWDiwLpoIAAYDqILqfM2AooAAS4NWrUKOxitmzZQueffz4dOHCAfv/9dypZsqTxefny5Q1Pxdy5c1Nd/L///ktZs2ZN9Xf1gBw5cmQY/KS1eukJgGPHjqXHHnuMAMPwsirzAiDHjh2j3LlzU5YsWdJaurif76OPPqKbb76Zdu/eTUWKFBEA9Kg4PPKDBw+mHTt2UN68eT3uLZuLAhlbAQHAjH3/ZPTpoIATAGI4eChfd911hlcBS0wwAMtll11GH374oesRRwOAVkvAWI7cu3ev4Z0ETP3yyy9UqlQpuueee6hXr15h8Llu3TrD2/bDDz8YD0R42Tp16kSXX355Km/L7Nmzafjw4YYHE94UeB0HDRpEF154oXGNx48fp+bNm9Phw4eNcxYqVMj4+65du6hevXqG9/Tbb781PKZ2dt555xnbYblPmRXIqWVxdf1YbofWX375pXHtgEB4V4cOHWp4ardv324AU4MGDYzl5Dp16oSOb+WZUsvzWL4fMmSIsdQKqIQ2o0ePDl0bDmJeAlYA/f777xvL/7gP//zzDzVp0sTw1lWrVi10bnjuoOn48eMNqKtdu7bxb4wbZl76v+GGG4yXjZkzZxrLoW+99VYq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f//9QW8RcwCDIsIBIAACESYAAYxwA+DyIAAC1hLgBR4cyZs3b56cz7djxw6qV69eslXAZiKAfIe8KnjDhg00fvx4qlChAp05c4bWrl1LZcuWlauIuezatUvmHRw4cKAcPp4wYYL8PeclRAEBEAABJxGAADqpNXAvIAACygQ4Wsfz97Zv305Xr14lf2lgzArgjRs3aPjw4XJl8LFjxyhnzpxUvXp1GjJkiJRALrxo5NChQ8me4b///lN+LpwABEAABKwkAAG0kibOBQIgAAIgAAIgAAIuIAABdEEj4RZBAARAAARAAARAwEoCEEAraeJcIAACIAACIAACIOACAhBAFzQSbhEEQAAEQAAEQAAErCQAAbSSJs4FAiAAAiAAAiAAAi4gAAF0QSPhFkEABEAABEAABEDASgIQQCtp4lwgAAIgAAIgAAIg4AICEEAXNBJuEQRAAARAAARAAASsJAABtJImzgUCIAACIAACIAACLiAAAXRBI+EWQQAEQAAEQAAEQMBKAhBAK2niXCAAAiAAAiAAAiDgAgIQQBc0Em4RBEAABEAABEAABKwkAAG0kibOBQIgAAIgAAIgAAIuIAABdEEj4RZBAARAAARAAARAwEoCEEAraeJcIAACIAACIAACIOACAhBAFzQSbhEEQAAEQAAEQAAErCQAAbSSJs4FAiAAAiAAAiAAAi4gAAF0QSPhFkEABEAABEAABEDASgIQQCtp4lwgAAIgAAIgAAIg4AICEEAXNBJuEQRAAARAAARAAASsJAABtJImzgUCIAACIAACIAACLiAAAXRBI+EWQQAEQAAEQAAEQMBKAhBAK2niXCAAAiAAAiAAAiDgAgIQQBc0Em4RBEAABEAABEAABKwkAAG0kibOBQIgAAIgAAIgAAIuIAABdEEj4RZBAARAAARAAARAwEoCEEAraeJcIAACIAACIAACIOACAhBAFzQSbhEEQAAEQAAEQAAErCQAAbSSJs4FAiAAAiAAAiAAAi4gAAF0QSPhFkEABEAABEAABEDASgIQQCtp4lwgAAIgAAIgAAIg4AICEEAXNBJuEQRAAARAAARAAASsJAABtJImzgUCIAACIAACIAACLiAAAXRBI+EWQQAEQAAEQAAEQMBKAhBAK2niXCAAAiAAAiAAAiDgAgIQQBc0Em4RBEAABEAABEAABKwkAAG0kibOBQIgAAIgAAIgAAIuIAABdEEj4RZBAARAAARAAARAwEoCEEAraeJcIAACIAACIAACIOACAhBAFzQSbhEEQAAEQAAEQAAErCTw/zoUxfDDZyI+AAAAAElFTkSuQmCC\" width=\"640\">"
      ],
      "text/plain": [
       "<IPython.core.display.HTML object>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "import matplotlib.pyplot as plt\n",
    "from pandas.plotting import register_matplotlib_converters\n",
    "%matplotlib notebook\n",
    "register_matplotlib_converters()\n",
    "\n",
    "plt.figure()\n",
    "plt.title(\"DST index (training/test data)\")\n",
    "dtrain['DST Index'].plot(label='train')\n",
    "dtest['DST Index'].plot(label='test')\n",
    "plt.gcf().autofmt_xdate()\n",
    "plt.legend();"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Selecting features\n",
    "\n",
    "The features are here selected by hand (and they are not necessarily the best ones)."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {},
   "outputs": [],
   "source": [
    "features = ['|B|', \n",
    "            'Magnitude of Avg Field Vector',\n",
    "            'Proton Density',\n",
    "            'Proton Temperature',\n",
    "            'Alfven Mach Number',\n",
    "            'Bz GSM',\n",
    "            'Na/Np',\n",
    "            'Plasma Flow Speed',\n",
    "            'Plasma Beta',\n",
    "            'Electric Field',\n",
    "            'DST Index']\n",
    "targets = ['DST Index']"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Preprocessing data\n",
    "\n",
    "The training and test data are preprocessed so that we can make predictions for the targets based on a history of the features. If the original features and targets are $X_i$ and $y_i$, then we define new features $X_i' = [X_i, X_{i-1}, \\dots, X_{i-n-1}]$, where $n$ is the history size. We use these features to make predictions at some future time, so that the new targets are $y_i' = y_{i+k}$, where $k$ is the forecast time.\n",
    "\n",
    "Another question is what to do with missing values. This is a common issue in working with space craft data -- in particular if data from multiple instruments is combined. We have opted for a simple approach: remove all samples for which some data is missing, either in the features or the targets."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {},
   "outputs": [],
   "source": [
    "from aidapy.ml import preprocess\n",
    "\n",
    "histsize = 8                    # Number of past hours\n",
    "forecast_time = 1               # Hours into the future\n",
    "\n",
    "# Use the AIDApy preprocessing method for time series\n",
    "X_train, y_train, mask_train = preprocess.time_series(\n",
    "    dtrain[features].values, dtrain[targets].values, histsize, forecast_time)\n",
    "X_test, y_test, mask_test = preprocess.time_series(\n",
    "    dtest[features].values, dtest[targets].values, histsize, forecast_time)\n",
    "\n",
    "t_train = dtrain.index[mask_train]\n",
    "t_test = dtest.index[mask_test]"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "ein.tags": "worksheet-0",
    "slideshow": {
     "slide_type": "-"
    }
   },
   "source": [
    "## Regression models\n",
    "\n",
    "For the first use case, the following regression models are used:\n",
    "* A fully-connected neural network implemented in PyTorch. Users can customize the number of layers, the number of neurons per layer, and the activation functions of the layers.\n",
    "* A linear regression model imported from scikit-learn"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {
    "autoscroll": false,
    "ein.hycell": false,
    "ein.tags": "worksheet-0",
    "slideshow": {
     "slide_type": "-"
    }
   },
   "outputs": [],
   "source": [
    "from sklearn.pipeline import Pipeline\n",
    "from sklearn.preprocessing import StandardScaler\n",
    "from sklearn.linear_model import LinearRegression\n",
    "from aidapy.ml import mlp\n",
    "from skorch import NeuralNetRegressor\n",
    "import torch\n",
    "\n",
    "models = []\n",
    "\n",
    "models.append({\n",
    "    'name': 'Linear Regression',\n",
    "    'pipe': Pipeline(steps=[('preprocess', StandardScaler()),\n",
    "                            ('model', LinearRegression())])\n",
    "})\n",
    "\n",
    "# RegressorMlp is a simple, fully-connected neural network, \n",
    "# for which the layer sizes are defined below. The default\n",
    "# activation function is ReLU.\n",
    "mlp_model = NeuralNetRegressor(\n",
    "    mlp.RegressorMlp,\n",
    "    max_epochs=25,\n",
    "    lr=0.001,\n",
    "    batch_size=128,\n",
    "    optimizer=torch.optim.Adam,\n",
    "    module__layer_sizes=[X_train.shape[1], 64, 64, 64, 1]\n",
    ")\n",
    "\n",
    "models.append({\n",
    "    'name': 'Multilayer perceptron',\n",
    "    'pipe': Pipeline(steps=[('preprocess', StandardScaler()),\n",
    "                            ('model', mlp_model)])\n",
    "})"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {
    "autoscroll": false,
    "ein.hycell": false,
    "ein.tags": "worksheet-0",
    "slideshow": {
     "slide_type": "-"
    }
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "  epoch    train_loss    valid_loss     dur\n",
      "-------  ------------  ------------  ------\n",
      "      1       \u001b[36m60.7240\u001b[0m       \u001b[32m32.4020\u001b[0m  2.9466\n",
      "      2       \u001b[36m17.2051\u001b[0m       \u001b[32m27.2859\u001b[0m  1.8680\n",
      "      3       \u001b[36m13.9108\u001b[0m       27.3186  4.9162\n",
      "      4       \u001b[36m11.7659\u001b[0m       \u001b[32m25.7481\u001b[0m  3.9948\n",
      "      5       \u001b[36m11.0440\u001b[0m       29.0479  2.6648\n",
      "      6       \u001b[36m10.3904\u001b[0m       26.3400  2.7699\n",
      "      7       \u001b[36m10.1087\u001b[0m       27.2759  1.9154\n",
      "      8        \u001b[36m9.7082\u001b[0m       \u001b[32m24.8305\u001b[0m  2.6972\n",
      "      9        \u001b[36m9.3186\u001b[0m       \u001b[32m24.3196\u001b[0m  2.6852\n",
      "     10        \u001b[36m9.0785\u001b[0m       \u001b[32m23.8498\u001b[0m  3.3641\n",
      "     11        \u001b[36m8.9514\u001b[0m       \u001b[32m23.7893\u001b[0m  2.6362\n",
      "     12        \u001b[36m8.8422\u001b[0m       \u001b[32m23.3065\u001b[0m  4.0155\n",
      "     13        \u001b[36m8.6888\u001b[0m       \u001b[32m22.9633\u001b[0m  2.9111\n",
      "     14        \u001b[36m8.4773\u001b[0m       \u001b[32m21.6068\u001b[0m  2.7943\n",
      "     15        \u001b[36m8.4333\u001b[0m       22.4387  2.9364\n",
      "     16        \u001b[36m8.2843\u001b[0m       \u001b[32m21.1695\u001b[0m  3.0378\n",
      "     17        \u001b[36m8.1932\u001b[0m       21.9871  3.1358\n",
      "     18        \u001b[36m8.0966\u001b[0m       \u001b[32m20.9862\u001b[0m  3.1069\n",
      "     19        8.1332       22.9881  3.7974\n",
      "     20        \u001b[36m7.9812\u001b[0m       \u001b[32m20.2496\u001b[0m  4.5640\n",
      "     21        \u001b[36m7.9269\u001b[0m       21.3206  4.9270\n",
      "     22        7.9495       21.2599  3.3066\n",
      "     23        \u001b[36m7.7617\u001b[0m       \u001b[32m19.6344\u001b[0m  5.3131\n",
      "     24        \u001b[36m7.6907\u001b[0m       20.3049  1.9088\n",
      "     25        \u001b[36m7.6336\u001b[0m       19.9777  2.4472\n",
      "Linear Regression              R2 score on test / train set:     0.969    0.964\n",
      "Multilayer perceptron          R2 score on test / train set:     0.952    0.948\n"
     ]
    }
   ],
   "source": [
    "from sklearn.metrics import r2_score\n",
    "\n",
    "for model in models:\n",
    "    model['pipe'].fit(X_train, y_train)\n",
    "    model['test_predict'] = model['pipe'].predict(X_test)\n",
    "    model['train_predict'] = model['pipe'].predict(X_train)\n",
    "    \n",
    "for model in models:\n",
    "    print(\"{:30} R2 score on test / train set:  {:8.3f} {:8.3f}\".format(\n",
    "        model['name'], r2_score(y_test, model['test_predict']),\n",
    "        r2_score(y_train, model['train_predict'])))"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Let's compare the predictions with the actual data"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "application/javascript": [
       "/* Put everything inside the global mpl namespace */\n",
       "window.mpl = {};\n",
       "\n",
       "\n",
       "mpl.get_websocket_type = function() {\n",
       "    if (typeof(WebSocket) !== 'undefined') {\n",
       "        return WebSocket;\n",
       "    } else if (typeof(MozWebSocket) !== 'undefined') {\n",
       "        return MozWebSocket;\n",
       "    } else {\n",
       "        alert('Your browser does not have WebSocket support.' +\n",
       "              'Please try Chrome, Safari or Firefox ≥ 6. ' +\n",
       "              'Firefox 4 and 5 are also supported but you ' +\n",
       "              'have to enable WebSockets in about:config.');\n",
       "    };\n",
       "}\n",
       "\n",
       "mpl.figure = function(figure_id, websocket, ondownload, parent_element) {\n",
       "    this.id = figure_id;\n",
       "\n",
       "    this.ws = websocket;\n",
       "\n",
       "    this.supports_binary = (this.ws.binaryType != undefined);\n",
       "\n",
       "    if (!this.supports_binary) {\n",
       "        var warnings = document.getElementById(\"mpl-warnings\");\n",
       "        if (warnings) {\n",
       "            warnings.style.display = 'block';\n",
       "            warnings.textContent = (\n",
       "                \"This browser does not support binary websocket messages. \" +\n",
       "                    \"Performance may be slow.\");\n",
       "        }\n",
       "    }\n",
       "\n",
       "    this.imageObj = new Image();\n",
       "\n",
       "    this.context = undefined;\n",
       "    this.message = undefined;\n",
       "    this.canvas = undefined;\n",
       "    this.rubberband_canvas = undefined;\n",
       "    this.rubberband_context = undefined;\n",
       "    this.format_dropdown = undefined;\n",
       "\n",
       "    this.image_mode = 'full';\n",
       "\n",
       "    this.root = $('<div/>');\n",
       "    this._root_extra_style(this.root)\n",
       "    this.root.attr('style', 'display: inline-block');\n",
       "\n",
       "    $(parent_element).append(this.root);\n",
       "\n",
       "    this._init_header(this);\n",
       "    this._init_canvas(this);\n",
       "    this._init_toolbar(this);\n",
       "\n",
       "    var fig = this;\n",
       "\n",
       "    this.waiting = false;\n",
       "\n",
       "    this.ws.onopen =  function () {\n",
       "            fig.send_message(\"supports_binary\", {value: fig.supports_binary});\n",
       "            fig.send_message(\"send_image_mode\", {});\n",
       "            if (mpl.ratio != 1) {\n",
       "                fig.send_message(\"set_dpi_ratio\", {'dpi_ratio': mpl.ratio});\n",
       "            }\n",
       "            fig.send_message(\"refresh\", {});\n",
       "        }\n",
       "\n",
       "    this.imageObj.onload = function() {\n",
       "            if (fig.image_mode == 'full') {\n",
       "                // Full images could contain transparency (where diff images\n",
       "                // almost always do), so we need to clear the canvas so that\n",
       "                // there is no ghosting.\n",
       "                fig.context.clearRect(0, 0, fig.canvas.width, fig.canvas.height);\n",
       "            }\n",
       "            fig.context.drawImage(fig.imageObj, 0, 0);\n",
       "        };\n",
       "\n",
       "    this.imageObj.onunload = function() {\n",
       "        fig.ws.close();\n",
       "    }\n",
       "\n",
       "    this.ws.onmessage = this._make_on_message_function(this);\n",
       "\n",
       "    this.ondownload = ondownload;\n",
       "}\n",
       "\n",
       "mpl.figure.prototype._init_header = function() {\n",
       "    var titlebar = $(\n",
       "        '<div class=\"ui-dialog-titlebar ui-widget-header ui-corner-all ' +\n",
       "        'ui-helper-clearfix\"/>');\n",
       "    var titletext = $(\n",
       "        '<div class=\"ui-dialog-title\" style=\"width: 100%; ' +\n",
       "        'text-align: center; padding: 3px;\"/>');\n",
       "    titlebar.append(titletext)\n",
       "    this.root.append(titlebar);\n",
       "    this.header = titletext[0];\n",
       "}\n",
       "\n",
       "\n",
       "\n",
       "mpl.figure.prototype._canvas_extra_style = function(canvas_div) {\n",
       "\n",
       "}\n",
       "\n",
       "\n",
       "mpl.figure.prototype._root_extra_style = function(canvas_div) {\n",
       "\n",
       "}\n",
       "\n",
       "mpl.figure.prototype._init_canvas = function() {\n",
       "    var fig = this;\n",
       "\n",
       "    var canvas_div = $('<div/>');\n",
       "\n",
       "    canvas_div.attr('style', 'position: relative; clear: both; outline: 0');\n",
       "\n",
       "    function canvas_keyboard_event(event) {\n",
       "        return fig.key_event(event, event['data']);\n",
       "    }\n",
       "\n",
       "    canvas_div.keydown('key_press', canvas_keyboard_event);\n",
       "    canvas_div.keyup('key_release', canvas_keyboard_event);\n",
       "    this.canvas_div = canvas_div\n",
       "    this._canvas_extra_style(canvas_div)\n",
       "    this.root.append(canvas_div);\n",
       "\n",
       "    var canvas = $('<canvas/>');\n",
       "    canvas.addClass('mpl-canvas');\n",
       "    canvas.attr('style', \"left: 0; top: 0; z-index: 0; outline: 0\")\n",
       "\n",
       "    this.canvas = canvas[0];\n",
       "    this.context = canvas[0].getContext(\"2d\");\n",
       "\n",
       "    var backingStore = this.context.backingStorePixelRatio ||\n",
       "\tthis.context.webkitBackingStorePixelRatio ||\n",
       "\tthis.context.mozBackingStorePixelRatio ||\n",
       "\tthis.context.msBackingStorePixelRatio ||\n",
       "\tthis.context.oBackingStorePixelRatio ||\n",
       "\tthis.context.backingStorePixelRatio || 1;\n",
       "\n",
       "    mpl.ratio = (window.devicePixelRatio || 1) / backingStore;\n",
       "\n",
       "    var rubberband = $('<canvas/>');\n",
       "    rubberband.attr('style', \"position: absolute; left: 0; top: 0; z-index: 1;\")\n",
       "\n",
       "    var pass_mouse_events = true;\n",
       "\n",
       "    canvas_div.resizable({\n",
       "        start: function(event, ui) {\n",
       "            pass_mouse_events = false;\n",
       "        },\n",
       "        resize: function(event, ui) {\n",
       "            fig.request_resize(ui.size.width, ui.size.height);\n",
       "        },\n",
       "        stop: function(event, ui) {\n",
       "            pass_mouse_events = true;\n",
       "            fig.request_resize(ui.size.width, ui.size.height);\n",
       "        },\n",
       "    });\n",
       "\n",
       "    function mouse_event_fn(event) {\n",
       "        if (pass_mouse_events)\n",
       "            return fig.mouse_event(event, event['data']);\n",
       "    }\n",
       "\n",
       "    rubberband.mousedown('button_press', mouse_event_fn);\n",
       "    rubberband.mouseup('button_release', mouse_event_fn);\n",
       "    // Throttle sequential mouse events to 1 every 20ms.\n",
       "    rubberband.mousemove('motion_notify', mouse_event_fn);\n",
       "\n",
       "    rubberband.mouseenter('figure_enter', mouse_event_fn);\n",
       "    rubberband.mouseleave('figure_leave', mouse_event_fn);\n",
       "\n",
       "    canvas_div.on(\"wheel\", function (event) {\n",
       "        event = event.originalEvent;\n",
       "        event['data'] = 'scroll'\n",
       "        if (event.deltaY < 0) {\n",
       "            event.step = 1;\n",
       "        } else {\n",
       "            event.step = -1;\n",
       "        }\n",
       "        mouse_event_fn(event);\n",
       "    });\n",
       "\n",
       "    canvas_div.append(canvas);\n",
       "    canvas_div.append(rubberband);\n",
       "\n",
       "    this.rubberband = rubberband;\n",
       "    this.rubberband_canvas = rubberband[0];\n",
       "    this.rubberband_context = rubberband[0].getContext(\"2d\");\n",
       "    this.rubberband_context.strokeStyle = \"#000000\";\n",
       "\n",
       "    this._resize_canvas = function(width, height) {\n",
       "        // Keep the size of the canvas, canvas container, and rubber band\n",
       "        // canvas in synch.\n",
       "        canvas_div.css('width', width)\n",
       "        canvas_div.css('height', height)\n",
       "\n",
       "        canvas.attr('width', width * mpl.ratio);\n",
       "        canvas.attr('height', height * mpl.ratio);\n",
       "        canvas.attr('style', 'width: ' + width + 'px; height: ' + height + 'px;');\n",
       "\n",
       "        rubberband.attr('width', width);\n",
       "        rubberband.attr('height', height);\n",
       "    }\n",
       "\n",
       "    // Set the figure to an initial 600x600px, this will subsequently be updated\n",
       "    // upon first draw.\n",
       "    this._resize_canvas(600, 600);\n",
       "\n",
       "    // Disable right mouse context menu.\n",
       "    $(this.rubberband_canvas).bind(\"contextmenu\",function(e){\n",
       "        return false;\n",
       "    });\n",
       "\n",
       "    function set_focus () {\n",
       "        canvas.focus();\n",
       "        canvas_div.focus();\n",
       "    }\n",
       "\n",
       "    window.setTimeout(set_focus, 100);\n",
       "}\n",
       "\n",
       "mpl.figure.prototype._init_toolbar = function() {\n",
       "    var fig = this;\n",
       "\n",
       "    var nav_element = $('<div/>')\n",
       "    nav_element.attr('style', 'width: 100%');\n",
       "    this.root.append(nav_element);\n",
       "\n",
       "    // Define a callback function for later on.\n",
       "    function toolbar_event(event) {\n",
       "        return fig.toolbar_button_onclick(event['data']);\n",
       "    }\n",
       "    function toolbar_mouse_event(event) {\n",
       "        return fig.toolbar_button_onmouseover(event['data']);\n",
       "    }\n",
       "\n",
       "    for(var toolbar_ind in mpl.toolbar_items) {\n",
       "        var name = mpl.toolbar_items[toolbar_ind][0];\n",
       "        var tooltip = mpl.toolbar_items[toolbar_ind][1];\n",
       "        var image = mpl.toolbar_items[toolbar_ind][2];\n",
       "        var method_name = mpl.toolbar_items[toolbar_ind][3];\n",
       "\n",
       "        if (!name) {\n",
       "            // put a spacer in here.\n",
       "            continue;\n",
       "        }\n",
       "        var button = $('<button/>');\n",
       "        button.addClass('ui-button ui-widget ui-state-default ui-corner-all ' +\n",
       "                        'ui-button-icon-only');\n",
       "        button.attr('role', 'button');\n",
       "        button.attr('aria-disabled', 'false');\n",
       "        button.click(method_name, toolbar_event);\n",
       "        button.mouseover(tooltip, toolbar_mouse_event);\n",
       "\n",
       "        var icon_img = $('<span/>');\n",
       "        icon_img.addClass('ui-button-icon-primary ui-icon');\n",
       "        icon_img.addClass(image);\n",
       "        icon_img.addClass('ui-corner-all');\n",
       "\n",
       "        var tooltip_span = $('<span/>');\n",
       "        tooltip_span.addClass('ui-button-text');\n",
       "        tooltip_span.html(tooltip);\n",
       "\n",
       "        button.append(icon_img);\n",
       "        button.append(tooltip_span);\n",
       "\n",
       "        nav_element.append(button);\n",
       "    }\n",
       "\n",
       "    var fmt_picker_span = $('<span/>');\n",
       "\n",
       "    var fmt_picker = $('<select/>');\n",
       "    fmt_picker.addClass('mpl-toolbar-option ui-widget ui-widget-content');\n",
       "    fmt_picker_span.append(fmt_picker);\n",
       "    nav_element.append(fmt_picker_span);\n",
       "    this.format_dropdown = fmt_picker[0];\n",
       "\n",
       "    for (var ind in mpl.extensions) {\n",
       "        var fmt = mpl.extensions[ind];\n",
       "        var option = $(\n",
       "            '<option/>', {selected: fmt === mpl.default_extension}).html(fmt);\n",
       "        fmt_picker.append(option)\n",
       "    }\n",
       "\n",
       "    // Add hover states to the ui-buttons\n",
       "    $( \".ui-button\" ).hover(\n",
       "        function() { $(this).addClass(\"ui-state-hover\");},\n",
       "        function() { $(this).removeClass(\"ui-state-hover\");}\n",
       "    );\n",
       "\n",
       "    var status_bar = $('<span class=\"mpl-message\"/>');\n",
       "    nav_element.append(status_bar);\n",
       "    this.message = status_bar[0];\n",
       "}\n",
       "\n",
       "mpl.figure.prototype.request_resize = function(x_pixels, y_pixels) {\n",
       "    // Request matplotlib to resize the figure. Matplotlib will then trigger a resize in the client,\n",
       "    // which will in turn request a refresh of the image.\n",
       "    this.send_message('resize', {'width': x_pixels, 'height': y_pixels});\n",
       "}\n",
       "\n",
       "mpl.figure.prototype.send_message = function(type, properties) {\n",
       "    properties['type'] = type;\n",
       "    properties['figure_id'] = this.id;\n",
       "    this.ws.send(JSON.stringify(properties));\n",
       "}\n",
       "\n",
       "mpl.figure.prototype.send_draw_message = function() {\n",
       "    if (!this.waiting) {\n",
       "        this.waiting = true;\n",
       "        this.ws.send(JSON.stringify({type: \"draw\", figure_id: this.id}));\n",
       "    }\n",
       "}\n",
       "\n",
       "\n",
       "mpl.figure.prototype.handle_save = function(fig, msg) {\n",
       "    var format_dropdown = fig.format_dropdown;\n",
       "    var format = format_dropdown.options[format_dropdown.selectedIndex].value;\n",
       "    fig.ondownload(fig, format);\n",
       "}\n",
       "\n",
       "\n",
       "mpl.figure.prototype.handle_resize = function(fig, msg) {\n",
       "    var size = msg['size'];\n",
       "    if (size[0] != fig.canvas.width || size[1] != fig.canvas.height) {\n",
       "        fig._resize_canvas(size[0], size[1]);\n",
       "        fig.send_message(\"refresh\", {});\n",
       "    };\n",
       "}\n",
       "\n",
       "mpl.figure.prototype.handle_rubberband = function(fig, msg) {\n",
       "    var x0 = msg['x0'] / mpl.ratio;\n",
       "    var y0 = (fig.canvas.height - msg['y0']) / mpl.ratio;\n",
       "    var x1 = msg['x1'] / mpl.ratio;\n",
       "    var y1 = (fig.canvas.height - msg['y1']) / mpl.ratio;\n",
       "    x0 = Math.floor(x0) + 0.5;\n",
       "    y0 = Math.floor(y0) + 0.5;\n",
       "    x1 = Math.floor(x1) + 0.5;\n",
       "    y1 = Math.floor(y1) + 0.5;\n",
       "    var min_x = Math.min(x0, x1);\n",
       "    var min_y = Math.min(y0, y1);\n",
       "    var width = Math.abs(x1 - x0);\n",
       "    var height = Math.abs(y1 - y0);\n",
       "\n",
       "    fig.rubberband_context.clearRect(\n",
       "        0, 0, fig.canvas.width, fig.canvas.height);\n",
       "\n",
       "    fig.rubberband_context.strokeRect(min_x, min_y, width, height);\n",
       "}\n",
       "\n",
       "mpl.figure.prototype.handle_figure_label = function(fig, msg) {\n",
       "    // Updates the figure title.\n",
       "    fig.header.textContent = msg['label'];\n",
       "}\n",
       "\n",
       "mpl.figure.prototype.handle_cursor = function(fig, msg) {\n",
       "    var cursor = msg['cursor'];\n",
       "    switch(cursor)\n",
       "    {\n",
       "    case 0:\n",
       "        cursor = 'pointer';\n",
       "        break;\n",
       "    case 1:\n",
       "        cursor = 'default';\n",
       "        break;\n",
       "    case 2:\n",
       "        cursor = 'crosshair';\n",
       "        break;\n",
       "    case 3:\n",
       "        cursor = 'move';\n",
       "        break;\n",
       "    }\n",
       "    fig.rubberband_canvas.style.cursor = cursor;\n",
       "}\n",
       "\n",
       "mpl.figure.prototype.handle_message = function(fig, msg) {\n",
       "    fig.message.textContent = msg['message'];\n",
       "}\n",
       "\n",
       "mpl.figure.prototype.handle_draw = function(fig, msg) {\n",
       "    // Request the server to send over a new figure.\n",
       "    fig.send_draw_message();\n",
       "}\n",
       "\n",
       "mpl.figure.prototype.handle_image_mode = function(fig, msg) {\n",
       "    fig.image_mode = msg['mode'];\n",
       "}\n",
       "\n",
       "mpl.figure.prototype.updated_canvas_event = function() {\n",
       "    // Called whenever the canvas gets updated.\n",
       "    this.send_message(\"ack\", {});\n",
       "}\n",
       "\n",
       "// A function to construct a web socket function for onmessage handling.\n",
       "// Called in the figure constructor.\n",
       "mpl.figure.prototype._make_on_message_function = function(fig) {\n",
       "    return function socket_on_message(evt) {\n",
       "        if (evt.data instanceof Blob) {\n",
       "            /* FIXME: We get \"Resource interpreted as Image but\n",
       "             * transferred with MIME type text/plain:\" errors on\n",
       "             * Chrome.  But how to set the MIME type?  It doesn't seem\n",
       "             * to be part of the websocket stream */\n",
       "            evt.data.type = \"image/png\";\n",
       "\n",
       "            /* Free the memory for the previous frames */\n",
       "            if (fig.imageObj.src) {\n",
       "                (window.URL || window.webkitURL).revokeObjectURL(\n",
       "                    fig.imageObj.src);\n",
       "            }\n",
       "\n",
       "            fig.imageObj.src = (window.URL || window.webkitURL).createObjectURL(\n",
       "                evt.data);\n",
       "            fig.updated_canvas_event();\n",
       "            fig.waiting = false;\n",
       "            return;\n",
       "        }\n",
       "        else if (typeof evt.data === 'string' && evt.data.slice(0, 21) == \"data:image/png;base64\") {\n",
       "            fig.imageObj.src = evt.data;\n",
       "            fig.updated_canvas_event();\n",
       "            fig.waiting = false;\n",
       "            return;\n",
       "        }\n",
       "\n",
       "        var msg = JSON.parse(evt.data);\n",
       "        var msg_type = msg['type'];\n",
       "\n",
       "        // Call the  \"handle_{type}\" callback, which takes\n",
       "        // the figure and JSON message as its only arguments.\n",
       "        try {\n",
       "            var callback = fig[\"handle_\" + msg_type];\n",
       "        } catch (e) {\n",
       "            console.log(\"No handler for the '\" + msg_type + \"' message type: \", msg);\n",
       "            return;\n",
       "        }\n",
       "\n",
       "        if (callback) {\n",
       "            try {\n",
       "                // console.log(\"Handling '\" + msg_type + \"' message: \", msg);\n",
       "                callback(fig, msg);\n",
       "            } catch (e) {\n",
       "                console.log(\"Exception inside the 'handler_\" + msg_type + \"' callback:\", e, e.stack, msg);\n",
       "            }\n",
       "        }\n",
       "    };\n",
       "}\n",
       "\n",
       "// from http://stackoverflow.com/questions/1114465/getting-mouse-location-in-canvas\n",
       "mpl.findpos = function(e) {\n",
       "    //this section is from http://www.quirksmode.org/js/events_properties.html\n",
       "    var targ;\n",
       "    if (!e)\n",
       "        e = window.event;\n",
       "    if (e.target)\n",
       "        targ = e.target;\n",
       "    else if (e.srcElement)\n",
       "        targ = e.srcElement;\n",
       "    if (targ.nodeType == 3) // defeat Safari bug\n",
       "        targ = targ.parentNode;\n",
       "\n",
       "    // jQuery normalizes the pageX and pageY\n",
       "    // pageX,Y are the mouse positions relative to the document\n",
       "    // offset() returns the position of the element relative to the document\n",
       "    var x = e.pageX - $(targ).offset().left;\n",
       "    var y = e.pageY - $(targ).offset().top;\n",
       "\n",
       "    return {\"x\": x, \"y\": y};\n",
       "};\n",
       "\n",
       "/*\n",
       " * return a copy of an object with only non-object keys\n",
       " * we need this to avoid circular references\n",
       " * http://stackoverflow.com/a/24161582/3208463\n",
       " */\n",
       "function simpleKeys (original) {\n",
       "  return Object.keys(original).reduce(function (obj, key) {\n",
       "    if (typeof original[key] !== 'object')\n",
       "        obj[key] = original[key]\n",
       "    return obj;\n",
       "  }, {});\n",
       "}\n",
       "\n",
       "mpl.figure.prototype.mouse_event = function(event, name) {\n",
       "    var canvas_pos = mpl.findpos(event)\n",
       "\n",
       "    if (name === 'button_press')\n",
       "    {\n",
       "        this.canvas.focus();\n",
       "        this.canvas_div.focus();\n",
       "    }\n",
       "\n",
       "    var x = canvas_pos.x * mpl.ratio;\n",
       "    var y = canvas_pos.y * mpl.ratio;\n",
       "\n",
       "    this.send_message(name, {x: x, y: y, button: event.button,\n",
       "                             step: event.step,\n",
       "                             guiEvent: simpleKeys(event)});\n",
       "\n",
       "    /* This prevents the web browser from automatically changing to\n",
       "     * the text insertion cursor when the button is pressed.  We want\n",
       "     * to control all of the cursor setting manually through the\n",
       "     * 'cursor' event from matplotlib */\n",
       "    event.preventDefault();\n",
       "    return false;\n",
       "}\n",
       "\n",
       "mpl.figure.prototype._key_event_extra = function(event, name) {\n",
       "    // Handle any extra behaviour associated with a key event\n",
       "}\n",
       "\n",
       "mpl.figure.prototype.key_event = function(event, name) {\n",
       "\n",
       "    // Prevent repeat events\n",
       "    if (name == 'key_press')\n",
       "    {\n",
       "        if (event.which === this._key)\n",
       "            return;\n",
       "        else\n",
       "            this._key = event.which;\n",
       "    }\n",
       "    if (name == 'key_release')\n",
       "        this._key = null;\n",
       "\n",
       "    var value = '';\n",
       "    if (event.ctrlKey && event.which != 17)\n",
       "        value += \"ctrl+\";\n",
       "    if (event.altKey && event.which != 18)\n",
       "        value += \"alt+\";\n",
       "    if (event.shiftKey && event.which != 16)\n",
       "        value += \"shift+\";\n",
       "\n",
       "    value += 'k';\n",
       "    value += event.which.toString();\n",
       "\n",
       "    this._key_event_extra(event, name);\n",
       "\n",
       "    this.send_message(name, {key: value,\n",
       "                             guiEvent: simpleKeys(event)});\n",
       "    return false;\n",
       "}\n",
       "\n",
       "mpl.figure.prototype.toolbar_button_onclick = function(name) {\n",
       "    if (name == 'download') {\n",
       "        this.handle_save(this, null);\n",
       "    } else {\n",
       "        this.send_message(\"toolbar_button\", {name: name});\n",
       "    }\n",
       "};\n",
       "\n",
       "mpl.figure.prototype.toolbar_button_onmouseover = function(tooltip) {\n",
       "    this.message.textContent = tooltip;\n",
       "};\n",
       "mpl.toolbar_items = [[\"Home\", \"Reset original view\", \"fa fa-home icon-home\", \"home\"], [\"Back\", \"Back to previous view\", \"fa fa-arrow-left icon-arrow-left\", \"back\"], [\"Forward\", \"Forward to next view\", \"fa fa-arrow-right icon-arrow-right\", \"forward\"], [\"\", \"\", \"\", \"\"], [\"Pan\", \"Pan axes with left mouse, zoom with right\", \"fa fa-arrows icon-move\", \"pan\"], [\"Zoom\", \"Zoom to rectangle\", \"fa fa-square-o icon-check-empty\", \"zoom\"], [\"\", \"\", \"\", \"\"], [\"Download\", \"Download plot\", \"fa fa-floppy-o icon-save\", \"download\"]];\n",
       "\n",
       "mpl.extensions = [\"eps\", \"jpeg\", \"pdf\", \"png\", \"ps\", \"raw\", \"svg\", \"tif\"];\n",
       "\n",
       "mpl.default_extension = \"png\";var comm_websocket_adapter = function(comm) {\n",
       "    // Create a \"websocket\"-like object which calls the given IPython comm\n",
       "    // object with the appropriate methods. Currently this is a non binary\n",
       "    // socket, so there is still some room for performance tuning.\n",
       "    var ws = {};\n",
       "\n",
       "    ws.close = function() {\n",
       "        comm.close()\n",
       "    };\n",
       "    ws.send = function(m) {\n",
       "        //console.log('sending', m);\n",
       "        comm.send(m);\n",
       "    };\n",
       "    // Register the callback with on_msg.\n",
       "    comm.on_msg(function(msg) {\n",
       "        //console.log('receiving', msg['content']['data'], msg);\n",
       "        // Pass the mpl event to the overridden (by mpl) onmessage function.\n",
       "        ws.onmessage(msg['content']['data'])\n",
       "    });\n",
       "    return ws;\n",
       "}\n",
       "\n",
       "mpl.mpl_figure_comm = function(comm, msg) {\n",
       "    // This is the function which gets called when the mpl process\n",
       "    // starts-up an IPython Comm through the \"matplotlib\" channel.\n",
       "\n",
       "    var id = msg.content.data.id;\n",
       "    // Get hold of the div created by the display call when the Comm\n",
       "    // socket was opened in Python.\n",
       "    var element = $(\"#\" + id);\n",
       "    var ws_proxy = comm_websocket_adapter(comm)\n",
       "\n",
       "    function ondownload(figure, format) {\n",
       "        window.open(figure.imageObj.src);\n",
       "    }\n",
       "\n",
       "    var fig = new mpl.figure(id, ws_proxy,\n",
       "                           ondownload,\n",
       "                           element.get(0));\n",
       "\n",
       "    // Call onopen now - mpl needs it, as it is assuming we've passed it a real\n",
       "    // web socket which is closed, not our websocket->open comm proxy.\n",
       "    ws_proxy.onopen();\n",
       "\n",
       "    fig.parent_element = element.get(0);\n",
       "    fig.cell_info = mpl.find_output_cell(\"<div id='\" + id + \"'></div>\");\n",
       "    if (!fig.cell_info) {\n",
       "        console.error(\"Failed to find cell for figure\", id, fig);\n",
       "        return;\n",
       "    }\n",
       "\n",
       "    var output_index = fig.cell_info[2]\n",
       "    var cell = fig.cell_info[0];\n",
       "\n",
       "};\n",
       "\n",
       "mpl.figure.prototype.handle_close = function(fig, msg) {\n",
       "    var width = fig.canvas.width/mpl.ratio\n",
       "    fig.root.unbind('remove')\n",
       "\n",
       "    // Update the output cell to use the data from the current canvas.\n",
       "    fig.push_to_output();\n",
       "    var dataURL = fig.canvas.toDataURL();\n",
       "    // Re-enable the keyboard manager in IPython - without this line, in FF,\n",
       "    // the notebook keyboard shortcuts fail.\n",
       "    IPython.keyboard_manager.enable()\n",
       "    $(fig.parent_element).html('<img src=\"' + dataURL + '\" width=\"' + width + '\">');\n",
       "    fig.close_ws(fig, msg);\n",
       "}\n",
       "\n",
       "mpl.figure.prototype.close_ws = function(fig, msg){\n",
       "    fig.send_message('closing', msg);\n",
       "    // fig.ws.close()\n",
       "}\n",
       "\n",
       "mpl.figure.prototype.push_to_output = function(remove_interactive) {\n",
       "    // Turn the data on the canvas into data in the output cell.\n",
       "    var width = this.canvas.width/mpl.ratio\n",
       "    var dataURL = this.canvas.toDataURL();\n",
       "    this.cell_info[1]['text/html'] = '<img src=\"' + dataURL + '\" width=\"' + width + '\">';\n",
       "}\n",
       "\n",
       "mpl.figure.prototype.updated_canvas_event = function() {\n",
       "    // Tell IPython that the notebook contents must change.\n",
       "    IPython.notebook.set_dirty(true);\n",
       "    this.send_message(\"ack\", {});\n",
       "    var fig = this;\n",
       "    // Wait a second, then push the new image to the DOM so\n",
       "    // that it is saved nicely (might be nice to debounce this).\n",
       "    setTimeout(function () { fig.push_to_output() }, 1000);\n",
       "}\n",
       "\n",
       "mpl.figure.prototype._init_toolbar = function() {\n",
       "    var fig = this;\n",
       "\n",
       "    var nav_element = $('<div/>')\n",
       "    nav_element.attr('style', 'width: 100%');\n",
       "    this.root.append(nav_element);\n",
       "\n",
       "    // Define a callback function for later on.\n",
       "    function toolbar_event(event) {\n",
       "        return fig.toolbar_button_onclick(event['data']);\n",
       "    }\n",
       "    function toolbar_mouse_event(event) {\n",
       "        return fig.toolbar_button_onmouseover(event['data']);\n",
       "    }\n",
       "\n",
       "    for(var toolbar_ind in mpl.toolbar_items){\n",
       "        var name = mpl.toolbar_items[toolbar_ind][0];\n",
       "        var tooltip = mpl.toolbar_items[toolbar_ind][1];\n",
       "        var image = mpl.toolbar_items[toolbar_ind][2];\n",
       "        var method_name = mpl.toolbar_items[toolbar_ind][3];\n",
       "\n",
       "        if (!name) { continue; };\n",
       "\n",
       "        var button = $('<button class=\"btn btn-default\" href=\"#\" title=\"' + name + '\"><i class=\"fa ' + image + ' fa-lg\"></i></button>');\n",
       "        button.click(method_name, toolbar_event);\n",
       "        button.mouseover(tooltip, toolbar_mouse_event);\n",
       "        nav_element.append(button);\n",
       "    }\n",
       "\n",
       "    // Add the status bar.\n",
       "    var status_bar = $('<span class=\"mpl-message\" style=\"text-align:right; float: right;\"/>');\n",
       "    nav_element.append(status_bar);\n",
       "    this.message = status_bar[0];\n",
       "\n",
       "    // Add the close button to the window.\n",
       "    var buttongrp = $('<div class=\"btn-group inline pull-right\"></div>');\n",
       "    var button = $('<button class=\"btn btn-mini btn-primary\" href=\"#\" title=\"Stop Interaction\"><i class=\"fa fa-power-off icon-remove icon-large\"></i></button>');\n",
       "    button.click(function (evt) { fig.handle_close(fig, {}); } );\n",
       "    button.mouseover('Stop Interaction', toolbar_mouse_event);\n",
       "    buttongrp.append(button);\n",
       "    var titlebar = this.root.find($('.ui-dialog-titlebar'));\n",
       "    titlebar.prepend(buttongrp);\n",
       "}\n",
       "\n",
       "mpl.figure.prototype._root_extra_style = function(el){\n",
       "    var fig = this\n",
       "    el.on(\"remove\", function(){\n",
       "\tfig.close_ws(fig, {});\n",
       "    });\n",
       "}\n",
       "\n",
       "mpl.figure.prototype._canvas_extra_style = function(el){\n",
       "    // this is important to make the div 'focusable\n",
       "    el.attr('tabindex', 0)\n",
       "    // reach out to IPython and tell the keyboard manager to turn it's self\n",
       "    // off when our div gets focus\n",
       "\n",
       "    // location in version 3\n",
       "    if (IPython.notebook.keyboard_manager) {\n",
       "        IPython.notebook.keyboard_manager.register_events(el);\n",
       "    }\n",
       "    else {\n",
       "        // location in version 2\n",
       "        IPython.keyboard_manager.register_events(el);\n",
       "    }\n",
       "\n",
       "}\n",
       "\n",
       "mpl.figure.prototype._key_event_extra = function(event, name) {\n",
       "    var manager = IPython.notebook.keyboard_manager;\n",
       "    if (!manager)\n",
       "        manager = IPython.keyboard_manager;\n",
       "\n",
       "    // Check for shift+enter\n",
       "    if (event.shiftKey && event.which == 13) {\n",
       "        this.canvas_div.blur();\n",
       "        event.shiftKey = false;\n",
       "        // Send a \"J\" for go to next cell\n",
       "        event.which = 74;\n",
       "        event.keyCode = 74;\n",
       "        manager.command_mode();\n",
       "        manager.handle_keydown(event);\n",
       "    }\n",
       "}\n",
       "\n",
       "mpl.figure.prototype.handle_save = function(fig, msg) {\n",
       "    fig.ondownload(fig, null);\n",
       "}\n",
       "\n",
       "\n",
       "mpl.find_output_cell = function(html_output) {\n",
       "    // Return the cell and output element which can be found *uniquely* in the notebook.\n",
       "    // Note - this is a bit hacky, but it is done because the \"notebook_saving.Notebook\"\n",
       "    // IPython event is triggered only after the cells have been serialised, which for\n",
       "    // our purposes (turning an active figure into a static one), is too late.\n",
       "    var cells = IPython.notebook.get_cells();\n",
       "    var ncells = cells.length;\n",
       "    for (var i=0; i<ncells; i++) {\n",
       "        var cell = cells[i];\n",
       "        if (cell.cell_type === 'code'){\n",
       "            for (var j=0; j<cell.output_area.outputs.length; j++) {\n",
       "                var data = cell.output_area.outputs[j];\n",
       "                if (data.data) {\n",
       "                    // IPython >= 3 moved mimebundle to data attribute of output\n",
       "                    data = data.data;\n",
       "                }\n",
       "                if (data['text/html'] == html_output) {\n",
       "                    return [cell, data, j];\n",
       "                }\n",
       "            }\n",
       "        }\n",
       "    }\n",
       "}\n",
       "\n",
       "// Register the function which deals with the matplotlib target/channel.\n",
       "// The kernel may be null if the page has been refreshed.\n",
       "if (IPython.notebook.kernel != null) {\n",
       "    IPython.notebook.kernel.comm_manager.register_target('matplotlib', mpl.mpl_figure_comm);\n",
       "}\n"
      ],
      "text/plain": [
       "<IPython.core.display.Javascript object>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "text/html": [
       "<img src=\"data:image/png;base64,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SIAESIAEAkaAAjBgA87ukgAJkAAJkAAJkAAFIOcACZAACZAACZAACQSMAAVgwAac3SUBEiABEiABEiABCkDOARIgARIgARIgARIIGAEKwIANOLtLAiRAAiRAAiRAAhSAnAMkQAIkQAIkQAIkEDACFIABG3B2lwRIgARIgARIgAQoADkHSIAESIAESIAESCBgBCgAAzbg7C4JkAAJkAAJkAAJUAByDpAACZAACZAACZBAwAhQAAZswNldEiABEiABEiABEqAA5BwgARIgARIgARIggYARoAAM2ICzuyRAAiRAAiRAAiRAAcg5QAIkQAIkQAIkQAIBI0ABGLABZ3dJgARIgARIgARIgAKQc4AESIAESIAESIAEAkaAAjBgA87ukgAJkAAJkAAJkAAFIOcACZAACZAACZAACQSMAAVgwAac3SUBEiABEiABEiABCkDOARIgARIgARIgARIIGAEKwIANOLtLAiRAAiRAAiRAAhSAnAMkQAIkQAIkQAIkEDACFIABG3B2lwRIgARIgARIgAQoADkHSIAESIAESIAESCBgBCgAAzbg7C4JkAAJkAAJkAAJUAByDpAACZAACZAACZBAwAhQAAZswNldEiABEiABEiABEqAA5BwgARIgARIgARIggYARoAAM2ICzuyRAAiRAAiRAAiRAAcg5QAIkQAIkQAIkQAIBI0ABGLABZ3dJgARIgARIgARIgAKQc4AESIAESIAESIAEAkaAAjBgA87ukgAJkAAJkAAJkAAFIOcACZAACZAACZAACQSMAAVgwAac3SUBEiABEiABEiABCkDOARIgARIgARIgARIIGAEKwIANOLtLAiRAAiRAAiRAAhSAnAMkQAIkQAIkQAIkEDACFIABG3B2lwRIgARIgARIgAQoADkHSIAESIAESIAESCBgBCgAAzbg7C4JkAAJkAAJkAAJUAByDpAACZAACZAACZBAwAhQAAZswNldEiABEiABEiABEqAA5BwgARIgARIgARIggYARoAAM2ICzuyRAAiRAAiRAAiRAAcg5QAIkQAIkQAIkQAIBI0ABGLABZ3dJgARIgARIgARIgAKQc4AESIAESIAESIAEAkaAAjBgA87ukgAJkAAJkAAJkAAFIOcACZAACZAACZAACQSMAAVgwAac3SUBEiABEiABEiABCkDOARIgARIgARIgARIIGAEKwIANOLtLAiRAAiRAAiRAAhSAnAMkQAIkQAIkQAIkEDAC/w/TpLMLyULmMQAAAABJRU5ErkJggg==\" width=\"640\">"
      ],
      "text/plain": [
       "<IPython.core.display.HTML object>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "plt.figure()\n",
    "plt.title('Predicting the change in DST Index')\n",
    "plt.plot(t_test, y_test, label='Data test')\n",
    "plt.plot(t_train, y_train, label='Data train')\n",
    "for model in models:\n",
    "    p = plt.plot(t_test, model['test_predict'], label=model['name'])\n",
    "    # Plot another line with the same color\n",
    "    plt.plot(t_train, model['train_predict'], color=p[0].get_color())\n",
    "plt.legend()\n",
    "plt.gcf().autofmt_xdate()\n",
    "plt.grid(True)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## This looks pretty good, but...\n",
    "\n",
    "Most variables we consider in a time series have strong auto-correlation. This means that future values strongly resemble past values; examples are the temperature at a location on earth or the price of a stock on a stock market. When making predictions for a variable with strong auto-correlation, one has to be careful in assessing the predictive power of a model. Simply predicting the past state as the future state can look convincing (also numerically in most error norms), but gives little information. \n",
    "\n",
    "Below, we therefore take the following approach: predict the change in the variable."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "metadata": {},
   "outputs": [],
   "source": [
    "from aidapy.ml import preprocess\n",
    "\n",
    "histsize = 24                   # Number of past hours\n",
    "forecast_time = 1               # Hours into the future\n",
    "\n",
    "# Use the AIDApy preprocessing method for time series\n",
    "# With the predict_change=True flag, the change in the DST index \n",
    "# is the target variable\n",
    "X_train, y_train, mask_train = preprocess.time_series(\n",
    "    dtrain[features].values, dtrain[targets].values,\n",
    "    histsize, forecast_time, predict_change=True)\n",
    "X_test, y_test, mask_test = preprocess.time_series(\n",
    "    dtest[features].values, dtest[targets].values, \n",
    "    histsize, forecast_time, predict_change=True)\n",
    "\n",
    "t_train = dtrain.index[mask_train]\n",
    "t_test = dtest.index[mask_test]\n",
    "\n",
    "models = []\n",
    "\n",
    "models.append({\n",
    "    'name': 'Linear Regression',\n",
    "    'pipe': Pipeline(steps=[('preprocess', StandardScaler()),\n",
    "                            ('model', LinearRegression())])\n",
    "})\n",
    "\n",
    "# RegressorMlp is a simple, fully-connected neural network, \n",
    "# for which the layer sizes are defined below. The default\n",
    "# activation function is ReLU.\n",
    "mlp_model = NeuralNetRegressor(\n",
    "    mlp.RegressorMlp,\n",
    "    max_epochs=25,\n",
    "    lr=0.001,\n",
    "    batch_size=128,\n",
    "    optimizer=torch.optim.Adam,\n",
    "    module__layer_sizes=[X_train.shape[1], 64, 64, 64, 1]\n",
    ")\n",
    "\n",
    "models.append({\n",
    "    'name': 'ANN',\n",
    "    'pipe': Pipeline(steps=[('preprocess', StandardScaler()),\n",
    "                            ('model', mlp_model)])\n",
    "})"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "metadata": {
    "autoscroll": false,
    "ein.hycell": false,
    "ein.tags": "worksheet-0",
    "slideshow": {
     "slide_type": "-"
    }
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "  epoch    train_loss    valid_loss     dur\n",
      "-------  ------------  ------------  ------\n",
      "      1        \u001b[36m9.3040\u001b[0m       \u001b[32m13.4525\u001b[0m  2.5473\n",
      "      2        \u001b[36m8.0748\u001b[0m       \u001b[32m13.2288\u001b[0m  2.4043\n",
      "      3        \u001b[36m7.6921\u001b[0m       \u001b[32m12.3340\u001b[0m  2.4899\n",
      "      4        \u001b[36m7.5276\u001b[0m       \u001b[32m12.2525\u001b[0m  3.9910\n",
      "      5        \u001b[36m7.3974\u001b[0m       \u001b[32m12.1197\u001b[0m  3.8056\n",
      "      6        \u001b[36m7.2771\u001b[0m       \u001b[32m11.9705\u001b[0m  3.0214\n",
      "      7        \u001b[36m7.1804\u001b[0m       \u001b[32m11.9094\u001b[0m  2.0155\n",
      "      8        \u001b[36m7.0822\u001b[0m       11.9217  2.8191\n",
      "      9        \u001b[36m7.0014\u001b[0m       \u001b[32m11.8192\u001b[0m  2.6564\n",
      "     10        \u001b[36m6.8758\u001b[0m       11.8942  2.6622\n",
      "     11        \u001b[36m6.7928\u001b[0m       11.8929  1.9705\n",
      "     12        \u001b[36m6.6663\u001b[0m       11.8819  1.9809\n",
      "     13        \u001b[36m6.6267\u001b[0m       12.3010  2.6679\n",
      "     14        \u001b[36m6.5041\u001b[0m       12.2031  1.8921\n",
      "     15        \u001b[36m6.4059\u001b[0m       12.2843  2.4354\n",
      "     16        \u001b[36m6.3420\u001b[0m       12.9039  3.0471\n",
      "     17        \u001b[36m6.2806\u001b[0m       12.1478  2.7479\n",
      "     18        \u001b[36m6.1105\u001b[0m       13.0912  4.9462\n",
      "     19        \u001b[36m6.0671\u001b[0m       12.2712  4.6252\n",
      "     20        \u001b[36m5.9791\u001b[0m       12.7974  1.9119\n",
      "     21        \u001b[36m5.9633\u001b[0m       12.8095  3.2434\n",
      "     22        6.0265       13.1740  2.2317\n",
      "     23        \u001b[36m5.9151\u001b[0m       13.1795  1.7708\n",
      "     24        \u001b[36m5.8232\u001b[0m       13.1638  3.2358\n",
      "     25        \u001b[36m5.7188\u001b[0m       12.9696  4.8095\n",
      "Linear Regression              R2 score on test / train set:     0.389    0.411\n",
      "ANN                            R2 score on test / train set:     0.287    0.457\n"
     ]
    }
   ],
   "source": [
    "from sklearn.metrics import r2_score\n",
    "\n",
    "for model in models:\n",
    "    model['pipe'].fit(X_train, y_train)\n",
    "    model['test_predict'] = model['pipe'].predict(X_test)\n",
    "    model['train_predict'] = model['pipe'].predict(X_train)\n",
    "    \n",
    "for model in models:\n",
    "    print(\"{:30} R2 score on test / train set:  {:8.3f} {:8.3f}\".format(\n",
    "        model['name'], r2_score(y_test, model['test_predict']),\n",
    "        r2_score(y_train, model['train_predict'])))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "application/javascript": [
       "/* Put everything inside the global mpl namespace */\n",
       "window.mpl = {};\n",
       "\n",
       "\n",
       "mpl.get_websocket_type = function() {\n",
       "    if (typeof(WebSocket) !== 'undefined') {\n",
       "        return WebSocket;\n",
       "    } else if (typeof(MozWebSocket) !== 'undefined') {\n",
       "        return MozWebSocket;\n",
       "    } else {\n",
       "        alert('Your browser does not have WebSocket support.' +\n",
       "              'Please try Chrome, Safari or Firefox ≥ 6. ' +\n",
       "              'Firefox 4 and 5 are also supported but you ' +\n",
       "              'have to enable WebSockets in about:config.');\n",
       "    };\n",
       "}\n",
       "\n",
       "mpl.figure = function(figure_id, websocket, ondownload, parent_element) {\n",
       "    this.id = figure_id;\n",
       "\n",
       "    this.ws = websocket;\n",
       "\n",
       "    this.supports_binary = (this.ws.binaryType != undefined);\n",
       "\n",
       "    if (!this.supports_binary) {\n",
       "        var warnings = document.getElementById(\"mpl-warnings\");\n",
       "        if (warnings) {\n",
       "            warnings.style.display = 'block';\n",
       "            warnings.textContent = (\n",
       "                \"This browser does not support binary websocket messages. \" +\n",
       "                    \"Performance may be slow.\");\n",
       "        }\n",
       "    }\n",
       "\n",
       "    this.imageObj = new Image();\n",
       "\n",
       "    this.context = undefined;\n",
       "    this.message = undefined;\n",
       "    this.canvas = undefined;\n",
       "    this.rubberband_canvas = undefined;\n",
       "    this.rubberband_context = undefined;\n",
       "    this.format_dropdown = undefined;\n",
       "\n",
       "    this.image_mode = 'full';\n",
       "\n",
       "    this.root = $('<div/>');\n",
       "    this._root_extra_style(this.root)\n",
       "    this.root.attr('style', 'display: inline-block');\n",
       "\n",
       "    $(parent_element).append(this.root);\n",
       "\n",
       "    this._init_header(this);\n",
       "    this._init_canvas(this);\n",
       "    this._init_toolbar(this);\n",
       "\n",
       "    var fig = this;\n",
       "\n",
       "    this.waiting = false;\n",
       "\n",
       "    this.ws.onopen =  function () {\n",
       "            fig.send_message(\"supports_binary\", {value: fig.supports_binary});\n",
       "            fig.send_message(\"send_image_mode\", {});\n",
       "            if (mpl.ratio != 1) {\n",
       "                fig.send_message(\"set_dpi_ratio\", {'dpi_ratio': mpl.ratio});\n",
       "            }\n",
       "            fig.send_message(\"refresh\", {});\n",
       "        }\n",
       "\n",
       "    this.imageObj.onload = function() {\n",
       "            if (fig.image_mode == 'full') {\n",
       "                // Full images could contain transparency (where diff images\n",
       "                // almost always do), so we need to clear the canvas so that\n",
       "                // there is no ghosting.\n",
       "                fig.context.clearRect(0, 0, fig.canvas.width, fig.canvas.height);\n",
       "            }\n",
       "            fig.context.drawImage(fig.imageObj, 0, 0);\n",
       "        };\n",
       "\n",
       "    this.imageObj.onunload = function() {\n",
       "        fig.ws.close();\n",
       "    }\n",
       "\n",
       "    this.ws.onmessage = this._make_on_message_function(this);\n",
       "\n",
       "    this.ondownload = ondownload;\n",
       "}\n",
       "\n",
       "mpl.figure.prototype._init_header = function() {\n",
       "    var titlebar = $(\n",
       "        '<div class=\"ui-dialog-titlebar ui-widget-header ui-corner-all ' +\n",
       "        'ui-helper-clearfix\"/>');\n",
       "    var titletext = $(\n",
       "        '<div class=\"ui-dialog-title\" style=\"width: 100%; ' +\n",
       "        'text-align: center; padding: 3px;\"/>');\n",
       "    titlebar.append(titletext)\n",
       "    this.root.append(titlebar);\n",
       "    this.header = titletext[0];\n",
       "}\n",
       "\n",
       "\n",
       "\n",
       "mpl.figure.prototype._canvas_extra_style = function(canvas_div) {\n",
       "\n",
       "}\n",
       "\n",
       "\n",
       "mpl.figure.prototype._root_extra_style = function(canvas_div) {\n",
       "\n",
       "}\n",
       "\n",
       "mpl.figure.prototype._init_canvas = function() {\n",
       "    var fig = this;\n",
       "\n",
       "    var canvas_div = $('<div/>');\n",
       "\n",
       "    canvas_div.attr('style', 'position: relative; clear: both; outline: 0');\n",
       "\n",
       "    function canvas_keyboard_event(event) {\n",
       "        return fig.key_event(event, event['data']);\n",
       "    }\n",
       "\n",
       "    canvas_div.keydown('key_press', canvas_keyboard_event);\n",
       "    canvas_div.keyup('key_release', canvas_keyboard_event);\n",
       "    this.canvas_div = canvas_div\n",
       "    this._canvas_extra_style(canvas_div)\n",
       "    this.root.append(canvas_div);\n",
       "\n",
       "    var canvas = $('<canvas/>');\n",
       "    canvas.addClass('mpl-canvas');\n",
       "    canvas.attr('style', \"left: 0; top: 0; z-index: 0; outline: 0\")\n",
       "\n",
       "    this.canvas = canvas[0];\n",
       "    this.context = canvas[0].getContext(\"2d\");\n",
       "\n",
       "    var backingStore = this.context.backingStorePixelRatio ||\n",
       "\tthis.context.webkitBackingStorePixelRatio ||\n",
       "\tthis.context.mozBackingStorePixelRatio ||\n",
       "\tthis.context.msBackingStorePixelRatio ||\n",
       "\tthis.context.oBackingStorePixelRatio ||\n",
       "\tthis.context.backingStorePixelRatio || 1;\n",
       "\n",
       "    mpl.ratio = (window.devicePixelRatio || 1) / backingStore;\n",
       "\n",
       "    var rubberband = $('<canvas/>');\n",
       "    rubberband.attr('style', \"position: absolute; left: 0; top: 0; z-index: 1;\")\n",
       "\n",
       "    var pass_mouse_events = true;\n",
       "\n",
       "    canvas_div.resizable({\n",
       "        start: function(event, ui) {\n",
       "            pass_mouse_events = false;\n",
       "        },\n",
       "        resize: function(event, ui) {\n",
       "            fig.request_resize(ui.size.width, ui.size.height);\n",
       "        },\n",
       "        stop: function(event, ui) {\n",
       "            pass_mouse_events = true;\n",
       "            fig.request_resize(ui.size.width, ui.size.height);\n",
       "        },\n",
       "    });\n",
       "\n",
       "    function mouse_event_fn(event) {\n",
       "        if (pass_mouse_events)\n",
       "            return fig.mouse_event(event, event['data']);\n",
       "    }\n",
       "\n",
       "    rubberband.mousedown('button_press', mouse_event_fn);\n",
       "    rubberband.mouseup('button_release', mouse_event_fn);\n",
       "    // Throttle sequential mouse events to 1 every 20ms.\n",
       "    rubberband.mousemove('motion_notify', mouse_event_fn);\n",
       "\n",
       "    rubberband.mouseenter('figure_enter', mouse_event_fn);\n",
       "    rubberband.mouseleave('figure_leave', mouse_event_fn);\n",
       "\n",
       "    canvas_div.on(\"wheel\", function (event) {\n",
       "        event = event.originalEvent;\n",
       "        event['data'] = 'scroll'\n",
       "        if (event.deltaY < 0) {\n",
       "            event.step = 1;\n",
       "        } else {\n",
       "            event.step = -1;\n",
       "        }\n",
       "        mouse_event_fn(event);\n",
       "    });\n",
       "\n",
       "    canvas_div.append(canvas);\n",
       "    canvas_div.append(rubberband);\n",
       "\n",
       "    this.rubberband = rubberband;\n",
       "    this.rubberband_canvas = rubberband[0];\n",
       "    this.rubberband_context = rubberband[0].getContext(\"2d\");\n",
       "    this.rubberband_context.strokeStyle = \"#000000\";\n",
       "\n",
       "    this._resize_canvas = function(width, height) {\n",
       "        // Keep the size of the canvas, canvas container, and rubber band\n",
       "        // canvas in synch.\n",
       "        canvas_div.css('width', width)\n",
       "        canvas_div.css('height', height)\n",
       "\n",
       "        canvas.attr('width', width * mpl.ratio);\n",
       "        canvas.attr('height', height * mpl.ratio);\n",
       "        canvas.attr('style', 'width: ' + width + 'px; height: ' + height + 'px;');\n",
       "\n",
       "        rubberband.attr('width', width);\n",
       "        rubberband.attr('height', height);\n",
       "    }\n",
       "\n",
       "    // Set the figure to an initial 600x600px, this will subsequently be updated\n",
       "    // upon first draw.\n",
       "    this._resize_canvas(600, 600);\n",
       "\n",
       "    // Disable right mouse context menu.\n",
       "    $(this.rubberband_canvas).bind(\"contextmenu\",function(e){\n",
       "        return false;\n",
       "    });\n",
       "\n",
       "    function set_focus () {\n",
       "        canvas.focus();\n",
       "        canvas_div.focus();\n",
       "    }\n",
       "\n",
       "    window.setTimeout(set_focus, 100);\n",
       "}\n",
       "\n",
       "mpl.figure.prototype._init_toolbar = function() {\n",
       "    var fig = this;\n",
       "\n",
       "    var nav_element = $('<div/>')\n",
       "    nav_element.attr('style', 'width: 100%');\n",
       "    this.root.append(nav_element);\n",
       "\n",
       "    // Define a callback function for later on.\n",
       "    function toolbar_event(event) {\n",
       "        return fig.toolbar_button_onclick(event['data']);\n",
       "    }\n",
       "    function toolbar_mouse_event(event) {\n",
       "        return fig.toolbar_button_onmouseover(event['data']);\n",
       "    }\n",
       "\n",
       "    for(var toolbar_ind in mpl.toolbar_items) {\n",
       "        var name = mpl.toolbar_items[toolbar_ind][0];\n",
       "        var tooltip = mpl.toolbar_items[toolbar_ind][1];\n",
       "        var image = mpl.toolbar_items[toolbar_ind][2];\n",
       "        var method_name = mpl.toolbar_items[toolbar_ind][3];\n",
       "\n",
       "        if (!name) {\n",
       "            // put a spacer in here.\n",
       "            continue;\n",
       "        }\n",
       "        var button = $('<button/>');\n",
       "        button.addClass('ui-button ui-widget ui-state-default ui-corner-all ' +\n",
       "                        'ui-button-icon-only');\n",
       "        button.attr('role', 'button');\n",
       "        button.attr('aria-disabled', 'false');\n",
       "        button.click(method_name, toolbar_event);\n",
       "        button.mouseover(tooltip, toolbar_mouse_event);\n",
       "\n",
       "        var icon_img = $('<span/>');\n",
       "        icon_img.addClass('ui-button-icon-primary ui-icon');\n",
       "        icon_img.addClass(image);\n",
       "        icon_img.addClass('ui-corner-all');\n",
       "\n",
       "        var tooltip_span = $('<span/>');\n",
       "        tooltip_span.addClass('ui-button-text');\n",
       "        tooltip_span.html(tooltip);\n",
       "\n",
       "        button.append(icon_img);\n",
       "        button.append(tooltip_span);\n",
       "\n",
       "        nav_element.append(button);\n",
       "    }\n",
       "\n",
       "    var fmt_picker_span = $('<span/>');\n",
       "\n",
       "    var fmt_picker = $('<select/>');\n",
       "    fmt_picker.addClass('mpl-toolbar-option ui-widget ui-widget-content');\n",
       "    fmt_picker_span.append(fmt_picker);\n",
       "    nav_element.append(fmt_picker_span);\n",
       "    this.format_dropdown = fmt_picker[0];\n",
       "\n",
       "    for (var ind in mpl.extensions) {\n",
       "        var fmt = mpl.extensions[ind];\n",
       "        var option = $(\n",
       "            '<option/>', {selected: fmt === mpl.default_extension}).html(fmt);\n",
       "        fmt_picker.append(option)\n",
       "    }\n",
       "\n",
       "    // Add hover states to the ui-buttons\n",
       "    $( \".ui-button\" ).hover(\n",
       "        function() { $(this).addClass(\"ui-state-hover\");},\n",
       "        function() { $(this).removeClass(\"ui-state-hover\");}\n",
       "    );\n",
       "\n",
       "    var status_bar = $('<span class=\"mpl-message\"/>');\n",
       "    nav_element.append(status_bar);\n",
       "    this.message = status_bar[0];\n",
       "}\n",
       "\n",
       "mpl.figure.prototype.request_resize = function(x_pixels, y_pixels) {\n",
       "    // Request matplotlib to resize the figure. Matplotlib will then trigger a resize in the client,\n",
       "    // which will in turn request a refresh of the image.\n",
       "    this.send_message('resize', {'width': x_pixels, 'height': y_pixels});\n",
       "}\n",
       "\n",
       "mpl.figure.prototype.send_message = function(type, properties) {\n",
       "    properties['type'] = type;\n",
       "    properties['figure_id'] = this.id;\n",
       "    this.ws.send(JSON.stringify(properties));\n",
       "}\n",
       "\n",
       "mpl.figure.prototype.send_draw_message = function() {\n",
       "    if (!this.waiting) {\n",
       "        this.waiting = true;\n",
       "        this.ws.send(JSON.stringify({type: \"draw\", figure_id: this.id}));\n",
       "    }\n",
       "}\n",
       "\n",
       "\n",
       "mpl.figure.prototype.handle_save = function(fig, msg) {\n",
       "    var format_dropdown = fig.format_dropdown;\n",
       "    var format = format_dropdown.options[format_dropdown.selectedIndex].value;\n",
       "    fig.ondownload(fig, format);\n",
       "}\n",
       "\n",
       "\n",
       "mpl.figure.prototype.handle_resize = function(fig, msg) {\n",
       "    var size = msg['size'];\n",
       "    if (size[0] != fig.canvas.width || size[1] != fig.canvas.height) {\n",
       "        fig._resize_canvas(size[0], size[1]);\n",
       "        fig.send_message(\"refresh\", {});\n",
       "    };\n",
       "}\n",
       "\n",
       "mpl.figure.prototype.handle_rubberband = function(fig, msg) {\n",
       "    var x0 = msg['x0'] / mpl.ratio;\n",
       "    var y0 = (fig.canvas.height - msg['y0']) / mpl.ratio;\n",
       "    var x1 = msg['x1'] / mpl.ratio;\n",
       "    var y1 = (fig.canvas.height - msg['y1']) / mpl.ratio;\n",
       "    x0 = Math.floor(x0) + 0.5;\n",
       "    y0 = Math.floor(y0) + 0.5;\n",
       "    x1 = Math.floor(x1) + 0.5;\n",
       "    y1 = Math.floor(y1) + 0.5;\n",
       "    var min_x = Math.min(x0, x1);\n",
       "    var min_y = Math.min(y0, y1);\n",
       "    var width = Math.abs(x1 - x0);\n",
       "    var height = Math.abs(y1 - y0);\n",
       "\n",
       "    fig.rubberband_context.clearRect(\n",
       "        0, 0, fig.canvas.width, fig.canvas.height);\n",
       "\n",
       "    fig.rubberband_context.strokeRect(min_x, min_y, width, height);\n",
       "}\n",
       "\n",
       "mpl.figure.prototype.handle_figure_label = function(fig, msg) {\n",
       "    // Updates the figure title.\n",
       "    fig.header.textContent = msg['label'];\n",
       "}\n",
       "\n",
       "mpl.figure.prototype.handle_cursor = function(fig, msg) {\n",
       "    var cursor = msg['cursor'];\n",
       "    switch(cursor)\n",
       "    {\n",
       "    case 0:\n",
       "        cursor = 'pointer';\n",
       "        break;\n",
       "    case 1:\n",
       "        cursor = 'default';\n",
       "        break;\n",
       "    case 2:\n",
       "        cursor = 'crosshair';\n",
       "        break;\n",
       "    case 3:\n",
       "        cursor = 'move';\n",
       "        break;\n",
       "    }\n",
       "    fig.rubberband_canvas.style.cursor = cursor;\n",
       "}\n",
       "\n",
       "mpl.figure.prototype.handle_message = function(fig, msg) {\n",
       "    fig.message.textContent = msg['message'];\n",
       "}\n",
       "\n",
       "mpl.figure.prototype.handle_draw = function(fig, msg) {\n",
       "    // Request the server to send over a new figure.\n",
       "    fig.send_draw_message();\n",
       "}\n",
       "\n",
       "mpl.figure.prototype.handle_image_mode = function(fig, msg) {\n",
       "    fig.image_mode = msg['mode'];\n",
       "}\n",
       "\n",
       "mpl.figure.prototype.updated_canvas_event = function() {\n",
       "    // Called whenever the canvas gets updated.\n",
       "    this.send_message(\"ack\", {});\n",
       "}\n",
       "\n",
       "// A function to construct a web socket function for onmessage handling.\n",
       "// Called in the figure constructor.\n",
       "mpl.figure.prototype._make_on_message_function = function(fig) {\n",
       "    return function socket_on_message(evt) {\n",
       "        if (evt.data instanceof Blob) {\n",
       "            /* FIXME: We get \"Resource interpreted as Image but\n",
       "             * transferred with MIME type text/plain:\" errors on\n",
       "             * Chrome.  But how to set the MIME type?  It doesn't seem\n",
       "             * to be part of the websocket stream */\n",
       "            evt.data.type = \"image/png\";\n",
       "\n",
       "            /* Free the memory for the previous frames */\n",
       "            if (fig.imageObj.src) {\n",
       "                (window.URL || window.webkitURL).revokeObjectURL(\n",
       "                    fig.imageObj.src);\n",
       "            }\n",
       "\n",
       "            fig.imageObj.src = (window.URL || window.webkitURL).createObjectURL(\n",
       "                evt.data);\n",
       "            fig.updated_canvas_event();\n",
       "            fig.waiting = false;\n",
       "            return;\n",
       "        }\n",
       "        else if (typeof evt.data === 'string' && evt.data.slice(0, 21) == \"data:image/png;base64\") {\n",
       "            fig.imageObj.src = evt.data;\n",
       "            fig.updated_canvas_event();\n",
       "            fig.waiting = false;\n",
       "            return;\n",
       "        }\n",
       "\n",
       "        var msg = JSON.parse(evt.data);\n",
       "        var msg_type = msg['type'];\n",
       "\n",
       "        // Call the  \"handle_{type}\" callback, which takes\n",
       "        // the figure and JSON message as its only arguments.\n",
       "        try {\n",
       "            var callback = fig[\"handle_\" + msg_type];\n",
       "        } catch (e) {\n",
       "            console.log(\"No handler for the '\" + msg_type + \"' message type: \", msg);\n",
       "            return;\n",
       "        }\n",
       "\n",
       "        if (callback) {\n",
       "            try {\n",
       "                // console.log(\"Handling '\" + msg_type + \"' message: \", msg);\n",
       "                callback(fig, msg);\n",
       "            } catch (e) {\n",
       "                console.log(\"Exception inside the 'handler_\" + msg_type + \"' callback:\", e, e.stack, msg);\n",
       "            }\n",
       "        }\n",
       "    };\n",
       "}\n",
       "\n",
       "// from http://stackoverflow.com/questions/1114465/getting-mouse-location-in-canvas\n",
       "mpl.findpos = function(e) {\n",
       "    //this section is from http://www.quirksmode.org/js/events_properties.html\n",
       "    var targ;\n",
       "    if (!e)\n",
       "        e = window.event;\n",
       "    if (e.target)\n",
       "        targ = e.target;\n",
       "    else if (e.srcElement)\n",
       "        targ = e.srcElement;\n",
       "    if (targ.nodeType == 3) // defeat Safari bug\n",
       "        targ = targ.parentNode;\n",
       "\n",
       "    // jQuery normalizes the pageX and pageY\n",
       "    // pageX,Y are the mouse positions relative to the document\n",
       "    // offset() returns the position of the element relative to the document\n",
       "    var x = e.pageX - $(targ).offset().left;\n",
       "    var y = e.pageY - $(targ).offset().top;\n",
       "\n",
       "    return {\"x\": x, \"y\": y};\n",
       "};\n",
       "\n",
       "/*\n",
       " * return a copy of an object with only non-object keys\n",
       " * we need this to avoid circular references\n",
       " * http://stackoverflow.com/a/24161582/3208463\n",
       " */\n",
       "function simpleKeys (original) {\n",
       "  return Object.keys(original).reduce(function (obj, key) {\n",
       "    if (typeof original[key] !== 'object')\n",
       "        obj[key] = original[key]\n",
       "    return obj;\n",
       "  }, {});\n",
       "}\n",
       "\n",
       "mpl.figure.prototype.mouse_event = function(event, name) {\n",
       "    var canvas_pos = mpl.findpos(event)\n",
       "\n",
       "    if (name === 'button_press')\n",
       "    {\n",
       "        this.canvas.focus();\n",
       "        this.canvas_div.focus();\n",
       "    }\n",
       "\n",
       "    var x = canvas_pos.x * mpl.ratio;\n",
       "    var y = canvas_pos.y * mpl.ratio;\n",
       "\n",
       "    this.send_message(name, {x: x, y: y, button: event.button,\n",
       "                             step: event.step,\n",
       "                             guiEvent: simpleKeys(event)});\n",
       "\n",
       "    /* This prevents the web browser from automatically changing to\n",
       "     * the text insertion cursor when the button is pressed.  We want\n",
       "     * to control all of the cursor setting manually through the\n",
       "     * 'cursor' event from matplotlib */\n",
       "    event.preventDefault();\n",
       "    return false;\n",
       "}\n",
       "\n",
       "mpl.figure.prototype._key_event_extra = function(event, name) {\n",
       "    // Handle any extra behaviour associated with a key event\n",
       "}\n",
       "\n",
       "mpl.figure.prototype.key_event = function(event, name) {\n",
       "\n",
       "    // Prevent repeat events\n",
       "    if (name == 'key_press')\n",
       "    {\n",
       "        if (event.which === this._key)\n",
       "            return;\n",
       "        else\n",
       "            this._key = event.which;\n",
       "    }\n",
       "    if (name == 'key_release')\n",
       "        this._key = null;\n",
       "\n",
       "    var value = '';\n",
       "    if (event.ctrlKey && event.which != 17)\n",
       "        value += \"ctrl+\";\n",
       "    if (event.altKey && event.which != 18)\n",
       "        value += \"alt+\";\n",
       "    if (event.shiftKey && event.which != 16)\n",
       "        value += \"shift+\";\n",
       "\n",
       "    value += 'k';\n",
       "    value += event.which.toString();\n",
       "\n",
       "    this._key_event_extra(event, name);\n",
       "\n",
       "    this.send_message(name, {key: value,\n",
       "                             guiEvent: simpleKeys(event)});\n",
       "    return false;\n",
       "}\n",
       "\n",
       "mpl.figure.prototype.toolbar_button_onclick = function(name) {\n",
       "    if (name == 'download') {\n",
       "        this.handle_save(this, null);\n",
       "    } else {\n",
       "        this.send_message(\"toolbar_button\", {name: name});\n",
       "    }\n",
       "};\n",
       "\n",
       "mpl.figure.prototype.toolbar_button_onmouseover = function(tooltip) {\n",
       "    this.message.textContent = tooltip;\n",
       "};\n",
       "mpl.toolbar_items = [[\"Home\", \"Reset original view\", \"fa fa-home icon-home\", \"home\"], [\"Back\", \"Back to previous view\", \"fa fa-arrow-left icon-arrow-left\", \"back\"], [\"Forward\", \"Forward to next view\", \"fa fa-arrow-right icon-arrow-right\", \"forward\"], [\"\", \"\", \"\", \"\"], [\"Pan\", \"Pan axes with left mouse, zoom with right\", \"fa fa-arrows icon-move\", \"pan\"], [\"Zoom\", \"Zoom to rectangle\", \"fa fa-square-o icon-check-empty\", \"zoom\"], [\"\", \"\", \"\", \"\"], [\"Download\", \"Download plot\", \"fa fa-floppy-o icon-save\", \"download\"]];\n",
       "\n",
       "mpl.extensions = [\"eps\", \"jpeg\", \"pdf\", \"png\", \"ps\", \"raw\", \"svg\", \"tif\"];\n",
       "\n",
       "mpl.default_extension = \"png\";var comm_websocket_adapter = function(comm) {\n",
       "    // Create a \"websocket\"-like object which calls the given IPython comm\n",
       "    // object with the appropriate methods. Currently this is a non binary\n",
       "    // socket, so there is still some room for performance tuning.\n",
       "    var ws = {};\n",
       "\n",
       "    ws.close = function() {\n",
       "        comm.close()\n",
       "    };\n",
       "    ws.send = function(m) {\n",
       "        //console.log('sending', m);\n",
       "        comm.send(m);\n",
       "    };\n",
       "    // Register the callback with on_msg.\n",
       "    comm.on_msg(function(msg) {\n",
       "        //console.log('receiving', msg['content']['data'], msg);\n",
       "        // Pass the mpl event to the overridden (by mpl) onmessage function.\n",
       "        ws.onmessage(msg['content']['data'])\n",
       "    });\n",
       "    return ws;\n",
       "}\n",
       "\n",
       "mpl.mpl_figure_comm = function(comm, msg) {\n",
       "    // This is the function which gets called when the mpl process\n",
       "    // starts-up an IPython Comm through the \"matplotlib\" channel.\n",
       "\n",
       "    var id = msg.content.data.id;\n",
       "    // Get hold of the div created by the display call when the Comm\n",
       "    // socket was opened in Python.\n",
       "    var element = $(\"#\" + id);\n",
       "    var ws_proxy = comm_websocket_adapter(comm)\n",
       "\n",
       "    function ondownload(figure, format) {\n",
       "        window.open(figure.imageObj.src);\n",
       "    }\n",
       "\n",
       "    var fig = new mpl.figure(id, ws_proxy,\n",
       "                           ondownload,\n",
       "                           element.get(0));\n",
       "\n",
       "    // Call onopen now - mpl needs it, as it is assuming we've passed it a real\n",
       "    // web socket which is closed, not our websocket->open comm proxy.\n",
       "    ws_proxy.onopen();\n",
       "\n",
       "    fig.parent_element = element.get(0);\n",
       "    fig.cell_info = mpl.find_output_cell(\"<div id='\" + id + \"'></div>\");\n",
       "    if (!fig.cell_info) {\n",
       "        console.error(\"Failed to find cell for figure\", id, fig);\n",
       "        return;\n",
       "    }\n",
       "\n",
       "    var output_index = fig.cell_info[2]\n",
       "    var cell = fig.cell_info[0];\n",
       "\n",
       "};\n",
       "\n",
       "mpl.figure.prototype.handle_close = function(fig, msg) {\n",
       "    var width = fig.canvas.width/mpl.ratio\n",
       "    fig.root.unbind('remove')\n",
       "\n",
       "    // Update the output cell to use the data from the current canvas.\n",
       "    fig.push_to_output();\n",
       "    var dataURL = fig.canvas.toDataURL();\n",
       "    // Re-enable the keyboard manager in IPython - without this line, in FF,\n",
       "    // the notebook keyboard shortcuts fail.\n",
       "    IPython.keyboard_manager.enable()\n",
       "    $(fig.parent_element).html('<img src=\"' + dataURL + '\" width=\"' + width + '\">');\n",
       "    fig.close_ws(fig, msg);\n",
       "}\n",
       "\n",
       "mpl.figure.prototype.close_ws = function(fig, msg){\n",
       "    fig.send_message('closing', msg);\n",
       "    // fig.ws.close()\n",
       "}\n",
       "\n",
       "mpl.figure.prototype.push_to_output = function(remove_interactive) {\n",
       "    // Turn the data on the canvas into data in the output cell.\n",
       "    var width = this.canvas.width/mpl.ratio\n",
       "    var dataURL = this.canvas.toDataURL();\n",
       "    this.cell_info[1]['text/html'] = '<img src=\"' + dataURL + '\" width=\"' + width + '\">';\n",
       "}\n",
       "\n",
       "mpl.figure.prototype.updated_canvas_event = function() {\n",
       "    // Tell IPython that the notebook contents must change.\n",
       "    IPython.notebook.set_dirty(true);\n",
       "    this.send_message(\"ack\", {});\n",
       "    var fig = this;\n",
       "    // Wait a second, then push the new image to the DOM so\n",
       "    // that it is saved nicely (might be nice to debounce this).\n",
       "    setTimeout(function () { fig.push_to_output() }, 1000);\n",
       "}\n",
       "\n",
       "mpl.figure.prototype._init_toolbar = function() {\n",
       "    var fig = this;\n",
       "\n",
       "    var nav_element = $('<div/>')\n",
       "    nav_element.attr('style', 'width: 100%');\n",
       "    this.root.append(nav_element);\n",
       "\n",
       "    // Define a callback function for later on.\n",
       "    function toolbar_event(event) {\n",
       "        return fig.toolbar_button_onclick(event['data']);\n",
       "    }\n",
       "    function toolbar_mouse_event(event) {\n",
       "        return fig.toolbar_button_onmouseover(event['data']);\n",
       "    }\n",
       "\n",
       "    for(var toolbar_ind in mpl.toolbar_items){\n",
       "        var name = mpl.toolbar_items[toolbar_ind][0];\n",
       "        var tooltip = mpl.toolbar_items[toolbar_ind][1];\n",
       "        var image = mpl.toolbar_items[toolbar_ind][2];\n",
       "        var method_name = mpl.toolbar_items[toolbar_ind][3];\n",
       "\n",
       "        if (!name) { continue; };\n",
       "\n",
       "        var button = $('<button class=\"btn btn-default\" href=\"#\" title=\"' + name + '\"><i class=\"fa ' + image + ' fa-lg\"></i></button>');\n",
       "        button.click(method_name, toolbar_event);\n",
       "        button.mouseover(tooltip, toolbar_mouse_event);\n",
       "        nav_element.append(button);\n",
       "    }\n",
       "\n",
       "    // Add the status bar.\n",
       "    var status_bar = $('<span class=\"mpl-message\" style=\"text-align:right; float: right;\"/>');\n",
       "    nav_element.append(status_bar);\n",
       "    this.message = status_bar[0];\n",
       "\n",
       "    // Add the close button to the window.\n",
       "    var buttongrp = $('<div class=\"btn-group inline pull-right\"></div>');\n",
       "    var button = $('<button class=\"btn btn-mini btn-primary\" href=\"#\" title=\"Stop Interaction\"><i class=\"fa fa-power-off icon-remove icon-large\"></i></button>');\n",
       "    button.click(function (evt) { fig.handle_close(fig, {}); } );\n",
       "    button.mouseover('Stop Interaction', toolbar_mouse_event);\n",
       "    buttongrp.append(button);\n",
       "    var titlebar = this.root.find($('.ui-dialog-titlebar'));\n",
       "    titlebar.prepend(buttongrp);\n",
       "}\n",
       "\n",
       "mpl.figure.prototype._root_extra_style = function(el){\n",
       "    var fig = this\n",
       "    el.on(\"remove\", function(){\n",
       "\tfig.close_ws(fig, {});\n",
       "    });\n",
       "}\n",
       "\n",
       "mpl.figure.prototype._canvas_extra_style = function(el){\n",
       "    // this is important to make the div 'focusable\n",
       "    el.attr('tabindex', 0)\n",
       "    // reach out to IPython and tell the keyboard manager to turn it's self\n",
       "    // off when our div gets focus\n",
       "\n",
       "    // location in version 3\n",
       "    if (IPython.notebook.keyboard_manager) {\n",
       "        IPython.notebook.keyboard_manager.register_events(el);\n",
       "    }\n",
       "    else {\n",
       "        // location in version 2\n",
       "        IPython.keyboard_manager.register_events(el);\n",
       "    }\n",
       "\n",
       "}\n",
       "\n",
       "mpl.figure.prototype._key_event_extra = function(event, name) {\n",
       "    var manager = IPython.notebook.keyboard_manager;\n",
       "    if (!manager)\n",
       "        manager = IPython.keyboard_manager;\n",
       "\n",
       "    // Check for shift+enter\n",
       "    if (event.shiftKey && event.which == 13) {\n",
       "        this.canvas_div.blur();\n",
       "        event.shiftKey = false;\n",
       "        // Send a \"J\" for go to next cell\n",
       "        event.which = 74;\n",
       "        event.keyCode = 74;\n",
       "        manager.command_mode();\n",
       "        manager.handle_keydown(event);\n",
       "    }\n",
       "}\n",
       "\n",
       "mpl.figure.prototype.handle_save = function(fig, msg) {\n",
       "    fig.ondownload(fig, null);\n",
       "}\n",
       "\n",
       "\n",
       "mpl.find_output_cell = function(html_output) {\n",
       "    // Return the cell and output element which can be found *uniquely* in the notebook.\n",
       "    // Note - this is a bit hacky, but it is done because the \"notebook_saving.Notebook\"\n",
       "    // IPython event is triggered only after the cells have been serialised, which for\n",
       "    // our purposes (turning an active figure into a static one), is too late.\n",
       "    var cells = IPython.notebook.get_cells();\n",
       "    var ncells = cells.length;\n",
       "    for (var i=0; i<ncells; i++) {\n",
       "        var cell = cells[i];\n",
       "        if (cell.cell_type === 'code'){\n",
       "            for (var j=0; j<cell.output_area.outputs.length; j++) {\n",
       "                var data = cell.output_area.outputs[j];\n",
       "                if (data.data) {\n",
       "                    // IPython >= 3 moved mimebundle to data attribute of output\n",
       "                    data = data.data;\n",
       "                }\n",
       "                if (data['text/html'] == html_output) {\n",
       "                    return [cell, data, j];\n",
       "                }\n",
       "            }\n",
       "        }\n",
       "    }\n",
       "}\n",
       "\n",
       "// Register the function which deals with the matplotlib target/channel.\n",
       "// The kernel may be null if the page has been refreshed.\n",
       "if (IPython.notebook.kernel != null) {\n",
       "    IPython.notebook.kernel.comm_manager.register_target('matplotlib', mpl.mpl_figure_comm);\n",
       "}\n"
      ],
      "text/plain": [
       "<IPython.core.display.Javascript object>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "text/html": [
       "<img src=\"data:image/png;base64,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\" width=\"640\">"
      ],
      "text/plain": [
       "<IPython.core.display.HTML object>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "plt.figure()\n",
    "plt.title('Predicting the change in DST Index')\n",
    "plt.plot(t_test, y_test, label='Data test')\n",
    "plt.plot(t_train, y_train, label='Data train')\n",
    "for model in models:\n",
    "    p = plt.plot(t_test, model['test_predict'], label=model['name'])\n",
    "    # Plot another line with the same color\n",
    "    plt.plot(t_train, model['train_predict'], color=p[0].get_color())\n",
    "plt.legend()\n",
    "plt.gcf().autofmt_xdate()\n",
    "plt.grid(True)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.7.1"
  },
  "name": "omni_notebook.ipynb"
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
