{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Pyplot tutorial\n", "\n", "An introduction to the pyplot interface." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Intro to pyplot\n", "\n", "`matplotlib.pyplot` is a collection of functions that make matplotlib work like MATLAB. Each `pyplot` function makes some change to a figure: e.g., creates a figure, creates a plotting area in a figure, plots some lines in a plotting area, decorates the plot with labels, etc.\n", "\n", "In `matplotlib.pyplot` various states are preserved across function calls, so that it keeps track of things like the current figure and plotting area, and the plotting functions are directed to the current axes (please note that \"axes\" here and in most places in the documentation refers to the axes part of a figure and not the strict mathematical term for more than one axis).\n", "\n", "> **Note**\n", ">\n", ">the pyplot API is generally less-flexible than the object-oriented API. Most of the function calls you see here can also be called as methods from an Axes object. We recommend browsing the tutorials and examples to see how this works.\n", ">\n", "\n", "Generating visualizations with pyplot is very quick:" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [ { "data": { "image/png": "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", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "import matplotlib.pyplot as plt\n", "plt.plot([1, 2, 3, 4, 5])\n", "plt.ylabel('Numbers')\n", "plt.show()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "You may be wondering why the x-axis ranges from 0-3 and the y-axis from 1-4. If you provide a single list or array to plot, matplotlib assumes it is a sequence of y values, and automatically generates the x values for you. Since python ranges start with 0, the default x vector has the same length as y but starts with 0. Hence the x data are `[0, 1, 2, 3]`.\n", "\n", "`plot` is a versatile function, and will take an arbitrary number of arguments. For example, to plot x versus y, you can write:" ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "[]" ] }, "execution_count": 2, "metadata": {}, "output_type": "execute_result" } ], "source": [ "plt.plot([1, 2, 3, 4], [1, 4, 9, 16])" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Formatting the style of your plot\n", "\n", "For every x, y pair of arguments, there is an optional third argument which is the format string that indicates the color and line type of the plot. The letters and symbols of the format string are from MATLAB, and you concatenate a color string with a line style string. The default format string is 'b-', which is a solid blue line. For example, to plot the above with red circles, you would issue" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [ { "data": { "image/png": "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", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "plt.plot([1, 2, 3, 4], [1, 4, 9, 16], 'ro')\n", "plt.axis([0, 6, 0, 20])\n", "plt.show()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "See the `plot` documentation for a complete list of line styles and format strings. The `axis` function in the example above takes a list of `[xmin, xmax, ymin, ymax]` and specifies the viewport of the axes.\n", "\n", "If matplotlib were limited to working with lists, it would be fairly useless for numeric processing. Generally, you will use numpy arrays. In fact, all sequences are converted to numpy arrays internally. The example below illustrates plotting several lines with different format styles in one function call using arrays." ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAoAAAAHgCAYAAAA10dzkAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjMuMywgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/Il7ecAAAACXBIWXMAAA9hAAAPYQGoP6dpAAAzOklEQVR4nO3de3xU9Z3/8ffMRCbZmIxyyU0GjZaqUZFyMaWybispWWrdsrUXu7SlN+i2iFJkWcju4GWpKLZdilJRu13cbVm13cXeVoxJKdT9YRyhtFoREWiTNiYmbZmBYDI6c35/jDO5MEMmMJkzM9/X8/GYB5M53xw+GYV58/l+z/c4LMuyBAAAAGM47S4AAAAAmUUABAAAMAwBEAAAwDAEQAAAAMMQAAEAAAxDAAQAADAMARAAAMAwBEAAAADDEAABAAAMQwAEAAAwDAEQAADAMARAAAAAwxAAAQAADEMABAAAMAwBEAAAwDAEQAAAAMMQAAEAAAxDAAQAADAMARAAAMAwBEAAAADDEAABAAAMQwAEAAAwDAEQAADAMARAAAAAwxAAAQAADEMABAAAMAwBEAAAwDAEQAAAAMMQAAEAAAxDAAQAADAMARAAAMAwBEAAAADDEAABAAAMQwAEAAAwDAEQAADAMARAAAAAwxAAAQAADEMABAAAMAwBEAAAwDAEQAAAAMMQAAEAAAxDAAQAADAMARAAAMAwBEAAAADDEAABAAAMQwAEAAAwDAEQAADAMARAAAAAwxAAAQAADEMABAAAMAwBEAAAwDAEQAAAAMMQAAEAAAxDAAQAADAMARAAAMAwBEAAAADDFNhdQC6LRCJqb29XSUmJHA6H3eUAAIAUWJalY8eOqaqqSk6nmb0wAuAZaG9vl9frtbsMAABwGtra2jRx4kS7y7AFAfAMlJSUSIr+D1RaWmpzNQAAIBXBYFBerzf+OW4iAuAZiE37lpaWEgABAMgxJi/fMnPiGwAAwGAEQAAAAMMQAAEAAAxDAAQAADAMARAAAMAwBEAAAADDEAABAAAMQwAEAAAwDAEQAADAMARAAACQdZoON6lmU42aDjfZXUpeIgACAICsYlmWGpobtL97vxqaG2RZlt0l5R0CIAAAyCqNhxrlb/dLkvztfjUearS5ovxDAAQAAFnDsiz5dvjkcrgkSS6HS74dPrqAaUYABAAAWSPW/QtbYUlS2ArTBRwFBEAAAJAVhnb/YugCph8BEAAAZIWh3b8YuoDpRwAEAAC2i3X/nEmiiVNOuoBpRAAEAAC2C4VDag20KqJIwuMRRdQWbFMoHMpwZfmpwO4CAAAA3AVu+Rf51XWiK+mYsuIyuQvcGawqfxEAAQBAVvB6vPJ6vHaXYQSmgAEAAAxDAAQAADAMARAAAMAwBEAAAADDEAABAAAMQwAEAAAwDAEQAADAMARAAAAAwxAAAQAADEMABAAAMAwBEAAAwDAEQAAAAMMQAAEAAAxDAAQAADAMARAAAMAwBEAAAADDEAABAAAMQwAEAAAwDAEQAADAMARAAAAAwxAAAQAADJOTAXDXrl26/vrrVVVVJYfDoSeeeGLQccuytGbNGlVWVqqoqEh1dXU6ePDgoDG9vb1asmSJxo0bp7PPPls33HCDOjs7M/hTAAAA2CMnA2BPT4+uvPJKbdq0KeHx9evXa+PGjdq8ebNaWlpUXFys+vp69fb2xsd85Stf0Y9//GN9//vf186dO9Xe3q4Pf/jDmfoRAAAAbOOwLMuyu4gz4XA4tG3bNs2fP19StPtXVVWlW2+9VStWrJAkBQIBlZeXa8uWLbrxxhsVCAQ0YcIEbd26VR/5yEckSS+//LIuvfRS7d69W+9+97tT+r2DwaA8Ho8CgYBKS0tH5ecDAADpxed3jnYAT+XIkSPq6OhQXV1d/DWPx6Pa2lrt3r1bkrRnzx69+eabg8ZccsklmjRpUnwMAABAviqwu4B06+jokCSVl5cPer28vDx+rKOjQ2PGjNE555yTdEwifX196uvri38dDAbTVDUAAEDm5F0HcDStW7dOHo8n/vB6vXaXBAAAMGJ5FwArKiok6aQrejs7O+PHKioqFAqFdPTo0aRjElm9erUCgUD80dbWlt7iAQAAMiDvAmB1dbUqKirU3Nwcfy0YDKqlpUWzZs2SJE2fPl1nnXXWoDEHDhxQa2trfEwibrdbpaWlgx4AAAC5JifXAB4/flyvvvpq/OsjR45o3759Gjt2rCZNmqRly5Zp7dq1mjx5sqqrq+Xz+VRVVRW/Utjj8ejzn/+8li9frrFjx6q0tFRLly7VrFmzUr4CGAAAIFflZAB8/vnn9b73vS/+9fLlyyVJCxcu1JYtW7Ry5Ur19PRo8eLFOnr0qGbPnq3t27ersLAw/j3/+q//KqfTqRtuuEF9fX2qr6/Xt771rYz/LAAA5JOmw026+cmbtXHeRtVdWDf8N8AWOb8PoJ3YRwgAgH6WZan227Xyt/s1s2qmWr7QIofDYXdZJ+HzOw/XAAIAAHs0HmqUv90vSfK3+9V4qNHmipAMARAAAJwxy7Lk2+GTy+GSJLkcLvl2+MREY3YiAAIAgDMW6/6FrbAkKWyF6QJmMQIgAAA4I0O7fzF0AbMXARAAAJyRod2/GLqA2YsACAAATlus++dMEimcctIFzEIEQAAAcNpC4ZBaA62KKJLweEQRtQXbFAqHMlwZTiUnN4IGAADZwV3gln+RX10nupKOKSsuk7vAncGqMBwCIAAAOCNej1dej9fuMjACTAEDAAAYhgAIAABgGAIgAACAYQiAAAAAhiEAAgAAGIYACAAAYBgCIAAAgGEIgAAAAIYhAAIAABiGAAgAAGAYAiAAAIBhCIAAAACGIQACAAAYhgAIAABgGAIgAACAYQiAAAAAhiEAAgAAGIYACAAAYBgCIAAAgGEIgAAAAIYhAAIAABiGAAgAAGAYAiAAAIBhCIAAAACGIQACAAAYhgAIAABgGAIgAACGazrcpJpNNWo63GR3KcgQAiAAAAazLEsNzQ3a371fDc0NsizL7pKQAQRAAAAM1nioUf52vyTJ3+5X46FGmytCJhAAAQAwlGVZ8u3wyeVwSZJcDpd8O3x0AQ1AAAQAwFCx7l/YCkuSwlaYLqAhCIAAABhoaPcvhi6gGQiAAAAYaGj3L4YuoBkIgAAAGCbW/XMmiQFOOekC5jkCIAAAhgmFQ2oNtCqiSMLjEUXUFmxTKBzKcGXIlAK7CwAAAJnlLnDLv8ivrhNdSceUFZfJXeDOYFXIJAIgAAAG8nq88nq8dpcBmzAFDAAAYBgCIAAAgGEIgAAAAIYhAAIAABgmbwNgOByWz+dTdXW1ioqKdNFFF+lf/uVfBu1pZFmW1qxZo8rKShUVFamurk4HDx60sWoAAIDRl7cB8J577tEDDzyg+++/X/v379c999yj9evX67777ouPWb9+vTZu3KjNmzerpaVFxcXFqq+vV29vr42VAwAAjC6HlafbfH/wgx9UeXm5/u3f/i3+2g033KCioiJ997vflWVZqqqq0q233qoVK1ZIkgKBgMrLy7VlyxbdeOONw/4ewWBQHo9HgUBApaWlo/azAACA9OHzO487gO95z3vU3NysV155RZL0q1/9Ss8884zmzZsnSTpy5Ig6OjpUV1cX/x6Px6Pa2lrt3r074Tn7+voUDAYHPQAAAHJN3m4EvWrVKgWDQV1yySVyuVwKh8P66le/qgULFkiSOjo6JEnl5eWDvq+8vDx+bKh169bpjjvuGN3CAQAARlnedgAff/xxfe9739PWrVu1d+9ePfLII/ra176mRx555LTPuXr1agUCgfijra0tjRUDAABkRt52AP/hH/5Bq1atiq/lu+KKK/S73/1O69at08KFC1VRUSFJ6uzsVGVlZfz7Ojs7NXXq1ITndLvdcru5LyIAAMhtedsBPHHihJzOwT+ey+VSJBKRJFVXV6uiokLNzc3x48FgUC0tLZo1a1ZGawUAAMikvO0AXn/99frqV7+qSZMm6bLLLtMvf/lLfeMb39DnPvc5SZLD4dCyZcu0du1aTZ48WdXV1fL5fKqqqtL8+fPtLR4AAGAU5W0AvO++++Tz+fTlL39Zr7/+uqqqqvTFL35Ra9asiY9ZuXKlenp6tHjxYh09elSzZ8/W9u3bVVhYaGPlAAAAoytv9wHMBPYRAgAg9/D5ncdrAAEAAJAYARAAAMAwBEAAAADDEAABAAAMQwAEAAAwDAEQAADAMARAAAAAwxAAAQDIQU2Hm1SzqUZNh5vsLgU5iAAIAECOsSxLDc0N2t+9Xw3NDeKeDhgpAiAAADmm8VCj/O1+SZK/3a/GQ402V4RcQwAEACCHWJYl3w6fXA6XJMnlcMm3w0cXECNCAAQAIIfEun9hKyxJClthuoAYMQIgAAA5Ymj3L4YuIEaKAAgAQI4Y2v2LoQuIkSIAAgCQA2LdP2eSj26nnHQBkTICIAAAOSAUDqk10KqIIgmPRxRRW7BNoXAow5UhFxXYXQAAABieu8At/yK/uk50JR1TVlwmd4E7g1UhVxEAAQDIEV6PV16P1+4ykAeYAgYAADAMARAAAMAwBEAAAADDEAABAAAMQwAEAAAwDAEQAADAMARAAAAAwxAAAQAADEMABAAAMAwBEAAAwDAEQAAAAMMQAAEAAAxDAAQAADAMARAAAMAwBEAAAADDEAABAAAMQwAEAAAwDAEQAADAMARAAAAAwxAAAQAADEMABAAgQ5oON6lmU42aDjfZXQoMRwAEACADLMtSQ3OD9nfvV0NzgyzLsrskGIwACABABjQeapS/3S9J8rf71Xio0eaKYDICIAAAo8yyLPl2+ORyuCRJLodLvh0+uoCwDQEQAIBRFuv+ha2wJClshekCwlYEQAAARtHQ7l8MXUDYiQAIAMAoGtr9i6ELCDsRAAEAGCWx7p8zycetU066gLAFARAAgFESCofUGmhVRJGExyOKqC3YplA4lOHKYLoCuwsAACBfuQvc8i/yq+tEV9IxZcVlche4M1gVQAAEAGBUeT1eeT1eu8sABmEKGAAAwDB5HQD/8Ic/6JOf/KTGjRunoqIiXXHFFXr++efjxy3L0po1a1RZWamioiLV1dXp4MGDNlYMAAAw+vI2AP75z3/W1VdfrbPOOktPPvmkXnrpJX3961/XueeeGx+zfv16bdy4UZs3b1ZLS4uKi4tVX1+v3t5eGysHAAAYXQ4rT689X7Vqlf7v//5Pv/jFLxIetyxLVVVVuvXWW7VixQpJUiAQUHl5ubZs2aIbb7xx2N8jGAzK4/EoEAiotLQ0rfUDAIDRwed3HncAf/SjH2nGjBn66Ec/qrKyMr3rXe/Sww8/HD9+5MgRdXR0qK6uLv6ax+NRbW2tdu/enfCcfX19CgaDgx4AAAC5Jm8D4OHDh/XAAw9o8uTJeuqpp/SlL31JN998sx555BFJUkdHhySpvLx80PeVl5fHjw21bt06eTye+MPr5aouAACQe/I2AEYiEU2bNk133XWX3vWud2nx4sVatGiRNm/efNrnXL16tQKBQPzR1taWxooBAAAyI28DYGVlpWpqaga9dumll6q1tVWSVFFRIUnq7OwcNKazszN+bCi3263S0tJBDwAAgFyTtwHw6quv1oEDBwa99sorr+j888+XJFVXV6uiokLNzc3x48FgUC0tLZo1a1ZGawUAAMikvL0TyFe+8hW95z3v0V133aWPfexjeu655/TQQw/poYcekiQ5HA4tW7ZMa9eu1eTJk1VdXS2fz6eqqirNnz/f3uIBAABGUd4GwJkzZ2rbtm1avXq17rzzTlVXV2vDhg1asGBBfMzKlSvV09OjxYsX6+jRo5o9e7a2b9+uwsJCGysHAAAYXXm7D2AmsI8QAAC5h8/vPF4DCAAAgMQIgAAAAIYhAAIAABiGAAgAAGAYAiAAAIBhCIAAAAyj6XCTajbVqOlwk92lAGlBAAQA4BQsy1JDc4P2d+9XQ3OD2D0N+YAACADAKTQeapS/3S9J8rf71Xio0eaKgDNHAAQAIAnLsuTb4ZPL4ZIkuRwu+Xb46AIi5xEAAQBIItb9C1thSVLYCtMFRF4gAAIAkMDQ7l8MXUDkAwIgAAAJDO3+xdAFRD4gAAIAMESs++dM8jHplJMuIHIaARAAgCFC4ZBaA62KKJLweEQRtQXbFAqHMlwZkB4FdhcAAEC2cRe45V/kV9eJrqRjyorL5C5wZ7AqIH0IgAAAJOD1eOX1eO0uAxgVTAEDAAAYhgAIAABgGAIgAACAYQiAAAAAhiEAAgAAGIYACAAAYBgCIAAAgGEIgAAAAIYhAAIAABiGAAgAAGAYAiAAAIBhCIAAAACGIQACAAAYhgAIAABgGAIgACAvNR1uUs2mGjUdbrK7FCDrEAABAHnHsiw1NDdof/d+NTQ3yLIsu0sCsgoBEACQdxoPNcrf7pck+dv9ajzUaHNFQHYhAAIA8oplWfLt8MnlcEmSXA6XfDt8dAGBAQiAAIC8Euv+ha2wJClshekCAkMQAAEAeWNo9y+GLiAwGAEQAJA3hnb/YugCAoMRAAEAeSHW/XMm+WhzykkXEHgbARAAkBdC4ZBaA62KKJLweEQRtQXbFAqHMlwZkH0K7C4AAIB0cBe45V/kV9eJrqRjyorL5C5wZ7AqIDsRAAEAecPr8crr8dpdBpD1mAIGAAAwDAEQAADAMARAAAAAwxAAAQAADEMABAAAMAwBEAAAwDAEQAAAAMMQAAEAAAxjRAC8++675XA4tGzZsvhrlmVpzZo1qqysVFFRkerq6nTw4EH7igQAAMiQvA+Afr9fDz74oKZMmTLo9fXr12vjxo3avHmzWlpaVFxcrPr6evX29tpUKQAAQGbkdQA8fvy4FixYoIcffljnnntu/HXLsrRhwwb98z//sz70oQ9pypQp+o//+A+1t7friSeesK9gAACADMjrALhkyRJdd911qqurG/T6kSNH1NHRMeh1j8ej2tpa7d69O9NlAgDe1nS4STWbatR0uMnuUoC8VmB3AaPl0Ucf1d69e+X3+0861tHRIUkqLy8f9Hp5eXn8WCJ9fX3q6+uLfx0MBtNULQDAsiw1NDdof/d+NTQ3aE71HDkcDrvLAvJSXnYA29radMstt+h73/ueCgsL03bedevWyePxxB9erzdt5wYA0zUeapS/PfqPdn+7X42HGm2uCMhfeRkA9+zZo9dff13Tpk1TQUGBCgoKtHPnTm3cuFEFBQXxzl9nZ+eg7+vs7FRFRUXS865evVqBQCD+aGtrG9WfAwBMYVmWfDt8cjlckiSXwyXfDp8sy7K5MiA/5WUAnDNnjl544QXt27cv/pgxY4YWLFigffv26cILL1RFRYWam5vj3xMMBtXS0qJZs2YlPa/b7VZpaemgBwDgzMW6f2ErLEkKW2G6gMAoyss1gCUlJbr88ssHvVZcXKxx48bFX1+2bJnWrl2ryZMnq7q6Wj6fT1VVVZo/f74NFQOAuQZ2/2IBUOrvAs69aC5rAYE0y8sAmIqVK1eqp6dHixcv1tGjRzV79mxt3749rWsGAQDDG7j2b6CBXcD6d9TbUBmQvxwWCyxOWzAYlMfjUSAQYDoYAE6DZVmq/Xat9rTvUUSRk4475dT0qulq+UILXUCkDZ/feboGEACQG0LhkFoDrQnDnyRFFFFbsE2hcCjDlQH5zdgpYACA/dwFbvkX+dV1oivpmLLiMrkL3BmsCsh/BEAAgK28Hq+8HvZVBTKJKWAAAADDEAABAAAMQwAEAAAwDAEQAADAMARAAAAAwxAAAQAADEMABAAAMAwBEAAAwDAEQAAAAMMQAAEAZ6TpcJNqNtWo6XCT3aUASBEBEABw2izLUkNzg/Z371dDc4Msy7K7JAApIAACAE5b46FG+dv9kiR/u1+NhxptrghAKgiAAIDTYlmWfDt8cjlckiSXwyXfDh9dQCAHEAABAKcl1v0LW2FJUtgK0wUEcgQBEAAwYkO7fzF0AYHcQAAEAIzY0O5fDF1AIDcQAAEAIxLr/jmTfIQ45aQLCGQ5AiAAYERC4ZBaA62KKJLweEQRtQXbFAqHMlwZgFQV2F0AACC3uAvc8i/yq+tEV9IxZcVlche4M1gVgJEgAAIARszr8crr8dpdBoDTxBQwAACAYQiAAAAAhiEAAgAAGIYACAAAYBgCIAAAgGEIgAAAAIYhAAKAgZoON6lmU42aDjfZXQoAGxAAAcAwlmWpoblB+7v3q6G5gVu2AQYiAAKAYRoPNcrf7pck+dv9ajzUaHNFADKNAAgABrEsS74dPrkcLkmSy+GSb4ePLiBgGAIgABgk1v0LW2FJUtgK0wUEDEQABABDDO3+xdAFBMxDAAQAQwzt/sXQBQTMQwAEAAPEun/OJH/tO+WkCwgYhAAIAAYIhUNqDbQqokjC4xFF1BZsUygcynBlAOxQYHcBAIDR5y5wy7/Ir64TXUnHlBWXyV3gzmBVAOxCAAQAQ3g9Xnk9XrvLAJAFCIAAACArtLZK3d3Jj48fL02alLl68hkBEAAA2K61Vbr4Yqm3N/mYwkLpwAFCYDpwEQgAALBdd/epw58UPX6qDiFSRwAEAAAwDAEQAADAMARAAMghTYebVLOpRk2Hm+wuBUAO4yIQAMgRlmWpoblB+7v3q6G5QXOq58jhcNhdFsDVuzmIAAgAOSJ2L19J8Xv31r+j3uaqYDqu3s1NTAEDQA6I3cvX5XBJklwOF/fuRVbg6t3cRAAEgBwQ6/6FrbAkKWyF411AIB+MHx/tFJ5KYWF0HM5c3gbAdevWaebMmSopKVFZWZnmz5+vAwcODBpjWZbWrFmjyspKFRUVqa6uTgcPHrSpYgBIbGj3L4YuIPLJpEnRaeI9e5I/mEZOn7wNgDt37tSSJUv07LPP6umnn9abb76puXPnqqenJz5m/fr12rhxozZv3qyWlhYVFxervr5evcP1sgEgg4Z2/2LoAiLfTJokTZuW/EH4Sx+HZcg/Hbu6ulRWVqadO3fqmmuukWVZqqqq0q233qoVK1ZIkgKBgMrLy7VlyxbdeOONw54zGAzK4/EoEAiotLR0tH8EAAayLEu1367VnvY9iihy0nGnnJpeNV0tX2jhimCMSLqu3N27V5o+ffhxe/ZEQ1w24PPboKuAA4GAJGns2LGSpCNHjqijo0N1dXXxMR6PR7W1tdq9e3dKARAARlsoHFJroDVh+JOkiCJqC7YpFA7JXeDOcHXIVVy5CyMCYCQS0bJly3T11Vfr8ssvlyR1dHRIksrLyweNLS8vjx8bqq+vT319ffGvg8HgKFUMAFHuArf8i/zqOtGVdExZcRnhDyMykit3CYD5yYgAuGTJEr344ot65plnzug869at0x133JGmqgAgNV6PV16P1+4ygIRiV+8O103k6t3skvcB8KabbtJPfvIT7dq1SxMnToy/XlFRIUnq7OxUZWVl/PXOzk5NnTo14blWr16t5cuXx78OBoPyevlLGQBgrtjVu9wJJLfkbQC0LEtLly7Vtm3b9POf/1zV1dWDjldXV6uiokLNzc3xwBcMBtXS0qIvfelLCc/pdrvldjPNAgCwR7becm3SJAJersnbALhkyRJt3bpVP/zhD1VSUhJf1+fxeFRUVCSHw6Fly5Zp7dq1mjx5sqqrq+Xz+VRVVaX58+fbWzyAvNJ0uEk3P3mzNs7bqLoL64b/BiABLtxAOuXtPoAPPPCAAoGA3vve96qysjL+eOyxx+JjVq5cqaVLl2rx4sWaOXOmjh8/ru3bt6twuK3IASBFlmWpoblB+7v3q6G5gU2bcdq45RrSKW87gKn8JetwOHTnnXfqzjvvzEBFAEwU28RZUnzT5vp31NtcFQDT5W0HEADsNvQWbty6DdmC++4ibzuAAGC3gd0/afCt2+gCmiMbL9zgyl0QAAFgFAzs/g28h2+sCzj3orncus0A2XzhBlfumo0pYAAYBbHu38DwJw3uAiL/ceEGshUBEADSLNb9cyb5K9YpJ2sBAdiKAAgAaRYKh9QaaFVEkYTHI4qoLdimUDiU4cqQy7hwA+nEGkAASDN3gVv+RX51nehKOqasuEzuAu4slM2y7eINLtxAOhEAAWAUeD1eeT3cKzxXZevFG1y4gXRhChgAEmg63KSaTTVqOtxkdymwARdvIN8RAAFgCG7fBiDfMQUMAENw+7bclW3r9mIXbgw3lcyFG8g0AiAADDB0A2c2bs4d2bhujws3kK0IgAAwALdvy10jWbfHhRswHWsAAeBtA7t/A8W6gKwFBJAv6AACwNuGdv9i6AKOrmxbtweYgAAIABp8+7ZEd/CI3b6NtYDplY3r9iQu3kD+IwACgEZ2+zbu4JE+2bxuj4s3kM8IgAAgbt+Gk3HxBvIZARBA3mg63KSbn7xZG+dtVN2FdSP+fm7fljrW7QG5jQAIIC8MvXvHnOo5rNUbJazbA3IfARBAXuDuHZnDuj0g9xEAAeQ87t6BGNbtAakhAALIedy9IzWs2wMQQwAEkNOGdv9i6AIOxro9AAMRAAHkNO7ekRrW7QEYiAAIIGdx9478wLo9IPMIgABsdSZ795ly9w7W7gFINwIgANuc6d59Jty9IxvX7rFuD8h9BEAAtknH3n35fveObFy7x7o9IPcRAAHYIt/37sv3aVvW7QG5jQAIwBb5vHdfNk7bAsBATrsLAGCegd2/gWJdQMuybKosPUYybZspsXV7p8K6PcAcdAABZFy27t2Xz9O2rNsDMBABEMBpOd3tW7J17z4Tpm1ZtwcghilgACM2dPuWkUzZjmTvvkzKxmlbABgtdAABjNiZbN+S7r378nnaVmLPPQCjgwAIYETSsX1LuvbuM2XalrV7ANKNAAhgRNKxfUu6unbZuEnyaGDtHoB0IwACBjmT++5KJ3f/YkbSBTSha8e0LTACkYjU1xf9A/PGG9Ff3W7pvPPsriyvEQABQ5zpfXel9GzfYkLXjmlb5BzLiv7B6+2VCgqkkpLo63190p49/cdiAS32/JJLpLq3/zF5/Lj0j/948rjY4/3vl+64Izr2jTekysror6EEF3zdcIP0gx9k5mc3FAEQMMSZ3nfXsiyt3O6TQ05ZCa7gdcipldt9mrskP27ldqaYtsWIWVa0G+Z6e4P03l7pyJHk4evyy6Urr4yO7eiQ7r8/efi64Qbpc5+Ljj1yRLr22sFj+/r667jlFmnDhujz7m7p6quT1/z5z/cHwHBY+ta3ko8d+AdizBgpEDh5jNMpFRVJZ511yrcKZ44ACBggHRduvPrbkH79u1bp7MTbt1iK6Ne/a9Orvw1pcnVqV/BmE6ZtMUgoJP3pT6cOX7FAc+SItG3byWNizz/9aWnu3OjY55+XFi9OPK63V7r3XmnFiujYX/9aqq1NXuNtt/UHwD/9SfrqV5OPvfTS/udOp/Tb3yYfO/APwV/8hXTRRdH/+YuKor8OfD59ev/Y4uJoTYWF0Snc2JjYr94BF365XNE2+dBzFhBLMoV3GshyZ7pur7VV+tFLiS/c2PRUo/6mpj6lTtWxP7ulh/xScfLtW9RTpmOfcEvVIy7TdkzbZhHLigawgcFoYFC65BLpnHOiYw8elJ55Jnn4WrRImjIlOra5WbrrrpO7Y7HxDz0kfeQj0bE//nH/80Qeflj6wheiz195Rbr11uRjZ8zoD4B9fdIvf5l87NDwNXbsyaEr9vyCC/rHTpggLV3af3zo+Cuu6B9bWSk9++zJY2KPgd23c8+VXn01eb0DFRRIt9+e2lhJeuc7Ux+LtCMAAlkodpWsZVm65RcN2h/Yr1t+1KD/+Mvour1Ug0hrq/TOiy31fconVbokZ/+FG4q4tPR/fFrxt3P1ygFHasEm6I0+8hTTtgNYlvTmmycHqgsuiHZ3pGjweemlk7tYsa///u+lqqro2B/+UPrP/0wevv7rv6SrroqOve++6DRkMk8+Kf31X0ef79rVH8QS+au/6g+A3d3Sz36WfGxPT//zwkLJ4egPSUM7WrEAKkU7WwsWJO6QFRZK11zTP/ayy6T//d+Tu2OxX2Nr76Rol/GPf0xe70ATJkgbN6Y2dsyYU3cWYQQCIJBlBl0le1Gj9Klo5+6lgF8zPt4oHapP+SrZ7m6p77xG6byTL9yQMyyd51ffeY3q7k6tC5ht8n7a1rKkt97qD0vjxkWn7yTp0CHp979PPD3Z2yt98YvRDpIkPf641NSUfDrzRz/qD2pr1khf/3r09UR3eHnxxWiIkaKh7VQdnw98oP+8r74q/fd/Jx8bDPY/LywcfOxU04QXXBD9fYZ2smKh7eKL+8fOmiVt3Zo4pBUW9tcaqz0cjobA4dTUSN/97vDjpGhwnDcvtbHAKCIAAmkycG+7lq4m3fvizfqHyzeqdkJ02nbke9tZ0rU+KfJ25y7iin59aK56ex0pXSVrWbFzOCVngrV7Ead0rU+WNVdS7l24kbFp27feGhw62tqkP/858RquUEj61Kf6x27dKv3qV8nXfD35ZP+i/2XLolc+DhwbGfDf7ehRyeOJPr/7bunb305e88c+1h8Ad++OTlkmc+xY/3PLkk6cOHlMLCS99Vb/a+efHw1VAztkA0PVhAn9Y+fMkTZtSj5FWVPTP/ZTn5I+/vHo62PGnDqEzZkTfaRiJC1eLmRCniMAwmjp2pB48N52lrSoQTpvv7783w3Sw3MkOUa+t91FQzp3b3fsdFG0C5iKNyMhydOaOPxJ0ddL26LjlJkLN864a/enP0Wn6t4OSZPeeEOTYoHJ6ey/IlGKhq+2tsQdMrc7uuYrZtGi6LqoRCGtqGhwSFq8WNq+PfkP8MlP9geIbdtOvZ3FG29IZ58dfR4ISH/4w6nHxgLgeedF18IlW5w/cB3XvHnR7mGytWQDO1/LlkWv7BwY1NzuxIHoM5+JPlIxdWr0kYpYkAQwagiAyEnpCG4nbUh8YZM072bpyY3S4WiIGMlUa/w8A4PbgMA2sr3thnT/YgZ0AVPp2I1xpXbhxpi/G4Xw9/jj0Y7VkPA1qbdXB26erO6PL+kf6/NJr70WXSAfCmn8Wx2adPXh6Pecf370ysmYa66RfvObxL/nxInRwBdz333RUJfIOecMDoC//W10ejORoWl13DipvDx5+Hrrrf4Adt110TViQ9d6xZ6PGTP4fVi6NPHCfLe7f/pXik69prrgfu7c/osQhjNuXPQBIK8RAJExo9NtSyyV4DZ4Q2JLmtMgTdgf/fVwtGs38g2Jk0/bjmiKdWj3L2ZgF/BorfSHtzthhYX9u+ZHItJPfxp9/eW/kILXDX/hxvLlUuFLJ3fKZs6Uvve91Osees4k3axJl1+uSfcMCICHvh/9D5ZIrDsWEwtNidZwVVYOHvuBD0S3v0jU+Rp63rvuklatGjxm4ML/gVJd7yWl3iGTpAsvTH0sAJwBAmAWSWdASteaqGwLbVKCO0kk6NyNOLgl6dolFYn0B6WzzpJUcvJ5pJOnbVtapGlvX3137Ji0cuVJU5NW10Tp2l8Pv25vzpuS9kVf+8hHpO9/P/rc4ZD+5m/eHvwuSdcN//Pv/LmkBFtTlJfHn44fLxWqV70qPHnc2wZN3c6dG10nl2jN18ApR0n62tf6g+zQoFZcPHjsc8+lvj7L50ttnBQNuwBgCOMD4KZNm3Tvvfeqo6NDV155pe677z5dFduKIIPSNR2ZzmnNUZsiTXKukXfbpGSdO0nRsNXe1R+upkzp3zT1tdekTf8jaYmG7dr9/vfSh2cPXhs28NZFX/mK9MlvnHyemIHne/pp6UtvB8BwWNq8+aSf6E3XldK1HcOv23OVS46C/oXyMQ6HNHt2dLrwzSuk3Sm8jf/0T9I7e06enhw7Nj5k0iTpwK/71B20or9f7MKFAQb9g+A730nhN37bBz+Y+lgW5wPAGTM6AD722GNavny5Nm/erNraWm3YsEH19fU6cOCAysrKMlpLuqYj0zmtOaJzlfdFF+cnugXRG29Imiap8pTnkiQ1NEjL39u/Xsnv7981P3bunosl7YweP1Xn7stf0qCu1u23D941/zv/JmnJ8F07p1P63e+Sv1GxNymVaduaAbvxFxdHaxrS9RrTXiGtu3T4dXv/r0K6Kskf4V/8QpI0vlUqTKHzOn7xDVIKwXvSFZ5UhgEAspzRAfAb3/iGFi1apM9+9rOSpM2bN+unP/2pvvOd72jVqlX2FTbS6UjLii6e7+2Vut+SNH748zz2mPSztsR7h8U2TW1pkVSbWk0//rH00Y8mr3HNE5I+NPy5ntouzSsfvGv+vn1DThabPhymc3fRO6SxBf0Ba+iu+Z/4O+m/UujaTZgQfS+SbfJaUCBrT4rbrfxtS/9rZ50VvW3SEONbpcI7pN5TrNsrLJTGVyQ9HMfdLQAAiRgbAEOhkPbs2aPVq1fHX3M6naqrq9Pu3YnnzPr6+tQ34IbZwYEbl6bNMKHmhhsk7Y2u95oxI/ot3/xmdBpSUnTN197hz7P+HiVc83Xttf0B8OjR1GqSookkdhPvRGu+4rvbD3Ou5bdK1wzYD+yyy6LbbQw87yGP9GEN37l7/PFo4zGRsrLo/Tafe2r4rt1Z9dK0Uy8LSOd2K+kObdzdAgAwlLEBsLu7W+FwWOUDFrlLUnl5uV5++eWE37Nu3Trdcccdo1vYcKHmt0ck/Ta6X1jMoCsUHamdp+79UuXlJ3ezLrmk/3tiQTCV/eiuuy66pi2ZvSn+fAsWRDNszLnnSvVDup9vSenYJiWdmyRXlbvlfsSvvoLk07but8pUdXNq260Q2gAAo8nYAHg6Vq9ereXLl8e/DgaD8nrTeV/UFELNQw9LU94aHNQ+8xnp7/4uGuBeOEuakcJ57rkneXcsprIytZrkSHFhfnr2tpOU2no7nXqz5NKxKXTtPG3RcSl07V553qvu7uT/PzDVCgDIFsYGwPHjx8vlcqmzs3PQ652dnaqoSLy4yu12y+1OrYNzWlIJNdPrTw5use6dFM1PF6UwrTlMOBpRTRk+17hxlhxzfLJO0blzzPFp3LhTB8rJ1W7t/qxfhzqSd+3eUVmmydV07QAA+cXYADhmzBhNnz5dzc3Nmj9/viQpEomoublZN910U8brSdd0ZDqnNdN5rnSFNkmqOC+kcRe2qrs3eedu/EVtqjhv+M7du2u8endNOru4AABkP2MDoCQtX75cCxcu1IwZM3TVVVdpw4YN6unpiV8VnEnpmo5M57RmOs+VztDmLnBr79/71XUieeeurLhM7oLM3NsWAIBc47Asy7K7CDvdf//98Y2gp06dqo0bN6q2tjal7w0Gg/J4PAoEAiotLT3jWp59qW3Y6cjaSydm7DzpPldboG3Y0DaxNLVzAQBwutL9+Z2LjA+AZ4L/gQAAyD18fktOuwsAAABAZhEAAQAADEMABAAAMAwBEAAAwDAEQAAAAMMQAAEAAAxDAAQAADAMARAAAMAwBEAAAADDGH0v4DMVu4lKMBi0uRIAAJCq2Oe2yTdDIwCegWPHjkmSvF6vzZUAAICROnbsmDwej91l2IJ7AZ+BSCSi9vZ2lZSUyOFwpPXcwWBQXq9XbW1txt6nMNN4z+3B+24P3nd78L7bY+j7blmWjh07pqqqKjmdZq6GowN4BpxOpyZOnDiqv0dpaSl/SWQY77k9eN/twftuD953ewx8303t/MWYGXsBAAAMRgAEAAAwDAEwS7ndbt12221yu912l2IM3nN78L7bg/fdHrzv9uB9PxkXgQAAABiGDiAAAIBhCIAAAACGIQACAAAYhgAIAABgGAJgFtq0aZMuuOACFRYWqra2Vs8995zdJeW9Xbt26frrr1dVVZUcDoeeeOIJu0vKe+vWrdPMmTNVUlKisrIyzZ8/XwcOHLC7rLz3wAMPaMqUKfENcWfNmqUnn3zS7rKMc/fdd8vhcGjZsmV2l5LXbr/9djkcjkGPSy65xO6ysgIBMMs89thjWr58uW677Tbt3btXV155perr6/X666/bXVpe6+np0ZVXXqlNmzbZXYoxdu7cqSVLlujZZ5/V008/rTfffFNz585VT0+P3aXltYkTJ+ruu+/Wnj179Pzzz+vaa6/Vhz70If3mN7+xuzRj+P1+Pfjgg5oyZYrdpRjhsssu02uvvRZ/PPPMM3aXlBXYBibL1NbWaubMmbr//vslRe837PV6tXTpUq1atcrm6szgcDi0bds2zZ8/3+5SjNLV1aWysjLt3LlT11xzjd3lGGXs2LG699579fnPf97uUvLe8ePHNW3aNH3rW9/S2rVrNXXqVG3YsMHusvLW7bffrieeeEL79u2zu5SsQwcwi4RCIe3Zs0d1dXXx15xOp+rq6rR7924bKwNGXyAQkBQNI8iMcDisRx99VD09PZo1a5bd5RhhyZIluu666wb9PY/RdfDgQVVVVenCCy/UggUL1NraandJWaHA7gLQr7u7W+FwWOXl5YNeLy8v18svv2xTVcDoi0QiWrZsma6++mpdfvnldpeT91544QXNmjVLvb29Ovvss7Vt2zbV1NTYXVbee/TRR7V37175/X67SzFGbW2ttmzZoosvvlivvfaa7rjjDv3lX/6lXnzxRZWUlNhdnq0IgABst2TJEr344ouszcmQiy++WPv27VMgENAPfvADLVy4UDt37iQEjqK2tjbdcsstevrpp1VYWGh3OcaYN29e/PmUKVNUW1ur888/X48//rjxSx4IgFlk/Pjxcrlc6uzsHPR6Z2enKioqbKoKGF033XSTfvKTn2jXrl2aOHGi3eUYYcyYMXrHO94hSZo+fbr8fr+++c1v6sEHH7S5svy1Z88evf7665o2bVr8tXA4rF27dun+++9XX1+fXC6XjRWa4ZxzztE73/lOvfrqq3aXYjvWAGaRMWPGaPr06Wpubo6/FolE1NzczPoc5B3LsnTTTTdp27Zt+tnPfqbq6mq7SzJWJBJRX1+f3WXktTlz5uiFF17Qvn374o8ZM2ZowYIF2rdvH+EvQ44fP65Dhw6psrLS7lJsRwcwyyxfvlwLFy7UjBkzdNVVV2nDhg3q6enRZz/7WbtLy2vHjx8f9C/CI0eOaN++fRo7dqwmTZpkY2X5a8mSJdq6dat++MMfqqSkRB0dHZIkj8ejoqIim6vLX6tXr9a8efM0adIkHTt2TFu3btXPf/5zPfXUU3aXltdKSkpOWt9aXFyscePGse51FK1YsULXX3+9zj//fLW3t+u2226Ty+XSJz7xCbtLsx0BMMt8/OMfV1dXl9asWaOOjg5NnTpV27dvP+nCEKTX888/r/e9733xr5cvXy5JWrhwobZs2WJTVfntgQcekCS9973vHfT6v//7v+szn/lM5gsyxOuvv65Pf/rTeu211+TxeDRlyhQ99dRTev/73293aUDa/f73v9cnPvEJ/fGPf9SECRM0e/ZsPfvss5owYYLdpdmOfQABAAAMwxpAAAAAwxAAAQAADEMABAAAMAwBEAAAwDAEQAAAAMMQAAEAAAxDAAQAADAMARAAAMAwBEAAAADDEAABAAAMQwAEAAAwDAEQAADAMARAAAAAwxAAAQAADEMABAAAMAwBEAAAwDAEQAAAAMMQAAEAAAxDAAQAADAMARAAAMAwBEAAAADDEAABAAAMQwAEAAAwDAEQAADAMARAAAAAwxAAAQAADEMABAAAMAwBEAAAwDAEQAAAAMMQAAEAAAxDAAQAADDM/wd0m+Wyk82lzAAAAABJRU5ErkJggg==", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "import numpy as np\n", "\n", "# evenly sampled time at 200ms intervals\n", "t = np.arange(0., 5., 0.2)\n", "\n", "# red dashes, blue squares and green triangles\n", "plt.plot(t, t, 'r--', t, t**2, 'bs', t, t**3, 'g^')\n", "plt.show()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Plotting with keyword strings\n", "\n", "There are some instances where you have data in a format that lets you access particular variables with strings. For example, with `numpy.recarray` or `pandas.DataFrame`.\n", "\n", "Matplotlib allows you provide such an object with the `data` keyword argument. If provided, then you may generate plots with the strings corresponding to these variables." ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAoAAAAHgCAYAAAA10dzkAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjMuMywgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/Il7ecAAAACXBIWXMAAA9hAAAPYQGoP6dpAABsgUlEQVR4nO3dd3wU1d4G8OfMbnbTN72RAKHX0EGKohClqWBFRcWKXbmKKFfFxhXlei34Kni9KmIDG2DFgoAivYReAgQIpEOym7rJ7pz3j0AkkLIt2c3u830/e18zM3vmlyFkH87MOUdIKSWIiIiIyGco7i6AiIiIiJoXAyARERGRj2EAJCIiIvIxDIBEREREPoYBkIiIiMjHMAASERER+RgGQCIiIiIfwwBIRERE5GMYAImIiIh8DAMgERERkY9hACQiIiLyMQyARERERD6GAZCIiIjIxzAAEhEREfkYBkAiIiIiH8MASERERORjGACJiIiIfAwDIBEREZGPYQAkIiIi8jEMgEREREQ+hgGQiIiIyMcwABIRERH5GAZAIiIiIh/DAEhERETkYxgAiYiIiHwMAyARERGRj2EAJCIiIvIxDIBEREREPoYBkIiIiMjHMAASERER+RgGQCIiIiIfwwBIRERE5GMYAImIiIh8DAMgERERkY9hACQiIiLyMQyARERERD6GAZCIiIjIxzAAEhEREfkYBkAiIiIiH8MASERERORjGACJiIiIfAwDIBEREZGPYQAkIiIi8jEMgEREREQ+hgGQiIiIyMcwABIRERH5GAZAIiIiIh/DAEhERETkYxgAiYiIiHwMAyARERGRj2EAJCIiIvIxDIBEREREPoYBkIiIiMjHMAASERER+RgGQCIiIiIfwwBIRERE5GO07i6gJVNVFVlZWQgJCYEQwt3lEBERkQ2klCguLkZCQgIUxTf7whgAnZCVlYWkpCR3l0FEREQOyMzMRGJiorvLcAsGQCeEhIQAqP4BCg0NdXM1REREZAuTyYSkpKSaz3FfxADohDO3fUNDQxkAiYiIWhhffnzLN298ExEREfkwBkAiIiIiH8MASERERORj+AwgEREReQxVVbFv4yHkHz+FijIzAoP9Edc2Gh36tPXpZ/ZcjQGQiIiI3K64sBS/fvwHls37FTlH8s/b37prK0y4/zKMuGEIAoL93VChdxFSSunuIloqk8kE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", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "data = {'a': np.arange(50),\n", " 'c': np.random.randint(0, 50, 50),\n", " 'd': np.random.randn(50)}\n", "data['b'] = data['a'] + 10 * np.random.randn(50)\n", "data['d'] = np.abs(data['d']) * 100\n", "\n", "plt.scatter('a', 'b', c='c', s='d', data=data)\n", "plt.xlabel('entry a')\n", "plt.ylabel('entry b')\n", "plt.show()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Plotting with categorical variables\n", "\n", "It is also possible to create a plot using categorical variables. Matplotlib allows you to pass categorical variables directly to many plotting functions. For example:" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [ { "data": { "image/png": "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gADXKGSJo0eP6rvvvtPw4cPVsGFD1/ZOnTrpmmuu0YcfflgqhnvvvfeicS5ZskROp1NTpkxRQID7n7qfXlr60/7Izs7WiRMn1KdPH+Xm5mr79u0XfZ2ybN++XU2aNFGTJk3Url07zZs3T9dff70WLlxY7jEffvihAgMDdf/997tt/9Of/iRjjD766KMqxXIxI0eOdOuPPn36qKioSPv375ckLV++XIWFhbrvvvvcjhs3bpxH4gEA1D4uGQUAHxUdHS2puJCpqNWrV+vRRx/VmjVrlJub67bP4XDIbrdf8Phdu3bp+++/L/dSxGPHjkmS9u/fr/j4eEVERLjtT0lJcXteUni0adOm1LnatWunjz/+2HXjmBLJyckXjFEqXoYjICBA7du3v2C7H374QY888ohWrFjhKrBLVKRALktSUpJefvll2Ww2hYWFqXXr1oqJibngMfv371dCQkKp4r5du3au/Z7QvHlzt+cNGjSQJP34449ur/vzn1vDhg1dbQEAvo2CEAB8VHR0tBISErRly5YKtd+zZ4+uvvpqtW3bVk8//bQSExMVEhKiDz/8UM8880yF1slzOp265pprNHHixDL3/+IXv6jUe6iKn47qVUdmZqb69u2r6OhoTZ8+Xa1atVJYWJg2btyoP//5z1VeNzAyMlIDBgyokRg9LTAwsMzt5gJzMwEAdQsFIQD4sBtuuEEvvfSS1qxZox49elyw7dKlS5Wfn6/333/fbWRo5cqVpdqWdcdOqfgGJqdPn75owdOiRQutXLlSubm5bqOEu3fvLtVOKl4n7+e2b9+uxo0bu40OVlSrVq3kdDq1detWdenSpcw2n332mU6ePKn//Oc/uvLKK13b09LSKv161dWiRQt9+umnys7OdhslLLlstaSfpPJ/NuVtr25cUvHP7acjsydPnnSNIgIAfBtzCAHAh02cOFGRkZG65557lJGRUWr/nj179Oyzz0o6Pxr009Efh8OhRYsWlTouMjKyzAXOf/Ob32jNmjX6+OOPS+3LzMxUYWGhJGnQoEE6e/as22LoTqdTL7zwgtsx8fHx6tKlixYvXuz2elu2bNEnn3yi66677gLvvnxDhw5VQECApk+fXmqkr+T9l9UfBQUFevHFF6v0mtVx3XXXqaioSM8//7zb9meeeUY2m03XXnuta1t5P5uSwrmsfVV19dVXKygoqNTSJD+PEwDguxghBAAf1qpVK73xxhv67W9/q3bt2umuu+5Shw4dVFBQoK+++krvvPOOa624gQMHKiQkRIMHD9aoUaN0+vRpvfzyy4qJidHRo0fdztu1a1fNnz9fM2fOVEpKimJiYtS/f389+OCDev/993XDDTdo+PDh6tq1q3JycrR582b961//0r59+9S4cWMNHTpUqamp+tOf/qTdu3erbdu2ev/993Xq1ClJ7qNZTzzxhK699lr16NFDI0aMcC07YbfbNXXq1Cr1S0pKih5++GHNmDFDffr00a9+9SuFhoZq/fr1SkhI0KxZs9SzZ081aNBAw4YN0/333y+bzabXXnvNksslBw8erKuuukoPP/yw9u3bp86dO+uTTz7Re++9p/Hjx6tVq1autl27dtWnn36qp59+WgkJCUpOTlb37t3VtWtXSdLDDz+sW2+9VcHBwRo8eHCVRlhLxMbG6oEHHtBTTz2lG2+8Ub/85S+1adMmffTRR2rcuLFHRiUBALXMylucAgBqxs6dO80f/vAHk5SUZEJCQkxUVJTp1auXmTdvntvyCe+//77p1KmTCQsLM0lJSWb27Nlm4cKFpZYrSE9PN9dff72JiooyktyWoMjOzjaTJk0yKSkpJiQkxDRu3Nj07NnTPPnkk6agoMDV7vjx4+b22283UVFRxm63m+HDh5vVq1cbSeatt95yi//TTz81vXr1MuHh4SY6OtoMHjzYbN261a1NydISx48fL/X+f77sRImFCxeaSy+91ISGhpoGDRqYvn37mv/973+u/atXrzZXXHGFCQ8PNwkJCWbixInm448/NpLMypUrXe0qs+zEJZdcctF2ZZ0vOzvb/PGPfzQJCQkmODjYtG7d2jzxxBNuy0IYY8z27dvNlVdeacLDw0st/TBjxgzTtGlTExAQ4PYzLW/ZifXr17ude+XKlaXee2FhoZk8ebKJi4sz4eHhpn///mbbtm2mUaNG5t57773oewUAeDebMcwcBwDUjiVLluimm27Sl19+qV69elkdDqooMzNTDRo00MyZM/Xwww9bHQ4AoBqYQwgA8IgzZ864PS8qKtK8efMUHR2tyy67zKKoUFk//zlK0ty5cyVJ/fr1q91gAAA1jjmEAACPGDdunM6cOaMePXooPz9f//nPf/TVV1/pscceq7GlI+B5b7/9tl555RVdd911qlevnr788ku9+eabGjhwIKO8AFAHUBACADyif//+euqpp/Tf//5XeXl5SklJ0bx58zR27FirQ0MldOrUSUFBQZozZ46ysrJcN5qZOXOm1aEBAGoAcwgBAAAAwE8xhxAAAAAA/BQFIQAAAAD4KQpCAAAAAPBTFIQAAAAA4KcoCAEAAADAT1EQAgAAAICfoiAEAAAAAD9FQQgAAAAAfoqCEAAAAAD8FAUhAAAAAPipIKsDQPU4nU4dOXJEUVFRstlsVocDeD1jjLKzs5WQkKCAAO/8Toy8BiqHvAbqHl/I67qCgtDHHTlyRImJiVaHAficgwcPqlmzZlaHUSbyGqga8hqoe7w5r+sKCkIfFxUVJak4WaKjoy2OBvB+WVlZSkxMdOWONyKvgcohr4G6xxfyuq6gIPRxJZedREdH8wcGqARvvmSLvAaqhrwG6h5vzuu6ggtyAQAAAMBPURACAAAAgJ+iIAQAAAAAP0VBWEWff/65Bg8erISEBNlsNi1ZssRtvzFGU6ZMUXx8vMLDwzVgwADt2rXLrU1eXp7GjBmjRo0aqV69err55puVkZFRi+8CwE+R14D3KHIardlzUu99d1hr9pxUkdNU6TzkNQBcGAVhFeXk5Khz58564YUXytw/Z84cPffcc1qwYIHWrl2ryMhIDRo0SHl5ea42f/zjH7V06VK98847WrVqlY4cOaJf/epXtfUWAPwMeQ14h2Vbjqr37BW67eWv9cBb3+m2l79W79krtGzL0Uqfi7wGgIswqDZJ5t1333U9dzqdJi4uzjzxxBOubZmZmSY0NNS8+eabrufBwcHmnXfecbXZtm2bkWTWrFlT4dd2OBxGknE4HNV/I4AfqGjOkNeANT7afMQk/fm/psXPHknnHh9tPlLqGPIaqHvImdrDCKEHpKWlKT09XQMGDHBts9vt6t69u9asWSNJ2rBhg86ePevWpm3btmrevLmrDQDvQV4DnlfkNJq2dKvKuji0ZNu0pVurfPnoz5HXQO1znDmrEa+s11e7T8iYmsllVA/rEHpAenq6JCk2NtZte2xsrGtfenq6QkJCVL9+/XLblCU/P1/5+fmu51lZWTUUNYALIa8Bz1uXdkpHHXnl7jeSjjrytC7tlHq0alTt1yOvgdq3+Kt9Wr79mA7+mKtlD1wplhm0HgWhj5k1a5amTZtmdRioA5Ie+sDqEGrcvsevtzqEKiGvgWLHsssvBqvSzkrkNVDa6fxCLVydJkka27+1AgKoBr0Bl4x6QFxcnCSVugNZRkaGa19cXJwKCgqUmZlZbpuyTJo0SQ6Hw/U4ePBgzQYPoEzkNeB5MVFhNdruYshroHa9tma/MnPPqmWTSF3fMd7qcHAOBaEHJCcnKy4uTsuXL3dty8rK0tq1a9WjRw9JUteuXRUcHOzWZseOHTpw4ICrTVlCQ0MVHR3t9gDgeeQ14HmpyQ0Vbw9TeWMGNknx9jClJjeskdcjr4Hak1tQqL99sVeSNKZfigIZHfQaXDJaRadPn9bu3btdz9PS0vTdd9+pYcOGat68ucaPH6+ZM2eqdevWSk5O1uTJk5WQkKChQ4dKKp60PmLECE2YMEENGzZUdHS0xo0bpx49euiKK66w6F0B/o28BqwVGGDTo4Pba/TrG2WT3G4uU/LR8dHB7Sv1QZK8BrzDG2sP6GROgZo3jNCQLglWh4OfoCCsom+++UZXXXWV6/mECRMkScOGDdMrr7yiiRMnKicnRyNHjlRmZqZ69+6tZcuWKSzs/GUuzzzzjAICAnTzzTcrPz9fgwYN0osvvljr7wVAMfIasN4vO8Rr/p2XadrSrW43mImzh+nRwe31yw6Vu8yMvAasl3e2SH/9vHh08L5+rRQUyEWK3sRmuN+rT8vKypLdbpfD4eByFFSKv95UxhdyxhdiBDytyGm0Lu2UjmXnKSaq+DLR8kYGfSFnfCFGwFMWf7VPj77/g5rWD9fK/+unkKCLF4TkTO1hhBAAAHidwABbjSwtAcBa+YVFWrBqjyTp3r4tK1QMonbxEwEAAADgEf/ecFhHHXmKiQrVLd0SrQ4HZaAgBAAAAFDjzhY59eJnxTd1GtW3lcKCAy2OCGWhIAQAAABQ45Z8e1iHfjyjxvVCdHtqc6vDQTkoCAEAAADUqCKn0YufFc8dvKdPS4WHMDrorSgIAQAAANSo/35/RGknctQgIli/u6KF1eHgAigIAQAAANQYp9Po+RXFcwdH9E5WZCgLG3gzCkIAAAAANWbZD+nadey0osOCdFfPJKvDwUVQEAIAAACoEcYYzTs3Oji8V7Kiw4ItjggXQ0EIAAAAoEZ8uu2Yth3NUmRIoH7fK8nqcFABFIQAAAAAqq14dHCXJOmunkmqHxFicUSoCApCAAAAANW2audxfX/IofDgQN3TO9nqcFBBFIQAAAAAquWncwfv6N5cjeqFWhwRKoqCEAAAAEC1rNlzUhv2/6iQoACNvLKl1eGgEigIAQAAAFTLc+fmDt52eaJiosMsjgaVQUEIAAAAoMrW7zulr/eeUnCgTaP6trI6HFQSBSEAAACAKntuefHo4K+7JiqhfrjF0aCyKAgBAAAAVMl3BzP1xa4TCgyw6b5+jA76IgpCAAAAAFUy79zo4E2XNlViwwiLo0FVUBACAAAAqLQthx1avv2YAmzSmKtSrA4HVURBCAAAAKDSnj+37uDgzglKbhxpcTSoKgpCAAAAAJWyIz1by35Il80mjWV00KdREAIAAAColHnn1h28tkOcWsdGWRwNqoOCEAAAAECF7T52Wh9sPipJGntVa4ujQXVREAIAAACosBdX7pYx0oB2sWqfEG11OKgmCkIAAAAAFbL/ZI7e23REknT/1cwdrAsoCAEAAABUyIsr96jIadT3F03UqVl9q8NBDaAgBAAAAHBRh37M1b83HpLE6GBdQkEIAAAA4KIWrNqjQqdRz1aN1LVFQ6vDQQ2hIAQAAABwQemOPP1zffHo4Lj+3Fm0LqEgBAAAAHBBf/18jwqKnLo8qYGuaMnoYF1CQQgAFVRUVKTJkycrOTlZ4eHhatWqlWbMmCFjjKuNMUZTpkxRfHy8wsPDNWDAAO3atcvCqAFcCHkNXNzx7Hy9sfaApOLRQZvNZnFEqEkUhABQQbNnz9b8+fP1/PPPa9u2bZo9e7bmzJmjefPmudrMmTNHzz33nBYsWKC1a9cqMjJSgwYNUl5enoWRAygPeQ1c3N++2Kv8Qqe6JNZXn9aNrQ4HNYyC0EP4xhGoe7766isNGTJE119/vZKSkvTrX/9aAwcO1Lp16yQV5/TcuXP1yCOPaMiQIerUqZNeffVVHTlyREuWLLE2eABlIq+BCzuVU6DXvt4vqfjOoowO1j0UhB7CN45A3dOzZ08tX75cO3fulCRt2rRJX375pa699lpJUlpamtLT0zVgwADXMXa7Xd27d9eaNWssiRnAhZHXwIUt/DJNuQVF6tA0Wle1ibE6HHhAkNUB1FU//cZRkpKSkvTmm2+W+42jJL366quKjY3VkiVLdOutt1oWO4CyPfTQQ8rKylLbtm0VGBiooqIi/eUvf9Edd9whSUpPT5ckxcbGuh0XGxvr2leW/Px85efnu55nZWV5IHoAZSGvgfI5zpzV4q/2SZLGXsXcwbqKEUIP4RtHoO755z//qX/84x964403tHHjRi1evFhPPvmkFi9eXK3zzpo1S3a73fVITEysoYgBXAx5DZTvldX7lJ1fqDaxURrYPvbiB8AnMULoIXzjCNQ9Dz74oB566CHXCH7Hjh21f/9+zZo1S8OGDVNcXJwkKSMjQ/Hx8a7jMjIy1KVLl3LPO2nSJE2YMMH1PCsriw+PQC0hr4GyZeed1cLVaZKksf1TFBDA6GBdxQihh/CNI1D35ObmKiDA/ddmYGCgnE6nJCk5OVlxcXFavny5a39WVpbWrl2rHj16lHve0NBQRUdHuz0A1A7yGijba1/vl+PMWbVsEqnrOsZf/AD4LEYIPYRvHIG6Z/DgwfrLX/6i5s2b65JLLtG3336rp59+Wr///e8lSTabTePHj9fMmTPVunVrJScna/LkyUpISNDQoUOtDR5AmchroLTcgkL97Ytzo4NXpSiQ0cE6jYLQQyrzjWNJAVjyjePo0aPLPW9oaKhCQ0M9FjeA8s2bN0+TJ0/Wfffdp2PHjikhIUGjRo3SlClTXG0mTpyonJwcjRw5UpmZmerdu7eWLVumsLAwCyMHUB7yGijtjbUHdCqnQC0aRejGzglWhwMPs5mfLoyHGjN8+HB9+umn+utf/+r6xnHkyJH6/e9/r9mzZ0sqXpri8ccf1+LFi13fOH7//ffaunVrhf/IZGVlyW63y+FwcDkKKiXpoQ+sDqHG7Xv8+ou28YWc8YUYAW/iCznjCzECkpR3tkh95qzU8ex8zb65o357eXNL4iBnag8jhB7CN44AAADwNW+vP6jj2flqWj9cN13azOpwUAsoCD0kKipKc+fO1dy5c8ttY7PZNH36dE2fPr32AgMAAADKkF9YpAWr9kiS7u3XSiFB3H/SH/BTBgAAAKB/bziso448xUaH6paujA76CwpCAAAAwM+dLXLqxc92S5JGXdlKYcGBFkeE2kJBCAAAAPi5Jd8e1qEfz6hxvRDdlmrNjWRgDQpCAAAAwI8VFjn1wsri0cE/9Gmp8BBGB/0JBSEAAADgx/77/VHtO5mrBhHBuvOKFlaHg1pGQQgAAAD4KafT6Plzo4MjeicrMpRFCPwNBSEAAADgpz7akq7dx04rOixId/VMsjocWICCEAAAAPBDTqfRvBW7JEnDeyUrOizY4ohgBQpCAAAAwA99ui1D29OzFRkSqN/3SrI6HFiEghAAAADwM8YYzVtRPHfwrp5Jqh8RYnFEsAoFIQAAAOBnPtt5XJsPOxQeHKh7eidbHQ4sREEIAAAA+BFjjOYtL547eEf35mpUL9TiiGAlCkIAAADAj3y156Q2HshUSFCARl7Z0upwYDEKQgAAAMCPPHdudPC2yxMVEx1mcTSwGgUhAAAA4CfWpZ3S2rRTCg60aVTfVlaHAy9AQQgAAAD4iZJ1B2/plqiE+uEWRwNvQEEIAAAA+IFvD/yoL3adUFCATaMZHcQ5FIQAAACAHyhZd/CmS5sqsWGExdHAW1AQAgAAAHXclsMOrdh+TAE2acxVKVaHAy9CQQgAAADUcSVzB2/snKCkxpEWRwNvQkEIAAAA1GHb07P08Q8Zstmksf0ZHYQ7CkIAAACgDnv+3NzB6zrEKyUmyuJo4G0oCAEAAIA6avex0/pg81FJjA6ibBSEAAAAQB314srdMka6pn2s2sVHWx0OvBAFIQAAAFAH7T+Zo/c2HZEk3d+/tcXRwFtREAIAAAB10Isr96jIadSvTRN1bGa3Ohx4KQpCAAAAoI459GOu/r3xkCRpHKODuAAKQgAAAKCOWbBqjwqdRr1SGqlriwZWhwMvRkEIAAAA1CHpjjz9cz2jg6gYCkIAAACgDlmwao8KipxKTWqoK1o2sjoceDkKQgCohMOHD+vOO+9Uo0aNFB4ero4dO+qbb75x7TfGaMqUKYqPj1d4eLgGDBigXbt2WRgxgIshr1GXHMvO05vrDkiSxl3NuoO4OApCAKigH3/8Ub169VJwcLA++ugjbd26VU899ZQaNDg/N2POnDl67rnntGDBAq1du1aRkZEaNGiQ8vLyLIwcQHnIa9Q1f/siTfmFTnVJrK/eKY2tDgc+IMjqAADAV8yePVuJiYlatGiRa1tycrLr38YYzZ07V4888oiGDBkiSXr11VcVGxurJUuW6NZbb631mAFcGHmNuuRUToFe/3q/JOn+q1Nks9ksjgi+gBFCD+ISFKBuef/999WtWzfdcsstiomJ0aWXXqqXX37ZtT8tLU3p6ekaMGCAa5vdblf37t21Zs2acs+bn5+vrKwstweA2kFeoy75+5d7lVtQpA5No3VVmxirw4GPoCD0EC5BAeqevXv3av78+WrdurU+/vhjjR49Wvfff78WL14sSUpPT5ckxcbGuh0XGxvr2leWWbNmyW63ux6JiYmeexMA3JDXqCscuWe1+Kvi0cGxV7VmdBAVxiWjHsIlKEDd43Q61a1bNz322GOSpEsvvVRbtmzRggULNGzYsCqfd9KkSZowYYLreVZWFh8egVpCXqOuWPRVmk7nF6pNbJQGto+9+AHAOYwQeoinLkEBYJ34+Hi1b9/ebVu7du104EDx3dzi4uIkSRkZGW5tMjIyXPvKEhoaqujoaLcHgNpBXqMuyM47q4VfpkmSxvZPUUAAo4OoOApCD/HUJSjMSQCs06tXL+3YscNt286dO9WiRQtJxVcBxMXFafny5a79WVlZWrt2rXr06FGrsQKoGPIadcGra/YrK69QLZtE6rqO8VaHAx/DJaMe4qlLUGbNmqVp06bVVJgAKuGPf/yjevbsqccee0y/+c1vtG7dOr300kt66aWXJEk2m03jx4/XzJkz1bp1ayUnJ2vy5MlKSEjQ0KFDrQ0eQJnIa/i63IJC/b1kdPCqFAUyOohKYoTQQzx1CcqkSZPkcDhcj4MHD9Zw5ADKc/nll+vdd9/Vm2++qQ4dOmjGjBmaO3eu7rjjDlebiRMnaty4cRo5cqQuv/xynT59WsuWLVNYWJiFkQMoD3kNX/ePrw/oVE6BWjSK0I2dE6wOBz6IEUIPqcwlKF26dJF0/hKU0aNHl3ve0NBQhYaGeixuABd2ww036IYbbih3v81m0/Tp0zV9+vRajApAdZDX8FV5Z4v018/3SpLu69dKQYGM9aDyKAg9hEtQAAAA4ElvrTugE6fz1bR+uG66tJnV4cBHURB6SMklKJMmTdL06dOVnJxc5iUoOTk5GjlypDIzM9W7d28uQQEAAMBF5RcWacGq4tHB0f1aKSSI0UFUDQWhB3EJCgAAADzhXxsOKT0rT3HRYbqlG6ODqDq+SgAAAAB8yNkip+Z/tkeSNKpvS4UGBVocEXwZBSEAAADgQ9799rAO/XhGjeuF6rbU5laHAx9HQQgAAAD4iMIip15cuVuSNPLKZIUFMzqI6qEgBAAAAHzEf78/qn0nc9UgIlh3dG9hdTioAygIAQAAAB/gdBo9f2508J4+LRUZyv0hUX0UhAAAAIAP+GhLunYfO63osCDd1YPRQdQMCkIAAADAyzmdRvNW7JIk3d0rWVFhwRZHhLqCghAAAADwcp9uy9D29GzVCw3S73slWx0O6hAKQgAAAMCLGWM0b0Xx3MG7erSQPYLRQdQcCkIAAADAi32247g2H3YoPDhQI3ozOoiaRUEIAAAAeCljjJ47N3fwziuaq1G9UIsjQl1DQQgAAAB4qdW7T+rbA5kKDQrQH65saXU4qIMoCAEAAAAvVTI6eFtqc8VEhVkcDeoiCkIAAADAC63de1Lr0k4pJDBAo/oyOgjPoCAEAAAAvFDJnUV/3a2Z4u3hFkeDuoqCEAAAAPAyGw/8qC93n1BQgE2j+7ayOhzUYRSEAAAAgJeZt7x47uBNlzZVYsMIi6NBXUZBCAAAAHiRzYccWrnjuAJs0pirUqwOB3UcBSEAAADgReadu7PojZ0TlNQ40uJoUNdREAIAAABeYtvRLH2yNUM2mzS2P6OD8DwKQgAAAMBLPL+y+M6i13WIV0pMlMXRwB9QEAIAAABeYPexbH24+agkRgdReygIAQAAAC/wwso9Mka6pn2s2sVHWx0O/AQFIQAAAGCxfSdy9N53hyVJ9/dvbXE08CcUhAAAAIDFXvxst5xG6temiTo2s1sdDvwIBSEAAABgoYOncvWfjcWjg+MYHUQtoyAEAAAALLRg1R4VOo16pzRW1xYNrA4HfoaCEAAAALBIuiNP73xzSJI0jjuLwgIUhABQRY8//rhsNpvGjx/v2maM0ZQpUxQfH6/w8HANGDBAu3btsi5IAJVCXqO2LVi1RwVFTqUmN1T3lo2sDgd+iIIQAKpg/fr1+utf/6pOnTq5bZ8zZ46ee+45LViwQGvXrlVkZKQGDRqkvLw8iyIFUFHkNWrbsew8vbnugCTuLArrUBACQCWdPn1ad9xxh15++WU1aHB+rocxRnPnztUjjzyiIUOGqFOnTnr11Vd15MgRLVmyxLqAAVwUeQ0r/O2LNOUXOnVp8/rqlcLoIKxBQQgAlTRmzBhdf/31GjBggNv2tLQ0paenu2232+3q3r271qxZU9thAqgE8hq17VROgV7/er+k4tFBm81mcUTwV0FWBwAAvuStt97Sxo0btX79+lL70tPTJUmxsbFu22NjY137ypKfn6/8/HzX86ysrBqKFkBFkNewwt+/3KvcgiJ1bGpXvzZNrA4HfowRwlrCJHXA9x08eFAPPPCA/vGPfygsLKzGzjtr1izZ7XbXIzExscbODeDCyGtYwZF7Vou/Kh4dHNs/hdFBWIqCsBYwSR2oGzZs2KBjx47psssuU1BQkIKCgrRq1So999xzCgoKco0gZGRkuB2XkZGhuLi4cs87adIkORwO1+PgwYMefR8AziOvYYWFq9N0Or9QbeOidE272IsfAHgQBaGHMUkdqDuuvvpqbd68Wd99953r0a1bN91xxx367rvv1LJlS8XFxWn58uWuY7KysrR27Vr16NGj3POGhoYqOjra7QGgdpDXqG3ZeWe1aHWapOLRwYAARgdhLeYQethPJ6nPnDnTtf1ik9RvvfVWK8IFcAFRUVHq0KGD27bIyEg1atTItX38+PGaOXOmWrdureTkZE2ePFkJCQkaOnSoBREDuBjyGrXt1TX7lZVXqFZNInVth3irwwEoCD2JSeqA/5k4caJycnI0cuRIZWZmqnfv3lq2bFmNzk0CULvIa9SUnPxC/e2LvZKKRwcDGR2EF6Ag9JCSSer/+9//anyS+rRp02rsfACq57PPPnN7brPZNH36dE2fPt2agABUG3kNT/nH2v36MfesWjSK0OBOCVaHA0hiDqHHMEkdAAAAJfLOFumlz4vnDo7pl6KgQD6GwzswQughJZPUf+ruu+9W27Zt9ec//9ltknqXLl0knZ+kPnr06HLPGxoaqtDQUE+GDgAAgBr25roDOnE6X03rh+umy5paHQ7gQkHoIUxSBwAAgCTlFxbpr6uK5w6O7tdKwYwOwotQEFqISeoAAAB13zvfHFJ6Vp7iosN0S7dmVocDuKEgrEVMUgcAAPAvZ4ucmv/ZHknSqL4tFRoUaHFEgDvGqwEAAAAPeXfjYR3OPKPG9UJ1W2pzq8MBSqEgBAAAADygsMipFz7bLUkaeWWywoIZHYT3oSAEAAAAPGDp90e0/2SuGkQE647uLawOBygTBSEAAABQw4qcRs+vKB4dvKdPS0WGcusOeCcKQgAAAKCGfbTlqPYcz1F0WJDu6sHoILwXBSEAAABQg5w/GR28u1eyosKCLY4IKB8FIQAAAFCD/rctQ9vTs1UvNEi/75VsdTjABVEQAgAAADXEGKN5K3ZJku7q0UL2CEYH4d0oCAEAAIAa8tmO49pyOEvhwYEa0ZvRQXg/CkIAAACgBhhj9Ny50cHf9WihRvVCLY4IuDgKQgAAAKAGrN59Ut8eyFRoUIDu6cPoIHwDBSEAAABQA0pGB29Lba6YqDCLowEqhoIQAAAAqKa1e09qXdophQQG6N6+rawOB6gwCkIAAACgmuadW3fwlm7NFGdndBC+g4IQAAAAqIYN+3/Ul7tPKCjAptH9GB2Eb6EgBAAAAKqhZN3BX13WVM0aRFgcDVA5FIQAAABAFX1/KFOf7TiuAJt0X78Uq8MBKo2CEAAAAKiikrmDQ7o0VVLjSIujASqPghAAAACogm1Hs/S/rRmy2aQxVzE6CN9EQQgAAABUwfPnRgev6xivlJh6FkcDVA0FIQAAAFBJu49l68MtRyVJ4/ozOgjfRUEIAAAAVNLzK3bLGGlg+1i1jYu2OhygyigIAQAAgEpIO5Gj9zcdkSSN69/a4miA6qEgBAAAACrhxZW75TTSVW2aqGMzu9XhANVCQQgAAABU0MFTuXr328OSpHFXMzoI30dBCAAAAFTQ/FV7VOg06p3SWJc1b2B1OEC1URACAAAAFXDUcUb/+uaQJO4sirqDghAAKmjWrFm6/PLLFRUVpZiYGA0dOlQ7duxwa2OM0ZQpUxQfH6/w8HANGDBAu3btsihiABdDXqMy/rpqrwqKnEpNbqjuLRtZHQ5QIygIAaCCVq1apTFjxujrr7/W//73P509e1YDBw5UTk6Oq82cOXP03HPPacGCBVq7dq0iIyM1aNAg5eXlWRg5gPKQ16ioY9l5enPdAUnS/dxZFHVIkNUBAICvWLZsmdvzV155RTExMdqwYYOuvPJKGWM0d+5cPfLIIxoyZIgk6dVXX1VsbKyWLFmiW2+91YqwAVwAeY2KevnzvcovdOrS5vXVK4XRQdQdjBACQBU5HA5JUsOGDSVJaWlpSk9P14ABA1xt7Ha7unfvrjVr1pR7nvz8fGVlZbk9AFiDvEZZTp7O1+tfnx8dtNlsFkcE1BwKQgCoAqfTqfHjx6tXr17q0KGDJCk9PV2SFBsb69Y2NjbWta8ss2bNkt1udz0SExM9FziAcpHXKM/fv0zTmbNF6tjUrn5tmlgdDlCjKAgBoArGjBmjLVu26K233qr2uSZNmiSHw+F6HDx4sAYiBFBZ5DXKkplboFfX7Jckje2fwugg6hwKQg/hrmVA3TV27Fj997//1cqVK9WsWTPX9ri4OElSRkaGW/uMjAzXvrKEhoYqOjra7QGgdpHXKM+i1ft0Or9QbeOidE272IsfAPgYCkIP4a5lQN1jjNHYsWP17rvvasWKFUpOTnbbn5ycrLi4OC1fvty1LSsrS2vXrlWPHj1qO1wAFUBe40Ky885q0eo0ScWjgwEBjA6i7uEuox7CXcuAumfMmDF644039N577ykqKso1f8hutys8PFw2m03jx4/XzJkz1bp1ayUnJ2vy5MlKSEjQ0KFDrQ0eQJnIa1zIq2v2KyuvUK2aROraDvFWhwN4BAVhLansXcsoCAHvM3/+fElSv3793LYvWrRIw4cPlyRNnDhROTk5GjlypDIzM9W7d28tW7ZMYWFhtRwtgIogr1GenPxC/e2LvZKkcf1bK5DRQdRRFIS1oCbvWpafn6/8/HzXc25jDdQeY8xF29hsNk2fPl3Tp0+vhYgAVBd5jfL8Y+1+/Zh7VkmNInRDJ0YHUXcxh7AW1ORdy7iNNQAAgGflnS3SS58Xzx2876oUBQXykRl1F/+7Paym71rGbawBAAA86811B3TidL6aNQjXTZc2tTocwKMoCD3EU3ct4zbWAAAAnpN3tkgLVu2RJI3u10rBjA6ijmMOoYdw1zIAAADf886GQ8rIyle8PUy/7trs4gcAPo6C0EO4axkAAIBvKSh0asFnxaODo65sqdCgQIsjAjyPgtBDuGsZAACAb3n320M6nHlGjeuF6tbU5laHA9QKLooGAACA3ysscuqFledHB8OCGR2Ef6AgBAAAgN97f9MRHTiVq4aRIbrjCkYH4T8oCAEAAODXipxGz6/cLUka0TtZESHMqoL/4H87AAAXUeQ0Wpd2Ssey8xQTFabU5IYKDLBZHRaAGvLh5qPaezxH9vBg3dWjhdXhALWKghAAgAtYtuWopi3dqqOOPNe2eHuYHh3cXr/sEG9hZABqgtNp9PyK4tHBu3slKSos2OKIgNrFJaMAAJRj2ZajGv36RrdiUJLSHXka/fpGLdty1KLIANSUT7ZmaEdGtuqFBununslWhwPUOgpCAADKUOQ0mrZ0q8paRKhk27SlW1XkvPgyQwC8kzFG81bskiQN69lC9ghGB+F/uGQUAIAyrEs7VWpk8KeMpKOOPK1LO6UerRrVXmAAqs1x5qy2HHbo853H9cORLEWEBGpE75ZWhwVYgoIQAIAyHMsuvxisSjsA1sjJL9QPR7L0/aFMfX/Ioc2HHUo7kePW5nc9WqhhZIhFEQLWoiAEAKAMMVFhNdoOgOflnS3StqNZ+v6Q41zxl6ndx06rrCu7ExuGq1Oz+kpNaqg7urPuIPwXBSEAAGVITW6oeHuY0h15Zc4jtEmKsxcvQQGg9p0tcmpHerY2H3a4Rv92pGersIzqLy46TJ2a2c896qtjU7saMCIISKIgBACgTIEBNj06uL1Gv75RNsmtKCxZgfDRwe1ZjxCoBUVOoz3HT58b+Ssu/rYezVJBobNU20aRIerUzK6OzeqrU9PiIjAmmpF8oDwUhAAAlOOXHeI1/87LSq1DGMc6hIDHOJ1G+0/lnp/zd8ihLUccyi0oKtU2OiyoeMSvmb24+EusrwR7mGw2vqgBKoqCEACAC/hlh3hd0z5O69JO6Vh2nmKiii8TZWQQqD5jjA5nntHmQw5tOjfn7/tDDmXnFZZqGxESqA5Niwu/js3s6tysvlo0iqD4A6qJghAAgIsIDLCxtARQA45l5Z2/7PNw8ejfyZyCUu1CggLUPj5anc9d+tm5mV0tm9TjixjAAygIAQAAUONO5RQU3/Dl4PniLz2r9DItQQE2tYmLUqdm9V03fvlFbJSCAwMsiBrwPxSE8CtJD31gdQgese/x660OAQDgx7Lyihd6L5nzt+lQpg79eKZUuwCblBJT7yfFX321jYtSWHCgBVEDkCgIAQAAUAm5BYXaeiSreM7fuUs/9x7PKbNtcuPI4jt+NrWrc2J9tY+PVmQoHz8Bb0JGAgAAoEz5hUXafjT7/B0/Dzu0MyO7zIXem9YPV+dEuzo2LZ7zd0lTu+zhwbUfNIBKoSAEAACAzhY5tSvjtNsNX7anZ+lsUenqLyYq1HXZZ8mSD43qhVoQNYDqoiAEAADwM0VOo7QTJQu9F9/184cjWcovY6H3BhHB54u/c5d+xrLQO1BnUBACAADUYcYYHTiVe365h0MObTnsUE4ZC71HhQYVr/WXaFenpsVFYLMG4az1B9RhFIQAAAB1hDFGRx3n1/rbfO7On44zZ0u1DQsOUIcEu9tyD0mNIhXAWn+AX6EgBAAfU+Q0Wpd2Ssey8xQTFabU5IYs1gz4qePZ+dp8OFObDjpcxd+J0/ml2oUEBqhdfPFafx3PFX8pTeopiLX+AL9HQQgAPmTZlqOatnSrjjrOL+4cbw/To4Pb65cd4i2MDICnZeYWuIq+kks/f/q7oERggE2/iI1SZ9cNX+qrTVyUQoIo/gCURkEIAB7wwgsv6IknnlB6ero6d+6sefPmKTU1tVrnXLblqEa/vlE/v99fuiNPo1/fqPl3XkZRCHiQJ/K6PKfzC88t9H5+uYf9J3NLtbPZpFZN6qlTU/u5O37W1yUJ0Sz0DqDCKAgBoIa9/fbbmjBhghYsWKDu3btr7ty5GjRokHbs2KGYmJgqnbPIaTRt6dZSxaAkGUk2SdOWbtU17eO4fBTwAE/k9U85nUaL1+zT5kMObTqUqb0ncmTKSPgWjSKK5/w1LR7969DUrnos9A6gGvgNAgA17Omnn9Yf/vAH3X333ZKkBQsW6IMPPtDChQv10EMPVemc69JOlXlpWAkj6agjT+vSTqlHq0ZVeg0A5fNEXv9UQIBNL32+1y3PE+xh5+b7nV/yoX5ESLVfCwB+ioIQAGpQQUGBNmzYoEmTJrm2BQQEaMCAAVqzZk2Vz3ssu/xisCrtAFScp/L65+68ooXOFjnPFX/11SSKhd4BeB4FIQDUoBMnTqioqEixsbFu22NjY7V9+/Yyj8nPz1d+/vm7AmZlZZVqExNVsUWgK9oOQMV5Kq9/bsxVKdULFACqgNtNAYDFZs2aJbvd7nokJiaWapOa3FDx9jCVNzvQpuK7jaYmN/RorAAqpiJ5DQDegIIQAGpQ48aNFRgYqIyMDLftGRkZiouLK/OYSZMmyeFwuB4HDx4s1SYwwKZHB7eXpFJFYcnzRwe354YygAd4Kq8BwBtQEAJADQoJCVHXrl21fPly1zan06nly5erR48eZR4TGhqq6Ohot0dZftkhXvPvvExxdvfLQuPsYSw5AXiQJ/MaAKzGHEIvUJvrGgHwvAkTJmjYsGHq1q2bUlNTNXfuXOXk5LjuTlgdv+wQr2vax2ld2ikdy85TTFTxZaKMDAKe5cm8BgArURBazNPrGgGofb/97W91/PhxTZkyRenp6erSpYuWLVtW6oYUVRUYYGNpCaCWeTqvAcAqXDJqsZ+ua9S+fXstWLBAERERWrhwodWhAaiGsWPHav/+/crPz9fatWvVvXt3q0MCUE3kNYC6iBFCC9XWukaSlPTQBzV6Pm+w7/HrrQ4BAAAA8GkUhBaqiXWNHA6HpIuvb+TMz61mtN6nIms6/Vxd7AeJvihRkX4oaWOM8XQ4VVYSW1V+roA/Iq+BuscX8rquoCD0MbNmzdK0adNKbffH9Y3sc62OwHvQF8Uq0w/Z2dmy2+0ei6U6srOzJflnXgPVQV4DdY8353VdQUFooaquazRhwgTXc6fTqVOnTqlRo0ay2ay9y2BWVpYSExN18OBBv7+9Nn1xnrf1hTFG2dnZSkhIsDqUciUkJOjgwYOKiooqN6+9rV/9AX1e+yra5+Q1qoo+t0ZF+t0X8rquoCC00E/XNRo6dKik8+sajR07tsxjQkNDFRoa6ratfv36Ho60clhv6Tz64jxv6gtv/6YxICBAzZo1q1Bbb+pXf0Gf176K9Dl5jeqgz61xsX739ryuKygILca6RgAAAACsQkFoMdY1AgAAAGAVCkIvMHbs2HIvEfUloaGhevTRR0td0uqP6Ivz6AvPoF9rH31e+/ytz/3t/XoD+twa9Lt3sRnu5QoAAAAAfinA6gAAAAAAANagIAQAAAAAP0VBCAAAAAB+ioIQ8BGfffaZbDabMjMzrQ4FQA0hr4G6h7yGr6EgBAAAAAA/RUGIMhUUFFgdgtegL86jLzyDfq199Lk1/Knf/em9egv63Br0u++jIPQT2dnZuuOOOxQZGan4+Hg988wz6tevn8aPHy9JSkpK0owZM3TXXXcpOjpaI0eOlCT9+9//1iWXXKLQ0FAlJSXpqaeecjuvzWbTkiVL3LbVr19fr7zyiiRp3759stlseuutt9SzZ0+FhYWpQ4cOWrVqVYXiLioq0ogRI5ScnKzw8HC1adNGzz77rF/2RYnVq1erU6dOCgsL0xVXXKEtW7ZUqR8k3+6LH374QTfccIOio6MVFRWlPn36aM+ePVXui5rkq/3qiXyrLb7a5yVqMq9rky/3e2V/h/jqeyWvyevK8uV+9+bPBl7NwC/cc889pkWLFubTTz81mzdvNjfddJOJiooyDzzwgDHGmBYtWpjo6Gjz5JNPmt27d5vdu3ebb775xgQEBJjp06ebHTt2mEWLFpnw8HCzaNEi13klmXfffdfttex2u6tNWlqakWSaNWtm/vWvf5mtW7eae+65x0RFRZkTJ05cNO6CggIzZcoUs379erN3717z+uuvm4iICPP222/7XV+sXLnSSDLt2rUzn3zyifn+++/NDTfcYJKSkkxBQYFf9cWhQ4dMw4YNza9+9Suzfv16s2PHDrNw4UKzffv2KvVDTfPVfvVEvtUWX+1zT+R1bfLVfq/K7xBffa/kNXldWb7a797+2cCbURD6gaysLBMcHGzeeecd17bMzEwTERHhltxDhw51O+72228311xzjdu2Bx980LRv3971vKLJ/fjjj7v2nz171jRr1szMnj27Su9nzJgx5uabb67Ssb7cFyV/YN566y3XtpMnT5rw8PAq/WH35b6YNGmSSU5O9so/rL7cr2WpTr7VFl/u85rO69rky/1e2d8hvvxey0Jek9fl8eV+9+bPBt6OS0b9wN69e3X27Fmlpqa6ttntdrVp08atXbdu3dyeb9u2Tb169XLb1qtXL+3atUtFRUWViqFHjx6ufwcFBalbt27atm1bhY594YUX1LVrVzVp0kT16tXTSy+9pAMHDlTq9Uv4el/8/PiGDRuqTZs2lTq+hC/3xXfffac+ffooODi4Uq9XG3y5X6Wazbfa4ut9/vPjq5PXtcmX+72yv0N8+b1K5DV5XXG+3O/e/NnA21EQwiUyMrLSx9hsNhlj3LadPXu2pkLSW2+9pf/7v//TiBEj9Mknn+i7777T3Xff7fEJzN7YF1bxxr4IDw+vsXNZxRv71ap8qy3e2Of+wBv73VO/Q7zxvZLXpZHX1eeN/V4XPhtYhYLQD7Rs2VLBwcFav369a5vD4dDOnTsveFy7du20evVqt22rV6/WL37xCwUGBkqSmjRpoqNHj7r279q1S7m5uaXO9fXXX7v+XVhYqA0bNqhdu3YXjX316tXq2bOn7rvvPl166aVKSUmp1uRgX+6Lso7/8ccftXPnzkodX8KX+6JTp0764osvvPIPuC/3a03nW23x5T4v6/jq5HVt8uV+r+zvEF9+r+Q1eV0Zvtzv3vzZwOtZdrEqatU999xjkpOTzYoVK8yWLVvMzTffbKKiosz48eONMcXXgz/zzDNux2zYsMFtgvArr7xSaoLwrbfeatq1a2c2btxo1q9fb/r372+Cg4NLXQ/evHlz85///Mds27bNjBw50tSrV88cP378onE/++yzJjo62ixbtszs2LHDPPLIIyY6Otp07tzZ7/qiZE7CJZdc4profeONN5rmzZub/Px8v+qLEydOmEaNGrkmju/cudO8+uqrXjNx3Ff71RP5Vlt8tc89kde1yVf7vSq/Q3z1vZLX5HVl+Wq/e/tnA29GQegnsrKyzO23324iIiJMXFycefrpp01qaqp56KGHjDFlJ7cxxvzrX/8y7du3N8HBwaZ58+bmiSeecNt/+PBhM3DgQBMZGWlat25tPvzwwzInCL/xxhsmNTXVhISEmPbt25sVK1ZUKO68vDwzfPhwY7fbTf369c3o0aPNQw89VK0/ZL7aFyV/YJYuXWouueQSExISYlJTU82mTZv8ri+MMWbTpk1m4MCBJiIiwkRFRZk+ffqYPXv2VLkvapKv9qsn8q22+GqfeyKva5Ov9rsxlf8d4qvvlbwmryvLV/vdGO/+bODNKAj91OnTp43dbjd/+9vfPPo6Jcn97bffevR1qoO+OI++8Az6tfbR59bwp373p/fqLehza9DvdV+Qx69JhVf49ttvtX37dqWmpsrhcGj69OmSpCFDhlgcWe2jL86jLzyDfq199Lk1/Knf/em9egv63Br0u//hpjJ+5Mknn1Tnzp01YMAA5eTk6IsvvlDjxo0tjenee+9VvXr1ynzce++9Hntd+uI8+sIz6NfaR59bw5/63Z/eq7egz61Bv/sXmzE/u/8rUIuOHTumrKysMvdFR0crJiamliOyDn1xHn3hGfRr7aPPreFP/e5P79Vb0OfWoN89h4IQAAAAAPwUl4wCAAAAgJ+iIAQAAAAAP0VBCAAAAAB+ioIQAAAAAPwUBSEAAAAA+CkKQgAAAADwUxSEAAAAAOCn/j/piANM+pjNTgAAAABJRU5ErkJggg==", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "names = ['group_a', 'group_b', 'group_c']\n", "values = [1, 10, 100]\n", "\n", "plt.figure(figsize=(9, 3))\n", "\n", "plt.subplot(131)\n", "plt.bar(names, values)\n", "plt.subplot(132)\n", "plt.scatter(names, values)\n", "plt.subplot(133)\n", "plt.plot(names, values)\n", "plt.suptitle('Categorical Plotting')\n", "plt.show()" ] } ], "metadata": { "kernelspec": { "display_name": "Python 3.10.4 64-bit", "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.10.4" }, "orig_nbformat": 4, "vscode": { "interpreter": { "hash": "3ad933181bd8a04b432d3370b9dc3b0662ad032c4dfaa4e4f1596c548f763858" } } }, "nbformat": 4, "nbformat_minor": 2 }