{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# Predicting the DST current index from other variables"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "ein.tags": "worksheet-0",
    "slideshow": {
     "slide_type": "-"
    }
   },
   "source": [
    "## Downloading data\n",
    "\n",
    "We will first download low-resolution data from [OMNI](https://omniweb.gsfc.nasa.gov/), and split it into a training and a test set.\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Downloading https://cdaweb.gsfc.nasa.gov/pub/data/omni//low_res_omni/omni2_2000.dat to /users/cpa/romaind/heliopy/data/omni/omni2_2000.dat\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "100.0% 2883584 / 2881152\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\n",
      "\n",
      "Downloading https://cdaweb.gsfc.nasa.gov/pub/data/omni//low_res_omni/omni2_2001.dat to /users/cpa/romaind/heliopy/data/omni/omni2_2001.dat\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "100.0% 2875392 / 2873280\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\n",
      "\n",
      "Downloading https://cdaweb.gsfc.nasa.gov/pub/data/omni//low_res_omni/omni2_2002.dat to /users/cpa/romaind/heliopy/data/omni/omni2_2002.dat\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "100.0% 2875392 / 2873280\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\n",
      "\n",
      "Downloading https://cdaweb.gsfc.nasa.gov/pub/data/omni//low_res_omni/omni2_2003.dat to /users/cpa/romaind/heliopy/data/omni/omni2_2003.dat\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "100.0% 2875392 / 2873280\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\n",
      "\n",
      "Downloading https://cdaweb.gsfc.nasa.gov/pub/data/omni//low_res_omni/omni2_2004.dat to /users/cpa/romaind/heliopy/data/omni/omni2_2004.dat\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "100.0% 2883584 / 2881152\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\n",
      "\n"
     ]
    },
    {
     "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>140233.000000</td>\n",
       "      <td>140233.000000</td>\n",
       "      <td>140105.000000</td>\n",
       "      <td>140233.000000</td>\n",
       "      <td>140105.000000</td>\n",
       "      <td>140233.000000</td>\n",
       "      <td>140233.000000</td>\n",
       "      <td>140233.000000</td>\n",
       "      <td>140233.000000</td>\n",
       "      <td>140233.000000</td>\n",
       "      <td>...</td>\n",
       "      <td>113159.000000</td>\n",
       "      <td>113134.000000</td>\n",
       "      <td>113120.000000</td>\n",
       "      <td>140233.000000</td>\n",
       "      <td>140233.000000</td>\n",
       "      <td>140113.000000</td>\n",
       "      <td>140035.000000</td>\n",
       "      <td>140233.000000</td>\n",
       "      <td>140233.000000</td>\n",
       "      <td>135984.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>mean</th>\n",
       "      <td>2379.926836</td>\n",
       "      <td>55.852353</td>\n",
       "      <td>56.569801</td>\n",
       "      <td>48.675333</td>\n",
       "      <td>30.049670</td>\n",
       "      <td>5.827601</td>\n",
       "      <td>5.174818</td>\n",
       "      <td>0.130479</td>\n",
       "      <td>201.635718</td>\n",
       "      <td>-0.004155</td>\n",
       "      <td>...</td>\n",
       "      <td>7.994024</td>\n",
       "      <td>2.036895</td>\n",
       "      <td>0.759653</td>\n",
       "      <td>-0.807028</td>\n",
       "      <td>10.408599</td>\n",
       "      <td>116.238255</td>\n",
       "      <td>0.960367</td>\n",
       "      <td>-110.092596</td>\n",
       "      <td>68.026370</td>\n",
       "      <td>5.641059</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>std</th>\n",
       "      <td>62.473060</td>\n",
       "      <td>8.573346</td>\n",
       "      <td>8.166480</td>\n",
       "      <td>19.356001</td>\n",
       "      <td>9.397953</td>\n",
       "      <td>3.219993</td>\n",
       "      <td>3.069832</td>\n",
       "      <td>29.213007</td>\n",
       "      <td>100.877033</td>\n",
       "      <td>3.473102</td>\n",
       "      <td>...</td>\n",
       "      <td>152.075039</td>\n",
       "      <td>48.944587</td>\n",
       "      <td>18.042820</td>\n",
       "      <td>0.394632</td>\n",
       "      <td>16.728629</td>\n",
       "      <td>43.382109</td>\n",
       "      <td>1.345067</td>\n",
       "      <td>143.618415</td>\n",
       "      <td>70.739359</td>\n",
       "      <td>1.158862</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>min</th>\n",
       "      <td>2272.000000</td>\n",
       "      <td>51.000000</td>\n",
       "      <td>45.000000</td>\n",
       "      <td>1.000000</td>\n",
       "      <td>1.000000</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.010000</td>\n",
       "      <td>0.010000</td>\n",
       "      <td>0.010000</td>\n",
       "      <td>-1.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>65.100000</td>\n",
       "      <td>-21.500000</td>\n",
       "      <td>-2452.000000</td>\n",
       "      <td>-260.000000</td>\n",
       "      <td>0.600000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>25%</th>\n",
       "      <td>2326.000000</td>\n",
       "      <td>51.000000</td>\n",
       "      <td>52.000000</td>\n",
       "      <td>51.000000</td>\n",
       "      <td>17.000000</td>\n",
       "      <td>3.800000</td>\n",
       "      <td>3.200000</td>\n",
       "      <td>-18.500000</td>\n",
       "      <td>122.300000</td>\n",
       "      <td>-2.500000</td>\n",
       "      <td>...</td>\n",
       "      <td>0.150000</td>\n",
       "      <td>0.080000</td>\n",
       "      <td>0.060000</td>\n",
       "      <td>-1.000000</td>\n",
       "      <td>3.000000</td>\n",
       "      <td>78.500000</td>\n",
       "      <td>0.100000</td>\n",
       "      <td>-148.000000</td>\n",
       "      <td>20.000000</td>\n",
       "      <td>4.900000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>50%</th>\n",
       "      <td>2380.000000</td>\n",
       "      <td>51.000000</td>\n",
       "      <td>52.000000</td>\n",
       "      <td>59.000000</td>\n",
       "      <td>35.000000</td>\n",
       "      <td>5.100000</td>\n",
       "      <td>4.500000</td>\n",
       "      <td>-0.100000</td>\n",
       "      <td>181.100000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>...</td>\n",
       "      <td>0.200000</td>\n",
       "      <td>0.110000</td>\n",
       "      <td>0.080000</td>\n",
       "      <td>-1.000000</td>\n",
       "      <td>6.000000</td>\n",
       "      <td>107.100000</td>\n",
       "      <td>0.600000</td>\n",
       "      <td>-49.000000</td>\n",
       "      <td>42.000000</td>\n",
       "      <td>5.700000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>75%</th>\n",
       "      <td>2434.000000</td>\n",
       "      <td>51.000000</td>\n",
       "      <td>52.000000</td>\n",
       "      <td>60.000000</td>\n",
       "      <td>37.000000</td>\n",
       "      <td>7.000000</td>\n",
       "      <td>6.200000</td>\n",
       "      <td>18.600000</td>\n",
       "      <td>302.000000</td>\n",
       "      <td>2.400000</td>\n",
       "      <td>...</td>\n",
       "      <td>0.250000</td>\n",
       "      <td>0.150000</td>\n",
       "      <td>0.110000</td>\n",
       "      <td>-1.000000</td>\n",
       "      <td>12.000000</td>\n",
       "      <td>141.200000</td>\n",
       "      <td>1.500000</td>\n",
       "      <td>-20.000000</td>\n",
       "      <td>91.000000</td>\n",
       "      <td>6.400000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>max</th>\n",
       "      <td>2488.000000</td>\n",
       "      <td>71.000000</td>\n",
       "      <td>71.000000</td>\n",
       "      <td>94.000000</td>\n",
       "      <td>74.000000</td>\n",
       "      <td>62.000000</td>\n",
       "      <td>60.700000</td>\n",
       "      <td>89.800000</td>\n",
       "      <td>360.000000</td>\n",
       "      <td>34.800000</td>\n",
       "      <td>...</td>\n",
       "      <td>9650.000000</td>\n",
       "      <td>3220.000000</td>\n",
       "      <td>1220.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>400.000000</td>\n",
       "      <td>325.100000</td>\n",
       "      <td>28.000000</td>\n",
       "      <td>22.000000</td>\n",
       "      <td>1226.000000</td>\n",
       "      <td>12.700000</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               140233.000000      140233.000000            140105.000000   \n",
       "mean                  2379.926836          55.852353                56.569801   \n",
       "std                     62.473060           8.573346                 8.166480   \n",
       "min                   2272.000000          51.000000                45.000000   \n",
       "25%                   2326.000000          51.000000                52.000000   \n",
       "50%                   2380.000000          51.000000                52.000000   \n",
       "75%                   2434.000000          51.000000                52.000000   \n",
       "max                   2488.000000          71.000000                71.000000   \n",
       "\n",
       "products  points(IMF Average)  points(Plasma Average)            |B|  \\\n",
       "count           140233.000000           140105.000000  140233.000000   \n",
       "mean                48.675333               30.049670       5.827601   \n",
       "std                 19.356001                9.397953       3.219993   \n",
       "min                  1.000000                1.000000       0.400000   \n",
       "25%                 51.000000               17.000000       3.800000   \n",
       "50%                 59.000000               35.000000       5.100000   \n",
       "75%                 60.000000               37.000000       7.000000   \n",
       "max                 94.000000               74.000000      62.000000   \n",
       "\n",
       "products  Magnitude of Avg Field Vector  Lat. Angle of Aver. Field Vector  \\\n",
       "count                     140233.000000                     140233.000000   \n",
       "mean                           5.174818                          0.130479   \n",
       "std                            3.069832                         29.213007   \n",
       "min                            0.100000                        -89.200000   \n",
       "25%                            3.200000                        -18.500000   \n",
       "50%                            4.500000                         -0.100000   \n",
       "75%                            6.200000                         18.600000   \n",
       "max                           60.700000                         89.800000   \n",
       "\n",
       "products  Long. Angle of Aver. Field Vector    Bx GSE, GSM  ...  \\\n",
       "count                         140233.000000  140233.000000  ...   \n",
       "mean                             201.635718      -0.004155  ...   \n",
       "std                              100.877033       3.473102  ...   \n",
       "min                                0.000000     -40.800000  ...   \n",
       "25%                              122.300000      -2.500000  ...   \n",
       "50%                              181.100000       0.000000  ...   \n",
       "75%                              302.000000       2.400000  ...   \n",
       "max                              360.000000      34.800000  ...   \n",
       "\n",
       "products  Proton Flux > 10MeV  Proton Flux > 30MeV  Proton Flux > 60MeV  \\\n",
       "count           113159.000000        113134.000000        113120.000000   \n",
       "mean                 7.994024             2.036895             0.759653   \n",
       "std                152.075039            48.944587            18.042820   \n",
       "min                  0.010000             0.010000             0.010000   \n",
       "25%                  0.150000             0.080000             0.060000   \n",
       "50%                  0.200000             0.110000             0.080000   \n",
       "75%                  0.250000             0.150000             0.110000   \n",
       "max               9650.000000          3220.000000          1220.000000   \n",
       "\n",
       "products           flag       ap index    f10.7 index    PC(N) index  \\\n",
       "count     140233.000000  140233.000000  140113.000000  140035.000000   \n",
       "mean          -0.807028      10.408599     116.238255       0.960367   \n",
       "std            0.394632      16.728629      43.382109       1.345067   \n",
       "min           -1.000000       0.000000      65.100000     -21.500000   \n",
       "25%           -1.000000       3.000000      78.500000       0.100000   \n",
       "50%           -1.000000       6.000000     107.100000       0.600000   \n",
       "75%           -1.000000      12.000000     141.200000       1.500000   \n",
       "max            0.000000     400.000000     325.100000      28.000000   \n",
       "\n",
       "products  AL index (Kyoto)  AU index (Kyoto)  Magnetosonic Mach No.  \n",
       "count        140233.000000     140233.000000          135984.000000  \n",
       "mean           -110.092596         68.026370               5.641059  \n",
       "std             143.618415         70.739359               1.158862  \n",
       "min           -2452.000000       -260.000000               0.600000  \n",
       "25%            -148.000000         20.000000               4.900000  \n",
       "50%             -49.000000         42.000000               5.700000  \n",
       "75%             -20.000000         91.000000               6.400000  \n",
       "max              22.000000       1226.000000              12.700000  \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",
    "from sklearn.model_selection import train_test_split\n",
    "\n",
    "# Set the start and end date as year, month, day\n",
    "t0 = datetime(2000, 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",
    "# Split into training and test data\n",
    "dtrain, dtest = train_test_split(pd_data, shuffle=False)\n",
    "\n",
    "pd_data.describe()"
   ]
  },
  {
   "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": 2,
   "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": [
    "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": [
    "## The correlation between the DST Index and other variables\n",
    "\n",
    "Let's have a look at the linear correlation between the DST index and other variables. Correlations range from -1 (anti-correlation) to 1 (perfect correlation), and a value around zero indicates the variables are linearly independent. (However, there might be a complex non-linear correlation)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "products\n",
      "DST Index                        1.000000\n",
      "ap index                        -0.629716\n",
      "Kp                              -0.573182\n",
      "AL index (Kyoto)                 0.548138\n",
      "AE Index                        -0.542807\n",
      "PC(N) index                     -0.514771\n",
      "Plasma Flow Speed               -0.456372\n",
      "AU index (Kyoto)                -0.420654\n",
      "|B|                             -0.396887\n",
      "Magnitude of Avg Field Vector   -0.386568\n",
      "Name: DST Index, dtype: float64\n"
     ]
    }
   ],
   "source": [
    "# Generate a correlation matrix\n",
    "corr_matrix = dtrain.corr()\n",
    "\n",
    "# Get the correlation with the DST index\n",
    "dst_corr = corr_matrix['DST Index']\n",
    "\n",
    "# Display correlations sorted by absolute value\n",
    "ix = dst_corr.abs().sort_values(ascending=False).index\n",
    "sorted_corr = dst_corr.reindex(ix)\n",
    "\n",
    "# Print the variables with the strongest correlations\n",
    "print(sorted_corr[:10])"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Selecting features\n",
    "\n",
    "We will now select *features* from which we will predict the DST Index (our target). There are a number of other indices that the DST correlates to, but to make this example somewhat challenging we will exclude them!"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "The features are:  ['Plasma Flow Speed', '|B|', 'Magnitude of Avg Field Vector', 'Na/Np', 'Bz GSM']\n",
      "The targets are:  ['DST Index']\n"
     ]
    }
   ],
   "source": [
    "# Get names of the variables\n",
    "all_names = list(sorted_corr.index)\n",
    "\n",
    "# Remove index variables\n",
    "my_names = [name for name in all_names if 'ndex' not in name]\n",
    "\n",
    "# Remove other variables\n",
    "my_names.remove('Kp')\n",
    "\n",
    "# Select variables with the strongest (absolute) correlations as features\n",
    "n_features = 5\n",
    "features = my_names[:n_features]\n",
    "targets = ['DST Index']\n",
    "all_vars = features + targets\n",
    "print(\"The features are: \", features)\n",
    "print(\"The targets are: \", targets)\n",
    "\n",
    "# Remove rows with missing values. We do this after selecting features,\n",
    "# otherwise we remove too many rows.\n",
    "dtrain_dropna = dtrain[all_vars].dropna()\n",
    "dtest_dropna = dtest[all_vars].dropna()\n",
    "\n",
    "# Get the features and targets\n",
    "X_train = dtrain_dropna[features].values\n",
    "y_train = dtrain_dropna[['DST Index']].values\n",
    "\n",
    "X_test = dtest_dropna[features].values\n",
    "y_test = dtest_dropna[['DST Index']].values\n",
    "\n",
    "t_test = dtest_dropna.index\n",
    "t_train = dtrain_dropna.index"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Regression models\n",
    "\n",
    "In this example, we consider a linear regression model and an artificial neural network (ANN) regression model. These models are used in a pipeline, which also performs scaling of the input data."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {},
   "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",
    "# A list of models to use\n",
    "models = []\n",
    "\n",
    "# Append a dictionary with the model name and pipeline\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": "markdown",
   "metadata": {},
   "source": [
    "## Training the models"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "  epoch    train_loss    valid_loss     dur\n",
      "-------  ------------  ------------  ------\n",
      "      1      \u001b[36m265.4195\u001b[0m      \u001b[32m510.7300\u001b[0m  4.9675\n",
      "      2      \u001b[36m199.7389\u001b[0m      514.0299  6.8559\n",
      "      3      \u001b[36m196.6792\u001b[0m      513.1639  5.4448\n",
      "      4      \u001b[36m194.9946\u001b[0m      511.3364  8.0728\n",
      "      5      \u001b[36m193.8425\u001b[0m      \u001b[32m508.8832\u001b[0m  3.3963\n",
      "      6      \u001b[36m192.9440\u001b[0m      \u001b[32m506.7368\u001b[0m  6.7031\n",
      "      7      \u001b[36m192.1152\u001b[0m      507.0628  4.3043\n",
      "      8      \u001b[36m191.5201\u001b[0m      \u001b[32m504.7900\u001b[0m  4.5337\n",
      "      9      \u001b[36m190.9533\u001b[0m      \u001b[32m504.0500\u001b[0m  5.6420\n",
      "     10      \u001b[36m190.5970\u001b[0m      \u001b[32m503.2600\u001b[0m  3.0030\n",
      "     11      \u001b[36m190.2063\u001b[0m      \u001b[32m502.6676\u001b[0m  3.0651\n",
      "     12      \u001b[36m189.9117\u001b[0m      \u001b[32m501.8307\u001b[0m  7.2454\n",
      "     13      \u001b[36m189.5939\u001b[0m      \u001b[32m501.4661\u001b[0m  7.0313\n",
      "     14      \u001b[36m189.3153\u001b[0m      \u001b[32m501.0051\u001b[0m  4.6045\n",
      "     15      \u001b[36m189.0875\u001b[0m      \u001b[32m500.4397\u001b[0m  8.1879\n",
      "     16      \u001b[36m188.8131\u001b[0m      \u001b[32m500.0692\u001b[0m  5.8018\n",
      "     17      \u001b[36m188.5830\u001b[0m      \u001b[32m499.5452\u001b[0m  8.0832\n",
      "     18      \u001b[36m188.3553\u001b[0m      \u001b[32m499.0485\u001b[0m  5.2213\n",
      "     19      \u001b[36m188.0861\u001b[0m      \u001b[32m498.7523\u001b[0m  4.9091\n",
      "     20      \u001b[36m187.9017\u001b[0m      \u001b[32m498.4360\u001b[0m  4.6728\n",
      "     21      \u001b[36m187.7025\u001b[0m      \u001b[32m498.1764\u001b[0m  4.8058\n",
      "     22      \u001b[36m187.4986\u001b[0m      \u001b[32m497.6907\u001b[0m  3.5740\n",
      "     23      \u001b[36m187.3130\u001b[0m      \u001b[32m497.4540\u001b[0m  4.4685\n",
      "     24      \u001b[36m187.1445\u001b[0m      \u001b[32m497.1794\u001b[0m  4.2933\n",
      "     25      \u001b[36m186.9713\u001b[0m      \u001b[32m496.8183\u001b[0m  7.3463\n",
      "Linear Regression              R2 score on test / train set:     0.394    0.375\n",
      "Multilayer perceptron          R2 score on test / train set:     0.415    0.404\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": [
    "## Visualizing the model predictions"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "application/javascript": [
       "/* Put everything inside the global mpl namespace */\n",
       "window.mpl = {};\n",
       "\n",
       "\n",
       "mpl.get_websocket_type = function() {\n",
       "    if (typeof(WebSocket) !== 'undefined') {\n",
       "        return WebSocket;\n",
       "    } else if (typeof(MozWebSocket) !== 'undefined') {\n",
       "        return MozWebSocket;\n",
       "    } else {\n",
       "        alert('Your browser does not have WebSocket support.' +\n",
       "              'Please try Chrome, Safari or Firefox ≥ 6. ' +\n",
       "              'Firefox 4 and 5 are also supported but you ' +\n",
       "              'have to enable WebSockets in about:config.');\n",
       "    };\n",
       "}\n",
       "\n",
       "mpl.figure = function(figure_id, websocket, ondownload, parent_element) {\n",
       "    this.id = figure_id;\n",
       "\n",
       "    this.ws = websocket;\n",
       "\n",
       "    this.supports_binary = (this.ws.binaryType != undefined);\n",
       "\n",
       "    if (!this.supports_binary) {\n",
       "        var warnings = document.getElementById(\"mpl-warnings\");\n",
       "        if (warnings) {\n",
       "            warnings.style.display = 'block';\n",
       "            warnings.textContent = (\n",
       "                \"This browser does not support binary websocket messages. \" +\n",
       "                    \"Performance may be slow.\");\n",
       "        }\n",
       "    }\n",
       "\n",
       "    this.imageObj = new Image();\n",
       "\n",
       "    this.context = undefined;\n",
       "    this.message = undefined;\n",
       "    this.canvas = undefined;\n",
       "    this.rubberband_canvas = undefined;\n",
       "    this.rubberband_context = undefined;\n",
       "    this.format_dropdown = undefined;\n",
       "\n",
       "    this.image_mode = 'full';\n",
       "\n",
       "    this.root = $('<div/>');\n",
       "    this._root_extra_style(this.root)\n",
       "    this.root.attr('style', 'display: inline-block');\n",
       "\n",
       "    $(parent_element).append(this.root);\n",
       "\n",
       "    this._init_header(this);\n",
       "    this._init_canvas(this);\n",
       "    this._init_toolbar(this);\n",
       "\n",
       "    var fig = this;\n",
       "\n",
       "    this.waiting = false;\n",
       "\n",
       "    this.ws.onopen =  function () {\n",
       "            fig.send_message(\"supports_binary\", {value: fig.supports_binary});\n",
       "            fig.send_message(\"send_image_mode\", {});\n",
       "            if (mpl.ratio != 1) {\n",
       "                fig.send_message(\"set_dpi_ratio\", {'dpi_ratio': mpl.ratio});\n",
       "            }\n",
       "            fig.send_message(\"refresh\", {});\n",
       "        }\n",
       "\n",
       "    this.imageObj.onload = function() {\n",
       "            if (fig.image_mode == 'full') {\n",
       "                // Full images could contain transparency (where diff images\n",
       "                // almost always do), so we need to clear the canvas so that\n",
       "                // there is no ghosting.\n",
       "                fig.context.clearRect(0, 0, fig.canvas.width, fig.canvas.height);\n",
       "            }\n",
       "            fig.context.drawImage(fig.imageObj, 0, 0);\n",
       "        };\n",
       "\n",
       "    this.imageObj.onunload = function() {\n",
       "        fig.ws.close();\n",
       "    }\n",
       "\n",
       "    this.ws.onmessage = this._make_on_message_function(this);\n",
       "\n",
       "    this.ondownload = ondownload;\n",
       "}\n",
       "\n",
       "mpl.figure.prototype._init_header = function() {\n",
       "    var titlebar = $(\n",
       "        '<div class=\"ui-dialog-titlebar ui-widget-header ui-corner-all ' +\n",
       "        'ui-helper-clearfix\"/>');\n",
       "    var titletext = $(\n",
       "        '<div class=\"ui-dialog-title\" style=\"width: 100%; ' +\n",
       "        'text-align: center; padding: 3px;\"/>');\n",
       "    titlebar.append(titletext)\n",
       "    this.root.append(titlebar);\n",
       "    this.header = titletext[0];\n",
       "}\n",
       "\n",
       "\n",
       "\n",
       "mpl.figure.prototype._canvas_extra_style = function(canvas_div) {\n",
       "\n",
       "}\n",
       "\n",
       "\n",
       "mpl.figure.prototype._root_extra_style = function(canvas_div) {\n",
       "\n",
       "}\n",
       "\n",
       "mpl.figure.prototype._init_canvas = function() {\n",
       "    var fig = this;\n",
       "\n",
       "    var canvas_div = $('<div/>');\n",
       "\n",
       "    canvas_div.attr('style', 'position: relative; clear: both; outline: 0');\n",
       "\n",
       "    function canvas_keyboard_event(event) {\n",
       "        return fig.key_event(event, event['data']);\n",
       "    }\n",
       "\n",
       "    canvas_div.keydown('key_press', canvas_keyboard_event);\n",
       "    canvas_div.keyup('key_release', canvas_keyboard_event);\n",
       "    this.canvas_div = canvas_div\n",
       "    this._canvas_extra_style(canvas_div)\n",
       "    this.root.append(canvas_div);\n",
       "\n",
       "    var canvas = $('<canvas/>');\n",
       "    canvas.addClass('mpl-canvas');\n",
       "    canvas.attr('style', \"left: 0; top: 0; z-index: 0; outline: 0\")\n",
       "\n",
       "    this.canvas = canvas[0];\n",
       "    this.context = canvas[0].getContext(\"2d\");\n",
       "\n",
       "    var backingStore = this.context.backingStorePixelRatio ||\n",
       "\tthis.context.webkitBackingStorePixelRatio ||\n",
       "\tthis.context.mozBackingStorePixelRatio ||\n",
       "\tthis.context.msBackingStorePixelRatio ||\n",
       "\tthis.context.oBackingStorePixelRatio ||\n",
       "\tthis.context.backingStorePixelRatio || 1;\n",
       "\n",
       "    mpl.ratio = (window.devicePixelRatio || 1) / backingStore;\n",
       "\n",
       "    var rubberband = $('<canvas/>');\n",
       "    rubberband.attr('style', \"position: absolute; left: 0; top: 0; z-index: 1;\")\n",
       "\n",
       "    var pass_mouse_events = true;\n",
       "\n",
       "    canvas_div.resizable({\n",
       "        start: function(event, ui) {\n",
       "            pass_mouse_events = false;\n",
       "        },\n",
       "        resize: function(event, ui) {\n",
       "            fig.request_resize(ui.size.width, ui.size.height);\n",
       "        },\n",
       "        stop: function(event, ui) {\n",
       "            pass_mouse_events = true;\n",
       "            fig.request_resize(ui.size.width, ui.size.height);\n",
       "        },\n",
       "    });\n",
       "\n",
       "    function mouse_event_fn(event) {\n",
       "        if (pass_mouse_events)\n",
       "            return fig.mouse_event(event, event['data']);\n",
       "    }\n",
       "\n",
       "    rubberband.mousedown('button_press', mouse_event_fn);\n",
       "    rubberband.mouseup('button_release', mouse_event_fn);\n",
       "    // Throttle sequential mouse events to 1 every 20ms.\n",
       "    rubberband.mousemove('motion_notify', mouse_event_fn);\n",
       "\n",
       "    rubberband.mouseenter('figure_enter', mouse_event_fn);\n",
       "    rubberband.mouseleave('figure_leave', mouse_event_fn);\n",
       "\n",
       "    canvas_div.on(\"wheel\", function (event) {\n",
       "        event = event.originalEvent;\n",
       "        event['data'] = 'scroll'\n",
       "        if (event.deltaY < 0) {\n",
       "            event.step = 1;\n",
       "        } else {\n",
       "            event.step = -1;\n",
       "        }\n",
       "        mouse_event_fn(event);\n",
       "    });\n",
       "\n",
       "    canvas_div.append(canvas);\n",
       "    canvas_div.append(rubberband);\n",
       "\n",
       "    this.rubberband = rubberband;\n",
       "    this.rubberband_canvas = rubberband[0];\n",
       "    this.rubberband_context = rubberband[0].getContext(\"2d\");\n",
       "    this.rubberband_context.strokeStyle = \"#000000\";\n",
       "\n",
       "    this._resize_canvas = function(width, height) {\n",
       "        // Keep the size of the canvas, canvas container, and rubber band\n",
       "        // canvas in synch.\n",
       "        canvas_div.css('width', width)\n",
       "        canvas_div.css('height', height)\n",
       "\n",
       "        canvas.attr('width', width * mpl.ratio);\n",
       "        canvas.attr('height', height * mpl.ratio);\n",
       "        canvas.attr('style', 'width: ' + width + 'px; height: ' + height + 'px;');\n",
       "\n",
       "        rubberband.attr('width', width);\n",
       "        rubberband.attr('height', height);\n",
       "    }\n",
       "\n",
       "    // Set the figure to an initial 600x600px, this will subsequently be updated\n",
       "    // upon first draw.\n",
       "    this._resize_canvas(600, 600);\n",
       "\n",
       "    // Disable right mouse context menu.\n",
       "    $(this.rubberband_canvas).bind(\"contextmenu\",function(e){\n",
       "        return false;\n",
       "    });\n",
       "\n",
       "    function set_focus () {\n",
       "        canvas.focus();\n",
       "        canvas_div.focus();\n",
       "    }\n",
       "\n",
       "    window.setTimeout(set_focus, 100);\n",
       "}\n",
       "\n",
       "mpl.figure.prototype._init_toolbar = function() {\n",
       "    var fig = this;\n",
       "\n",
       "    var nav_element = $('<div/>')\n",
       "    nav_element.attr('style', 'width: 100%');\n",
       "    this.root.append(nav_element);\n",
       "\n",
       "    // Define a callback function for later on.\n",
       "    function toolbar_event(event) {\n",
       "        return fig.toolbar_button_onclick(event['data']);\n",
       "    }\n",
       "    function toolbar_mouse_event(event) {\n",
       "        return fig.toolbar_button_onmouseover(event['data']);\n",
       "    }\n",
       "\n",
       "    for(var toolbar_ind in mpl.toolbar_items) {\n",
       "        var name = mpl.toolbar_items[toolbar_ind][0];\n",
       "        var tooltip = mpl.toolbar_items[toolbar_ind][1];\n",
       "        var image = mpl.toolbar_items[toolbar_ind][2];\n",
       "        var method_name = mpl.toolbar_items[toolbar_ind][3];\n",
       "\n",
       "        if (!name) {\n",
       "            // put a spacer in here.\n",
       "            continue;\n",
       "        }\n",
       "        var button = $('<button/>');\n",
       "        button.addClass('ui-button ui-widget ui-state-default ui-corner-all ' +\n",
       "                        'ui-button-icon-only');\n",
       "        button.attr('role', 'button');\n",
       "        button.attr('aria-disabled', 'false');\n",
       "        button.click(method_name, toolbar_event);\n",
       "        button.mouseover(tooltip, toolbar_mouse_event);\n",
       "\n",
       "        var icon_img = $('<span/>');\n",
       "        icon_img.addClass('ui-button-icon-primary ui-icon');\n",
       "        icon_img.addClass(image);\n",
       "        icon_img.addClass('ui-corner-all');\n",
       "\n",
       "        var tooltip_span = $('<span/>');\n",
       "        tooltip_span.addClass('ui-button-text');\n",
       "        tooltip_span.html(tooltip);\n",
       "\n",
       "        button.append(icon_img);\n",
       "        button.append(tooltip_span);\n",
       "\n",
       "        nav_element.append(button);\n",
       "    }\n",
       "\n",
       "    var fmt_picker_span = $('<span/>');\n",
       "\n",
       "    var fmt_picker = $('<select/>');\n",
       "    fmt_picker.addClass('mpl-toolbar-option ui-widget ui-widget-content');\n",
       "    fmt_picker_span.append(fmt_picker);\n",
       "    nav_element.append(fmt_picker_span);\n",
       "    this.format_dropdown = fmt_picker[0];\n",
       "\n",
       "    for (var ind in mpl.extensions) {\n",
       "        var fmt = mpl.extensions[ind];\n",
       "        var option = $(\n",
       "            '<option/>', {selected: fmt === mpl.default_extension}).html(fmt);\n",
       "        fmt_picker.append(option)\n",
       "    }\n",
       "\n",
       "    // Add hover states to the ui-buttons\n",
       "    $( \".ui-button\" ).hover(\n",
       "        function() { $(this).addClass(\"ui-state-hover\");},\n",
       "        function() { $(this).removeClass(\"ui-state-hover\");}\n",
       "    );\n",
       "\n",
       "    var status_bar = $('<span class=\"mpl-message\"/>');\n",
       "    nav_element.append(status_bar);\n",
       "    this.message = status_bar[0];\n",
       "}\n",
       "\n",
       "mpl.figure.prototype.request_resize = function(x_pixels, y_pixels) {\n",
       "    // Request matplotlib to resize the figure. Matplotlib will then trigger a resize in the client,\n",
       "    // which will in turn request a refresh of the image.\n",
       "    this.send_message('resize', {'width': x_pixels, 'height': y_pixels});\n",
       "}\n",
       "\n",
       "mpl.figure.prototype.send_message = function(type, properties) {\n",
       "    properties['type'] = type;\n",
       "    properties['figure_id'] = this.id;\n",
       "    this.ws.send(JSON.stringify(properties));\n",
       "}\n",
       "\n",
       "mpl.figure.prototype.send_draw_message = function() {\n",
       "    if (!this.waiting) {\n",
       "        this.waiting = true;\n",
       "        this.ws.send(JSON.stringify({type: \"draw\", figure_id: this.id}));\n",
       "    }\n",
       "}\n",
       "\n",
       "\n",
       "mpl.figure.prototype.handle_save = function(fig, msg) {\n",
       "    var format_dropdown = fig.format_dropdown;\n",
       "    var format = format_dropdown.options[format_dropdown.selectedIndex].value;\n",
       "    fig.ondownload(fig, format);\n",
       "}\n",
       "\n",
       "\n",
       "mpl.figure.prototype.handle_resize = function(fig, msg) {\n",
       "    var size = msg['size'];\n",
       "    if (size[0] != fig.canvas.width || size[1] != fig.canvas.height) {\n",
       "        fig._resize_canvas(size[0], size[1]);\n",
       "        fig.send_message(\"refresh\", {});\n",
       "    };\n",
       "}\n",
       "\n",
       "mpl.figure.prototype.handle_rubberband = function(fig, msg) {\n",
       "    var x0 = msg['x0'] / mpl.ratio;\n",
       "    var y0 = (fig.canvas.height - msg['y0']) / mpl.ratio;\n",
       "    var x1 = msg['x1'] / mpl.ratio;\n",
       "    var y1 = (fig.canvas.height - msg['y1']) / mpl.ratio;\n",
       "    x0 = Math.floor(x0) + 0.5;\n",
       "    y0 = Math.floor(y0) + 0.5;\n",
       "    x1 = Math.floor(x1) + 0.5;\n",
       "    y1 = Math.floor(y1) + 0.5;\n",
       "    var min_x = Math.min(x0, x1);\n",
       "    var min_y = Math.min(y0, y1);\n",
       "    var width = Math.abs(x1 - x0);\n",
       "    var height = Math.abs(y1 - y0);\n",
       "\n",
       "    fig.rubberband_context.clearRect(\n",
       "        0, 0, fig.canvas.width, fig.canvas.height);\n",
       "\n",
       "    fig.rubberband_context.strokeRect(min_x, min_y, width, height);\n",
       "}\n",
       "\n",
       "mpl.figure.prototype.handle_figure_label = function(fig, msg) {\n",
       "    // Updates the figure title.\n",
       "    fig.header.textContent = msg['label'];\n",
       "}\n",
       "\n",
       "mpl.figure.prototype.handle_cursor = function(fig, msg) {\n",
       "    var cursor = msg['cursor'];\n",
       "    switch(cursor)\n",
       "    {\n",
       "    case 0:\n",
       "        cursor = 'pointer';\n",
       "        break;\n",
       "    case 1:\n",
       "        cursor = 'default';\n",
       "        break;\n",
       "    case 2:\n",
       "        cursor = 'crosshair';\n",
       "        break;\n",
       "    case 3:\n",
       "        cursor = 'move';\n",
       "        break;\n",
       "    }\n",
       "    fig.rubberband_canvas.style.cursor = cursor;\n",
       "}\n",
       "\n",
       "mpl.figure.prototype.handle_message = function(fig, msg) {\n",
       "    fig.message.textContent = msg['message'];\n",
       "}\n",
       "\n",
       "mpl.figure.prototype.handle_draw = function(fig, msg) {\n",
       "    // Request the server to send over a new figure.\n",
       "    fig.send_draw_message();\n",
       "}\n",
       "\n",
       "mpl.figure.prototype.handle_image_mode = function(fig, msg) {\n",
       "    fig.image_mode = msg['mode'];\n",
       "}\n",
       "\n",
       "mpl.figure.prototype.updated_canvas_event = function() {\n",
       "    // Called whenever the canvas gets updated.\n",
       "    this.send_message(\"ack\", {});\n",
       "}\n",
       "\n",
       "// A function to construct a web socket function for onmessage handling.\n",
       "// Called in the figure constructor.\n",
       "mpl.figure.prototype._make_on_message_function = function(fig) {\n",
       "    return function socket_on_message(evt) {\n",
       "        if (evt.data instanceof Blob) {\n",
       "            /* FIXME: We get \"Resource interpreted as Image but\n",
       "             * transferred with MIME type text/plain:\" errors on\n",
       "             * Chrome.  But how to set the MIME type?  It doesn't seem\n",
       "             * to be part of the websocket stream */\n",
       "            evt.data.type = \"image/png\";\n",
       "\n",
       "            /* Free the memory for the previous frames */\n",
       "            if (fig.imageObj.src) {\n",
       "                (window.URL || window.webkitURL).revokeObjectURL(\n",
       "                    fig.imageObj.src);\n",
       "            }\n",
       "\n",
       "            fig.imageObj.src = (window.URL || window.webkitURL).createObjectURL(\n",
       "                evt.data);\n",
       "            fig.updated_canvas_event();\n",
       "            fig.waiting = false;\n",
       "            return;\n",
       "        }\n",
       "        else if (typeof evt.data === 'string' && evt.data.slice(0, 21) == \"data:image/png;base64\") {\n",
       "            fig.imageObj.src = evt.data;\n",
       "            fig.updated_canvas_event();\n",
       "            fig.waiting = false;\n",
       "            return;\n",
       "        }\n",
       "\n",
       "        var msg = JSON.parse(evt.data);\n",
       "        var msg_type = msg['type'];\n",
       "\n",
       "        // Call the  \"handle_{type}\" callback, which takes\n",
       "        // the figure and JSON message as its only arguments.\n",
       "        try {\n",
       "            var callback = fig[\"handle_\" + msg_type];\n",
       "        } catch (e) {\n",
       "            console.log(\"No handler for the '\" + msg_type + \"' message type: \", msg);\n",
       "            return;\n",
       "        }\n",
       "\n",
       "        if (callback) {\n",
       "            try {\n",
       "                // console.log(\"Handling '\" + msg_type + \"' message: \", msg);\n",
       "                callback(fig, msg);\n",
       "            } catch (e) {\n",
       "                console.log(\"Exception inside the 'handler_\" + msg_type + \"' callback:\", e, e.stack, msg);\n",
       "            }\n",
       "        }\n",
       "    };\n",
       "}\n",
       "\n",
       "// from http://stackoverflow.com/questions/1114465/getting-mouse-location-in-canvas\n",
       "mpl.findpos = function(e) {\n",
       "    //this section is from http://www.quirksmode.org/js/events_properties.html\n",
       "    var targ;\n",
       "    if (!e)\n",
       "        e = window.event;\n",
       "    if (e.target)\n",
       "        targ = e.target;\n",
       "    else if (e.srcElement)\n",
       "        targ = e.srcElement;\n",
       "    if (targ.nodeType == 3) // defeat Safari bug\n",
       "        targ = targ.parentNode;\n",
       "\n",
       "    // jQuery normalizes the pageX and pageY\n",
       "    // pageX,Y are the mouse positions relative to the document\n",
       "    // offset() returns the position of the element relative to the document\n",
       "    var x = e.pageX - $(targ).offset().left;\n",
       "    var y = e.pageY - $(targ).offset().top;\n",
       "\n",
       "    return {\"x\": x, \"y\": y};\n",
       "};\n",
       "\n",
       "/*\n",
       " * return a copy of an object with only non-object keys\n",
       " * we need this to avoid circular references\n",
       " * http://stackoverflow.com/a/24161582/3208463\n",
       " */\n",
       "function simpleKeys (original) {\n",
       "  return Object.keys(original).reduce(function (obj, key) {\n",
       "    if (typeof original[key] !== 'object')\n",
       "        obj[key] = original[key]\n",
       "    return obj;\n",
       "  }, {});\n",
       "}\n",
       "\n",
       "mpl.figure.prototype.mouse_event = function(event, name) {\n",
       "    var canvas_pos = mpl.findpos(event)\n",
       "\n",
       "    if (name === 'button_press')\n",
       "    {\n",
       "        this.canvas.focus();\n",
       "        this.canvas_div.focus();\n",
       "    }\n",
       "\n",
       "    var x = canvas_pos.x * mpl.ratio;\n",
       "    var y = canvas_pos.y * mpl.ratio;\n",
       "\n",
       "    this.send_message(name, {x: x, y: y, button: event.button,\n",
       "                             step: event.step,\n",
       "                             guiEvent: simpleKeys(event)});\n",
       "\n",
       "    /* This prevents the web browser from automatically changing to\n",
       "     * the text insertion cursor when the button is pressed.  We want\n",
       "     * to control all of the cursor setting manually through the\n",
       "     * 'cursor' event from matplotlib */\n",
       "    event.preventDefault();\n",
       "    return false;\n",
       "}\n",
       "\n",
       "mpl.figure.prototype._key_event_extra = function(event, name) {\n",
       "    // Handle any extra behaviour associated with a key event\n",
       "}\n",
       "\n",
       "mpl.figure.prototype.key_event = function(event, name) {\n",
       "\n",
       "    // Prevent repeat events\n",
       "    if (name == 'key_press')\n",
       "    {\n",
       "        if (event.which === this._key)\n",
       "            return;\n",
       "        else\n",
       "            this._key = event.which;\n",
       "    }\n",
       "    if (name == 'key_release')\n",
       "        this._key = null;\n",
       "\n",
       "    var value = '';\n",
       "    if (event.ctrlKey && event.which != 17)\n",
       "        value += \"ctrl+\";\n",
       "    if (event.altKey && event.which != 18)\n",
       "        value += \"alt+\";\n",
       "    if (event.shiftKey && event.which != 16)\n",
       "        value += \"shift+\";\n",
       "\n",
       "    value += 'k';\n",
       "    value += event.which.toString();\n",
       "\n",
       "    this._key_event_extra(event, name);\n",
       "\n",
       "    this.send_message(name, {key: value,\n",
       "                             guiEvent: simpleKeys(event)});\n",
       "    return false;\n",
       "}\n",
       "\n",
       "mpl.figure.prototype.toolbar_button_onclick = function(name) {\n",
       "    if (name == 'download') {\n",
       "        this.handle_save(this, null);\n",
       "    } else {\n",
       "        this.send_message(\"toolbar_button\", {name: name});\n",
       "    }\n",
       "};\n",
       "\n",
       "mpl.figure.prototype.toolbar_button_onmouseover = function(tooltip) {\n",
       "    this.message.textContent = tooltip;\n",
       "};\n",
       "mpl.toolbar_items = [[\"Home\", \"Reset original view\", \"fa fa-home icon-home\", \"home\"], [\"Back\", \"Back to previous view\", \"fa fa-arrow-left icon-arrow-left\", \"back\"], [\"Forward\", \"Forward to next view\", \"fa fa-arrow-right icon-arrow-right\", \"forward\"], [\"\", \"\", \"\", \"\"], [\"Pan\", \"Pan axes with left mouse, zoom with right\", \"fa fa-arrows icon-move\", \"pan\"], [\"Zoom\", \"Zoom to rectangle\", \"fa fa-square-o icon-check-empty\", \"zoom\"], [\"\", \"\", \"\", \"\"], [\"Download\", \"Download plot\", \"fa fa-floppy-o icon-save\", \"download\"]];\n",
       "\n",
       "mpl.extensions = [\"eps\", \"jpeg\", \"pdf\", \"png\", \"ps\", \"raw\", \"svg\", \"tif\"];\n",
       "\n",
       "mpl.default_extension = \"png\";var comm_websocket_adapter = function(comm) {\n",
       "    // Create a \"websocket\"-like object which calls the given IPython comm\n",
       "    // object with the appropriate methods. Currently this is a non binary\n",
       "    // socket, so there is still some room for performance tuning.\n",
       "    var ws = {};\n",
       "\n",
       "    ws.close = function() {\n",
       "        comm.close()\n",
       "    };\n",
       "    ws.send = function(m) {\n",
       "        //console.log('sending', m);\n",
       "        comm.send(m);\n",
       "    };\n",
       "    // Register the callback with on_msg.\n",
       "    comm.on_msg(function(msg) {\n",
       "        //console.log('receiving', msg['content']['data'], msg);\n",
       "        // Pass the mpl event to the overridden (by mpl) onmessage function.\n",
       "        ws.onmessage(msg['content']['data'])\n",
       "    });\n",
       "    return ws;\n",
       "}\n",
       "\n",
       "mpl.mpl_figure_comm = function(comm, msg) {\n",
       "    // This is the function which gets called when the mpl process\n",
       "    // starts-up an IPython Comm through the \"matplotlib\" channel.\n",
       "\n",
       "    var id = msg.content.data.id;\n",
       "    // Get hold of the div created by the display call when the Comm\n",
       "    // socket was opened in Python.\n",
       "    var element = $(\"#\" + id);\n",
       "    var ws_proxy = comm_websocket_adapter(comm)\n",
       "\n",
       "    function ondownload(figure, format) {\n",
       "        window.open(figure.imageObj.src);\n",
       "    }\n",
       "\n",
       "    var fig = new mpl.figure(id, ws_proxy,\n",
       "                           ondownload,\n",
       "                           element.get(0));\n",
       "\n",
       "    // Call onopen now - mpl needs it, as it is assuming we've passed it a real\n",
       "    // web socket which is closed, not our websocket->open comm proxy.\n",
       "    ws_proxy.onopen();\n",
       "\n",
       "    fig.parent_element = element.get(0);\n",
       "    fig.cell_info = mpl.find_output_cell(\"<div id='\" + id + \"'></div>\");\n",
       "    if (!fig.cell_info) {\n",
       "        console.error(\"Failed to find cell for figure\", id, fig);\n",
       "        return;\n",
       "    }\n",
       "\n",
       "    var output_index = fig.cell_info[2]\n",
       "    var cell = fig.cell_info[0];\n",
       "\n",
       "};\n",
       "\n",
       "mpl.figure.prototype.handle_close = function(fig, msg) {\n",
       "    var width = fig.canvas.width/mpl.ratio\n",
       "    fig.root.unbind('remove')\n",
       "\n",
       "    // Update the output cell to use the data from the current canvas.\n",
       "    fig.push_to_output();\n",
       "    var dataURL = fig.canvas.toDataURL();\n",
       "    // Re-enable the keyboard manager in IPython - without this line, in FF,\n",
       "    // the notebook keyboard shortcuts fail.\n",
       "    IPython.keyboard_manager.enable()\n",
       "    $(fig.parent_element).html('<img src=\"' + dataURL + '\" width=\"' + width + '\">');\n",
       "    fig.close_ws(fig, msg);\n",
       "}\n",
       "\n",
       "mpl.figure.prototype.close_ws = function(fig, msg){\n",
       "    fig.send_message('closing', msg);\n",
       "    // fig.ws.close()\n",
       "}\n",
       "\n",
       "mpl.figure.prototype.push_to_output = function(remove_interactive) {\n",
       "    // Turn the data on the canvas into data in the output cell.\n",
       "    var width = this.canvas.width/mpl.ratio\n",
       "    var dataURL = this.canvas.toDataURL();\n",
       "    this.cell_info[1]['text/html'] = '<img src=\"' + dataURL + '\" width=\"' + width + '\">';\n",
       "}\n",
       "\n",
       "mpl.figure.prototype.updated_canvas_event = function() {\n",
       "    // Tell IPython that the notebook contents must change.\n",
       "    IPython.notebook.set_dirty(true);\n",
       "    this.send_message(\"ack\", {});\n",
       "    var fig = this;\n",
       "    // Wait a second, then push the new image to the DOM so\n",
       "    // that it is saved nicely (might be nice to debounce this).\n",
       "    setTimeout(function () { fig.push_to_output() }, 1000);\n",
       "}\n",
       "\n",
       "mpl.figure.prototype._init_toolbar = function() {\n",
       "    var fig = this;\n",
       "\n",
       "    var nav_element = $('<div/>')\n",
       "    nav_element.attr('style', 'width: 100%');\n",
       "    this.root.append(nav_element);\n",
       "\n",
       "    // Define a callback function for later on.\n",
       "    function toolbar_event(event) {\n",
       "        return fig.toolbar_button_onclick(event['data']);\n",
       "    }\n",
       "    function toolbar_mouse_event(event) {\n",
       "        return fig.toolbar_button_onmouseover(event['data']);\n",
       "    }\n",
       "\n",
       "    for(var toolbar_ind in mpl.toolbar_items){\n",
       "        var name = mpl.toolbar_items[toolbar_ind][0];\n",
       "        var tooltip = mpl.toolbar_items[toolbar_ind][1];\n",
       "        var image = mpl.toolbar_items[toolbar_ind][2];\n",
       "        var method_name = mpl.toolbar_items[toolbar_ind][3];\n",
       "\n",
       "        if (!name) { continue; };\n",
       "\n",
       "        var button = $('<button class=\"btn btn-default\" href=\"#\" title=\"' + name + '\"><i class=\"fa ' + image + ' fa-lg\"></i></button>');\n",
       "        button.click(method_name, toolbar_event);\n",
       "        button.mouseover(tooltip, toolbar_mouse_event);\n",
       "        nav_element.append(button);\n",
       "    }\n",
       "\n",
       "    // Add the status bar.\n",
       "    var status_bar = $('<span class=\"mpl-message\" style=\"text-align:right; float: right;\"/>');\n",
       "    nav_element.append(status_bar);\n",
       "    this.message = status_bar[0];\n",
       "\n",
       "    // Add the close button to the window.\n",
       "    var buttongrp = $('<div class=\"btn-group inline pull-right\"></div>');\n",
       "    var button = $('<button class=\"btn btn-mini btn-primary\" href=\"#\" title=\"Stop Interaction\"><i class=\"fa fa-power-off icon-remove icon-large\"></i></button>');\n",
       "    button.click(function (evt) { fig.handle_close(fig, {}); } );\n",
       "    button.mouseover('Stop Interaction', toolbar_mouse_event);\n",
       "    buttongrp.append(button);\n",
       "    var titlebar = this.root.find($('.ui-dialog-titlebar'));\n",
       "    titlebar.prepend(buttongrp);\n",
       "}\n",
       "\n",
       "mpl.figure.prototype._root_extra_style = function(el){\n",
       "    var fig = this\n",
       "    el.on(\"remove\", function(){\n",
       "\tfig.close_ws(fig, {});\n",
       "    });\n",
       "}\n",
       "\n",
       "mpl.figure.prototype._canvas_extra_style = function(el){\n",
       "    // this is important to make the div 'focusable\n",
       "    el.attr('tabindex', 0)\n",
       "    // reach out to IPython and tell the keyboard manager to turn it's self\n",
       "    // off when our div gets focus\n",
       "\n",
       "    // location in version 3\n",
       "    if (IPython.notebook.keyboard_manager) {\n",
       "        IPython.notebook.keyboard_manager.register_events(el);\n",
       "    }\n",
       "    else {\n",
       "        // location in version 2\n",
       "        IPython.keyboard_manager.register_events(el);\n",
       "    }\n",
       "\n",
       "}\n",
       "\n",
       "mpl.figure.prototype._key_event_extra = function(event, name) {\n",
       "    var manager = IPython.notebook.keyboard_manager;\n",
       "    if (!manager)\n",
       "        manager = IPython.keyboard_manager;\n",
       "\n",
       "    // Check for shift+enter\n",
       "    if (event.shiftKey && event.which == 13) {\n",
       "        this.canvas_div.blur();\n",
       "        event.shiftKey = false;\n",
       "        // Send a \"J\" for go to next cell\n",
       "        event.which = 74;\n",
       "        event.keyCode = 74;\n",
       "        manager.command_mode();\n",
       "        manager.handle_keydown(event);\n",
       "    }\n",
       "}\n",
       "\n",
       "mpl.figure.prototype.handle_save = function(fig, msg) {\n",
       "    fig.ondownload(fig, null);\n",
       "}\n",
       "\n",
       "\n",
       "mpl.find_output_cell = function(html_output) {\n",
       "    // Return the cell and output element which can be found *uniquely* in the notebook.\n",
       "    // Note - this is a bit hacky, but it is done because the \"notebook_saving.Notebook\"\n",
       "    // IPython event is triggered only after the cells have been serialised, which for\n",
       "    // our purposes (turning an active figure into a static one), is too late.\n",
       "    var cells = IPython.notebook.get_cells();\n",
       "    var ncells = cells.length;\n",
       "    for (var i=0; i<ncells; i++) {\n",
       "        var cell = cells[i];\n",
       "        if (cell.cell_type === 'code'){\n",
       "            for (var j=0; j<cell.output_area.outputs.length; j++) {\n",
       "                var data = cell.output_area.outputs[j];\n",
       "                if (data.data) {\n",
       "                    // IPython >= 3 moved mimebundle to data attribute of output\n",
       "                    data = data.data;\n",
       "                }\n",
       "                if (data['text/html'] == html_output) {\n",
       "                    return [cell, data, j];\n",
       "                }\n",
       "            }\n",
       "        }\n",
       "    }\n",
       "}\n",
       "\n",
       "// Register the function which deals with the matplotlib target/channel.\n",
       "// The kernel may be null if the page has been refreshed.\n",
       "if (IPython.notebook.kernel != null) {\n",
       "    IPython.notebook.kernel.comm_manager.register_target('matplotlib', mpl.mpl_figure_comm);\n",
       "}\n"
      ],
      "text/plain": [
       "<IPython.core.display.Javascript object>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "text/html": [
       "<img src=\"data:image/png;base64,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P4+LHwWAAkBvLVwAGF3atHSs0S2rIuTWA+DDdRtBb+BS1dhls+7HtNgnABQA0g+1a9euMpt5x34j+CsoAPSnrSKADtoKAKOLl5aONbplAkAXzZJWNi3tVAAoABQANt4GFAFUBNBb3yIAjC5tWjrW6JYJAF00S1rZtLRTAaAAUAAoAIz7/lQEMK5ydeUEgNHFS0vHGt0yAaCLZkkrm5Z2KgAUAAoABYBx358CwLjKCQBjKZeWjjWWcX8U8m6j5gC6uCdUWe8+DFWL8pkEgAJAAaAAsPybongOAWBc5QSAsZRLS8cayzgBoItsiSqblnYqABQACgAFgHFfngLAuMplHQAn/9uYq9ebo462gYnUSrzDgyKAkfwRJ7N3H8apVJEyAkABoABQABj3dSIAjKtcrgBwWt0+gAs6KDW3aFo6VhdjvdsoAHRxT6iy3n0YqhblMwkABYACQAFg+TdF8RwCwLjKCQBjKZeWjjWWcX8U8m6jANDFPaHKevdhqFqUz5RlACw8Qq28EvPncNk/Ls79alHGl40jRoywZzFzDnOtk4uN2gamtPcEgA6tO9OrgOcZAlYEMEoz8Q4PAsAo7oiV17sPY9Vq/kJpBsC99trLnu0LaBRL3377reF84IUWWiiWWi7gEOaGAGqQWrdubVZaaSVzxBFHGOyqVvJl4y+//GLPQV588cWrZUqj93GxUQAoAPTWgAWA0aVNS8ca3bK5JbzbKAB0cU+ost59GKoW5TNlGQDLW186hws4BFf+/fffzezZs03Tpk3nuxkAeOONN5r+/fub6dOnm7vuusucdNJJ5pFHHjH9+vVzrX7J8rTPZs2amUrY6LWiFbi4i40CQAFgBZpg8UsIAKNLm5aONbplNQDAvcYas/yGLlWNXTbrfkyLfVkGwMIh4M8++8yssMIK5t577zVXXHGFeeWVV0znzp3Ntddea9Zff/36dvziiy+a448/3owfP94sscQSZquttjIXXnihadu2rc1z6623mksvvdS8//77hqhdnz597L/bt29v//7000+bzTbbzEIcMPf222+bRx991P6uYSo2RE3EjAjgRRdd1Gidtt9+e3POOefY+5O++eYbs99++5knn3zSdOjQwZx11lnmxBNPNMOHD7c/JO51zTXXmIcfftg8/vjj5uijjzann366effdd23U8aWXXrLX69u3r7nkkkus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WGONOa/Uuvryt2HDhpmRI0eazz77zMyePdvWvzBhO/byX46I++KLL8zGG29sRo8ebZZbbjkTwNEzzzxjzjjjDPPee++ZpZde2kZOTzrpJNO0adN6XYioPvzww4Yzhqn76aefbvNz3eeee87ahp7cCxtIN954ozn//PMNEIX+1JfoLIk6A1Z33HGHufzyy83rr79uy1111VV2WD34e6E9QUSXv6+++uoW+m655Raz2mqrGWzAvsMOO8w88cQT9tSP/v37m8suu8x+HPBBgI3oxskpp5xyio0sDhgwwFx//fX2FJWGSUPApV+AAsCYHQTFBIDRxUtLxxrdsrklvNv46EnGTPvMmJ3+bureki5VjV3Wu42xa1aZgmmxLwsACJj985//tGBC2mKLLcw222xjYc0FAF955RXTq1cvM27cOHvOLrCx2GKLlQVA4IoIZJcuXczkyZPNEUccYRZddFEzduxYW7+zzz7b3HbbbRaegnTkkUfaoWYgBpAC0rjXqaeeahZeeGEzatQoC1ac78vvAcALL7zQbLTRRuacc84xTZo0sXUsBoAHHHCABUcgCxsAMMDuhRdesAB43333mX322cf+nft+/PHHhjKA7mmnnVYPgAAs9wK+uB/XAFr59wknnGABi2tyFB22A1WUv/LKK81aa61l3njjDbP//vubiy++2AJmAHjLLrusBeRu3brZv911110WGPHdAw88YP7yl79YmOb6gBx6cE/0Ouigg8y+++5rNeOePXr0sNDN9WbNmmVtBeyAvgAAL7roItO3b18LsADgTjvtZO0/66yzBIARX38CwIiCFWYXAEYXLy0da3TLqgiALpWrUNms+zEt9hUDQDrT33/9taynbfTo559Nu7oONuoZq8UuvkBd594QYEpVIojE3XDDDQaI+Pe//23Ld+3a1UyaNMnst99+TgDY2BzAchHAhnUeP3686dmzp/m5Tqs2bdrY4Wqiby+++KL9PW1lmWWWMRdccIEFI4a1t99+ewuPCy20UP3lVl55ZRttA84AQEDyq6++MksuuWSjMgGNe++9t3n55ZfNeuvNifaj06qrrmoAXCKLQCTAfOKJJ9Zfhygm9/r666/rAZBIIlHIIJH/zjvvtHBWbPi5Y8eO5rzzzjODBw+uL0O0EhDG9gAAidYSwSUBbUQFieJx/8aGgAFAoqRAZZAee+wxG80DHtGXNGHCBBsdJCJIGSKA6Pztt9/WR/y4z7PPPms1apgUASz9GhAAln1NNp5BABhdvLR0rNEtEwC6aJa0smlpp8U6uP/NmGHeX7tH1SXt8vq/zIKtWoW+byGIESUiGgW8Mpw6ZswYO7TrEgGMC4BACYD25ptvmh9++MFG2WbUaUrEjygXadCgQTZKyOIVInCAH1DSqs5+AOX444+vn9MYCPJrHZQz9ApUcX2iiAwZl0oAIFE3/EzULkhEJImS7b777haEqGPh3xlOpsz06dNtnQBroDAYZuc6W221lYVPFuI0TFOmTLFD3kTsCj8OADwieN999109ABL17N27d/0lgF/8xvBxKQBkKJ0oY5CIYAKoAGBhwlYil4AzAHjPPffME32lzBVXXGGnEggAQz9+NqMAMJpe8+QWAEYXLy0da3TLBIAumiWtbFraaVYAkCHgQw891DYD5pABJw0BkDmBRJYYkg0S0aEdd9yx6BzAOAAIMDHXjSFG5vkBSMxL69evn41WMUeO9NBDD1n4Ihq48847mz/96U/1MAPgASTAT8MEGC2xxBL1cwCBzFIpAMD//Oc/84AYUMTcuN12280OmQKUQHTDhGYAXOHcyCAP+YloFgNAAK9Dhw4WGoPIY1AO0CTKF0QAiwEg9WMovRQANtx6B3v4aQhyaEaUMQBAhoMLdQOE+aE+AsBob1IBYDS9BIAOelE0LR2ri5my0UW9ZJRNiw+zMARMh07EiiFHEsAFZDQEQECE+YIsSiDxAQ6kMARYbBHIl19+aYcSX331VbPuuuvWN6xSQ8DMS2NYlToEw5BAELBXCIBBfVmMwPAnQ5Drr7++vUcwlPnRRx9ZmCyWgkUgYQCQIWCGexluJjFkyzB5MATMfQFhgKuxVAwAmUMH/DU2BMywPFv0sNiiWAoAEODFByQihEAnMM/vGCrecMMNzffff28WX3zx+ssUW3ldagiYYXV8HywCEQBW5j0pAHTQURHA6OKlpWONbtncErLRRb1klE2LD7OwCCTYkJn3KYnJ/qSGAMhCBSJid999t12UAZiwcAQIKwaAbC1C9Ii5bgyjsg0Iw5elAJChT8Dn8MMPtxFAhqNZzcvijUIApH6ssmUhB8AzceLE+obLMDZDoswZBI5Y3MBcPObOYROAGQUAiXyxCIMhUubqAVfc46WXXqpfBLLLLrvY+hANJeL39ttvm3feeceuMCYVA8CpU6faugFWaIs2zKMDNPk9czNZ9cvwK3PziEK+9tprduEFi14CAATcicAxL5HhWFZxM4xLpJM5joA0w8FEdRlSJupYDACxiUUg/L1wEQj/LlwEoghg5d6RAkAHLQWA0cVLS8ca3TIBoItmSSublnaaJQBs2AYaAiDvW0DukUcesbBy5plnWuBobBsY5sWxghVIA0RYIRtmGxi2NQEaGd5lA2ngaODAgfMBYDDETEQSSCxMwB9Adu+99xqgkkglUAhMAURRAJDFG0T3uAdRTRZ98O9OnTrVbwMDDAJ7QCqQSISQRTTo1RgA8ntAkes+//zzNuoabAMD1JKAOeY0shiDoWZWKlMf5vkFAEgehm65N9vAoDlb5wQJP1199dV23uAee+xhIb6xvRfDbgOjCGBl3pgCQAcdBYDRxUtLxxrdMgGgi2ZJK5uWdppmAPTtc5cNhMPUjS1TABmgjDmAPlKwDyD7JRZLvm0sZVMAgA0jo5XWwcVGrQIu7Q0BoENrzTQAzpxRt+HVUnPU0UbQkVpJWuAhklENMmfdxrTYJwBsvBW7gEOpZ4OhULapYWiWlcCs5vWVBICmPsrJ1ICo2xUJAAWAvp7NbG8EjWq/1n11NmlmTPPWFdMwLR2ri8Gy0UW9ZJRNiw8FgNUHQKCMzYsZLn3wwQftHoC+kgBQAOirbXFdRQAd1M10BNBBl1JF09KxupgvG13US0bZtPhQAFh9AExGC51TC19RzqzYqAigIoDe2rIAMLq0aelYo1s2t4RsdFEvGWXT4kMBoACQfijO8GgynrTytXCBXAFghgGQuRjsDfXWW2/Nt0KLJfAsl2cPKM5eDPYzKjyqiBVabCXA2YmsXuIsQVY3hU0CwLBKCY6iK5XsEmkBpLgqpsU+AaAAUADYeBsQAGYYANmriaN0Hn744XkAkAdilVVWMZtttpldis8eTsHB2OwZRWLZPNsCsEQd6OM4Hw7uZjl8w53PG5NQABi9e01LxxrdMkGui2ZJK5uWdhp0cGw4zB5rUZJLZCXKfWqVN+v2oatsLN26OH4vWK3MPpCFyUf/Xau2Hve+qZ0DCPSxGSVRPHZBL1yKfs0119i9m9h3KDiMm6NkOJ6HJftEATm+hwbAdYLUUWKWGgAAGOxJREFUv39/u8Eo+0CFST4aUFo6njD6FMuTdfuwWTbGbR3JKZcWH3IiBR+4nNtaeNJCGCWzDg9Zt08AWL6Vs9n15MmTbUCo8KxkSvrov8vXKFk5UgmAgB07hrMjOLuNcy5hIQCy2eRPP/1kHnjggXq1+TuberJ5J/nZvZwzJQvPlWRTUXYg//zzz4t6iSFnfoJEA2JTT465CXavd3UvHQ9H4my55ZZ2Q8+spazbFwBgln2YBxvT1E55H/Iu4tzaVq1a2Q/cMImTFzj7lg1+w5YJc92k5Mm6fegsG4u3NnSZMWOG3YSbvrnYPo08M/ADrFCp/jspbT9sPVIHgDiWI2U4X/Dkk0+uD+8WAiAHeTMkct1119XrwFE8LNfnbELOTmzevLndkXzXXXetz8OO5py7WAh5hUKyezvnJzZMlOPFqyQFpIAUqIUCbdu2NfxE3SetFnXVPaVANRQgAsyJLPwUSwAi/b8AsBreKHOPxuCqsNj48eMtwN1111328G1CusV2IwcAifKNGjWqvjhHAXHGI3P/evXqZQGQg7AHDx5cn4cNPdnfiXk1xZIigO4NJU2RlbjWysa4yiWnXBp9yHDwrFmzbFQoTCIv79MNNtjANG3aNEyRVOXJun04QzYWb5JEtGnTDYd9C3MrApigfQAZRuWnVCKqx6HXDz300DxDFrz4cPSQIUMs1PkaAm5YNx9zCNIy9yhuT5B1+9BFNsZtHckpJx8mxxdxayIfxlUuWeV8+dFH/50s5crXJnVDwBwWjeOCxNBuv379zJgxY+zqXaJ8LALhMG/mxhDpI5133nnm8ssvn2cRCKHhsWPH1l9rwIABZpFFFtEikPLtJnYOXw9z7Ap5KCgbPYha5UvKh1UW3MPt5EMPotbgkr78KABMUAQwbrsqNgTMmH6XLl1Mnz59LAiyVQzbwLDNS7ANDEMfvXv3tnv/DRo0yC4YYU6htoGJ64lw5Xw9zOHuXp1csrE6Ovu8i3zoU93qXFs+rI7Ovu/iy48CwIwCIA2SjaAPOeQQuxE0W7sMHTrUAmDhajeihkAfK4ODjaB32GGH0O3ZRwPy1dhDG+U5Y9btQz7Z6LkRVeHy8mEVRPZ8C/nQs8BVurwvP/rov6skScVuk7oh4IpZXoELEWlkyHjSpEkVW0ZOYx83bpxhIUtWt4HJsn0BAMrGCjxgNbxE1p/DPLRT+bCGD1AFb+3Lj8E2bj/++KNZeOGFK1jj9FxKAOjgKzaVZh9AJSkgBaSAFJACUiB9ChDAYe1AHpMA0MHr7DPEIhT236rURqrBV0klo4oOJla8aNbtQzDZWPFmU/ULyodVl7ziN5QPKy5pTS7oy49sl8RC0KWXXjq3+2cKAGvSpBu/adbnJWTdvgAAGVLI8gajWfdj1u3LQzuVDxPWucWsTh78GFMa52ICQGcJK3uBrDf2rNuXh441DzaqnVb2vVaLq8mHtVC98vfMgx8rr1q4KwoAw+lUtVxZb+xZty8PcJQHG9VOq/bK83Yj+dCbtFW9cB78WFVBC24mAKyV8o3cl+PmzjnnHHPCCSeYhRZaKGG1c69O1u1DIdno3k5qfQX5sNYecL+/fOiuYRKukAc/1kpnAWCtlNd9pYAUkAJSQApIASlQIwUEgDUSXreVAlJACkgBKSAFpECtFBAA1kp53VcKSAEpIAWkgBSQAjVSQABYI+F1WykgBaSAFJACUkAK1EoBAWCtlNd9pYAUkAJSQApIASlQIwUEgDUSXreVAlJACvhUgJMOKnVCkc966tpSQArURgEBYBV1nzFjhmnVqlX9HbP4gp41a5Zp2rRpFVWt7q0+//xz06RJE3t25OzZs+3/Zy199NFH5tlnnzV9+/bN5BmZU6ZMsW2U01oWXHBBw5GO/DdLib3T2rRpU29X1t41v/32m2nRokWWXDafLR9//LH93UorrWSy+l798MMPzYMPPmi23XZbs8oqq2Tan0k0TgBYBa/897//NcOGDTM09iWWWMLst99+ZvPNN8/U1/nMmTPNySefbL7//nuzyCKLmEMPPdSsuOKKVVC3erd44IEHzPbbb28GDhxo7r///urduEp3opM57LDDzE033WT22Wcfs++++5q11167Snf3fxueQ+x75plnbBulwxk9enSmIB4bDznkEPPmm2+axRdf3Oywww5m//339y9ule7Ae+bYY481nJXeunVr+y7t3bt3le5evds8+eSTZosttjBrrLGGeeONN6p34yrdiY9n+sS//e1vZo899jB77rmn2XDDDat0d90mUEAA6LktfPvtt2brrbc2LVu2NHvvvbftcDgjlhfzGWeckYnowz333GOGDx9uunTpYjbaaCP7UK+22mpmxIgRZoMNNvCscPUuf9JJJxlezHRCJ554ovnLX/6SqSggm48/99xz5pJLLjHrrrtuvbBZiB4R1fzrX/9qFl10UXPqqaeaF154wfz973+3oHvcccdVrxF5vBPvFT5OAPkjjzzS3Hnnneb111+3IDFq1CiPd67OpfnoAhqIiPHsXX/99aZt27bmiCOOsP/OUrrmmmvMXXfdZWi3p512moX4LEUBL7jgAsMH9UUXXWTWW2+9TL1r0tQOBYCevfV///d/NjL2yCOPmI4dOxqGga+77jr7gqYTWn/99T3XwO/liTQAQ3yFH3/88fZmX375pf33yJEjza677uq3AlW4ejBESFSToUJ8+MEHH5gnnnjCNGvWzKQdkKg/w6L9+/c3p59+uh2Oee211wxDUH/+85/NCiusYD9g0mznFVdcYTtUnkOGRoH4bbbZxn6IDR06tAqtyP8tiGwSteWd0717d/txyfAacHTrrbeawYMH+6+EpzvQFgH11Vdf3X5YkmizO++8s52qELx7PN2+apcNnjHs+eGHH8xSSy1lgwbY37x581Q/g4iIfbw/t9xyS/vxRQT3pZdeMu+8847p1q2bWXPNNe3zqVQdBQSAnnQOHuRrr73WvrCIBAbp559/tmFvQGn8+PGealCdy77yyiuGCCBAu/TSSxuGoICiHj162MgnUc4sJPw5YMAAaw8dD8NQBx54oI1IABO8nNOciBQBgEFHCzj86U9/Mt99952F+dtvvz2V5gXPIVE/bCCiQmIIEfhjSJho56qrrppK+worDfjxwcX8uKCzZRHIQQcdZB5//HH7wdm+fftU2Rn4b+LEifY9s/vuu9sPkmD+LfDXqVMnGw3MUgLkieYS7eS/gC5HhE6fPt0Ofac5MRVq4403th+ZjDbccccd1qc8m3y43HvvvaZdu3ZpNjE1dRcAVtBVhO2JlKyzzjr2S5V0ww03mKuuuspcfvnlttEHCfBjzsOYMWPsA56WieiBjQAe0aFiiaGoXr162YcbqEhTKubDoLMBaPky50sV2x566CGrAb5mGCotZzcXs/H999+38NCzZ0/z1VdfmQsvvNC25bffftuCEv8GltLQTovZd99999l5qfiLebh33323tZVoBB9nRKuJSKQlyvnqq6/a+hf6g4g0sHf22Wfb4e7gb3ywrLzyyubcc8+1f0+DDwP7Si204mNzs802s37jJ22pmA+D9kfUlh/8ePPNN5tjjjnGflAzr5MhYf6bhlTMxl9//dX2kXx4/fLLL+bMM8+0HybffPON/dgk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\" width=\"640\">"
      ],
      "text/plain": [
       "<IPython.core.display.HTML object>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "plt.figure()\n",
    "plt.title('Performance on test/train data')\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": [
    "## Working with a history to improve predictions\n",
    "\n",
    "Before, we only used the 'instantaneous' values of other variables to predict the DST Index. We can improve predictions by keeping track of a history of values, for which we use the AIDApy preprocessing module."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "metadata": {},
   "outputs": [],
   "source": [
    "from aidapy.ml import preprocess\n",
    "\n",
    "histsize = 24                   # Number of past hours\n",
    "forecast_time = 0               # Hours into the future\n",
    "\n",
    "Xtr = dtrain[features].values\n",
    "ytr = dtrain[targets].values\n",
    "Xte = dtest[features].values\n",
    "yte = dtest[targets].values\n",
    "\n",
    "# Use the AIDApy preprocessing method for time series\n",
    "X_train, y_train, mask_train = preprocess.time_series(\n",
    "    Xtr, ytr, histsize, forecast_time)\n",
    "X_test, y_test, mask_test = preprocess.time_series(\n",
    "    Xte, yte, histsize, forecast_time)\n",
    "\n",
    "t_train = dtrain.index[mask_train]\n",
    "t_test = dtest.index[mask_test]\n",
    "\n",
    "models_v2 = []\n",
    "\n",
    "models_v2.append({\n",
    "    'name': 'Linear Regression',\n",
    "    'pipe': Pipeline(steps=[('preprocess', StandardScaler()),\n",
    "                            ('model', LinearRegression())])\n",
    "})\n",
    "\n",
    "mlp_model = NeuralNetRegressor(\n",
    "    mlp.RegressorMlp,\n",
    "    max_epochs=20,\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_v2.append({\n",
    "    'name': 'Multilayer perceptron',\n",
    "    'pipe': Pipeline(steps=[('preprocess', StandardScaler()),\n",
    "                            ('model', mlp_model)])\n",
    "})"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Training and evaluating the new models"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "  epoch    train_loss    valid_loss     dur\n",
      "-------  ------------  ------------  ------\n",
      "      1      \u001b[36m211.1822\u001b[0m      \u001b[32m320.4362\u001b[0m  3.7218\n",
      "      2      \u001b[36m120.9668\u001b[0m      \u001b[32m272.9826\u001b[0m  4.0578\n",
      "      3      \u001b[36m116.8801\u001b[0m      \u001b[32m265.6732\u001b[0m  5.9941\n",
      "      4      \u001b[36m114.9084\u001b[0m      \u001b[32m249.5811\u001b[0m  3.8256\n",
      "      5      \u001b[36m112.3243\u001b[0m      \u001b[32m244.7855\u001b[0m  3.6040\n",
      "      6      \u001b[36m110.7551\u001b[0m      \u001b[32m240.7139\u001b[0m  3.4175\n",
      "      7      \u001b[36m109.4082\u001b[0m      \u001b[32m237.4817\u001b[0m  3.4066\n",
      "      8      \u001b[36m108.2381\u001b[0m      \u001b[32m234.2301\u001b[0m  3.3303\n",
      "      9      \u001b[36m107.1030\u001b[0m      \u001b[32m231.2991\u001b[0m  2.4646\n",
      "     10      \u001b[36m105.9993\u001b[0m      \u001b[32m228.7583\u001b[0m  5.1124\n",
      "     11      \u001b[36m105.0800\u001b[0m      \u001b[32m226.6691\u001b[0m  3.4773\n",
      "     12      \u001b[36m104.1000\u001b[0m      \u001b[32m224.7690\u001b[0m  3.3862\n",
      "     13      \u001b[36m103.2819\u001b[0m      \u001b[32m222.9194\u001b[0m  3.0130\n",
      "     14      \u001b[36m102.5243\u001b[0m      \u001b[32m221.2111\u001b[0m  5.1869\n",
      "     15      \u001b[36m101.7451\u001b[0m      \u001b[32m219.7934\u001b[0m  2.9591\n",
      "     16      \u001b[36m101.0786\u001b[0m      \u001b[32m218.5600\u001b[0m  2.5240\n",
      "     17      \u001b[36m100.4546\u001b[0m      \u001b[32m216.9458\u001b[0m  4.8371\n",
      "     18       \u001b[36m99.7634\u001b[0m      \u001b[32m215.4997\u001b[0m  2.8842\n",
      "     19       \u001b[36m99.2128\u001b[0m      \u001b[32m214.3354\u001b[0m  2.6664\n",
      "     20       \u001b[36m98.6472\u001b[0m      \u001b[32m213.3654\u001b[0m  5.0065\n",
      "Linear Regression              R2 score on test / train set:     0.660    0.634\n",
      "Multilayer perceptron          R2 score on test / train set:     0.667    0.700\n"
     ]
    }
   ],
   "source": [
    "for model in models_v2:\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_v2:\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": [
    "## Looking at the results\n",
    "\n",
    "The performance of both models seems to have significantly improved by using a history of variables."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "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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s/usBMAE/zjDv5MmTVLz+hDtQ8FWWFjVi/9Wq1bNbo9maF3U7YPptJH9NAw3aNT7adTt47MmGu/EMDwrTLaRAJhC3d69e6vEzdhiCOlhsLoNm8i3bt3apC9ydu6o2wchaWPOupOxC9GHxqTN2Ynpw5xJbfRCheBHowJaenICYJJjsMADyVSxOTV2+UDUDxtUR6VE3T74iTaGv7fSh/RhGBRgPw2Dl9jGdAoQAFMog2TQtWvXVtsuYXuiqJWo2wd/0cbw91r6kD4MgwLsp2HwEtuYSgECYApVnH02o9plom4f/EYbw9976UP6MAwKsJ+GwUtsIwGQfYAKUAEqQAWoABWgAlRAGAFkJ6ACVIAKUAEqQAWoQIEpQAAsMIfTXCpABagAFaACVIAKEADZB6gAFaACVIAKUAEqUGAKEAALzOE0lwpQASpABagAFaACBED2ASpABagAFaACVIAKFJgCBMACczjNpQJUgApQASpABagAAZB9gApQASpABagAFaACBaYAAbDAHE5zqQAVoAJUgApQASpAAGQfoAJUgApQASpABahAgSlAACwwh9NcKkAFqAAVoAJUgAoQANkHqAAVoAJUgApQASpQYAoQAAvM4TSXClABKkAFqAAVoAIEQPYBKkAFqAAVoAJUgAoUmAIEwAJzOM2lAlSAClABKkAFqAABkH2AClABKkAFqAAVoAIFpgABsMAcTnOpABWgAlSAClABKkAAZB+gAlSAClABKkAFqECBKUAALDCH01wqQAWoABWgAlSAChAA2QeoABWgAlSAClABKlBgChAAC8zhNJcKUAEqQAWoABWgAgRA9gEqQAWoABWgAlSAChSYAgTAAnM4zaUCVIAKUAEqQAWoAAGQfYAKUAEqQAWoABWgAgWmAAGwwBxOc6kAFaACVIAKUAEqQABkH6ACVIAKUAEqQAWoQIEpQAAsMIfTXCpABagAFaACVIAKEADZB6gAFaACVIAKUAEqUGAKEAALzOE0lwpQASpABagAFaACBED2ASpABagAFaACVIAKFJgCBMACczjNpQJUgApQASpABagAAZB9gApQASpABagAFaACBaYAAbDAHE5zqQAVoAJUgApQASpAAGQfoAJUgApQASpABahAgSlAACwwh9NcKkAFqAAVoAJUgAoQANkHqAAVoAJUgApQASpQYAoQAAvM4TSXClABKkAFqAAVoAIEQPYBKkAFqAAVoAJUgAoUmAIEwAJzOM2lAlSAClABKkAFqAABkH2AClABKkAFqAAVoAIFpgABsMAcTnOpABWgAlSAClABKkAAZB+gAlSAClABKkAFqECBKUAALDCH01wqQAWoABWgAlSAChAA2QeoABWgAlSAClABKlBgChAAC8zhNJcKUAEqQAWoABWgAgRA9gEqQAWoABWgAlSAChSYAgTAAnM4zaUCVIAKUAEqQAWoAAGQfYAKUAEqQAWoABWgAgWmAAGwwBxOc6kAFaACVIAKUAEqQABkH6ACVIAKUAEqQAWoQIEpQAAsMIfTXCpABagAFaACVIAKEADZB6gAFaACVIAKUAEqUGAKEAALzOE0lwpQASpABagAFaACBED2ASpABagAFaACVIAKFJgCBMACczjNpQJUgApQASpABagAAZB9gApQASpABagAFaACBaYAAbDAHE5zqQAVoAJUgApQASpAAGQfoAJUgApQASpABahAgSnw/9CYqwlRZFZGAAAAAElFTkSuQmCC\" width=\"640\">"
      ],
      "text/plain": [
       "<IPython.core.display.HTML object>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "plt.figure()\n",
    "plt.title('Performance on test/train data')\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_v2:\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": [
    "## Possible extensions\n",
    "\n",
    "Above, features were selected based on their linear correlation to the DST index. Such features will work well for a linear model, but a neural network could potentially also use features that have a more complex correlation with the DST index. We could simply use all variables as the input for the neural network, but then we have to take care that there are no missing values (NaN's)."
   ]
  },
  {
   "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"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
