{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "\n", "\n", "*This notebook contains an excerpt from the [Python Data Science Handbook](http://shop.oreilly.com/product/0636920034919.do) by Jake VanderPlas; the content is available [on GitHub](https://github.com/jakevdp/PythonDataScienceHandbook).*\n", "\n", "*The text is released under the [CC-BY-NC-ND license](https://creativecommons.org/licenses/by-nc-nd/3.0/us/legalcode), and code is released under the [MIT license](https://opensource.org/licenses/MIT). If you find this content useful, please consider supporting the work by [buying the book](http://shop.oreilly.com/product/0636920034919.do)!*\n", "\n", "*No changes were made to the contents of this notebook from the original.*" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "\n", "< [Customizing Colorbars](04.07-Customizing-Colorbars.ipynb) | [Contents](Index.ipynb) | [Text and Annotation](04.09-Text-and-Annotation.ipynb) >" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# Multiple Subplots" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Sometimes it is helpful to compare different views of data side by side.\n", "To this end, Matplotlib has the concept of *subplots*: groups of smaller axes that can exist together within a single figure.\n", "These subplots might be insets, grids of plots, or other more complicated layouts.\n", "In this section we'll explore four routines for creating subplots in Matplotlib." ] }, { "cell_type": "code", "execution_count": 1, "metadata": { "collapsed": true }, "outputs": [], "source": [ "%matplotlib inline\n", "import matplotlib.pyplot as plt\n", "plt.style.use('seaborn-white')\n", "import numpy as np" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## ``plt.axes``: Subplots by Hand\n", "\n", "The most basic method of creating an axes is to use the ``plt.axes`` function.\n", "As we've seen previously, by default this creates a standard axes object that fills the entire figure.\n", "``plt.axes`` also takes an optional argument that is a list of four numbers in the figure coordinate system.\n", "These numbers represent ``[left, bottom, width, height]`` in the figure coordinate system, which ranges from 0 at the bottom left of the figure to 1 at the top right of the figure.\n", "\n", "For example, we might create an inset axes at the top-right corner of another axes by setting the *x* and *y* position to 0.65 (that is, starting at 65% of the width and 65% of the height of the figure) and the *x* and *y* extents to 0.2 (that is, the size of the axes is 20% of the width and 20% of the height of the figure):" ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAXUAAAD3CAYAAADi8sSvAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAEuhJREFUeJzt3V9MVGf+x/GPM+MAOhRDJPbCQuJEesMFIjfGEAxdYizu\npnWyDvgHL0jcvTVstt5IqLGIqxebEGvWJqsuMRVLvBCTdhOExoS0jVChmRrtxnVJuonpNIW0M7M6\nwjy/i4bpzg+dAyzDgYf368rzB/j6xLwdz5wzrjHGGAEArOBxewAAwOIh6gBgEaIOABYh6gBgEaIO\nABYh6gBgkTlFfWxsTIcPH561f2BgQKFQSOFwWNevX1/04QAA8+NzOuGDDz7QzZs3VVBQkLH/+fPn\nOn36tHp7e1VQUKCmpibV1dVp48aNORsWAJCdY9RLS0vV1dWlP/7xjxn7Hz16pNLSUhUVFUmStm/f\nrrt372rPnj0Z5z19+lSRSEQlJSXyer2LODoA2Gt6elrRaFQVFRXKz8+f89c5Rn337t369ttvZ+2P\nxWIqLCxMb69fv16xWGzWeZFIRAcPHpzzQACAX1y9elXV1dVzPt8x6i8TCAQUj8fT2/F4PCPyM0pK\nStKDvfrqqwv9cQCwqjx58kQHDx5MN3SuFhz1YDCo8fFxTU5Oat26dRoeHlZLS8us82Yuubz66qva\nvHnzQn8cAKxK871sPe+o9/X1KZFIKBwO6/jx42ppaZExRqFQSJs2bZrvtwMALKI5RX3z5s3pWxZ/\n/etfp/fX1dWprq4uN5MBAOaNh48AwCJEHVhBeBAQThb8RimApcWDgJgLog6sEDwIuDwt9CGhXCHq\nwArBg4DL23wfEsoVog6scDwI6K6FPiSUK0QdWOF4EHB5WC6XtIg6sELxICBehKgDKwgPAsIJ96kD\ngEWIOgBYhKgDgEWIOgBYhKgDgEWIOgBYhKgDgEWIOgBYhKgDgEWIOgBYhKgDgEWIOgBYhKgDgEWI\nOgBYhKgDgEWIOgBYhKgDgEWIOgBYhKgDgEWIOgBYhKgDgEV8bg8AwFkqlVJ7e7sePnwov9+vU6dO\nqaysLH388uXL+uijj1RcXCxJevfdd7Vlyxa3xoWLiDqwAvT39yuZTKqnp0ejo6Pq7OzUhQsX0scj\nkYjOnDmjiooKF6fEckDUgRVgZGRENTU1kqTKykpFIpGM419//bUuXryoaDSqXbt26Xe/+50bY2IZ\n4Jo6sALEYjEFAoH0ttfr1dTUVHq7oaFB7e3tunLlikZGRjQ4OOjGmFgGiDqwAgQCAcXj8fR2KpWS\nz/fzP7SNMTpy5IiKi4vl9/tVW1ur+/fvuzUqXEbUgRWgqqpKd+7ckSSNjo6qvLw8fSwWi2nv3r2K\nx+MyxuiLL77g2voq5nhN3eld95s3b+rSpUvyeDwKhUI6cOBATgcGVqP6+noNDQ2psbFRxhh1dHSo\nr69PiURC4XBYx44dU3Nzs/x+v3bs2KHa2lq3R4ZLHKPu9K77n/70J926dUvr1q1TQ0ODGhoaVFRU\nlNOhgdXG4/Ho5MmTGfuCwWD612+99ZbeeuutpR4Ly5Bj1J3edX/99df1008/yefzyRijNWvW5GZS\nAIAjx6i/7F33mTdptm7dqlAopIKCAtXX1+uVV17J3bQAgKwc3yjN9q77gwcP9Omnn+r27dsaGBjQ\nDz/8oI8//jh30wIAsnKMerZ33QsLC5Wfn6+8vDx5vV4VFxfrxx9/zN20AICsHC+/OL3rHg6HdeDA\nAa1du1alpaV6++23l2JuAMALOEbd6V33pqYmNTU1Lf5kAIB54+EjALAIUQcAixB1ALAIUQcAixB1\nALAIUQcAixB1ALAIUQcAixB1ALAIUQcAixB1ALAIUQcAixB1ALAIUQcAixB1YAVIpVJqa2tTOBzW\n4cOHNT4+nnF8YGBAoVBI4XBY169fd2lKLAdEHVgB+vv7lUwm1dPTo9bWVnV2dqaPPX/+XKdPn9Zf\n//pXdXd3q6enR99//72L08JNjv9JBgD3jYyMqKamRpJUWVmpSCSSPvbo0SOVlpaqqKhIkrR9+3bd\nvXtXe/bsyfge09PTkqQnT54s0dSrw8x6zqyv24g6sALEYjEFAoH0ttfr1dTUlHw+n2KxmAoLC9PH\n1q9fr1gsNut7RKNRSdLBgwdzP/AqFI1GVVZW5vYYRB1YCQKBgOLxeHo7lUrJ5/O98Fg8Hs+I/IyK\nigpdvXpVJSUl8nq9uR96lZienlY0GlVFRYXbo0gi6sCKUFVVpcHBQb355psaHR1VeXl5+lgwGNT4\n+LgmJye1bt06DQ8Pq6WlZdb3yM/PV3V19VKOvWosh1foM4g6sALU19draGhIjY2NMsaoo6NDfX19\nSiQSCofDOn78uFpaWmSMUSgU0qZNm9weGS4h6sAK4PF4dPLkyYx9wWAw/eu6ujrV1dVJ+uX2x4cP\nH8rv9+vUqVMZryQHBgZ0/vx5+Xw+hUIh7d+/f2l+Ey+QSqXU3t7+0lkvX76sjz76SMXFxZKkd999\nV1u2bHFrXEnS2NiYzp07p+7u7oz9y2VdiTpgmf++/XF0dFSdnZ26cOGCpF9uf+zt7VVBQYGamppU\nV1enjRs3LrtZJSkSiejMmTPL5nr1Bx98oJs3b6qgoCBj/3JaV+5TBywz19sf/X5/+vZHt2SbVZK+\n/vprXbx4UU1NTfrLX/7ixogZSktL1dXVNWv/clpXog5Y5mW3P84cm8vtj0sl26yS1NDQoPb2dl25\nckUjIyMaHBx0Y8y03bt3p+86+m/LaV2JOmCZxbj9calkm9UYoyNHjqi4uFh+v1+1tbW6f/++W6Nm\ntZzWlagDlqmqqtKdO3ckKevtj8lkUsPDw9q2bZtbo2adNRaLae/evYrH4zLG6Isvvlg219b/v+W0\nrrxRClhmJd3+6DTrsWPH1NzcLL/frx07dqi2tta1WV9kOa7rGmOMyeUP+Pbbb/XGG2/o9u3b2rx5\ncy5/FABYY6Ht5PILAFiEqAOARYg6AFiEqAOARYg6AFiEqAOARRzvU3f6FLWvvvpKnZ2dMsaopKRE\nZ8+eVV5eXk6HBgC8mOMr9Wz/4a0xRidOnNDp06f14YcfqqamRv/+979zOjAA4OUcX6ln+xS1x48f\na8OGDbp8+bL+8Y9/qLa21vXPOgaA1czxlXq2T1GbmJjQvXv3dOjQIV26dEmff/65Pvvss9xNCwDI\nyjHq2T5FbcOGDSorK1MwGNTatWtVU1Mz6/OQAQBLxzHq2T5F7bXXXlM8Htf4+LgkaXh4WFu3bs3R\nqAAAJ47X1J0+Re29995Ta2urjDHatm2bdu3atQRjAwBexDHqTv/h7Y4dO9Tb27v4kwEA5o2HjwDA\nIkQdACxC1AHAIkQdACxC1AHAIkQdACxC1AHAIkQdACxC1AHAIkQdACxC1AHAIkQdACxC1AHAIkQd\nACxC1AHAIkQdACxC1AHAIkQdACxC1AHAIkQdACxC1AHAIkQdACxC1AHAIkQdACxC1AHAIkQdACxC\n1AHAIkQdACxC1AHAIkQdACxC1AHAIkQdACxC1AHAIkQdACxC1AHAIkQdACziGPVUKqW2tjaFw2Ed\nPnxY4+PjLzzvxIkTOnfu3KIPCACYO8eo9/f3K5lMqqenR62trers7Jx1zrVr1/TNN9/kZEAAwNw5\nRn1kZEQ1NTWSpMrKSkUikYzjX375pcbGxhQOh3MzIQBgzhyjHovFFAgE0tter1dTU1OSpO+++07n\nz59XW1tb7iYEAMyZz+mEQCCgeDye3k6lUvL5fv6yTz75RBMTEzp69Kii0aiePn2qLVu2aN++fbmb\nGADwUo5Rr6qq0uDgoN58802Njo6qvLw8fay5uVnNzc2SpBs3buif//wnQQcAFzlGvb6+XkNDQ2ps\nbJQxRh0dHerr61MikeA6OgAsM45R93g8OnnyZMa+YDA46zxeoQOA+3j4CAAsQtQBwCJEHQAsQtQB\nwCJEHQAsQtQBwCJEHQAsQtQBwCJEHQAsQtQBwCJEHQAsQtQBwCJEHQAsQtQBwCJEHQAsQtQBwCJE\nHQAsQtQBwCJEHQAsQtQBwCJEHQAsQtQBwCJEHQAsQtQBwCJEHQAsQtQBwCJEHQAsQtQBwCJEHQAs\nQtQBwCJEHQAsQtQBwCJEHQAsQtQBwCJEHQAs4nM6IZVKqb29XQ8fPpTf79epU6dUVlaWPn7r1i1d\nuXJFXq9X5eXlam9vl8fD3xUA4AbH+vb39yuZTKqnp0etra3q7OxMH3v69Kn+/Oc/629/+5uuXbum\nWCymwcHBnA4MAHg5x6iPjIyopqZGklRZWalIJJI+5vf7de3aNRUUFEiSpqamlJeXl6NRAQBOHKMe\ni8UUCATS216vV1NTUz9/scejjRs3SpK6u7uVSCS0c+fOHI0KAHDieE09EAgoHo+nt1OplHw+X8b2\n2bNn9fjxY3V1dWnNmjW5mRQA4MjxlXpVVZXu3LkjSRodHVV5eXnG8ba2Nj179kzvv/9++jIMAMAd\njq/U6+vrNTQ0pMbGRhlj1NHRob6+PiUSCVVUVKi3t1fV1dU6cuSIJKm5uVn19fU5HxwAMJtj1D0e\nj06ePJmxLxgMpn/94MGDxZ8KALAg3FAOABYh6gBgEaIOABYh6gBgEaIOABYh6gBgEaIOABYh6gBg\nEaIOABYh6gBgEaIOABYh6gBgEaIOABYh6gBgEaIOABYh6gBgEaIOABYh6gBgEaIOABYh6gBgEaIO\nABYh6gBgEaIOABYh6gBgEaIOABYh6gBgEaIOABYh6gBgEaIOABYh6gBgEaIOABYh6gBgEaIOABYh\n6gBgEaIOABYh6gBgEceop1IptbW1KRwO6/DhwxofH884PjAwoFAopHA4rOvXr+dsUACAM5/TCf39\n/Uomk+rp6dHo6Kg6Ozt14cIFSdLz5891+vRp9fb2qqCgQE1NTaqrq9PGjRvTXz89PS1JevLkSY5+\nCwBgn5lmzjR0rhyjPjIyopqaGklSZWWlIpFI+tijR49UWlqqoqIiSdL27dt19+5d7dmzJ31ONBqV\nJB08eHBegwEAfm5oWVnZnM93jHosFlMgEEhve71eTU1NyefzKRaLqbCwMH1s/fr1isViGV9fUVGh\nq1evqqSkRF6vd86DAcBqNj09rWg0qoqKinl9nWPUA4GA4vF4ejuVSsnn873wWDwez4i8JOXn56u6\nunpeQwEANK9X6DMc3yitqqrSnTt3JEmjo6MqLy9PHwsGgxofH9fk5KSSyaSGh4e1bdu2eQ8BAFgc\na4wxJtsJqVRK7e3t+uabb2SMUUdHh+7fv69EIqFwOKyBgQGdP39exhiFQiGunQOAixyjPlcz8X/4\n8KH8fr9OnTqV8U+Hmfj7fD6FQiHt379/MX7ssuS0Frdu3dKVK1fk9XpVXl6u9vZ2eTx2PjLgtBYz\nTpw4oaKiIv3hD39wYcql4bQWX331lTo7O2WMUUlJic6ePau8vDwXJ84dp7W4efOmLl26JI/Ho1Ao\npAMHDrg47dIYGxvTuXPn1N3dnbF/3u00i+Tvf/+7eeedd4wxxty7d8/8/ve/Tx9LJpPmV7/6lZmc\nnDTPnj0z+/btM9FodLF+9LKTbS3+85//mDfeeMMkEgljjDHHjh0z/f39rsy5FLKtxYwPP/zQ7N+/\n35w9e3apx1tS2dYilUqZ3/zmN+Zf//qXMcaY69evm0ePHrky51Jw+nOxc+dOMzExYZ49e5Zuh80u\nXrxo9u7da377299m7F9IOxft5eFcb330+/3pWx9tlW0t/H6/rl27poKCAknS1NSUta/GpOxrIUlf\nfvmlxsbGFA6H3RhvSWVbi8ePH2vDhg26fPmyDh06pMnJSW3ZssWtUXPO6c/F66+/rp9++knJZFLG\nGK1Zs8aNMZdMaWmpurq6Zu1fSDsXLeovu/Vx5pjTrY82ybYWHo8n/XBWd3e3EomEdu7c6cqcSyHb\nWnz33Xc6f/682tra3BpvSWVbi4mJCd27d0+HDh3SpUuX9Pnnn+uzzz5za9Scy7YWkrR161aFQiE1\nNDRo165deuWVV9wYc8ns3r07fVfhf1tIOxct6v/rrY82ybYWM9tnzpzR0NCQurq6rH4Vkm0tPvnk\nE01MTOjo0aO6ePGibt26pRs3brg1as5lW4sNGzaorKxMwWBQa9euVU1NzaxXrzbJthYPHjzQp59+\nqtu3b2tgYEA//PCDPv74Y7dGddVC2rloUefWx19kWwtJamtr07Nnz/T++++nL8PYKttaNDc368aN\nG+ru7tbRo0e1d+9e7du3z61Rcy7bWrz22muKx+Ppz1YaHh7W1q1bXZlzKWRbi8LCQuXn5ysvL09e\nr1fFxcX68ccf3RrVVQtpp+PDR3NVX1+voaEhNTY2pm997OvrS9/6ePz4cbW0tKRvfdy0adNi/ehl\nJ9taVFRUqLe3V9XV1Tpy5Iikn+NWX1/v8tS54fTnYjVxWov33ntPra2tMsZo27Zt2rVrl9sj54zT\nWoTDYR04cEBr165VaWmp3n77bbdHXlL/SzsX7ZZGAID77Lw5GgBWKaIOABYh6gBgEaIOABYh6gBg\nEaIOABYh6gBgkf8Du3/zO8kZlUIAAAAASUVORK5CYII=\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "ax1 = plt.axes() # standard axes\n", "ax2 = plt.axes([0.65, 0.65, 0.2, 0.2])" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The equivalent of this command within the object-oriented interface is ``fig.add_axes()``. Let's use this to create two vertically stacked axes:" ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "fig = plt.figure()\n", "ax1 = fig.add_axes([0.1, 0.5, 0.8, 0.4],\n", " xticklabels=[], ylim=(-1.2, 1.2))\n", "ax2 = fig.add_axes([0.1, 0.1, 0.8, 0.4],\n", " ylim=(-1.2, 1.2))\n", "\n", "x = np.linspace(0, 10)\n", "ax1.plot(np.sin(x))\n", "ax2.plot(np.cos(x));" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We now have two axes (the top with no tick labels) that are just touching: the bottom of the upper panel (at position 0.5) matches the top of the lower panel (at position 0.1 + 0.4)." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## ``plt.subplot``: Simple Grids of Subplots\n", "\n", "Aligned columns or rows of subplots are a common-enough need that Matplotlib has several convenience routines that make them easy to create.\n", "The lowest level of these is ``plt.subplot()``, which creates a single subplot within a grid.\n", "As you can see, this command takes three integer arguments—the number of rows, the number of columns, and the index of the plot to be created in this scheme, which runs from the upper left to the bottom right:" ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "for i in range(1, 7):\n", " plt.subplot(2, 3, i)\n", " plt.text(0.5, 0.5, str((2, 3, i)),\n", " fontsize=18, ha='center')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The command ``plt.subplots_adjust`` can be used to adjust the spacing between these plots.\n", "The following code uses the equivalent object-oriented command, ``fig.add_subplot()``:" ] }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n71emvf7660Kn04l//OMfXtU94le/+pX46le/KnQ6nXjppZec5v/0pz8VRqPR6/GD7fA3GfO+ePGi\n0Ol04ve//73LZSdT3jJm/fOf/1zcd9994vjx48q0Dz/8UHzta18TTz75pMOygcw6JF/Z7969Gykp\nKcpp2v/73/9gNpvxrW99C5GRkcpyd911F1JTU3Hq1CmPxh8YGMAXvvAFrFixAhEREcr0+++/HwAc\nnq091dHRgZ07d+IHP/jBqMvk5eXhn//8J1/t/b9QzPs///kPACAhIcHlssz7U6GWtRACf/jDH5Ce\nno7U1FRlekxMDDZu3OgwDQhs1iHX7K9cuYKWlhZkZmYq07RaLQ4cOICioiKn5a9evQq1Wu3RbUyZ\nMgW7du3C2rVrHaafO3cOADB79mzPC8enH98sXLgQjz766KjLJSUlYebMmaivr/fqdiaTUM37/Pnz\nAD5t9n19faMuy7xvCsWsL126hO7ubnzjG98AcLP5j3z2X1BQgBUrVjgsH8isQ+5c58OHD2N4eBjp\n6enKNLVajbvvvttpWbPZjLa2Njz00EPjus33338fx44dw/bt26HT6ZCVleXVOL/+9a/R2dmJV155\nBUNDQ2Mum5qaqvx2icxCNe/z589j2rRpqK6uxl//+lf09fVhzpw5KC0txeLFi52WZ96hmXVnZycA\n4M4778T27duxd+9eWK1WxMXFoby8HBkZGU7rBCrrkGv2ra2tmDp1qvLlzWhsNhvKysoAAGvWrPH6\n9np7e5XAIiMjsXnzZkyZMsXjcc6fP4+XX34ZFRUVmDlzJi5dujTm8jqdDo2Njejq6nJ5XyezUM37\nP//5D2w2G65fv46f/exnuHbtGn77299i/fr1uHHjBh577DGH5Zl3aGZ97do1AMAvf/lLhIeH46mn\nnkJYWBh27dqFdevWYdeuXcqr/hGByjrkPsbp6urCF7/4RYcfaPq8/v5+fP/734fZbMaaNWuUz+O8\noVKpsGPHDmzfvh0JCQn4zne+g6amJo/GGB4exqZNm5CSkuL0tm40Iw8CV08Kk10o5g0AK1asQEVF\nBV566SVkZWUhNzcXDQ0NmDNnDp5//nkMDw87LM+8QzPrwcFBADeb/u9+9zssW7YMjz32GOrr63H7\n7bfjxRdfdFonUFmHXLPv7e11uOjC5127dg3FxcU4duwYcnNzUVpaOq7bmz59OrKzs5UAZ8+e7fGx\nsrt27UJHRwc2bNiAnp4e9PT0KK8I+vv70dPT43TI18h9vHr16rjqD3WhmDcAGAwGFBQUOEyLiIhA\nTk4OPvroI+UL3BHMOzSznjp1KgDgm9/8JqZPn65Mv/3225GRkYEzZ844Hb8fqKxDrtmHhYWNeizs\nxx9/DKPRiLa2Nuj1emzbtm3MVwmeioiIQHp6Oq5cuYKenh631zt8+DBu3LiBvLw8LFiwAAsWLMDS\npUsB3HwiWLBgAS5fvuywzsh99PQLqMkmFPMeS3R0NADnL2yZd2hmPWPGDACf5vpZ0dHREEIETdYu\nP7Mf6yr0wM1Dpfbt26fc2WeffRZ33333mOuMx5133okrV644TbdarSgpKcG5c+dQVFSE8vJyr2/j\nwoULWL16NUpKSpxendlsNqhUKmg0GrfHKysrU17Jj/joo4/wk5/8BDk5OXjsscecLgLR29sL4Ob9\nnSjBljUQmnl3d3ejuLgY3/72t/HEE084zHv33XcBALGxsQ7TJzpvZu2brO+9915oNBqnd2rAzY9p\npkyZ4vREEIh9G3Cj2Y91FXrg5tVstm/fjsTERGXa22+/PeY64zF79mycPn0aw8PDDs+MW7Zswblz\n52A0Gsf1YACA+Ph4XL9+HW+88Qby8vKU8N9//300NTUhNTV1zLebn/fZbTNi5PO6OXPmOH2BA9xs\nGID3h3l6I9iyBkIz7xkzZuDatWvYt28fioqKlHUvX76MN998Ew888IDTk/tE582sfZP11KlTkZGR\ngb///e84f/487r33XgA3v39obm5GZmam0yv4QOzbgBvN3tVV6M+cOYO6ujpYLBakp6fje9/7nltX\nrvfWgw8+iDfffBPnz5/Hl770JQA3n63feust3H777fjyl7+Mt956y2m9nJwcADdDaGtrQ3Jy8qjf\nhIeHh2Pz5s3YuHEjCgsL8eijj+Lq1auor69HWFgYnn76aWVZd8bzhslkQnx8/IQ+IIItayB0837m\nmWewbt065OfnIy8vDzabDfX19QgPD8czzzzjtPxE582sfZf1T37yExw/fhxGoxFGoxG33XYbfvvb\n3yIiIgLr1693Wj4Q+zbgRrN3dRX6xYsX4/HHH4dWq8UTTzyBlpYWt65c7620tDSEhYXh5MmTygPi\n+PHjAG5+gTPaM//IA+LEiRMoLy9HdXX1mAHm5OTgtttuw29+8xtUV1dj6tSpePDBB1FaWoq5c+cq\ny7k7nifsdjtMJhOys7N9Mp67gi1rIHTzzszMxMsvv4xXX30VL7zwAiIiInD//fdj/fr1TmfVBiJv\nZu27rGNcIfGCAAAIB0lEQVRjY7F37148//zz2LVrF4QQmD9/PjZu3Oi0XqD2bcCNZj/WVeiFEFi1\nahWioqIAAIsWLcLZs2fdunK9t6Kjo5GRkYG//OUvWLlyJYCbRz4YDAa31l+2bBnMZrNbn8tlZ2e7\nDMWT8T4rNjZ21FOzjx49io8//hjLly/3aMzxCrasgdDOOzMz0+Fs0NEEIm9m7dus58yZg5deesnl\ncoHatwE3jsYZ6yr0VqsVS5Ysgc1mgxACx44dQ2JioltXrh+P4uJitLW14eLFix6v+9FHH6G5ufmW\nn6N7w9fjAcAf//hHLFy4UHl1M1GCMWuAefsDs5748YDA7duAG6/sXV2FvrS0FEajERqNBgsWLMCi\nRYtgt9ud1vGllJQUPPzww6irq8PWrVs9WrenpwdlZWW3PAXbG74er6urC01NTXj99dd9Mp4ngjFr\ngHn7A7Oe+PECuW8DCM2fOBZCiMuXL4vU1FTR2dnpw8oCb9OmTWLr1q3jGiOYfvJWCOY9lsmWN7Me\nXaCzDrnfxhkxa9Ys5cubyYRXLbo15i0PZu0fIXcGLREReY7NnohIAmz2REQSYLMnIpIAmz0RkQTY\n7ImIJMBmT0QkATZ7IiIJsNkTEUmAzZ6ISAJs9kREEmCzJyKSAJs9EZEE2OyJiCTg8ieO7XY7Kisr\n0dHRAY1Gg61btyI+Pl6Z/+c//xmvvfYa1Go1dDodKisrERYWhqVLlyrXq4yNjQ34z3uSa8xaHsxa\nPi6b/cGDBzE4OIiGhgaYTCbU1NRg586dAIBPPvkEv/jFL9DY2IjIyEisX78eLS0teOihhyCEwJ49\ne/x+B8h3mLU8mLV8XH6M09rairS0NABAUlIS2tvblXkajQZvvPEGIiMjAQBDQ0OYMmUKzGYz+vv7\nUVxcDKPRCJPJ5KfyyZeYtTyYtXxcvrK3Wq3K2zYAUKvVGBoaQnh4OMLCwnDXXXcBAPbs2YO+vj4s\nXLgQ77zzDkpKSpCXl4f33nsPq1evxoEDB3x6JXryPWYtD2YtH5cpabVa2Gw25W+73e4Qrt1ux/PP\nP493330XtbW1UKlUmDt3LuLj45X/33HHHbBYLJg1a5Z/7gX5BLOWB7OWj8uPcZKTk3Ho0CEAgMlk\ngk6nc5hfUVGBgYEBvPLKK8rbvv3796OmpgYA0N3dDavVipiYGF/XTj7GrOXBrOXj8pV9VlYWjhw5\ngvz8fAghUFVVhcbGRvT19SExMRH79+/H/PnzsWrVKgCA0WjE8uXLUV5eDoPBAJVKhaqqKr7VCwHM\nWh7MWj4ukwoLC8OWLVscpiUkJCj/N5vNt1zvxRdfHGdpNNGYtTyYtXx4UhURkQTY7ImIJMBmT0Qk\nATZ7IiIJsNkTEUmAzZ6ISAJs9kREEmCzJyKSAJs9EZEE2OyJiCTAZk9EJAE2eyIiCbDZExFJgM2e\niEgCbPZERBJw2eztdjsqKiqg1+tRWFiIzs5Oh/nNzc3Izc2FXq/H3r173VqHghOzlgezlo/Li5cc\nPHgQg4ODaGhogMlkQk1NDXbu3AkAuHHjBqqrq7F//35ERkbCYDAgIyMDbW1to64DAMPDwwCADz74\nwE93S24j23VkO7vLH1l/tg7m7R/e5M2sQ5O3+zbgRrNvbW1FWloaACApKQnt7e3KvAsXLiAuLg7T\np08HAKSkpODEiRMwmUyjrgMAFosFAFBQUOBxweQ+i8WC+Ph4t5f3R9YjdQDM2988yZtZhzZP923A\njWZvtVqh1WqVv9VqNYaGhhAeHg6r1YqoqChl3rRp02C1WsdcBwASExNRX1+PmJgYqNVqjwom14aH\nh2GxWJCYmOjRev7IGmDe/uZN3sw6NHm7bwNuNHutVgubzab8bbfblXA/P89msyEqKmrMdQAgIiIC\n8+fP97hYcp+nz/qAf7IGmPdE8DRvZh26vNm3ATe+oE1OTsahQ4cAACaTCTqdTpmXkJCAzs5O9Pb2\nYnBwECdPnsS8efPGXIeCF7OWB7OWj0oIIcZawG63o7KyEu+88w6EEKiqqsLZs2fR19cHvV6P5uZm\nvPzyyxBCIDc3FwUFBbdc57NXrqfgxKzlwazl47LZj9fIA6SjowMajQZbt251eBsy8qAKDw9Hbm4u\nVqxY4c9yXHJV7+7du7Fv3z5ER0cDAJ599lncc889gSpXcfr0abzwwgvYs2ePw/SJ3L7MemIwa88x\nawDCz5qamkRZWZkQQohTp06JtWvXKvMGBwdFZmam6O3tFQMDA2LZsmXCYrH4u6QxjVWvEEJs2LBB\n/Pvf/w5EaaOqq6sTS5YsEXl5eQ7TJ3r7Mmv/Y9beYdZC+P0MWncP8dJoNMohXoE0Vr0AcObMGdTV\n1cFgMODVV18NRIlO4uLiUFtb6zR9orcvs/Y/Zu0dZj0BP5cw2uFaI/NudYhXII1VLwAsXrwYlZWV\neO2119Da2oqWlpZAlOngkUcecToqApj47cus/Y9Ze4dZT0Cz9+YQr0Aaq14hBFatWoXo6GhoNBos\nWrQIZ8+eDVSpLk309mXWgcOsx8asJ6DZe3OIVyCNVa/VasWSJUtgs9kghMCxY8e8Orlhokz09mXW\ngcOsx8as3TiparyysrJw5MgR5OfnK4drNTY2Kod4bdq0CSUlJcohXjNmzPB3SeOqt7S0FEajERqN\nBgsWLMCiRYsCWu+tBGr7MuuJx6x9U68MWfv90EsiIgo8/p49EZEE2OyJiCTAZk9EJAE2eyIiCbDZ\nExFJgM2eiEgCbPZERBL4Pzcu/y+GwQz2AAAAAElFTkSuQmCC\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "fig = plt.figure()\n", "fig.subplots_adjust(hspace=0.4, wspace=0.4)\n", "for i in range(1, 7):\n", " ax = fig.add_subplot(2, 3, i)\n", " ax.text(0.5, 0.5, str((2, 3, i)),\n", " fontsize=18, ha='center')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We've used the ``hspace`` and ``wspace`` arguments of ``plt.subplots_adjust``, which specify the spacing along the height and width of the figure, in units of the subplot size (in this case, the space is 40% of the subplot width and height)." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## ``plt.subplots``: The Whole Grid in One Go\n", "\n", "The approach just described can become quite tedious when creating a large grid of subplots, especially if you'd like to hide the x- and y-axis labels on the inner plots.\n", "For this purpose, ``plt.subplots()`` is the easier tool to use (note the ``s`` at the end of ``subplots``). Rather than creating a single subplot, this function creates a full grid of subplots in a single line, returning them in a NumPy array.\n", "The arguments are the number of rows and number of columns, along with optional keywords ``sharex`` and ``sharey``, which allow you to specify the relationships between different axes.\n", "\n", "Here we'll create a $2 \\times 3$ grid of subplots, where all axes in the same row share their y-axis scale, and all axes in the same column share their x-axis scale:" ] }, { "cell_type": "code", "execution_count": 6, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "fig, ax = plt.subplots(2, 3, sharex='col', sharey='row')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Note that by specifying ``sharex`` and ``sharey``, we've automatically removed inner labels on the grid to make the plot cleaner.\n", "The resulting grid of axes instances is returned within a NumPy array, allowing for convenient specification of the desired axes using standard array indexing notation:" ] }, { "cell_type": "code", "execution_count": 7, "metadata": {}, "outputs": [ { "data": { "image/png": "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\nSUVORK5CYII=\n", "text/plain": [ "" ] }, "execution_count": 7, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# axes are in a two-dimensional array, indexed by [row, col]\n", "for i in range(2):\n", " for j in range(3):\n", " ax[i, j].text(0.5, 0.5, str((i, j)),\n", " fontsize=18, ha='center')\n", "fig" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "In comparison to ``plt.subplot()``, ``plt.subplots()`` is more consistent with Python's conventional 0-based indexing." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## ``plt.GridSpec``: More Complicated Arrangements\n", "\n", "To go beyond a regular grid to subplots that span multiple rows and columns, ``plt.GridSpec()`` is the best tool.\n", "The ``plt.GridSpec()`` object does not create a plot by itself; it is simply a convenient interface that is recognized by the ``plt.subplot()`` command.\n", "For example, a gridspec for a grid of two rows and three columns with some specified width and height space looks like this:" ] }, { "cell_type": "code", "execution_count": 8, "metadata": {}, "outputs": [], "source": [ "grid = plt.GridSpec(2, 3, wspace=0.4, hspace=0.3)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "From this we can specify subplot locations and extents using the familiary Python slicing syntax:" ] }, { "cell_type": "code", "execution_count": 9, "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAXsAAAD3CAYAAAD8O/QcAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAHNBJREFUeJzt3V9MU+f/B/B3KRaYZRIiURNGp4TupheI3BhHMDJiMskS\nrVAQLYlEt4vdIMumFyN1Y6XGLVtClIxdqCFmosQLIJlb+LOQkM0IetgqAxMjJFzomijZ2iq1nud3\nsXC+8kN7+Fda+rxfV5xz+qyfnofP29PulMcghBAgIqKElhTrAoiIKPoY9kREEmDYExFJgGFPRCQB\nhj0RkQQY9kREElhQ2I+MjODIkSPz9vf19cFut8PhcODq1asAAFVV0dDQAIfDgSNHjmBycnJlK6ao\n43wTJZ5kvQf88MMP6OzsRFpa2pz9z58/R1NTEzo6OpCWloaqqirs2bMHt2/fRigUQnt7OxRFgcfj\nQUtLS9ReAK0szjdRYtIN+5ycHDQ3N+PTTz+ds//+/fvIycnBhg0bAAA7duzArVu3oCgKioqKAAD5\n+fnwer3z/pvPnj2D1+tFVlYWjEbjSrwOesmLFy/g8/lgs9mQmpq6qLGcb6L4tZze1g37vXv3Ympq\nat5+v9+P9PR0bXv9+vXw+/3w+/0wm83afqPRiHA4jOTk/z2V1+tFdXX1ogqlxbt8+TIKCwsXNYbz\nTRT/ltLbumH/OmazGYFAQNsOBAJIT0+ft19V1TmNDwBZWVlawZs3b15qCfQaDx8+RHV1tXaeVwLn\nmyj2ltPbSw773NxcTE5OYnp6Gm+88QaGhoZQW1sLg8GA/v5+vP/++1AUBVardd7Y2bfymzdvRnZ2\n9lJLIB0r+ZEJ55sofiyltxcd9l1dXQgGg3A4HDh58iRqa2shhIDdbsemTZtQWlqKwcFBVFZWQggB\nt9u96KIofnC+iRKDIRZ/9XJqagolJSXo7e3llV4UxNv5jbd6iNaq5fQSv1RFRCQBhj0RkQQY9kRE\nEmDYExFJgGFPRCQBhj0RkQQY9kREEmDYExFJgGFPRCQBhj0RkQQY9kREEmDYExFJgGFPRCQBhj0R\nkQQY9kREEmDYExFJQHelKlVV4XK5MD4+DpPJhMbGRlgsFgCAz+fDiRMntMf+9ddfqK+vR1VVFfbv\n368tRJ2dnY2mpqYovQRaKZxrosSlG/Y9PT0IhUJob2+HoijweDxoaWkB8N9C0m1tbQCAO3fu4Ntv\nv0VFRQVmZmYghNCO0drAuSZKXLof4wwPD6OoqAgAkJ+fD6/XO+8xQgh8+eWXcLlcMBqNGBsbw9On\nT3H06FE4nU4oirLyldOK41wTJS7dK3u/36+9RQf+W9U8HA4jOfl/Q/v6+pCXl4dt27YBAFJTU1Fb\nW4vy8nJMTEzg2LFjuHHjxpwxFH8410SJS7cjzWYzAoGAtq2q6rxG7uzshNPp1La3bt0Ki8UCg8GA\nrVu3IiMjAz6fD1u2bFnB0mmlca6JEpfuxzgFBQUYGBgAACiKAqvVOu8xXq8XBQUF2nZHRwc8Hg8A\n4NGjR/D7/cjKylqpmilKONdEiUv3yr60tBSDg4OorKyEEAJutxtdXV0IBoNwOBx4/PgxzGYzDAaD\nNubgwYM4deoUqqqqYDAY4Ha7+bZ+DeBcEyUugxBCrPaTTk1NoaSkBL29vcjOzl7tp0948XZ+460e\norVqOb3EL1UREUmAYU9EJAGGPRGRBBj2REQSYNgTEUmAYU9EJAGGPRGRBBj2REQSYNgTEUmAYU9E\nJAGGPRGRBBj2REQSYNgTEUmAYU9EJAGGPRGRBHRXmVBVFS6XC+Pj4zCZTGhsbITFYtGOX7x4Edeu\nXUNmZiYA4PTp03j77bcjjqH4xLkmSly6Yd/T04NQKIT29nYoigKPx4OWlhbtuNfrxZkzZ2Cz2bR9\nv/zyS8QxFJ8410SJSzfsh4eHUVRUBADIz8+H1+udc/zu3btobW2Fz+fD7t278eGHH+qOofjEuSZK\nXLph7/f7YTabtW2j0YhwOKytM7pv3z4cOnQIZrMZH3/8Mfr7+3XHUHziXBMlLt2ONJvNCAQC2raq\nqlojCyFQU1OD9PR0AEBxcTFGR0cjjqH4xbkmSly6d+MUFBRgYGAAAKAoCqxWq3bM7/ejrKwMgUAA\nQgjcvHkTNpst4hiKX5xrosSlewlWWlqKwcFBVFZWQggBt9uNrq4uBINBOBwO1NXVwel0wmQyYefO\nnSguLoaqqvPGUPzjXBMlLoMQQqz2k05NTaGkpAS9vb3Izs5e7adPePF2fuOtHqK1ajm9xC9VERFJ\ngGFPRCQBhj0RkQQY9kREEmDYExFJgGFPRCQBhj0RkQQY9kREEmDYExFJgGFPRCQBhj0RkQQY9kRE\nEmDYExFJgGFPRCQBhj0RkQQY9kREEtBdqUpVVbhcLoyPj8NkMqGxsREWi0U73t3djUuXLsFoNMJq\ntcLlciEpKQn79+/XFqLOzs5GU1NT9F4FrQjONVHi0g37np4ehEIhtLe3Q1EUeDwetLS0AACePXuG\n7777Dl1dXUhLS8OJEyfQ39+Pd999F0IItLW1Rf0F0MrhXBMlLt2PcYaHh1FUVAQAyM/Ph9fr1Y6Z\nTCZcuXIFaWlpAIBwOIyUlBSMjY3h6dOnOHr0KJxOJxRFiVL5tJI410SJS/fK3u/3a2/RAcBoNCIc\nDiM5ORlJSUnYuHEjAKCtrQ3BYBC7du3CvXv3UFtbi/LyckxMTODYsWO4ceMGkpN1n45iiHNNlLh0\nO9JsNiMQCGjbqqrOaWRVVXH27Fk8ePAAzc3NMBgM2Lp1KywWi/ZzRkYGfD4ftmzZEp1XQSuCc02U\nuHQ/xikoKMDAwAAAQFEUWK3WOccbGhowMzOD8+fPa2/xOzo64PF4AACPHj2C3+9HVlbWStdOK4xz\nTZS4dK/sS0tLMTg4iMrKSggh4Ha70dXVhWAwCJvNho6ODhQWFqKmpgYA4HQ6cfDgQZw6dQpVVVUw\nGAxwu918W78GcK6JEpduVyYlJeGLL76Ysy83N1f7eWxs7JXjvvnmm2WWRquNc02UuPilKiIiCTDs\niYgkwLAnIpIAw56ISAIMeyIiCTDsiYgkwLAnIpIAw56ISAIMeyIiCTDsiYgkwLAnIpIAw56ISAIM\neyIiCTDsiYgkwLAnIpIAw56ISAK6Ya+qKhoaGuBwOHDkyBFMTk7OOd7X1we73Q6Hw4GrV68uaAzF\nJ841UeLSXamqp6cHoVAI7e3tUBQFHo8HLS0tAIDnz5+jqakJHR0dSEtLQ1VVFfbs2YPbt2+/dgwA\nvHjxAgDw8OHDKL0suc2e19nzvFDRmOuX6+B8Ey3PUnsbWEDYDw8Po6ioCACQn58Pr9erHbt//z5y\ncnKwYcMGAMCOHTtw69YtKIry2jEA4PP5AADV1dWLLpgWzufzwWKxLPjx0Zjr2ToAzjfRSllsbwML\nCHu/3w+z2axtG41GhMNhJCcnw+/3Iz09XTu2fv16+P3+iGMAwGaz4fLly8jKyoLRaFxUwaTvxYsX\n8Pl8sNlsixoXjbkGON9EK2WpvQ0sIOzNZjMCgYC2raqq1sj//1ggEEB6enrEMQCQmpqKwsLCRRdL\nC7fYf/WB6Mw1wPkmWklL6W1gAf+DtqCgAAMDAwAARVFgtVq1Y7m5uZicnMT09DRCoRCGhoawffv2\niGMofnGuiRKXQQghIj1AVVW4XC7cu3cPQgi43W6Mjo4iGAzC4XCgr68P586dgxACdrsd1dXVrxyT\nm5u7Wq+JlohzTZS4dMN+uWbDYHx8HCaTCY2NjXPehswGSHJyMux2OyoqKqJZji69ei9evIhr164h\nMzMTAHD69Gls27YtVuVqRkZG8PXXX6OtrW3O/tU8v2tlrvXq7O7uxqVLl2A0GmG1WuFyuZCUFJuv\npOjVOuvzzz/Hhg0b8Mknn8SgSv06//jjD3g8HgghkJWVhbNnzyIlJSXu6uzs7MSFCxeQlJQEu92O\nQ4cOrXqNL1vRvhZR9vPPP4vPPvtMCCHEnTt3xEcffaQdC4VC4r333hPT09NiZmZGHDhwQPh8vmiX\nFFGkeoUQor6+Xvz555+xKO21WltbRVlZmSgvL5+zf7XP71qZ60h1Pn36VJSUlIhgMCiEEKKurk70\n9PTEpE4h9H8fhRDixx9/FBUVFeLs2bOrXZ4mUp2qqooPPvhATExMCCGEuHr1qrh//37c1SmEELt2\n7RJPnjwRMzMz2u9rrKx0X0f9cmWht/OZTCbtdr5YilQvANy9exetra2oqqrC999/H4sS58nJyUFz\nc/O8/at9ftfKXEeq02Qy4cqVK0hLSwMAhMPhmFyBztL7fbx9+zZGRkbgcDhiUZ4mUp0PHjxARkYG\nLl68iMOHD2N6ejpm74b1zuc777yDf//9F6FQCEIIGAyGWJQJYOX7Ouph/7pb82aPvep2vliKVC8A\n7Nu3Dy6XC5cuXcLw8DD6+/tjUeYce/funXcHDLD653etzHWkOpOSkrBx40YAQFtbG4LBIHbt2hWT\nOoHItf799984d+4cGhoaYlWeJlKdT548wZ07d3D48GFcuHABv//+O3777be4qxMA8vLyYLfbsW/f\nPuzevRtvvvlmLMoEsPJ9HfWwX8rtfLEUqV4hBGpqapCZmQmTyYTi4mKMjo7GqlRdq31+18pc690u\nqqoqzpw5g8HBQTQ3N8f06i5SrTdu3MCTJ09w/PhxtLa2oru7G9evX4+7OjMyMmCxWJCbm4t169ah\nqKjolV++i3WdY2Nj+PXXX9Hb24u+vj48fvwYP/30U0zqjGSpvRT1sF/K7XyxFKlev9+PsrIyBAIB\nCCFw8+bNJX25YbWs9vldK3Otd7toQ0MDZmZmcP78ee3jnFiJVKvT6cT169fR1taG48ePo6ysDAcO\nHIi7Ot966y0EAgHt7yYNDQ0hLy8v7upMT09HamoqUlJSYDQakZmZiX/++ScmdUay1F7S/VLVcpWW\nlmJwcBCVlZXarXldXV3a7XwnT55EbW2tdjvfpk2bol3Ssuqtq6uD0+mEyWTCzp07UVxcHNN6XyVW\n53etzHWkOm02Gzo6OlBYWIiamhoA/4VqaWlp3NUa68/pX6ZX51dffYX6+noIIbB9+3bs3r07Lut0\nOBw4dOgQ1q1bh5ycHOzfvz8mdb7Kcnsp6rdeEhFR7PHv2RMRSYBhT0QkAYY9EZEEGPZERBJg2BMR\nSYBhT0QkAYY9EZEEGPZERBJg2BMRSYBhT0QkAYY9EZEEGPZERBJg2BMRSWBBYT8yMoIjR47M29/X\n1we73Q6Hw4GrV68C+G8xgIaGBjgcDhw5ckT7G9ZEFH/Y2/LQ/Xv2P/zwAzo7O+ct4vD8+XM0NTWh\no6MDaWlpqKqqwp49e3D79m2EQiG0t7dDURR4PB60tLRE7QUQ0dKwt+WiG/azi95++umnc/a/vOgt\nAG3RW0VRIi7oCwDPnj2D1+tFVlYWjEbjSrwOImm9ePECPp8PNpsNqampCx7H3l57ljrXwALCfu/e\nvZiampq3/3WL3r5uQd+X1/j0er2orq5eVKFEFNnly5dRWFi44Mezt9euxc41sIxlCV+36K3eYs4A\nkJWVpRW8efPmpZZARAAePnyI6upqra+Wi70dv5Yz10sO+5cXvX3jjTcwNDSE2tpaGAwG9Pf34/33\n33/lYs4AtLd3mzdvRnZ29lJLIKKXrNTHJuzt+LeUuV502OstevuqBX2JKP6xtxNbTBYcn5qaQklJ\nCXp7e/mvP9EyxVM/xVMtiWg555dfqiIikgDDnohIAgx7IiIJMOyJiCTAsCcikgDDnohIAgx7IiIJ\nMOyJiCTAsCcikgDDnohIAgx7IiIJMOyJiCTAsCcikgDDnohIAgx7IiIJMOyJiCSgu1KVqqpwuVwY\nHx+HyWRCY2MjLBYLAMDn8+HEiRPaY//66y/U19ejqqoK+/fv1xYnzs7ORlNTU5ReAhEtFvtaPrph\n39PTg1AohPb2diiKAo/Hg5aWFgD/LS7c1tYGALhz5w6+/fZbVFRUYGZmBkII7RgRxRf2tXx0P8YZ\nHh5GUVERACA/Px9er3feY4QQ+PLLL+FyuWA0GjE2NoanT5/i6NGjcDqdUBRl5SsnoiVjX8tH98re\n7/drb9uA/1Y1D4fDSE7+39C+vj7k5eVh27ZtAIDU1FTU1taivLwcExMTOHbsGG7cuDFnDBHFDvta\nPrqzZDabEQgEtG1VVedNbmdnJ5xOp7a9detWWCwWGAwGbN26FRkZGfD5fNiyZcsKlk5ES8W+lo/u\nxzgFBQUYGBgAACiKAqvVOu8xXq8XBQUF2nZHRwc8Hg8A4NGjR/D7/cjKylqpmolomdjX8tG9si8t\nLcXg4CAqKyshhIDb7UZXVxeCwSAcDgceP34Ms9kMg8GgjTl48CBOnTqFqqoqGAwGuN1uvtUjiiPs\na/kYhBBitZ90amoKJSUl6O3tRXZ29mo/PVFCiad+iqdaEtFyzi+/VEVEJAGGPRGRBBj2REQSYNgT\nEUmAYU9EJAGGPRGRBBj2REQSYNgTEUmAYU9EJAGGPRGRBBj2REQSYNgTEUmAYU9EJAGGPRGRBBj2\nREQS0F15QFVVuFwujI+Pw2QyobGxERaLRTt+8eJFXLt2DZmZmQCA06dP4+233444hohii30tH92w\n7+npQSgUQnt7OxRFgcfjQUtLi3bc6/XizJkzsNls2r5ffvkl4hgiii32tXx0w354eBhFRUUAgPz8\nfHi93jnH7969i9bWVvh8PuzevRsffvih7hgiii32tXx0w97v98NsNmvbRqMR4XBYW3ty3759OHTo\nEMxmMz7++GP09/frjiGi2GJfy0d3lsxmMwKBgLatqqo2uUII1NTUID09HQBQXFyM0dHRiGOIKPbY\n1/LRvRunoKAAAwMDAABFUWC1WrVjfr8fZWVlCAQCEELg5s2bsNlsEccQUeyxr+Wj+89yaWkpBgcH\nUVlZCSEE3G43urq6EAwG4XA4UFdXB6fTCZPJhJ07d6K4uBiqqs4bQ0Txg30tH4MQQqz2k05NTaGk\npAS9vb3Izs5e7acnSijx1E/xVEsiWs755ZeqiIgkwLAnIpIAw56ISAIMeyIiCTDsiYgkwLAnIpIA\nw56ISAIMeyIiCTDsiYgkwLAnIpIAw56ISAIMeyIiCTDsiYgkwLAnIpIAw56ISAIMeyIiCeiuVKWq\nKlwuF8bHx2EymdDY2AiLxaId7+7uxqVLl2A0GmG1WuFyuZCUlIT9+/drixNnZ2ejqakpeq+CiBaF\nfS0f3bDv6elBKBRCe3s7FEWBx+NBS0sLAODZs2f47rvv0NXVhbS0NJw4cQL9/f149913IYRAW1tb\n1F8AES0e+1o+uh/jDA8Po6ioCACQn58Pr9erHTOZTLhy5QrS0tIAAOFwGCkpKRgbG8PTp09x9OhR\nOJ1OKIoSpfKJaCnY1/LRvbL3+/3a2zYAMBqNCIfDSE5ORlJSEjZu3AgAaGtrQzAYxK5du3Dv3j3U\n1taivLwcExMTOHbsGG7cuIHkZN2nI6JVwL6Wj+4smc1mBAIBbVtV1TmTq6oqzp49iwcPHqC5uRkG\ngwFbt26FxWLRfs7IyIDP58OWLVui8yqIaFHY1/LR/RinoKAAAwMDAABFUWC1Wuccb2howMzMDM6f\nP6+97evo6IDH4wEAPHr0CH6/H1lZWStdOxEtEftaPrpX9qWlpRgcHERlZSWEEHC73ejq6kIwGITN\nZkNHRwcKCwtRU1MDAHA6nTh48CBOnTqFqqoqGAwGuN1uvtUjiiPsa/nozlRSUhK++OKLOftyc3O1\nn8fGxl457ptvvllmaUQULexr+fBLVUREEmDYExFJgGFPRCQBhj0RkQQY9kREEmDYExFJgGFPRCQB\nhj0RkQQY9kREEmDYExFJgGFPRCQBhj0RkQQY9kREEmDYExFJgGFPRCQBhj0RkQR0w15VVTQ0NMDh\ncODIkSOYnJycc7yvrw92ux0OhwNXr15d0Bgiii32tXx0V6rq6elBKBRCe3s7FEWBx+NBS0sLAOD5\n8+doampCR0cH0tLSUFVVhT179uD27duvHQMAL168AAA8fPgwSi+LSB6zfTTbVwsRjb5+uQb2dnQs\nZa5n6Yb98PAwioqKAAD5+fnwer3asfv37yMnJwcbNmwAAOzYsQO3bt2CoiivHQMAPp8PAFBdXb3o\ngono1Xw+HywWy4IeG42+nq0BYG9H22LmepZu2Pv9fpjNZm3baDQiHA4jOTkZfr8f6enp2rH169fD\n7/dHHAMANpsNly9fRlZWFoxG46IKJqK5Xrx4AZ/PB5vNtuAx0ehrgL0dbUuZ61m6YW82mxEIBLRt\nVVW1yf3/xwKBANLT0yOOAYDU1FQUFhYuulgierXFXuVFo68B9vZqWOxcz9L9H7QFBQUYGBgAACiK\nAqvVqh3Lzc3F5OQkpqenEQqFMDQ0hO3bt0ccQ0Sxx76Wj0EIISI9QFVVuFwu3Lt3D0IIuN1ujI6O\nIhgMwuFwoK+vD+fOnYMQAna7HdXV1a8ck5ubu1qviYh0sK/loxv2yzX7CzI+Pg6TyYTGxsY5b0Nm\nf6mSk5Nht9tRUVERzXKWXGd3dzcuXboEo9EIq9UKl8uFpKTV/5qCXp2zPv/8c2zYsAGffPLJqtc4\nS6/WP/74Ax6PB0IIZGVl4ezZs0hJSYm7Ojs7O3HhwgUkJSXBbrfj0KFDq17jy0ZGRvD111+jra1t\nzv7V7KW10tez9Oq9ePEirl27hszMTADA6dOnsW3btliVq1nRuRZR9vPPP4vPPvtMCCHEnTt3xEcf\nfaQdC4VC4r333hPT09NiZmZGHDhwQPh8vmiXtOg6nz59KkpKSkQwGBRCCFFXVyd6enrirs5ZP/74\no6ioqBBnz55d7fLmiFSrqqrigw8+EBMTE0IIIa5evSru378fd3UKIcSuXbvEkydPxMzMjPb7Giut\nra2irKxMlJeXz9m/2r20Vvp6lt4c19fXiz///DMWpb3WSs911C9NF3qLl8lk0m7xioVIdZpMJly5\ncgVpaWkAgHA4HJMrUL06AeD27dsYGRmBw+GIRXlzRKr1wYMHyMjIwMWLF3H48GFMT0/H7EpK75y+\n8847+PfffxEKhSCEgMFgiEWZAICcnBw0NzfP27/avbRW+nqW3hzfvXsXra2tqKqqwvfffx+LEudZ\n6bmOeti/7nat2WOvusUrFiLVmZSUhI0bNwIA2traEAwGsWvXrrir8++//8a5c+fQ0NAQk9r+v0i1\nPnnyBHfu3MHhw4dx4cIF/P777/jtt9/irk4AyMvLg91ux759+7B79268+eabsSgTALB37955d8AA\nq99La6WvZ+nN8b59++ByuXDp0iUMDw+jv78/FmXOsdJzHfWwX8otXrGgd1uZqqo4c+YMBgcH0dzc\nHLOru0h13rhxA0+ePMHx48fR2tqK7u5uXL9+PSZ1ApFrzcjIgMViQW5uLtatW4eioqJXfkkn1nWO\njY3h119/RW9vL/r6+vD48WP89NNPMakzktXupbXS17Mi1SuEQE1NDTIzM2EymVBcXIzR0dFYlapr\nqec36mG/lFu8YkHvtrKGhgbMzMzg/Pnz2sc5sRCpTqfTievXr6OtrQ3Hjx9HWVkZDhw4EKtSI9b6\n1ltvIRAIaH9fZWhoCHl5eXFXZ3p6OlJTU5GSkgKj0YjMzEz8888/MakzktXupbXS17Mi1ev3+1FW\nVoZAIAAhBG7evLmkLy2tlqWeX90vVS1XaWkpBgcHUVlZqd2u1dXVpd3idfLkSdTW1mq3eG3atCna\nJS26TpvNho6ODhQWFqKmpgbAf8FaWloaV3XGw+f0L9Or9auvvkJ9fT2EENi+fTt2794dl3U6HA4c\nOnQI69atQ05ODvbv3x+TOl8lVr20Vvp6ofXW1dXB6XTCZDJh586dKC4ujmm9r7Lc8xv1Wy+JiCj2\n+PfsiYgkwLAnIpIAw56ISAIMeyIiCTDsiYgkwLAnIpIAw56ISAL/B3T2mCrv2tDKAAAAAElFTkSu\nQmCC\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "plt.subplot(grid[0, 0])\n", "plt.subplot(grid[0, 1:])\n", "plt.subplot(grid[1, :2])\n", "plt.subplot(grid[1, 2]);" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "This type of flexible grid alignment has a wide range of uses.\n", "I most often use it when creating multi-axes histogram plots like the ones shown here:" ] }, { "cell_type": "code", "execution_count": 10, "metadata": {}, "outputs": [ { "data": { "image/png": "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\nBSYnJ1Gr1cJV4ff7qVQqIo5VFlY5+U+n05FIJKhUKuj1emGp0+v1NDY2iuo8l8sxOzvL8vIyarVa\nHDImk0kxbCO3gWTRb2pqEgM58mHpwYMHyWazeDwekecdi8VEnzwajeLz+TCbzdjtdlpbWxkYGBB9\n/63Edr24y/sf1/8+9iuKYCvsK7Z6+ywLuew4WC/I61smcoZ1MpkUrY71QpxMJkUGxlb90kqlwjvv\nvCOmDuXhllgsRnNz84ZoUp1OR1tbGzqdjnw+T7VaFYMhskVPtuDpdDqcTidms5lLly7h8/lob28n\nk8kwODjI/Pw8S0tLohI2mUwbBl9qtRpGo5FUKsXTTz9NR0cH09PTYqpRpVKRSCTE7kN5wrBcLos2\niFarpVwuMzg4KNwjarVaLNmtVqvC8tfX14fVahUPwWw2y7Vr17Db7bhcLsrlMi6XC5/Px6VLlygW\ni4yPj+NwOMTSYZVKJX4HsPXm+cHBQbFU+Fbivp9QBFvhkWC942C7lol8uLc5PF+u5ABcLpcIh4KN\nPe/BwUECgYAQjfn5eTwej8j3kL3YAFarFUmSiMfjqNVqXC4XHo9HVJqRSETY23Q6HYcOHaJer2M0\nGkkkElgsFtRqtdinmEwmRdW83lXS0tIiluPWajXGx8e5evUqtVpNVP6ZTEas2ZIHf+SKWxb+YrFI\noVBgYmJCuEr0ej31ep2mpibGxsbI5/NcvnxZJAlms1mxhcdisaBSqYhEIqKvfvz4caLRKJIkMTs7\nyxNPPIHNZmN1dZV8Po/L5RL3eP27HDm1b2RkhObmZnHt++FQ8XYogq3wyHC7lsnS0hI6nY7h4WFR\nsXk8nm0ruc0HXwcPHhSB/JlMhkqlImJS29vbyWazOJ1OWltbSaVSwpVhMBhE1djY2IjD4UCr1YrK\nVq78ZVeHHArV0NDA2NgY4+Pj+P1+Yd+TnSClUom1tTUMBoPI6ZDdJ/LSAzmTW27L6HQ6sTNS3qgj\n996tVitqtRqHwwFAf38/zz77LGazmcXFRfR6PXq9XuxplPdHTk1N8eKLL2I0Gunu7sbj8RAIBCiX\ny4RCIbRaLcViUWydkfc11mo1sYYtEolgtVo3pPZtldC333lggv2tb30LUNwiCp8ut2qZhEIhMdVX\nLpfFKLn8Nn12dlYEJwEiKlSeJrx48SJ2u522tjZKpRJ+vx+/34/NZsPpdIrRcHkPpLy+y2QyUSqV\n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\nkC1f8VLWQwAAAABJRU5ErkJggg==\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# Create some normally distributed data\n", "mean = [0, 0]\n", "cov = [[1, 1], [1, 2]]\n", "x, y = np.random.multivariate_normal(mean, cov, 3000).T\n", "\n", "# Set up the axes with gridspec\n", "fig = plt.figure(figsize=(6, 6))\n", "grid = plt.GridSpec(4, 4, hspace=0.2, wspace=0.2)\n", "main_ax = fig.add_subplot(grid[:-1, 1:])\n", "y_hist = fig.add_subplot(grid[:-1, 0], xticklabels=[], sharey=main_ax)\n", "x_hist = fig.add_subplot(grid[-1, 1:], yticklabels=[], sharex=main_ax)\n", "\n", "# scatter points on the main axes\n", "main_ax.plot(x, y, 'ok', markersize=3, alpha=0.2)\n", "\n", "# histogram on the attached axes\n", "x_hist.hist(x, 40, histtype='stepfilled',\n", " orientation='vertical', color='gray')\n", "x_hist.invert_yaxis()\n", "\n", "y_hist.hist(y, 40, histtype='stepfilled',\n", " orientation='horizontal', color='gray')\n", "y_hist.invert_xaxis()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "This type of distribution plotted alongside its margins is common enough that it has its own plotting API in the Seaborn package; see [Visualization With Seaborn](04.14-Visualization-With-Seaborn.ipynb) for more details." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "\n", "< [Customizing Colorbars](04.07-Customizing-Colorbars.ipynb) | [Contents](Index.ipynb) | [Text and Annotation](04.09-Text-and-Annotation.ipynb) >" ] } ], "metadata": { "anaconda-cloud": {}, "kernelspec": { "display_name": "Python 3", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.6.1" } }, "nbformat": 4, "nbformat_minor": 1 }