{ "metadata": { "name": "", "signature": "sha256:3f6c236933c7a06609110201969440d1a154bdb9f35b36d36c1dd1bcc7ee5f3b" }, "nbformat": 3, "nbformat_minor": 0, "worksheets": [ { "cells": [ { "cell_type": "heading", "level": 1, "metadata": {}, "source": [ "Basic Commands" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We started the notebook using 'ipython notebook' and then clicked 'New Notebook'. We did not load matplotlib automatically, but we do it now (this is the recommended procedure)." ] }, { "cell_type": "code", "collapsed": false, "input": [ "%matplotlib inline" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stderr", "text": [ "/usr/lib/python2.7/dist-packages/matplotlib/font_manager.py:273: UserWarning: Matplotlib is building the font cache using fc-list. This may take a moment.\n", " warnings.warn('Matplotlib is building the font cache using fc-list. This may take a moment.')\n" ] } ], "prompt_number": 1 }, { "cell_type": "markdown", "metadata": {}, "source": [ "The 'inline' option will show the plots within the notebook, instead of opening a different window." ] }, { "cell_type": "heading", "level": 3, "metadata": {}, "source": [ "Making a simple plot" ] }, { "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)" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 3 }, { "cell_type": "code", "collapsed": false, "input": [ "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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\nrkJggg==\n", "text": [ "" ] } ], "prompt_number": 5 }, { "cell_type": "code", "collapsed": false, "input": [ "a=10" ], "language": "python", "metadata": {}, "outputs": [] }, { "cell_type": "code", "collapsed": false, "input": [ "print(a)" ], "language": "python", "metadata": {}, "outputs": [] }, { "cell_type": "code", "collapsed": false, "input": [ "%load http://matplotlib.org/mpl_examples/showcase/integral_demo.py" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 7 }, { "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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\nixZhGAbp6ek899xzzJ8/n7y8PDIyMnjwwQeP6sk7HA46derE0qVLj5kxs337dqZPn06DBg1ISkrC\n7XaXu+TtyZ5X4lf8hPfMmbBsmXXb+z/+oQWn4kRpeJ911lm4XK6wtfvSSy+VjXU/9NBD9OnT56j3\nN23axNChQ497bGpqKu+88w6TJk0CrH8I+vXrx7Rp0wgGg1x//fW0b9+eu+6666jj2rZty+bNm4/6\n3po1axg2bBjz5s0r2zi5sLCQm2++OWznlfgUH8MmP/4IpVO8/vpXaNTI3nokbDZs2IBhGLRv3z7s\nbW/atAnDMI57y31aWlrZhcvfmjNnzlEzUIqLi2nQoAGdOnWiWbNmjBo16rhbsCUnJ7N3796y16Zp\nMm7cOHr06HHUjvd16tShf//+YTuvxKfYD2/ThLvusjYSvuEG60viQjAYZOvWrUBkloHdvHkzp5xy\nCikpKce8l5+fX25433vvvdSqVavs9ffff89ll10GwOmnn87EiROPO1aenJxMfn7+UcelpqaecHgm\nHOeV+BT74T1vHnz2mbVx8Msv212NhNGuXbsoKSkB4MILLwx7+5s3by53oSvDMMqdl92sWbOy5zt3\n7iQjI4Pu3btXeD6Hw0EgECh7feDAAYBKB26o55X4FNvhffAgjBtnPZ82TRsIx5nS28pdLldEVhPc\nsmVLue3Wq1eP7OzsCtv45ptvSExMPKr3XN7dlNnZ2Uf15ps2bQpYwx8n62TOK/EpdsPbNOHee63Z\nJddcA+VcXJLYtWXLFsC6s9Id5nVpcnJy2L9/f7nTD5s3b05OTs4x3y8pKWHy5MllU/6++eYbzj33\n3LIbeUzTZObMmcdtMzs7+6ghmosvvphmzZqVXZT9NZ/PF7bzSnyK3fB+911YvNhadOqVVzS7JA5t\n27YtYntWll6sLC+8O3fuzI4dO475/pdffsmsWbPYvn07u3btYt++fUf9wzJt2jRuKmfZ4d27dx91\n56TD4eCFF17g888/LxvbB8jMzGThwoXAL73pqpxX4lNsThXMyoL77rOeP/usta2ZxJ3SQItEeG/c\nuJF69eqVO2zSs2dPnnjiiWO+361bNwYPHsyGDRvYsGEDH330EQ8//DAPPfQQLpeL3r1707Fjx2OO\nM02TNWvWML50U5AjevToweuvv84LL7zAGWecQZ06dXC73dx444387W9/Y/jw4dx5551ce+21IZ1X\n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\n", "text": [ "" ] } ], "prompt_number": 8 }, { "cell_type": "heading", "level": 3, "metadata": {}, "source": [ "How to fit an elephant (www.johndcook.com/blog/2011/06/21/how-to-fit-an-elephant/)" ] }, { "cell_type": "code", "collapsed": false, "input": [ "# elephant parameters\n", "p1, p2, p3, p4 = (50 - 30j, 18 + 8j, 12 - 10j, -14 - 60j)\n", "p5 = 40 + 20j # eyepiece\n", "\n", "def fourier(t, C):\n", " f = np.zeros(t.shape)\n", " A, B = C.real, C.imag\n", " for k in range(len(C)):\n", " f = f + A[k]*np.cos(k*t)+ B[k]*np.sin(k*t)\n", " return f\n", "\n", "def elephant(t, p1, p2, p3, p4, p5):\n", " npar = 6\n", " Cx = np.zeros((npar,), dtype='complex')\n", " Cy = np.zeros((npar,), dtype='complex')\n", " \n", " Cx[1] = p1.real*1j\n", " Cx[2] = p2.real*1j\n", " Cx[3] = p3.real\n", " Cx[5] = p4.real\n", " \n", " Cy[1] = p4.imag + p1.imag*1j\n", " Cy[2] = p2.imag*1j\n", " Cy[3] = p3.imag*1j\n", " \n", " x = np.append(fourier(t, Cx), [-p5.imag])\n", " y = np.append(fourier(t, Cy), [p5.imag])\n", " \n", " return x, y\n", "\n", "x, y = elephant(np.linspace(0, 2.*np.pi, 1000), p1, p2, p3, p4, p5)\n", "plt.plot(y, -x, '.')\n" ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 9, "text": [ "[]" ] }, { "metadata": {}, "output_type": "display_data", "png": "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\n/wfhEaeDlVPQlQAAAABJRU5ErkJggg==\n", "text": [ "" ] } ], "prompt_number": 9 }, { "cell_type": "heading", "level": 5, "metadata": {}, "source": [ "Exercise: Make it wiggle and wink! (Hint: www.r-bloggers.com/a-winking-pink-elephant)" ] }, { "cell_type": "code", "collapsed": false, "input": [], "language": "python", "metadata": {}, "outputs": [] } ], "metadata": {} } ] }