notebooks/matplotlib.ipynb

749 lines
622 KiB
Plaintext
Raw Permalink Normal View History

2020-08-12 09:42:23 +00:00
{
"cells": [
{
"cell_type": "code",
"execution_count": 1,
"metadata": {},
"outputs": [],
"source": [
"import matplotlib.pyplot as plt\n",
"import numpy as np"
]
},
{
"cell_type": "code",
"execution_count": 2,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"[<matplotlib.lines.Line2D at 0x7fc1f0018d90>]"
]
},
"execution_count": 2,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"# create a figure containing a single axes\n",
"fig, ax = plt.subplots()\n",
"# plot some data on the axes\n",
"ax.plot([1, 2, 3, 4], [1, 4, 2, 3])"
]
},
{
"cell_type": "code",
"execution_count": 3,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"[<matplotlib.lines.Line2D at 0x7fc1eff84dc0>]"
]
},
"execution_count": 3,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"# plot on \"current\" axes\n",
"plt.plot([1, 2, 3, 4], [1, 4, 2, 3])"
]
},
{
"attachments": {
"image.png": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAyAAAAMgCAYAAADbcAZoAAAgAElEQVR4AeydCdxV0/rHpaQkEYUylOEqQi4pZWgyV0T9GyTKWNTNcI3NpsqUuLi4QnE1yaWMiUwlidCkKGOKqzRf0/P//NbxnLPOfveZ1znv2fv81ufzvvucvddee63vWvvs9dvPWs/aRhhIgARIgARIgARIgARIgARIoEAEtinQdXgZEiABEiABEiABEiABEiABEhAKEDYCEiABEiABEiABEiABEiCBghGgACkYal6IBEiABEiABEiABEiABEiAAoRtgARIgARIgARIgARIgARIoGAEKEAKhpoXIgESIAESIAESIAESIAESoABhGyABEiABEiABEiABEiABEigYAQqQgqHmhUiABEiABEiABEiABEiABChA2AZIgARIgARIgARIgARIgAQKRoACpGCoeSESIAESIAESIAESIAESIAEKELYBEiABEiABEiABEiABEiCBghGgACkYal6IBEiABEiABEiABEiABEiAAoRtgARIgARIgARIgARIgARIoGAEKEAKhpoXIgESIAESIAESIAESIAESoABhGyABEiABEiABEiABEiABEigYAQqQgqHmhUiABEiABEiABEiABEiABChA2AZIgARIgARIgARIgARIgAQKRoACpGCoeSESIAESIAESIAESIAESIAEKELYBEiABEiABEiABEiABEiCBghGgACkYal6IBEiABEiABEiABEiABEiAAoRtgARIgARIgARIgARIgARIoGAEKEAKhpoXIgESIAESIAESIAESIAESoABhGyABEiABEiABEiABEiABEigYAQqQgqHmhUiABEiABEiABEiABEiABChA2AZIgARIgARIgARIgARIgAQKRoACpGCoeSESIAESIAESIAESIAESIAEKELYBEiABEiABEiABEiABEiCBghGgACkYal6IBEiABEiABEiABEiABEiAAoRtgARIgARIgARIgARIgARIoGAEKEAKhpoXIgESIAESIAESIAESIAESoABhGyABEiABEiABEiABEiABEigYAQqQgqHmhUiABEiABEiABEiABEiABChA2AZIgARIgARIgARIgARIgAQKRoACpGCoeSESIAESIAESIAESIAESIAEKELYBEiABEiABEiABEiABEiCBghGgACkYal6IBEiABEiABEiABEiABEiAAoRtgARIgARIgARIgARIgARIoGAEKEAKhpoXIgESIAESIAESIAESIAESoABhGyABEiABEiABEiABEiABEigYAQqQgqHmhUiABEiABEiABEiABEiABChA2AZIgARIgARIgARIgARIgAQKRoACpGCoeSESIAESIAESIAESIAESIAEKELYBEiABEiABEiABEiABEiCBghGgACkYal6IBEiABEiABEiABEiABEiAAoRtgARIgARIgARIgARIgARIoGAEKEAKhpoXIgESIAESIAESIAESIAESoABhGyABEiABEiABEiABEiABEigYAQqQgqHmhUiABEiABEiABEiABEiABChA2AZIgARIgARIgARIgARIgAQKRoACpGCoeSESIAESIAESIAESIAESIAEKELYBEiABEiABEiABEiABEiCBghGgACkYal6IBEiABEiABEiABEiABEiAAoRtgARIgAQcE9iwYYO89dZbMnr0aDn33HPl+OOPlyZNmkjjxo2ladOm0qpVK7nkkkvkoYcekvnz58v//vc/xzlgciRAAiRAAiRQvAQoQIq3bpgzEiCBABFYt26djBkzxoiMChUqyDbbbCPbb7+9ER7dunWTCy64QC699FLp3bu3dO7cWQ455BDZdtttTbzKlStLy5Yt5d///jfFSIDqnFklARIgARLIjgAFSHbceBYJkAAJGAIfffSRXHzxxbLDDjtIpUqV5OyzzzaWjXnz5smWLVvkt99+S/j3888/y5tvvil33323sZJAtOy+++4ycOBA+eqrr0iYBEiABEiABEJJgAIklNXKQpEACeSbAMQDhAdEQ506dWTIkCFGNCQTHKmOLViwQPr27SvVq1c31pMRI0bIr7/+mu+iMH0SIAESIAESKCgBCpCC4ubFSIAEwkDglVdekX322Ud23HFHue+++3wtHRAO+Pvll18S/uG4nyhZu3atXHXVVWaI1tFHHy2LFi0KAzaWgQRIgARIgAQMAQoQNgQSIAESSJMAxESfPn2M1QMTyZcvXx4nIFR0YFJ5Jn9I10+MYCL7QQcdZKwh99xzT5q5ZDQSIAESIAESKG4CFCDFXT/MHQmQQJEQ2Lx5s7Rr10622247Y/WwBQM+Q0RkIjoSxfWKEXjU6t+/vxE91113nfzxxx9FQoTZIAESIAESIIHsCFCAZMeNZ5EACZQQga1bt8pJJ50kVatWlenTp5exeiQSE7nstwUOhmndfvvtRoRgaBZFSAk1PhaVBEiABEJIgAIkhJXKIpEACbgjgM7/WWedZYZBvfrqq1Hx4dLqkUiowBpizxHBMCxMer/55pvdFZApkQAJkAAJkECBCVCAFBg4L0cCJBAsAqNGjRKs6zF16tSoGID4SCQaXO/3DsmCty2IkNdeey1YIJlbEiABEiABEviTAAUImwIJkAAJJCAA71NYTPCKK64oF/GhYsa2hODzCSecIPvuu6+sX78+Qc7Dt3vatGlmGNyuu+4aXcCxRo0aRVvQH3/80Xgya9CggVSpUsWIRghHrPmCoEIS+xhIgARIoNQI8Jev1Gqc5SWBAhF4/fXXo50udLLeeeedAl3ZzWUw9Klp06byl7/8RTARHN8LaflQ8aFbW4QsW7ZMqlWrZjxyuSltcafyj3/8I64toT3hr1gFyLp16+TAAw/0zTMFSHG3NeaOBEigMAQoQArDmVchgZIj0KtXr7gO2CWXXBIoBnfccYcZeoWVynUeBkSACoLy2NoT08eMGWP4zpw5M1BcM80svI9BaEBwwJowefJk+fDDD+WTTz4p2vVRbrnllmjbv+aaawTulJFf/MEygkALSKYtgfFJgATCRIACJEy1ybKQQJEQQKdxp512Mp0wLNaHzuMuu+wi8CYVhIB81q5d26x0ruKjPK0ftthREQIxdNRRR0nbtm2DgDTrPM6aNSvamccwrCAErBGDNo/6YSABEiABEihLgAKkLBPuIQESyJHAk08+Ge00Pvroo9HPkyZNyjHlwpz+1FNPmTx/+umnUeuHLQLK87M9FOuJJ54w+VyyZElhwJTDVbQu0KH/7LPPyiEHmV8Sw/aQ3+7du2d+Ms8gARIggRIgQAFSApXMIpJAoQmcfPLJpgN22GGHmUtjNW90yNq3b1/orGR1vWOPPVbwFlutH++//365Dr3yCh61gmzatEl22203GTBgQFblDMJJY8eONW0H7WfFihVByLJxEID8nnfeeYHILzNJAiRAAoUmQAFSaOK8HgmEnMB3330nFStWNJ1GuLBFuOmmm8x3rCK+Zs2apAS8Y+O3bNliFuE74ogjBMO58NekSRO59957zaTwRImh0/7cc8/JZZddZobC7LzzzlKpUiWpWbOmHH300WYM/g8//FDm9AULFpi8Tpw4MSpAzj777GgnGB1L/O29996+omTevHmC+S/77bef8aC1ww47mLkLl19+uSxdutT3HOQVxzTthx9+2MR7+umnpU2bNgLPT/Ck1KhRI7nrrrvMUDYVR3//+9/NHImNGzeasqBMYPXAAw/4Llioa4ngWnPmzClTfu8OrIGCuLkMoUOd33jjjdK4cWOTV3gWgxevHj16mPkR3mviOzx9KY9EWzg6yCSgbWJCO+rzgAMOENRN5cqVpU6dOtKhQwcB799//z2TJKNxvU4X/PKMMmnwtnPd791i/gjqYPfddzftqX79+oL5VHBEgKCc7LQ1jXTFG4Sd5hfneAOEFI6jzhDAEXNbDj74YHM/4phfXaxatUpuuOEGOfLII037Aeu99tpLOnfuLFhTh4EESKB0CVCAlG7ds+QkkBcCumL3tttuK9988425xhdffGEmdKOjgg5wsmB3zL7//nvTadXOkXcLi0qiDqN2
}
},
"cell_type": "markdown",
"metadata": {},
"source": [
"![image.png](attachment:image.png)"
]
},
{
"cell_type": "code",
"execution_count": 4,
"metadata": {
"scrolled": true
},
"outputs": [
{
"data": {
"text/plain": [
"<Figure size 432x288 with 0 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"image/png": "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
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
},
{
"data": {
"image/png": "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
"text/plain": [
"<Figure size 432x288 with 4 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"fig = plt.figure() # an empty figure with no Axes\n",
"fig, ax = plt.subplots() # an figure with a single Axes\n",
"fig, axs = plt.subplots(2, 2) # a figure with a 2x2 grid of Axes"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"all plot functions expect `numpy.array` as input, 'array-like' such as `pandas` data object\n",
"and `numpy.matrix` may or may not work as intended"
]
},
{
"cell_type": "code",
"execution_count": 16,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"<matplotlib.legend.Legend at 0x7fc1eea9dbb0>"
]
},
"execution_count": 16,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAXgAAAEWCAYAAABsY4yMAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjMuMCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy86wFpkAAAACXBIWXMAAAsTAAALEwEAmpwYAABAXklEQVR4nO3deXxU1dnA8d+TfZkQIBtrCCEhEFAkhkVENkFwg1prkbZa61uptVCtu6LWurRarVatxeJSl1pra12idV8RcAEEVBJCEvY1GwnZM5k57x93CAMGCJA7S/J8/eSTmbl37nlyHZ6cnHvuc8QYg1JKqc4nxN8BKKWUsocmeKWU6qQ0wSulVCelCV4ppTopTfBKKdVJaYJXSqlOShO8UkcgIreLyD9sOO7HIvLzjj6uUvtoglcBS0TGi8gyEakWkUoRWSoio/wd19EQkU0i0iAitSKyW0SeFhHHUR4jTUSMiITZFafqnDTBq4AkIt2AN4BHgJ5AX+B3QJM/4zpG5xpjHEAOkAvc4ud4VBehCV4FqsEAxpgXjDEuY0yDMeZdY8zXACIySEQ+FJEKESkXkedFpPu+N3t6zteJyNciUiciT4pIioi8JSI1IvK+iPTw7LuvhzxXRHaIyE4RufZQgYnIWM9fFlUiskZEJrXnBzLGbAfeAoa3ccwQEblFRDaLSKmIPCsi8Z7Niz3fqzx/CZzSnvaU0gSvAtV6wCUiz4jImfuSsRcB/gD0AYYC/YHbD9rnfGAa1i+Lc7GS681AEtZn/9cH7T8ZyATOAG4QkakHByUifYH/AXdh/WVxLfBfEUk60g8kIv2Bs4BVbWy+xPM1GUgHHMBfPNsmeL53N8Y4jDGfHaktpUATvApQxpi9wHjAAI8DZSKSJyIpnu3Fxpj3jDFNxpgy4AFg4kGHecQYs9vTc/4U+MIYs8oY0wi8Aow8aP/fGWPqjDHfAH8H5rQR2k+AN40xbxpj3MaY94AVWIn7UF4VkSpgCfAJ8Ps29vkx8IAxZoMxpha4CbhQx93V8dAPjwpYxpgCrF4tIjIE+AfwZ2COJ9E/BJwGxGF1VvYcdIjdXo8b2nh+8MXOrV6PNwMntBHWAOACETnX67Vw4KPD/CjfM8a8f5jtYP0lsvmg9sOAlCO8T6lD0h68CgrGmHXA0+wfv/49Vu/+BGNMN6yetRxnM/29HqcCO9rYZyvwnDGmu9dXrDHmnuNsewfWLw/v9luwfilpyVd1TDTBq4AkIkNE5BoR6ed53h9ryORzzy5xQC1Q7RkXv64Dmr1VRGJEZBjwM+DFNvb5B3CuiEwXkVARiRKRSfviPA4vAL8RkYGeaZS/B140xrQAZYAba2xeqXbTBK8CVQ0wBvhCROqwEvu3wDWe7b/DmnZYjXXR8+UOaPMToBj4ALjfGPPuwTsYY7YCs7Au1pZh9eiv4/j/LT0FPIc1Y2Yj0AjM97RZD9wNLPXM3Bl7nG2pLkJ0wQ/V1YlIGlZSDff0mJXqFLQHr5RSnZQmeKWU6qR0iEYppTop7cErpVQnFVA3OiUmJpq0tDR/h6GUUkFj5cqV5caYNktlBFSCT0tLY8WKFf4OQymlgoaIbD7UNh2iUUqpTkoTvFJKdVKa4JVSqpMKqDH4tjidTrZt20ZjY6O/QwlqUVFR9OvXj/DwcH+HopTykYBP8Nu2bSMuLo60tDREjrdYYNdkjKGiooJt27YxcOBAf4ejlPIRW4doROQ3IrJWRL4VkRdEJOpoj9HY2EhCQoIm9+MgIiQkJOhfQUp1MbYleE8J118DucaY4UAocOExHqsjQ+uS9Bwq1fXYfZE1DIj2LDsWQ9sLKCilVJe1bPsyni94Hqfb2eHHti3Be9bBvB/YAuwEqtuqr+1ZyX6FiKwoKyuzK5zj4nBYK7vt2LGDH/zgB36ORinVWbiNmz+t/BMvrHsBOe4Fyb7LziGaHlgLIwzEWm8yVkR+cvB+xphFxphcY0xuUtIRF6b3qz59+vDSSy/Z2kZLi5YjV6qreGfTO6zfs54rRlxBWEjHz3mxc4hmKrDRGFNmjHFirbgzzsb2bLdp0yaGD7eWBH366af5/ve/z4wZM8jMzOT6669v3e/dd9/llFNOIScnhwsuuIDa2loA7rjjDkaNGsXw4cOZO3cu+yp5Tpo0iauuuorc3Fweeugh3/9gSimfa3G38NfVfyWjewYzBs6wpQ07p0luAcaKSAzWCvanA8dVaOZ3r68lf8fejoitVXafbvz23GHH9N7Vq1ezatUqIiMjycrKYv78+URHR3PXXXfx/vvvExsby7333ssDDzzAbbfdxrx587jtttsAuOiii3jjjTc499xzAWhubtY6PEp1Ia+XvM6mvZv48+Q/EyL29LVtS/DGmC9E5CXgK6zV4VcBi+xqzx9OP/104uPjAcjOzmbz5s1UVVWRn5/PqaeeCliJ+5RTTgHgo48+4o9//CP19fVUVlYybNiw1gQ/e/Zs//wQSimfa3Y189iaxxieMJwp/afY1o6tNzoZY34L/LajjnesPW27REZGtj4ODQ2lpaUFYwzTpk3jhRdeOGDfxsZGrrjiClasWEH//v25/fbbD5iXHhsb67O4lVL+9d+i/7Kjbge/PeW3tk5h1lo0HWzs2LEsXbqU4uJiAOrq6li/fn1rMk9MTKS2ttb2i7VKqcBU76xn0deLODnlZE7pc4qtbQV8qYJgk5SUxNNPP82cOXNoamoC4K677mLw4MFcdtllDB8+nF69ejFq1Cg/R6qU8od/rvsn5Q3lPDjpQdtvQAyoNVlzc3PNwRcaCwoKGDp0qJ8i6lz0XCrlX9VN1Zz58pmcnHwyj5z+SIccU0RWGmNy29qmQzRKKeUjT337FLXNtczPme+T9jTBK6WUD5TVl/HPgn9ydvrZDO4x2CdtaoJXSikf+NvXf6PF3cIVJ13hszY1wSullM02VW/ipfUvcf7g8+kf199n7WqCV0opmz286mEiQiO4fMTlPm1XE7xSStno67KveW/ze1wy7BISoxN92rYmeD+55JJLjvpmp1dffZX8/PzW57fddhvvv/9+R4emlOogxhgeXPkgPaN68tNhP/V5+5rgA4zL5TrktoMT/B133MHUqVN9EZZS6hh8uv1TVuxewS9O/AWx4b4vR6IJvh3uvvtuBg8ezPjx45kzZw73338/kyZNaq3+WF5eTlpaGmCVFD7ttNPIyckhJyeHZcuWAdZv8nnz5pGVlcXUqVMpLS1tPX5aWho33HADOTk5/Oc//+Hxxx9n1KhRjBgxgvPPP5/6+nqWLVtGXl4e1113HSeddBIlJSUH/BWwfPlyxo0bx4gRIxg9ejQ1NTW+PUlKqQO43C7+/NWf6R/XnwsGX+CXGIKrVMFbN8Kubzr2mL1OgDPvOeTmlStX8q9//YvVq1fT0tJCTk4OJ5988iH3T05O5r333iMqKoqioiLmzJnDihUreOWVVygsLCQ/P5/du3eTnZ3NpZde2vq+hIQEvvrqKwAqKiq47LLLALjlllt48sknmT9/PjNnzuScc875zqpSzc3NzJ49mxdffJFRo0axd+9eoqOjj+esKKWOU15JHkV7irhv4n2Eh4b7JYbgSvB+8Omnn3LeeecRExMDwMyZMw+7v9PpZN68eaxevZrQ0FDWr18PwOLFi5kzZw6hoaH06dOHKVMOLBHqXS7422+/5ZZbbqGqqora2lqmT59+2DYLCwvp3bt3a32bbt26HfXPqZTqOPXOev6y6i+cmHgi0wcc/t+vnYIrwR+mp+1rYWFhuN1ugAPK/j744IOkpKSwZs0a3G43UVFR7Tqed7ngSy65hFdffZURI0bw9NNP8/HHH3do7Eopez2X/xylDaXcN/E+2wuKHY6OwR/BhAkTePXVV2loaKCmpobXX38dsMbNV65cCXDAbJjq6mp69+5NSEgIzz33XOtF0wkTJvDiiy/icrnYuXMnH3300SHbrKmpoXfv3jidTp5//vnW1+Pi4tocW8/KymLnzp0sX7689f26tqtS/lHeUM5T3z7F6amnk5OS49dY7Fx0O0tEVnt97RWRq+xqzy45OTnMnj2bESNGcOa
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"# Using Matplotlib in Object-Oriented style: suitable for Embedded GUI plotting\n",
"# Example: https://matplotlib.org/3.3.0/gallery/user_interfaces/embedding_in_gtk3_panzoom_sgskip.html\n",
"\n",
"x = np.linspace(0, 2, 100)\n",
"\n",
"fig, ax = plt.subplots()\n",
"ax.plot(x, x, label='linear')\n",
"ax.plot(x, x * 2, label='quadratic')\n",
"ax.plot(x, x ** 3, label=\"cubic\")\n",
"ax.set_xlabel('x label')\n",
"ax.set_ylabel('y label')\n",
"ax.set_title('Sample Plot')\n",
"ax.legend()"
]
},
{
"cell_type": "code",
"execution_count": 19,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"<matplotlib.legend.Legend at 0x7fc1eebb0eb0>"
]
},
"execution_count": 19,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"# Using Matplotlib in pylot sytle: suitable for Interactive plotting like Jupyter Notebook\n",
"\n",
"x = np.linspace(0, 2, 100)\n",
"\n",
"plt.plot(x, x, label='linear')\n",
"plt.plot(x, x ** 2, label='quadratic')\n",
"plt.plot(x, x ** 3, label='cubic')\n",
"plt.xlabel('x label')\n",
"plt.ylabel('y label')\n",
"plt.title('Sample Plot')\n",
"plt.legend()"
]
},
{
"cell_type": "code",
"execution_count": 21,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"[<matplotlib.lines.Line2D at 0x7fc1eeed9c40>]"
]
},
"execution_count": 21,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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
"text/plain": [
"<Figure size 432x288 with 2 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"# 2 sub-plots:\n",
"data1, data2, data3, data4 = np.random.randn(4, 100)\n",
"\n",
"fig, (ax1, ax2) = plt.subplots(1, 2) # 1 row 2 columns\n",
"ax1.plot(data1, data2, marker='x')\n",
"ax2.plot(data3, data4, marker='o')"
]
},
{
"cell_type": "code",
"execution_count": 26,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"[<matplotlib.lines.Line2D at 0x7fc1ee78c070>]"
]
},
"execution_count": 26,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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
"text/plain": [
"<Figure size 864x288 with 2 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"# formatting style\n",
"\n",
"fig, (ax1, ax2) = plt.subplots(1, 2, figsize=(12, 4))\n",
"ax1.plot([1, 2, 3, 4], [1, 4, 9, 16], 'b-') # default blue-line style\n",
"ax2.plot([1, 2, 3, 4], [1, 4, 9, 16], 'ro') # red-cricle style"
]
},
{
"cell_type": "code",
"execution_count": 27,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"[<matplotlib.lines.Line2D at 0x7fc1ee7057f0>,\n",
" <matplotlib.lines.Line2D at 0x7fc1ee7056a0>,\n",
" <matplotlib.lines.Line2D at 0x7fc1ee705820>]"
]
},
"execution_count": 27,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"# plotting multiple lines on one Axes\n",
"\n",
"x = np.arange(0., 5., .2)\n",
"plt.plot(\n",
" x, x, 'r--',\n",
" x, x ** 2, 'bs',\n",
" x, x ** 3, 'g^',\n",
")"
]
},
{
"cell_type": "code",
"execution_count": 31,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"<matplotlib.collections.PathCollection at 0x7fc1eee57040>"
]
},
"execution_count": 31,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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
"text/plain": [
"<Figure size 864x720 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"# plotting with keyword string: suitable for table-like data such as pandas.DataFrame\n",
"\n",
"data = {\n",
" 'x': np.arange(50),\n",
" 'y': np.arange(50) + np.random.randn(50) * 10,\n",
" 'colors': np.random.randint(0, 50, 50),\n",
" 'sizes': np.abs(np.random.randn(50)) * 100,\n",
"}\n",
"\n",
"plt.subplots(figsize=(12, 10))\n",
"plt.scatter('x', 'y', c='colors', s='sizes', data=data)\n"
]
},
{
"cell_type": "code",
"execution_count": 35,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"Text(0.5, 0.98, 'Categorical Plotting')"
]
},
"execution_count": 35,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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
"text/plain": [
"<Figure size 864x288 with 3 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"# pyplot-style subplots\n",
"\n",
"names = ['foo', 'bar', 'foobar']\n",
"values = [1, 10, 100]\n",
"\n",
"plt.figure(figsize=(12, 4))\n",
"\n",
"# 131\n",
"# first digit 1 is the number of rows, \n",
"# second digit is number of columns, \n",
"# and last one is the index\n",
"plt.subplot(131)\n",
"plt.bar(names, values)\n",
"plt.title('bar')\n",
"\n",
"plt.subplot(132)\n",
"plt.scatter(names, values)\n",
"plt.title('scatter')\n",
"\n",
"plt.subplot(133)\n",
"plt.plot(names, values)\n",
"plt.title('line')\n",
"\n",
"plt.suptitle('Categorical Plotting')"
]
},
{
"cell_type": "code",
"execution_count": 45,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
" agg_filter: a filter function, which takes a (m, n, 3) float array and a dpi value, and returns a (m, n, 3) array\n",
" alpha: float or None\n",
" animated: bool\n",
" antialiased or aa: bool\n",
" clip_box: `.Bbox`\n",
" clip_on: bool\n",
" clip_path: Patch or (Path, Transform) or None\n",
" color or c: color\n",
" contains: unknown\n",
" dash_capstyle: {'butt', 'round', 'projecting'}\n",
" dash_joinstyle: {'miter', 'round', 'bevel'}\n",
" dashes: sequence of floats (on/off ink in points) or (None, None)\n",
" data: (2, N) array or two 1D arrays\n",
" drawstyle or ds: {'default', 'steps', 'steps-pre', 'steps-mid', 'steps-post'}, default: 'default'\n",
" figure: `.Figure`\n",
" fillstyle: {'full', 'left', 'right', 'bottom', 'top', 'none'}\n",
" gid: str\n",
" in_layout: bool\n",
" label: object\n",
" linestyle or ls: {'-', '--', '-.', ':', '', (offset, on-off-seq), ...}\n",
" linewidth or lw: float\n",
" marker: marker style string, `~.path.Path` or `~.markers.MarkerStyle`\n",
" markeredgecolor or mec: color\n",
" markeredgewidth or mew: float\n",
" markerfacecolor or mfc: color\n",
" markerfacecoloralt or mfcalt: color\n",
" markersize or ms: float\n",
" markevery: None or int or (int, int) or slice or List[int] or float or (float, float) or List[bool]\n",
" path_effects: `.AbstractPathEffect`\n",
" picker: unknown\n",
" pickradius: float\n",
" rasterized: bool or None\n",
" sketch_params: (scale: float, length: float, randomness: float)\n",
" snap: bool or None\n",
" solid_capstyle: {'butt', 'round', 'projecting'}\n",
" solid_joinstyle: {'miter', 'round', 'bevel'}\n",
" transform: `matplotlib.transforms.Transform`\n",
" url: str\n",
" visible: bool\n",
" xdata: 1D array\n",
" ydata: 1D array\n",
" zorder: float\n"
]
},
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAXQAAAD4CAYAAAD8Zh1EAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjMuMCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy86wFpkAAAACXBIWXMAAAsTAAALEwEAmpwYAAAVCUlEQVR4nO3df7BndX3f8ecrsMEkWlH3dtyBXRZHZjLRiaJ38FcmJVgnKxq2HXFc26RgyWxipdE2bSfGGZLwT7WdSWKCE2YHmIBxEIvWWS1OSguOsQ6rF7qAgJqVkAJlwgYQZIy02Hf/+J7V7365d++5957vr/N9Pma+w/nx+X7P23OPr/vZzznf+0lVIUmafz827QIkSd0w0CWpJwx0SeoJA12SesJAl6SeOHlaB96+fXvt3r17WoeXpLl0++23/21VLa22b2qBvnv3blZWVqZ1eEmaS0n+eq19DrlIUk8Y6JLUEwa6JPWEgS5JPWGgS1JPtA70JCcl+Z9JPr/KvlOS3JDkSJJDSXZ3WqUkaV0beWzx/cB9wN9bZd8lwBNV9fIk+4CPAO/qoD5J6o3dv/Vffrj8wIff1vnnt+qhJzkdeBtw1RpN9gLXNss3Am9Okq2XJ0n9NBzuXWk75PKHwL8D/t8a+08DHgSoqmeBJ4GXjDZKsj/JSpKVo0ePbrxaSZpT4wjwUesGepK3A49W1e1bPVhVHaiq5apaXlpa9ZurktQ7kwhzaNdDfxNwQZIHgE8C5yX5s5E2DwM7AZKcDLwQeKzDOiVpLq0V5lMZQ6+qD1bV6VW1G9gH3FJVvzzS7CBwUbN8YdPGue0kLbRJhjls4Y9zJbkcWKmqg8DVwMeTHAEeZxD8kqQR4wpz2GCgV9UXgS82y5cNbf8+8M4uC5OkebZa73ycYQ5+U1SSOjepm6CjDHRJ6tCkx82HGeiSNGaTCHMw0CWpM9MYNx9moEtSB6Y1bj7MQJekLZrmuPkwA12StmBWwhwMdEnq3DTCHAx0Sdq0ad8EHWWgS9ImzMJN0FEGuiRt0CyNmw8z0CVpA2Y1zMFAl6Qtm4UwBwNdklqbtZugowx0SWphFm+CjjLQJWkdszxuPqzNJNHPS/LVJHcmuSfJ763S5uIkR5Mcbl6/Op5yJWmy5iXMod2MRc8A51XV00m2AV9O8oWqum2k3Q1VdWn3JUrSdMxTmEOLQG8me366Wd3WvJwAWtJCmtUwh5Zj6ElOSnIYeBS4uaoOrdLsHUnuSnJjkp1rfM7+JCtJVo4ePbr5qiVpzObhJuioVoFeVT+oqlcDpwPnJHnlSJPPAbur6meBm4Fr1/icA1W1XFXLS0tLWyhbksZn3oZajtnQUy5V9R3gVmDPyPbHquqZZvUq4LWdVCdJEzavYQ7tnnJZSnJqs/wTwFuAb4y02TG0egFwX4c1StJEzHOYQ7unXHYA1yY5icEvgE9V1eeTXA6sVNVB4DeSXAA8CzwOXDyugiVpHOY9zKHdUy53AWevsv2yoeUPAh/stjRJmq55CnPwm6KSNJdPtKzGQJe00Pow1HKMgS5pYfUpzMFAl7Sg+hbmYKBLWkB9DHMw0CUJmP8wBwNd0oKZ9VmHtsJAl7Qw+vJ44loMdEkLoa/j5sMMdEm9twhhDga6pJ5blDAHA11Sjy1SmIOBLqmnFi3MwUCXtED6HOZgoEvqob4/nrgWA11SryziUMsxbaage16Srya5M8k9SX5vlTanJLkhyZEkh5LsHku1knQCixzm0K6H/gxwXlW9Cng1sCfJ60faXAI8UVUvB/4A+EinVUrSOhY9zKFFoNfA083qtuZVI832Atc2yzcCb06SzqqUpBMwzAdajaEnOSnJYeBR4OaqOjTS5DTgQYCqehZ4EnjJKp+zP8lKkpWjR49uqXBJAsN8WKtAr6ofVNWrgdOBc5K8cjMHq6oDVbVcVctLS0ub+QhJ+iHD/Hgbesqlqr4D3ArsGdn1MLATIMnJwAuBxzqoT5JWZZg/V5unXJaSnNos/wTwFuAbI80OAhc1yxcCt1TV6Di7JGmMTm7RZgdwbZKTGPwC+FRVfT7J5cBKVR0ErgY+nuQI8Diwb2wVS1p49s5Xt26gV9VdwNmrbL9saPn7wDu7LU2SnsswX5vfFJU0NwzzEzPQJc0Fw3x9BrqkmWeYt2OgS5pphnl7BrqkmWWYb4yBLmkmGeYbZ6BLmjmG+eYY6JJmimG+eQa6pJlhmG+NgS5pJizqPKBdMtAlzTR75+0Z6JKmzqGWbhjokqbKMO+OgS5pagzzbhnokqbCMO9emxmLdia5Ncm9Se5J8v5V2pyb5Mkkh5vXZat9liSBYT4ubWYsehb4zaq6I8kLgNuT3FxV9460+4uqenv3JUrqE8N8fNbtoVfVI1V1R7P8XeA+4LRxFyapfwzz8drQGHqS3Qymozu0yu43JLkzyReSvGKN9+9PspJk5ejRoxuvVtLcMszHr3WgJ3k+8GngA1X11MjuO4AzqupVwB8Dn13tM6rqQFUtV9Xy0tLSJkuWNG8M88loFehJtjEI809U1WdG91fVU1X1dLN8E7AtyfZOK5U0lwzzyWnzlEuAq4H7qur312jz0qYdSc5pPvexLguVNH8M88lq85TLm4BfAe5OcrjZ9tvALoCquhK4EHhvkmeBvwP2VVV1X66keWGYT966gV5VXwayTpsrgCu6KkrSfDPMp8NvikrqlGE+PQa6pM4Y5tNloEvqhGE+fQa6pC0zzGeDgS5pSwzz2WGgS9o0w3y2GOiSNsUwnz0GuqQNM8xnk4EuaUMM89lloEtqzTCfbQa6pFYM89lnoEtal2E+H9r8tUVJC2qtIAfDfBbZQ5e0KsN8/hjokp7DMJ9PBrqk4xjm86vNFHQ7k9ya5N4k9yR5/yptkuSPkhxJcleS14ynXEnjZJjPtzY3RZ8FfrOq7kjyAuD2JDdX1b1Dbd4KnNW8Xgf8SfNfSXPCMJ9/6/bQq+qRqrqjWf4ucB9w2kizvcB1NXAbcGqSHZ1XK2ksDPN+2NBji0l2A2cDh0Z2nQY8OLT+ULPtkZH37wf2A+zatWuDpUoaB58x74/WN0WTPB/4NPCBqnpqMwerqgNVtVxVy0tLS5v5CEkdMsz7pVWgJ9nGIMw/UVWfWaXJw8DOofXTm22SZpRh3j9tnnIJcDVwX1X9/hrNDgL/rHna5fXAk1X1yBptJU2ZYd5PbcbQ3wT8CnB3ksPNtt8GdgFU1ZXATcD5wBHge8B7Oq9U0pZ587Pf1g30qvoykHXaFPC+roqS1D3DvP/8pqi0AAzzxWCgSz1nmC8OA13qMcN8sfj30KWe8kmWxWMPXeohw3wx2UOXesQhlsVmD13qCcNcBrrUA4a5wECX5p5hrmMMdGmOGeYa5k1RaU75JItGGejSnLFXrrU45CLNEcNcJ2KgS3PCMNd6DHRpDhjmasMxdGmGGeTaiDZT0F2T5NEkX19j/7lJnkxyuHld1n2Z0uIxzLVRbXrofwpcAVx3gjZ/UVVv76QiSYa5NmXdHnpVfQl4fAK1SMIw1+Z1NYb+hiR3Av8b+DdVdc9qjZLsB/YD7Nq1q6NDS/1gkGurunjK5Q7gjKp6FfDHwGfXalhVB6pquaqWl5aWOji01A+Gubqw5UCvqqeq6ulm+SZgW5LtW65MWhCGubqy5SGXJC8F/qaqKsk5DH5JPLblyqSeO1GQg2GujVs30JNcD5wLbE/yEPA7wDaAqroSuBB4b5Jngb8D9lVVja1iqQfslWsc1g30qnr3OvuvYPBYo6QWDHONi1/9lybIMNc4+dV/aQIMck2CPXRpzAxzTYo9dGlMfIpFk2agS2Ngr1zT4JCL1DHDXNNiD13qiEMsmjYDXeqAvXLNAgNd2gJ75ZoljqFLm2SYa9bYQ5c2wSEWzSIDXdoAe+WaZQa61JK9cs06A11ah71yzQtvikonYJhrnrSZ4OIa4O3Ao1X1ylX2B/gocD7wPeDiqrqj60KlSTLINY/a9ND/FNhzgv1vBc5qXvuBP9l6WdL0GOaaV21mLPpSkt0naLIXuK6Zdu62JKcm2VFVj3RVpDQJBrnmXRdj6KcBDw6tP9R
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
},
{
"data": {
"image/png": "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
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
},
{
"data": {
"image/png": "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
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"# controlling line properties\n",
"\n",
"x = np.linspace(0, 2, 100)\n",
"\n",
"line, = plt.plot(x, x ** 2, linewidth=3.0)\n",
"line.set_antialiased(False)\n",
"\n",
"plt.figure()\n",
"lines = plt.plot(x, x ** 3, '--')\n",
"plt.setp(lines, color='r', linewidth=2.0, antialiased=False)\n",
"\n",
"plt.figure()\n",
"lines = plt.plot([1, 2, 3])\n",
"plt.setp(lines) # get a list of settable line properties"
]
},
{
"cell_type": "code",
"execution_count": 52,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"Text(0, 0.5, 'Y')"
]
},
"execution_count": 52,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"# working with text\n",
"x = np.linspace(0, 4, 100)\n",
"plt.plot(x, np.exp(x))\n",
"plt.text(2.0, 20, r'$y=e^x$')\n",
"plt.grid(True)\n",
"plt.xlabel('X', fontsize=14, color='red')\n",
"plt.ylabel('Y', fontsize=14, color='blue')"
]
},
{
"cell_type": "code",
"execution_count": 57,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"Text(3, 1.5, 'local max')"
]
},
"execution_count": 57,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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
"text/plain": [
"<Figure size 864x288 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"# annotating text\n",
"\n",
"plt.figure(figsize=(12, 4))\n",
"t = np.arange(0.0, 5.0, 0.01)\n",
"s = np.cos(2 * np.pi * t)\n",
"line, = plt.plot(t, s, lw=2)\n",
"\n",
"plt.annotate('local max',\n",
" xy=(2, 1), # target point\n",
" xytext=(3, 1.5), # text location\n",
" arrowprops={'facecolor': 'black', 'shrink': 0.05}\n",
" )"
]
},
{
"cell_type": "code",
"execution_count": 66,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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
"text/plain": [
"<Figure size 864x288 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
},
{
"data": {
"image/png": "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
"text/plain": [
"<Figure size 864x288 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
},
{
"data": {
"image/png": "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
"text/plain": [
"<Figure size 864x864 with 4 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"# logarithmic and other nonlinear axes\n",
"\n",
"# fixing random state for reproducibility\n",
"np.random.seed(19680801)\n",
"\n",
"# make up some datain the open interval (0, 1)\n",
"y = np.random.normal(loc=0.5, scale=0.4, size=1000)\n",
"plt.figure(figsize=(12, 4))\n",
"plt.plot(y)\n",
"plt.title('guassian distribution, loc=0.5, scale=0.4, size=1000')\n",
"y = y[(y > 0) & (y < 1)]\n",
"plt.figure(figsize=(12, 4))\n",
"plt.plot(y)\n",
"plt.title(f'between 0 and 1 (open internval), total: {len(y)}')\n",
"y.sort()\n",
"x = np.arange(len(y))\n",
"\n",
"plt.figure(figsize=(12, 12))\n",
"\n",
"# linear\n",
"plt.subplot(221)\n",
"plt.plot(x, y)\n",
"plt.yscale('linear')\n",
"plt.title('linear')\n",
"plt.grid(True)\n",
"\n",
"# log\n",
"plt.subplot(222)\n",
"plt.plot(x, y)\n",
"plt.yscale('log')\n",
"plt.title('log')\n",
"plt.grid(True)\n",
"\n",
"# symmetric log\n",
"plt.subplot(223)\n",
"plt.plot(x, y - y.mean())\n",
"plt.yscale('symlog', linthresh=0.01)\n",
"plt.title('symlog')\n",
"plt.grid(True)\n",
"\n",
"# logit\n",
"plt.subplot(224)\n",
"plt.plot(x, y)\n",
"plt.yscale('logit')\n",
"plt.title('logit')\n",
"plt.grid(True)\n",
"\n",
"\n"
]
}
],
"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.8.4"
}
},
"nbformat": 4,
"nbformat_minor": 4
}