{ "metadata": { "name": "", "signature": "sha256:74dbf5caa25c937be70dfe2ab509783a01f4a2044850d7044e729300a8c3644d" }, "nbformat": 3, "nbformat_minor": 0, "worksheets": [ { "cells": [ { "cell_type": "heading", "level": 1, "metadata": {}, "source": [ "Plotting with Matplotlib" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "IPython works with the [Matplotlib](http://matplotlib.org/) plotting library, which integrates Matplotlib with IPython's display system and event loop handling." ] }, { "cell_type": "heading", "level": 2, "metadata": {}, "source": [ "matplotlib mode" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "To make plots using Matplotlib, you must first enable IPython's matplotlib mode.\n", "\n", "To do this, run the `%matplotlib` magic command to enable plotting in the current Notebook.\n", "\n", "This magic takes an optional argument that specifies which Matplotlib backend should be used. Most of the time, in the Notebook, you will want to use the `inline` backend, which will embed plots inside the Notebook:" ] }, { "cell_type": "code", "collapsed": false, "input": [ "%matplotlib inline" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 1 }, { "cell_type": "markdown", "metadata": {}, "source": [ "You can also use Matplotlib GUI backends in the Notebook, such as the Qt backend (`%matplotlib qt`). This will use Matplotlib's interactive Qt UI in a floating window to the side of your browser. Of course, this only works if your browser is running on the same system as the Notebook Server. You can always call the `display` function to paste figures into the Notebook document." ] }, { "cell_type": "heading", "level": 2, "metadata": {}, "source": [ "Making a simple plot" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "With matplotlib enabled, plotting should just work." ] }, { "cell_type": "code", "collapsed": false, "input": [ "import matplotlib.pyplot as plt\n", "import numpy as np" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 2 }, { "cell_type": "code", "collapsed": false, "input": [ "x = np.linspace(0, 3*np.pi, 500)\n", "plt.plot(x, np.sin(x**2))\n", "plt.title('A simple chirp');" ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "display_data", "png": "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\n", "text": [ "" ] } ], "prompt_number": 3 }, { "cell_type": "markdown", "metadata": {}, "source": [ "These images can be resized by dragging the handle in the lower right corner. Double clicking will return them to their original size." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "One thing to be aware of is that by default, the `Figure` object is cleared at the end of each cell, so you will need to issue all plotting commands for a single figure in a single cell." ] }, { "cell_type": "heading", "level": 2, "metadata": {}, "source": [ "Loading Matplotlib demos with %load" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "IPython's `%load` magic can be used to load any Matplotlib demo by its URL:" ] }, { "cell_type": "code", "collapsed": false, "input": [ "%load http://matplotlib.org/mpl_examples/showcase/integral_demo.py" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 4 }, { "cell_type": "code", "collapsed": false, "input": [ "\"\"\"\n", "Plot demonstrating the integral as the area under a curve.\n", "\n", "Although this is a simple example, it demonstrates some important tweaks:\n", "\n", " * A simple line plot with custom color and line width.\n", " * A shaded region created using a Polygon patch.\n", " * A text label with mathtext rendering.\n", " * figtext calls to label the x- and y-axes.\n", " * Use of axis spines to hide the top and right spines.\n", " * Custom tick placement and labels.\n", "\"\"\"\n", "import numpy as np\n", "import matplotlib.pyplot as plt\n", "from matplotlib.patches import Polygon\n", "\n", "\n", "def func(x):\n", " return (x - 3) * (x - 5) * (x - 7) + 85\n", "\n", "\n", "a, b = 2, 9 # integral limits\n", "x = np.linspace(0, 10)\n", "y = func(x)\n", "\n", "fig, ax = plt.subplots()\n", "plt.plot(x, y, 'r', linewidth=2)\n", "plt.ylim(ymin=0)\n", "\n", "# Make the shaded region\n", "ix = np.linspace(a, b)\n", "iy = func(ix)\n", "verts = [(a, 0)] + list(zip(ix, iy)) + [(b, 0)]\n", "poly = Polygon(verts, facecolor='0.9', edgecolor='0.5')\n", "ax.add_patch(poly)\n", "\n", "plt.text(0.5 * (a + b), 30, r\"$\\int_a^b f(x)\\mathrm{d}x$\",\n", " horizontalalignment='center', fontsize=20)\n", "\n", "plt.figtext(0.9, 0.05, '$x$')\n", "plt.figtext(0.1, 0.9, '$y$')\n", "\n", "ax.spines['right'].set_visible(False)\n", "ax.spines['top'].set_visible(False)\n", "ax.xaxis.set_ticks_position('bottom')\n", "\n", "ax.set_xticks((a, b))\n", "ax.set_xticklabels(('$a$', '$b$'))\n", "ax.set_yticks([])\n", "\n", "plt.show()\n" ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "display_data", "png": "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\niISh/weZPyRnS1m/IAAAAABJRU5ErkJggg==\n", "text": [ "" ] } ], "prompt_number": 5 } ], "metadata": {} } ] }