{
"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": {
"collapsed": false
},
"outputs": [
{
"data": {
"image/png": "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\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": {
"collapsed": false
},
"outputs": [
{
"data": {
"image/png": "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\nmMb/A681T5mxFqFRAAAAAElFTkSuQmCC\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": {
"collapsed": false
},
"outputs": [
{
"data": {
"image/png": "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\nYII=\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": {
"collapsed": false
},
"outputs": [
{
"data": {
"image/png": "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\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": {
"collapsed": false
},
"outputs": [
{
"data": {
"image/png": "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\nc0eBQMD1ex0dHVVBQYE6OjoUDAb16NEjbdmyJeXadu7cqUePHmlmZkaS5PF4HOsrLS3VhQsXlh1P\nZVMZfV2QbF8TqS/Z3mZrX53WS7a39HVBqptA0xrs6dzMtNJaHo9HhYWFkqTOzk5NT09r7969KdcW\ni8XU1tamhoYGmQR/l7zSeg8ePNDQ0JCCwaA6Ojp0/fp13bhxI6W1JGn79u06fPiwfv/736uqqko+\nn8+xPr/f/6v/oyGVTWX0NbW+Oq0nJd/bbO2r03rJ9pa+/vrPSXQTaFqD3e1mpkTXkhbucZ09e1b/\n/ve/1dbW5qq2K1eu6OHDhzp58qT+9re/qbe3V//85z9TXq+goEAlJSUqKytTTk6OKisrl/2Lnuha\n0WhU/f39ikQiikQiun//vq5ever4flf6Wcn0wak++vryvjqtl87ernZfndaTkustff3l5yTbBynN\nwV5eXq6BgQFJWnEz0+zsrAYHB/W73/0upbUk6cyZM3r27Jna29vjH+9SrS0YDOof//iHLl68qD/+\n8Y+qrq7WwYMHU16vuLhYT548if9C5ebNm9q2bVtKa23YsEHr16+X1+uNX/VMTEw4vt9FL17RJNsH\np/ro68v76rSem95mW1+d1pOS6y19XZBKH6QEdp4mw+/369q1a/H7Xi0tLert7Y1vZjp9+rSOHz8u\nY4zq6uq0adOmlNbatWuXenp6VFFRoWAwKI/Ho1AopP3796dcW7rfa3Nzs06dOiVJ2rNnj/bt25fy\nWov/k8Dr9aqkpEQ1NTUJ17l4by/VPiRSH31Nfb1Ue5ttfXVaL9ne0tfU+yCxQQkArMMGJQCwDMEO\nAJYh2AHAMgQ7AFiGYAcAyxDsAGAZgh0ALEOwA4Bl/geCfAZdGJx+pQAAAABJRU5ErkJggg==\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": {
"collapsed": false
},
"outputs": [
{
"data": {
"image/png": "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\nvvmiAAAAAElFTkSuQmCC\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": {
"collapsed": false
},
"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": {
"collapsed": false
},
"outputs": [
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAXYAAAD/CAYAAADllv3BAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAGBpJREFUeJzt3W9I1ef/x/HXWXa0dRoiM4JNzfWHoGBLB4OGJKwDwRzL\nzDolxxtFg90auDvrRupuiNZYN4Z5Yxs4ck2HzG0hrMY42o0aIZGVG7gR0oQRHFyplf93/W6E5zvn\n8qjn+hz1+j0fd6rz8Xx86/V5vzh+8jpvnzHGCADgjGeWugAAgF0EOwA4hmAHAMcQ7ADgGIIdABxD\nsAOAY+YV7Ddv3lQ4HJ71eCQS0YEDBxQKhdTa2mq9OCwN1htY2VLifcDnn3+u77//XmvXrp3x+OTk\npOrq6tTW1qbU1FQdPnxYb7zxhjIyMjwrFt5jvYGVL+4r9pycHJ09e3bW43fu3FFOTo4CgYBWr16t\n/Px8dXV1eVIkkof1Bla+uMEeDAa1atWqWY8/fPhQ69ati/177dq1Gh4etlsdko71Bla+uLdiniYQ\nCOjhw4exfz969EjPPffcrI8bHR1VT0+PMjMz/zMwkJipqSlFo1Ht2LFDaWlpnn0e1htIrkR6e97B\n/u+3lNm0aZPu3r2roaEhpaWlqaurS8eOHZv1vJ6eHpWVlS2oKCzc+fPn9eqrr1o7H+sNLA+L6e15\nB7vP55Mktbe3a2RkRKWlpTpx4oSOHj0qY4xKS0u1fv36Wc/LzMyMFbdhw4YFFYf47t27p7Kystj3\n2RbWG1haifT2vIL9hRdeUEtLiySpqKgo9nhhYaEKCwvnfO70j+MbNmzQiy++uOACMT82b3uw3sDy\nsZjeZoMSADiGYAcAxxDsAOAYgh0AHEOwA4BjCHYAcAzBDgCOIdgBwDEEOwA4hmAHAMcQ7ADgGIId\nABwTN9iNMaqqqlIoFFJ5ebn6+/tnHL9w4YL279+v0tJSNTc3e1YovMdaA26I++6OP/30k8bHx9XS\n0qKbN2+qtrZWDQ0NseOnT5/WDz/8oLS0NL355psqKiqaMWkHKwdrDbghbrBfv35dBQUFkqSXX35Z\nPT09M45v27ZNg4ODsffvnv4TKw9rDbghbrD/e9ZlSkqK/v77bz3zzJO7OFu2bFFJSYmeffZZBYNB\nBQIB76qFp1hrwA1x77EHAgE9evQo9u9/Nnpvb686OzsViUQUiUQ0MDCgS5cueVctPMVaA26IG+x5\neXm6fPmyJKm7u1tbt26NHVu3bp3WrFkjv98vn8+njIwMDQ0NeVctPMVaA26IeysmGAzqypUrCoVC\nkqTa2toZczAPHjyoI0eOyO/3Kzs7W8XFxZ4XDW+w1oAb4ga7z+fThx9+OOOx3Nzc2N9DoVAsCLCy\nsdaAG9igBACOIdgBwDEEOwA4hmAHAMcQ7ADgGIIdABxDsAOAYwh2AHAMwQ4AjiHYAcAxBDsAOCbu\ne8UYY1RdXa3e3l75/X7V1NQoKysrdvzWrVs6deqUJOn555/XRx99JL/f713F8AxrDbgh7iv2f45L\ne//991VbWzvjeGVlperq6nT+/HkVFBTozz//9KxYeIu1BtyQ0Gi8vr4+paenq7GxUb///rsKCwu1\nceNGz4qFt1hrwA1xX7E/bVyaJN2/f1/d3d0Kh8NqbGzU1atXde3aNe+qhadYa8ANCY3GS09PV3Z2\ntnJzc5WSkqKCgoJZA5CxcrDWgBsSGo2XlZWlx48fq7+/X9KTH+U3b97sUanwGmsNuCHh0Xg1NTWq\nqKiQJO3cuVO7d+/2tmJ4hrUG3JDwaLzXXntNra2t9itD0rHWgBvYoAQAjiHYAcAxBDsAOIZgBwDH\nEOwA4BiCHQAcQ7ADgGMIdgBwDMEOAI4h2AHAMQQ7ADgmbrAbY1RVVaVQKKTy8vLYu/v9W2Vlpc6c\nOWO9QCQPaw24IeHReJLU0tKi3377zZMCkTysNeCGuME+17g0Sbpx44Zu374de6tXrFysNeCGhEbj\nRaNR1dfXq7KyUsYY76pEUrDWgBvivh/7XOPSLl68qAcPHuj48eOKRqMaGxvTSy+9pH379nlXMTzD\nWgNuiBvseXl56ujo0N69e2eNSwuHwwqHw5Kkb7/9Vn19fTT6CsZaA25IeDQe3MFaA25IeDTetOLi\nYntVYUmw1oAb2KAEAI4h2AHAMQQ7ADiGYAcAxxDsAOAYgh0AHEOwA4BjCHYAcAzBDgCOIdgBwDEE\nOwA4hmAHAMfEfRMwY4yqq6vV29srv9+vmpoaZWVlxY63t7fr3LlzSklJ0datW1VdXe1lvfAQaw24\nIaGZp2NjY/rkk0/05Zdf6quvvtLw8LA6Ojo8LRjeYa0BNyQ089Tv96ulpUV+v1+SNDk5qdTUVI9K\nhddYa8ANCc089fl8ysjIkCQ1NTVpZGREu3bt8qhUeI21BtyQ0MxT6cl92dOnT+vu3buqr6/3pkok\nBWsNuCHuK/a8vDxdvnxZkmbNwZSkkydPamJiQg0NDbEf07EysdaAGxKaebp9+3a1tbUpPz9f4XBY\nPp9P5eXl2rNnj+eFwz7WGnBDwjNPf/31V/tVYUmw1oAb2KAEAI4h2AHAMQQ7ADiGYAcAxxDsAOAY\ngh0AHEOwA4BjCHYAcAzBDgCOIdgBwDEEOwA4Jm6wG2NUVVWlUCik8vJy9ff3zzgeiUR04MABhUIh\ntba2elYovMdaA25IaDTe5OSk6urq9MUXX6ipqUlff/21/vrrL08LhndYa8ANCY3Gu3PnjnJychQI\nBLR69Wrl5+erq6vLu2rhKdYacENCo/H+fWzt2rUaHh72oEwkA2sNuCGh0XiBQEAPHz6MHXv06JGe\ne+65Gc+fmpqSJN27d89KwZhp+vs6/X1ORKJr/c86WG8gMYn0dtxgz8vLU0dHh/bu3TtrXNqmTZt0\n9+5dDQ0NKS0tTV1dXTp27NiM50ejUUlSWVnZgovD/EWjUeXk5CR0jkTXeroOifUGbFlMb/uMMWau\nDzDGqLq6Wr29vZKejEv75ZdfNDIyotLSUnV2dqq+vl7GGB04cECHDx+e8fzR0VH19PQoMzNTq1at\nWuCXhHimpqYUjUa1Y8cOpaWlJXSuRNdaYr0BWxLp7bjBDgBYWdigBACOsRrsNja4xDtHe3u7Dh48\nqCNHjqi6unrRtUyrrKzUmTNnFnWOW7duqaysTGVlZXrvvfc0Pj6+qPNcuHBB+/fvV2lpqZqbm5/6\nNUnSzZs3FQ6HZz2e7M1DK2Uzk63rKRlsXLPJYKsvlrrOhfRdMljtbWPRjz/+aD744ANjjDHd3d3m\n3XffjR2bmJgwwWDQDA8Pm/HxcVNSUmIGBgYWdI7R0VETDAbN2NiYMcaYiooKE4lEFlzLtObmZnPo\n0CHz8ccfL+ocb7/9tvnjjz+MMca0traavr6+RZ3n9ddfN0NDQ2Z8fNwEg0EzNDT0n+f57LPPTFFR\nkTl06NCMx+f7vbXJxlong63rKRlsXLPJYKsvvGar75LBdm9bfcVuY4PLXOfw+/1qaWmR3++X9GQ3\nZGpq6oJrkaQbN27o9u3bCoVCi/p6+vr6lJ6ersbGRoXDYQ0ODmrjxo2LqmXbtm0aHBzU2NiYJMnn\n8/3neXJycnT27NlZjy/F5qGVspnJ1vWUDDau2WSw1RdLWac0/75LBtu9bTXYbWxwmescPp9PGRkZ\nkqSmpiaNjIxo165dC64lGo2qvr5elZWVMnP83/Fc57h//766u7sVDofV2Nioq1ev6tq1aws+jyRt\n2bJFJSUleuutt1RYWKhAIPCf5wkGg//5myZLsXlopWxmsnU9JYONazYZbPXFUtYpzb/vksF2b1sN\ndhsbXOY6h/TkvtmpU6f0888/q76+flG1XLx4UQ8ePNDx48f16aefqr29Xd99992CzpGenq7s7Gzl\n5uYqJSVFBQUFs14RzOc8vb296uzsVCQSUSQS0cDAgC5duvTUr+tp55/P99YmG2udDLaup2Swcc0u\ndZ0L6YulrNNG3yXDYnvJarDn5eXp8uXLkjTnBpfx8XF1dXXplVdeWdA5JOnkyZOamJhQQ0ND7Efo\nhdYSDof1zTff6Ny5c3rnnXdUVFSkffv2LegcWVlZevz4cew/ZK5fv67NmzcvuJZ169ZpzZo18vv9\nsVeQQ0NDT/26JM16xTbf761NNtY6GWxdT8lg45pd6joX0hdLWedi+i4ZbPV23J2nCxEMBnXlypXY\nPcDa2lq1t7fHNricOHFCR48elTFGpaWlWr9+/YLOsX37drW1tSk/P1/hcFg+n0/l5eXas2fPgmux\n8fXU1NSooqJCkrRz507t3r17UeeZ/q0Mv9+v7OxsFRcXz1nX9L3AhX5vbbKx1slg63pa6lrne80m\ng62+WOo6F9p3yWCrt9mgBACOYYMSADiGYAcAxxDsAOAYgh0AHEOwA4BjCHYAcAzBDgCOIdgBwDEE\nOwA4hmAHAMcQ7ADgGIIdABwzr2BfLnM2AdhFb7sp7tv2fv755/r++++1du3aGY9PTk6qrq5ObW1t\nSk1N1eHDh/XGG2/EJtIAWN7obXfFfcW+nOZsArCH3nZX3GBfTnM2AdhDb7tr0ROU5juLb3R0VD09\nPcrMzPzPiwjA/E1NTSkajWrHjh1KS0vz5HPQ28tDIms972CfaxZfWlqaurq6dOzYsVnP6+npUVlZ\n2YKKAjC38+fP69VXX7VyLnp7eVvMWs872Bc7iy8zMzNW3IYNGxZUHICZ7t27p7Kyslhf2UBvL0+J\nrPW8gv2FF15QS0uLJKmoqCj2eGFhoQoLC+d87vSPaBs2bNCLL7644AIBzGbr1ge9vfwtZq3ZoAQA\njiHYAcAxBDsAOIZgBwDHEOwA4BiCHQAcQ7ADgGMIdgBwDMEOAI4h2AHAMQQ7ADiGYAcAx8QNdmOM\nqqqqFAqFVF5erv7+/hnHL1y4oP3796u0tFTNzc2eFQrAHvrabXHf3fGnn37S+Pi4WlpadPPmTdXW\n1qqhoSF2/PTp0/rhhx+UlpamN998U0VFRTOmrwBYfuhrt8UN9uvXr6ugoECS9PLLL6unp2fG8W3b\ntmlwcDD2ns7TfwJYvuhrt8UN9n/PP0xJSdHff/+tZ555chdny5YtKikp0bPPPqtgMKhAIOBdtQCs\noK/dFvceeyAQ0KNHj2L//ufi9/b2qrOzU5FIRJFIRAMDA7p06ZJ31QKwgr52W9xgz8vL0+XLlyVJ\n3d3d2rp1a+zYunXrtGbNGvn9fvl8PmVkZGhoaMi7agFYQV+7Le6tmGAwqCtXrigUCkmSamtrZ8xG\nPHjwoI4cOSK/36/s7GwVFxd7XjSAxNDXbosb7D6fTx9++OGMx3Jzc2N/D4VCsYsDwMpAX7uNDUoA\n4BiCHQAcQ7ADgGMIdgBwDMEOAI4h2AHAMQQ7ADiGYAcAxxDsAOAYgh0AHEOwA4Bj4r5XjDFG1dXV\n6u3tld/vV01NjbKysmLHb926pVOnTkmSnn/+eX300Ufy+/3eVQwgYfS12+K+Yv/nCK33339ftbW1\nM45XVlaqrq5O58+fV0FBgf7880/PigVgB33ttoRG4/X19Sk9PV2NjY36/fffVVhYqI0bN3pWLAA7\n6Gu3xX3F/rQRWpJ0//59dXd3KxwOq7GxUVevXtW1a9e8qxaAFfS12xIajZeenq7s7Gzl5uYqJSVF\nBQUFs4biAlh+6Gu3JTQaLysrS48fP1Z/f7+kJz/ebd682aNSAdhCX7st4dF4NTU1qqiokCTt3LlT\nu3fv9rZiAAmjr92W8Gi81157Ta2trfYrA+AZ+tptbFACAMcQ7ADgGIIdABxDsAOAYwh2AHAMwQ4A\njiHYAcAxBDsAOIZgBwDHEOwA4BiCHQAcQ7ADgGPiBrsxRlVVVQqFQiovL4+9lee/VVZW6syZM9YL\nBGAffe22hGeeSlJLS4t+++03TwoEYB997ba4wT7XbERJunHjhm7fvh17X2cAyx997baEZp5Go1HV\n19ersrJSxhjvqgRgFX3ttriDNuaajXjx4kU9ePBAx48fVzQa1djYmF566SXt27fPu4oBJIy+dlvc\nYM/Ly1NHR4f27t07azZiOBxWOByWJH377bfq6+tj8YEVgL52W8IzTwGsPPS12xKeeTqtuLjYXlUA\nPEVfu40NSgDgGIIdABxDsAOAYwh2AHAMwQ4AjiHYAcAxBDsAOIZgBwDHEOwA4BiCHQAcQ7ADgGPi\nvleMMUbV1dXq7e2V3+9XTU2NsrKyYsfb29t17tw5paSkaOvWraqurvayXgAW0NduS2g03tjYmD75\n5BN9+eWX+uqrrzQ8PKyOjg5PCwaQOPrabQmNxvP7/WppaZHf75ckTU5OKjU11aNSAdhCX7stodF4\nPp9PGRkZkqSmpiaNjIxo165dHpUKwBb62m0JjcaTntyrO336tO7evav6+npvqgRgFX3ttriv2PPy\n8nT58mVJmjVCS5JOnjypiYkJNTQ0xH50A7C80dduS2g03vbt29XW1qb8/HyFw2H5fD6Vl5drz549\nnhcOYPHoa7clPBrv119/tV8VAE/R125jgxIAOIZgBwDHEOwA4BiCHQAcQ7ADgGMIdgBwDMEOAI4h\n2AHAMQQ7ADiGYAcAxxDsAOCYuMFujFFVVZVCoZDKy8vV398/43gkEtGBAwcUCoXU2trqWaEA7KGv\n3ZbQaLzJyUnV1dXpiy++UFNTk77++mv99ddfnhYMIHH0tdsSGo13584d5eTkKBAIaPXq1crPz1dX\nV5d31QKwgr52W0Kj8f59bO3atRoeHvagTAA20dduS2g0XiAQ0MOHD2PHHj16pOeee27G86empiRJ\n9+7ds1Iw8P/ZdB9N99ViJdrX/6yB3vZGImsdN9jz8vLU0dGhvXv3zhqhtWnTJt29e1dDQ0NKS0tT\nV1eXjh07NuP50WhUklRWVrbg4gD8t2g0qpycnEU/P9G+nq5Bore9tpi19hljzFwfYIxRdXW1ent7\nJT0ZofXLL79oZGREpaWl6uzsVH19vYwxOnDggA4fPjzj+aOjo+rp6VFmZqZWrVq1wC8JwD9NTU0p\nGo1qx44dSktLW/R5Eu1rid72WiJrHTfYAQArCxuUAMAxVoN9pWx6iFdne3u7Dh48qCNHjqi6unpp\nilT8OqdVVlbqzJkzSa7uf+LVeevWLZWVlamsrEzvvfeexsfHl6jS+LVeuHBB+/fvV2lpqZqbm5eo\nyv+5efOmwuHwrMeT2Uu2+tpW39noC1vXrM3ryepaG4t+/PFH88EHHxhjjOnu7jbvvvtu7NjExIQJ\nBoNmeHjYjI+Pm5KSEjMwMGDz01upc3R01ASDQTM2NmaMMaaiosJEIpFlV+e05uZmc+jQIfPxxx8n\nu7yYeHW+/fbb5o8//jDGGNPa2mr6+vqSXWJMvFpff/11MzQ0ZMbHx00wGDRDQ0NLUaYxxpjPPvvM\nFBUVmUOHDs14PNm9ZKuvbfWdjb6wdc3aup5sr7XVV+wrZdPDXHX6/X61tLTI7/dLerILLzU1ddnV\nKUk3btzQ7du3FQqFlqK8mLnq7OvrU3p6uhobGxUOhzU4OKiNGzcuUaXxv6fbtm3T4OCgxsbGJEk+\nny/pNU7LycnR2bNnZz2e7F6y1de2+s5GX9i6Zm1dT7bX2mqwr5RND3PV6fP5lJGRIUlqamrSyMiI\ndu3atezqjEajqq+vV2VlpcwS///3XHXev39f3d3dCofDamxs1NWrV3Xt2rWlKnXOWiVpy5YtKikp\n0VtvvaXCwkIFAoGlKFOSFAwG//O3TZLdS7b62lbf2egLW9esrevJ9lpbDXYbmx6SYa46pSf3zU6d\nOqWff/5Z9fX1S1GipLnrvHjxoh48eKDjx4/r008/VXt7u7777rtlV2d6erqys7OVm5urlJQUFRQU\nzHpVk0xz1drb26vOzk5FIhFFIhENDAzo0qVLS1XqUyW7l2z1ta2+s9EXtq5Zr6+nxa611WDPy8vT\n5cuXJWnOTQ/j4+Pq6urSK6+8YvPTW6lTkk6ePKmJiQk1NDTEfjRcCnPVGQ6H9c033+jcuXN65513\nVFRUpH379i27OrOysvT48ePYfypdv35dmzdvXpI6pblrXbdundasWSO/3x97BTk0NLRUpcb8+5Vn\nsnvJVl/b6jsbfWHrmrV9Pdla67g7TxciGAzqypUrsXtbtbW1am9vj216OHHihI4ePSpjjEpLS7V+\n/Xqbn95Kndu3b1dbW5vy8/MVDofl8/lUXl6uPXv2LKs6S0tLk17P08Srs6amRhUVFZKknTt3avfu\n3cu21unfyvD7/crOzlZxcfGS1Tpt+r7sUvWSrb621Xc2+sLWNWv7erK11mxQAgDHsEEJABxDsAOA\nYwh2AHAMwQ4AjiHYAcAxBDsAOIZgBwDHEOwA4Jj/A4E669y4lMU8AAAAAElFTkSuQmCC\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": {
"collapsed": false
},
"outputs": [
{
"data": {
"image/png": "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\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.4.3"
}
},
"nbformat": 4,
"nbformat_minor": 0
}