{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# First Steps\n",
    "\n",
    "Now that you have installed Marvin, it's time to take your first steps.  If you want to learn more about how Marvin works, then go see [General Info](https://api.sdss.org/doc/manga/marvin/general.html) to learn about Marvin Modes, Versions, or Downloading.  If you just want to play, then read on.\n",
    "\n",
    "First let's run some boilerplate code for Python 2/3 compatibility and plotting in the notebook:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 26,
   "metadata": {
    "collapsed": false,
    "scrolled": true
   },
   "outputs": [],
   "source": [
    "from __future__ import print_function, division, absolute_import\n",
    "import matplotlib.pyplot as plt\n",
    "%matplotlib inline"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Now, let’s import Marvin:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "INFO: No release version set. Setting default to MPL-6\n"
     ]
    }
   ],
   "source": [
    "import marvin"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Let's see what release we're using.  Releases can be either MPLs (e.g. MPL-5) or DRs (e.g. DR13), however DRs are currently disabled in Marvin."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {
    "collapsed": false,
    "scrolled": true
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "'MPL-6'"
      ]
     },
     "execution_count": 2,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "marvin.config.release"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "On intial import, Marvin will set the default data release to use the latest MPL available, currently MPL-6. You can change the version of MaNGA data using the Marvin [Config](https://api.sdss.org/doc/manga/marvin/api/general.html#marvin-config-class).\n",
    "\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "('MPL:', 'MPL-5')\n"
     ]
    }
   ],
   "source": [
    "from marvin import config\n",
    "config.setRelease('MPL-5')\n",
    "\n",
    "print('MPL:', config.release)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "But let's work with MPL-6:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "'MPL-6'"
      ]
     },
     "execution_count": 6,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "config.setRelease('MPL-6')\n",
    "\n",
    "# check designated version\n",
    "config.release"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# My First Cube\n",
    "Now let’s play with a Marvin Cube!\n",
    "\n",
    "Import the Marvin-Tools Cube class:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {
    "collapsed": false
   },
   "outputs": [],
   "source": [
    "from marvin.tools.cube import Cube"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Let's load a cube from a local file. Start by specifying the full path and name of the file, such as:\n",
    "\n",
    "`/Users/Brian/Work/Manga/redux/v2_3_1/8485/stack/manga-8485-1901-LOGCUBE.fits.gz`\n",
    "\n",
    "**EDIT Next Cell**"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "metadata": {
    "collapsed": false
   },
   "outputs": [],
   "source": [
    "#----- EDIT THIS CELL -----#\n",
    "\n",
    "# filename = '/Users/Brian/Work/Manga/redux/v1_5_1/8485/stack/manga-8485-1901-LOGCUBE.fits.gz'\n",
    "filename = 'path/to/manga/cube/manga-8485-1901-LOGCUBE.fits.gz'\n",
    "\n",
    "filename = '/Users/andrews/manga/spectro/redux/v2_3_1/8485/stack/manga-8485-1901-LOGCUBE.fits.gz'\n",
    "filename = '/Users/Brian/Work/Manga/redux/v2_3_1/8485/stack/manga-8485-1901-LOGCUBE.fits.gz'"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Create a Cube object:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "metadata": {
    "collapsed": false
   },
   "outputs": [],
   "source": [
    "cc = Cube(filename=filename)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Now we have a Cube object:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "metadata": {
    "collapsed": false,
    "scrolled": true
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "<Marvin Cube (plateifu='8485-1901', mode='local', data_origin='file')>\n"
     ]
    }
   ],
   "source": [
    "print(cc)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "How about we look at some meta-data"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "(232.544703894, 48.6902009334, 'MaNGA dither')"
      ]
     },
     "execution_count": 12,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "cc.ra, cc.dec, cc.header['SRVYMODE']"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "...and the quality and target bits"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 14,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "[<Maskbit 'MANGA_TARGET1' ['SECONDARY_v1_1_0', 'SECONDARY_COM2', 'SECONDARY_v1_2_0']>,\n",
       " <Maskbit 'MANGA_TARGET2' []>,\n",
       " <Maskbit 'MANGA_TARGET3' []>]"
      ]
     },
     "execution_count": 14,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "cc.target_flags"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 16,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<Maskbit 'MANGA_DRP3QUAL' []>"
      ]
     },
     "execution_count": 16,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "cc.quality_flag"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Get a Spaxel\n",
    "Cubes have several functions currently available: getSpaxel, getMaps, getAperture.  Let's look at spaxels. We can retrieve spaxels from a cube easily via indexing. In this manner, spaxels are 0-indexed from the lower left corner. Let's get spaxel (x=10, y=10):"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 17,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "spax = cc[10,10]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 18,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<Marvin Spaxel (plateifu=8485-1901, x=10, y=10; x_cen=-7, y_cen=-7, loaded=cube/maps)>"
      ]
     },
     "execution_count": 18,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# print the spaxel to see the x,y coord from the lower left, and the coords relative to the cube center, x_cen/y_cen\n",
    "spax"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Spaxels have a spectrum associated with it.  It has the wavelengths and fluxes of each spectral channel:"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Alternatively grab a spaxel with getSpaxel.  Use the xyorig keyword to set the coordinate origin point: 'lower' or 'center'.  The default is \"center\""
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 19,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<Marvin Spaxel (plateifu=8485-1901, x=17, y=17; x_cen=0, y_cen=0, loaded=cube/maps)>"
      ]
     },
     "execution_count": 19,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# let's grab the central spaxel\n",
    "spax = cc.getSpaxel(x=0, y=0)\n",
    "spax"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 21,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "text/latex": [
       "$[3621.596,~3622.43,~3623.2642,~\\dots, 10349.038,~10351.422,~10353.805] \\; \\mathrm{\\mathring{A}}$"
      ],
      "text/plain": [
       "<Quantity [  3621.59598486,  3622.42998417,  3623.26417553,...,\n",
       "            10349.03843826, 10351.42166679, 10353.80544415] Angstrom>"
      ]
     },
     "execution_count": 21,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "spax.flux.wavelength"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 22,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "text/latex": [
       "$[0.54676276,~0.46566465,~0.4622981,~\\dots, 0,~0,~0] \\; \\mathrm{1 \\times 10^{-17}\\,\\frac{erg}{\\mathring{A}\\,s\\,spaxel\\,cm^{2}}}$"
      ],
      "text/plain": [
       "<Spectrum [ 0.54676276, 0.46566465, 0.4622981 ,...,  0.        ,\n",
       "            0.        , 0.        ] 1e-17 erg / (Angstrom cm2 s spaxel)>"
      ]
     },
     "execution_count": 22,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "spax.flux"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "\n",
    "### Plot the spectrum!"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 23,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "# turn on interactive plotting\n",
    "%matplotlib notebook"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 24,
   "metadata": {
    "collapsed": false,
    "scrolled": false
   },
   "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",
       "        this.ws.close();\n",
       "    }\n",
       "\n",
       "    this.ws.onmessage = this._make_on_message_function(this);\n",
       "\n",
       "    this.ondownload = ondownload;\n",
       "}\n",
       "\n",
       "mpl.figure.prototype._init_header = function() {\n",
       "    var titlebar = $(\n",
       "        '<div class=\"ui-dialog-titlebar ui-widget-header ui-corner-all ' +\n",
       "        'ui-helper-clearfix\"/>');\n",
       "    var titletext = $(\n",
       "        '<div class=\"ui-dialog-title\" style=\"width: 100%; ' +\n",
       "        'text-align: center; padding: 3px;\"/>');\n",
       "    titlebar.append(titletext)\n",
       "    this.root.append(titlebar);\n",
       "    this.header = titletext[0];\n",
       "}\n",
       "\n",
       "\n",
       "\n",
       "mpl.figure.prototype._canvas_extra_style = function(canvas_div) {\n",
       "\n",
       "}\n",
       "\n",
       "\n",
       "mpl.figure.prototype._root_extra_style = function(canvas_div) {\n",
       "\n",
       "}\n",
       "\n",
       "mpl.figure.prototype._init_canvas = function() {\n",
       "    var fig = this;\n",
       "\n",
       "    var canvas_div = $('<div/>');\n",
       "\n",
       "    canvas_div.attr('style', 'position: relative; clear: both; outline: 0');\n",
       "\n",
       "    function canvas_keyboard_event(event) {\n",
       "        return fig.key_event(event, event['data']);\n",
       "    }\n",
       "\n",
       "    canvas_div.keydown('key_press', canvas_keyboard_event);\n",
       "    canvas_div.keyup('key_release', canvas_keyboard_event);\n",
       "    this.canvas_div = canvas_div\n",
       "    this._canvas_extra_style(canvas_div)\n",
       "    this.root.append(canvas_div);\n",
       "\n",
       "    var canvas = $('<canvas/>');\n",
       "    canvas.addClass('mpl-canvas');\n",
       "    canvas.attr('style', \"left: 0; top: 0; z-index: 0; outline: 0\")\n",
       "\n",
       "    this.canvas = canvas[0];\n",
       "    this.context = canvas[0].getContext(\"2d\");\n",
       "\n",
       "    var backingStore = this.context.backingStorePixelRatio ||\n",
       "\tthis.context.webkitBackingStorePixelRatio ||\n",
       "\tthis.context.mozBackingStorePixelRatio ||\n",
       "\tthis.context.msBackingStorePixelRatio ||\n",
       "\tthis.context.oBackingStorePixelRatio ||\n",
       "\tthis.context.backingStorePixelRatio || 1;\n",
       "\n",
       "    mpl.ratio = (window.devicePixelRatio || 1) / backingStore;\n",
       "\n",
       "    var rubberband = $('<canvas/>');\n",
       "    rubberband.attr('style', \"position: absolute; left: 0; top: 0; z-index: 1;\")\n",
       "\n",
       "    var pass_mouse_events = true;\n",
       "\n",
       "    canvas_div.resizable({\n",
       "        start: function(event, ui) {\n",
       "            pass_mouse_events = false;\n",
       "        },\n",
       "        resize: function(event, ui) {\n",
       "            fig.request_resize(ui.size.width, ui.size.height);\n",
       "        },\n",
       "        stop: function(event, ui) {\n",
       "            pass_mouse_events = true;\n",
       "            fig.request_resize(ui.size.width, ui.size.height);\n",
       "        },\n",
       "    });\n",
       "\n",
       "    function mouse_event_fn(event) {\n",
       "        if (pass_mouse_events)\n",
       "            return fig.mouse_event(event, event['data']);\n",
       "    }\n",
       "\n",
       "    rubberband.mousedown('button_press', mouse_event_fn);\n",
       "    rubberband.mouseup('button_release', mouse_event_fn);\n",
       "    // Throttle sequential mouse events to 1 every 20ms.\n",
       "    rubberband.mousemove('motion_notify', mouse_event_fn);\n",
       "\n",
       "    rubberband.mouseenter('figure_enter', mouse_event_fn);\n",
       "    rubberband.mouseleave('figure_leave', mouse_event_fn);\n",
       "\n",
       "    canvas_div.on(\"wheel\", function (event) {\n",
       "        event = event.originalEvent;\n",
       "        event['data'] = 'scroll'\n",
       "        if (event.deltaY < 0) {\n",
       "            event.step = 1;\n",
       "        } else {\n",
       "            event.step = -1;\n",
       "        }\n",
       "        mouse_event_fn(event);\n",
       "    });\n",
       "\n",
       "    canvas_div.append(canvas);\n",
       "    canvas_div.append(rubberband);\n",
       "\n",
       "    this.rubberband = rubberband;\n",
       "    this.rubberband_canvas = rubberband[0];\n",
       "    this.rubberband_context = rubberband[0].getContext(\"2d\");\n",
       "    this.rubberband_context.strokeStyle = \"#000000\";\n",
       "\n",
       "    this._resize_canvas = function(width, height) {\n",
       "        // Keep the size of the canvas, canvas container, and rubber band\n",
       "        // canvas in synch.\n",
       "        canvas_div.css('width', width)\n",
       "        canvas_div.css('height', height)\n",
       "\n",
       "        canvas.attr('width', width * mpl.ratio);\n",
       "        canvas.attr('height', height * mpl.ratio);\n",
       "        canvas.attr('style', 'width: ' + width + 'px; height: ' + height + 'px;');\n",
       "\n",
       "        rubberband.attr('width', width);\n",
       "        rubberband.attr('height', height);\n",
       "    }\n",
       "\n",
       "    // Set the figure to an initial 600x600px, this will subsequently be updated\n",
       "    // upon first draw.\n",
       "    this._resize_canvas(600, 600);\n",
       "\n",
       "    // Disable right mouse context menu.\n",
       "    $(this.rubberband_canvas).bind(\"contextmenu\",function(e){\n",
       "        return false;\n",
       "    });\n",
       "\n",
       "    function set_focus () {\n",
       "        canvas.focus();\n",
       "        canvas_div.focus();\n",
       "    }\n",
       "\n",
       "    window.setTimeout(set_focus, 100);\n",
       "}\n",
       "\n",
       "mpl.figure.prototype._init_toolbar = function() {\n",
       "    var fig = this;\n",
       "\n",
       "    var nav_element = $('<div/>')\n",
       "    nav_element.attr('style', 'width: 100%');\n",
       "    this.root.append(nav_element);\n",
       "\n",
       "    // Define a callback function for later on.\n",
       "    function toolbar_event(event) {\n",
       "        return fig.toolbar_button_onclick(event['data']);\n",
       "    }\n",
       "    function toolbar_mouse_event(event) {\n",
       "        return fig.toolbar_button_onmouseover(event['data']);\n",
       "    }\n",
       "\n",
       "    for(var toolbar_ind in mpl.toolbar_items) {\n",
       "        var name = mpl.toolbar_items[toolbar_ind][0];\n",
       "        var tooltip = mpl.toolbar_items[toolbar_ind][1];\n",
       "        var image = mpl.toolbar_items[toolbar_ind][2];\n",
       "        var method_name = mpl.toolbar_items[toolbar_ind][3];\n",
       "\n",
       "        if (!name) {\n",
       "            // put a spacer in here.\n",
       "            continue;\n",
       "        }\n",
       "        var button = $('<button/>');\n",
       "        button.addClass('ui-button ui-widget ui-state-default ui-corner-all ' +\n",
       "                        'ui-button-icon-only');\n",
       "        button.attr('role', 'button');\n",
       "        button.attr('aria-disabled', 'false');\n",
       "        button.click(method_name, toolbar_event);\n",
       "        button.mouseover(tooltip, toolbar_mouse_event);\n",
       "\n",
       "        var icon_img = $('<span/>');\n",
       "        icon_img.addClass('ui-button-icon-primary ui-icon');\n",
       "        icon_img.addClass(image);\n",
       "        icon_img.addClass('ui-corner-all');\n",
       "\n",
       "        var tooltip_span = $('<span/>');\n",
       "        tooltip_span.addClass('ui-button-text');\n",
       "        tooltip_span.html(tooltip);\n",
       "\n",
       "        button.append(icon_img);\n",
       "        button.append(tooltip_span);\n",
       "\n",
       "        nav_element.append(button);\n",
       "    }\n",
       "\n",
       "    var fmt_picker_span = $('<span/>');\n",
       "\n",
       "    var fmt_picker = $('<select/>');\n",
       "    fmt_picker.addClass('mpl-toolbar-option ui-widget ui-widget-content');\n",
       "    fmt_picker_span.append(fmt_picker);\n",
       "    nav_element.append(fmt_picker_span);\n",
       "    this.format_dropdown = fmt_picker[0];\n",
       "\n",
       "    for (var ind in mpl.extensions) {\n",
       "        var fmt = mpl.extensions[ind];\n",
       "        var option = $(\n",
       "            '<option/>', {selected: fmt === mpl.default_extension}).html(fmt);\n",
       "        fmt_picker.append(option)\n",
       "    }\n",
       "\n",
       "    // Add hover states to the ui-buttons\n",
       "    $( \".ui-button\" ).hover(\n",
       "        function() { $(this).addClass(\"ui-state-hover\");},\n",
       "        function() { $(this).removeClass(\"ui-state-hover\");}\n",
       "    );\n",
       "\n",
       "    var status_bar = $('<span class=\"mpl-message\"/>');\n",
       "    nav_element.append(status_bar);\n",
       "    this.message = status_bar[0];\n",
       "}\n",
       "\n",
       "mpl.figure.prototype.request_resize = function(x_pixels, y_pixels) {\n",
       "    // Request matplotlib to resize the figure. Matplotlib will then trigger a resize in the client,\n",
       "    // which will in turn request a refresh of the image.\n",
       "    this.send_message('resize', {'width': x_pixels, 'height': y_pixels});\n",
       "}\n",
       "\n",
       "mpl.figure.prototype.send_message = function(type, properties) {\n",
       "    properties['type'] = type;\n",
       "    properties['figure_id'] = this.id;\n",
       "    this.ws.send(JSON.stringify(properties));\n",
       "}\n",
       "\n",
       "mpl.figure.prototype.send_draw_message = function() {\n",
       "    if (!this.waiting) {\n",
       "        this.waiting = true;\n",
       "        this.ws.send(JSON.stringify({type: \"draw\", figure_id: this.id}));\n",
       "    }\n",
       "}\n",
       "\n",
       "\n",
       "mpl.figure.prototype.handle_save = function(fig, msg) {\n",
       "    var format_dropdown = fig.format_dropdown;\n",
       "    var format = format_dropdown.options[format_dropdown.selectedIndex].value;\n",
       "    fig.ondownload(fig, format);\n",
       "}\n",
       "\n",
       "\n",
       "mpl.figure.prototype.handle_resize = function(fig, msg) {\n",
       "    var size = msg['size'];\n",
       "    if (size[0] != fig.canvas.width || size[1] != fig.canvas.height) {\n",
       "        fig._resize_canvas(size[0], size[1]);\n",
       "        fig.send_message(\"refresh\", {});\n",
       "    };\n",
       "}\n",
       "\n",
       "mpl.figure.prototype.handle_rubberband = function(fig, msg) {\n",
       "    var x0 = msg['x0'] / mpl.ratio;\n",
       "    var y0 = (fig.canvas.height - msg['y0']) / mpl.ratio;\n",
       "    var x1 = msg['x1'] / mpl.ratio;\n",
       "    var y1 = (fig.canvas.height - msg['y1']) / mpl.ratio;\n",
       "    x0 = Math.floor(x0) + 0.5;\n",
       "    y0 = Math.floor(y0) + 0.5;\n",
       "    x1 = Math.floor(x1) + 0.5;\n",
       "    y1 = Math.floor(y1) + 0.5;\n",
       "    var min_x = Math.min(x0, x1);\n",
       "    var min_y = Math.min(y0, y1);\n",
       "    var width = Math.abs(x1 - x0);\n",
       "    var height = Math.abs(y1 - y0);\n",
       "\n",
       "    fig.rubberband_context.clearRect(\n",
       "        0, 0, fig.canvas.width, fig.canvas.height);\n",
       "\n",
       "    fig.rubberband_context.strokeRect(min_x, min_y, width, height);\n",
       "}\n",
       "\n",
       "mpl.figure.prototype.handle_figure_label = function(fig, msg) {\n",
       "    // Updates the figure title.\n",
       "    fig.header.textContent = msg['label'];\n",
       "}\n",
       "\n",
       "mpl.figure.prototype.handle_cursor = function(fig, msg) {\n",
       "    var cursor = msg['cursor'];\n",
       "    switch(cursor)\n",
       "    {\n",
       "    case 0:\n",
       "        cursor = 'pointer';\n",
       "        break;\n",
       "    case 1:\n",
       "        cursor = 'default';\n",
       "        break;\n",
       "    case 2:\n",
       "        cursor = 'crosshair';\n",
       "        break;\n",
       "    case 3:\n",
       "        cursor = 'move';\n",
       "        break;\n",
       "    }\n",
       "    fig.rubberband_canvas.style.cursor = cursor;\n",
       "}\n",
       "\n",
       "mpl.figure.prototype.handle_message = function(fig, msg) {\n",
       "    fig.message.textContent = msg['message'];\n",
       "}\n",
       "\n",
       "mpl.figure.prototype.handle_draw = function(fig, msg) {\n",
       "    // Request the server to send over a new figure.\n",
       "    fig.send_draw_message();\n",
       "}\n",
       "\n",
       "mpl.figure.prototype.handle_image_mode = function(fig, msg) {\n",
       "    fig.image_mode = msg['mode'];\n",
       "}\n",
       "\n",
       "mpl.figure.prototype.updated_canvas_event = function() {\n",
       "    // Called whenever the canvas gets updated.\n",
       "    this.send_message(\"ack\", {});\n",
       "}\n",
       "\n",
       "// A function to construct a web socket function for onmessage handling.\n",
       "// Called in the figure constructor.\n",
       "mpl.figure.prototype._make_on_message_function = function(fig) {\n",
       "    return function socket_on_message(evt) {\n",
       "        if (evt.data instanceof Blob) {\n",
       "            /* FIXME: We get \"Resource interpreted as Image but\n",
       "             * transferred with MIME type text/plain:\" errors on\n",
       "             * Chrome.  But how to set the MIME type?  It doesn't seem\n",
       "             * to be part of the websocket stream */\n",
       "            evt.data.type = \"image/png\";\n",
       "\n",
       "            /* Free the memory for the previous frames */\n",
       "            if (fig.imageObj.src) {\n",
       "                (window.URL || window.webkitURL).revokeObjectURL(\n",
       "                    fig.imageObj.src);\n",
       "            }\n",
       "\n",
       "            fig.imageObj.src = (window.URL || window.webkitURL).createObjectURL(\n",
       "                evt.data);\n",
       "            fig.updated_canvas_event();\n",
       "            fig.waiting = false;\n",
       "            return;\n",
       "        }\n",
       "        else if (typeof evt.data === 'string' && evt.data.slice(0, 21) == \"data:image/png;base64\") {\n",
       "            fig.imageObj.src = evt.data;\n",
       "            fig.updated_canvas_event();\n",
       "            fig.waiting = false;\n",
       "            return;\n",
       "        }\n",
       "\n",
       "        var msg = JSON.parse(evt.data);\n",
       "        var msg_type = msg['type'];\n",
       "\n",
       "        // Call the  \"handle_{type}\" callback, which takes\n",
       "        // the figure and JSON message as its only arguments.\n",
       "        try {\n",
       "            var callback = fig[\"handle_\" + msg_type];\n",
       "        } catch (e) {\n",
       "            console.log(\"No handler for the '\" + msg_type + \"' message type: \", msg);\n",
       "            return;\n",
       "        }\n",
       "\n",
       "        if (callback) {\n",
       "            try {\n",
       "                // console.log(\"Handling '\" + msg_type + \"' message: \", msg);\n",
       "                callback(fig, msg);\n",
       "            } catch (e) {\n",
       "                console.log(\"Exception inside the 'handler_\" + msg_type + \"' callback:\", e, e.stack, msg);\n",
       "            }\n",
       "        }\n",
       "    };\n",
       "}\n",
       "\n",
       "// from http://stackoverflow.com/questions/1114465/getting-mouse-location-in-canvas\n",
       "mpl.findpos = function(e) {\n",
       "    //this section is from http://www.quirksmode.org/js/events_properties.html\n",
       "    var targ;\n",
       "    if (!e)\n",
       "        e = window.event;\n",
       "    if (e.target)\n",
       "        targ = e.target;\n",
       "    else if (e.srcElement)\n",
       "        targ = e.srcElement;\n",
       "    if (targ.nodeType == 3) // defeat Safari bug\n",
       "        targ = targ.parentNode;\n",
       "\n",
       "    // jQuery normalizes the pageX and pageY\n",
       "    // pageX,Y are the mouse positions relative to the document\n",
       "    // offset() returns the position of the element relative to the document\n",
       "    var x = e.pageX - $(targ).offset().left;\n",
       "    var y = e.pageY - $(targ).offset().top;\n",
       "\n",
       "    return {\"x\": x, \"y\": y};\n",
       "};\n",
       "\n",
       "/*\n",
       " * return a copy of an object with only non-object keys\n",
       " * we need this to avoid circular references\n",
       " * http://stackoverflow.com/a/24161582/3208463\n",
       " */\n",
       "function simpleKeys (original) {\n",
       "  return Object.keys(original).reduce(function (obj, key) {\n",
       "    if (typeof original[key] !== 'object')\n",
       "        obj[key] = original[key]\n",
       "    return obj;\n",
       "  }, {});\n",
       "}\n",
       "\n",
       "mpl.figure.prototype.mouse_event = function(event, name) {\n",
       "    var canvas_pos = mpl.findpos(event)\n",
       "\n",
       "    if (name === 'button_press')\n",
       "    {\n",
       "        this.canvas.focus();\n",
       "        this.canvas_div.focus();\n",
       "    }\n",
       "\n",
       "    var x = canvas_pos.x * mpl.ratio;\n",
       "    var y = canvas_pos.y * mpl.ratio;\n",
       "\n",
       "    this.send_message(name, {x: x, y: y, button: event.button,\n",
       "                             step: event.step,\n",
       "                             guiEvent: simpleKeys(event)});\n",
       "\n",
       "    /* This prevents the web browser from automatically changing to\n",
       "     * the text insertion cursor when the button is pressed.  We want\n",
       "     * to control all of the cursor setting manually through the\n",
       "     * 'cursor' event from matplotlib */\n",
       "    event.preventDefault();\n",
       "    return false;\n",
       "}\n",
       "\n",
       "mpl.figure.prototype._key_event_extra = function(event, name) {\n",
       "    // Handle any extra behaviour associated with a key event\n",
       "}\n",
       "\n",
       "mpl.figure.prototype.key_event = function(event, name) {\n",
       "\n",
       "    // Prevent repeat events\n",
       "    if (name == 'key_press')\n",
       "    {\n",
       "        if (event.which === this._key)\n",
       "            return;\n",
       "        else\n",
       "            this._key = event.which;\n",
       "    }\n",
       "    if (name == 'key_release')\n",
       "        this._key = null;\n",
       "\n",
       "    var value = '';\n",
       "    if (event.ctrlKey && event.which != 17)\n",
       "        value += \"ctrl+\";\n",
       "    if (event.altKey && event.which != 18)\n",
       "        value += \"alt+\";\n",
       "    if (event.shiftKey && event.which != 16)\n",
       "        value += \"shift+\";\n",
       "\n",
       "    value += 'k';\n",
       "    value += event.which.toString();\n",
       "\n",
       "    this._key_event_extra(event, name);\n",
       "\n",
       "    this.send_message(name, {key: value,\n",
       "                             guiEvent: simpleKeys(event)});\n",
       "    return false;\n",
       "}\n",
       "\n",
       "mpl.figure.prototype.toolbar_button_onclick = function(name) {\n",
       "    if (name == 'download') {\n",
       "        this.handle_save(this, null);\n",
       "    } else {\n",
       "        this.send_message(\"toolbar_button\", {name: name});\n",
       "    }\n",
       "};\n",
       "\n",
       "mpl.figure.prototype.toolbar_button_onmouseover = function(tooltip) {\n",
       "    this.message.textContent = tooltip;\n",
       "};\n",
       "mpl.toolbar_items = [[\"Home\", \"Reset original view\", \"fa fa-home icon-home\", \"home\"], [\"Back\", \"Back to  previous view\", \"fa fa-arrow-left icon-arrow-left\", \"back\"], [\"Forward\", \"Forward to next view\", \"fa fa-arrow-right icon-arrow-right\", \"forward\"], [\"\", \"\", \"\", \"\"], [\"Pan\", \"Pan axes with left mouse, zoom with right\", \"fa fa-arrows icon-move\", \"pan\"], [\"Zoom\", \"Zoom to rectangle\", \"fa fa-square-o icon-check-empty\", \"zoom\"], [\"\", \"\", \"\", \"\"], [\"Download\", \"Download plot\", \"fa fa-floppy-o icon-save\", \"download\"]];\n",
       "\n",
       "mpl.extensions = [\"eps\", \"jpeg\", \"pdf\", \"png\", \"ps\", \"raw\", \"svg\", \"tif\"];\n",
       "\n",
       "mpl.default_extension = \"png\";var comm_websocket_adapter = function(comm) {\n",
       "    // Create a \"websocket\"-like object which calls the given IPython comm\n",
       "    // object with the appropriate methods. Currently this is a non binary\n",
       "    // socket, so there is still some room for performance tuning.\n",
       "    var ws = {};\n",
       "\n",
       "    ws.close = function() {\n",
       "        comm.close()\n",
       "    };\n",
       "    ws.send = function(m) {\n",
       "        //console.log('sending', m);\n",
       "        comm.send(m);\n",
       "    };\n",
       "    // Register the callback with on_msg.\n",
       "    comm.on_msg(function(msg) {\n",
       "        //console.log('receiving', msg['content']['data'], msg);\n",
       "        // Pass the mpl event to the overriden (by mpl) onmessage function.\n",
       "        ws.onmessage(msg['content']['data'])\n",
       "    });\n",
       "    return ws;\n",
       "}\n",
       "\n",
       "mpl.mpl_figure_comm = function(comm, msg) {\n",
       "    // This is the function which gets called when the mpl process\n",
       "    // starts-up an IPython Comm through the \"matplotlib\" channel.\n",
       "\n",
       "    var id = msg.content.data.id;\n",
       "    // Get hold of the div created by the display call when the Comm\n",
       "    // socket was opened in Python.\n",
       "    var element = $(\"#\" + id);\n",
       "    var ws_proxy = comm_websocket_adapter(comm)\n",
       "\n",
       "    function ondownload(figure, format) {\n",
       "        window.open(figure.imageObj.src);\n",
       "    }\n",
       "\n",
       "    var fig = new mpl.figure(id, ws_proxy,\n",
       "                           ondownload,\n",
       "                           element.get(0));\n",
       "\n",
       "    // Call onopen now - mpl needs it, as it is assuming we've passed it a real\n",
       "    // web socket which is closed, not our websocket->open comm proxy.\n",
       "    ws_proxy.onopen();\n",
       "\n",
       "    fig.parent_element = element.get(0);\n",
       "    fig.cell_info = mpl.find_output_cell(\"<div id='\" + id + \"'></div>\");\n",
       "    if (!fig.cell_info) {\n",
       "        console.error(\"Failed to find cell for figure\", id, fig);\n",
       "        return;\n",
       "    }\n",
       "\n",
       "    var output_index = fig.cell_info[2]\n",
       "    var cell = fig.cell_info[0];\n",
       "\n",
       "};\n",
       "\n",
       "mpl.figure.prototype.handle_close = function(fig, msg) {\n",
       "    var width = fig.canvas.width/mpl.ratio\n",
       "    fig.root.unbind('remove')\n",
       "\n",
       "    // Update the output cell to use the data from the current canvas.\n",
       "    fig.push_to_output();\n",
       "    var dataURL = fig.canvas.toDataURL();\n",
       "    // Re-enable the keyboard manager in IPython - without this line, in FF,\n",
       "    // the notebook keyboard shortcuts fail.\n",
       "    IPython.keyboard_manager.enable()\n",
       "    $(fig.parent_element).html('<img src=\"' + dataURL + '\" width=\"' + width + '\">');\n",
       "    fig.close_ws(fig, msg);\n",
       "}\n",
       "\n",
       "mpl.figure.prototype.close_ws = function(fig, msg){\n",
       "    fig.send_message('closing', msg);\n",
       "    // fig.ws.close()\n",
       "}\n",
       "\n",
       "mpl.figure.prototype.push_to_output = function(remove_interactive) {\n",
       "    // Turn the data on the canvas into data in the output cell.\n",
       "    var width = this.canvas.width/mpl.ratio\n",
       "    var dataURL = this.canvas.toDataURL();\n",
       "    this.cell_info[1]['text/html'] = '<img src=\"' + dataURL + '\" width=\"' + width + '\">';\n",
       "}\n",
       "\n",
       "mpl.figure.prototype.updated_canvas_event = function() {\n",
       "    // Tell IPython that the notebook contents must change.\n",
       "    IPython.notebook.set_dirty(true);\n",
       "    this.send_message(\"ack\", {});\n",
       "    var fig = this;\n",
       "    // Wait a second, then push the new image to the DOM so\n",
       "    // that it is saved nicely (might be nice to debounce this).\n",
       "    setTimeout(function () { fig.push_to_output() }, 1000);\n",
       "}\n",
       "\n",
       "mpl.figure.prototype._init_toolbar = function() {\n",
       "    var fig = this;\n",
       "\n",
       "    var nav_element = $('<div/>')\n",
       "    nav_element.attr('style', 'width: 100%');\n",
       "    this.root.append(nav_element);\n",
       "\n",
       "    // Define a callback function for later on.\n",
       "    function toolbar_event(event) {\n",
       "        return fig.toolbar_button_onclick(event['data']);\n",
       "    }\n",
       "    function toolbar_mouse_event(event) {\n",
       "        return fig.toolbar_button_onmouseover(event['data']);\n",
       "    }\n",
       "\n",
       "    for(var toolbar_ind in mpl.toolbar_items){\n",
       "        var name = mpl.toolbar_items[toolbar_ind][0];\n",
       "        var tooltip = mpl.toolbar_items[toolbar_ind][1];\n",
       "        var image = mpl.toolbar_items[toolbar_ind][2];\n",
       "        var method_name = mpl.toolbar_items[toolbar_ind][3];\n",
       "\n",
       "        if (!name) { continue; };\n",
       "\n",
       "        var button = $('<button class=\"btn btn-default\" href=\"#\" title=\"' + name + '\"><i class=\"fa ' + image + ' fa-lg\"></i></button>');\n",
       "        button.click(method_name, toolbar_event);\n",
       "        button.mouseover(tooltip, toolbar_mouse_event);\n",
       "        nav_element.append(button);\n",
       "    }\n",
       "\n",
       "    // Add the status bar.\n",
       "    var status_bar = $('<span class=\"mpl-message\" style=\"text-align:right; float: right;\"/>');\n",
       "    nav_element.append(status_bar);\n",
       "    this.message = status_bar[0];\n",
       "\n",
       "    // Add the close button to the window.\n",
       "    var buttongrp = $('<div class=\"btn-group inline pull-right\"></div>');\n",
       "    var button = $('<button class=\"btn btn-mini btn-primary\" href=\"#\" title=\"Stop Interaction\"><i class=\"fa fa-power-off icon-remove icon-large\"></i></button>');\n",
       "    button.click(function (evt) { fig.handle_close(fig, {}); } );\n",
       "    button.mouseover('Stop Interaction', toolbar_mouse_event);\n",
       "    buttongrp.append(button);\n",
       "    var titlebar = this.root.find($('.ui-dialog-titlebar'));\n",
       "    titlebar.prepend(buttongrp);\n",
       "}\n",
       "\n",
       "mpl.figure.prototype._root_extra_style = function(el){\n",
       "    var fig = this\n",
       "    el.on(\"remove\", function(){\n",
       "\tfig.close_ws(fig, {});\n",
       "    });\n",
       "}\n",
       "\n",
       "mpl.figure.prototype._canvas_extra_style = function(el){\n",
       "    // this is important to make the div 'focusable\n",
       "    el.attr('tabindex', 0)\n",
       "    // reach out to IPython and tell the keyboard manager to turn it's self\n",
       "    // off when our div gets focus\n",
       "\n",
       "    // location in version 3\n",
       "    if (IPython.notebook.keyboard_manager) {\n",
       "        IPython.notebook.keyboard_manager.register_events(el);\n",
       "    }\n",
       "    else {\n",
       "        // location in version 2\n",
       "        IPython.keyboard_manager.register_events(el);\n",
       "    }\n",
       "\n",
       "}\n",
       "\n",
       "mpl.figure.prototype._key_event_extra = function(event, name) {\n",
       "    var manager = IPython.notebook.keyboard_manager;\n",
       "    if (!manager)\n",
       "        manager = IPython.keyboard_manager;\n",
       "\n",
       "    // Check for shift+enter\n",
       "    if (event.shiftKey && event.which == 13) {\n",
       "        this.canvas_div.blur();\n",
       "        // select the cell after this one\n",
       "        var index = IPython.notebook.find_cell_index(this.cell_info[0]);\n",
       "        IPython.notebook.select(index + 1);\n",
       "    }\n",
       "}\n",
       "\n",
       "mpl.figure.prototype.handle_save = function(fig, msg) {\n",
       "    fig.ondownload(fig, null);\n",
       "}\n",
       "\n",
       "\n",
       "mpl.find_output_cell = function(html_output) {\n",
       "    // Return the cell and output element which can be found *uniquely* in the notebook.\n",
       "    // Note - this is a bit hacky, but it is done because the \"notebook_saving.Notebook\"\n",
       "    // IPython event is triggered only after the cells have been serialised, which for\n",
       "    // our purposes (turning an active figure into a static one), is too late.\n",
       "    var cells = IPython.notebook.get_cells();\n",
       "    var ncells = cells.length;\n",
       "    for (var i=0; i<ncells; i++) {\n",
       "        var cell = cells[i];\n",
       "        if (cell.cell_type === 'code'){\n",
       "            for (var j=0; j<cell.output_area.outputs.length; j++) {\n",
       "                var data = cell.output_area.outputs[j];\n",
       "                if (data.data) {\n",
       "                    // IPython >= 3 moved mimebundle to data attribute of output\n",
       "                    data = data.data;\n",
       "                }\n",
       "                if (data['text/html'] == html_output) {\n",
       "                    return [cell, data, j];\n",
       "                }\n",
       "            }\n",
       "        }\n",
       "    }\n",
       "}\n",
       "\n",
       "// Register the function which deals with the matplotlib target/channel.\n",
       "// The kernel may be null if the page has been refreshed.\n",
       "if (IPython.notebook.kernel != null) {\n",
       "    IPython.notebook.kernel.comm_manager.register_target('matplotlib', mpl.mpl_figure_comm);\n",
       "}\n"
      ],
      "text/plain": [
       "<IPython.core.display.Javascript object>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "text/html": [
       "<img src=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAoAAAAHgCAYAAAA10dzkAAAgAElEQVR4XuydB5gbxfn/35XOlbMxLtgGY1xOo/O5YRtjDC5gMGCKwdRAgNBbCAEC/0ASkkB+6fQOoZoSSoAAofdimgtg8J01kgvg7rONfed2Zef/jHS6k+6k02ilXe2svvs8eX4/fDM7s5/5zrtfvTs7axAOEAABEAABEAABEACBoiJgFNXV4mJBAARAAARAAARAAAQIBhAiAAEQAAEQAAEQAIEiIwADWGQDjssFARAAARAAARAAARhAaAAEQAAEQAAEQAAEiowADGCRDTguFwRAAARAAARAAARgAKEBEAABEAABEAABECgyAjCARTbguFwQAAEQAAEQAAEQgAGEBkAABEAABEAABECgyAjAABbZgONyQQAEQAAEQAAEQAAGEBoAARAAARAAARAAgSIjAANYZAOOywUBEAABEAABEAABGEBoAARAAARAAARAAASKjAAMYJENOC4XBEAABEAABEAABGAAoQEQAAEQAAEQAAEQKDICMIBFNuC4XBAAARAAARAAARCAAYQGQAAEQAAEQAAEQKDICMAAFtmA43JBAARAAARAAARAAAYQGgABEAABEAABEACBIiMAA1hkA47LBQEQAAEQAAEQAAEYQGgABEAABEAABEAABIqMAAxgkQ04LhcEQAAEQAAEQAAEYAChARAAARAAARAAARAoMgIwgEU24LhcEAABEAABEAABEIABhAZAAARAAARAAARAoMgIwAAW2YDjckEABEAABEAABEAABhAaAAEQAAEQAAEQAIEiIwADWGQDjssFARAAARAAARAAARhAaAAEQAAEQAAEQAAEiowADGCRDTguFwRAAARAAARAAARgAKEBEAABEAABEAABECgyAjCARTbguFwQAAEQAAEQAAEQgAGEBkAABEAABEAABECgyAjAABbZgONyQQAEQAAEQAAEQAAGEBoAARAAARAAARAAgSIjAANYZAOOywUBEAABEAABEAABGEBoAARAAARAAARAAASKjAAMYJENOC4XBEAABEAABEAABGAAoQEQAAEQAAEQAAEQKDICMIBFNuC4XBAAARAAARAAARCAAYQGQAAEQAAEQAAEQKDICMAAFtmA43JBAARAAARAAARAAAYQGgABEAABEAABEACBIiMAA1hkA47LBQEQAAEQ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\" width=\"640\">"
      ],
      "text/plain": [
       "<IPython.core.display.HTML object>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "text/plain": [
       "<matplotlib.axes._subplots.AxesSubplot at 0x106c0e510>"
      ]
     },
     "execution_count": 24,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "spax.flux.plot()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Save plot to Downloads directory:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 27,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x107433750>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "# To save the plot, we need to draw it in the same cell as the save command.\n",
    "spax.flux.plot()\n",
    "\n",
    "import os\n",
    "plt.savefig(os.getenv('HOME') + '/Downloads/my-first-spectrum.png')\n",
    "\n",
    "# NOTE - if you are using the latest version of iPython and Jupyter notebooks, then interactive matplotlib plots \n",
    "# should be enabled.  You can save the figure with the save icon in the interactive toolbar."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "anaconda-cloud": {},
  "kernelspec": {
   "display_name": "Python [conda root]",
   "language": "python",
   "name": "conda-root-py"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 2
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython2",
   "version": "2.7.12"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 0
}
