{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Simple Plotting in Python with matplotlib\n", "\n", "If while reading this you have any questions about what certain words are defined as see this computer programming dictionary forum, which you can [view here](http://www.computerhope.com/jargon/program.htm)." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Plotting with matplotlib\n", "[matplotlib](http://matplotlib.org/) is a 2D plotting library that is relatively easy to use to produce publication-quality plots in Python. It provides an interface that is easy to get started with as a beginner, but it also allows you to customize almost every part of a plot. matplotlib's [gallery](http://matplotlib.org/gallery.html) provides a good overview of the wide array of graphics matplotlib is capable of creating. We'll just scratch the surface of matplotlib's capabilities here by looking at making some line plots." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "This first line tells the Jupyter Notebook interface to set up plots to be displayed inline (as opposed to opening plots in a separate window). This is only needed for the notebook." ] }, { "cell_type": "code", "execution_count": 1, "metadata": { "collapsed": true }, "outputs": [], "source": [ "%matplotlib inline" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The first step is to import the NumPy library, which we will import as `np` to give us less to type. This library provides an `array` object we can use to perform mathematics operations, as well as easy ways to make such arrays. We use the `linspace` function to create an array of 10 values in `x`, spanning between 0 and 5. We then set `y` equal to `x * x`." ] }, { "cell_type": "code", "execution_count": 2, "metadata": { "collapsed": true }, "outputs": [], "source": [ "import numpy as np\n", "\n", "x = np.linspace(0, 5, 10)\n", "y = x * x" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Now we want to make a quick plot of these x and y values; for this we'll use `matplotlib`. First, we import the `matplotlib.pyplot` module, which provides a simple plotting interface; we import this as `plt`, again to save typing.\n", "\n", "matplotlib has two main top-level plotting objects: `Figure` and `Axes`. A `Figure` represents a single figure for plotting (a single image or figure window), which contains one or more `Axes` objects. An `Axes` groups together an x and y axis, and contains all of the various plotting methods that one would want to use.\n", "\n", "Below, we use the `subplots()` function, with no parameters, to quickly create a `Figure`, `fig`, and an `Axes`, `ax`, for us to plot on. We then use `ax.plot(x, y)` to create a line plot on the `Axes` we created; this command uses pairs of values from the `x` and `y` arrays to create points defining the line." ] }, { "cell_type": "code", "execution_count": 3, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "[]" ] }, "execution_count": 3, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "import matplotlib.pyplot as plt\n", "\n", "fig, ax = plt.subplots()\n", "ax.plot(x, y)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Matplotlib provides a wide array of ways to control the appearance of the plot. Below we adjust the line so that it is a thicker, red dashed line. By specifying the `marker` argument, we tell matplotlib to add a marker at each point; in this case, that marker is a square (`s`). For more information on linestyles, markers, etc., type `help(ax.plot)` in a cell, or see the [matplotlib plot docs](http://matplotlib.org/api/pyplot_api.html#matplotlib.pyplot.plot)." ] }, { "cell_type": "code", "execution_count": 4, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "[]" ] }, "execution_count": 4, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAXEAAAEACAYAAABF+UbAAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAGFhJREFUeJzt3XuU1HX9x/HnGxEXuYUgbEqKYusdEQwhNUZDfhwtLxim\nmSlZ1CmDLDnS7TD87BRa+ktLO8fbScpbomkgCHgZ8hKCIAiKrCWXAlkRL6C4LLCf3x+fWVjYXWZm\nd2Y+853v63HOHGa+M9+ZNwP74sPn+7mYcw4REYmmdqELEBGR1lOIi4hEmEJcRCTCFOIiIhGmEBcR\niTCFuIhIhGUMcTPrY2bPmNlrZrbMzH6QPj7JzP5rZovTt5GFL1dERBqzTOPEzawSqHTOLTGzzsAi\n4Hzgq8AW59zNhS9TRESa0z7TC5xzG4AN6fsfmdkK4ND001bA2kREJIOc+sTNrC8wAHgpfehqM1ti\nZneZWbc81yYiIhlkHeLprpRpwHjn3EfA7cCRzrkB+Ja6ulVERIosY584gJm1B2YAs5xztzTz/OHA\ndOdc/2ae0+IsIiKt4JzL2GWdbUv8HuD1xgGevuDZYBSwfB+F6OYckyZNCl5Dqdz0Xei70Hex1231\naib17o0Dcmn5ZrywaWanAZcBy8zslfT7/xT4mpkNAOqB1cB3cvhcERFp8MkncOGFUFOT86nZjE55\nAdivmaeezPnTRERkT87Bd78Lr7xCRZcuJE88EfbfH+bNy+r0jCEu+ZNIJEKXUDL0Xeym72K3WH4X\nt90GU6fCgQcy8fnnob+/tDjZshvBndWFzbYwM1fozxARiaSFC+Hzn4cdO+CBB+CSS3Y9ZWa4LC5s\nqiUuIhJK//4wZgx07bpHgOdCLXERkdDq66HdnoMFs22JaxVDEZHQ2rU+ihXiIiIRphAXESmW5cvh\ngw/y+pYKcRGRYqipgZEj4XOfg7Vr8/a2CnERkULbvh1Gj4Z166Cy0t/yRCEuIlJo114Lzz0HhxwC\nDz8MHTrk7a0V4iIihfSXv8Ctt/qp9NOm5bUVDgpxEZHCevVV/+vvfw9Dh+b97TXZR0Sk0F580Qd4\nluuhQPaTfRTiIiIlSDM2RURiQCEuIpJP9fVF/TiFuIhIvixbBiedBEuWFO0jFeIiIvnw/vt+i7Xl\ny/1GD0WiC5siIm21cyd8+cswaxacfDK88AJ07Nimt9SFTRGRYkkmfYD36AGPPtrmAM+FWuIiIm3x\n+utwwgl+DPjs2TB8eF7eVtuziYgUw3HH+f0xN2zIW4DnQi1xEZESpD5xEZEYUIiLiESYQlxEJBdP\nPQULFoSuYhf1iYuIZOtf//Lbq23dCvPn+zHhBaI+cRGRfPr4Yxg1ym90PHKkn15fAhTiIiKZOAdX\nXeXXRqmqgqlToV1pxGdpVCEiUspuvhkeegg6d4bHHoNu3UJXtItCXEQkk379oGtXuPdeOPbY0NXs\nQRc2RUSysWmTXxulSLQ9m4hIhGl0iohIDCjERUT2tnFj6AqyphAXEWnsueegb1+4/fbQlWQlY4ib\nWR8ze8bMXjOzZWY2Ln28u5nNMbOVZjbbzEpnzI2ISGusWwejR/sZmatWha4mKxkvbJpZJVDpnFti\nZp2BRcD5wBhgk3PuRjO7DujunJvYzPm6sCkipW/bNhg2DF56Cb74RXjySWgfbsuFvF3YdM5tcM4t\nSd//CFgB9MEH+b3pl90LXND6ckVEAhs3zgf4YYfBgw8GDfBc5FSlmfUFBgDzgd7OuRrwQW9mvfJe\nnYhIgUwZO5ba6mr/YNs2WLgQzKgYOJCJPXuGLS4HWYd4uitlGjDeOfeRme3dR9Jin0kymdx1P5FI\nkEgkcqtSRCTPaqurSc6b1+R48v33A1QDqVSKVCqV83lZhbiZtccH+J+dc4+nD9eYWW/nXE263/yd\nls5vHOIiItLU3g3cyZMnZ3VetkMM7wFed87d0ujY34Er0/evAB7f+yQRESmsjC1xMzsNuAxYZmav\n4LtNfgrcAPzVzL4JrAEuLmShIiJ5U0Yj5jKGuHPuBWC/Fp4ent9yREQKrL4evvENWLs2dCV5EY0x\nNCIi+TJhAtx3HxXt25M89VSoqNjj6YqqqkCFtY5WMRSR+LjpJrj2Wth/f3jiCTj77NAVtUirGIqI\nNPaXv/gAB/jTn0o6wHOhlriIlL/aWjjmGFizxrfGf/Sj0BVlpE0hREQaW7MGpk2DH/84dCVZUYiL\niESY+sRFRGJAIS4i5Wf79tAVFI1CXETKS10dnHsu/PznZTUzsyXqExeR8lFfD5dfDvffD716wdKl\nUFkZuqpWUZ+4iMTPhAk+wDt3hlmzIhvguVCIi0h5uOkmuPlmPxvz0Udh4MDQFRWFulNEJPq2boUT\nT4S33vIt8UsvDV1Rm2mcuIjEy4YN8NRT8PWvh64kLxTiIiIRpgubIiIxoBAXkej5+ONYjAHPhkJc\nRKJlyxb4whdg/HjYuTN0NcEpxEUkOurqYNQoWLwYZs6EDz8MXVFwCnERiYb6ehgzxo9A6dULZs+G\ngw4KXVVwCnERiYbGszFnzoR+/UJXVBIU4iJS+rZs8dPoG2ZjDhoUuqKSoXHiIhIN770HCxbAyJGh\nKykKTfYREYkwTfYREYkBhbiIlJ6NGzWZJ0sKcREpLTU1MGQIXHllrLZZa632oQsQEdllyxY45xy/\npOxBB8G2bX5EirRILXERKQ11dXDRRX42Zr9+8MQTfky47JNCXETCa5iNOXfu7tmYvXqFrioSFOIi\nEt6WLbBy5e69MTUbM2saJy4ipWHLFlixAgYPDl1JSdBkHxGRCNNkHxGRGFCIi0jxrVqlDR3yJGOI\nm9ndZlZjZq82OjbJzP5rZovTt3isSCMibfevf8Gpp8LFF0NtbehqIi9jn7iZnQ58BEx1zvVPH5sE\nbHHO3ZzxA9QnLhJrU8aOpba62j+oq/PjwLdto+LQQ5n41lvQoUPYAktUtn3iGWdsOueeN7PDm/uM\nVlUmIrFSW11Nct68JseTffsqwPOgLX3iV5vZEjO7y8y65a0iEYmH9lr1Ix9aG+K3A0c65wYAG4CM\n3SoiIpJ/rfqn0Dm3sdHDO4Hp+3p9MpncdT+RSJBIJFrzsSIiZSuVSpFKpXI+L9sQNxr1gZtZpXNu\nQ/rhKGD5vk5uHOIiItLU3g3cyZMnZ3VexhA3s/uBBNDDzNYCk4AzzWwAUA+sBr6Ta8EiEg8VVVUk\nWzgubadp9yKSX6tWwZQpcOutcMABoauJrLwNMRQRyVp1NZx1FqxbBwcfDL/8ZeiKyp5a4iKSH8uX\nw/Dhfnu1M87wmzp06RK6qsjSAlgiUjyLF0Mi4QN8+HC/JrgCvCgU4iLSdjfeCJs2wbnnwvTp0KlT\n6IpiQ90pItJ2W7fCTTfBdddpKn2eaFMIEZEIU5+4iEgMKMRFJDdPPw2ffBK6CklTiItI9v78Zxgx\nAi68ELZvD12NoBAXkWzdeSdccQXU18OQIVpKtkToT0FEMrv1Vhg/3t+fMsWPQpGSoNEpIrJvjz4K\nF13k799yC4wbF7aemNAQQxHJj23bYNQoOP98GDs2dDWxoRAXkfxxDkzb6haTxomLSP4owEuWQlxE\ndtu5Ez7+OHQVkgOFuIh4O3b4IYTnnOPXQpFIUIiLCNTVwSWXwH33waJFsGJF6IokSxonLhJ3tbUw\nejTMmAHduvm1wAcNCl2VZEkhLhJnW7fCBRfA3LnQowfMmQMDB4auSnKgEBeJs/33h86doXdveOop\nOOGE0BVJjjROXCTutm2D9evhiCNCVyKNaLKPiEiEabKPiEgMKMRF4uI//4HLLoPNm0NXInmkC5si\ncbBqFZx1FqxeDV27wh//GLoiyRP1iYuUu+pqH+Dr1sHgwfDkk9C9e+iqJAP1iYsILF8OX/iCD/Az\nzvDjwRXgZUUtcZEyMmXsWGqrq3cfePNNWL+eikMOYWJ1NXTqFK44yUm2LXH1iYuUkdrqapLz5jU5\nnuzXTwFeptSdIhIH7fSjXq70JysiEmEKcZFy8OGH8O1v+yVlJVbUJy4SdStX+k2MV670KxFKrCjE\nRaJs1iy49FLfEj/xRCqOP57k2283eVlFVVWA4qQYNMRQJKp+8xu47jq/E/2oUXDvvX5ZWSkLeZvs\nY2Z3m1mNmb3a6Fh3M5tjZivNbLaZdWtrwSKSo/fe8wE+eTI8/LACPKYytsTN7HTgI2Cqc65/+tgN\nwCbn3I1mdh3Q3Tk3sYXz1RIXKYSdO+HFF/1MTCk7eV1P3MwOB6Y3CvE3gGHOuRozqwRSzrljWjhX\nIS4ikqNCr53SyzlXA+Cc2wD0auX7iEg23n03dAVSovI1TlxNbZFC2L4dxo2D/v39Fmoie2ntEMMa\nM+vdqDvlnX29OJlM7rqfSCRIJBKt/FiRGNm0CUaPhmefhQ4d4OWX4bzzQlclBZJKpUilUjmfl22f\neF98n/iJ6cc3AO85527QhU2RAli2zE/gWbXK70T/t7/B0KGhq5IiytuFTTO7H0gAPYAaYBLwGPAw\n8BlgDXCxc+6DFs5XiIvk4p134KijYMsWOOUUH+B9+oSuSopMu92LRNn11/sdee64Azp2DF2NBKAQ\nF4myhp8Zy/gzLGVKm0KIRJnCW7KkpWhFQnrmGXjuudBVSIQpxEVCcA7+8AcYMcIvXqUx4NJK6k4R\nKbZt2+D734e77/aPv/UtP4xQpBUU4iLFtGEDXHSRX7iqogLuucevBy7SSgpxkWJavhzmz/fjvh97\nDAYNCl2RRJyGGIoU20MPQSKhLhTZJ40TFxGJsEIvRSsimezYEboCiQGFuEghrFwJJ50Ec+aErkTK\nnEJcJN9mzoTBg+H11+FXv9o9hV6kABTiIvniHNx4I3zpS7B5sx9KOGOGptBLQWmIoUgrTRk7ltrq\n6t0H3nwT1q+nApj4v/8LP/sZtFM7SQpLIS7SSrXV1STnzWtyPHn88fCLXwSoSOJIzQSRfOvZM3QF\nEiMKcRGRCFN3ikiupk3ze2CKlACFuEi2Nm6Eq6+Gv/7VPx44MGw9IijERbIzbRp873s+yDt1gt/8\nhorFi0l26dLkpRVVVQEKlLjS2ikimdx2m2+BA5x5pl8H/IgjwtYkZU8LYInky3vvwZAhcM018J3v\naOy3FIVCXCSfduyA9up9lOLRKoYirbF5c/PHFeBSohTiIuAvWH71q36zhu3bQ1cjkjWFuMi0aXD8\n8X7oYHU1LF0auiKRrCnEJb4aWt+jR/v7Z57pJ/GcckroykSyphCX+Jo+3be+O3WC22+Hp57S0EGJ\nHF2tkfgaMwb+/W/41rcU3hJZGmIoIlKCNMRQpMHGjb6rRKQMKcSlvDWMPLnwQlizJnQ1InmnEJfy\ntPfIk899TntdSllSiEv5mTt397jvxiNPDjssdGUieafRKVJ+Kivhgw+04qDEgkanSHlatAhOPlkr\nDkpkFWUVQzNbDXwI1APbnXODm3mNQlxEJEfFGmJYDySccyc3F+AiBfXII/DDH4auQiSotvaJG7o4\nKkUwZexYaqur/YO6OnjzTXj3XSqAiRdeCMOGBa1PJJS2hrgD5prZTuAO59ydeahJpIna6mqS8+Y1\nOZ486ig444wAFYmUhraG+GnOubfN7GB8mK9wzj2/94uSyeSu+4lEgkQi0caPFUk79FBdvJSykEql\nSKVSOZ+Xt9EpZjYJ2OKcu3mv47qwKW2WTCSab4kPG0ayFX/xRUpdwS9smtmBZtY5fb8TMAJY3tr3\nExGR3LXl/6G9gefN7BVgPjDdOTcnP2VJbL3xhp8u/8gjoSsRiYRW94k751YBA/JYi8TZ6tUweTJM\nnQr19X70yahRu9Y7qaiqItnMaRVVVcWsUqTkaMamhLV5M/zkJ3DnnX6D4vbt4aqr4Oc/hz59Qlcn\nEky2feJaO0XC6tgRZs+GHTvg8sth0iTo1y90VSKRoZa4hPePf0DPnnDccaErESkZRVk7JctCFOIC\nH38M1dV+USoRyUjbs0lpqK2F3/0OjjwSvvQl+OST0BWJlBWFuBTG9u1wxx3w2c/CNdfAO+/AZz4D\nNTWhKxMpK7qwKYXxta/5/S0BTjoJrr/et8S1RZpIXqklLoVx1VVw9NHw0EOweDF8+csKcJEC0IVN\nKQzn/KSd/fYLXYlIJOnCphReKgXnnAPvv9/0OTMFuEgRKMQld/Pnw/DhfiPiWbPg1ltDVyQSW7qw\nKdl74w2YMAFmzPCPu3WDa6+F8ePD1iUSYwpxaWKPrdAaqfjUp5g4YwZ06uSD+9proXv3ABWKSAOF\nuDTR4lZow4bBXXf5kSa9egWoTET2phCXPdXVwbvvtvz8VVcVrxYRyUgXNsUPB1y0CMaN83tWvvZa\n6IpEJEtqicfdyy/DlVfuGdwHHghbtwYrSUSyp5Z43PXp40ed9OzpW+KLFsEpp4SuSkSypJZ4HDgH\nL74IQ4Y0nYBTWQnPPeeDe//9Aag4+miSzUyR11ZoIqVH0+7L2apVfs/KqVPhrbdgzhw4++zQVYlI\nFrQ9W5zNnAlTpvgWdoNDD21+eryIRJpCvBytX+8DvGNHv2P8FVfAWWdpLRORMqQQj7KNG+Hgg5se\nHz3aB/ZXvgJduhS/LhEpGvWJR82mTfDAA3Dvvb6fe/16OOCA0FWJSJ6pT7zcTJ8O99wDTzzhtz4D\n6NrVj+8eODBsbSISjFriUXHuuf6CZbt2MGKE7+c+/3zf7y0iZSfblrhCPKBmVwt0joqjj2biHXfs\neXzuXFi6FC67DD796eIVKSJBqDslAlpcLbC5vSjPPltjvEWkCU27D2XTJj/dvTn19cWtRUQiSyFe\naB9+2PzxLl3gnXeaf66d/lhEJDtKi3yqr4fly+HOO+Gb34Rjj4VPfQo2bGj62g4d4Jhjil+jiJQV\n9Ynn09ChsGDBnscOOMB3m1RWNn19r16wYkVxahORsqQQz9bOnT5w//lPOP1038re2wkn+Fb30KF+\nxcChQ2HAgBYn41RUVZFs4biISDY0xHBfFi2Cxx/3wb1gAWze7I//+tcwcWLT19fV+W4SEZE20hDD\nvbS4g3tVVdMx2Q2efhquv37348MO863rE05o/vUKcBEpsjaFuJmNBH6Hv0B6t3PuhrxUVQAtjsle\nutTPerzllqYnjRjhR5AMHepvhxxShEpFRLLX6tEpZtYO+APwP8DxwKVmVvzhFnV18PbbflTIvHnw\n6KPw2GPZn//BBzB7dvPPDRgAv/0tXHRRXgI8lUq1+T3Khb6L3fRd7KbvIndtaYkPBt50zq0BMLMH\ngfOBJjNYkokEkKHrAmDHDli7Ft5910+Gabi1awc/+EHT169c2fwwvX794IILsvtdHHecn9JeBKlU\nikT6u4g7fRe76bvYTd9F7toS4ocC/2n0+L/4YG+ioRsjuXYtTJgAZnDjjU1fuH69D+C99e7dfIh3\n7w7t28NBB0GPHrtvhx+e/e/i4IPVTSIikVXcC5urVvnuiS5dmg/xHj2gb1//a+Ngbm6MNfgArqvz\n/yiIiMRQq4cYmtkQIOmcG5l+PBFwe1/cNLOIji8UEQmroEvRmtl+wErgi8DbwALgUuecpiCKiBRJ\nq7tTnHM7zexqYA67hxgqwEVEiqjgMzZFRKRwCraKoZmNNLM3zKzazK4r1OdEgZndbWY1ZvZq6FpC\nMrM+ZvaMmb1mZsvMbFzomkIxswPM7CUzeyX9XUwKXVNoZtbOzBab2d9D1xKSma02s6XpvxsLMr6+\nEC3x9ESganx/+XpgIXCJc66FXRDKm5mdDnwETHXO9Q9dTyhmVglUOueWmFlnYBFwfoz/XhzonNua\nvr70AjDOOZfxh7Zcmdk1wCCgq3PuvND1hGJmbwGDnHPvZ/P6QrXEd00Ecs5tBxomAsWSc+55IKs/\nkHLmnNvgnFuSvv8RsAI/3yCWnHNb03cPwF+fim3fppn1Ac4B7gpdSwkwcsjmQoV4cxOBYvvDKk2Z\nWV9gAPBS2ErCSXcfvAJsAOY65xaGrimg/wMmEON/yBpxwFwzW2hm3870Yu3sI0WX7kqZBoxPt8hj\nyTlX75w7GegDnGpmx4WuKQQzOxeoSf8vzdK3ODvNOTcQ/z+T76e7Y1tUqBBfBxzW6HGf9DGJOTNr\njw/wPzvnHg9dTylwzm0GngVGhq4lkNOA89J9wQ8AZ5rZ1MA1BeOcezv960bgb7SwnEmDQoX4QuAo\nMzvczDoAlwCxvuKMWhgN7gFed841s/ZvfJhZTzPrlr7fETibZhaPiwPn3E+dc4c5547EZ8Uzzrlv\nhK4rBDM7MP0/VcysEzACWL6vcwoS4s65nUDDRKDXgAfjPBHIzO4HXgSqzGytmY0JXVMIZnYacBlw\nVnr41OL0mvRx9GngWTNbgr8uMNs5NzNwTRJeb+D59LWS+cB059ycfZ2gyT4iIhGmC5siIhGmEBcR\niTCFuIhIhCnERUQiTCEuIhJhCnERkQhTiIuIRJhCXEQkwv4fQ4l84ctl9zQAAAAASUVORK5CYII=\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "fig, ax = plt.subplots()\n", "ax.plot(x, y, color='red', linestyle='--', linewidth=2, marker='s')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Controlling Other Plot Aspects\n", "\n", "In addition to controlling the look of the line, matplotlib provides many other features for cutomizing the look of the plot. In our plot, below we:\n", "\n", "- Add gridlines\n", "- Set labels for the x and y axes\n", "- Add a title to the plot" ] }, { "cell_type": "code", "execution_count": 5, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 5, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAYAAAAEZCAYAAACervI0AAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAH1JJREFUeJzt3Xu8XPO9//HXR+IuknDcJdIelB6S3bqVuGyqaF2i1KUU\nWzVU3dL2KHVpNChRlWj7q0uQCxVBkUMOEmWHkBCaLaHRqCOiRNwSEZog+fz++E6sbWfv7Jmdmfmu\nNev9fDzmkb0mM7M/+Rjf71qfz/quZe6OiIjkz2qxAxARkTg0AYiI5JQmABGRnNIEICKSU5oARERy\nShOAiEhOaQKQTDKzbc1smpl9YGZnFp470MzuKfL9T5vZ9pWNUiTdNAFIVv0CeNTdu7r7HwvPXQZc\nUeT7fwtcWpHISmRmw2PHIPmkCUCyaivgxeUbZrYzsL67Ty3y/fcD+5rZxpUIrj1m1sPMfmdmaxe2\ndzCzq2LEIvmlCUAyx8z+CuwL/D8zW2hmWwPfBiY2e83uZvaOmW1R2O5jZu+b2bYA7r4EeA44sMyx\njTOzq5tt32FmN7V8nbu/DtwD3Fr4t/wYGNzK53U3s9fN7ODC9rpm9rKZ/aCccUs+aQKQzHH3bwJP\nAGe4+/ru/k9gR+AfzV4zGbgeGGlmaxEG2gvdfVazj5oJ9Gntd5hZXzObX5g05rf4+X0z26ON8H4I\n/MDM6s3seGBn4OyV/XMKj6Vt/FvnFz5zmJltBAwF/ubut63kM0WK0jl2ACJl0g34sMVzvwamAM8A\nr7v7dS3+/kNg09Y+zN2fBLqXGoS7zzOz04FRwFpAP3f/uOXrzKwHcARwAnAdMIzQ1zivlc+cYGZ3\nAX8txNS71LhEWqMjAKkV84EuzZ9w98+AEcB/Ade08p4uwIIKxPIA0An4R+FIZAXu/rq7/9zdF4dN\nf8HdVxj8mxkG7ACMKBwViKwyTQBSK6YD2zZ/olD/HwgMB64xs9VbvGd74PnWPszM9jSzDws9huaP\n5c/1XUksvwH+DmxmZse2F7i7/3Blf29mqwE3AiOBn5jZl9v7TJFiaAKQWvG/QH2L54YDw9z9R8Cb\nhNNEATCzNYGdgAmtfZi7T3L3LoUeQ/PH8ueebO19ZrY3cBKhtNMA/MHMNlvFf9uFwDJCL+Bq4FYz\ns1X8TBFNAJJZX7iRhbtPAxaY2S4AZnY2sBHwq8JLfgg0NNtzPwx4zN3fKldAZtaFsJd+hru/5e6T\ngJsIE1FHP/PrwADgBA837xhMmAzOL0PIknNWyRvCmNmWhGbYJoQv7Y3u/gczGwj0B94uvPQCd3+o\nYoFILpjZt4DT3f2IIl47GTjF3f9e+chE0qnSE8CmwKbu3mRm6xHOu+4HHAN86O6tNeZERKQKKnoa\naOHw+q3Cz4vMbCawReGvVcMUEYmoaj0AM+sF1AFPF54608yazOwmM+tarThERCSoygRQKP/cDZzj\n7ouAPwFfdvc6whGCSkEiIlVW0R4AgJl1JiyMedDdr23l77cC7nf3FVY3mlllgxMRqVHu3m6ZvRpH\nALcAf28++Beaw8sdAbzQ1pvdXQ93Bg4cGD2GtDyUC+VCuWjlcf31+Fe/ii9cWPTgXNEmcOGc6+OB\nGWY2jXDu9gXAcWZWRzg1dDZwWiXjqAWzZ8+OHUJqKBcJ5SKR61xMngwXXwyTJkGXLu2/vqDSZwE9\nSbgmSks6519EpBzmzoWjjoJbboFtt23/9c1oJXBGNDQ0xA4hNZSLhHKRyGUuPvkkDP79+8Mhh5T8\n9oo3gVeFmXma4xMRierMM2HOHLjvPlgt2Z83MzwlTWApg8bGxtghpIZykVAuErnLxYgRMH483Hrr\nFwb/UuiGMCIiWfPss3DuuTBxInTt+DpalYBERLLknXdg553hmmvgyCNbfUmxJSBNACIiWfHZZ3Dg\ngbDrrnDFFW2+TD2AGpO7+uZKKBcJ5SKRi1ycfz507gyXXdb+a4ugHoCISBaMHg333BPq/51aW15V\nOpWARETSbvp0+OY34ZFHoE+fdl+uEpCISC14/3347nfh2muLGvxLoQkgI3JR3yyScpFQLhI1mYul\nS+G446Bfv/BnmWkCEBFJq1/9CpYsgauuqsjHqwcgIpJG994LAwbA1Kmw8cYlvVXrAEREsmrmTNhn\nHxg3DnbZpeS3qwlcY2qyvtlBykVCuUjUTC4++AAOPxwGD+7Q4F8KTQAiImmxbBmceGI45fPkkyv+\n61QCEhFJi0svhYcegscegzXW6PDHFFsC0kpgEZE0GDcObrghNH1XYfAvhUpAGVEz9c0yUC4SykUi\n07l4+eVQ8rnzTthss6r9Wk0AIiIxLVoUVvr++tewxx5V/dXqAYiIxOIOxxwDXbrATTeBtVu2L4p6\nACIiaffb38Ls2fD442Ub/EuhElBGZLq+WWbKRUK5SGQuFxMmwJAh8Je/wFprRQlBRwAiItX26qtw\nwglwxx3Qo0e0MNQDEBGppo8/hr594aSTwrV+KkDXAhIRSRv3sNJ32TK47baK1f11LaAak7n6ZgUp\nFwnlIpGJXPzhDzBjBgwbFqXp25J6ACIi1TBxIlx+OUyZAuusEzsaQCUgEZHK+9e/YNddYcQIOOCA\niv86lYBERNJgyRI48kg4++yqDP6l0ASQEZmob1aJcpFQLhKpzIU7nHEG9OwJ550XO5oVqAcgIlIp\nN94IkyeHun8Kmr4tqQcgIlIJkydDv34waRJsu21Vf7V6ACIiscydC0cdBbfcUvXBvxSaADIilfXN\nSJSLhHKRSE0uPvkkDP79+8Mhh8SOZqU0AYiIlNPPfgYbbAAXXxw7knZVtAdgZlsCo4BNgGXAMHf/\nvZl1B8YAWwGzgaPd/YNW3q8egIhkx8iRYbHX1KnQtWu0MFJxLSAz2xTY1N2bzGw94DmgH3Ay8J67\nX2Vm5wHd3f38Vt6vCUBEsuG55+Cgg8KK369+NWooqWgCu/tb7t5U+HkRMBPYkjAJjCy8bCRweCXj\nqAWpqW+mgHKRUC4SUXPxzjtwxBFw/fXRB/9SVK0HYGa9gDpgCrCJu8+DMEkAG1crDhGRsvrsMzj2\nWDjuuLDiN0OqshCsUP65GzjH3ReZWcu6Tpt1noaGBnr16gVAt27dqKuro76+Hkhm/Dxs19fXpyoe\nbadne7m0xBNre/lzVf/9DzwAnTvTuP/+EOP3F8aGESNGAHw+Xhaj4gvBzKwz8ADwoLtfW3huJlDv\n7vMKfYLH3H37Vt6rHoCIpNfo0XDhhfDss+HMn5RIRQ+g4Bbg78sH/4L/ARoKP58EjK1CHJnWcm8v\nz5SLhHKRqHoupkwJF3i7995UDf6lqGgJyMz6AscDM8xsGqHUcwEwGLjTzH4IvAYcXck4RETK6qWX\n4PDDw+Wd+/SJHU2H6VpAIiKlePPNcE/fgQOhoSF2NK1KUwlIRKQ2LFgQzvU/9dTUDv6l0ASQEar1\nJpSLhHKRqHguFi8OZZ/6ejh/hXWrmaQJQESkPUuXwgknwMYbw5Ahqby2f0eoByAisjLucNZZ8OKL\n8OCDsNZasSNqV7E9AN0RTERkZa64Ap54Ah5/PBODfylUAsoI1XoTykVCuUhUJBfDh8OwYWHPP+LV\nPStFRwAiIq0ZNw5++ctwdc/NN48dTUWoByAi0tKUKXDoofDAA7DbbrGjKZnWAYiIdETzVb4ZHPxL\noQkgI1TrTSgXCeUiUZZcvPkmfPvbcOWVcPDBq/55KacJQEQEam6VbzHUAxARWbw4DP69e8O112Z+\noVcq7gm8qjQBiEjFLV0a7uhlFq7v36lT7IhWmZrANUa13oRykVAuEh3KhTuccw68+y6MGlUTg38p\ntA5ARPKrhlf5FkMlIBHJp+HDYdAgePLJmlvopR6AiEhbxo2DU04Jq3y/8pXY0ZSdegA1RrXehHKR\nUC4SRediypRwmufYsTU5+JdCE4CI5EeOVvkWQyUgEcmHDNzLt1xUAhIRWS6Hq3yLoQkgI1TrTSgX\nCeUi0WYuavBevuWiCUBEaleN3su3XNQDEJHalMF7+ZaL7gksIvl25ZW5XuVbDJWAMkK13oRykVAu\nEl/IxfDhcOONNXsv33LREYCI1JYc3Mu3XNQDEJHakfF7+ZaL1gGISL5olW/JNAFkhGq9CeUioVwU\nvPkmjfX1ubmXb7loAhCRbPvgg3Aj90MP1SrfEqkHICLZVWP38i0X3Q9ARGpbDd7Lt1zUBK4xqvUm\nlItEbnPRyr18c5uLVaB1ACKSPVrlWxYVLQGZ2c3AIcA8d+9deG4g0B94u/CyC9z9oTberxKQiHxR\nDd/Lt1xS0QMwsz2BRcCoFhPAh+5+TRHv1wQgIokav5dvuaSiB+Duk4D5rfyVWvUlUn0zoVwkcpWL\ndu7lm6tclEmsJvCZZtZkZjeZma7UJCIrN2OGVvlWQMVPAzWzrYD7m5WANgLedXc3s8uAzdz9lDbe\nqxKQSN4991xY3XvttXDMMbGjyYTU3g/A3d9ptjkMuH9lr29oaKBXr14AdOvWjbq6Ourr64HkkE/b\n2tZ2jW6/8AL1gwbBsGE0du0KjY3pii8l242NjYwYMQLg8/GyGNU4AuhFOALYsbC9qbu/Vfj5p8Au\n7n5cG+/VEUBBY7Mvft4pF4mazkVjIxx9dDjP/6CDinh5DeeiRKk4AjCz24F6YEMzmwMMBPY1szpg\nGTAbOK2SMYhIBj38cLiX75gxsO++saOpWboUhIiky9ix0L8/3Hcf7LFH7GgyKRWngYqIlOTOO+G0\n08KtHDX4V5wmgIxY3vAR5aK5msrFqFEwYACMHw877VTy22sqF1WiawGJSHw33ACXXQaPPgrbbRc7\nmtxQD0BE4ho6NDz++lf4z/+MHU1NSMVZQCIiK3XFFXDLLeGqnj17xo4md9QDyAjVNxPKRSKzuXCH\niy+GW28NF3Yrw+Cf2VxEpCMAEakudzj3XHjkkbDYa+ONY0eUW+oBiEj1LFsGZ50FU6fCQw/BBhvE\njqgmqQcgIumydCmceirMmhX2/tdfP3ZEuaceQEaovplQLhKZycWnn4ZLO8yeHfb8KzD4ZyYXKaIj\nABGprE8+gWOPhcWL4YEHYO21Y0ckBeoBiEjl/Pvf8L3vwZprwujR4U+pOF0LSETi+ugjOOQQ6No1\nXNVTg3/qaALICNU3E8pFIrW5WLgQDjwQttoqnOu/+uoV/5WpzUWKaQIQkfJ6/33Yf3/o0wduugk6\ndYodkbRBPQARKZ933oFvfStMAL/9LVi7ZWipAPUARKS65s6FffaBww7T4J8R7U4AZnaWmXWvRjDS\nNtU3E8pFIjW5mDMH9t47nOs/aFCUwT81uciQYo4ANgGmmtmdZnaQmaZ1EWnmlVfCnv8ZZ8Avfxk7\nGilBUT2AwqB/AHAysDNwJ3Czu79S0eDUAxBJt5deCjX/iy4Kt3KUVChrD6AwCr9VeHwGdAfuNrOr\nVilKEcmu6dNhv/3Cnbw0+GdSMT2Ac8zsOeAq4ElgR3c/HdgJOLLC8UmB6psJ5SIRLRfPPQcHHBDu\n5HXSSXFiaEHfi9IVcy2gDYAj3P215k+6+zIzO6QyYYlIaj31FHz3u3DjjdCvX+xoZBVoHYCIFK+x\nEY4+OqzuPfDA2NFIG7QOQETK6+GHw+B/550a/GuEJoCMUH0zoVwkqpaLsWPDOf733Qf19dX5nSXS\n96J0mgBEZOXGjAln+Tz4IOyxR+xopIzUAxCRto0cGRZ3PfQQ9O4dOxopku4JLCKr5oYbwjn+jz4K\n220XOxqpAJWAMkL1zYRykahYLoYOhSuvDGf9ZGTw1/eidDoCEJHEsmXhsg533QUTJ0LPnrEjkgpS\nD0BEgoUL4fjj4cMPwwSw0UaxI5IO0joAESneyy/DN74BPXrAhAka/HNCE0BGqL6ZUC4SZcnF+PGw\n555wzjnwpz9V5f69laDvRenUAxDJK3cYMgSuvhruvhv22it2RFJl6gGI5NHixWFx14wZYXWvmr01\nJRU9ADO72czmmdn0Zs91N7PxZvYPM3vYzLpWMgYRaeGNN8IdvJYsgUmTNPjnWKV7AMOBlleNOh94\nxN2/AjwK6B5yRVB9M6FcJErOxZQpsNtucPjhMHo0rLNOReKKQd+L0lV0AnD3ScD8Fk/3A0YWfh4J\nHF7JGESkYORIOOwwuO66cHkH3d479yreAzCzrYD73b13Yft9d9+g2d9/YbvFe9UDEFlVn30G554L\n48aFq3puv33siKTCsnQtII3wIpXy/vtw7LFhb//pp6F799gRSYrEmADmmdkm7j7PzDYF3l7Zixsa\nGujVqxcA3bp1o66ujvrC9ciX1/zysN28vpmGeGJuL38uLfHE3G5qamLAgAGt//3w4XDRRdR///tw\n5ZU0TpoUPd5Kbg8dOjTX48OIESMAPh8vi1GNElAvQglox8L2YOB9dx9sZucB3d39/DbeqxJQQWNj\n4+f/4fNOuUi0mYuxY+FHP4Lf/Q5OPLHqccWg70Wi2BJQRScAM7sdqAc2BOYBA4H7gLuAHsBrwNHu\nvqCN92sCECmFO1x+OVx/PdxzD+y6a+yIJIJUTACrShOASAk++ghOPhnmzAmD/+abx45IIknFQjAp\nn+b177xTLhKf5+K116Bv33Bef2NjLgd/fS9KpwlAJOsmTgxX8mxogOHDYa21YkckGaESkEiWXXcd\nXHIJ/PnPsP/+saORlMjSOgARKdUnn8DZZ8MTT8CTT8LWW8eOSDJIJaCMUH0zkftcvP122NufO5fG\nq67S4F+Q++9FB2gCEMmSadPCqZ319XDvvbDuurEjkgxTD0AkK8aMgTPPDHftOuqo2NFIiqkHIFIr\nli2Diy+G228P9+utq4sdkdQIlYAyQvXNRK5ysXAh9OsXGr3PPLPC4J+rXLRDuSidJgCRtHr55XB+\nf48eYc9/o41iRyQ1Rj0AkTQaPx5OOAEGDQr37hUpgXoAIlnkDkOGwNVXw913w157xY5IaphKQBmh\n+maiZnOxeHG4nMNtt4V79xYx+NdsLjpAuSidJgCRNHjjDdh7b1iyBCZNgp49Y0ckOaAegEhsU6bA\n974HZ5wB55+vm7XLKlMPQCTt3OHGG8M5/jffDIceGjsiyRmVgDJC9c1ETeRizhw46CAYNixczrmD\ng39N5KJMlIvSaQIQqSb3MOjvtFOo+U+eDNtvHzsqySn1AESqZc4c6N8f3nsPRoyAHXaIHZHUKN0S\nUiQtWtvr1+AvKaAJICNU30xkKhfLa/033ACPPQYXXgirr162j89ULipMuSidJgCRStBev2SAegAi\n5aZav0SmHoBItWmvXzJGE0BGqL6ZSGUuKlzrb0sqcxGJclE6TQAiq0J7/ZJh6gGIdJRq/ZJS6gGI\nVIr2+qVGaALICNU3E1FzEanW3xZ9LxLKRek0AYgUQ3v9UoPUAxBpj2r9kjHqAYisKu31S43TBJAR\nqm8mqpKLlNX626LvRUK5KJ0mAJHmtNcvOaIegMhyqvVLjVAPQKRY2uuXnIo2AZjZbDN73symmdkz\nseLICtU3E2XNRUZq/W3R9yKhXJQu5hHAMqDe3b/m7rtGjEPySHv9IvF6AGb2KrCzu7+3kteoByDl\np1q/1Lgs9AAcmGBmU82sf8Q4JC+01y/yBZ0j/u6+7j7XzDYiTAQz3X1Syxc1NDTQq1cvALp160Zd\nXR319fVAUvPLw3bz+mYa4om5vfy5kt4/dSqNp54KH39M/WOPwQ47pObfsyrbTU1NDBgwIDXxxNwe\nOnRorseHESNGAHw+XhYjFaeBmtlA4EN3v6bF8yoBFTQ2Nn7+Hz7vSsrFjBlw8cXw7LNw0UVwyimZ\navK2R9+LhHKRKLYEFGUCMLN1gNXcfZGZrQuMB37t7uNbvE4TgHTMrFkwcGA4s+e88+DHP4a1144d\nlUhVpL0HsAkwycymAVOA+1sO/iId8tprYS+/b99Q3//nP+GnP9XgL9KKKBOAu7/q7nWFU0B3dPcr\nY8SRJc3r33nXai7mzoUzz4Svfx022ywcAVx4Iay3XtXjqyZ9LxLKRem0Eliy7b334Be/CHv7a64J\nM2fCZZdB9+6xIxNJvVQ0gduiHoC06YMP4Jpr4I9/hKOPDg3eLbaIHZVIKqS9ByDSMR99BIMHwzbb\nhHr/s8/Cdddp8BfpAE0AGZH7+uaSJfD738PWW9P44IMwcWJYxfulL8WOLKrcfy+aUS5KF3MhmEj7\nPv0URo6ESy+F3r3hwQdhwQLYfvvYkYlknnoAkk5Ll8Idd8All0DPnqGxu/vusaMSyYRiewA6ApB0\ncYf77gurd7t0CZdp3m+/2FGJ1CT1ADKi5uub7vDQQ7DLLjBoUGj0PvVUq4N/zeeiBMpFQrkonY4A\nJL7HHw+Ltt59Nwz+Rx4Jq2nfRKTS1AOQeJ55Jpy//89/hlr/8cdDp06xoxLJPK0DkPSaPh0OPxyO\nOCLs7b/0Epx4ogZ/kSrTBJARNVHfnDULvv99OOAA2GcfePllOO00WGONkj6mJnJRJspFQrkonSYA\nqTxdoVMkldQDkMqZOxcuvxxGj4bTT4ef/1wXaROpAvUAJJ5Zs+C//1tX6BRJOU0AGZH6+ub8+XD9\n9WG17t57h+emT4ff/Q423risvyr1uagi5SKhXJRO6wCk4z79FB5+OFyrZ8IEOPDAsIL3gAOgs75a\nImmnHoCU7vnnw6B/++3w5S/DSSeFa/KrxCOSCroWkJTXvHnw5z/DqFGh3HPiiWEF77bbxo5MRDpI\nPYCMiFLfXLwY7roLDjkEttsu1PSHDIFXXw2XZ440+KvWm1AuEspF6XQEIF/kDlOmhBLPXXfB174W\nSjxjxsC668aOTkTKSD0ACV57DW67LZR4IAz6P/hBuBa/iGSKegDSvkWL4C9/CXv706eHRu6oUbDr\nrmDtfndEJOPUA8iIstU3ly2DRx8Ne/hbbgl33w0/+Qm88Qb86U+w226pH/xV600oFwnlonQ6AsiL\nWbPCnv6tt8KGG4YJ4KqrYJNNYkcmIpGoB1DL5s8PzduRI8OZO8cfHwb+3r1jRyYiFVRsD0ATQK1p\nbXXuSSdpda5IjuhicDWm3fpmUxP87GfQowf85jew//5hr3/MGPjOd2pq8FetN6FcJJSL0tXOqJA3\nb7wBkyeHxyOPwIIFWp0rIiVRCSgLliyBadPCAq3lg/7HH4crb+6+O+y1V7jZim6kLiKoB5Btzffu\nJ08OF1/bZptkwN99d9h669SfrikicWgCyIr29u533x122YXGZ5+lvr4+drSp0NjYqFwUKBcJ5SKh\nlcBptbK9+4MPDnfO0t69iFSBjgAqqci9e9ZbL3akIlJDVAKKQbV7EUmB1K8DMLODzOwlM5tlZufF\niqPDliwJe/ZDh8Ixx4SrZvbpExZgbbghXH55uIlKUxNcd104RXObbTo8+Osc54RykVAuEspF6aL0\nAMxsNeCPwDeBN4GpZjbW3V+KEc8K3EOp5r33Vny88kqU2n1TU5MaXAXKRUK5SCgXpYvVBN4VeNnd\nXwMwszuAfkD5J4ClS8M1cVobzFf2MAt78i0fW20V9u6rXLtfsGBB1X5X2ikXCeUioVyULtYEsAXw\nerPtfxEmhZVra698ZY+FC6Fr1xUH8g02CH/26NH6QL/OOpX6t4uIpEL6TwPt0ycZzKH1wXr5QF5X\nt+Lz3bpBp05x/w1lMHv27NghpIZykVAuEspF6aKcBWRm3wAucfeDCtvnA+7ug1u8LkOnAImIpEdq\nTwM1s07APwhN4LnAM8D33X1m1YMREcmpKCUgd19qZmcC4wmnot6swV9EpLpSvRBMREQqJ5XXD878\nIrEyMrObzWyemU2PHUtMZralmT1qZi+a2QwzOzt2TLGY2Zpm9rSZTSvkYmDsmGIzs9XM7G9m9j+x\nY4nJzGab2fOF78Yz7b4+bUcAhUVis2i2SAw4NjWLxKrMzPYEFgGj3D23N/M1s02BTd29yczWA54D\n+uX4e7GOu39c6Kc9CZzt7u3+D1+rzOynwE7A+u5+WOx4YjGz/wN2cvf5xbw+jUcAny8Sc/dPgeWL\nxHLJ3ScBRf3HrGXu/pa7NxV+XgTMJKwnySV3/7jw45qEXl669uSqyMy2BL4D3BQ7lhQwShjX0zgB\ntLZILLf/o8uKzKwXUAc8HTeSeAolj2nAW8AEd58aO6aIhgDnkuNJsBkHJpjZVDPr396L0zgBiLSp\nUP65GzincCSQS+6+zN2/BmwJ7GZmX40dUwxmdjAwr3B0aIVHnvV1968TjojOKJSQ25TGCeANoGez\n7S0Lz0nOmVlnwuB/q7uPjR1PGrj7QuAx4KDYsUTSFzisUPseDexrZqMixxSNu88t/PkOcC/tXGIn\njRPAVGBrM9vKzNYAjgVy3dlHezbL3QL83d2vjR1ITGb2H2bWtfDz2sC3qMSFFDPA3S9w957u/mXC\nWPGou58YO64YzGydwhEyZrYucADwwsrek7oJwN2XAssXib0I3JHnRWJmdjvwFLCtmc0xs5NjxxSD\nmfUFjgf2K5zi9jczy+te72bAY2bWROiDPOzu/xs5JolvE2BSoTc0Bbjf3cev7A2pOw1URESqI3VH\nACIiUh2aAEREckoTgIhITmkCEBHJKU0AIiI5pQlARCSnNAGIiOSUJgARkZzSBCBSAjPbuXDDjTXM\nbF0zeyGvF2KT7NNKYJESmdkgYO3C43V3Hxw5JJEO0QQgUiIzW51w0cJ/A3u4/ieSjFIJSKR0/wGs\nB3QB1ooci0iH6QhApERmNpZw7fkvAZu7+1mRQxLpkM6xAxDJEjM7AfjE3e8ws9WAJ82s3t0bI4cm\nUjIdAYiI5JR6ACIiOaUJQEQkpzQBiIjklCYAEZGc0gQgIpJTmgBERHJKE4CISE5pAhARyan/D4y9\nF+kBZwp3AAAAAElFTkSuQmCC\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "fig, ax = plt.subplots()\n", "ax.plot(x, y, color='red')\n", "ax.grid()\n", "ax.set_xlabel('x')\n", "ax.set_ylabel('y')\n", "ax.set_title('f(x) = x * x')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "matplotlib also has support for LaTeX-like typesetting of mathematical expressions, called mathtext. This is enabled by surrounding math expressions by `$` symbols. Below, we replace the `x * x` in the title, with the more expressive $x^2$." ] }, { "cell_type": "code", "execution_count": 6, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 6, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAYAAAAEbCAYAAADTZlM/AAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAHq5JREFUeJzt3XmcVOWV//HPEdw1gI64RBAzxqgvg+2Go0TtMQpMXECN\nSzRqOwZN4kY0jho1JKjjkkQwyc8NlUUjgiRKIqOCI41BQYGAYILBOCJRkSgKBBVUOL8/nsLbYjdd\n1VTVc2/d7/v1qhdd1bUcDsXz3HvOfe41d0dERPJno9gBiIhIHJoARERyShOAiEhOaQIQEckpTQAi\nIjmlCUBEJKc0AYiI5JQmABGRnGofOwCRWMxsV3d/NXYcAGa2G/DVwu1Rd/9T5JAkB7QHILlkZrsC\nBxXxvK5mdkoVQjoWeAMYDPywCp8noglAcuu77v5ga09y94XAFma2VyWDcffB7v48sDOQir0SqX0q\nAUlumNkAYDtgMfD3El76AGHL/PuViGsd/YDrq/A5ItoDkHwwsy8ApwDjgK2BScW+1t1XAZuY2VYV\nCg8AMzsW+DXwxUp+jshaprOBSh6Y2VHA8e7+fTN7pPBz0V9+M7sQ+Ku7T2jy2JeA/oADVnh47c8O\nTHP33xf5/scDVwJLgcnurr0AqThNAFLzzOwg4MeEJutjhPp/73WecxywGjgUmAv0Aa5z978Wfn8i\nsIO7/78NiGO9nyFSbSoBSc1z9+eAD4Eh7v4w0K7p782sK/AXdx8PHAWMBx4EFjZ52lLgC22NocjP\nEKkqNYElL/YE5hV+/qTpLwpH+mBmnYHl7r6UMEA3tTnwftMH1ikBfeZXrFMCKvIzRKpKE4DUvMKg\n+3aTmv9iM9vS3d8v/H4PYFNgX+DpwmPHuPujTd5mG+Ctpu/r7v9HqNsXE0MxnyFSVSoBSR4cBDzb\n5P5kPrsIrBdwNGHLfTMz60c4VLSp7sAzGxBDMZ8hUlUVbQKb2c7ASGB7YA1wl7v/yswGEnad/1F4\n6o/c/fGKBSK5ZGb7Eb5n7wJj3P2FwuOdgB+6+1UlvNfd7v6dykQqEkelS0CfAJe4++zCMdQzzWxi\n4Xe3uPstFf58ybc1wOvAh2sHfwB3f8/MlpjZtu6+pLU3MbMDgYmtPU8kayo6Abj7WxTqpu6+wszm\nkSxysRZfKFIG7j4bmN3Cr4cQ9g7uXN97mFk74Ah3v6nM4YlEV7V1AGbWDWgE9gYuBRqAZcAM4FJ3\nX1aVQERKYGY7AMvc/cPYsYiUW1UmgEL5pxG41t3Hmdl2wDvu7mZ2HbCju5/TzOu0Sk1EpA3cvdUq\nS8WPAjKz9sBY4D53H1cIrOkheUOBA1t6vbvr5s7AgQOjx5CWm3KhXCgXzdzuuAPfay98+fKix+dq\nrAO4l7AC8ta1D5jZDh76AwAnAC9WIY5MW7BgQewQUkO5SCgXiVznYupUuOYamDIFtt666JdVdAIw\ns57A6cBcM5tFWB35I+A0M6sjHKWxADivknGIiNSsRYvgpJPg3nth991LemmljwJ6hnXOu1KgY/5L\n1NDQEDuE1FAuEspFIpe5+OijMPj37w/HHFPyy1N9NlAz8zTHJyIS1QUXwMKF8MgjsFHS0jUzPA1N\nYCmPxsbG2CGkhnKRUC4SucvF8OEwYQLcd99nBv9S6GRwIiJZM2MGXHYZTJ4MHTq0+W1UAhIRyZK3\n34YDDoBbboETT2z2KcWWgDQBiIhkxSefQO/e0KMH3HBDi09TD6DG5K6+uR7KRUK5SOQiF1dcAe3b\nw3XXleXt1AMQEcmCUaPgd78L9f92zR1dXzqVgERE0m7OHPj61+HJJ2GffVp9ukpAIiK14N134fjj\n4dZbixr8S6EJICNyUd8sknKRUC4SNZmL1avhtNOgb9/wZ5lpAhARSasf/xhWrYKbb67I26sHICKS\nRg8/DAMGwPTp0LlzSS/VOgARkayaNw8OPxzGj4cDW7xcSovUBK4xNVnfbCPlIqFcJGomF8uWQb9+\ncNNNbRr8S6EJQEQkLdasgTPPDId8nn12xT9OJSARkbS49lp4/HGYNAk22aTNb1NsCUgrgUVE0mD8\neLjzztD03YDBvxQqAWVEzdQ3y0C5SCgXiUzn4uWXQ8lnzBjYcceqfawmABGRmFasCCt9f/pTOOSQ\nqn60egAiIrG4wymnwNZbw913g7Vati+KegAiImn3s5/BggXw9NNlG/xLoRJQRmS6vllmykVCuUhk\nLhcTJ8LgwfDb38Jmm0UJQXsAIiLV9uqrcMYZ8OCD0KVLtDDUAxARqaYPPoCePeGss8K5fipA5wIS\nEUkb97DSd80auP/+itX9dS6gGpO5+mYFKRcJ5SKRiVz86lcwdy4MHRql6bsu9QBERKph8mS4/nqY\nNg222CJ2NIBKQCIilff669CjBwwfDr16VfzjVAISEUmDVavgxBPhoouqMviXQhNARmSivlklykVC\nuUikMhfucP750LUrXH557Gg+Rz0AEZFKuesumDo11P1T0PRdl3oAIiKVMHUq9O0LU6bA7rtX9aPV\nAxARiWXRIjjpJLj33qoP/qXQBJARqaxvRqJcJJSLRGpy8dFHYfDv3x+OOSZ2NOulCUBEpJwuuQS2\n2QauuSZ2JK2qaA/AzHYGRgLbA2uAoe7+SzPrBIwGdgEWACe7+7JmXq8egIhkx4gRYbHX9OnQoUO0\nMFJxLiAz2wHYwd1nm9lWwEygL3A2sMTdbzazy4FO7n5FM6/XBCAi2TBzJvTpE1b87rVX1FBS0QR2\n97fcfXbh5xXAPGBnwiQwovC0EUC/SsZRC1JT30wB5SKhXCSi5uLtt+GEE+COO6IP/qWoWg/AzLoB\ndcA0YHt3XwxhkgA6VysOEZGy+uQTOPVUOO20sOI3Q6qyEKxQ/hkLXOzuK8xs3bpOi3WehoYGunXr\nBkDHjh2pq6ujvr4eSGb8PNyvr69PVTy6n577a6Ulnlj31z5W9c9/9FFo357GI4+EGJ9fGBuGDx8O\n8Ol4WYyKLwQzs/bAo8Bj7n5r4bF5QL27Ly70CSa5+57NvFY9ABFJr1Gj4KqrYMaMcORPSqSiB1Bw\nL/CXtYN/we+BhsLPZwHjqhBHpq27tZdnykVCuUhUPRfTpoUTvD38cKoG/1JUtARkZj2B04G5ZjaL\nUOr5EXATMMbM/hN4DTi5knGIiJTVSy9Bv37h9M777BM7mjbTuYBERErx5pvhmr4DB0JDQ+xompWm\nEpCISG1YujQc63/uuakd/EuhCSAjVOtNKBcJ5SJR8VysXBnKPvX1cMXn1q1mkiYAEZHWrF4NZ5wB\nnTvD4MGpPLd/W6gHICKyPu5w4YXw5z/DY4/BZpvFjqhVxfYAdEUwEZH1ueEG+OMf4emnMzH4l0Il\noIxQrTehXCSUi0RFcjFsGAwdGrb8I57ds1K0ByAi0pzx4+HKK8PZPXfaKXY0FaEegIjIuqZNg2OP\nhUcfhYMOih1NybQOQESkLZqu8s3g4F8KTQAZoVpvQrlIKBeJsuTizTfhP/4DbrwRjj56w98v5TQB\niIhAza3yLYZ6ACIiK1eGwb97d7j11swv9ErFNYE3lCYAEam41avDFb3Mwvn927WLHdEGUxO4xqjW\nm1AuEspFok25cIeLL4Z33oGRI2ti8C+F1gGISH7V8CrfYqgEJCL5NGwYDBoEzzxTcwu91AMQEWnJ\n+PFwzjlhle9XvhI7mrJTD6DGqNabUC4SykWi6FxMmxYO8xw3riYH/1JoAhCR/MjRKt9iqAQkIvmQ\ngWv5lotKQCIia+VwlW8xNAFkhGq9CeUioVwkWsxFDV7Lt1w0AYhI7arRa/mWi3oAIlKbMngt33LR\nNYFFJN9uvDHXq3yLoRJQRqjWm1AuEspF4jO5GDYM7rqrZq/lWy7aAxCR2pKDa/mWi3oAIlI7Mn4t\n33LROgARyRet8i2ZJoCMUK03oVwklIuCN9+ksb4+N9fyLRdNACKSbcuWhQu5H3usVvmWSD0AEcmu\nGruWb7noegAiUttq8Fq+5aImcI1RrTehXCRym4tmruWb21xsAK0DEJHs0SrfslAJSESypYav5Vsu\nqSgBmdk9ZrbYzOY0eWygmb1uZn8q3PpUMgYRqSFrV/k+/rgG/zKodA9gGNC7mcdvcff9CrfHKxxD\nTVB9M6FcJHKVi1au5ZurXJRJRScAd58CvNfMr3SslogUb+5crfKtgIr3AMxsF+AP7t69cH8g0AAs\nA2YAl7r7shZeqx6ASN7NnBlW9956K5xySuxoMiHN1wO4DRjk7m5m1wG3AOe09OSGhga6desGQMeO\nHamrq6O+vh5Idvl0X/d1v0bvv/gi9YMGwdChNHboAI2N6YovJfcbGxsZPnw4wKfjZTGqvgdQ7O8K\nv9ceQEFjky9+3ikXiZrORWMjnHxyOM6/T+vHitR0LkqUiqOA1sZCk5q/me3Q5HcnAC9WIQYRyZIn\nngiD/+jRRQ3+0jYV3QMwsweAemBbYDEwEPh3oA5YAywAznP3xS28XnsAInkzbhz07w+PPAKHHBI7\nmkzSuYBEJHvGjIGLLgrH+++/f+xoMitNJSApg7UNH1EumqqpXIwcCQMGwIQJbRr8ayoXVaJzAYlI\nfHfeCdddB089BXvsETua3FAJSETiGjIk3P73f+Ff/zV2NDUhzesARESCG26Ae+8NZ/Xs2jV2NLmj\nHkBGqL6ZUC4Smc2FO1xzDdx3H0yeXJbBP7O5iEh7ACJSXe5w2WXw5JNhsVfnzrEjyi31AESketas\ngQsvhOnTwymdt9kmdkQ1ST0AEUmX1avh3HNh/vyw9f+FL8SOKPfUA8gI1TcTykUiM7n4+GM44wxY\nsCBs+Vdg8M9MLlJEewAiUlkffQSnngorV8Kjj8Lmm8eOSArUAxCRyvnwQ/jmN2HTTWHUqPCnVJxO\nBSEicb3/PhxzDHToEM7qqcE/dTQBZITqmwnlIpHaXCxfDr17wy67hGP9N9644h+Z2lykmCYAESmv\nd9+FI4+EffaBu++Gdu1iRyQtUA9ARMrn7bfhqKPCBPCzn4G1WoaWClAPQESqa9EiOPxwOO44Df4Z\n0eoEYGYXmlmnagQjLVN9M6FcJFKTi4UL4bDDwrH+gwZFGfxTk4sMKWYPYHtgupmNMbM+ZprWRaSJ\nV14JW/7nnw9XXhk7GilBUT2AwqDfCzgbOAAYA9zj7q9UNDj1AETS7aWXQs3/6qvhvPNiRyMFZe0B\nFEbhtwq3T4BOwFgzu3mDohSR7JozB444IlzJS4N/JhXTA7jYzGYCNwPPAF919+8B+wMnVjg+KVB9\nM6FcJKLlYuZM6NUrXMnrrLPixLAOfS9KV8y5gLYBTnD315o+6O5rzOyYyoQlIqn17LNw/PFw113Q\nt2/saGQDaB2AiBSvsRFOPjms7u3dO3Y00gKtAxCR8nriiTD4jxmjwb9GaALICNU3E8pFomq5GDcu\nHOP/yCNQX1+dzyyRvhel0wQgIus3enQ4yuexx+CQQ2JHI2WkHoCItGzEiLC46/HHoXv32NFIkXRN\nYBHZMHfeGY7xf+op2GOP2NFIBagElBGqbyaUi0TFcjFkCNx4YzjqJyODv74XpdMegIgk1qwJp3V4\n6CGYPBm6do0dkVSQegAiEixfDqefDv/8Z5gAttsudkTSRloHICLFe/ll+Ld/gy5dYOJEDf45oQkg\nI1TfTCgXibLkYsIE+NrX4OKL4bbbqnL93krQ96J06gGI5JU7DB4MP/85jB0Lhx4aOyKpMvUARPJo\n5cqwuGvu3LC6V83emqIegIg07403whW8Vq2CKVM0+OdYRScAM7vHzBab2Zwmj3Uyswlm9lcze8LM\nOlQyhlqh+mZCuUiUnItp0+Cgg6BfPxg1CrbYoiJxxaDvRekqvQcwDFj3tIFXAE+6+1eApwBdRFSk\nGkaMgOOOg9tvD6d30OW9c6/iPQAz2wX4g7t3L9x/CTjc3Reb2Q5Ao7s3u9RQPQCRMvjkE7jsMhg/\nPpzVc889Y0ckFZbmcwF1dvfFAO7+lpl1jhCDSD68+y6cemrY2n/uOejUKXZEkiJpOAx0vZv4DQ0N\ndOvWDYCOHTtSV1dHfeF85Gtrfnm437S+mYZ4Yt5f+1ha4ol5f/bs2QwYMKD53w8bBldfTf23vgU3\n3kjjlCnR463k/SFDhuR6fBg+fDjAp+NlMWKUgOYB9U1KQJPcvdl9UpWAEo2NjZ/+w+edcpFoMRfj\nxsF3vgO/+AWceWbV44pB34tEsSWgakwA3QgTwFcL928C3nX3m8zscqCTu1/Rwms1AYiUwh2uvx7u\nuAN+9zvo0SN2RBJBKiYAM3sAqAe2BRYDA4FHgIeALsBrwMnuvrSF12sCECnW++/D2WfDwoVh8N9p\np9gRSSSpWAjm7qe5+07uvqm7d3X3Ye7+nrsf6e5fcfdeLQ3+8llN6995p1wkPs3Fa69Bz57huP7G\nxlwO/vpelE4rgUWybvLkcCbPhgYYNgw22yx2RJIROheQSJbdfjv85Cfwm9/AkUfGjkZSIs3rAERk\nQ330EVx0Efzxj/DMM7DbbrEjkgxSCSgjVN9M5D4X//hH2NpftIjGm2/W4F+Q++9FG2gCEMmSWbPC\noZ319fDww7DllrEjkgxTD0AkK0aPhgsuCFftOumk2NFIiqkHIFIr1qyBa66BBx4I1+utq4sdkdQI\nlYAyQvXNRK5ysXw59O0bGr3PP/+5wT9XuWiFclE6TQAiafXyy+H4/i5dwpb/dtvFjkhqjHoAImk0\nYQKccQYMGhSu3StSAvUARLLIHQYPhp//HMaOhUMPjR2R1DCVgDJC9c1EzeZi5cpwOof77w/X7i1i\n8K/ZXLSBclE6TQAiafDGG3DYYbBqFUyZAl27xo5IckA9AJHYpk2Db34Tzj8frrhCF2uXDaYegEja\nucNdd4Vj/O+5B449NnZEkjMqAWWE6puJmsjFwoXQpw8MHRpO59zGwb8mclEmykXpNAGIVJN7GPT3\n3z/U/KdOhT2bvSS2SMWpByBSLQsXQv/+sGQJDB8Oe+8dOyKpUam4JKSI0PxWvwZ/SQFNABmh+mYi\nU7lYW+u/806YNAmuugo23rhsb5+pXFSYclE6TQAilaCtfskA9QBEyk21folMPQCRatNWv2SMJoCM\nUH0zkcpcVLjW35JU5iIS5aJ0mgBENoS2+iXD1AMQaSvV+iWl1AMQqRRt9UuN0ASQEapvJqLmIlKt\nvyX6XiSUi9JpAhAphrb6pQapByDSGtX6JWPUAxDZUNrqlxqnCSAjVN9MVCUXKav1t0Tfi4RyUTpN\nACJNaatfckQ9AJG1VOuXGqEegEixtNUvORVtAjCzBWb2gpnNMrPnY8WRFapvJsqai4zU+lui70VC\nuShdzD2ANUC9u+/r7j0ixiF5pK1+kXg9ADN7FTjA3Zes5znqAUj5qdYvNS4LPQAHJprZdDPrHzEO\nyQtt9Yt8RvuIn93T3ReZ2XaEiWCeu09Z90kNDQ1069YNgI4dO1JXV0d9fT2Q1PzycL9pfTMN8cS8\nv/axkl4/fTqN554LH3xA/aRJsPfeqfn7bMj92bNnM2DAgNTEE/P+kCFDcj0+DB8+HODT8bIYqTgM\n1MwGAv9091vWeVwloILGxsZP/+HzrqRczJ0L11wDM2bA1VfDOedkqsnbGn0vEspFotgSUJQJwMy2\nADZy9xVmtiUwAfipu09Y53maAKRt5s+HgQPDkT2XXw7f/S5svnnsqESqIu09gO2BKWY2C5gG/GHd\nwV+kTV57LWzl9+wZ6vt/+xv84Aca/EWaEWUCcPdX3b2ucAjoV939xhhxZEnT+nfeNZuLRYvgggtg\nv/1gxx3DHsBVV8FWW1U9vmrS9yKhXJROK4El25Ysgf/6r7C1v+mmMG8eXHcddOoUOzKR1EtFE7gl\n6gFIi5Ytg1tugV//Gk4+OTR4v/jF2FGJpELaewAibfP++3DTTfDlL4d6/4wZcPvtGvxF2kATQEbk\nvr65ahX88pew2240PvYYTJ4cVvHuumvsyKLK/feiCeWidDEXgom07uOPYcQIuPZa6N4dHnsMli6F\nPfeMHZlI5qkHIOm0ejU8+CD85CfQtWto7B58cOyoRDKh2B6A9gAkXdzhkUfC6t2ttw6naT7iiNhR\nidQk9QAyoubrm+7w+ONw4IEwaFBo9D77bLODf83nogTKRUK5KJ32ACS+p58Oi7beeScM/ieeCBtp\n20Sk0tQDkHiefz4cv/+3v4Va/+mnQ7t2saMSyTytA5D0mjMH+vWDE04IW/svvQRnnqnBX6TKNAFk\nRE3UN+fPh299C3r1gsMPh5dfhvPOg002KeltaiIXZaJcJJSL0mkCkMrTGTpFUkk9AKmcRYvg+uth\n1Cj43vfg0kt1kjaRKlAPQOKZPx9++EOdoVMk5TQBZETq65vvvQd33BFW6x52WHhszhz4xS+gc+ey\nflTqc1FFykVCuSid1gFI2338MTzxRDhXz8SJ0Lt3WMHbqxe011dLJO3UA5DSvfBCGPQfeAC+9CU4\n66xwTn6VeERSQecCkvJavBh+8xsYOTKUe848M6zg3X332JGJSBupB5ARUeqbK1fCQw/BMcfAHnuE\nmv7gwfDqq+H0zJEGf9V6E8pFQrkonfYA5LPcYdq0UOJ56CHYd99Q4hk9GrbcMnZ0IlJG6gFI8Npr\ncP/9ocQDYdD/9rfDufhFJFPUA5DWrVgBv/1t2NqfMyc0ckeOhB49wFr97ohIxqkHkBFlq2+uWQNP\nPRW28HfeGcaOhe9/H954A267DQ46KPWDv2q9CeUioVyUTnsAeTF/ftjSv+8+2HbbMAHcfDNsv33s\nyEQkEvUAatl774Xm7YgR4cid008PA3/37rEjE5EKKrYHoAmg1jS3Ovess7Q6VyRHdDK4GtNqfXP2\nbLjkEujSBf77v+HII8NW/+jR8I1v1NTgr1pvQrlIKBelq51RIW/eeAOmTg23J5+EpUu1OldESqIS\nUBasWgWzZoUFWmsH/Q8+CGfePPhgOPTQcLEVXUhdRFAPINuabt1PnRpOvvblLycD/sEHw267pf5w\nTRGJQxNAVrS2dX/wwXDggTTOmEF9fX3saFOhsbFRuShQLhLKRUIrgdNqfVv3Rx8drpylrXsRqQLt\nAVRSkVv3bLVV7EhFpIaoBBSDavcikgKaACqtylv3qm8mlIuEcpFQLhKp7wGYWR9gCGEx2j3uflOs\nWD7HPQzmS5Z8/vbKK1Fq97Nnz9aXu0C5SCgXCeWidFEmADPbCPg18HXgTWC6mY1z95fK/mGrV4dz\n4jQ3mK/vZhZOmrbubZdd4Prrq167X7p0adU+K+2Ui4RykVAuShdrD6AH8LK7vwZgZg8CfYH1TwAt\nbZWv77Z8OXTo8PmBfJttwp9dujQ/0G+xReWzICISUawJ4IvA35vcf50wKXzePvskgzk0P1ivHcjr\n6j7/eMeO0K5dpf8+FbdgwYLYIaSGcpFQLhLKRemiNIHN7ESgt7ufW7j/baCHu1+0zvNS2gEWEUm3\nNDeB3wCaXmx258Jjn1HMX0BERNom1tnDpgO7mdkuZrYJcCrw+0ixiIjkUpQ9AHdfbWYXABNIDgOd\nFyMWEZG8SvVCMBERqZxUnkDezPqY2UtmNt/MLo8dT0xmdo+ZLTazObFjicnMdjazp8zsz2Y218wu\nav1VtcnMNjWz58xsViEXA2PHFJuZbWRmfzKzXJeSzWyBmb1Q+G483+rz07YHUFgkNp8mi8SAUyuy\nSCwDzOxrwApgpLvn9mruZrYDsIO7zzazrYCZQN8cfy+2cPcPzKwd8Axwkbu3+h++VpnZD4D9gS+4\n+3Gx44nFzP4P2N/d3yvm+WncA/h0kZi7fwysXSSWS+4+BSjqH7OWuftb7j678PMKYB5hPUkuufsH\nhR83JfTy0rUlV0VmtjPwDeDu2LGkgFHCuJ7GCaC5RWK5/Y8un2dm3YA64Lm4kcRTKHnMAt4CJrr7\n9NgxRTQYuIwcT4JNODDRzKabWf/WnpzGCUCkRYXyz1jg4sKeQC65+xp335ewhuYgM9srdkwxmNnR\nwOLC3qEVbnnW0933I+wRnV8oIbcojRNAUYvEJH/MrD1h8L/P3cfFjicN3H05MAnoEzuWSHoCxxVq\n36OAfzezkZFjisbdFxX+fBt4mJZOsVOQxglAi8Q+T1s2wb3AX9z91tiBxGRm/2JmHQo/bw4cRWsn\nUqxR7v4jd+/q7l8ijBVPufuZseOKwcy2KOwhY2ZbAr2AF9f3mtRNAO6+Gli7SOzPwIN5XiRmZg8A\nzwK7m9lCMzs7dkwxmFlP4HTgiMIhbn8qXFMij3YEJpnZbEIf5Al3/5/IMUl82wNTCr2hacAf3H3C\n+l6QusNARUSkOlK3ByAiItWhCUBEJKc0AYiI5JQmABGRnNIEICKSU5oARERyShOAiEhOaQIQEckp\nTQAiJTCzAwoX3NjEzLY0sxfzeiI2yT6tBBYpkZkNAjYv3P7u7jdFDkmkTTQBiJTIzDYmnLTwQ+AQ\n138iySiVgERK9y/AVsDWwGaRYxFpM+0BiJTIzMYRzj2/K7CTu18YOSSRNmkfOwCRLDGzM4CP3P1B\nM9sIeMbM6t29MXJoIiXTHoCISE6pByAiklOaAEREckoTgIhITmkCEBHJKU0AIiI5pQlARCSnNAGI\niOTU/wcdEj3SsOnIUAAAAABJRU5ErkJggg==\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "fig, ax = plt.subplots()\n", "ax.plot(x, y, color='red')\n", "ax.grid()\n", "ax.set_xlabel('x')\n", "ax.set_ylabel('y')\n", "ax.set_title('$f(x) = x^2$')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Multiple Plots" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Often, what we really want is to make multiple plots. This can be accomplished in two ways:\n", "\n", "- Plot multiple lines on a single `Axes`\n", "- Combine multiple `Axes` in a single `Figure`\n", "\n", "First, let's look at plotting multiple lines. This is really simple--just call plot on the `Axes` you want multiple times:" ] }, { "cell_type": "code", "execution_count": 7, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "[]" ] }, "execution_count": 7, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "fig, ax = plt.subplots()\n", "ax.plot(x, x, color='green')\n", "ax.plot(x, x * x, color='red')\n", "ax.plot(x, x**3, color='blue')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Of course, in this plot it isn't clear what each line represents. We can add a legend to clarify the picture; to make it easy for matplotlib to create the legend for us, we can label each plot as we make it:" ] }, { "cell_type": "code", "execution_count": 8, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 8, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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\nXQAAAABJRU5ErkJggg==\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "fig, ax = plt.subplots()\n", "ax.plot(x, x, color='green', label='$x$')\n", "ax.plot(x, x * x, color='red', label='$x^2$')\n", "ax.plot(x, x**3, color='blue', label='$x^3$')\n", "ax.legend(loc='upper left')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Another option for looking at multiple plots is to use multiple `Axes`; this is accomplished by passing our desired layout to `subplots()`. The simplest way is to just give it the number of rows and columns; in this case the axes are returned as a two dimensional array of `Axes` instances with shape `(rows, columns)`." ] }, { "cell_type": "code", "execution_count": 9, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 9, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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\nQv0AAAAASUVORK5CYII=\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# Sharex tells subplots that all the plots should share the same x-limit, ticks, etc.\n", "# It also eliminates the redundant labelling\n", "fig, axes = plt.subplots(nrows=2, ncols=2, sharex=True)\n", "\n", "axes[0, 0].plot(x, x)\n", "axes[0, 0].set_title('Linear')\n", "\n", "axes[0, 1].plot(x, x * x)\n", "axes[0, 1].set_title('Squared')\n", "\n", "axes[1, 0].plot(x, x ** 3)\n", "axes[1, 0].set_title('Cubic')\n", "\n", "axes[1, 1].plot(x, x ** 4)\n", "axes[1, 1].set_title('Quartic')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Of course, that's a little verbose for my liking, not to mention tedious to update if we want to add more labels. So we can also use a loop to plot:" ] }, { "cell_type": "code", "execution_count": 10, "metadata": { "collapsed": false, "scrolled": true }, "outputs": [ { "data": { "image/png": "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\n4sHdcRynCvn/IUK2aghgWIwAAAAASUVORK5CYII=\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "fig, axes = plt.subplots(nrows=2, ncols=2, sharex=True)\n", "\n", "titles = ['Linear', 'Squared', 'Cubic', 'Quartic']\n", "y_vals = [x, x * x, x**3, x**4]\n", "\n", "# axes.flat returns the set of axes as a flat (1D) array instead\n", "# of the two-dimensional version we used earlier\n", "for ax, title, y in zip(axes.flat, titles, y_vals):\n", " ax.plot(x, y)\n", " ax.set_title(title)\n", " ax.grid(True)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "This makes it easy to tweak all of the plots with a consistent style without repeating ourselves. It's also then easier to add, or remove plots and reshape. If you're not familiar with the `zip()` function below, it's Python's way of iterating (looping) over multiple lists of things together; so each time through the loop the first, second, etc. items from each of the lists is returned. It's one of the built-in parts of Python that makes it so easy to use." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Conclusion" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "For more information, we suggest looking at:\n", "\n", "- [matplotlib's website](http://matplotlib.org/) has many resources for learning more about matplotlib\n", "- matplotlib's [documentation](http://matplotlib.org/contents.html) gives more information on using matplotlib\n", "- matplotlib's [gallery](http://matplotlib.org/gallery.html) is a great place to see visually what matplotlib can do" ] } ], "metadata": { "kernelspec": { "display_name": "Python 3.5", "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.5.2" }, "widgets": { "state": {}, "version": "1.1.1" } }, "nbformat": 4, "nbformat_minor": 0 }