Skip to content

Instantly share code, notes, and snippets.

@davipatti
Created February 18, 2019 13:37
Show Gist options
  • Save davipatti/bf2461bd9bc786fb990a0fd46ea7629b to your computer and use it in GitHub Desktop.
Save davipatti/bf2461bd9bc786fb990a0fd46ea7629b to your computer and use it in GitHub Desktop.
Demonstrating matplotlib subplots, list and dict comprehension to Sam and Caitlin
Display the source blob
Display the rendered blob
Raw
{
"cells": [
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Subplots in matplotlib"
]
},
{
"cell_type": "code",
"execution_count": 1,
"metadata": {},
"outputs": [],
"source": [
"import matplotlib.pyplot as plt"
]
},
{
"cell_type": "code",
"execution_count": 2,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 432x288 with 2 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"fig, axes = plt.subplots(nrows=1, ncols=2, sharex=True, sharey=True)\n",
"\n",
"ax0 = axes[0]\n",
"ax1 = axes[1]\n",
"\n",
"ax0.scatter([0, 1, 2], [0, 1, 2])\n",
"\n",
"ax1.plot([1, 2, 3], [4, 7, 8])\n",
"\n",
"ax0.text(1, 1, \"Hello\");"
]
},
{
"cell_type": "code",
"execution_count": 3,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 432x288 with 2 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"# No shared x or y axis\n",
"fig, axes = plt.subplots(nrows=1, ncols=2)\n",
"\n",
"ax0 = axes[0]\n",
"ax1 = axes[1]\n",
"\n",
"ax0.scatter([0, 1, 2], [0, 1, 2])\n",
"\n",
"ax1.plot([1, 2, 3], [4, 7, 8])\n",
"\n",
"ax0.text(1, 1, \"Hello\");"
]
},
{
"cell_type": "code",
"execution_count": 4,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 432x288 with 6 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"# Iterating over axes\n",
"fig, axes = plt.subplots(nrows=2, ncols=3, sharex=True, sharey=True)\n",
"\n",
"for ax, s in zip(fig.axes, \"abcdef\".upper()):\n",
" ax.text(0, 0, s=s)\n",
"\n",
"ax.set_xlim(-1, 1)\n",
"ax.set_ylim(-1, 1);"
]
},
{
"cell_type": "code",
"execution_count": 5,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"array([[<matplotlib.axes._subplots.AxesSubplot object at 0x7f2766e135f8>,\n",
" <matplotlib.axes._subplots.AxesSubplot object at 0x7f2766e35eb8>,\n",
" <matplotlib.axes._subplots.AxesSubplot object at 0x7f2766de5198>],\n",
" [<matplotlib.axes._subplots.AxesSubplot object at 0x7f2766d8c470>,\n",
" <matplotlib.axes._subplots.AxesSubplot object at 0x7f2766db6748>,\n",
" <matplotlib.axes._subplots.AxesSubplot object at 0x7f2766d5da20>]],\n",
" dtype=object)"
]
},
"execution_count": 5,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# 2D array\n",
"axes"
]
},
{
"cell_type": "code",
"execution_count": 6,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"[<matplotlib.axes._subplots.AxesSubplot at 0x7f2766e135f8>,\n",
" <matplotlib.axes._subplots.AxesSubplot at 0x7f2766e35eb8>,\n",
" <matplotlib.axes._subplots.AxesSubplot at 0x7f2766de5198>,\n",
" <matplotlib.axes._subplots.AxesSubplot at 0x7f2766d8c470>,\n",
" <matplotlib.axes._subplots.AxesSubplot at 0x7f2766db6748>,\n",
" <matplotlib.axes._subplots.AxesSubplot at 0x7f2766d5da20>]"
]
},
"execution_count": 6,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# 1D array\n",
"fig.axes"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# List comprehension"
]
},
{
"cell_type": "code",
"execution_count": 7,
"metadata": {},
"outputs": [],
"source": [
"def square(x):\n",
" return x * x"
]
},
{
"cell_type": "code",
"execution_count": 8,
"metadata": {},
"outputs": [],
"source": [
"values = [0, 1, 2, 3, 4]"
]
},
{
"cell_type": "code",
"execution_count": 9,
"metadata": {},
"outputs": [],
"source": [
"square_values = []\n",
"for v in values:\n",
" square_values.append(square(v))"
]
},
{
"cell_type": "code",
"execution_count": 10,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"[0, 1, 4, 9, 16]"
]
},
"execution_count": 10,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"square_values"
]
},
{
"cell_type": "code",
"execution_count": 11,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"[0, 1, 4, 9, 16]"
]
},
"execution_count": 11,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"[square(f) for f in values]"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Dictionary comprehension"
]
},
{
"cell_type": "code",
"execution_count": 12,
"metadata": {},
"outputs": [],
"source": [
"squared = {}\n",
"for v in values:\n",
" squared[v] = square(v)"
]
},
{
"cell_type": "code",
"execution_count": 13,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"{0: 0, 1: 1, 2: 4, 3: 9, 4: 16}"
]
},
"execution_count": 13,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"squared"
]
},
{
"cell_type": "code",
"execution_count": 14,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"{0: 0, 1: 1, 2: 4, 3: 9, 4: 16}"
]
},
"execution_count": 14,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"{v: square(v) for v in values}"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": []
}
],
"metadata": {
"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.7"
}
},
"nbformat": 4,
"nbformat_minor": 2
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment