{ "metadata": { "name": "", "signature": "sha256:cb588c0980f04c202e45c21516763a8919649f8a97182827b3cbf368112c6db6" }, "nbformat": 3, "nbformat_minor": 0, "worksheets": [ { "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# `prettyplotlib.pcolormesh`: Improving heatmaps in `matplotlib`\n", "\n", "## Both positive and negative values\n", "\n", "The default `matplotlib` `pcolormesh` heatmaps use a rainbow colormap, which has been known to mislead data visualization. Specifically, [*\"the rainbow color map is universally inferior to all other color maps\"*](http://www.jwave.vt.edu/~rkriz/Projects/create_color_table/color_07.pdf). Unfortunately, `matplotlib` took its default colors from MATLAB, and there the default is also rainbow." ] }, { "cell_type": "code", "collapsed": false, "input": [ "import matplotlib\n", "# Make sure that original paramters are used, and no matplotlibrc files interfere\n", "matplotlib.rcParams = matplotlib.rcParamsDefault" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 17 }, { "cell_type": "code", "collapsed": false, "input": [ "import matplotlib.pyplot as plt\n", "import numpy as np\n", "\n", "fig, ax = plt.subplots(1)\n", "\n", "np.random.seed(10)\n", "\n", "#ax.pcolor(np.random.randn((10,10)))\n", "#ax.pcolor(np.random.randn(10), np.random.randn(10))\n", "p = ax.pcolormesh(np.random.randn(10,10))\n", "fig.colorbar(p)\n", "fig.savefig('pcolormesh_matplotlib_default.png')" ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "display_data", "png": "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\nmyQFAACoKZIUAAAoQHt7n6StCmtS2nt+zqBJAQAAdvHwww/n/vvvz5tvvpmjjjoqV111VSZNmvSu\nz/3kJz/J5z73ud3e+8d//Md8+MMf7tb4mhQAAChAe1t90lb5n9ftFU5rFixYkLlz5+bss8/OzJkz\n8+Mf/zjXXXddkrxro7JixYrU1dXllltuSX39rnW+733v63YNmhQAACBJsmnTpsyfPz+TJ0/O3Llz\nkyTTpk3LJZdckrlz5+ass85Knz57nm62YsWKDBs2LOeff/4B1dHzJ7QBAADdsmTJkrS2tubiiy/e\nea2uri7Tp0/Pm2++mWXLlu31+RUrVuSP//iPD7gOSQoAABSgo72+KgvnO9orN8YLL7yQJBk9evQu\n14877rgkyYsvvpixY8fu9tnOzs6sXLky48aNS5Js27Yt9fX16dt331sOSQoAAJAkWbduXQYNGpTG\nxsZdrg8ZMiRJ8uabb+7x2dWrV2fr1q154403Mnny5Jxwwgk58cQTc91112XDhg37VIckBQAACtDe\n3iedVUlS9j1nWL9+/V7vH3rooWlqakpLS0sOOeSQLvf79euXJHn77bf3+BkrVqxIkvzyl7/MlVde\nmeHDh+fnP/957r///qxYsSKPPvpol+ZnTzQpAADQw3384x/f6/2rrroq11xzTTo7O1NXV7fH9+3t\n3lFHHZXZs2dn8uTJ+eAHP5gkOeOMM/LBD34wX/va1/Loo4/m05/+dLfq1aQAAEAB2tvq07G98knK\n/qQ1N910014bjFGjRiVJmpqa0tra2uX+1q1bkyT9+/ff42eMHDkyI0eO7HL9U5/6VG666ab87Gc/\n06QAAADvmDZtWrfe9/73vz8bN27M9u3b09DQsPP6unXrkiRDhw7d57H79u2bAQMG7HWq2L9n4TwA\nABSgs6M+He19K/7q7KhcWjN69Oh0dnbmV7/61S7Xd/zvj3zkI3t8dt68eRk/fnxaWlp2uf773/8+\nGzZsyPDhw7tdhyYFAABIkpx++ulpbGzMAw88sPNaR0dHHn744XzgAx/ICSecsMdnhw0bljVr1qS5\nuXmX63fccUeS5Nxzz+12HaZ7AQBAEdr6VOWclLRVLmc47LDDMmvWrMyfPz8dHR059dRT88QTT+T5\n55/Pbbfdtsu6lqeeeipJMn78+CTJ1KlT88gjj+Rb3/pWfv3rX2fkyJF59tln8+STT+biiy/e4/kq\n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\n+Q9kN81mxzsinQAAAABJRU5ErkJggg==\n", "text": [ "" ] } ], "prompt_number": 18 }, { "cell_type": "markdown", "metadata": {}, "source": [ "Using the same zero-centered randomly distributed gaussian distribution, we can plot it using `prettplotlib` with a few modifications:\n", "\n", " ppl.pcolormesh(fig, ax, np.random.randn(10,10))\n", " \n", "You'll notice that the \"hot\" (large, positive) color is still red, and the \"cold\" (small, negative) color is still blue, but the in between colors are gradations of red and blue, so it's easier to tell the difference between values." ] }, { "cell_type": "code", "collapsed": false, "input": [ "import prettyplotlib as ppl\n", "import matplotlib.pyplot as plt\n", "import numpy as np\n", "\n", "fig, ax = plt.subplots(1)\n", "\n", "np.random.seed(10)\n", "\n", "ppl.pcolormesh(fig, ax, np.random.randn(10,10))\n", "fig.savefig('pcolormesh_prettyplotlib_default.png')" ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "display_data", "png": "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\nTj/99EybNi3f//73c8011yRJJk6c2O06NCkAAECS5O///u/zz//8z/niF7+YCy64IEly7rnnZsiQ\nIfnOd76TxYsX5/jjj9/pu+vWrcvs2bMzadKkzJo1K0kyderUXHjhhZk1a1ZOO+201OvdW8hluRcA\nABSh8+09KT39SQ+mNU8//XRqtVqmTJmyw/PTTz89SfIv//Ivu3x34cKF2bRpU84///ztz2q1Wi64\n4IK8/vrrWbx4cbfr0KQAAABJkiuvvDKPPPJI+vbtu8PzNWvWJEna2tp2+e6zzz6bJBk1atQOz48+\n+ugkyZIlS7pdh+VeAABQgEaj0aP7RX59np4ycODADBw4sMvzv/zLv0ySHHfccbt8d9WqVRk4cGD6\n9Omzw/PBgwcnSV5//fVu16FJAQCAFrd69erdjh988MFpb2/f6di8efPy/e9/PyeddFI+/OEP7/I7\nNm7cmIMOOqjL83dSmbfeeqvb9WpSAACgxX30ox/d7fgVV1yRq666qsvzv//7v8+f/MmfZPDgwfnK\nV76y2+9oNBqp1Wq7HN/d2H+mSQEAgAJs39hewjx76oYbbthtkzBy5Mguz/7u7/4un/vc59KvX7/c\neeeded/73rfbOdrb27Np06Yuzzdv3pwk6devX7fr1aQAAECLmzp16h79/V/91V/ly1/+ct7znvfk\nu9/9bn7nd37nXd95//vfn7Vr12br1q3p3bv39uerVq1KkgwZMqTb82tSAACgAI1GSZc5Nnp2c/68\nefPyp3/6pxkyZEi++93v5ogjjujWe6NGjUqj0cjPfvazHfau/OxnP0uSfOhDH+p2DY4gBgAAkiQv\nvvhirrvuuhx66KG57777ut2gJMkpp5ySPn365L777tv+rLOzMw8++GA+8IEP5Nhjj+32d0lSAACg\nAI3OznSWsiel55KU2bNnZ+vWrfnIRz6SZ555Js8888wO40cdddT2pV9PPPFEkmTcuHFJkkMOOSTT\np0/P7Nmz09nZmZNOOimPPfZYnnnmmdx88802zgMAAHvuxz/+cWq1WubPn5/58+fvMFar1XLllVdu\nb1JuvPHG1Gq17U1KksyYMSPt7e154IEH8sQTT2T48OG55ZZbMmHChD2qQ5MCAAAFaHRuS2Nbc57u\n1V3/9E//1O2/Xbhw4U6fT5s2LdOmTdunOuxJAQAAmkqPJCnLly/PV7/61SxatCjJ25toZs6cmUGD\n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\n63Gov//+G4DR0VFOnz5NTk4OAJWVlVRVVfHmm2/y2WefmYwoFuju7qalpYX777+fjRs3Eo/H6ezs\n5IFYuh4AAAOoSURBVMUXX+Sdd97h0UcfNR1RLKT9ofPYrqRkZ2cDMDExMWttcnISQC3ZQa5du8a2\nbdvo6emhvr6eHTt2mI4kKRYKhfjxxx85fvx4chZ9+sp6LBZjZGSEm266Sf+MFrDp/wPr1q1LFhS4\nMQ5SWVlJd3c3sViMJUuWmIooKRaLxdi9ezfFxcUcPXo0+fdeU1NDfX09ra2tnDlzhkWLFhlOKlbR\n/tB5bPdMysqVKwH4448/Zq0NDg6ybNmyOW/1ycLz559/4vf76enpYePGjbz22mumI4kFzp07xz//\n/IPP56OiooKKigqeeuopgOSYz2+//WY4paTS9Mx5Xl7erDW3200ikeCvv/6yOpZYqLe3l9HRUWpq\namZckMjIyGD9+vUMDQ3pSx0dRvtD57HdnZTc3FwKCgrmfEvD999/T3FxsYFUYrWxsTG2bt1KOBym\nsbGR5uZm05HEIjt37kzeOZk2NDTESy+9RF1dHRs2bGD58uWG0okVCgsLWbRo0ZyvmY1GoyxevBi3\n220gmVhluphMTU3NWrt+/TqAXqjhMNofOo/t7qQAVFdXc+HCBXp7e5PHzp8/T39/P16v12Ayscqr\nr75KOBymoaFBBcVh1qxZQ3l5+Yyf6Te6FRQUUF5erhGPBS47O5vKykrOnj0744s8BwYGOHPmDI89\n9pjG/Ra4oqIi8vLyOHnyZPIZJbgx1tPd3Y3b7aawsNBgQjFB+0NncSVseClieHiY2tpa0tPT2bJl\nCxMTExw+fJjVq1fT2dlJZmam6YiSQj///DM1NTXk5ubS0tJCWtrsLj39phdxhmg0SlVVFYFAgEAg\nYDqOWODXX39NvjjB7/eTkZFBe3s7k5OTnDhxgoKCAsMJJdW+/PJLmpqaKCwspL6+nqmpKU6cOEFv\nby979+5l/fr1piNKClVWVlJQUEB7e3vymPaHzmK7cS+4MXP8ySef0NbWxv79+8nOzmbdunUEg0Gd\ngA5w8eJF4MabfVpaWmatu1wulRSRBW7VqlV8+umnvPHGG4RCIRKJBB6Ph2AwqILiEF6vl9zcXA4e\nPMhbb70F3LjT+uGHH/LQQw8ZTicmaH/oLLa8kyIiIiIiIs5ly2dSRERERETEuVRSRERERETEVlRS\nRERERETEVlRSRERERETEVlRSRERERETEVlRSRERERETEVlRSRERERETEVlRSRERERETEVlRSRERE\nRETEVlRSRERERETEVlRSRERERETEVlRSRERERETEVv4D4zTC9y6wNMUAAAAASUVORK5CYII=\n", "text": [ "" ] } ], "prompt_number": 19 }, { "cell_type": "markdown", "metadata": {}, "source": [ "You may have noticed similar changes as were made in `prettyplotlib.scatter`, where axis lines were removed, and blacks were changed to almost black.\n", "\n", "## Only positive (or negative) values \n", "\n", "If your data is only positive (or negative), `matplotlib` does nothing to change the color scale. It's still a rainbow, but look at the colorbar, the range is different (0 to 1 instead of -2 to +2)" ] }, { "cell_type": "code", "collapsed": false, "input": [ "import prettyplotlib as ppl\n", "import matplotlib.pyplot as plt\n", "import numpy as np\n", "\n", "fig, ax = plt.subplots(1)\n", "\n", "np.random.seed(10)\n", "\n", "p = ax.pcolormesh(np.random.uniform(size=(10,10)))\n", "fig.colorbar(p)\n", "fig.savefig('pcolormesh_matplotlib_positive_default.png')" ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "display_data", "png": "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\nu91uQTIxS0ez0d7e3mXt+/fvADp0opdRfRgeQu6JB0B2djZ3796lrq4ueO3OnTu8fPmSnJwcC5OJ\nWReqviEAAAHySURBVLZu3UptbS0FBQVqOnqZ0aNHk56e3umv4ySz5ORk0tPTNV4R5mJjY8nMzOTW\nrVudfjyyvr6emzdvMnPmTI3ahbnU1FQSEhK4dOlS8J0f+DFSU11djd1uJyUlxcKEYgXVhz2fLRCC\nWwbv379n3rx5REZGsmLFCr58+cKff/7JL7/8wrlz54iOjrY6ohjo+fPn5ObmEh8fT2lpKRERXfvj\njhNOpHfwer1kZWVRVFREUVGR1XHEBP/880/wcAGXy0VUVBQVFRW0tbVx8eJFkpOTLU4oRrt27RrF\nxcWkpKSQn59Pe3s7Fy9epK6ujt27dzN37lyrI4qBMjMzSU5OpqKiInhN9WHPF3KjVvBjhvfMmTPs\n3LmTAwcOEBsby6xZsygpKdFN1Qvcv38f+HGiTWlpaZd1m82mxkMkzA0dOpTz58+zZ88e3G43gUAA\nh8NBSUmJmo5eIicnh/j4eI4ePcq+ffuAH09Ejx8/zrRp0yxOJ1ZQfdjzheQTDxERERERCS8h+Y6H\niIiIiIiEFzUeIiIiIiJiODUeIiIiIiJiODUeIiIiIiJiODUeIiIiIiJiODUeIiIiIiJiODUeIiIi\nIiJiODUeIiIiIiJiODUeIiIiIiJiODUeIiIiIiJiODUeIiIiIiJiODUeIiIiIiJiuP8B7oCHKcuS\neBEAAAAASUVORK5CYII=\n", "text": [ "" ] } ], "prompt_number": 20 }, { "cell_type": "markdown", "metadata": {}, "source": [ "If your data is only positive or negative, then `prettyplotlib` will auto-detect this and use a single-color colormap. The default for positive data is the `reds` colormap." ] }, { "cell_type": "code", "collapsed": false, "input": [ "import prettyplotlib as ppl\n", "import matplotlib.pyplot as plt\n", "import numpy as np\n", "\n", "fig, ax = plt.subplots(1)\n", "\n", "np.random.seed(10)\n", "\n", "ppl.pcolormesh(fig, ax, np.abs(np.random.randn(10,10)))\n", "fig.savefig('pcolormesh_prettyplotlib_positive.png')" ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "display_data", "png": "iVBORw0KGgoAAAANSUhEUgAAAykAAAJlCAYAAADeh73JAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAAPYQAAD2EBqD+naQAAIABJREFUeJzs3X9Qlfed//3XdZSCKFhBw10K2eDcca3SGJEG3fZusxH4\nJiBiWFzUmiJGYnM3mQa7lSa7Zu6k30Yt9Y66ujaJZo1KMtkztf4YMt9Mvl/7w++YqdzB2Rl1IYDa\nhdpBTYwcjgfKUe4/rKTsQT0HP1zXxeH5cM5MvX593tc/re++Pp/rY/X19fUJAAAAAFzC43QBAAAA\nAPCXaFIAAAAAuApNCgAAAABXoUkBAAAA4Co0KQAAAABchSYFAAAAgKvQpAAAAABwFZoUAAAAAK5C\nkwIAAADAVYbcpKxbt05PPPFEyPG2tjY988wzysnJUU5Ojqqrq/Xpp5/eVZEAAAAARo+xQ7nJ6/XK\n6/XqoYceGnD88uXLKi8vVzAYVGVlpYLBoHbt2qWmpiZ5vV7FxMQYKRoAAABA9IqoSbl27Zp27Nih\n7du3D3p+9+7d6ujo0OHDhzV16lRJ0qxZs1RRUaEDBw5o8eLFd18xAAAAgKgW9nSvnp4ePf7449q2\nbZsWLVqklJSUkGvq6uqUk5PT36BI0rx585SRkaG6ujozFQMAAACIahE1KX6/X5s3b9b69es1ZsyY\nAeevXLmi9vZ2zZw5M+TeGTNm6NSpU3dfLQAAAICoF/Z0r4SEBH3wwQfyeAbvazo6OiRp0IRlypQp\n8vl86urq0oQJE4ZYKgAAAIDRIOwkxbKsWzYokuT3+yVJcXFxIediY2MlSYFAINL6AAAAAIwyQ/q6\n12D6+vok3WhmbuV25wAAAICRqrm5WT6fz7bxEhISdP/999s2nt2MNSnx8fGSpO7u7pBzPT09kjSk\nqV7Bf1p+d4WNcGP+7xedLsFRVkKS0yU47tr/2ON0Cc6K+YLTFTjvD793ugJHWXNznS7BcZ7/80Gn\nS3DUtQOvO12C4377w587XYLj/vbCH5wu4Zaam5s1bdo028f9+OOPo7ZRMdakpKamSpIuXrwYcu7C\nhQuaOHHioFPBAAAAgJHsZoLyiOL0xaHvlR62z3RdR9Rta3JjN2NNSmJiotLS0gb9itfp06eVmZlp\naigAAADAdb4oj6ZozJ0vxB0ZbfXy8/P14Ycf6syZM/3Hjh07pnPnzqmgoMDkUAAAAICreGz8RTtj\nSYokrVq1SgcPHtSKFSu0cuVKdXd3a+fOncrMzNTChQtNDgUAAAAgShltUpKSkrRv3z6tX79eW7Zs\nUXx8vPLy8rR27VrFxMSYHAoAAABwFY8seWz4mq2nL/q/mDvkJuXIkSODHs/IyNDrr/MVDgAAAABD\nYzRJAQAAAEYrS/asF4n+HGV0rLsBAAAAMIKQpAAAAAAGeKwbv2EfR5L6hn8cJ5GkAAAAAHAVmhQA\nAAAArsJ0LwAAAMAAFs6bQ5ICAAAAwFVIUgAAAAADPJZNmznKYuE8AAAAANiJJAUAAAAwwCN7EoDR\nkDKMhncEAAAAMIKQpAAAAAAGWDZt5sjXvQAAAADAZiQpAAAAgAGsSTFnNLwjAAAAgBGEJAUAAAAw\nwLIky4Z9UliTAgAAAAA2o0kBAAAA4CpM9wIAAAAMsGRPAsB0LwAAAACwGUkKAAAAYIBH9mzm6Okb\n/jGcRpICAAAAwFVIUgAAAAADWJNiDkkKAAAAAFchSQEAAAAM8FiWPDZs5mjHGE4jSQEAAADgKiQp\nAAAAgAEe2ZMAjIaUYTS8IwAAAIARhCQFAAAAMMCy7NknZRQsSSFJAQAAAOAuNCkAAAAAXIXpXgAA\nAIABLJw3ZzS8IwAAAIARhCQFAAAAMMCSJY+Gf1W7ZcMYTqNJAQAAAEaJo0ePaseOHTp9+rQsy9KD\nDz6o5557TrNmzTJyX2lpqU6ePBlyf35+vrZu3Rp2nTQpAAAAgAEemz5BPNQxjh8/rsrKSk2bNk1V\nVVUKBoN6++23tXz5ctXW1uqBBx64q/v6+vrU2tqqvLw85efnD3hGampqRLXSpAAAAACjwCuvvKLU\n1FR5vV7FxsZKkhYtWqSCggJt3rxZb7755l3d197erkAgoPnz56uoqOiuamXhPAAAAGCAx8ZfpK5c\nuaKmpiY99thj/Y2GJCUnJys7O1snTpy46/taWlokSVOnTh1ChQORpAAAAABRLiEhQe+//77i4uJC\nzl2+fFljxw7eFkRyX3Nzs6TPm5SrV68qPj5+SPWSpAAAAAAGWNbn61KG82cNYU2Kx+PRvffeq3vu\nuWfA8cbGRjU0NGj27Nl3fV9zc7PGjx+vDRs2aPbs2crKylJeXp7ee++9iOslSQEAAABGIb/fr+rq\nank8Hj311FN3fV9LS4v8fr98Pp9qamrU2dmpPXv2aM2aNert7VVxcXHYY9CkAAAAAAZ4bNonxcQY\ngUBATz/9tJqamrR69WplZ2ff9X1lZWW6fv26li1b1n+ssLBQCxYsUE1NjYqKiuTxhDeRi+leAAAA\nwCjS2dmplStX6vjx4yotLVVVVZWR+5YsWTKgQZGk2NhYFRcX69KlS2ptbQ27RpIUAAAAYJT45JNP\n9OSTT6qxsVFlZWV66aWXhvU+SZo0aZKkGwvpw0WSAgAAABjgkT0L54f6D/iurq7+RqOioiLsRiOc\n+zo6OlRYWKjt27eHnDt79qwkKS0tLexaaVIAAACAUeDll19WY2OjysvLVV1dbfS+lJQU+Xw+eb1e\ndXV19R8/f/689u/fr7lz5yo5OTnsMZnuBQAAABhgyZ4EYCjL5ltbW3Xo0CElJiZq+vTpOnjwYMg1\nxcXFamtrU0NDg7KyspSenh72fZK0bt06Pfvss1q6dKlKS0vl9/tVW1urmJgYvfjiixHVS5MCAAAA\nRLn6+npJks/n0/PPPx9y3rIsFRcXq76+Xi+88II2bNig9PR0HT9+PKz7JCkvL0/btm3Ta6+9pk2b\nNmncuHHKycnRmjVrdN9990VUL00KAAAAYMDNNSN2jBOpJUuWaMmSJXe8rqSkRCUlJf1/X7p0qZYu\nXRr2OLm5ucrNzY28wP/C9U3Kr1/7ldMlOCr93Q+dLsFRnV29TpfguOwTR5wuwVFW/ESnS3Dcu3+V\n6XQJjir7zx85XYLjrv/hY6dLcJTnv4X/D6Ro1fsPO5wuAbCV65sUAAAAYCSwbNrM0bJhDKfxdS8A\nAAAArkKSAgAAABjg5jUpIw1JCgAAAABXIUkBAAAADLA0tD1MhjJOtCNJAQAAAOAqNCkAAAAAXIXp\nXgAAAIABlk0L561RMN+LJAUAAACAq5CkAAAAAAZ4JFs2cxwNKcNoeEcAAAAAIwhJCgAAAGAAmzma\nQ5ICAAAAwFVIUgAAAAADLNmTAIyCIIUkBQAAAIC7kKQAAAAABliyJ+UgSQEAAAAAm5GkAAAAAAZ4\nZMljw3bwduzF4jSSFAAAAACuQpICAAAAGBL9GYc9SFIAAAAAuApNCgAAAABXYboXAAAAYACfIDaH\nJAUAAACAq5CkAAAAAAaQpJhDkgIAAADAVUhSAAAAAAMsy5Jlw2aOdozhNJIUAAAAAK5CkgIAAAAY\nwJoUc0hSAAAAALgKSQoAAABggCV7EgCSFAAAAACwGUkKAAAAYIBl3fjZMU60I0kBAAAA4Co0KQAA\nAABcheleAAAAgAHWn//YMU60I0kBAAAA4CokKQAAAIABbOZoDkkKAAAAAFchSQEAAAAMGQ0phx1I\nUgAAAIBR4ujRo1q2bJkefPBBzZ49WxUVFfr3f//3O97X1tamZ555Rjk5OcrJyVF1dbU+/fTTIV93\nJyQpAAAAgAEe68bPjnGG4vjx46qsrNS0adNUVVWlYDCot99+W8uXL1dtba0eeOCBQe+7fPmyysvL\nFQwGVVlZqWAwqF27dqmpqUler1cxMTERXRcOmhQAAABgFHjllVeUmpoqr9er2NhYSdKiRYtUUFCg\nzZs368033xz0vt27d6ujo0OHDx/W1KlTJUmzZs1SRUWFDhw4oMWLF0d0XTiY7gUAAAAYYNn4J1JX\nrlxRU1OTHnvssf4GRZKSk5OVnZ2tEydO3PLeuro65eTk9DcekjRv3jxlZGSorq4u4uvCQZMCAAAA\nRLmEhAS9//77Ki8vDzl3+fJljR07+ASrK1euqL29XTNnzgw5N2PGDJ06dSqi68LFdC8AAADAADfv\nk+LxeHTvvfeGHG9sbFRDQ4O++c1vDnpfR0eHJCklJSXk3JQpU+Tz+dTV1RX2dRMmTAiv3rCuilBj\nY6OefPJJzZ49W3PmzNF3v/tdnT17djiGAgAAADAEfr9f1dXV8ng8euqpp255jSTFxcWFnLs5bSwQ\nCIR9XbiMJyltbW369re/rXHjxul73/ue+vr69K//+q9atmyZDh48qHvuucf0kAAAAAAiEAgE9PTT\nT6upqUmrV69Wdnb2oNf19fVJkizr1vmNZVlhXxcu403KW2+9Jb/fr9raWk2fPl2SNHfuXC1evFi7\nd+/W2rVrTQ8JAAAAOM+SIvh3+F2Nczc6Ozu1evVqnThxQqWlpaqqqrrltfHx8ZKk7u7ukHM9PT2S\npAkTJoR9XbiMNylnz55VUlJSf4MiSV/96lc1ceJENTc3mx4OAAAAQJg++eQTPfnkk2psbFRZWZle\neuml216fmpoqSbp48WLIuQsXLmjixImKi4sL+7pwGV+TkpKSos8++2zAzpKfffaZfD6fpkyZYno4\nAAAAwBUsG39D0dXV1d+gVFRU3LFBkaTExESlpaUN+nWu06dPKzMzM6LrwmW8SXniiScUGxurH/zg\nB2pqalJTU5N+8IMfKDY2Vt/5zndMDwcAAAAgDC+//LIaGxtVXl6u6urqsO/Lz8/Xhx9+qDNnzvQf\nO3bsmM6dO6eCgoKIrwuH8eleX/nKV/TTn/5UVVVVKi4uliSNGTNGW7duHTAFDAAAAIgmHkkeGz5C\nPJSUobW1VYcOHVJiYqKmT5+ugwcPhlxTXFystrY2NTQ0KCsrS+np6ZKkVatW6eDBg1qxYoVWrlyp\n7u5u7dy5U5mZmVq4cGH//eFeFw7jTcqBAwf0/PPP62tf+5rKysoUDAb1zjvv6Pvf/77++Z//WX/7\nt39rekgAAAAAt1FfXy9J8vl8ev7550POW5al4uJi1dfX64UXXtCGDRv6m5SkpCTt27dP69ev15Yt\nWxQfH6+8vDytXbtWMTEx/c8I97pwWH03vxdmQCAQ0De/+U3dd999+rd/+7f+z4wFg0GVlpbq0qVL\nOnLkiL7whS+E/cz/OeXLpsobkdK/GP4Co2jU2dXrdAmOyz5xxOkSHGXFT3S6BMe9+1eRzeONNmX/\nedrpEhx3/Q8fO12Co6wvsqb1g68OvtHeaJJ/8bzTJdxSQ0OD5syZox1fnKz7x4b/79yhag7+SU9/\ndkkfffSRsrKyhn08JxhNUs6cOSOfz6fCwsIB30EeO3asFixYoJ/97Gc6e/as/vqv/zrsZ87///6H\nyRJHnL5PO5wuwVHWlzKcLsFx1/f+v06X4CjP33/X6RIc96vPwt/8Kho9unC+0yU4bsI/rnG6BEf1\neXc6XYLj5m9+1ukSAFsZbVJuNibXrl0LOXf9+nVJn28IAwAAAEQbW/ZJGQWMft1r2rRpSk5O1i9/\n+Uv96U9/6j/e09OjAwcOKCkpSffff7/JIQEAAABEGaNJytixY/WP//iP+sEPfqDS0lKVlpbq2rVr\n+sUvfqFz587ppz/9qcaMGWNySAAAAMAV7mYPk0jHiXbGv+5VUFCgxMRE/fznP9err74qSZo5c6Ze\nf/11feMb3zA9HAAAAIAoY7xJkaRvfOMbNCQAAAAAhmRYmhQAAABgtLH+/MeOcaKd0YXzAAAAAHC3\nSFIAAAAAAzzWjZ8d40Q7khQAAAAArkKSAgAAABgyCkIOW5CkAAAAAHAVkhQAAADAADZzNIckBQAA\nAICrkKQAAAAABrBPijkkKQAAAABchSQFAAAAMMCybvzsGCfakaQAAAAAcBWaFAAAAACuwnQvAAAA\nwACP7EkARkPKMBreEQAAAMAIQpICAAAAGDIK1rTbgiQFAAAAgKuQpAAAAAAGWJYly4bvA9sxhtNI\nUgAAAAC4CkkKAAAAYIAle9akRH+OQpICAAAAwGVIUgAAAAADSFLMIUkBAAAA4CokKQAAAIABfN3L\nHJIUAAAAAK5CkwIAAADAVZjuBQAAABhgSfLYMBMr+id7kaQAAAAAcBmSFAAAAMAAyyNZNkQp1iiI\nGUbBKwIAAAAYSUhSAAAAAAMs68bPjnGiHUkKAAAAAFchSQEAAAAMIEkxhyQFAAAAgKuQpAAAAABG\nWLJsiTmiP0qhSQEAAABGmXXr1uncuXPau3fvLa9pb29Xbm7ubZ+zd+9efe1rX5MklZaW6uTJkyHX\n5Ofna+vWrRHVR5MCAAAAGDBS1qR4vV55vV499NBDt70uOTlZNTU1Ice7u7v14x//WJMnT9b06dMl\nSX19fWptbVVeXp7y8/MHXJ+amhpxjTQpAAAAwChw7do17dixQ9u3bw/r+nHjxqmoqCjk+E9+8hMF\ng0HV1NQoISFB0o3UJRAIaP78+YPeEymaFAAAACDK9fT0aPHixfr444/1+OOP69ixY0N6TlNTk/bt\n26e/+7u/05w5c/qPt7S0SJKmTp1qpF6+7gUAAAAYYFmWbb9I9fT0yO/3a/PmzVq/fr3GjBkzpHd8\n9dVXNW7cOD333HMDjjc3N0v6vEm5evXqkJ5/E0kKAAAAEOUSEhL0wQcfyOMZekbR2NioX//611q5\ncqUmT5484Fxzc7PGjx+vDRs2qK6uToFAQOnp6aqqqlJBQUHEY9GkAAAAAAa4eeH8UBOYv/TOO+9o\n7NixeuKJJ0LOtbS0yO/3y+fzqaamRp2dndqzZ4/WrFmj3t5eFRcXRzQWTQoAAACA2+ru7tahQ4f0\nyCOP6Etf+lLI+bKyMl2/fl3Lli3rP1ZYWKgFCxaopqZGRUVFEaU4rEkBAAAADLAsSx4bfvZsGDnQ\n7373OwUCAT366KODnl+yZMmABkWSYmNjVVxcrEuXLqm1tTWi8WhSAAAAANzWb37zG8XGxupb3/pW\nRPdNmjRJUuQL6WlSAAAAAAMsfb4uZVh/DrxbQ0ODMjMzNX78+JBzHR0dKiwsHHT/lbNnz0qS0tLS\nIhqPJgUAAADALfX29qq1tVVf+cpXBj2fkpIin88nr9errq6u/uPnz5/X/v37NXfuXCUnJ0c0Jgvn\nAQAAAANMfEEr3HGGQ1tbmxoaGpSVlaX09PT+43/84x/V29ur1NTUW967bt06Pfvss1q6dKlKS0vl\n9/tVW1urmJgYvfjiixHXQpICAAAAQPX19aqurtZHH3004Phnn30my7I0YcKEW96bl5enbdu2KS4u\nTps2bdJbb72lOXPm6N133x3SLvRWX19fX8R32ajvj81Ol+CovvbR/f7X9+91ugTHWXP/L6dLcNSY\nh0udLsFx109/6HQJjur7n4ecLsFx3R/9h9MlOCq+ZovTJTjOSv6y0yU4L+nW/y++0xoaGjRnzhz9\n8q/SNDMudtjHO9Xdo8d/366PPvpIWVlZwz6eE0hSAAAAALgKTQoAAAAAV2HhPAAAAGDAjU8E27Fw\nftiHcBxJCgAAAABXIUkBAAAADBkNKYcdSFIAAAAAuApJCgAAAGDASN/M0U1IUgAAAAC4CkkKAAAA\nYMCNr3vZM060I0kBAAAA4CokKQAAAIABHsuSx4aYw44xnEaSAgAAAMBVSFIAAAAAE2xak6LoD1JI\nUgAAAAC4C00KAAAAAFdhuhcAAABggCWbNnMcBfO9SFIAAAAAuApJCgAAAGAAmzmaQ5ICAAAAwFVI\nUgAAAAADSFLMIUkBAAAA4CokKQAAAIABlseS5bHh6142jOE0khQAAAAArkKSAgAAAJhg05qUUbBN\nCkkKAAAAAHchSQEAAAAM8Ejy2BCljIaUYTS8IwAAAIARhCYFAAAAgKsw3QsAAAAwgM0czSFJAQAA\nAOAqJCkAAACAAZZlybIh5rBjDKeRpAAAAABwFZIUAAAAwAQ2czSGJAUAAACAq5CkAAAAAAawJsUc\nkhQAAAAArkKSAgAAABhgyaZ9UoZ/CMeRpAAAAABwFZIUAAAAwADWpJhDkgIAAADAVWhSAAAAALgK\n070AAAAAAyzPjZ8d40Q7mhQAAABglFm3bp3OnTunvXv33vHa0tJSnTx5MuR4fn6+tm7d2v/3trY2\nbdy4UfX19ZKkhx9+WNXV1UpKSoq4PpoUAAAAwASbFs7f7XeOvV6vvF6vHnrooTte29fXp9bWVuXl\n5Sk/P3/AudTU1P7/fPnyZZWXlysYDKqyslLBYFC7du1SU1OTvF6vYmJiIqqRJgUAAAAYBa5du6Yd\nO3Zo+/btYd/T3t6uQCCg+fPnq6io6JbX7d69Wx0dHTp8+LCmTp0qSZo1a5YqKip04MABLV68OKJa\nR8GMNgAAAMAGliSPNfy/IQQpPT09evzxx7Vt2zYtWrRIKSkpYd3X0tIiSf2Nx63U1dUpJydnwHXz\n5s1TRkaG6urqIq53WJqUTz/9VP/0T/+kv/mbv9GcOXO0fPlynThxYjiGAgAAAHAHPT098vv92rx5\ns9avX68xY8aEdV9zc7Okz5uUq1evhlxz5coVtbe3a+bMmSHnZsyYoVOnTkVcr/HpXl1dXfr2t7+t\nS5cuqby8XImJiaqtrdWKFSvk9Xo1bdo000MCAAAAzrOsu14vEvY4EUpISNAHH3wgjyeyjKK5uVnj\nx4/Xhg0bVFdXp0AgoPT0dFVVVamgoECS1NHRIUmDpjNTpkyRz+dTV1eXJkyYEPa4xpuUN954o/9L\nAdnZ2ZKkgoIC5ebmateuXdq4caPpIQEAAADchjXERf0tLS3y+/3y+XyqqalRZ2en9uzZozVr1qi3\nt1fFxcXy+/2SpLi4uJD7Y2NjJUmBQMC5JqWvr0+//OUv9fDDD/c3KJI0efJkrV27NuJV/QAAAMBI\nMdRGYCjj2KWsrEzXr1/XsmXL+o8VFhZqwYIFqqmpUVFRkfr6+u5YV6Q1G21S2tvbdeHCBT311FOS\nbjQtV69e1fjx4we8GAAAAAD3W7JkScix2NhYFRcXa9u2bWptbVV8fLwkqbu7O+Tanp4eSYooRZEM\nL5z//e9/L0lKSkrSxo0blZ2drTlz5ig/P1+/+tWvTA4FAAAAuItlw5e9PDate7mDSZMmSbqxkP7m\nfikXL14Mue7ChQuaOHHioFPBbsdok9LZ2SlJ2rJli44ePap169Zp48aNiouL0/e+9z19+OGHJocD\nAAAAMEw6OjpUWFg46L4qZ8+elSSlpaUpMTFRaWlpg37F6/Tp08rMzIx4bKNNyp/+9CdJks/n0zvv\nvKNFixapuLhYtbW1SkhI0KZNm0wOBwAAAGCYpKSkyOfzyev1qqurq//4+fPntX//fs2dO1fJycmS\npPz8fH344Yc6c+ZM/3XHjh3TuXPn+r8CFgmja1JuzkfLy8tTQkJC//GEhAQ98sgjOnDggAKBgMaN\nGxf2M63EySZLHHn+j16nK3CUp+jvnS7BcX0X/uB0CY669ot/cboEx3kKv+N0CY760UvlTpfguPVb\nKp0uwVHW5DSnS3Bc36V2p0twnJWU6nQJd+biTxCHo62tTQ0NDcrKylJ6erokad26dXr22We1dOlS\nlZaWyu/3q7a2VjExMXrxxRf77121apUOHjyoFStWaOXKleru7tbOnTuVmZmphQsXRlyL0STl5reR\nb3ZUfykpKal/IT0AAAAAd6mvr1d1dbU++uij/mN5eXnatm2b4uLitGnTJr311luaM2eO3n333QG7\nyyclJWnfvn2aPn26tmzZor179yovL09vvPHGkL7wazRJuf/++/WFL3yhf2fKv9Te3q64uDglJSWZ\nHBIAAABwBctjyfLY8AliA2McOXIk5FhJSYlKSkpCjufm5io3N/eOz8zIyNDrr79+17VJhpOU+Ph4\nPfLII/rVr36llpaW/uNtbW06cuSI5s+fb+t3nQEAAACMPMZ3nP/hD3+o48eP6zvf+Y6+853vaOzY\nsdqzZ4/i4+NVVVVlejgAAADAHSzZtCZl+IdwmvEm5ctf/rLeffdd/exnP9OuXbvU19en7OxsrV27\nVmlpLHwDAAAAcHvGmxRJSk9P15YtW4bj0QAAAIArWZZNa1JGwfIJo2tSAAAAAOBuDUuSAgAAAIw6\nI3yfFDchSQEAAADgKiQpAAAAgAke68bPjnGiHEkKAAAAAFehSQEAAADgKkz3AgAAAAywZNnyeWBr\nFOzmSJICAAAAwFVIUgAAAAATPLJp4fzwD+G0UfCKAAAAAEYSkhQAAADABDZzNIYkBQAAAICrkKQA\nAAAAJliSZUcEEP1BCkkKAAAAAHchSQEAAABMYE2KMSQpAAAAAFyFJAUAAAAwwPJYsmzYJ8WOMZxG\nkgIAAADAVUhSAAAAABNYk2IMSQoAAAAAV6FJAQAAAOAqTPcCAAAATLAk2bGoPfpne5GkAAAAAHAX\nkhQAAADAAMuyZNmwqN2OMZxGkgIAAADAVUhSAAAAABM8lj1rUtjMEQAAAADsRZICAAAAGGHTZo6j\n4PNeJCkAAAAAXIUkBQAAADCAr3uZQ5ICAAAAwFVIUgAAAAATPLLp617DP4TTRsErAgAAABhJaFIA\nAAAAuArTvQAAAAADWDhvDkkKAAAAAFchSQEAAABMsCx7Fs6PgiSFJgUAAAAYZdatW6dz585p7969\nd7z26NGj2rFjh06fPi3LsvTggw/queee06xZswZcV1paqpMnT4bcn5+fr61bt0ZUH00KAAAAYIJl\n2ZNy3OUYXq9XXq9XDz300B2vPX78uCorKzVt2jRVVVUpGAzq7bff1vLly1VbW6sHHnhAktTX16fW\n1lbl5eUpPz9/wDNSU1MjrpEmBQAAABgFrl27ph07dmj79u1h3/PKK68oNTVVXq9XsbGxkqRFixap\noKBAmzdv1ptvvilJam9vVyAQ0Pz581VUVHTXtdKkAAAAAAZYHkuWDWtShjJGT0+PFi9erI8//liP\nP/64jh321aPkAAAgAElEQVQ7dsd7rly5oqamJq1cubK/QZGk5ORkZWdnD3hGS0uLJGnq1KkR1zYY\nmhQAAAAgyvX09Mjv92vz5s169NFH9cgjj9zxnoSEBL3//vuKi4sLOXf58mWNHft5K9Hc3Czp8ybl\n6tWrio+PH3K9NCkAAACACZZsWpMS+S0JCQn64IMP5PGEvwOJx+PRvffeG3K8sbFRDQ0N+uY3v9l/\nrLm5WePHj9eGDRtUV1enQCCg9PR0VVVVqaCgIOJ6aVIAAACAKGdqo0m/36/q6mp5PB499dRT/cdb\nWlrk9/vl8/lUU1Ojzs5O7dmzR2vWrFFvb6+Ki4sjGocmBQAAADAhyvdJCQQCevrpp9XU1KTVq1cr\nOzu7/1xZWZmuX7+uZcuW9R8rLCzUggULVFNTo6KioshSHKOVAwAAAIg6nZ2dWrlypY4fP67S0lJV\nVVUNOL9kyZIBDYokxcbGqri4WJcuXVJra2tE45GkAAAAALilTz75RE8++aQaGxtVVlaml156Kex7\nJ02aJOnGQvpIkKQAAAAAJvx53cdw/+yc7tXV1dXfoFRUVAzaoHR0dKiwsHDQ/VfOnj0rSUpLS4to\nXJoUAAAAAIN6+eWX1djYqPLyclVXVw96TUpKinw+n7xer7q6uvqPnz9/Xvv379fcuXOVnJwc0biu\nn+517be/cLoER3nun+10CY7qq/+t0yU4zvp6vtMlOKrP1+l0Cc7r63O6AkdtbP610yU4b4zr/+d6\nWF07+b+dLsFxY2bMc7oEhMNj08L5YRqjra1NDQ0NysrKUnp6ulpbW3Xo0CElJiZq+vTpOnjwYMg9\nN7/atW7dOj377LNaunSpSktL5ff7VVtbq5iYGL344osR1zK6/1sPAAAAgCSpvr5eL7zwgjZs2KD0\n9HQdP35ckuTz+fT888+HXG9ZVn+TkpeXp23btum1117Tpk2bNG7cOOXk5GjNmjW67777Iq6FJgUA\nAAAwwq71Inc/xpEjR0KOlZSUqKSkpP/vS5cu1dKlS8N+Zm5urnJzc++6Nok1KQAAAABchiQFAAAA\nMMGSPUmKM3s52ookBQAAAICrkKQAAAAAJti1h4mN+6Q4hSQFAAAAgKuQpAAAAAAmeDw3fnaME+Wi\n/w0BAAAAjCg0KQAAAABcheleAAAAgBEjZzNHtyNJAQAAAOAqJCkAAACACWzmaAxJCgAAAABXIUkB\nAAAATGAzR2NIUgAAAAC4CkkKAAAAYAKbORoT/W8IAAAAYEQhSQEAAACMYJ8UU0hSAAAAALgKSQoA\nAABgAvukGEOSAgAAAMBVaFIAAAAAuArTvQAAAAAT2MzRGJIUAAAAAK5CkgIAAACYwGaOxkT/GwIA\nAAAYUUhSAAAAACPYzNEUkhQAAAAArkKSAgAAAJjAZo7GkKQAAAAAcBWSFAAAAMAE9kkxhiQFAAAA\ngKuQpAAAAAAGWB6PLBv2MLFjDKdF/xsCAAAAGFFoUgAAAAC4CtO9AAAAACPYzNEUkhQAAAAArkKS\nAgAAAJjAZo7GkKQAAAAAcBWSFAAAAMAENnM0hiQFAAAAgKuQpAAAAAAmeDw3fnaME+Wi/w0BAAAA\nDLBu3To98cQTYV3b1tamZ555Rjk5OcrJyVF1dbU+/fTTIV8XDpIUAAAAwIiRsU+K1+uV1+vVQw89\ndMdrL1++rPLycgWDQVVWVioYDGrXrl1qamqS1+tVTExMRNeFa1iblMbGRpWWluq73/2unnnmmeEc\nCgAAAMBtXLt2TTt27ND27dvDvmf37t3q6OjQ4cOHNXXqVEnSrFmzVFFRoQMHDmjx4sURXReuYZvu\nFQwG9fzzzysYDA7XEAAAAIB73Py6lx2/CPX09Ojxxx/Xtm3btGjRIqWkpIR1X11dnXJycvobD0ma\nN2+eMjIyVFdXF/F14Rq2JuW1115TS0vLcD0eAAAAQJh6enrk9/u1efNmrV+/XmPGjLnjPVeuXFF7\ne7tmzpwZcm7GjBk6depURNdFYlialKamJv385z/X9773veF4PAAAAIAIJCQk6IMPPtCjjz4a9j0d\nHR2SNGjqMmXKFPl8PnV1dYV9XSSMNyk3p3l9/etfV1FRkenHAwAAAO5kyabpXkMozbLkifDTxX6/\nX5IUFxcXci42NlaSFAgEwr4uEsYXzr/xxhtqa2vTjh071Nvba/rxAAAAAGzQ19cn6UaDcyuWZYV9\nXSSMJinNzc36l3/5F61duzbsxTgAAABAVLi5maMdPxvEx8dLkrq7u0PO9fT0SJImTJgQ9nWRMPaG\n165d049+9CNlZ2dH/IkxAAAAAO6SmpoqSbp48WLIuQsXLmjixImKi4sL+7pIGJvutWvXLn388cd6\n++23+3eW7OzslHRjDtrly5f1xS9+MeKoBwAAABgZRsZmjuFKTExUWlraoF/nOn36tDIzMyO6LhLG\nmpSjR4+qt7d30BRl165d2rVrl44cOdLfaYXL89VvmCpxRLr++9NOl+CoMcv/wekSHHf93EmnS3BU\n8H8dcboEx30hf6nTJTiqL+B3ugTHWePGO12Co67ve9PpEpz33847XYHjxpR83+kSRqX8/Hzt2bNH\nZ86c6d8D5dixYzp37pwqKysjvi5cxpqUH/3oR/3JyU2XLl3SD3/4Qy1atEjFxcWaPHmyqeEAAAAA\ndxniRotDGmcYtLW1qaGhQVlZWUpPT5ckrVq1SgcPHtSKFSu0cuVKdXd3a+fOncrMzNTChQv77w33\nunAZa1IG27ylvb1dkpSWlqZ58+aZGgoAAACAYfX19XrhhRe0YcOG/iYlKSlJ+/bt0/r167VlyxbF\nx8crLy9Pa9euVUxMTP+94V4XLuOfIAYAAABGJY9lz5e3PHefpBw5EjqduqSkRCUlJSHHMzIy9Prr\nr9/xmeFeFw57vl8GAAAAAGEa1iQlLS1NjY2NwzkEAAAA4A4jfE2Km5CkAAAAAHAVmhQAAAAArsLC\neQAAAMCI6NrM0UkkKQAAAABchSQFAAAAMIGF88aQpAAAAABwFZIUAAAAwIQRtJmj25GkAAAAAHAV\nkhQAAADABNakGEOSAgAAAMBVSFIAAAAAE0hSjCFJAQAAAOAqJCkAAACAEZZk2ZEBkKQAAAAAgK1o\nUgAAAAC4CtO9AAAAABM8lj0bLbKZIwAAAADYiyQFAAAAMMHy2LNw3pbF+c6K/jcEAAAAMKKQpAAA\nAAAmsJmjMSQpAAAAAFyFJAUAAAAwwbIkjx1rUkhSAAAAAMBWJCkAAACACaxJMYYkBQAAAICrkKQA\nAAAAJrBPijHR/4YAAAAARhSaFAAAAACuwnQvAAAAwARLNi2cH/4hnEaSAgAAAMBVSFIAAAAAEyyP\nTZs5Rn/OEP1vCAAAAGBEIUkBAAAATGAzR2NIUgAAAAC4CkkKAAAAYIJl2bSZI0kKAAAAANiKJAUA\nAAAwwbIkD2tSTCBJAQAAAOAqJCkAAACACZbHpjUp0Z8z0KQAAAAAo0RbW5s2btyo+vp6SdLDDz+s\n6upqJSUlDXp9e3u7cnNzb/vMvXv36mtf+5okqbS0VCdPngy5Jj8/X1u3bg27TpoUAAAAYBS4fPmy\nysvLFQwGVVlZqWAwqF27dqmpqUler1cxMTEh9yQnJ6umpibkeHd3t3784x9r8uTJmj59uiSpr69P\nra2tysvLU35+/oDrU1NTI6qVJgUAAAAwweWbOe7evVsdHR06fPiwpk6dKkmaNWuWKioqdODAAS1e\nvDjknnHjxqmoqCjk+E9+8hMFg0HV1NQoISFB0o3UJRAIaP78+YPeE4non9AGAAAAQHV1dcrJyelv\nUCRp3rx5ysjIUF1dXdjPaWpq0r59+1RSUqI5c+b0H29paZGkAc8fKpoUAAAAwISbmzkO+y/yJOXK\nlStqb2/XzJkzQ87NmDFDp06dCvtZr776qsaNG6fnnntuwPHm5mZJnzcpV69ejbjOm2hSAAAAgCjX\n0dEhSUpJSQk5N2XKFPl8PnV1dd3xOY2Njfr1r3+tJUuWaPLkyQPONTc3a/z48dqwYYNmz56trKws\n5eXl6b333ou4XtakAAAAACa4eDNHv98vSYqLiws5FxsbK0kKBAKaMGHCbZ/zzjvvaOzYsXriiSdC\nzrW0tMjv98vn86mmpkadnZ3as2eP1qxZo97eXhUXF4ddL00KAAAAEOX6+vokSdZtGpzbnZNufNHr\n0KFDeuSRR/SlL30p5HxZWZmuX7+uZcuW9R8rLCzUggULVFNTo6KiInk84U3kYroXAAAAYMLNr3vZ\n8YtQfHy8pBuNxn/V09MjSXdMUX73u98pEAjo0UcfHfT8kiVLBjQo0o2Upri4WJcuXVJra2vY9dKk\nAAAAAFHu5j4lFy9eDDl34cIFTZw4cdCpYH/pN7/5jWJjY/Wtb30rorEnTZokKbKF9DQpAAAAgAku\n/rpXYmKi0tLSBv2K1+nTp5WZmXnHZzQ0NCgzM1Pjx48POdfR0aHCwkJt37495NzZs2clSWlpaWHX\n6/o1Kf9r9nynS3BU+hdv39FGu2m/Cv+b3dHqhbllTpfgqP/+D485XYLj/jN38Fh9tPiro791ugTH\nXX2yxOkSHDVuyy6nS3Dc9aZ6p0tAFMjPz9eePXt05syZ/s8EHzt2TOfOnVNlZeVt7+3t7VVra6vK\nygb/d0lKSop8Pp+8Xq/Ky8v7p46dP39e+/fv19y5c5WcnBx2ra5vUgAAAIARwWPT172GOMaqVat0\n8OBBrVixQitXrlR3d7d27typzMxMLVy4UJLU1tamhoYGZWVlKT09vf/eP/7xj+rt7e2fNjaYdevW\n6dlnn9XSpUtVWloqv9+v2tpaxcTE6MUXX4zsFYf0hgAAAABGlKSkJO3bt0/Tp0/Xli1btHfvXuXl\n5emNN95QTEyMJKm+vl7V1dX66KOPBtz72WefybKs2y6uz8vL07Zt2xQXF6dNmzbprbfe0pw5c/Tu\nu+9GvAs9SQoAAAAwSmRkZOj111+/5fmSkhKVlIROMX3ggQf0H//xH3d8fm5urnJzc++qRokmBQAA\nADDkzwvb7RgnykX/GwIAAAAYUUhSAAAAABOGuNHikMaJciQpAAAAAFyFJAUAAAAw4eZmjnaME+VI\nUgAAAAC4CkkKAAAAYILLN3McSUhSAAAAALgKSQoAAABgBPukmBL9bwgAAABgRCFJAQAAAExgnxRj\nSFIAAAAAuApNCgAAAABXYboXAAAAYILHkjw2ZAB8ghgAAAAA7EWSAgAAAJjAwnljSFIAAAAAuApJ\nCgAAAGAEmzmaEv1vCAAAAGBEIUkBAAAATLBk05qU4R/CaSQpAAAAAFyFJAUAAAAwweOxaZ+U6M8Z\nov8NAQAAAIwoJCkAAACACeyTYgxJCgAAAABXIUkBAAAAjLBs2ieFJAUAAAAAbEWTAgAAAMBVmO4F\nAAAAmMDCeWNIUgAAAAC4CkkKAAAAYILlsWfhvC2L850V/W8IAAAAYEQhSQEAAABM8Fg3fnaME+VI\nUgAAAAC4CkkKAAAAYASbOZpCkgIAAADAVUhSAAAAABPYJ8UYkhQAAAAArkKSAgAAAJjAPinGRP8b\nAgAAABhRaFIAAAAAuArTvQAAAAADbqybH/5F7aNg3fzwNClHjx7Vjh07dPr0aVmWpQcffFDPPfec\nZs2aNRzDAQAAAAhDW1ubNm7cqPr6eknSww8/rOrqaiUlJd32vtLSUp08eTLkeH5+vrZu3XrXz/+v\njDcpx48fV2VlpaZNm6aqqioFg0G9/fbbWr58uWpra/XAAw+YHhIAAABwnssXzl++fFnl5eUKBoOq\nrKxUMBjUrl271NTUJK/Xq5iYmEHv6+vrU2trq/Ly8pSfnz/gXGpq6l0/fzDGm5RXXnlFqamp8nq9\nio2NlSQtWrRIBQUF2rx5s958803TQwIAAAC4g927d6ujo0OHDx/W1KlTJUmzZs1SRUWFDhw4oMWL\nFw96X3t7uwKBgObPn6+ioiLjzx+M0VbvypUrampq0mOPPdbfoEhScnKysrOzdeLECZPDAQAAAO5x\nM0mx4zcEdXV1ysnJ6W8gJGnevHnKyMhQXV3dLe9raWmRpAH3mXz+YIw2KQkJCXr//fdVXl4ecu7y\n5csaO5Z1+gAAAIDdrly5ovb2ds2cOTPk3IwZM3Tq1Klb3tvc3Czp8ybl6tWrRp8/GKNNisfj0b33\n3qt77rlnwPHGxkY1NDRo9uzZJocDAAAA3MOS5LGG/zeEr3t1dHRIklJSUkLOTZkyRT6fT11dXYPe\n29zcrPHjx2vDhg2aPXu2srKylJeXp/fee8/I8wcz7Ct7/H6/qqur5fF49NRTTw33cAAAAAD+C7/f\nL0mKi4sLOXdzmUYgEBj03paWFvn9fvl8PtXU1OiVV17R+PHjtWbNGh08ePCunz+YYZ1/FQgE9PTT\nT6upqUmrV69Wdnb2cA4HAAAAOMfFX/fq6+u7cettNlm51bmysjJdv35dy5Yt6z9WWFioBQsWqKam\nRkVFRXf1/MEMW5PS2dmp1atX68SJEyotLVVVVdVwDQUAAADgNuLj4yVJ3d3dIed6enokSRMmTBj0\n3iVLloQci42NVXFxsbZt26bW1ta7ev5ghqVJ+eSTT/Tkk0+qsbFRZWVleumll4b8rEeO1BqsbOS5\nvvNVp0tw1HXvDqdLcNxPXvp7p0twlKfih06X4Lj0pe1Ol+Co4IbvO12C4+Jf/zenS3BU55KFTpfg\nuPFf/6rTJThv/hNOV3BnN7act2ecCN3cz+TixYsh5y5cuKCJEycOOlXrdiZNmiTpxkL6jIwMo883\nnkd1dXX1NygVFRV31aAAAAAAuHuJiYlKS0sb9Ctbp0+fVmZm5qD3dXR0qLCwUNu3bw85d/bsWUlS\nWlrakJ9/K8ablJdfflmNjY0qLy9XdXW16ccDAAAAGIL8/Hx9+OGHOnPmTP+xY8eO6dy5cyooKBj0\nnpSUFPl8Pnm93gFf5zp//rz279+vuXPnKjk5ecjPvxWj071aW1t16NAhJSYmavr06f2r/f9ScXGx\nySEBAAAAd7AsmxbOD21K2apVq3Tw4EGtWLFCK1euVHd3t3bu3KnMzEwtXHhjWmVbW5saGhqUlZWl\n9PR0SdK6dev07LPPaunSpSotLZXf71dtba1iYmL04osvRvT8cBltUurr6yVJPp9Pzz//fMh5y7Jo\nUgAAAAAHJCUlad++fVq/fr22bNmi+Ph45eXlae3atYqJiZF049/zL7zwgjZs2NDfpOTl5Wnbtm16\n7bXXtGnTJo0bN045OTlas2aN7rvvvoieHy6jTcqSJUsGXf0PAAAARD+bFs4PZTfHP8vIyNDrr79+\ny/MlJSUqKSkJOZ6bm6vc3Ny7fn64bMijAAAAACB8w7qZIwAAADBquHgzx5Em+t8QAAAAwIhCkgIA\nAACY4LFu/OwYJ8qRpAAAAABwFZIUAAAAwASX75MykpCkAAAAAHAVkhQAAADACPfvkzJSkKQAAAAA\ncBWaFAAAAACuwnQvAAAAwAQ2czQm+t8QAAAAwIhCkgIAAACYYMmehfPRv26eJAUAAACAu5CkAAAA\nACawJsWY6H9DAAAAACMKSQoAAABgguWRPCQpJkT/GwIAAAAYUUhSAAAAAAMsy5Jlw9e97BjDaSQp\nAAAAAFyFJAUAAAAwwbJs+roXSQoAAAAA2IomBQAAAICrMN0LAAAAMMGy7JmKxXQvAAAAALAXSQoA\nAABgguWxaeF89OcM0f+GAAAAAEYUkhQAAADAlFGwXsQOJCkAAAAAXIUkBQAAADDB47nxs2OcKBf9\nbwgAAABgRCFJAQAAAExgnxRjSFIAAAAAuApJCgAAAGCCZdm0TwpJCgAAAADYiiYFAAAAgKsw3QsA\nAAAwwqaF82K6FwAAAADYiiQFAAAAMMKSPSkHSQoAAAAA2IokBQAAADCBzRyNoUkBAAAARom2tjZt\n3LhR9fX1kqSHH35Y1dXVSkpKuu19R48e1Y4dO3T69GlZlqUHH3xQzz33nGbNmjXgutLSUp08eTLk\n/vz8fG3dujXsOmlSAAAAABNcnqRcvnxZ5eXlCgaDqqysVDAY1K5du9TU1CSv16uYmJhB7zt+/Lgq\nKys1bdo0VVVVKRgM6u2339by5ctVW1urBx54QJLU19en1tZW5eXlKT8/f8AzUlNTI6qVJgUAAAAY\nBXbv3q2Ojg4dPnxYU6dOlSTNmjVLFRUVOnDggBYvXjzofa+88opSU1Pl9XoVGxsrSVq0aJEKCgq0\nefNmvfnmm5Kk9vZ2BQIBzZ8/X0VFRXdVKwvnAQAAAGMsG35DU1dXp5ycnP4GRZLmzZunjIwM1dXV\nDXrPlStX1NTUpMcee6y/QZGk5ORkZWdn68SJE/3HWlpaJGnA84eKJAUAAACIcleuXFF7e7see+yx\nkHMzZszQb3/720HvS0hI0Pvvv6+4uLiQc5cvX9bYsZ+3E83NzZI+b1KuXr2q+Pj4IdVLkgIAAACY\ncHNNih2/CHV0dEiSUlJSQs5NmTJFPp9PXV1dIec8Ho/uvfde3XPPPQOONzY2qqGhQbNnz+4/1tzc\nrPHjx2vDhg2aPXu2srKylJeXp/feey/ieklSAAAAgCjn9/sladBE5OY0rkAgoAkTJoT1rOrqank8\nHj311FP9x1taWuT3++Xz+VRTU6POzk7t2bNHa9asUW9vr4qLi8OulyYFAAAAiHJ9fX2SJOs2Kczt\nzt0UCAT09NNPq6mpSatXr1Z2dnb/ubKyMl2/fl3Lli3rP1ZYWKgFCxaopqZGRUVF8njCm8jl+ibl\nTz992ekSHBXzdyVOl+CozprXnC7BcZM++N9Ol+Coa8cOOl2C83xXnK7AUWOe+X+cLsF5njFOV+Co\nxINHnC7BcX3+z5wuAeG4u3XtkY0ToZtrQ7q7u0PO9fT0SNIdU5TOzk6tXr1aJ06cUGlpqaqqqgac\nX7JkScg9sbGxKi4u1rZt29Ta2qr7778/rHpd36QAAAAAuDs39ym5ePFiyLkLFy5o4sSJg04Fu+mT\nTz7Rk08+qcbGRpWVlemll14Ke+xJkyZJurGQPlwsnAcAAACMsOPzw0OLaxITE5WWlqZTp06FnDt9\n+rQyMzNveW9XV1d/g1JRUTFog9LR0aHCwkJt37495NzZs2clSWlpaWHXS5MCAAAAjAL5+fn68MMP\ndebMmf5jx44d07lz51RQUHDL+15++WU1NjaqvLxc1dXVg16TkpIin88nr9c74Cth58+f1/79+zV3\n7lwlJyeHXSvTvQAAAAAjhvZ54CGNMwSrVq3SwYMHtWLFCq1cuVLd3d3auXOnMjMztXDhQklSW1ub\nGhoalJWVpfT0dLW2turQoUNK/P/bu/+YKsv/j+OvIxzBM4FCjQ2poRvMlDIGeQJbKwJXIJMM5nQJ\noStrnr7NWCAt3GoV6XJJWfnrFJLoGjlxjjbXpn+46dIt12fTOFlog1YggQoE1KHz/cPBd+6Q++bn\nPvd9e87zsfHPuRzXa+44r/f9vq7rjo/XvHnzdPhw8FnR8Vu76urq9NJLL2nlypUqLS3V0NCQmpub\n5XQ6tWnTpn+VlSIFAAAAiACJiYnat2+f6uvr1dDQIJfLpYKCAlVXV8vpdEqSzpw5o9dee03vvvuu\n7r77bp0+fVqSNDAwoNra2qDf6XA4JoqUgoICbd++XTt37tTWrVs1bdo0ud1uvfLKK0pNTf1XWSlS\nAAAAACPc4osWb2meWzRnzhzt2rXrH8eXL1+u5cv/73bZlStXauXKlf/v35+fn6/8/PxbzjeOMykA\nAAAAbIVOCgAAAGAYM86khD86KQAAAABshU4KAAAAYITb4EzK7YJOCgAAAABboUgBAAAAYCts9wIA\nAAAM4ZA5B+fZ7gUAAAAApqKTAgAAABiBg/OGoZMCAAAAwFbopAAAAABGoJNiGDopAAAAAGyFTgoA\nAABgmPDvcpiBTgoAAAAAW6GTAgAAABjAIYccJpwXcURAt4ZOCgAAAABboZMCAAAAGIHbvQxDJwUA\nAACArVCkAAAAALAVtnsBAAAAhnDInCuI2e4FAAAAAKaikwIAAAAYgYPzhqGTAgAAAMBW6KQAAAAA\nRnDIpE5K6KewGp0UAAAAALZCJwUAAAAwBLd7GYVOCgAAAABboZMCAAAAGIHbvQxDJwUAAACArdBJ\nAQAAAIwS/k0OU9BJAQAAAGArFCkAAAAAbIXtXgAAAIAhuILYKHRSAAAAANgKnRQAAADACFxBbBg6\nKQAAAABshU4KAAAAYASHTOqkhH4Kq9FJAQAAAGArdFIAAAAAQ3C7l1HopAAAAACwlZAUKZ2dnfJ4\nPHK73XK73aqpqVFfX18opgIAAADsYfx2LzN+wpzh2736+/tVUVEhv9+v5557Tn6/X16vVz6fTy0t\nLXI6nUZPCQAAACCMGF6kNDY2qru7W0eOHNHcuXMlSQsXLlRlZaVaW1tVVlZm9JQAAACA9XhPimEM\n3+7V1tYmt9s9UaBIUk5OjubMmaO2tjajpwMAAAAQZgwtUq5evaquri4tWLAgaGz+/Pk6d+6ckdMB\nAAAACEOGFind3d2SpKSkpKCxWbNmaWBgQIODg0ZOCQAAANiEw8Sf8GZokTI0NCRJio2NDRqLiYmR\nJA0PDxs5JQAAAIAwY+jB+UAgIEly3OQwz83GAAAAgNvVt9/9x5R5vvf9YMo8VjK0SHG5XJKkkZGR\noLHR0VFJ0vTp0//V74z9/Nh/Hwy3rTtLPFZHgMWi8sutjgAAlnO4EqyOgJvw+/2SpOfW/4+p88bF\nxZk6n5kMLVKSk5MlSZcvXw4a6+npUUJCwqRbwQAAAIDb1aJFi/TNN98oOtrwt3v8o7i4OKWlpZk2\nn9kM/ZuMj49XSkrKpLd4nT9/XhkZGUZOBwAAANjCokWLrI4QVgx/T8qSJUt06tQpdXR0THx28uRJ\nXbp0SYWFhUZPBwAAACDMOALjp90N0tfXp+LiYkVFRWnNmjUaGRnRnj17lJqaqgMHDsjpdBo5HQAA\nALs7MDUAAAiZSURBVIAwY3iRIkkXL15UfX29zpw5I5fLpUceeUTV1dW68847jZ4KAAAAQJgJSZEC\nAAAAALfK8DMpAAAAAPDfoEgBAAAAYCsUKQAAAABshSIFAAAAgK1QpAAAAACwFYoUAAAAALZCkQIA\nAADAVmxbpHR2dsrj8cjtdsvtdqumpkZ9fX1Wx4KJTpw4oVWrVumBBx5QZmamKisr9d1331kdCxZo\nb29XRkaGtm/fbnUUmKivr0+vv/66cnNzlZWVpWeeeUZnz561OhZM1N7errVr1yozM1NZWVl64YUX\ndPHiRatjwQR1dXVavXp10OesDyOHLV/m2N/fr6efflp+v1/l5eXy+/3yer2aPXu2Wlpa5HQ6rY6I\nEDt9+rTKy8uVnp4+8V3Yv3+/enp61NzcrPvvv9/qiDCJ3+9XWVmZvv/+e3k8Hnk8HqsjwQSDg4Mq\nKytTb2+vKioqFB8fr+bmZv32229qaWlRenq61RERYp2dnSopKdG0adP07LPPKhAI6LPPPlMgENDh\nw4d11113WR0RIdLS0qK6ujotWrRITU1NE5+zPows0VYHmExjY6O6u7t15MgRzZ07V5K0cOFCVVZW\nqrW1VWVlZRYnRKi98847Sk5OVktLi2JiYiRJJSUlKiws1LZt2/Tpp59anBBm2blzp3788UerY8Bk\nu3fv1qVLl/T5558rOztbklRYWKj8/Hx5vV5t3rzZ4oQItb1792poaEjNzc2aN2+eJOmhhx5SWVmZ\nGhsbVV1dbXFCGG1sbEyffPKJPvroo0nHWR9GFltu92pra5Pb7Z74AkpSTk6O5syZo7a2NguTwQxX\nr16Vz+fTk08+OVGgSNKMGTOUnZ3Ndo8I4vP5tGPHDq1fv97qKDBRIBDQoUOH9Oijj04UKJI0c+ZM\nVVdX3/AZwtfFixeVmJg4UaBI0n333aeEhARduHDBwmQIhdHRUT311FPavn27SkpKlJSUFPRnWB9G\nFtsVKVevXlVXV5cWLFgQNDZ//nydO3fOglQwU1xcnI4ePaqKioqgsf7+fkVH27IBCIP5/X7V1tZq\n8eLFKi4utjoOTNTV1aWenh4tXrxY0vWiZWhoSJK0atUqnpZGiKSkJF25cuWG8wZXrlzRwMCAZs2a\nZWEyhMLo6KiGhoa0bds21dfXKyoq6oZx1oeRx3ZFSnd3tyRNWkHPmjVLAwMDGhwcNDsWTDRlyhTd\nc889QfuN29vb9e233yozM9OiZDDT7t271dnZqTfeeEM2PDqHEPr5558lSYmJidq8ebOys7OVlZWl\nJUuW6Pjx4xang1lWr16tmJgYVVVVyefzyefzqaqqSjExMSovL7c6HgwWFxenr7/+Wk888cSk46wP\nI4/tHkmPPy2LjY0NGhvf+jM8PKzp06ebmgvWGhoaUk1NjaZMmaLnn3/e6jgIsQsXLujjjz/Wpk2b\nlJSUpK6uLqsjwUTXrl2TJDU0NMjpdKqurk4Oh0Ner1fr16+X1+tVTk6OxSkRavfee6+2bNmiDRs2\naNmyZZKkqKgoffDBBzdsAUN4cDgccjgc/zjO+jDy2K5IGX9ierMv6s3GEH6Gh4f14osvyufzad26\ndexHD3NjY2PauHGjsrOz2dYTof78809J0sDAgI4ePaq4uDhJUl5envLz87V161Z9+eWXVkaECVpb\nW1VbW6sHH3xQK1askN/v14EDB/Tyyy/rww8/1GOPPWZ1RJiI9WHksV2R4nK5JEkjIyNBY6Ojo5JE\nlRxBrl27pnXr1uns2bMqLS3Vhg0brI6EEPN6vfrhhx+0f//+ib3o40/Wh4eH1d/frzvuuIP/jMLY\n+P8DBQUFEwWKdH07SF5enlpbWzU8PKxp06ZZFREhNjw8rLffflsZGRnau3fvxL/3oqIilZaWqq6u\nTseOHdPUqVMtTgqzsD6MPLY7k5KcnCxJunz5ctBYT0+PEhISJm31Ifz8/vvvKi8v19mzZ7VixQq9\n9dZbVkeCCU6cOKG//vpLZWVlys3NVW5urpYvXy5JE9t8fv31V4tTIpTG95zPmDEjaCwxMVGBQEB/\n/PGH2bFgoo6ODg0MDKioqOiGBxLR0dFaunSpent7ealjhGF9GHls10mJj49XSkrKpLc0nD9/XhkZ\nGRakgtkGBwe1du1atbe3q7KyUjU1NVZHgkk2btw40TkZ19vbq1dffVUlJSVatmyZZs6caVE6mCEt\nLU1Tp06d9JrZrq4uxcbGKjEx0YJkMMt4YTI2NhY09vfff0sSF2pEGNaHkcd2nRRJWrJkiU6dOqWO\njo6Jz06ePKlLly6psLDQwmQwy5tvvqn29nZVVFRQoESYBQsWKCcn54af8RvdUlJSlJOTwxaPMOdy\nuZSXl6fjx4/f8CLPzs5OHTt2TI8//jjb/cJcenq6ZsyYoUOHDk2cUZKub+tpbW1VYmKi0tLSLEwI\nK7A+jCyOgA0fRfT19am4uFhRUVFas2aNRkZGtGfPHqWmpurAgQNyOp1WR0QI/fTTTyoqKlJ8fLxq\na2s1ZUpwLT1+0wsiQ1dXl/Lz8+XxeOTxeKyOAxP88ssvExcnlJeXKzo6Wk1NTRodHdXBgweVkpJi\ncUKE2ldffaWqqiqlpaWptLRUY2NjOnjwoDo6OrRlyxYtXbrU6ogIoby8PKWkpKipqWniM9aHkcV2\n272k63uO9+3bp/r6ejU0NMjlcqmgoEDV1dV8ASPAmTNnJF2/2ae2tjZo3OFwUKQAYW727Nn64osv\n9N5778nr9SoQCCg7O1vV1dUUKBGisLBQ8fHx2rFjh95//31J1zutu3bt0sMPP2xxOliB9WFksWUn\nBQAAAEDksuWZFAAAAACRiyIFAAAAgK1QpAAAAACwFYoUAAAAALZCkQIAAADAVihSAAAAANgKRQoA\nAAAAW6FIAQAAAGArFCkAAAAAbIUiBQAAAICtUKQAAAAAsBWKFAAAAAC28r8sS/Zfnh3dyAAAAABJ\nRU5ErkJggg==\n", "text": [ "" ] } ], "prompt_number": 21 }, { "cell_type": "markdown", "metadata": {}, "source": [ "And the default for negative data is the `blues` colormap." ] }, { "cell_type": "code", "collapsed": false, "input": [ "import prettyplotlib as ppl\n", "import matplotlib.pyplot as plt\n", "import numpy as np\n", "\n", "fig, ax = plt.subplots(1)\n", "\n", "np.random.seed(10)\n", "\n", "ppl.pcolormesh(fig, ax, -np.abs(np.random.randn(10,10)))\n", "# fig.savefig('pcolormesh_prettyplotlib_negative.png')" ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 22, "text": [ "" ] }, { "metadata": {}, "output_type": "display_data", "png": "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\n", "text": [ "" ] } ], "prompt_number": 22 }, { "cell_type": "markdown", "metadata": {}, "source": [ "Plus you can add $x$- and $y$-ticklabels directly!\n", "\n", "Normally, when you add $x$- and $y$-ticklables on `pcolormesh` in `matplotlib`, they're not centered on the blocks, and you have to do a lot of annoying work just getting a label on each box. You have to specify the xticks explicitly, since you want to label each box.\n", "\n", " xticks = range(10)\n", " yticks = range(10)\n", " \n", " xticklabels=string.uppercase[:10]\n", " yticklabels=string.lowercase[-10:]\n", " \n", " ax.set_xticks(xticks)\n", " ax.set_xticklabels(xticklabels)\n", " \n", " ax.set_yticks(yticks)\n", " ax.set_yticklabels(yticklabels)\n" ] }, { "cell_type": "code", "collapsed": false, "input": [ "import prettyplotlib as ppl\n", "import matplotlib.pyplot as plt\n", "import numpy as np\n", "import string\n", "\n", "fig, ax = plt.subplots(1)\n", "\n", "np.random.seed(10)\n", "\n", "p = ax.pcolormesh(np.abs(np.random.randn(10,10)))\n", "fig.colorbar(p)\n", "\n", "xticks = range(10)\n", "yticks = range(10)\n", "\n", "xticklabels=string.uppercase[:10]\n", "yticklabels=string.lowercase[-10:]\n", "\n", "ax.set_xticks(xticks)\n", "ax.set_xticklabels(xticklabels)\n", "\n", "ax.set_yticks(yticks)\n", "ax.set_yticklabels(yticklabels)\n", "\n", "\n", "fig.savefig('pcolormesh_matplotlib_positive_labels.png')" ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "display_data", "png": "iVBORw0KGgoAAAANSUhEUgAAAyQAAAJcCAYAAAAIDGAcAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAAPYQAAD2EBqD+naQAAIABJREFUeJzs3X101PWd//3XJKQJNwlCoKkpUUOFIlJAbgx0FbkgyRFC\nCMawBFYbQaLHVVrCz22q3bCLVoUrpSKFcqrihdx52enh4qYRrdbVUrESCWe3gIlJgG6y2HDTGJKQ\nxMxkrj9YonECmXxnvvkMk+fjnDln/d58vu/J6dkzb17fz+fj8Hg8HgEAAACAAWGmCwAAAADQe9GQ\nAAAAADCGhgQAAACAMTQkAAAAAIyhIQEAAABgDA0JAAAAAGNoSAAAAAAY08d0AV81c+ZM0yUAAADA\nsD/84Q+mS+hSeXm56uvre+RZ0dHRGjFiRI88ywRHsGyMOHPmTFV/dloR1w80XYoxjSf6mi4hCDSY\nLsCsb8WYrsC8NtMFmBXW3226BOPa/hZuugSzmnr5/x+UpIQBpiswaviFE6ZLMOqz5ghd/+2EoG5K\nysvLNXLkyB595qeffhqyTUlQJSQR1w/UiD8sN12GMbsdqaZLCAKvmy7ArI2PmK7AvM9NF2DWwKy/\nmS7BuLq0b5kuwax3dpiuwLyifzJdgVEnX3SYLsGome/dZLqELl1ORjIlDbH5Weck7frKM0NRUDUk\nAAAAwLViiKR400WEABoSAAAAwII+sv/HdG/4sc4qWwAAAACM6Q1NFwAAABBwfSRF9MAzQh0JCQAA\nAABjekPTBQAAAARcuOz/Md0bFkInIQEAAABgDAkJAAAAYAFzSAKDhAQAAACAMTQkAAAAAIzpDSkQ\nAAAAEHBMag8MEhIAAAAAxpCQAAAAABYwqT0wSEgAAAAAGNMbmi4AAAAg4JhDEhgkJAAAAACMISEB\nAAAALGAOSWCQkAAAAAAwpjc0XQAAAEDA9ZH9P6Z7w491EhIAAAAAxvSGpgsAAAAIOOaQBAYJCQAA\nAABjaEgAAAAAGNMbUiAAAAAg4HhlKzBISAAAAAAY0xuaLgAAACDgwmX/j+lwm8cPBiQkAAAAAIwh\nIQEAAAAsYA5JYJCQAAAAADCmNzRdAAAAQMAxhyQwSEgAAAAAGENCAgAAAFjAHJLAICEBAAAAYExv\naLoAAACAgGMOSWCQkAAAAAAwhoYEAAAAgDG8sgUAAABYwKT2wCAhAQAAAGBMb2i6AAAAgIDrI/t/\nTPeGH+u94TsCAAAAvdKBAwe0adMmHT9+XA6HQ+PHj9fy5cs1bty4gNyXlZWlo0ePet2fmpqq9evX\n+1QjDQkAAABgQbDPITl06JByc3M1cuRI5eXlyeVyaefOnbrvvvu0Y8cOjR071q/7PB6PKisrlZKS\notTU1A5jxMfH+1wnDQkAAAAQgp599lnFx8fL6XQqMjJSkjRv3jzNnj1b69at0yuvvOLXfdXV1Wpq\natLMmTOVnp5uuU4mtQMAAAAWXN4Y0c6P1Y0R6+rqVFZWplmzZrU3FZIUGxurSZMm6ciRI37fV1FR\nIUkaPny4xSovISEBAAAAQkx0dLTeeustRUVFeZ2rra1Vnz6dtwHdua+8vFzSlw3JxYsX1a9fv27X\nSkICAAAAWHB5DomdH6vpQVhYmG644QZ985vf7HC8tLRUJSUluu222/y+r7y8XP3799fq1at12223\nacKECUpJSdEbb7zRrVpJSAAAAIBeoLGxUfn5+QoLC9NDDz3k930VFRVqbGxUfX29CgsLdeHCBW3d\nulUrVqxQa2urMjIyfBqfhgQAAACwINhX2fqqpqYmPfLIIyorK9PDDz+sSZMm+X3fggUL1NbWpkWL\nFrUfS0tL05w5c1RYWKj09HSFhXX9QhavbAEAAAAh7MKFC1qyZIkOHTqkrKws5eXlBeS+7OzsDs2I\nJEVGRiojI0Pnzp1TZWWlT88hIQEAAABC1Pnz5/Xggw+qtLRUCxYs0KpVq2y9T5IGDRok6dIkd1/4\n1ZB89NFHysnJueL51atXa968ef48AgAAAAhKl5f9tfsZVjU0NLQ3FYsXL1Z+fn7A7qupqdGSJUs0\ne/ZsPfroox3OnTx5UpI0bNgwn57n19/w5ptvVmFhYYdjra2tWrNmjTwejyZOnOjP8AAAAAAseuqp\np1RaWqqcnByfmxFf74uLi1N9fb2cTqdycnI0YMAASdLp06e1a9cuTZkyRbGxsT49z6+GJDY21mtX\nxlWrVunChQvatGmTEhIS/BkeAAAACFp9wqUIh83P8Ehyd/++yspK7d27VzExMRo1apT27NnjdU1G\nRoaqqqpUUlKiCRMmKCEhwef7JKmgoEDLli3TwoULlZWVpcbGRu3YsUMRERFauXKl79+x+1/vypxO\np1577TU9+uijmj59eiCHBgAAAOCj4uJiSVJ9fb2eeOIJr/MOh0MZGRkqLi7Wk08+qdWrVyshIUGH\nDh3y6T5JSklJ0YYNG/TrX/9aa9euVd++fZWUlKQVK1bopptu8rnWgDUkJSUlWrVqlaZNm6Zly5YF\nalgAAAAgKIWHS31sXrM2vE2WEpLs7GxlZ2d3eV1mZqYyMzPb/3vhwoVauHChz89JTk5WcnJy9wv8\nioA0JDU1NfrhD3+ob33rW/r5z39ueZy4czX6/3J9/wOEnPdNFxAE/mK6ALMcaeldXxTy3jRdgFGf\n/yzXdAnGOT5Zb7oEsxL5Rz3dWm26ArMeMF2AYW2mC0BP87shaWlp0T//8z+roaFBL7/8smJiYgJR\nFwAAABDU+oRJEf4sg+XLM+wdPij4/R0LCgp07NgxrVmzRqNGjQpETQAAAAB6Cb8akh07dmjv3r2a\nPHmy+vbtq71798rj8bSfv/HGGzV+/Hi/iwQAAACCTZ8+l1basvUZNq/iFQz8akiOHj0qh8Ohjz/+\nuH0m/1fdc889NCQAAAAArsivhuS5557Tc889F6haAAAAgGtGn3ApwuZJHr1hDonNC5UBAAAAwJXR\nkAAAAAAwpjekQAAAAEDghUmyeVJ7b9iXhYQEAAAAgDEkJAAAAIAV4bL/1zQJCQAAAADYh4QEAAAA\nsKKPSEgCgIQEAAAAgDEkJAAAAIAVPTGHxG3z+EGAhAQAAACAMSQkAAAAgBU9sQ9JL4gPesFXBAAA\nABCsSEgAAAAAK3piDondCUwQICEBAAAAYAwJCQAAAGBFT+xD0gt+rZOQAAAAADCGhgQAAACAMb0g\nBAIAAABswLK/AdELviIAAACAYEVCAgAAAFjBsr8BQUICAAAAwBgSEgAAAMAKlv0NCBISAAAAAMb0\ngp4LAAAAsAGrbAVEL/iKAAAAAIIVCQkAAABgBatsBQQJCQAAAABjSEgAAAAAK0hIAoKEBAAAAIAx\nNCQAAAAAjOGVLQAAAMAKNkYMCBISAAAAAMb0gp4LAAAAsAEbIwZEL/iKAAAAAIIVCQkAAABgBcv+\nBgQJCQAAABCiDhw4oEWLFmn8+PG67bbbtHjxYv3nf/5nl/dVVVXpscceU1JSkpKSkpSfn6+///3v\nlq+7GhISAAAAwIogT0gOHTqk3NxcjRw5Unl5eXK5XNq5c6fuu+8+7dixQ2PHju30vtraWuXk5Mjl\ncik3N1cul0ubN29WWVmZnE6nIiIiunVdV2hIAAAAgBD07LPPKj4+Xk6nU5GRkZKkefPmafbs2Vq3\nbp1eeeWVTu/bsmWLampqtG/fPg0fPlySNG7cOC1evFi7d+/W/Pnzu3VdV3hlCwAAALAivIc+FtTV\n1amsrEyzZs1qb0YkKTY2VpMmTdKRI0eueG9RUZGSkpLamwxJmjp1qhITE1VUVNTt67pCQwIAAACE\nmOjoaL311lvKycnxOldbW6s+fTp/Uaqurk7V1dW69dZbvc6NHj1ax44d69Z1vuCVLQAAAMCKIJ5D\nEhYWphtuuMHreGlpqUpKSjRt2rRO76upqZEkxcXFeZ0bOnSo6uvr1dDQ4PN1AwYM6LrWLq8AAAAA\ncM1rbGxUfn6+wsLC9NBDD13xGkmKioryOnf51a+mpiafr/MFDQkAAAAQ4pqamvTII4+orKxMubm5\nmjRpUqfXeTweSZLD4bjiWA6Hw+frfMErWwAAAIAVQfzK1ldduHBBDz/8sI4cOaKsrCzl5eVd8dp+\n/fpJkpqbm73OtbS0SJIGDBjg83W+oCEBAAAAQtT58+f14IMPqrS0VAsWLNCqVauuen18fLwk6ezZ\ns17nzpw5o4EDByoqKsrn63xh+ZWttWvXatSoUaqsrOxwvK2tTXfeead+9KMfWR0aAAAACH5BvOyv\nJDU0NLQ3I4sXL+6yGZGkmJgYDRs2rNNVso4fP64xY8Z06zpfWG5I0tPTJUn79+/vcPzQoUM6e/Zs\n+3kAAAAAPe+pp55SaWmpcnJylJ+f7/N9qamp+vDDD3XixIn2YwcPHtSpU6c0e/bsbl/XFcuvbI0c\nOVIjR47Um2++qccee6z9+BtvvKGYmBjdddddVocGAAAAgl8QzyGprKzU3r17FRMTo1GjRmnPnj1e\n12RkZKiqqkolJSWaMGGCEhISJElLly7Vnj179MADD2jJkiVqbm7Wyy+/rDFjxmju3Lnt9/t6XVf8\n+hPOmTNHv/jFL1ReXq4RI0bI5XLprbfeUkpKiiIiIvwZGgAAAIBFxcXFkqT6+no98cQTXucdDocy\nMjJUXFysJ598UqtXr25vSAYPHqzt27frueee0wsvvKB+/fopJSVFP/7xjzv8xvf1uq741ZCkp6fr\n+eef15tvvqkRI0bogw8+UF1dnebMmePPsAAAAEDwC+KEJDs7W9nZ2V1el5mZqczMTK/jiYmJevHF\nF7u839frrsavP+H111+vCRMmaP/+/Vq2bJn279+voUOHasqUKZbGO1E/XI7NJ/0p6dpWZrqAIHDg\nlOkKjLrF471SRW/zSdhS0yUYteqTXNMlGPeJZ63pEoy65allpksw7o6Vn5guwSjHRx7TJRh10/+Z\nqeGmi0CP8ntjxDlz5ujEiRM6efKk/uM//kOzZs3yeRMUAAAA4Jp1OSGx8xOAfUiCnd8NyaxZs9Sn\nTx+tX7+e17UAAAAAdIvfb71dd911uuOOO7R//37dcMMNGjt2bCDqAgAAAIKbn/uE+PyMEOd3QiJ9\nuSdJd9YbBgAAAICANCSXdWe9YQAAAADw+5Utj8ej119/XePHj9fw4ayJAAAAgF4iiJf9vZZY/hO6\n3W7l5eXps88+01/+8hdt2LAhkHUBAAAA6AUsNyTh4eH67//+b/3P//yPHnvsMSUnJweyLgAAACC4\nkZAEhF9/wt27dweqDgAAAAC9kN09HQAAABCaWPY3IAK6yhYAAAAAdAcJCQAAAGAFc0gCgoQEAAAA\ngDEkJAAAAIAVJCQBQUICAAAAwBgSEgAAAMAKEpKAICEBAAAAYAwNCQAAAABjeGULAAAAsIKNEQOC\nhAQAAACAMSQkAAAAgBVMag8IEhIAAAAAxpCQAAAAAFaQkAQECQkAAAAAY0hIAAAAACtYZSsgSEgA\nAAAAGENCAgAAAFjBHJKAICEBAAAAYAwJCQAAAGAFCUlAkJAAAAAAMIaGBAAAAIAxvLIFAAAAWBEm\n+1+p6gXxQS/4igAAAACCFQkJAAAAYEUf2f9ruhf8WichAQAAAGBML+i5AAAAABuw7G9AkJAAAAAA\nMIaEBAAAALCChCQgSEgAAAAAGENCAgAAAFjBPiQBQUMCAAAAhLiCggKdOnVK27Ztu+I11dXVSk5O\nvuo427Zt0+TJkyVJWVlZOnr0qNc1qampWr9+vc+10ZAAAAAAVlwj+5A4nU45nU7dfvvtV70uNjZW\nhYWFXsebm5v19NNPa8iQIRo1apQkyePxqLKyUikpKUpNTe1wfXx8fLfqoyEBAAAAQpDb7damTZu0\nceNGn67v27ev0tPTvY4/88wzcrlcKiwsVHR0tKRLaUpTU5NmzpzZ6T3dQUMCAAAAhJiWlhbNnz9f\nn376qe655x4dPHjQ0jhlZWXavn277r33Xk2cOLH9eEVFhSRp+PDhftdKQwIAAABYEcTL/ra0tKix\nsVHr1q3T3XffrRkzZlga5/nnn1ffvn21fPnyDsfLy8slfdmQXLx4Uf369bP0DBoSAAAAIMRER0fr\n7bffVliY9WW6SktL9d5772nJkiUaMmRIh3Pl5eXq37+/Vq9eraKiIjU1NSkhIUF5eXmaPXt2t55D\nQwIAAABYEcTL/jocDjkcDr8e/dprr6lPnz66//77vc5VVFSosbFR9fX1Kiws1IULF7R161atWLFC\nra2tysjI8Pk5NCQAAAAAOmhubtbevXs1Y8YMXX/99V7nFyxYoLa2Ni1atKj9WFpamubMmaPCwkKl\np6f7nM70gq1WAAAAABtcnkNi58fuBOYKPvroIzU1Nenuu+/u9Hx2dnaHZkSSIiMjlZGRoXPnzqmy\nstLnZ1luSP74xz9q1KhRXhNcCgoKNGrUKP3pT3+yOjQAAAAAg95//31FRkbqrrvu6tZ9gwYNknRp\nkruvLDck06ZN0z333KM333yzvfn405/+JKfTqYULF+qOO+6wOjQAAAAQ/OxOR3pi48UrKCkp0Zgx\nY9S/f3+vczU1NUpLS+t0f5OTJ09KkoYNG+bzs/x6ZeuJJ57Q0KFD9fTTT6u2tlYFBQW68cYblZ+f\n78+wAAAAAAxpbW1VZWWlbrnllk7Px8XFqb6+Xk6nUw0NDe3HT58+rV27dmnKlCmKjY31+Xl+NSQx\nMTH693//d/31r3/V/PnzdfbsWa1Zs0ZRUVH+DAsAAAAEv8urbNn5sXHGd1VVlfbs2aOqqqoOxz/7\n7DO1trYqPj7+ivcWFBTob3/7mxYuXKhXX31Vv/rVrzR//nxFRERo5cqV3arD7684c+ZMpaSkqLq6\nWv/4j/+o8ePH+zskAAAAAJsVFxcrPz9fhw8f7nD8888/l8Ph0IABA654b0pKijZs2KCoqCitXbtW\nr776qiZOnKjXX3+927u3+/1W2sWLF3X8+HFJ0oEDB9TU1KS+fftaG8zjljw1/pZ07bouznQFxv2j\n533TJRj1m605pkswz7PFdAVG/ftCj+kSjHtHb5suwaj9K/8v0yUYN2vof5guwaxz+01XYNZNTdJw\ni78le1oQ79T+de+++67XsczMTGVmZnodHzt2rD755JMux0xOTlZycrLftfmdkPziF7/Q6dOnlZ+f\nr+rqaq1du9bvogAAAAD0Dn41JIcPH9aOHTu0YMECLV68WPfee6927tzpFfsAAAAAQGcsNyQtLS36\n6U9/qtjYWD3++OOSpMcff1wxMTH66U9/qi+++CJgRQIAAABBJ4SX/e1JlhuSX/7yl/rrX/+qn/zk\nJ+0TXq677jr9y7/8i06dOqUXXnghYEUCAAAACE2We67HH3+8PRn5qnvvvVf33nuvX0UBAAAAQe8a\nmtQezGxc2RgAAAAArq4XvJUGAAAA2ODyxoh2PyPE9YKvCAAAACBYkZAAAAAAVjCHJCBISAAAAAAY\nQ0ICAAAAWNET+4T0gl/rJCQAAAAAjOkFPRcAAABgA1bZCohe8BUBAAAABCsaEgAAAADG8MoWAAAA\nYAXL/gYECQkAAAAAY0hIAAAAACtISAKChAQAAACAMSQkAAAAgBVsjBgQJCQAAAAAjOkFPRcAAAAQ\neJ4wyWPzHA9PL4gPesFXBAAAABCsSEgAAAAAC9zhktvmX9NuVtkCAAAAAPuQkAAAAAAWtPVAQtJG\nQgIAAAAA9qEhAQAAAGAMr2wBAAAAFrjDHXKFO2x+hkeSx9ZnmEZCAgAAAMAYEhIAAADAAnd4uNx9\n7P33fXd4mySXrc8wjYQEAAAAgDEkJAAAAIAFbeHhcofb++/7beEOkZAAAAAAgE1ISAAAAAAL3AqT\nW/buXOi2dfTgQEICAAAAwBgSEgAAAMACt8LlIiHxGwkJAAAAAGNISAAAAAAL2hQut80/p9tsHT04\nkJAAAAAAMIaGBAAAAIAxvLIFAAAAWNAzy/6G/ktbNCQAAABAiCsoKNCpU6e0bdu2Lq/NysrS0aNH\nvY6npqZq/fr17f9dVVWlNWvWqLi4WJI0ffp05efna/Dgwd2qjYYEAAAAsODSpHZ7E5K2ACQkTqdT\nTqdTt99+e5fXejweVVZWKiUlRampqR3OxcfHt//ftbW1ysnJkcvlUm5urlwulzZv3qyysjI5nU5F\nRET4XB8NCQAAABCC3G63Nm3apI0bN/p8T3V1tZqamjRz5kylp6df8botW7aopqZG+/bt0/DhwyVJ\n48aN0+LFi7V7927Nnz/f52cyqR0AAACwoO1/55DY+Wmz+HO9paVF99xzjzZs2KB58+YpLi7Op/sq\nKiokqb3JuJKioiIlJSV1uG7q1KlKTExUUVFRt2qlIQEAAABCTEtLixobG7Vu3To999xzCg/37dWy\n8vJySV82JBcvXvS6pq6uTtXV1br11lu9zo0ePVrHjh3rVq28sgUAAABY4FKYXDbPIXFZzA+io6P1\n9ttvKyyse/eXl5erf//+Wr16tYqKitTU1KSEhATl5eVp9uzZkqSamhpJ6jR1GTp0qOrr69XQ0KAB\nAwb49EwaEgAAACDEOBwOORyObt9XUVGhxsZG1dfXq7CwUBcuXNDWrVu1YsUKtba2KiMjQ42NjZKk\nqKgor/sjIyMlSU1NTTQkAAAAgJ3a1Edum39Ot8lt6/hft2DBArW1tWnRokXtx9LS0jRnzhwVFhYq\nPT1dHo9Hkq7a8HSnGfI5w5k3b57mzZvX4dj27ds1atQobdmypcPxjIwMPfTQQz4XAQAAAMC87Ozs\nDs2IdCn1yMjI0Llz51RZWal+/fpJkpqbm73ub2lpkSSf0xGpGw3JXXfdpbKyMn3++eftxz766CNJ\n0scff9x+7OzZs/r00081ffp0n4sAAAAArjXBvMpWoA0aNEjSpUnul/cjOXv2rNd1Z86c0cCBAzt9\nnetKfP6Gd955pzweT3sT4vF4dOjQIcXFxenw4cPt133wwQfyeDw0JAAAAMA1pKamRmlpaZ3uW3Ly\n5ElJ0rBhwxQTE6Nhw4Z1uprW8ePHNWbMmG491+eGZPz48YqOjtaf//xnSVJZWZnq6uqUk5Oj2tpa\nVVZWSpIOHDigESNGdNjJEQAAAEBwi4uLU319vZxOpxoaGtqPnz59Wrt27dKUKVMUGxsrSUpNTdWH\nH36oEydOtF938OBBnTp1qn01Ll/5PAunT58++v73v9/ekPz5z3/WkCFDlJmZqcLCQn388cdKTEzU\nBx98oHvvvbdbRXypQdKrFu8NAft+bLoC437zgxzTJZh1t+kCgkBlL//fwHfKTVdg3IOvpZouwajs\nls9Ml2DeuX2mKzBryJV3x+4Vwn9uugKfuf/3lS27n2GXqqoqlZSUaMKECUpISJAkFRQUaNmyZVq4\ncKGysrLU2NioHTt2KCIiQitXrmy/d+nSpdqzZ48eeOABLVmyRM3NzXr55Zc1ZswYzZ07t1t1dOsb\n3nXXXTp58qTOnDmjjz76SJMnT9Z1112nkSNHqri4WMeOHdPnn3/O61oAAABAkCsuLlZ+fn6H6Rcp\nKSnasGGDoqKitHbtWr366quaOHGiXn/99Q67sg8ePLh9gasXXnhB27ZtU0pKil566SVFRER0q45u\nrVN2xx13SLoUx5SUlOhHP/qRJGny5Ml655139J3vfEfR0dGaOHFit4oAAAAArjVuhdu+MWKgEph3\n333X61hmZqYyMzO9jicnJys5ObnLMRMTE/Xiiy/6XVu3EpJvfvObuuWWW7Rjxw7V1dXp9ttvlyQl\nJSXpb3/7m3bt2qU77rij2ztCAgAAAOidut05TJs2TX/5y180aNAg3XzzzZKkSZMmSbr0Htpdd90V\n2AoBAACAINSmcLn/d3NEuz5tNicwwaDbDcmdd94p6csmRLq0LvGIESMUFhamadOmBa46AAAAACGt\n23vdT5o0SaWlpV7H9+3r5StiAAAAoFe5vHmh3c8IdUz2AAAAAGBMtxMSAAAAAFJbD+xD0tYL8oPQ\n/4YAAAAAghYJCQAAAGDBtb5Te7AI/W8IAAAAIGjRkAAAAAAwhle2AAAAAAvcCpeLZX/9RkICAAAA\nwBgSEgAAAMCCNoXLbfPP6TYSEgAAAACwDwkJAAAAYAHL/gZG6H9DAAAAAEGLhAQAAACw4NIcEnsT\nEuaQAAAAAICNSEgAAAAAC9wK64F9SEI/Pwj9bwgAAAAgaJGQAAAAABa4e2AfEnZqBwAAAAAbkZAA\nAAAAFrDKVmCQkAAAAAAwhoYEAAAAgDG8sgUAAABY4FaY7a9ssewvAAAAANiIhAQAAACwwK3wHtgY\nkUntAAAAAGAbEhIAAADAgrYe2BiRZX8BAAAAwEYkJAAAAIAFrLIVGKH/DQEAAAAELRISAAAAwIJL\nc0jsTUiYQwIAAAAANiIhAQAAACxo64E5JG29ID8I/W8IAAAAIGjRkAAAAAAwhle2AAAAAAtcCpfL\n5le27B4/GJCQAAAAADCGhAQAAACw4NKyv/b+nO4Ny/7SkAAAAAAhrqCgQKdOndK2bdu6vPbAgQPa\ntGmTjh8/LofDofHjx2v58uUaN25ch+uysrJ09OhRr/tTU1O1fv16n2ujIQEAAAAscPfAsr/uAMyw\ncDqdcjqduv3227u89tChQ8rNzdXIkSOVl5cnl8ulnTt36r777tOOHTs0duxYSZLH41FlZaVSUlKU\nmpraYYz4+Phu1UdDAgAAAIQgt9utTZs2aePGjT7f8+yzzyo+Pl5Op1ORkZGSpHnz5mn27Nlat26d\nXnnlFUlSdXW1mpqaNHPmTKWnp/tVJw0JAAAAYMGlOSR2b4xobfyWlhbNnz9fn376qe655x4dPHiw\ny3vq6upUVlamJUuWtDcjkhQbG6tJkyZ1GKOiokKSNHz4cEv1fRUNCQAAABBiWlpa1NjYqHXr1unu\nu+/WjBkzurwnOjpab731lqKiorzO1dbWqk+fL1uH8vJySV82JBcvXlS/fv0s1UpDAgAAAFjgVpjt\n+4RYnUMSHR2tt99+W2Fhvt8fFhamG264wet4aWmpSkpKNG3atPZj5eXl6t+/v1avXq2ioiI1NTUp\nISFBeXnZfQGMAAAgAElEQVR5mj17drdqpSEBAAAAQozD4ZDD4fB7nMbGRuXn5yssLEwPPfRQ+/GK\nigo1Njaqvr5ehYWFunDhgrZu3aoVK1aotbVVGRkZPj/DckPyb//2b/rtb3+rAwcOaPDgwe3HL168\nqO9///tKS0vTM888Y3V4AAAAIKi5e2AfErvnqFxNU1OTHnnkEZWVlenhhx/WpEmT2s8tWLBAbW1t\nWrRoUfuxtLQ0zZkzR4WFhUpPT/c5nbG8jtjcuXPldrv1+9//vsPx9957T83NzX7PtgcAAABgxoUL\nF7RkyRIdOnRIWVlZysvL63A+Ozu7QzMiSZGRkcrIyNC5c+dUWVnp87MsNyQTJ05UfHy83nzzzQ7H\n33jjDcXFxWnKlClWhwYAAABgyPnz5/WDH/xAR44c0YIFC/Szn/3M53sHDRok6dJbU77ya6eV9PR0\nFRcX6+9//7skqaGhQX/84x+7PZEFAAAAuNZcXvbXzo/VZX+tamho0IMPPqjS0lItXrxYq1at8rqm\npqZGaWlpne5vcvLkSUnSsGHDfH6m3w3JV1/beuedd/TFF1/wuhYAAABwDXrqqadUWlqqnJwc5efn\nd3pNXFyc6uvr5XQ61dDQ0H789OnT2rVrl6ZMmaLY2Fifn+nXLJybb75Z3/3ud7V//35lZ2dr//79\nGj58uEaPHm1twCEDpbwf+1PSte3fTRdg3vVbT5ouwajPZieaLsG8Uf6vCHJtizBdgHGL+3pMl2BW\nZNeXhLxHevk/bG56z3QFZg1oluS9D0YwalNYD2yM6Fd+cFVVVVUqKSnRhAkTlJCQoMrKSu3du1cx\nMTEaNWqU9uzZ43XP5dWzCgoKtGzZMi1cuFBZWVlqbGzUjh07FBERoZUrV3arDr+XBUhPT9fzzz+v\nqqoqffDBB3r00Uf9HRIAAACAzYqLi/Xkk09q9erVSkhI0KFDhyRJ9fX1euKJJ7yudzgc7Q1JSkqK\nNmzYoF//+tdau3at+vbtq6SkJK1YsUI33XRTt+rwuyGZM2eO1q5dq2eeeUYul0tz5szxd0gAAAAg\n6Ll7ICGxujHi17377rtexzIzM5WZmdn+3wsXLtTChQt9HjM5OVnJycl+1+b3N/zWt76lSZMm6b33\n3tP48eOVkJDgd1EAAAAAeoeA7OQyd+5cffzxx0xmBwAAQK/hVrhctick5jZG7CkBaUjmz5+v+fPn\nB2IoAAAAAL2IvXvdAwAAACHq0j4k9v6c7ul9SEywbx0xAAAAAOgCCQkAAABgwbW0ylYwC/1vCAAA\nACBo0ZAAAAAAMIZXtgAAAAALLk1qt/eVLSa1AwAAAICNSEgAAAAAC9wK64GNEUM/Pwj9bwgAAAAg\naJGQAAAAABa41cf2jRHtHj8YkJAAAAAAMCb0Wy4AAADABm09sDFiWy/ID0L/GwIAAAAIWiQkAAAA\ngAXuHkhIWGULAAAAAGxEQgIAAABYwE7tgUFCAgAAAMAYGhIAAAAAxvDKFgAAAGCBW2FyMandb6H/\nDQEAAAAELRISAAAAwAK3wuW2+ee03ZPmgwEJCQAAAABjSEgAAAAAC1j2NzBISAAAAAAYQ0ICAAAA\nWOBWmO0JCatsAQAAAICNSEgAAAAAC9wK74F9SJhDAgAAAAC2ISEBAAAALGjrgX1IWGULAAAAAGxE\nQwIAAADAGF7ZAgAAACxg2d/ACP1vCAAAACBokZAAAAAAFlya1G5vQsKkdgAAAACwEQkJAAAAYIFb\nYT2wMWLo5weh/w0BAAAABC0SEgAAAMACdw9sjGj3HJVgQEICAAAAhLiCggLdf//9Pl1bVVWlxx57\nTElJSUpKSlJ+fr7+/ve/W76uKyQkAAAAgAXXyipbTqdTTqdTt99+e5fX1tbWKicnRy6XS7m5uXK5\nXNq8ebPKysrkdDoVERHRret8QUMCAAAAhCC3261NmzZp48aNPt+zZcsW1dTUaN++fRo+fLgkady4\ncVq8eLF2796t+fPnd+s6X/DKFgAAAGBB2//u1G7np83iz/WWlhbdc8892rBhg+bNm6e4uDif7isq\nKlJSUlJ7kyFJU6dOVWJiooqKirp9nS9oSAAAAIAQ09LSosbGRq1bt07PPfecwsO7fvWrrq5O1dXV\nuvXWW73OjR49WseOHevWdb7ilS0AAAAgxERHR+vtt99WWJjv+UNNTY0kdZqmDB06VPX19WpoaPD5\nugEDBvj0XL8SkhkzZnQ6W/9KxwEAAIBQYffrWpc/Vjgcjm41I5LU2NgoSYqKivI6FxkZKUlqamry\n+Tpf+f3KlsPh6NZxAAAAAMHH4/FIuvrveIfD4fN1vuKVLQAAAMACt8LksnnZX3cPTvnu16+fJKm5\nudnrXEtLiyRpwIABPl/nKya1AwAAAFB8fLwk6ezZs17nzpw5o4EDByoqKsrn63xFQgIAAABYcGmO\nh70/p+3eePGrYmJiNGzYsE5XyTp+/LjGjBnTret8Zctf0O12W7vxnKQftQa0lmvKYt93tAxVnzkq\nTZdgVnKi6QqM2zBhqekSjHpM/8d0CeZ923QBhv2P6QLMe/pXj5suwaiC5J+bLsGs/9v3f1lH4KWm\npmrr1q06ceJE+x4jBw8e1KlTp5Sbm9vt63zhV0MSFhamL774osMxl8ul2tpa3Xjjjf4MDQAAAAS1\nNj9WwerOM+xSVVWlkpISTZgwQQkJCZKkpUuXas+ePXrggQe0ZMkSNTc36+WXX9aYMWM0d+7c9nt9\nvc4Xfs0hGTJkiE6ePNk+eUWS3n33Xa8mBQAAAEBwKS4uVn5+vg4fPtx+bPDgwdq+fbtGjRqlF154\nQdu2bVNKSopeeuklRUREdPs6X/iVkKSnp+vpp5/W0qVLlZ6err/+9a9yOp2Kj49vXw4MAAAACEVt\nCuuBhCQwa1C9++67XscyMzOVmZnpdTwxMVEvvvhil2P6el1X/PqGixYt0rJly1RdXa2f/exn+vjj\nj7Vx40aNHDmSfUgAAAAAdMmvhMThcOjRRx/Vo48+2uH45MmT/SoKAAAACHYuhSnc5oTE1Qt26Qj9\nbwgAAAAgaNGQAAAAADCGjREBAAAAC9rUx/aNEdt6wc91EhIAAAAAxoR+ywUAAADY4Fpa9jeYhf43\nBAAAABC0SEgAAAAAC9wKU5jNCYm7F+QHof8NAQAAAAQtEhIAAADAgra2cLnbbJ5DYvP4wYCEBAAA\nAIAxJCQAAACABW53mOSyeQ6JO/Tzg9D/hgAAAACCFgkJAAAAYIHbFS657P057bY5gQkGJCQAAAAA\njKEhAQAAAGAMr2wBAAAAFrS5w22f1N7m5pUtAAAAALANCQkAAABggdsdJo/tCUno5weh/w0BAAAA\nBC0SEgAAAMACtytcba32JiR2JzDBgIQEAAAAgDEkJAAAAIAFnrZwedw2/5xuIyEBAAAAANuQkAAA\nAABWuMJs34dErtDPD0L/GwIAAAAIWiQkAAAAgBU9sFO72KkdAAAAAOxDQwIAAADAGF7ZAgAAAKxw\nOySXw/5nhDgSEgAAAADGkJAAAAAAVrgluXrgGSGOhAQAAACAMSQkAAAAgBUkJAFBQgIAAADAGBIS\nAAAAwAqX7E9I7B4/CJCQAAAAADCGhAQAAACwwiWptQeeEeJISAAAAAAYQ0ICAAAAWNEm+1fBarN5\n/CBAQwIAAACEqKqqKq1Zs0bFxcWSpOnTpys/P1+DBw/u9Prq6molJydfdcxt27Zp8uTJkqSsrCwd\nPXrU65rU1FStX7/epxppSAAAAIAQVFtbq5ycHLlcLuXm5srlcmnz5s0qKyuT0+lURESE1z2xsbEq\nLCz0Ot7c3Kynn35aQ4YM0ahRoyRJHo9HlZWVSklJUWpqaofr4+Pjfa4z4A3J+fPn1a9fP/Xt2zfQ\nQwMAAADBI8g3RtyyZYtqamq0b98+DR8+XJI0btw4LV68WLt379b8+fO97unbt6/S09O9jj/zzDNy\nuVwqLCxUdHS0pEtpSlNTk2bOnNnpPb4K6KT2999/X7NmzVJtbW0ghwUAAADQTUVFRUpKSmpvRiRp\n6tSpSkxMVFFRkc/jlJWVafv27crMzNTEiRPbj1dUVEhSh/GtCGhD8l//9V+6cOFCIIcEAAAAgpOr\nhz4W1NXVqbq6WrfeeqvXudGjR+vYsWM+j/X888+rb9++Wr58eYfj5eXlkr5sSC5evGipVluW/fV4\nPHYMCwAAAMAHNTU1kqS4uDivc0OHDlV9fb0aGhq6HKe0tFTvvfeesrOzNWTIkA7nysvL1b9/f61e\nvVq33XabJkyYoJSUFL3xxhvdqjVgc0h+8pOfaPfu3ZKkmTNnavLkydq2bVughgcAAACCSxDPIWls\nbJQkRUVFeZ2LjIyUJDU1NWnAgAFXHee1115Tnz59dP/993udq6ioUGNjo+rr61VYWKgLFy5o69at\nWrFihVpbW5WRkeFTrQFrSLKzs9XY2Ki3335bTz75pEaMGBGooQEAAAB0w+U3lhwOxxWvudo56dLK\nWnv37tWMGTN0/fXXe51fsGCB2tratGjRovZjaWlpmjNnjgoLC5Wenq6wsK5fyArYK1vjx4/XyJEj\nJUnJycmaOnVqoIYGAAAAgs/lhMTOj8WEpF+/fpIuNRVf19LSIkldpiMfffSRmpqadPfdd3d6Pjs7\nu0MzIl1KXzIyMnTu3DlVVlb6VKstc0gAAAAAmHN5H5CzZ896nTtz5owGDhzY6etcX/X+++8rMjJS\nd911V7eePWjQIEm+T3KnIQEAAACsCOKEJCYmRsOGDet0Na3jx49rzJgxXY5RUlKiMWPGqH///l7n\nampqlJaWpo0bN3qdO3nypCRp2LBhPtUaVDu1D485oZNLv2G6DHO85wr1Oo7/5wvTJRi1/Z2rv8vZ\nG+zVFtMlGOUpH226BOMcI/5f0yUYtcfziukSjMtw/M50CWYVmC7AsC8kef/+hQWpqanaunWrTpw4\n0b4078GDB3Xq1Cnl5uZe9d7W1lZVVlZqwYIFnZ6Pi4tTfX29nE6ncnJy2l//On36tHbt2qUpU6Yo\nNjbWpzqDqiEBAAAArhlBvMqWJC1dulR79uzRAw88oCVLlqi5uVkvv/yyxowZo7lz50qSqqqqVFJS\nogkTJighIaH93s8++0ytra3tr351pqCgQMuWLdPChQuVlZWlxsZG7dixQxEREVq5cqXPdQb0la3L\ns+jdbj/+cgAAAAD8NnjwYG3fvl2jRo3SCy+8oG3btiklJUUvvfSSIiIiJEnFxcXKz8/X4cOHO9z7\n+eefy+FwXHXie0pKijZs2KCoqCitXbtWr776qiZOnKjXX3+9W7u3BzQhuRzLbN68WdOmTdOMGTMC\nOTwAAACAbkhMTNSLL754xfOZmZnKzMz0Oj527Fh98sknXY6fnJys5ORkv2oMaEOSlpam3//+99q1\na5eKi4tpSAAAABC6XJJae+AZIS6gDUl0dLReeYXJeAAAAAB8w6R2AAAAwAq3/Jp07vMzQhz7kAAA\nAAAwhoQEAAAAsCLIl/29VpCQAAAAADCGhAQAAACwgoQkIEhIAAAAABhDQgIAAABYQUISECQkAAAA\nAIwhIQEAAACscMn+hKQX7NROQgIAAADAGBoSAAAAAMbwyhYAAABgBZPaA4KEBAAAAIAxJCQAAACA\nFSQkAUFCAgAAAMAYEhIAAADACpek1h54RogjIQEAAABgDAkJAAAAYIVb9s/xYA4JAAAAANiHhAQA\nAACwglW2AoKEBAAAAIAxJCQAAACAFSQkAUFCAgAAAMAYEhIAAADAChKSgCAhAQAAAGAMDQkAAAAA\nY3hlCwAAALDCJam1B54R4khIAAAAABhDQgIAAABY4Zb9k86Z1A4AAAAA9iEhAQAAAKxg2d+AICEB\nAAAAYAwJCQAAAGAFCUlAkJAAAAAAMIaEBAAAALCCfUgCgoQEAAAAgDEkJAAAAIAV7EMSECQkAAAA\nAIyhIQEAAABgDK9sAQAAAFaw7G9A0JAAAAAAIaqqqkpr1qxRcXGxJGn69OnKz8/X4MGDr3pfVlaW\njh496nU8NTVV69ev93v8r6IhAQAAAKwI8oSktrZWOTk5crlcys3Nlcvl0ubNm1VWVian06mIiIhO\n7/N4PKqsrFRKSopSU1M7nIuPj/d7/K+jIQEAAABC0JYtW1RTU6N9+/Zp+PDhkqRx48Zp8eLF2r17\nt+bPn9/pfdXV1WpqatLMmTOVnp4e8PG/jkntAAAAgBWXN0a08+NHAlNUVKSkpKT2ZkGSpk6dqsTE\nRBUVFV3xvoqKCknqcF8gx/86vxuSuro6/eQnP9H06dP1ve99TykpKfrFL36hL774wt+hAQAAAFhQ\nV1en6upq3XrrrV7nRo8erWPHjl3x3vLycklfNiQXL14M6Phf5/crW8uXL9cnn3yinJwcDR06VEeO\nHNGLL76ozz//XE899ZS/wwMAAADBqU32r4LVZu22mpoaSVJcXJzXuaFDh6q+vl4NDQ0aMGCA1/ny\n8nL1799fq1evVlFRkZqampSQkKC8vDzNnj3b7/G/zq+G5Pz58/rwww+Vn5+vxYsXS7o0I9/j8ai6\nutqfoQEAAABY1NjYKEmKioryOhcZGSlJampq6rRhqKioUGNjo+rr61VYWKgLFy5o69atWrFihVpb\nW5WRkeHX+F/nV0MSHR2tfv36aceOHfr2t7+tO+64Q/369dOzzz7rz7AAAABA8HPJ/lW2LI7v8Xgk\nSQ6H44rXXOncggUL1NbWpkWLFrUfS0tL05w5c1RYWKj09HS/xv86v+aQfOMb39BTTz2l8+fP64c/\n/KGmTJmiBx98UL/5zW+YQwIAAAAY0q9fP0lSc3Oz17mWlhZJumJ6kZ2d3aEZkS6lHhkZGTp37pwq\nKyv9Gv/r/J5DMmfOHN15551655139P777+vgwYP64IMPtHPnTv3mN7/RN77xDZ/HOtEyXI7DJ/0t\n6Zq1/KXVpksw7kZPpekSjFqv902XYNwhx3dNl2DUbyZ5TJdg3CLPK6ZLMCrD8S+mSzCuxDPOdAlG\n/US9+/dA9QcXJfUzXYZvgngfksv7hZw9e9br3JkzZzRw4MBOX7e6mkGDBkm6NMk9MTExYOP7lZA0\nNzfr8OHDcjgcuvfee7V+/Xp9+OGH+sEPfqDS0lJ98MEH/gwPAAAAwIKYmBgNGzas09Wujh8/rjFj\nxnR6X01NjdLS0rRx40avcydPXgoOhg0bZnn8zvjVkJSXl+uf/umf9Nvf/rb9WEREhG655RZJUnh4\nuD/DAwAAALAoNTVVH374oU6cONF+7ODBgzp16lT7allfFxcXp/r6ejmdTjU0NLQfP336tHbt2qUp\nU6YoNjbW8vid8euVre9973tKSkrS888/r9OnT+u73/2uPvvsM23fvl3f+c539P3vf9+f4QEAAIDg\ndXljRLufYdHSpUu1Z88ePfDAA1qyZImam5v18ssva8yYMZo7d64kqaqqSiUlJZowYYISEhIkSQUF\nBVq2bJkWLlyorKwsNTY2aseOHYqIiNDKlSu7Nb4v/N4Y8Ze//KUWLlyo9957T08//bScTqfuvvtu\nbd26VX36+D1FBQAAAIAFgwcP1vbt2zVq1Ci98MIL2rZtm1JSUvTSSy8pIiJCklRcXKz8/HwdPny4\n/b6UlBRt2LBBUVFRWrt2rV599VVNnDhRr7/+eodd2X0Z3xd+dwwxMTF68skn9eSTT/o7FAAAAHDt\nCOKNES9LTEzUiy++eMXzmZmZyszM9DqenJys5ORkv8f3hd8JCQAAAABYxTtVAAAAgBVBvOzvtYSE\nBAAAAIAxJCQAAACAFS7Zn5DYPX4QICEBAAAAYAwJCQAAAGBFkO9Dcq0gIQEAAABgDAkJAAAAYMU1\nsA/JtYCEBAAAAIAxNCQAAAAAjOGVLQAAAMAKNkYMCBISAAAAAMaQkAAAAABWsDFiQJCQAAAAADCG\nhAQAAACwgo0RA4KEBAAAAIAxJCQAAACAFWyMGBAkJAAAAACMISEBAAAArGAfkoAgIQEAAABgDAkJ\nAAAAYAUJSUCQkAAAAAAwhoYEAAAAgDG8sgUAAABY0RObFrIxIgAAAADYh4QEAAAAsMItydEDzwhx\nJCQAAAAAjCEhAQAAAKzoifSChAQAAAAA7ENCAgAAAFjhluSx+RltNo8fBEhIAAAAABhDQgIAAABY\n4ZL9q2zZncAEARISAAAAAMaQkAAAAABW9MQ+JCQkAAAAAGAfGhIAAAAAxvDKFgAAAGBVL3ilym4k\nJAAAAACMoSEBAAAAYAwNCQAAAABjaEgAAAAAGMOkdgAAACBEVVVVac2aNSouLpYkTZ8+Xfn5+Ro8\nePBV7ztw4IA2bdqk48ePy+FwaPz48Vq+fLnGjRvX4bqsrCwdPXrU6/7U1FStX7/epxppSAAAAIAQ\nVFtbq5ycHLlcLuXm5srlcmnz5s0qKyuT0+lUREREp/cdOnRIubm5GjlypPLy8uRyubRz507dd999\n2rFjh8aOHStJ8ng8qqysVEpKilJTUzuMER8f73OdNCQAAABACNqyZYtqamq0b98+DR8+XJI0btw4\nLV68WLt379b8+fM7ve/ZZ59VfHy8nE6nIiMjJUnz5s3T7NmztW7dOr3yyiuSpOrqajU1NWnmzJlK\nT0+3XCdzSAAAAABLXJJabf64LFdXVFSkpKSk9mZEkqZOnarExEQVFRV1ek9dXZ3Kyso0a9as9mZE\nkmJjYzVp0iQdOXKk/VhFRYUkdRjfioAlJDNmzNA//MM/yO1263e/+50GDRqkPXv26LrrrgvUIwAA\nAAD4oK6uTtXV1Zo1a5bXudGjR+uPf/xjp/dFR0frrbfeUlRUlNe52tpa9enzZftQXl4u6cuG5OLF\ni+rXr1+3aw3oK1u/+93vdPPNN+tf//VfdfbsWZoRAAAAhDCX/EkwfH9G99XU1EiS4uLivM4NHTpU\n9fX1amho0IABAzqcCwsL0w033OB1T2lpqUpKSjRt2rT2Y+Xl5erfv79Wr16toqIiNTU1KSEhQXl5\neZo9e7bPtQa0Ifniiy/0q1/9SkOHDg3ksAAAAAC6obGxUZI6TTouv4rV1NTk1ZBcaaz8/HyFhYXp\noYceaj9eUVGhxsZG1dfXq7CwUBcuXNDWrVu1YsUKtba2KiMjw6daA9qQ3HDDDTQjAAAAgGEej0eS\n5HA4rnjN1c5d1tTUpEceeURlZWV6+OGHNWnSpPZzCxYsUFtbmxYtWtR+LC0tTXPmzFFhYaHS09MV\nFtb1lPWANiSxsbF+3T/022f15B9+EKBqrj0P7dxqugTjqhcNMV2CUcMcy0yXYN6qaV1fE8q+a7oA\n83Y67jddgmH7TBdg3ATHAtMlGDbMdAFG3XRTH8m/OdI96PKkdruf0X2X53I0Nzd7nWtpaZGkLtOR\nCxcu6OGHH9aRI0eUlZWlvLy8Duezs7O97omMjFRGRoY2bNigyspKjRgxostaA9qQ+NIBAQAAALDX\n5X1Azp4963XuzJkzGjhwYKevc112/vx5PfjggyotLdWCBQu0atUqn589aNAgSZcmufuCDgIAAACw\nxK0vJ7bb9XFbqiwmJkbDhg3TsWPHvM4dP35cY8aM+f/bu/egqMo/juOfTXe9cskLmYniL1FJM9MR\nMclKgbILKuIo41BoaVrWpDOJOOPdmXU0p9HiD5XGzPsFBEFG8zJopKZT85tRy2lUvKA/NDQRMkQu\nvz8aGInFDHb3weX9muEPnrMePp7dhf2e73meU+u/LSoqqipGJkyY4LAYuXbtmt544w0lJibW2JaT\nkyNJ6tTp4bp9FCQAAACAB4qIiNDRo0d1/vz5qrEjR47owoULD1wFa+HChTpz5ozeeecdxcfHO3zM\nE088ocLCQm3fvl1FRUVV41evXlVKSopCQkIeejoHd2oHAAAA6qThziGRpPfee09paWmKi4vTxIkT\nVVxcrKSkJPXu3VuRkZGSpMuXL+unn35Sv3795O/vr3PnzmnXrl3y9vZWz549lZaWVmO/latnzZkz\nRx999JFiYmIUHR2tP/74Qxs3bpTVatXcuXMfOicFCQAAAOCB2rRpow0bNshut2vFihVq2bKlwsPD\nNXPmTFmtVknSiRMnNHv2bC1ZskT+/v46fvy4JKmwsFAJCQk19mmxWKoKkvDwcH355ZdatWqVli9f\nrhYtWmjgwIGaMWOGAgICHjqn0wqSgwcPOmtXAAAAwCOgYXdIJKlr165avXp1rdujoqIUFRVV9X1M\nTIxiYmIeev9hYWEKCwurV0bmkAAAAAAwhku2AAAAgDqpXGXL1T/Ds9EhAQAAAGAMHRIAAACgThr+\nHJJHAR0SAAAAAMZQkAAAAAAwhku2AAAAgDphUrsz0CEBAAAAYAwdEgAAAKBOmNTuDHRIAAAAABhD\nhwQAAACok1K5voNBhwQAAAAAXIYOCQAAAFAnzCFxBjokAAAAAIyhQwIAAADUCfchcQY6JAAAAACM\noUMCAAAA1AlzSJyBDgkAAAAAYyhIAAAAABjDJVsAAABAnTCp3RnokAAAAAAwhg4JAAAAUCdMancG\nOiQAAAAAjKFDAgAAANQJc0icgQ4JAAAAAGPokAAAAAB1whwSZ6BDAgAAAMAYOiQAAABAndAhcQY6\nJAAAAACMoUMCAAAA1EmpXN/BoEMCAAAAAC5DQQIAAADAGC7ZAgAAAOqESe3OQIcEAAAAgDF0SAAA\nAIA6KZPrOxhlLt6/eXRIAAAAABhDhwQAAACoE+aQOAMdEgAAAADG0CEBAAAA6oQ5JM5AhwQAAACA\nMXRIAAAAgDphDokz0CEBAAAAYAwdEgAAAKBOmEPiDHRIAAAAABjjlIIkMzNTI0aM0HPPPafIyEh9\n9913io2NVUJCgjN2DwAAAMBD1bsgSU5O1owZM9SiRQvNnDlTzz//vKZNm6aLFy86Ix8AAADQQFVO\nanfll+dPaq/XHJKysjItX75cgYGB2rBhg5o2/Wt3nTt31rJly5wSEAAAAIDnqldBcvLkSd28eVNT\np0Lf5OQAAAsDSURBVE6tKkYkKTY2VomJif96f7f/d1drhv23PpEeaQFFw0xHMG78V76mIxgVEJBm\nOoJ5aYdNJzDLajpAAxBgOoBpf5gO0ACUmA5g2H7TAYyyWvMldTQd4yFdlus7GPku3r959SpIrl69\nKkny9/evNm6z2fTUU0/9q30dOHBAw4Y17g/kXq1NJ2gIupgOYNR//mM6AdAANPr3QSvTARoAjkHj\n1lEHDhwwHeKBSksri5B0t/1MLy8vt/0sd3PKsr/l5eU1xmw227/eT0N/8QEAAADBwcH64Ycfql0h\n5EpeXl4KDAx0y88yoV5HsUuXv85m5+TkVBsvLy9Xbm6uunfvXp/dAwAAAA1ScHCw6Qgeo16rbD3z\nzDPy9/fXli1bVFxcXDWenp6ugoKCeocDAAAA4Nnq1SGxWCyaN2+epkyZorFjxyoqKkp5eXnavHmz\n21pYAAAAAB5d9b4PSWhoqJKSktS8eXMtX75chw4d0rJly+Tr27hXSwIAAADwzywVFRUVrthxaGio\nXnzxRdntdlfsHgAAAIAHqHeHBAAAAADqymUFiYsaLwAAAAA8iMsKEovF4qpdAwAAAPAQLptDAgAA\nAAD/hDkkAAAAAIyhIAEAAABgDAUJAAAAAGMazO3Ujx07pri4OPn4+Cg7O1tWq9V0JJebNWuWUlNT\nq41ZrVa1b99eQ4cO1ccffyxvb29D6dyrqKhI27ZtU0ZGhi5duqSysjJ169ZNY8aM0ZgxYzx2kYTa\nXgNt27ZVcHCwJk+erG7duhlK5x6OjsHfDRs2TImJiW5K5H5ffPHFP/7/UlNT1bNnTzclcq/y8nLt\n2bNHycnJOnfunG7cuCFfX1/1799fcXFx6tu3r+mILlX5/K9fv14DBgyosT03N1dhYWEaNWpUo7i3\nV0pKimbPni273a5Ro0aZjmNUY3vu0Xg1mIIkPT1dLVq0UEFBgQ4ePKhXX33VdCS3mT17th5//HFJ\nUnFxsc6ePautW7fq5MmT2rx5sx57zLMbWefPn9fUqVN15coVRUZGKjo6WiUlJdq/f7/mzp2rEydO\naNmyZaZjutT9r4E///xTFy9e1I4dO7R3716tWbNGwcHBhhO63v3H4O+efPJJN6cxY8qUKXr66acd\nbuvYsaOb07hHYWGhpk+fruzsbAUHB+vtt9+Wr6+vrly5otTUVI0bN05z5szR+PHjTUeFm3nqiSgA\nNTWIgqSkpET79u3TyJEjlZGRoZ07dzaqgiQsLKzGh42AgAAtWLBAhw8f1ssvv2wmmBvcvXtXH3zw\ngQoKCpSSkqLu3btXbYuLi9PChQu1adMm9enTR7GxsQaTupaj10BsbKxGjx6tTz75RPv371fLli0N\npXMPR8egsRk8eLDDM+SebN68efr++++1ZMkSjRw5stq2999/X1OmTJHdbtfgwYMVEBBgJiQAwKUa\nxKn3Q4cO6fbt2woJCVFoaKiys7OVn59vOpZRlWfEz549aziJa23atEkXLlxQQkJCtWKkUnx8vHx8\nfLR161YD6czq0KGD4uPjdfPmTSUnJ5uOAzjdjz/+qMzMTI0cObJGMSJJNptN8+fPV2lpqXbu3Gkg\nIQDAHRpEQZKenq7HHntMAwYMUHh4uEpLS5WWlmY6llF5eXmSpM6dOxtO4lq7d+9Wq1at9Oabbzrc\n3qxZM23fvv0f5xh4qtdee002m03Z2dmmowBOl56eLkmaPHlyrY/p3Lmz1q1bp6lTp7orFgDAzYxf\nslVUVKSsrCz17dtXbdq00ZAhQ2Sz2ZSamqp3333XdDy3KCgoUPPmzSVJ9+7d07lz57R48WL16tVL\nQ4cONZzOdSoqKvTLL7+of//+atKkSa2P8/Si7EFsNpv8/f115swZ01Fc7v73wd/5+vp6/FwqSbp9\n+7Zu3rxZY9zb21tNmxr/de10x48fl5+fn7p27frAxw0cONBNicyq7fm/ffu2gTQA4D7G/8Lt3btX\nJSUlioiIkCS1bt1aL7zwgrKysnTy5Ek9++yzhhO6nqNVRJo3b65vvvnGIz+EVPr9999VVlam9u3b\nm47SoHl7eys3N9d0DJd70Go6nrzC1P0+/PBDh+O1rb70qMvLy3O4ilxxcbHu3LlTbaxJkyby8fFx\nVzQjanv+AcDTGf+0m5GRIYvFovDw8Kqx8PBwZWVlKSUlpVEUJJ999pnatm0r6a8OyZUrV7Rx40aN\nHz9eq1ev1qBBgwwndI3KM97l5eWGkzRspaWljWK1mfvfB3/XWLpks2bNUo8ePWqMOxrzBBUVFaqo\nqKgxvmLFCq1du7baWMeOHXXw4EF3RTOituc/Pz9fn376qYFEAOAeRguS69ev69ixY1Urp1SeBa78\nhZyZmamEhATZbDZTEd2iX79+NVYXGj58uCIiIrRo0SJlZmYaSuZaPj4+slqtunHjhukoDdqtW7fU\npk0b0zFcztH7oLHp1auXR3ZCauPn5+dwAZNx48ZpyJAhVd8vWbJERUVF7oxmRG3Pf2PokAJo3IwW\nJJmZmaqoqFBOTo6GDRtWY3tBQYEOHDig4cOHG0hnlq+vr4KDg7V//34VFhbKy8vLdCSns1gs6tu3\nr06dOqWysrJa55F8/vnnys3NVUJCgtq1a+fmlGYVFRXp8uXLeuWVV0xHAZyuX79+2rlzpy5dulSt\nC9alSxd16dKl6ntvb+9GUZAAt27dkpeXV42/h558+TYgGV5lKz09XRaLRUuXLlViYmK1r2nTpklS\no17qsby8XBaLxaMv14mIiNCdO3e0e/duh9uLi4u1Y8cOHT16tNab5nmyPXv2SJLDgh141EVGRkqS\nvv766398rKNLuwBPsn79eoWEhOjSpUtVY8XFxZLkkSclgfsZK7lzcnJ0+vRphYSEVP1Rut9LL72k\nLVu26MiRI7p+/br8/PwMpDQnPz9fx44dU1BQkFq3bm06jsuMHTtWa9eu1dKlSxUUFKTAwMCqbWVl\nZZo/f75u3Lih+Pj4B67E5YmuX7+ulStXqkOHDg7fI8CjbtCgQXr99de1efNmBQYGKiYmpsZjdu3a\npVOnTjWKyxbRuHXq1EmSdPr06aqV537++WdJcnifLsCTGCtIMjIyJEnR0dEOtzdt2lSjR4/WqlWr\nlJaWpkmTJrkznlvt27dPvr6+kv46C5iXl6dt27bp7t27mj59uuF0rmWz2ZSYmKiJEycqOjpab731\nlnr37q1bt25pz549OnPmjIYPH64JEyaYjupS978G7t69q/Pnzys1NVUlJSVKSkry+HlUUvVj4MiI\nESPcmAbusmjRIpWWlmrBggXasWOHwsLC1K5dO127dk3ffvutfv31V7Vr104JCQmmowIuFRoaqk6d\nOmnx4sW6du2aysrK9NVXX8nPz6/awj+AJzJakHh7e1ct9+vI2LFjtWbNGqWmpnpkQVJ5KZbdbq8a\nq1zask+fPrLb7Y1i/f2goCClpqZq3bp1Onz4cNXcoh49eshutz9wOdhHnaPXgNVqVYcOHRQWFqZJ\nkyZVu5beEzk6Bo4e48kFiadfmvkgrVq10sqVK5WVlaXk5GRt375dv/32m7y8vBQUFKSYmBhFRUWp\nWbNmpqO6TGN+/h1prMfDarVq7dq1stvtSkpK0r179xQcHKyEhAS1atXKdDzApSwVXJgLAAAAwBDP\nv/UxAAAAgAaLggQAAACAMRQkAAAAAIyhIAEAAABgDAUJAAAAAGMoSAAAAAAYQ0ECAAAAwBgKEgAA\nAADGUJAAAAAAMIaCBAAAAIAxFCQAAAAAjKEgAQAAAGDM/wE07TTSKhHPQAAAAABJRU5ErkJggg==\n", "text": [ "" ] } ], "prompt_number": 23 }, { "cell_type": "markdown", "metadata": {}, "source": [ "But `prettyplotlib.pcolormesh` assumes that you want the `xticklabels` and `yticklabels` on each block, and makes it easy to specify.\n", "\n", " ppl.pcolormesh(fig, ax, np.random.uniform(size=(10,10)), \n", " xticklabels=string.uppercase[:10], \n", " yticklabels=string.lowercase[-10:])" ] }, { "cell_type": "code", "collapsed": false, "input": [ "import prettyplotlib as ppl\n", "import matplotlib.pyplot as plt\n", "import numpy as np\n", "import string\n", "\n", "fig, ax = plt.subplots(1)\n", "\n", "np.random.seed(10)\n", "\n", "ppl.pcolormesh(fig, ax, np.random.randn(10,10), \n", " xticklabels=string.uppercase[:10], \n", " yticklabels=string.lowercase[-10:])\n", "fig.savefig('pcolormesh_prettyplotlib_labels.png')" ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "display_data", "png": "iVBORw0KGgoAAAANSUhEUgAAAyQAAAJcCAYAAAAIDGAcAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAAPYQAAD2EBqD+naQAAIABJREFUeJzs3Xu8lmWdL/7PsxYIoiBqhOHphYl5SvGINWpuA8bTEkMZ\n08YxGa1xpLH8NVE2ZGpbbZNlDU57TGebp8aNU5ppBxlGKzVFcdqJpXiGHQElASIQsJ7fHyYTm4OL\nez33uh8f3u/X6/nD6173dX/v//zyua/rqtXr9XoAAAAq0FZ1AQAAwJZLQwIAAFRGQwIAAFRGQwIA\nAFRGQwIAAFRGQwIAAFRGQwIAAFSmV9UFAADAW83s2bOzdOnSHnlW//79M2zYsB55VhWaqiFZetPn\nqy6hUlt94ONVl1C5367uXXUJlbrjqflVl1C5C7Z9tuoSKrV6/pyqS6jcf+x2UtUlVOq9uw6ouoTK\nbf2fd1ddQqXefsn/qbqEyv1+2heqLmGTZs+enb322qtHn/nMM8+0bFPSVA0JAAA0uzeSkWOzYwam\n3H9M/X1WZXp+12NpTBU0JAAAUMDA9M6g9Km6jLc8DQkAABTQnqS9VvIz6uXO3wzssgUAAFRGQgIA\nAAW01Wppr5UbkbSllrR4SiIhAQAAKiMhAQCAAtprPbCGJJGQAAAAlEVCAgAABfTYGpIWJyEBAAAq\noyEBAAAq45MtAAAooK0HFrVvCenBlvCOAABAk5KQAABAAe0pf1F7e92idgAAgNJISAAAoIAeWUPS\n+gGJhAQAAKiOhAQAAApo74GDEcuevxlISAAAgMpISAAAoIBayv/X/dbPRyQkAABAhSQkAABQQHut\n/DUeZe/i1QwkJAAAQGW6lZA88sgjOfvsszd6/aqrrsopp5zSnUcAAAAtrFsNyZ577pnJkyevM7Zq\n1ap88YtfTL1ezyGHHNKt4gAAoFk5GLExutWQ7Ljjjuno6Fhn7NJLL82SJUvy9a9/Pbvuumu3igMA\nAFpbQxe1T506Nd/61rdywQUX5Jhjjmnk1AAA0FTaUv7BiG1bwMa/DVvUPnPmzFx66aU5+uij87GP\nfaxR0wIAAC2sIQnJ/Pnz83d/93fZaaed8qUvfakRUwIAQFNr74E1JFvCtr/dbkhWrlyZv/3bv82r\nr76a66+/PgMGDGhEXQAAwBag2w3JpEmTMmvWrHzxi1/M3nvv3YiaAACg6bXVemANScnzN4NuNSS3\n3nprvvvd7+awww7L1ltvne9+97up1+trr+++++4ZPnx4t4sEAABaU7cakieffDK1Wi2PPfZYZsyY\nsd71D3zgAxoSAABakjUkjdGthuTKK6/MlVde2ahaAACALUxDzyEBAIAthTUkjdGwc0gAAAA2l4YE\nAACojE+2AACggPb0wKL2cqdvChISAACgMhISAAAooK0Htv1ta/017RISAACgOhISAAAowLa/jSEh\nAQAAKiMhAQCAAtp7YA1J2fM3AwkJAABQGQkJAAAU8PouW2WvISl1+qYgIQEAACqjIQEAgALeOKm9\n1F83a/zJT36SM888M8OHD89BBx2Uc845Jz//+c/f9L45c+ZkwoQJGTFiREaMGJGJEyfmlVde6WY1\nG+aTLQAAaEGPPvpozjvvvOy11175xCc+kdWrV+e2227LX/7lX+bWW2/NAQccsMH7Fi1alLPPPjur\nV6/Oeeedl9WrV+eGG27I008/nalTp6Z3794NrVNDAgAALeiKK67IkCFDMnXq1PTp0ydJcsopp+SE\nE07INddck3/5l3/Z4H033nhj5s+fn7vvvjt77LFHkuTAAw/MOeeckzvvvDPjxo1raJ0+2QIAgALe\nOBixzF/RgxEXL16cp59+Oscff/zaZiRJdtxxxxx66KF54oknNnrvPffckxEjRqxtRpLkPe95T4YO\nHZp77rmnUD2bIiEBAIAW079///zwhz9M375917u2aNGi9Oq14TZg8eLFmTt3bo4//vj1ru277775\n8Y9/3PBaNSQAAFBAWw8cjFh029+2trbstttu643/6le/ysyZM3P00Udv8L758+cnSQYPHrzetUGD\nBmXp0qV59dVXs+222xYrbEO1NmwmAACgaS1btiwTJ05MW1tbPvKRj2z0b5JsMFl549Ov5cuXN7Qu\nCQkAABTwxjqPsp/RCMuXL8/555+fp59+Oh/96Edz6KGHbvDv6vV6kqS2iedu6loRTdWQPPDpf6u6\nhErteON/VF1C5cZsN6bqEir14/95btUlVO43vd9edQmV2uPDf1d1CZV7YfoHqy6hUv2Wza+6hMp1\nDl//2/UtSefqx6sugRazZMmSfPSjH80TTzyR0047LZ/4xCc2+rf9+vVLkqxYsWK9aytXrkyShn6u\nlTRZQwIAAG8VtW7sgrU5z+iO3/3ud/nrv/7r/OpXv8rpp5+eSy+9dJN/P2TIkCTJwoUL17u2YMGC\nbLfddhv8nKs7NCQAANCCXn311bXNyDnnnJOJEye+6T0DBgzILrvsklmzZq137amnnsr+++/f8Dot\nagcAgAJqbbXU2kv+Fd1mK8lll12WX/3qVzn77LO71Iy8YfTo0Xn44Yfz/PPPrx176KGH8uKLL+aE\nE04oXM/GSEgAAKDFPPfcc/nud7+bAQMGZO+9985dd9213t+MGTMmc+bMycyZM3PwwQdn1113TZKc\ne+65ueuuu/LhD38448ePz4oVK3L99ddn//33z8knn9zwWjUkAABQQFtb0lbyQSRtBb9nmjFjRpJk\n6dKl+cxnPrPe9VqtljFjxmTGjBm5+OKLc9VVV61tSHbYYYfccsstufLKK/PVr341/fr1y6hRo/Kp\nT30qvXv3LvwuG6MhAQCAFvPBD34wH/zgm+9aOHbs2IwdO3a98aFDh+a6664ro7T1WEMCAABURkIC\nAAAF1NrbUmsv99/3y56/GbT+GwIAAE1LQgIAAEX8cdvfsp/R6iQkAABAZSQkAABQQFt7rfxtf8tO\nYJqAhAQAAKiMhAQAAAqo1WqpFT25cDOe0eokJAAAQGUkJAAAUECtB9aQlL6LVxOQkAAAAJWRkAAA\nQAG1HjiHpOYcEgAAgPJISAAAoIBae1tq7SXvslXy/M2g9d8QAABoWhoSAACgMoUbkquvvjp77713\nnnvuuXXGOzs7c9RRR+XCCy/sdnEAANCs2tqStj9u/VvabwuIDwq/YkdHR5Lk+9///jrjjz76aBYu\nXLj2OgAAwMYUbkj22muv7LXXXvnBD36wzvi9996bAQMG5H3ve1+3iwMAgKbVVnt9698Sf7Ht76ad\ndNJJefbZZzN79uwkyerVq/PDH/4wo0aNSu/evRtSIAAA0Lq61ZB0dHSkVqutTUkefPDBLF68OCed\ndFJDigMAgGbV1taWtvaSf1vAIpJuveE73vGOHHzwwWvXkXz/+9/PoEGDcsQRRzSkOAAAoLV1u+U6\n6aST8vzzz+eFF17If/zHf+T4449Prdb637oBALBlq7XVUmsv+WcNyZs7/vjj06tXr3zta1/zuRYA\nALBZenV3goEDB+bII4/M97///ey222454IADGlEXAAA0tVp7UmsvN8GotZc6fVNoyCqZN84cOeGE\nExoxHQAAsIXodkLyp04++eRGTgcAAE2r9sddtsp+Rqvr9hvW6/XcfvvtGT58ePbYY49G1AQAAGwh\nCicka9asySc+8YnMmzcvv/jFLzJlypRG1gUAAGwBCjck7e3tefnll/N//+//zYQJEzJy5MhG1gUA\nAE3tja15y35Gq+vWGpI777yzUXUAAABboIYuagcAgC1FW62WtpIPLmzbAg4cb/1l+wAAQNOSkAAA\nQAGvryEpedvfLWANiYQEAACojIQEAAAKqLXV0lb2Llslr1FpBhISAACgMhISAAAooNbWA+eQSEgA\nAADKIyEBAIAC7LLVGBISAACgMhoSAACgMj7ZAgCAAmz72xgSEgAAoDISEgAAKKDWVis9wZCQAAAA\nlEhCAgAABbS1taWt5G1/29oaM/+kSZPy4osv5uabb37Tvz3ttNPy5JNPrjc+evTofO1rX2tIPX9K\nQwIAAC1s6tSpmTp1ag4//PA3/dt6vZ7nnnsuo0aNyujRo9e5NmTIkFLq05AAAEABtfbyDy6stRe/\nd82aNfn617+ea6+9tsv3zJ07N8uXL8/73//+dHR0FH/4ZmiqhmT0rPuqLqFSbcsXV11C5X7c/o6q\nS6jU7o/cWHUJlWs/6i+qLqFS4/9zetUlVO64K++vuoRK/fwjO1ZdQuXOm/ZK1SVUatKl51VdAi1g\n5cqVGTduXJ555pl84AMfyEMPPdSl+5599tkkyR577FFmeetoqoYEAADeMtraUit5DUkKriFZuXJl\nli1blmuuuSbHHXdcjj322C7dN3v27CT/1ZC89tpr6devX6EaukpDAgAALaZ///657777NntR/OzZ\ns7PNNtvkqquuyj333JPly5dn1113zSc+8YmccMIJpdSqIQEAgAJqbW2pNWgXrE09o9B9tVpqtc1f\n3/Lss89m2bJlWbp0aSZPnpwlS5bkpptuykUXXZRVq1ZlzJgxherZFA0JAACQJDn99NPT2dmZM888\nc+3YiSeemJNOOimTJ09OR0dHw7YifoODEQEAgCTJBz/4wXWakSTp06dPxowZk9/+9rd57rnnGv5M\nCQkAABTQ1lbrgYMRy91WuKu23377JK8vcm80CQkAAJD58+fnxBNP3OC5JS+88EKSZJdddmn4czUk\nAABQQK29rUd+PWXw4MFZunRppk6dmldffXXt+K9//et8+9vfzhFHHJEdd2z8WUkaEgAA2ALNmTMn\nd911V+bMmbN2bNKkSfnNb36TM844I9/85jfzT//0Txk3blx69+6dz33uc6XUoSEBAIAi2mrlpyMl\nriGZMWNGJk6cmMcff3zt2KhRozJlypT07ds3V199db75zW/mkEMOye23317a6e0WtQMAQIubPn36\nemNjx47N2LFj1xsfOXJkRo4c2RNlJdGQAABAIc18MOJbSeu/IQAA0LQkJAAAUECtrS219vbSn9Hq\nWv8NAQCApiUhAQCAAl5PSKwh6a7Wf0MAAKBpaUgAAIDK+GQLAAAKqLW1pc22v93W+m8IAAA0LQkJ\nAAAUUGur9cCi9lqp8zcDCQkAAFCZwg3Jj3/84+y99975+Mc/vs74pEmTsvfee+enP/1pt4sDAIBm\nVWtv65Ffqyv8hkcffXQ+8IEP5Ac/+MHa5uOnP/1ppk6dmjPOOCNHHnlkw4oEAABaU7dars985jMZ\nNGhQLr/88ixatCiTJk3K7rvvnokTJzaqPgAAaEq1WtvrhyOW+atJSDZpwIAB+fznP5+XXnop48aN\ny8KFC/PFL34xffv2bVR9AABAC+v2Llvvf//7M2rUqNx3330588wzM3z48EbUBQAATa3W3gO7bLXb\nZetNvfbaa3nqqaeSJD/5yU+yfPnybhcFAABsGbrdkHz5y1/Or3/960ycODFz587N1Vdf3Yi6AACg\nubX1wA5bTmrftMcffzy33nprTj/99Jxzzjk59dRTc9ttt+Xxxx9vVH0AAEALK9yQrFy5Mp/97Gez\n44475pOf/GSS5JOf/GQGDBiQz372s/nDH/7QsCIBAIDWVLgh+cd//Me89NJL+fSnP51tt902STJw\n4MD8/d//fV588cV89atfbViRAADQbNraa2lrbyv51/qL2gvvsvXJT35ybTLyp0499dSceuqp3SoK\nAADYMnR7218AANgSvXEwYtnPaHWt/4YAAEDTkpAAAEABa7fmLfkZra713xAAAGhaEhIAACiirVZ+\ngtHW+rtsSUgAAIDKSEgAAKCAWlsP7LJV8vzNoPXfEAAAaFoSEgAAKKCtrS1t7e2lP6PVtf4bAgAA\nTUtDAgAAVMYnWwAAUICDERuj9d8QAABoWhISAAAowsGIDSEhAQAAKiMhAQCAAhyM2Bit/4YAAEDT\nkpAAAEABtbYe2GVLQgIAAFAeCQkAABRQ64Fdtmp22QIAAChPUyUkz67sV3UJlXp+cet3wG/m6J99\nqeoSKnXTvn9ddQmVO7G+bdUlVOqEWT+ruoTKfXnWTVWXUKnDbz6w6hIqN2X8YVWXUKnB2/SuugS6\nyC5bjdH6bwgAADQtDQkAALS4SZMm5ayzzurS386ZMycTJkzIiBEjMmLEiEycODGvvPJKabU11Sdb\nAADwltHWllpbe+nP6K6pU6dm6tSpOfzww9/0bxctWpSzzz47q1evznnnnZfVq1fnhhtuyNNPP52p\nU6emd+/Gf1KoIQEAgBa0Zs2afP3rX8+1117b5XtuvPHGzJ8/P3fffXf22GOPJMmBBx6Yc845J3fe\neWfGjRvX8Dp9sgUAAEXU2pO2kn+1YgnMypUr84EPfCBTpkzJKaecksGDB3fpvnvuuScjRoxY24wk\nyXve854MHTo099xzT6Fa3oyGBAAAWszKlSuzbNmyXHPNNbnyyivT3v7mjc3ixYszd+7c7Lfffutd\n23fffTNr1qwySvXJFgAAFNJWa8gajzd9RgH9+/fPfffdl7bNqG/+/PlJssE0ZdCgQVm6dGleffXV\nbLttY7fol5AAAECLqdVqm9WMJMmyZcuSJH379l3vWp8+fZIky5cv735x/w8JCQAAFFBra0+tC59C\ndfcZPaVer7/+zNrGU5lNXStKQgIAAKRfv35JkhUrVqx3beXKlUnS8M+1EgkJAAAU09b2+k5YZT+j\nhwwZMiRJsnDhwvWuLViwINttt90GP+fqLgkJAACQAQMGZJdddtngblpPPfVU9t9//1KeqyEBAIAi\nmvgckqJGjx6dhx9+OM8///zasYceeigvvvhiTjjhhFKe6ZMtAADYAs2ZMyczZ87MwQcfnF133TVJ\ncu655+auu+7Khz/84YwfPz4rVqzI9ddfn/333z8nn3xyKXVISAAAYAs0Y8aMTJw4MY8//vjasR12\n2CG33HJL9t5773z1q1/NzTffnFGjRuUb3/hGevfuXUodEhIAACig1lZLreRF57WCByP+v6ZPn77e\n2NixYzN27Nj1xocOHZrrrruuIc/tCgkJAABQGQkJAAAU8cbC87Kf0eIkJAAAQGUkJAAAUEStBw5G\nrLV+ftD6bwgAADQtCQkAABRQa2vrgV22Wj8/6PIbnnLKKTnllFPWGXtjj+Ibb7xxnfExY8bkIx/5\nSEMKBAAAWleXG5L3ve99efrpp/P73/9+7dgjjzySJHnsscfWji1cuDDPPPNMjjnmmMZVCQAAzeaN\nNSRl/qwh+S9HHXVU6vX62iakXq/n0UcfzeDBg9c53fHBBx9MvV7XkAAAAG+qyw3J8OHD079///zs\nZz9Lkjz99NNZvHhxzj777CxatCjPPfdckuQnP/lJhg0bliFDhpRTMQAANIO2HkhIrCH5L7169cp7\n3/vetQ3Jz372s7ztbW/L2LFjU6vV8thjj6WzszMPPvhgjj766NIKBgAAWsdmtVzve9/78sILL2TB\nggV55JFHcthhh2XgwIHZa6+9MmPGjMyaNSu///3vfa4FAAB0yWZt+3vkkUcmSR566KHMnDkzF154\nYZLksMMOy7Rp0/LOd74z/fv3zyGHHNL4SgEAoInU2tpTay/3YMRa2QcvNoHNSkje/va3Z5999smt\nt96axYsX5/DDD0+SjBgxIr/5zW/y7W9/O0ceeWTatoBv3QAAgO7b7M7h6KOPzi9+8Ytsv/322XPP\nPZMkhx56aJJkzpw5ed/73tfYCgEAoBm11f64sL3MX63qtyzdZjckRx11VJL/akKSZPvtt8+wYcPS\n1tZmQTsAANBlm7WGJHm9EfnVr3613vjdd9/dkIIAAOAt4Y2tect+Rouz2AMAAKjMZickAABAUqu1\nlb4LVq3W+vlB678hAADQtCQkAABQxBs7YZX9jBbX+m8IAAA0LQkJAAAU0Vb+GhIJCQAAQIk0JAAA\nQGV8sgUAAEXUeuBgxJqDEQEAAEojIQEAgCLaaj2w7W+t3PmbgIQEAACojIQEAAAKqLW1p9Ze7hqP\n0rcVbgISEgAAoDISEgAAKKKtrfxdthyMCAAAUB4JCQAAFFHrgYSk1vr5Qeu/IQAA0LQkJAAAUECt\nrS21ktd4lD1/M2j9NwQAAJqWhgQAAKhMU32ytcPWrX/wy6bsuYW/f5Lcc9j5VZdQqb9e84uqS6hc\n56xXqi6hUqMP6ai6hMr9w4H/s+oSKvXTez5bdQmVm7/tn1VdQqXmvfqHqkuo3NC3VV1BF7W198C2\nv63//4cSEgAAoDJNlZAAAMBbR60HtuWtlTx/9SQkAABAZSQkAABQRK2t/ITEwYgAAADlkZAAAEAB\n9Vot9ZITjHqt9deQaEgAAKBFzZkzJ1/84hczY8aMJMkxxxyTiRMnZocddtjkfaeddlqefPLJ9cZH\njx6dr33taw2tUUMCAABFNPkakkWLFuXss8/O6tWrc95552X16tW54YYb8vTTT2fq1Knp3bv3Bu+r\n1+t57rnnMmrUqIwePXqda0OGDClcz8ZoSAAAoAXdeOONmT9/fu6+++7sscceSZIDDzww55xzTu68\n886MGzdug/fNnTs3y5cvz/vf//50dJR/YK9F7QAAUESt1jO/gu65556MGDFibTOSJO95z3sydOjQ\n3HPPPRu979lnn02Sde4rk4YEAABazOLFizN37tzst99+613bd999M2vWrI3eO3v27CT/1ZC89tpr\n5RT5RxoSAABoMfPnz0+SDB48eL1rgwYNytKlS/Pqq69u8N7Zs2dnm222yVVXXZWDDjooBx98cEaN\nGpV77723lFqtIQEAgCJqtaSt7EXtxT7ZWrZsWZKkb9++613r06dPkmT58uXZdttt17v+7LPPZtmy\nZVm6dGkmT56cJUuW5KabbspFF12UVatWZcyYMYVq2hgNCQAAtJh6vZ4kqW2iodnYtdNPPz2dnZ05\n88wz146deOKJOemkkzJ58uR0dHSkrYGNmE+2AACggHqtrUd+RfTr1y9JsmLFivWurVy5Mkk2mI4k\nyQc/+MF1mpHk9VRlzJgx+e1vf5vnnnuuUE0boyEBAIAW88Z5IQsXLlzv2oIFC7Lddttt8HOuTdl+\n++2TNH6Ru4YEAACKeONgxLJ/BQwYMCC77LLLBnfTeuqpp7L//vtv8L758+fnxBNPzLXXXrvetRde\neCFJsssuuxSqaWM0JAAA0IJGjx6dhx9+OM8///zasYceeigvvvhiTjjhhA3eM3jw4CxdujRTp05d\nZxeuX//61/n2t7+dI444IjvuuGND67SoHQAAiqjVCicYm/WMgs4999zcdddd+fCHP5zx48dnxYoV\nuf7667P//vvn5JNPTpLMmTMnM2fOzMEHH5xdd901STJp0qR87GMfyxlnnJHTTjsty5Yty6233pre\nvXvnc5/7XENe609JSAAAoAXtsMMOueWWW7L33nvnq1/9am6++eaMGjUq3/jGN9K7d+8kyYwZMzJx\n4sQ8/vjja+8bNWpUpkyZkr59++bqq6/ON7/5zRxyyCG5/fbbSzm9XUICAACFFF/jsVnP6IahQ4fm\nuuuu2+j1sWPHZuzYseuNjxw5MiNHjuzWs7tKQgIAAFSmcENyySWXZL/99ssrr7yyzvhrr72W4cOH\n57Of/Wy3iwMAgKZVq5V/Bkk31pC8VRRuSE4++eSsWbMmP/rRj9YZv//++7NixYp0dHR0uzgAAKC1\nFW5IDjnkkAwZMiQ/+MEP1hm/9957M3jw4BxxxBHdLg4AAJpWE59D8lbSrTfs6OjIjBkz1n629eqr\nr+bHP/7xRvc1BgAA+FPdbkj+9LOtadOm5Q9/+IPPtQAAgC7pVkOy55575l3vele+//3vJ0m+//3v\nZ4899si+++7bkOIAAKBp1Wo982tx3f4oraOjI4899ljmzJmTBx98UDoCAAB0WbcbkpNOOimdnZ35\n7//9v2f16tU56aSTGlEXAAA0t1qtBxa1S0je1E477ZRDDz00999/f4YPH55dd921EXUBAABbgIbs\nI3byySenVqv5XAsAgC1GPeUeilivtaXemP9db2q9GjHJuHHjMm7cuEZMBQAAbEEa0pAAAMAWp63t\n9V/Zz2hxrf+GAABA05KQAABAEW/sslX2M1qchAQAAKiMhAQAAIp446yQsp/R4lr/DQEAgKalIQEA\nACrjky0AACikBxa1x6J2AACA0khIAACggHqtLfWSE5Ky528Grf+GAABA05KQAABAEbb9bYjWf0MA\nAKBpSUgAAKCIWpJaybtgtf4mWxISAACgOhISAAAowhqShmj9NwQAAJqWhAQAAAqopwfOIdkC8oPW\nf0MAAKBpaUgAAIDK+GQLAACKqNV6YFF76+/7KyEBAAAq01QJyaB5M6suoVIz++1fdQmV+8lzv6m6\nhEr1fdeBVZdQuZ+vXlJ1CZU6Zemaqkuo3OnPPV51CZVq67+y6hIqt8vvn6m6hEqt6T+s6hLoonqt\nlnrJCUbZ8zcDCQkAAFCZpkpIAADgraJef/1X9jNanYQEAACojIQEAAAKqNfr6Sw5wqhvARGJhAQA\nAKiMhAQAAAqo//FX9jNanYQEAACojIQEAAAK6EzSWXKE0Vnu9E1BQgIAAFRGQwIAAFRGQwIAAEXU\n66mX/OvuyYhz5szJhAkTMmLEiIwYMSITJ07MK6+8Utp9RVhDAgAALWjRokU5++yzs3r16px33nlZ\nvXp1brjhhjz99NOZOnVqevfu3dD7itKQAABAAZ31HljU3o35b7zxxsyfPz9333139thjjyTJgQce\nmHPOOSd33nlnxo0b19D7ivLJFgAAtKB77rknI0aMWNtUJMl73vOeDB06NPfcc0/D7ytKQwIAAAXU\ne+hXxOLFizN37tzst99+613bd999M2vWrIbe1x0aEgAAaDHz589PkgwePHi9a4MGDcrSpUvz6quv\nNuy+7tCQAABAAfX6f60jKetXdJOtZcuWJUn69u273rU+ffokSZYvX96w+7pDQwIAAC2m/sdOplar\n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\nfjaDBw/ORRddtFlNSbfXkCxevDhXXnllfvazn+V3v/tddtpppxx//PGZMGFCttpqq+5ODwAATamV\ndtl67rnnMmHChLzwwgtdvmfJkiWZMmVKOjo6Mnny5CTJuHHjctZZZ2Xy5Mk57rjj0tb25vlHtxOS\nj3/847n//vtz+umn55JLLsnhhx+e6667Ll/4whe6OzUAAFCy73znOxkzZkyWLFmScePGdfm+6dOn\nZ/ny5TnjjDPWjtVqtZx55pmZN29eZs6c2aV5upWQ/O53v8vDDz+ciRMn5pxzzkmSnHbaaanX65k7\nd253pgYAgKbWWU8P7LJV6vRJkmeeeSYdHR35+7//+9x///2ZOnVql+578sknkyT77bffOuP77LNP\nkmTWrFk59NBD33SebjUk/fv3T79+/XLrrbdm5513zpFHHpl+/frliiuu6M60AABAD7nooovSu3fv\nzb5vwYIF2W677dKnT591xgcNGpQkmTdvXpfm6VZDstVWW+Wyyy7LpEmT8nd/93fZaqutcthhh+XP\n//zPc8opp1hDAgBAy1pTr2dNyeeEFJ1/4cKFm7y+zTbbpF+/fklSqBlJkmXLlmXrrbdeb7xv375J\nktdee61L83R7UftJJ52Uo446KtOmTcsDDzyQhx56KA8++GBuu+22/O///b81JQAA0MOOOuqoTV4/\n//zzc+GFF3brGfV6PbVabaPXN3XtT3WrIVmxYkVmzZqVYcOG5dRTT82pp56aVatWZfLkybnpppvy\n4IMP5r/9t//WnUcAAEBTauZdti6//PJNNgT77rtv0ZLW6tevX5YvX77e+IoVK5Ik2267bZfm6VZD\nMnv27HzoQx/Kpz71qYwfPz7J65HPGwtZ2tvbuzM9AABQwObsllXUO97xjixevDirVq1a57OvBQsW\nJEkGDx7cpXm61ZC8+93vzogRI/KVr3wlv/71r/Oud70r8+bNyy233JJ3vvOdee9739ud6QEAgCa1\n3377pV6v55e//GUOOOCAteO//OUvk7zeK3RFt88h+cd//MecccYZuf/++3P55Zdn6tSpOe6443LT\nTTelV69uL1EBAICmtKb++idbpf5KXjTfHcccc0z69OmTm2++ee1YZ2dnbrvttuy8884ZPnx4l+bp\ndscwYMCAXHzxxbn44ou7OxUAANCkpk2bliQZOXJkkmTgwIE577zzMmXKlHR2duaII47ID3/4wzzx\n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\n16g0AQkJAABQGQkJAAAU0FnvTGfJCUZn3RoSAACA0jSkIbn33nszZsyYHHjggTn55JPzk5/8JGed\ndVY+85nPNGJ6AABoPn9cQ1LmL9aQvLl/+7d/y0UXXZStt946n/rUp3LQQQdlwoQJeemllxpRHwAA\n0MK6tYZkzZo1ufrqqzNs2LDccsst6dXr9el22223TJ48uSEFAgAAratbCckvfvGLvPLKK/mLv/iL\ntc1Ikpx11lnp169ft4sDAIBmVa93lv7JVt2i9k379a9/nSTZdddd1xnfaqutsvPOO3dnagAAYAvQ\nkG1/OzdwpP1WW23ViKkBAKAp1dd0pr6m5IMR10hINmn33XdPkrzwwgvrjHd2dmbu3LndmRoAANgC\ndKsh2XfffbPrrrvmX//1X7NixYq143fffXcWL17c7eIAAKBZ1evlb/tbr7f+tr/d+mSrVqvlkksu\nyd/8zd/k9NNPz9ixY/Ob3/wm3/rWt9ZZ5A4AADSnV199Nddcc01+9KMf5ZVXXsnb3/72dHR0ZMKE\nCendu/eb3n/bbbflpptuyrx587Lbbrvl/PPPzwknnNDl53f7HJIjjzwy119/ffr27Zurr746Dzzw\nQCZPnpyBAwd2d2oAAGha9c4e2GVrA2u1G/oO9XomTJiQb33rWxk1alQmTZqUww8/PNddd10+8YlP\nvOn9N9xwQy677LLss88++exnP5vBgwfnoosuyr333tvlGhoSYxxxxBG5/fbb1xm79NJLGzE1AABQ\nkn//93/Pz372s3zuc5/LmWeemSQ5/fTTM3jw4PzzP/9zZs6cmYMPPniD9y5ZsiRTpkxJR0fH2jMI\nx40bl7POOiuTJ0/Occcdl7a2N88/up2QAADAFqn0dGRN0lnuGpJHH300tVotY8eOXWf8+OOPT5L8\n53/+50bvnT59epYvX54zzjhj7VitVsuZZ56ZefPmZebMmV2qobSGpF6vlzU1AADQABdccEG+853v\npG/fvuuML1q0KEnS3t6+0XuffPLJJMl+++23zvg+++yTJJk1a1aXaiht5XmtVitragAAqFy9Xu+R\nNR5l2m677bLddtutN/6tb30rSXLQQQdt9N4FCxZku+22S58+fdYZHzRoUJJk3rx5XaqhtIbkpz/9\naVlTAwAAm7Bw4cJNXt9mm23Sr1+/DV67884786Mf/ShHHHFEDjjggI3OsWzZsmy99dbrjb+Rtrz2\n2mtdqtXevAAA0GKOOuqoTV4///zzc+GFF643/u///u/5h3/4hwwaNChXXXXVJueo1+ub/Cqqq19M\naUgAAKCAtQvPS35GEZdffvkmG4J99913vbHvfe97+fSnP51tt9023/jGN7LTTjtt8hn9+vXL8uXL\n1xt/48D0bbfdtku1akgAAKDFjBs3brP+/l//9V9z6aWXZvvtt8//+l//K+9617ve9J53vOMdWbx4\ncVatWrXOAYoLFixIkgwePLhLz7btLwAAFFCv98DBiPVyF80nr68Z+fznP5+3v/3tueWWW7rUjCSv\n765Vr9fzy1/+cp3xN/773e9+d5fm0ZAAAMAW6tlnn82kSZOy44475uabb84ee+zR5XuPOeaY9OnT\nJzfffPPasc7Oztx2223ZeeedM3z48C7N45MtAAAooN7Zmc7S15CUm5BMmTIlq1atypFHHpknnngi\nTzzxxDrX995777WJybRp05IkI0eOTJIMHDgw5513XqZMmZLOzs4cccQR+eEPf5gnnngiX/nKVyxq\nBwAANu2xxx5LrVbLXXfdlbvuumuda7VaLRdccMHahuSKK65IrVZb25AkyYQJE9KvX7/ceuutmTZt\nWoYOHZprrrkmo0eP7nINGhIAACig3rkm9TXNuctWV23O2YHTp0/f4Pj48eMzfvz4wjVYQwIAAFRG\nQgIAAAXUOzt74ByS8nfZqpqEBAAAqIyEBAAACmjmk9rfSiQkAABAZTQkAABAZXyyBQAABdTrPbCo\nvW5ROwAAQGkkJAAAUEB92cJ0lp2QrFhc6vzNoFav1+tVFwEAAG8Vjz76aEaMGNGjz3zmmWcybNiw\nHn1mT9GQAADAZnr00UfTq1fPfGzUv3//lm1GEg0JAABQIYvaAQCAymhIAPj/27uzkKjaBwzgz1Qz\nLeY4mYpFi5Fl0oIUTVZiZWoZZVpGhRhWaLYQeRE2QavCRAWR4UXlhy20u0y5oGVhYiVFV2lFuJQp\nmGmpiak5zv+iT9Eci+A75/V/5vmBF77nXDyec8aZ5yzvEBERCcNCQkREREREwrCQEBERERGRMCwk\nREREREQkDAsJEREREREJw0JCRERERETCsJAQEREREZEwLCRERERERCQMCwkREREREQnDQkJERERE\nRMIMEx1gMCkuLkZkZCQcHBxQVFQEtVotOpKkDhw4AJPJ1GdMrVbD2dkZfn5+2Lt3L7RaraB08mpp\n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\ngg==\n", "text": [ "" ] } ], "prompt_number": 24 }, { "cell_type": "markdown", "metadata": {}, "source": [ "Or pick your own colormap! The diverging colormap `PRGn` or Purple and Green is pretty nice. I usually use this website to look up the colormaps: [Every Colorbrewer Scale](http://bl.ocks.org/mbostock/5577023)" ] }, { "cell_type": "code", "collapsed": false, "input": [ "import prettyplotlib as ppl\n", "import matplotlib.pyplot as plt\n", "from prettyplotlib import brewer2mpl\n", "import numpy as np\n", "import string\n", "\n", "green_purple = brewer2mpl.get_map('PRGn', 'diverging', 11).mpl_colormap\n", "\n", "fig, ax = plt.subplots(1)\n", "\n", "np.random.seed(10)\n", "\n", "ppl.pcolormesh(fig, ax, np.random.randn(10,10), \n", " xticklabels=string.uppercase[:10], \n", " yticklabels=string.lowercase[-10:],\n", " cmap=green_purple, center_value=0)\n", "fig.savefig('pcolormesh_prettyplotlib_labels_other_cmap_diverging.png')" ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "display_data", "png": "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\nrvPdggULss0226z3da6u0JAAAEAP9Prrr69pRs4888xMmjTpHe8ZOHBghg4dmtmzZ6/z3a9//evs\nvffeLa/TUDsAABRQryW96rVSP10ZUbnkkkvy29/+NmeccUanmpG3jR07Ng899FCeffbZNdcefPDB\nPP/88zn66KOLF7QBEhIAAOhhnnnmmfzgBz/IwIEDs/vuu+f2229f52+OP/74zJ07N7Nmzcr++++f\nnXd+c5b3rLPOyu23355PfvKTmTBhQpYvX55rr702e++9d4477riW16ohAQCAAtp5hmTmzJlJktde\ney1f+MIX1vm+Vqvl+OOPz8yZM3PhhRfmiiuuWNOQbL/99rnxxhtz+eWX5xvf+Eb69++fMWPG5HOf\n+1z69Gn95jMaEgAA6GFOOeWUnHLKKe/4d+PGjcu4cePWuT58+PBcc801ZZS2DjMkAABAZSQkAABQ\nQL1eT682fWXr3aTn/0IAAKBtSUgAAKCAej2p9+rCvrydfEZPtxn8RAAAoF1JSAAAoAAzJK3R838h\nAADQtiQkAABQQL3WDQcj1np+ftDzfyEAANC2JCQAAFBAvZ70qttlq6s2g58IAAC0KwkJAAAUYIak\nNXr+LwQAANqWhAQAAAqo17shIdkMhkh6/i8EAADaloYEAACoTOGG5Morr8zuu++eZ555Zq3rjUYj\nhx56aM4777wuFwcAAO3q7W1/y/xsBm9sFW9IOjo6kiR33333WtcfeeSRLFy4cM33AAAAG1K4Idlt\nt92y22675Uc/+tFa1++6664MHDgwH/3oR7tcHAAAtKu3t/0t9WPb34079thj8/TTT2fOnDlJklWr\nVuXHP/5xxowZkz59+rSkQAAAoOfqUkPS0dGRWq22JiV54IEHsnjx4hx77LEtKQ4AANpVvV5Pr5I/\ntv19B+9973uz//77r5kjufvuuzNo0KAcfPDBLSkOAADo2brcch177LF59tln89xzz+Xf/u3fctRR\nR6VWq7WiNgAAaFv1elLvVSv30/MDkq43JEcddVR69+6db37zm17XAgAANknvri6w7bbb5pBDDsnd\nd9+dYcOGZZ999mlFXQAA0NbeniEp+xk9XUt+4dtnjhx99NGtWA4AANhMdDkh+WPHHXdcK5cDAIC2\nVe+GXbAkJJ3QbDZzyy23ZOTIkdl1111bURMAALCZKJyQrF69Oueff35efvnl/OpXv8rUqVNbWRcA\n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\nP/10kqx1X5k0JAAA0MMsXrw48+bNy1577bXOd3vuuWdmz569wXvnzJmT5P80JG+88UY5Rb5FQwIA\nAD3M/PnzkySDBw9e57tBgwbltddey+uvv77ee+fMmZOtttoqV1xxRfbbb7/sv//+GTNmTO66665S\najVDAgAABdRqtdRqJW/7W3D9pUuXJkn69eu3znd9+/ZNkixbtixbb731Ot8//fTTWbp0aV577bVM\nmTIlS5YsyfXXX58LLrggK1euzPHHH1+opg3RkAAAQA/TbDaTbLyh2dB3J598chqNRk477bQ11445\n5pgce+yxmTJlSjo6OlKvt+5FK69sAQBAIbU1W/+W9Sl6NGL//v2TJMuXL1/nuxUrViTJetORJDnl\nlFPWakaSN1OV448/Pv/5n/+ZZ555plBNG6IhAQCAHubt80IWLly4zncLFizINttss97XuTZmu+22\nS9L6IXcNCQAAFNDO2/4OHDgwQ4cOXe9uWr/+9a+z9957r/e++fPn55hjjsnVV1+9znfPPfdckmTo\n0KGFatoQDQkAAPRAY8eOzUMPPZRnn312zbUHH3wwzz//fI4++uj13jN48OC89tprmT59+lq7cL30\n0kv53ve+l4MPPjg77LBDS+s01A4AAAXU3/qn7GcUddZZZ+X222/PJz/5yUyYMCHLly/Ptddem733\n3jvHHXdckmTu3LmZNWtW9t9//+y8885JksmTJ+czn/lMTj311Jx00klZunRpbrrppvTp0ydf/OIX\nW/K7/piEBAAAeqDtt98+N954Y3bfffd84xvfyA033JAxY8bk29/+dvr06ZMkmTlzZiZNmpTHHnts\nzX1jxozJ1KlT069fv1x55ZX5zne+kw996EO55ZZbSjm9XUICAAAF1GrFzwnZlGd0xfDhw3PNNdds\n8Ptx48Zl3Lhx61wfPXp0Ro8e3bWHd5KEBAAAqEzhhuRLX/pS9tprr7zyyitrXX/jjTcycuTIXHTR\nRV0uDgAA2le5Z5C8eQ5Jz88PCv/C4447LqtXr85PfvKTta7fd999Wb58eTo6OrpcHAAA0LMVbkg+\n9KEPZciQIfnRj3601vW77rorgwcPzsEHH9zl4gAAoF218zkk7yZdyoA6Ojoyc+bMNa9tvf766/np\nT3+6wX2NAQAA/liXG5I/fm3r3nvvzR/+8AevawEAAJ3SpYbk/e9/fz7wgQ/k7rvvTpLcfffd2XXX\nXbPnnnu2pDgAAGhXtVqtWz49XZfH9js6OvLoo49m7ty5eeCBB6QjAABAp3W5ITn22GPTaDTyd3/3\nd1m1alWOPfbYVtQFAABt7c2R87K3/pWQvKMdd9wxBxxwQO67776MHDkyO++8cyvqAgAANgMtOWnl\nuOOOS61W87oWAACbje7JR3p+QtK7FYuMHz8+48ePb8VSAADAZqQlDQkAAGxu3s4xyn5GT9fzfyEA\nANC2JCQAAFBALSn9nJCeP0EiIQEAACokIQEAgAJq3bAL1uawy5aEBAAAqIyGBAAAqIxXtgAAoADb\n/rZGz/+FAABA25KQAABAAbW3MpKyn9HTSUgAAIDKSEgAAKCAWq2WWq3kGZKSD15sBxISAACgMhIS\nAAAowMGIrSEhAQAAKiMhAQCAAiQkrSEhAQAAKiMhAQCAIrphl63YZQsAAKA8GhIAAKAyXtkCAIAC\nDLW3hoQEAACoTFslJP+7z7NVl1CpgU++p+oSKvfs7JeqLqFSu22xc9UlVO73z/b8/yVoY5b+6dKq\nS6jcc5c8WHUJleq//RZVl1C5V1fNr7qESm2z2n8PvFvUmrXUmiUnJCWv3w4kJAAAQGXaKiEBAIB3\ni2azmWazWfozejoJCQAAUBkJCQAAFNBMUnaA0fPzEQkJAABQIQkJAAAU0Wi++Sn7GT2chAQAAKiM\nhAQAAIpodsMuWD0/IJGQAAAA1dGQAAAAldGQAABAEc0kjZI/XXxla+7cuZk4cWJGjRqVUaNGZdKk\nSXnllVdKu68IMyQAANADLVq0KGeccUZWrVqVs88+O6tWrcq0adPy5JNPZvr06enTp09L7ytKQwIA\nAAU0m83Sh9q7sv51112X+fPn54477siuu+6aJNl3331z5pln5rbbbsv48eNbel9RXtkCAIAe6M47\n78yoUaPWNBVJ8uEPfzjDhw/PnXfe2fL7itKQAABAAc1m93yKWLx4cebNm5e99tprne/23HPPzJ49\nu6X3dYWGBAAAepj58+cnSQYPHrzOd4MGDcprr72W119/vWX3dYWGBAAAimg0u+dTwNKlS5Mk/fr1\nW+e7vn37JkmWLVvWsvu6QkMCAAA9zNvD8LVabYN/s77vit7XFXbZAgCAAprphl22Ch5E0r9//yTJ\n8uXL1/luxYoVSZKtt966Zfd1hYQEAAB6mCFDhiRJFi5cuM53CxYsyDbbbLPe17KK3tcVEhIAACig\nK7tgbcozihg4cGCGDh263l2xfv3rX2fvvfdu6X1dISEBAIAeaOzYsXnooYfy7LPPrrn24IMP5vnn\nn8/RRx/9HXAvAAAgAElEQVTd8vuK6lJCcsQRR2SnnXbKDTfc0KnrAABA9zjrrLNy++2355Of/GQm\nTJiQ5cuX59prr83ee++d4447Lkkyd+7czJo1K/vvv3923nnnTt/XSl1OSDY0Zd/q6XsAAGgrbbzt\nb5Jsv/32ufHGG7P77rvnG9/4Rm644YaMGTMm3/72t9OnT58kycyZMzNp0qQ89thjm3RfK5khAQCA\nHmr48OG55pprNvj9uHHjMm7cuE2+r5U0JAAAUEQ3DLUX3PX3XcVQOwAAUJlSEpLVq1eXsSwAALSP\nZro049HpZ/RwXUpI6vV6/vCHP6x1bdWqVVm0aFGXigIAADYPXUpI/uRP/iTPPfdcVqxYkb59+yZJ\nZsyYsU6TAgAAPU2z2Uyz5CGSstdvB11qSDo6OnLppZfmrLPOSkdHR1544YVMnz49Q4YM2Sz+5QEA\nAF3TpVe2TjvttHzmM5/JvHnz8rd/+7d59NFHc/XVV2e33XZzDgkAAD1as9k9n56uSwlJrVbLueee\nm3PPPXet6wceeGCXigIAADYPziEBAIAiml07Sb3Tz+jhnEMCAABURkMCAABUxitbAABQQHcMnW8G\nb2xJSAAAgOpISAAAoAAHI7aGhAQAAKiMhAQAAIpovPUp+xk9nIQEAACojIQEAAAKKX+GJDFDAgAA\nUBoJCQAAFNFI0ig5wTBDAgAAUB4JCQAAFOCk9taQkAAAAJXRkAAAAJXxyhYAABTQbJa/7W/52wpX\nT0ICAABURkICAABFNFP+trw9PyCRkAAAANWRkAAAQAFmSFqjrRqSHV4eUnUJlVr4n4urLqFyYz51\nUNUlVOrFx35XdQmVe+ADd1ddQqU+POyzVZdQucbqV6suoVJvPPmHqkuo3L+s+kHVJVTqw0+PrbqE\nyh3y/2xfdQl0o7ZqSAAA4N2i2Wim2Sg5ISl5/XZghgQAAKiMhAQAAApoNptplJ2QbAYzJBISAACg\nMhISAAAooNkof8ajWfY5J21AQgIAAFRGQwIAAFTGK1sAAFBAo9lMo+Sh87LXbwcSEgAAoDISEgAA\nKKJZ/sGIkZAAAACUR0ICAAAFNBrlH4xY9vrtQEICAABURkICAAAFNLthhqRphgQAAKA8EhIAACig\n2Sh/xqPZKHX5tqAhAQCAzdzNN9+c66+/Pi+//HKGDRuWc845J0cfffQ73nf//ffn05/+9Hq/++EP\nf5j3v//977iGhgQAAApoNrphhqQbdtmaNm1apkyZkqOOOioTJkzIT37yk1xwwQVJ8o5NyZw5c1Kr\n1XL55ZenV69ea3234447dur5LW9Ifv/736d///7ZcsstW700AADQQkuWLMnUqVPT0dGRKVOmJEnG\njx+f008/PVOmTMmRRx6Zen3DY+dz5szJkCFDcsIJJxSuoaVD7ffff3+OOuqoLFq0qJXLAgAAJZgx\nY0aWLVuWU089dc21Wq2W0047LS+//HJmzZq10fvnzJmT973vfV2qoaUNyX/8x39kyZIlrVwSAADa\nUqPZ7JZPmZ544okkyV577bXW9T322CNJMnv27A3e22w28+yzz65pSFasWJFVq1Ztcg2lbPu7OeyX\nDAAA73YLFizINttsk759+651fdCgQUmSl19+eYP3zp07N8uXL8+LL76Yjo6OjBw5Mvvtt18uuOCC\nTXpjqmUzJJ///Odz2223JUk+9rGP5cADD8wNN9zQquUBAKCttPPBiAsXLtzo91tttVX69++fpUuX\nrnf2u1+/fkmSN954Y4NrzJkzJ0nyy1/+Mp/61KcydOjQPProo7n++uszZ86c3Hrrres0OuvTsobk\nlFNOydKlS3PPPffkwgsvzIgRI1q1NAAAsAkOPfTQjX5/zjnn5Lzzzkuz2UytVtvg323su2HDhmXi\nxInp6OjILrvskiQ54ogjsssuu+RLX/pSbr311nziE594x1pb1pCMHDkyu+22W+65556MHj06Q4YM\nadXSAADQfrph298UXP/SSy/daDOx5557Jkn69++fZcuWrfP98uXLkyRbb731BtcYMWLEekOIE088\nMZdeemkefvjh7m1IAACA9jB+/PhO/d173/veLF68OCtXrkyfPn3WXF+wYEGSZPDgwZv87N69e2fA\ngAEbfd3rj5Uy1A4AAD1do5k0Gs1yPyUHMHvttVeazWZ+85vfrHX97f/7gx/84AbvveqqqzJ69Ogs\nXbp0reuvvvpqFi1alKFDh3aqBg0JAABspg4//PD07dt3rc2oGo1Gbr755uy0004ZOXLkBu8dMmRI\n5s2bl+nTp691/eqrr06SHHvssZ2qwStbAABQQLMbZkjKXn/bbbfN2WefnalTp6bRaOTggw/Oj3/8\n4zz++OP5+te/vtYcyr333pskGT16dJJk3LhxueWWW/LVr341L7zwQkaMGJGHHnoo99xzT0499dQc\ncMABnaqhpQ3J28fKr169upXLAgAAJZk4cWL69++fm266Kffee2+GDx+eq666KmPHjl3r7y677LLU\narU1DUnv3r0zbdq0fO1rX8s999yTW2+9NcOGDcuFF16Yv/iLv+j081vakOywww5JkmnTpuWwww7L\nEUcc0crlAQCgbTTfmvMo+xndYcKECZkwYcJG/2bGjBnrXNt2221zySWX5JJLLin87JbOkBxzzDH5\nyEc+ku9973u58sorW7k0AADQA7U0IRkwYED+8R//sZVLAgAAPZihdgAAKKCZZprNkl/ZSve8slUl\n2/4CAACVkZAAAEABjW4Yai97/XYgIQEAACojIQEAgAKajfK35W02Sl2+LUhIAACAykhIAACggGaz\nGw5GLHkXr3YgIQEAACojIQEAgAKajWY3zJBISAAAAEojIQEAgAKazW5ISMyQAAAAlEdDAgAAVMYr\nWwAAUECz0Q3b/hpqBwAAKI+EBAAACmg2yx863wxm2iUkAABAdSQkAABQQKNZ/gxJYzOISCQkAABA\nZSQkAABQQLPRDQcj2mULAACgPBISAAAowDkkrdFWDck5B3+26hIqtdN7hlZdQuX+7j8+V3UJldr7\n//2zqkuo3LenXFR1CZU66Z8+WXUJlbv1xOuqLqFSk1/5ctUlVO5z7928/3tgydELqy4BulVbNSQA\nAPBu0Wx2wwyJXbYAAADKoyEBAAAq45UtAAAooNFoptFolP6Mnk5CAgAAVEZCAgAABTSb3bDtr6F2\nAACA8khIAACggGajG7b9NUMCAABQHgkJAAAUYJet1pCQAAAAlZGQAABAAc1GM83VZki6SkICAABU\nRkICAAAFNBuN0mdImiWv3w4kJAAAQGU0JAAAQGW8sgUAAAU0ms3St+VtNA21AwAAlEZCAgAABTQb\nzdK35bXtLwAAQIk0JAAAUECz0Uzjra1/y/p0d0Ly4osvZp999snMmTM7fc/NN9+cI488Mvvuu286\nOjpy1113bdIzNSQAAECWLFmSc889NytXruz0PdOmTcsll1ySPfbYIxdddFEGDx6cCy64YJOaki7P\nkCxevDiXX355fvGLX+T3v/99dtxxxxx11FGZOHFitthii64uDwAAbanZ7IYZkm7aZeuZZ57JxIkT\n89xzz3X6niVLlmTq1Knp6OjIlClTkiTjx4/P6aefnilTpuTII49Mvf7O+UeXE5K/+qu/yn333ZeT\nTz45X/rSl3LQQQflmmuuyd/+7d92dWkAAKBk3//+93P88cdnyZIlGT9+fKfvmzFjRpYtW5ZTTz11\nzbVarZbTTjstL7/8cmbNmtWpdbqUkPz+97/PQw89lEmTJuXMM89Mkpx00klpNpuZN29eV5YGAIC2\n9vacR9nPKNtTTz2Vjo6O/PVf/3Xuu+++TJ8+vVP3PfHEE0mSvfbaa63re+yxR5Jk9uzZOeCAA95x\nnS41JAMGDEj//v1z0003ZaeddsohhxyS/v3757LLLuvKsgAAQDe54IIL0qdPn02+b8GCBdlmm23S\nt2/fta4PGjQoSfLyyy93ap0uNSRbbLFFLrnkkkyePDl/+Zd/mS222CIHHnhg/vzP/zwnnHCCGRIA\nAHqsZjOln9RedIRk4cKFG/1+q622Sv/+/ZOkUDOSJEuXLs2WW265zvV+/folSd54441OrdPlofZj\njz02hx56aO69997cf//9efDBB/PAAw/k5ptvzj//8z9rSgAAoJsdeuihG/3+nHPOyXnnndelZzSb\nzdRqtQ1+v7Hv/liXGpLly5dn9uzZGTFiRE488cSceOKJWblyZaZMmZLrr78+DzzwQP7sz/6sK48A\nAIC21M4ntV966aUbbQj23HPPoiWt0b9//yxbtmyd68uXL0+SbL311p1ap0sNyZw5c/KJT3win/vc\n5zJhwoQkb0Y+bw+y9OrVqyvLAwAABWzKbllFvfe9783ixYuzcuXKtV77WrBgQZJk8ODBnVqnSw3J\nBz/4wYwaNSpf//rX89JLL+UDH/hAXn755dx444153/vel4985CNdWR4AAGhTe+21V5rNZn7zm99k\nn332WXP9N7/5TZI3e4XO6PI5JH//93+fU089Nffdd18uvfTSTJ8+PUceeWSuv/769O7d5REVAABo\nS29v+1v2p10dfvjh6du3b2644YY11xqNRm6++ebstNNOGTlyZKfW6XLHMHDgwFx44YW58MILu7oU\nAADQpu69994kyejRo5Mk2267bc4+++xMnTo1jUYjBx98cH784x/n8ccfz9e//vXuGWoHAIDNVbPZ\n7IZtf8tdf3021EhcdtllqdVqaxqSJJk4ceKacwnvvffeDB8+PFdddVXGjh3b6edpSAAAgCTJuHHj\n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\n+OOz77775rjjjsvPfvaznH766fnCF77QiuUBAKDtvH1Se7kfJ7W/o3/5l3/JBRdckC233DKf+9zn\nst9++2XixIl54YUXWlEfAADQg3VphmT16tW58sorM2LEiNx4443p3fvN5YYNG5YpU6a0pEAAAKDn\n6lJC8qtf/SqvvPJK/st/+S9rmpEkOf3009O/f/8uFwcAAO2q/Ne1yt9WuB10qSF56aWXkiQ777zz\nWte32GKL7LTTTl1ZGgAA2Ay0ZNvf9XVuW2yxRSuWBgCAttRII6ubq0t/Rk/XpYRkl112SZI899xz\na11vNBqZN29eV5YGAAA2A11qSPbcc8/svPPO+ad/+qcsX758zfU77rgjixcv7nJxAADQrsyQtEaX\nXtmq1Wr50pe+lP/+3/97Tj755IwbNy6/+93v8t3vfnetIXcAAKA9vf7667nqqqvyk5/8JK+88kre\n8573pKOjIxMnTkyfPn3e8f6bb745119/fV5++eUMGzYs55xzTo4++uhOP7/L55Accsghufbaa9Ov\nX79ceeWVuf/++zNlypRsu+22XV0aAADaVrMb0pFmyQlJs9nMxIkT893vfjdjxozJ5MmTc9BBB+Wa\na67J+eef/473T5s2LZdcckn22GOPXHTRRRk8eHAuuOCC3HXXXZ2uoSUxxsEHH5xbbrllrWsXX3xx\nK5YGAABK8q//+q/5xS9+kS9+8Ys57bTTkiQnn3xyBg8enP/5P/9nZs2alf3333+99y5ZsiRTp05N\nR0fHmjMIx48fn9NPPz1TpkzJkUcemXr9nfOPLickAACwOWqkmUazUe4nzVJ/wyOPPJJarZZx48at\ndf2oo45Kkvz7v//7Bu+dMWNGli1bllNPPXXNtVqtltNOOy0vv/xyZs2a1akaSmtIms1y/+UBAABd\nc+655+b73/9++vXrt9b1RYsWJUl69eq1wXufeOKJJMlee+211vU99tgjSTJ79uxO1VDa5HmtVitr\naQAAqFyz0UijVvKMR8kzJNtss0222Wabda5/97vfTZLst99+G7x3wYIF2WabbdK3b9+1rg8aNChJ\n8vLLL3eqhtIakp///OdlLQ0AAGzEwoULN/r9Vlttlf79+6/3u9tuuy0/+clPcvDBB2efffbZ4BpL\nly7Nlltuuc71t9OWN954o1O12psXAAB6mEMPPXSj359zzjk577zz1rn+r//6r/mbv/mbDBo0KFdc\nccVG12g2mxt9K6qzb0xpSAAAoIA3B89Xl/6MIi699NKNNgR77rnnOtd++MMf5vOf/3y23nrrfPvb\n386OO+640Wf0798/y5YtW+f62wemb7311p2qVUMCAAA9zPjx4zfp7//pn/4pF198cbbbbrv8r//1\nv/KBD3zgHe9573vfm8WLF2flypVrHaC4YMGCJMngwYM79Wzb/gIAQAGNZvkHIxZNSDbFbbfdli9/\n+ct5z3vekxtvvLFTzUjy5u5azWYzv/nNb9a6/vb//cEPfrBT62hIAABgM/X0009n8uTJ2WGHHXLD\nDTdk11137fS9hx9+ePr27ZsbbrhhzbVGo5Gbb745O+20U0aOHNmpdbyyBQAABTQbzTRS9ra/5Z7t\nN3Xq1KxcuTKHHHJIHn/88Tz++ONrfb/77ruvSUzuvffeJMno0aOTJNtuu23OPvvsTJ06NY1GIwcf\nfHB+/OMf5/HHH8/Xv/51Q+0AAMDGPfroo6nVarn99ttz++23r/VdrVbLueeeu6Yhueyyy1Kr1dY0\nJEkyceLE9O/fPzfddFPuvffeDB8+PFdddVXGjh3b6Ro0JAAAUMDqZiOrS57xKHv9TTk7cMaMGeu9\nPmHChEyYMKFwDWZIAACAykhIAACggOZbu2yV/YyeTkICAABURkICAAAFNBqNNGrteVL7u4mEBAAA\nqIyGBAAAqIxXtgAAoIBms1H+wYhe2QIAACiPhAQAAApY3Hw1jWaz1Ge8kddLXb8d1JrNkv8tAgBA\nD/LII49k1KhR3frMp556KiNGjOjWZ3YXDQkAAGyiRx55JL17d8/LRgMGDOixzUiiIQEAACpkqB0A\nAKiMhgQAAKiMhuT/b+/OQqJqHzCAP1PNtJjjZCoWLUaWSQtSNFmJlalllGkZFWJYodlC5EXYBK0K\nExVEhheVH7bQ7jLlgpaFiZUUXaUV4VKmYKalJqbmOP+LPkVzLILvnNf/mecHXviec/F4zhlnnrO8\nQ0REREREwrCQEBERERGRMCwkREREREQkDAsJEREREREJw0JCRERERETCsJAQEREREZEwLCRERERE\nRCQMCwkREREREQnDQkJERERERMIMEx1gMCkuLkZkZCQcHBxQVFQEtVotOpKkDhw4AJPJ1GdMrVbD\n2dkZfn5+2Lt3L7RaraB08mppacHt27eRlZWFqqoqmM1muLu7Y8OGDdiwYQNUKpXoiJIY6BgYO3Ys\n9Ho9oqOj4e7uLiidPKxtg18tX74cSUlJMiWS37lz5/7495lMJsyYMUOmRPLr6upCbm4u0tLSUF5e\njoaGBuh0OsybNw+RkZHw8vISHVEy3fv/6tWrmD9/fr/l1dXV8Pf3R2hoKIxGo4CE8ktPT8fBgwdh\nNBoRGhoqOo4wtrjvSQwWkl4yMzMxcuRINDU14dGjR1ixYoXoSLI4ePAgxowZAwBoa2tDWVkZbt26\nhVevXuHGjRsYMkTZF9IqKiqwc+dO1NTUIDg4GGFhYejo6EB+fj4OHz6MFy9e4NSpU6JjSqr3MfD9\n+3d8+PABqampyMvLw8WLF6HX6wUnlF7vbfCrcePGyZxGjJiYGEydOtXqsvHjx8ucRj7fvn1DbGws\nioqKoNfrsWXLFuh0OtTU1MBkMmHTpk04dOgQwsPDRUclmSn1ZBTRYMNC8q+Ojg48ePAAISEhyMrK\nQkZGhs0UEn9//34fNtzc3HDs2DEUFhZi6dKlYoLJoL29Hbt27UJTUxPS09Mxffr0nmWRkZE4fvw4\nrl+/jjlz5iAiIkJgUmlZOwYiIiKwfv167Nu3D/n5+Rg1apSgdPKwtg1szeLFi62eIVe6I0eO4MmT\nJzhx4gRCQkL6LNuxYwdiYmJgNBqxePFiuLm5iQlJRKRgyj71/RceP36M5uZmeHt7w8fHB0VFRaiv\nrxcdS5juM+JlZWWCk0jr+vXreP/+PQwGQ58y0i0uLg4ODg64deuWgHRiubq6Ii4uDl++fEFaWpro\nOESSePnyJXJychASEtKvjACARqPB0aNH0dnZiYyMDAEJiYiUj4XkX5mZmRgyZAjmz5+PgIAAdHZ2\n4u7du6JjCVNbWwsAmDRpkuAk0srOzoadnR1Wr15tdfnw4cNx586dPz5joFQrV66ERqNBUVGR6ChE\nksjMzAQAREdHD7jOpEmTcPnyZezcuVOuWERENoW3bOHnA80FBQXw8vKCo6MjfH19odFoYDKZsH37\ndtHxJNfU1IQRI0YAAH78+IHy8nIkJCRg5syZ8PPzE5xOOhaLBW/evMG8efMwdOjQAddTein7HY1G\ng4kTJ+Lt27eio0iu9+vgVzqdTvHPUgFAc3Mzvnz50m9cq9Vi2DBlvl08f/4cLi4umDJlym/XW7Bg\ngUyJxBlo/zc3NwtIQ0S2RJnvMH8pLy8PHR0dCAwMBACMHj0aixYtQkFBAV69eoXZs2cLTigtazOI\njBgxAleuXFHshxAA+Pr1K8xmM5ydnUVHGdS0Wi2qq6tFx5Dc72bSUfoMU912795tdXyg2ZeUoLa2\n1rto77IAAATcSURBVOpMcm1tbWhtbe0zNnToUDg4OMgVTXYD7X8iIqkp99PmX8jKyoJKpUJAQEDP\nWEBAAAoKCpCenq74QnL69GmMHTsWwM8rJDU1Nbh27RrCw8Nx4cIFLFy4UHBCaXSf8e7q6hKcZHDr\n7Oy0iZlmer8OfmUrV8kOHDgADw+PfuPWxpTCYrHAYrH0Gz979ixSUlL6jI0fPx6PHj2SK5rsBtr/\n9fX12L9/v4BERGQrbL6Q1NXVobi4uGfmlO4zwd3/lHNycmAwGKDRaERFlNzcuXP7zS4UFBSEwMBA\nxMfHIycnR1AyaTk4OECtVqOhoUF0lEGtsbERjo6OomNIztrrwNbMnDlTsVdCBuLi4mJ1ApNNmzbB\n19e35/cTJ06gpaVFzmiyG2j/28IVUiISy+YLSU5ODiwWCyorK7F8+fJ+y5uamvDw4UMEBQUJSCeO\nTqeDXq9Hfn4+vn37Bnt7e9GR/nMqlQpeXl4oKSmB2Wwe8DmSM2fOoLq6GgaDAU5OTjKnFKulpQUf\nP37EsmXLREchksTcuXORkZGBqqqqPlfCJk+ejMmTJ/f8rtVqFV9IiBobG2Fvb9/v/VDJt2/T4KD8\npzT/IDMzEyqVCidPnkRSUlKfnz179gCAzU712NXVBZVKpejbdQIDA9Ha2ors7Gyry9va2pCamopn\nz54N+KV5SpabmwsAVss6kRIEBwcDAC5duvTHda3d2kWkFFevXoW3tzeqqqp6xtra2gBAkSclaXCx\n6cpbWVmJ0tJSeHt797wp9bZkyRLcvHkTT58+RV1dHVxcXASkFKO+vh7FxcXw9PTE6NGjRceRzMaN\nG5GSkoKTJ0/C09MT06ZN61lmNptx9OhRNDQ0IC4u7rczcSlRXV0dEhMT4erqavX1QaQECxcuxKpV\nq3Djxg1MmzYNmzdv7rfOvXv3UFJSYhO3LpLtmjBhAgCgtLS0Z9a5169fA4DV7+ki+i/ZdCHJysoC\nAISFhVldPmzYMKxfvx7nz5/H3bt3ERUVJWc82Tx48AA6nQ7AzzOAtbW1uH37Ntrb2xEbGys4nbQ0\nGg2SkpKwbds2hIWFYc2aNZg1axYaGxuRm5uLt2/fIigoCFu3bhUdVVK9j4H29nZUVFTAZDKho6MD\nycnJin6GqlvvbWDN2rVrZUxDcoqPj0dnZyeOHTuG1NRU+Pv7w8nJCZ8+fcL9+/fx7t07ODk5wWAw\niI5KJBkfHx9MmDABCQkJ+PTpE8xmM/755x+4uLj0mfSHSAo2X0i0Wm3PdL/WbNy4ERcvXoTJZFJc\nIem+FctoNPaMdU9rOWfOHBiNRpuYe9/T0xMmkwmXL19GYWFhz3NFHh4eMBqNv50O9v+dtWNArVbD\n1dUV/v7+iIqK6nMfvRJZ2wbW1lFyIVH6rZl/Ymdnh8TERBQUFCAtLQ137tzB58+fYW9vD09PT2ze\nvBnr1q3D8OHDRUeVhK3vf2tscZuo1WqkpKTAaDQiOTkZP378gF6vh8FggJ2dneh4pHAqC2+KJSIi\nIiIiQWz+oXYiIiIiIhKHhYSIiIiIiIRhISEiIiIiImFYSIiIiIiISBgWEiIiIiIiEoaFhIiIiIiI\nhGEhISIiIiIiYVhIiIiIiIhIGBYSIiIiIiIShoWEiIiIiIiEYSEhIiIiIiJhWEiIiIiIiEiY/wH8\nfEB5Tw1LegAAAABJRU5ErkJggg==\n", "text": [ "" ] } ], "prompt_number": 25 }, { "cell_type": "code", "collapsed": false, "input": [ "import prettyplotlib as ppl\n", "import matplotlib.pyplot as plt\n", "from prettyplotlib import brewer2mpl\n", "import numpy as np\n", "import string\n", "\n", "green_purple = brewer2mpl.get_map('PRGn', 'diverging', 11).mpl_colormap\n", "\n", "fig, ax = plt.subplots(1)\n", "\n", "np.random.seed(10)\n", "\n", "ppl.pcolormesh(fig, ax, np.random.randn(10,10), \n", " xticklabels=string.uppercase[:10], \n", " yticklabels=string.lowercase[-10:],\n", " cmap=green_purple, center_value=2)\n", "fig.savefig('pcolormesh_prettyplotlib_labels_other_cmap_diverging_center_value.png')" ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "display_data", "png": "iVBORw0KGgoAAAANSUhEUgAAAxoAAAJcCAYAAAB+NtKXAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAAPYQAAD2EBqD+naQAAIABJREFUeJzs3X+8lWWdL/zPWoggKipGFIEFKcMYpaKENqY9CjwhAraD\nET11EJI6TTqjHifKpEabUh/GMR3NGYUeE3CyfY6PZlhOvZyZTClRep1JDQTUBtTBX4iwBRTWev5Q\nttEG3Ky91l57wfvN6/6j+173dX31j+Lb576uq1Aul8sBAACoomK9CwAAAPY8Gg0AAKDqNBoAAEDV\naTQAAICq02gAAABVp9EAAACqTqMBAABU3T71LgAAABrN8uXLs379+k6Z68ADD8wRRxzRKXNVU5dq\nNBZe/8t6l1BX9/z9j+tdQt2tWL283iXU1etvbK53CXXXNH1KvUuoqz4D+9S7hLqbc9l3611CXb33\nXf3rXULdnXrO2HqXUFfz/25uvUuou38td+2/Ey1fvjxDhgzp1DmfeOKJhms2ulSjAQAAXV1rkvGh\nQ5L9a/zX6ZYtyWNrOy09qSaNBgAAVGL/fZLe+9a7ii5LowEAAJUoFlIoFmo6RbnG49eSXacAAICq\nk2gAAEAFCoXaJxopFFKu7Qw1I9EAAACqTqIBAAAVKHTCGo0UJRoAAACtJBoAAFCBQjGdkGjUdvha\nauDSAQCArkqjAQAAVJ1PpwAAoAKdtb1to5JoAAAAVSfRAACAShSLKRRr+//bl2s8fi01buUAAECX\nJdEAAIAKdMYajYI1GgAAAG+TaAAAQAU648C+QgPHAg1cOgAA0FVJNAAAoALFYiHFWp+jUevxa0ii\nAQAAVJ1EAwAAKuFk8F2SaAAAAFXXoUTj17/+daZOnbrT51deeWXOOOOMjkwBAAA0oA41Gocffnhm\nz5693b033ngjV111Vcrlco499tgOFQcAAF1VodgJB/Y18GLwDjUahx56aMaPH7/dvcsuuyyvvvpq\nbrzxxgwcOLBDxQEAAI2pqovBm5ub88///M/50pe+lE984hPVHBoAALqUQicsBi9YDJ4sWbIkl112\nWU466aScf/751RoWAABoQFVJNNasWZO//Mu/zHve85783d/9XTWGBACALq3QLSl0q3Gi0a2mw9dU\nhxuNzZs35y/+4i+yYcOGzJkzJ717965GXQAAQAPrcKMxa9asPPbYY7nqqqsydOjQatQEAABdnjUa\nu9ahRmPBggX50Y9+lBEjRmS//fbLj370o5TL5dbn73//+3P00Ud3uEgAAKCxdKjRePTRR1MoFPLw\nww9n8eLFbZ5/6lOf0mgAALBn6oRzNLK3nqNxxRVX5IorrqhWLQAAwB6iqudoAADA3qJQLKZQrNpp\nETudo1E1buUAAECXpdEAAACqzqdTAABQgUIhnbC9bU2HrymJBgAAUHUSDQAAqEChE7a3rfn2uTUk\n0QAAAKpOogEAABWQaOyaRAMAAKg6iQYAAFSiUPtEo5G3nZJoAAAAVSfRAACAClijsWsSDQAAoOo0\nGgAAUIHCW2s0anpVcY3G0qVLM2zYsFx//fXv+NtVq1blvPPOy8iRIzNy5MjMnDkzL7/88m7N59Mp\nAADYw23ZsiVf/epXs2XLlnf87dq1azN16tRs2bIlM2bMyJYtWzJ37twsW7Yszc3N6d69e7vm1GgA\nAMAe7p/+6Z+yYsWKdv32lltuyZo1a3L33Xdn8ODBSZKjjjoq06ZNy5133pnJkye3axyfTgEAQAUK\nxdT+06kq/G192bJl+cd//Md86UtfatfvFy5cmJEjR7Y2GUlywgknZNCgQVm4cGG759VoAADAHmrb\nJ1N/9md/lvHjx7/j79etW5fVq1fnQx/6UJtnRx55ZB577LF2z+3TKQAAqEAjbG978803Z9WqVbnx\nxhvzxhtvvOPv16xZkyTp169fm2d9+/bN+vXrs2HDhhxwwAHvOJZEAwAA9kDLly/Pd7/73Xz5y1/e\nYeOwIy0tLUmSnj17tnnWo0ePJMnGjRvbNZZEAwAAKlGofaKRCre33bp1a77yla/kuOOOa/fi7SQp\nl8tvTbvzedu75W6XajRO/POP1LuEujpu1JB6l1B3U/50er1LoM5+PO//q3cJdfX6G5vrXULd9eyx\nX71LqKvBH/hgvUuou4ebF9W7BGh4c+fOzRNPPJHbbrut9fyLV199NcmbicTatWtz8MEHt2kaevXq\nlSTZtGlTmzE3b37zf6Pa89lU0sUaDQAAaBTFYjHFYm1XIlQ6/v3335833nhjh2nG3LlzM3fu3Nx3\n333p37//ds+2/ecXXnihzXvPP/98DjrooB1+VrUjGg0AANjDfOUrX2lNMLZ58cUX89d//dc544wz\nMnHixLzrXe9q817v3r0zYMCAHe4u9fjjj2fYsGHtrkGjAQAAFSgWkm41XqNR6fA72p529erVSZIB\nAwbkhBNO2Om7Y8aMya233ponn3yy9SyNBx98ME8//XRmzJjR7ho0GgAAsJdatWpVlixZkuHDh2fg\nwIFJknPPPTd33XVXzjnnnEyfPj2bNm3KnDlzMmzYsEyYMKHdY9veFgAAKrBtjUatr1pavHhxZs6c\nmUceeaT1Xp8+fTJ//vwMHTo01157bebNm5fRo0fn5ptvTvfu3ds9tkQDAAD2AgMGDMjSpUu3u9fU\n1JSmpqY2vx00aFBuuummDs0n0QAAAKpOogEAABUoFovp1kW3t+0KGrdyAACgy5JoAABABYrFpNit\nxtvbNnAs0MClAwAAXZVEAwAAKmCNxq41buUAAECXJdEAAIAKFAu1P1CvWGjcXKBxKwcAALosiQYA\nAFSgWEy6Fe06tTMNXDoAANBVSTQAAKAC1mjsWuNWDgAAdFkSDQAAqECx2AmJRgMv0mjcygEAgC5L\nowEAAFRdxY3G1VdfnaFDh2blypXb3S+VSvn4xz+ev/qrv+pwcQAA0FVt2962llcDfzlVeaMxfvz4\nJMlPfvKT7e4/9NBDeeGFF1qfAwAAe5+KG40hQ4ZkyJAh+elPf7rd/XvuuSe9e/fOySef3OHiAACg\nq9q2vW1Nr711e9vTTz89K1asyPLly5MkW7Zsyb333pvRo0ene/fuVSkQAABoPB1qNMaPH59CodCa\najzwwANZt25dTj/99KoUBwAAXVWxWEy3Gl977fa2733vezN8+PDWdRo/+clP0rdv3xx//PFVKQ4A\nAGhMHW6RTj/99Dz55JN56qmn8q//+q8ZO3ZsCoVCNWoDAIAuq1hMit0Ktb0aN9DoeKMxduzY7LPP\nPrnuuut8NgUAACRJ9unoAAcffHBOPPHE/OQnP8lhhx2Wj3zkI9WoCwAAurRtazRqPUejqkrl287M\nOO2006oxHAAA0OA6nGj8oQkTJlRzOAAA6LKKnbAr1F6daJTL5dx+++05+uijM3jw4GrUBAAANLiK\nE42tW7fmwgsvzHPPPZff/va3uf7666tZFwAA0MAqbjS6deuW//zP/8wzzzyT8847L6NGjapmXQAA\n0KUVC0m3Ym2Pdajx8DXVoTUad955Z7XqAAAA9iBVXQwOAAB7C4vBd61xKwcAALosiQYAAFSgWCh0\nwhqNxl2kIdEAAACqTqIBAAAVKBYLnbBGQ6IBAADQSqIBAAAVKBaL6WbXqZ1q3MoBAIAuS6IBAAAV\nKBYLKXar8a5T1mgAAAC8TaMBAABUnU+nAACgAsVioRMWg/t0CgAAoJVEAwAAKlAsFGt/YF+hcXOB\nxq0cAADosiQaAABQgTfXaHTt7W0XLVqU6667LsuWLcsBBxyQT37yk7ngggvSq1evXb43adKkPPro\no23ujxkzJtddd1275tZoAADAHmjRokWZPn16PvzhD+fiiy/Oc889l1tvvTWPPvpoFixYkEJhx01M\nuVzOypUrM3r06IwZM2a7Z/3792/3/BoNAACoQLFQ6IQ1GpUnGrNnz8773ve+zJ8/P/vuu2+S5L3v\nfW8uv/zy3H///TnppJN2+N7q1auzcePGnHrqqRk/fnzF83epRuNbn7i23iXUVa9D9693CdTZl664\noN4l1N2vvv9AvUuoqwsfOqfeJdTdZ3p/qd4l1NXBgw6tdwl198DD99e7BGh4r7/+evr06ZNPfvKT\nrU1GkowYMSJJ8sQTT+y00VixYkWSZPDgwR2qoUs1GgAA0CiKxWInnKNR2fj77rtv5syZ0+b+7373\nuyS7/gRq+fLlSd5uNF577bV3XNOxI3adAgCAPdwzzzyTO+64I9/61rcyZMiQjBo1aqe/Xb58efbf\nf/9ceeWVOeaYYzJ8+PCMHj0699xzz27NKdEAAIAKdCt2S7dit5rP0VGvvPJKTj311CTJfvvtl0sv\nvXS7z6n+2IoVK9LS0pL169dn9uzZefXVV3PrrbfmoosuyhtvvJGJEye2a16NBgAA7MGKxWKuueaa\nvP7665k3b16mTZuWa665ps2OUtuceeaZKZVKOfvss1vvjRs3Lqeffnpmz56d8ePHt+uTLp9OAQDA\nHqx3794ZO3ZsJk6cmAULFqR///654oordvr7KVOmbNdkJEmPHj0yceLEvPjii1m5cmW75tVoAABA\nBYoppFuhWNOrmOoeCNijR4+cfPLJee655/LKK6/s1ruHHHJIkjcXh7eHRgMAAPYwK1euzCmnnJLb\nbrutzbOWlpYUi8UdrtNYs2ZNxo0blxtuuKHNs6eeeipJMmDAgHbVoNEAAIAKbFsMXuurEh/4wAey\nYcOG/OAHP8gbb7zRev+ZZ57JvffemxEjRuxwy9p+/fpl/fr1aW5uzoYNG1rvP/vss7njjjty/PHH\n59BD23fej8XgAACwh+nWrVsuvfTSfPnLX85nP/vZjB8/PmvXrs2CBQuyzz77ZNasWUmSVatWZcmS\nJRk+fHgGDhyYJJk1a1bOP//8nHXWWZk0aVJaWlqyYMGCdO/ePV//+tfbXYNEAwAAKlAsFtLtrUP7\nanUVi5Wv0ZgwYULrblNXXnll5s2bl5EjR6a5uTmHH354kmTx4sWZOXNmHnnkkdb3Ro8eneuvvz49\ne/bM1Vdfne9///s59thjc/vtt+/WaeESDQAA2EONHTs2Y8eO3enzpqamNDU1tbk/atSoXR7q1x4a\nDQAAqECxUPsD+4qF2o5fSz6dAgAAqk6iAQAAFehWePMcjVrP0agkGgAAQNVJNAAAoALFDpxzsTtz\nNCqJBgAAUHUaDQAAoOp8OgUAABXoVnjzwL5az9GoJBoAAEDVSTQAAKACFoPvmkQDAACouoobjV/8\n4hcZOnRoLrjggu3uz5o1K0OHDs0vf/nLDhcHAABdVfGtA/tqeRX3xjUaJ510Uj71qU/lpz/9aWtT\n8ctf/jLNzc0566yzcuKJJ1atSAAAoLF06NOpr371q+nbt2+++c1vZu3atZk1a1be//73Z+bMmdWq\nDwAAuqRuhTfXaNT0KuylazR69+6dv/mbv8nvf//7TJ48OS+88EKuuuqq9OzZs1r1AQAADajDu06d\neuqpGT16dH72s5/l7LPPztFHH12NugAAoEsrFmt/jkaxuBeu0djmtddey+OPP54kuf/++7Nx48YO\nFwUAADS2Djcaf//3f59nn302M2fOzOrVq3P11VdXoy4AAOjSar4+oxPO6ailDjUajzzySBYsWJAz\nzzwz06ZNy6c//encdttteeSRR6pVHwAA0IAqbjQ2b96cr33tazn00ENz8cUXJ0kuvvji9O7dO1/7\n2tfy+uuvV61IAACgsVTcaPzDP/xDfv/73+crX/lKDjjggCTJwQcfnL/+67/O008/nWuvvbZqRQIA\nQFdTTCcc2JfGXQxe8a5TF198cWuS8Yc+/elP59Of/nSHigIAABpbh7e3BQCAvVGxExZrF/fWxeAA\nAAA7ItEAAIAKdOuEA/u67c0H9gEAAPwxiQYAAFSgWCjWPNEoFho3F2jcygEAgC5LogEAABXoVizW\nfNepWicmtdS4lQMAAF2WRAMAACpQfOv07lrP0agat3IAAKDL0mgAAABV59MpAACoQLdCJywG9+kU\nAADA2yQaAABQgWKxEw7ss70tAADA2yQaAABQgWInrNGwvS0AAMAfkGgAAEAFunXCgX12nQIAAPgD\nEg0AAKjAm7tO1XiNhl2nAAAA3talEo3Fv/t1vUugzr5y49fqXUJdXfnFb9W7hLrbp1uX+q+lTveZ\n3ovrXULdXXD1xfUuoa6+8z//rt4lAO1ULBRrviuUXacAAAD+gEYDAAD2UIsWLcpZZ52V4cOH56ST\nTsq3v/3tvPbaa+/43qpVq3Leeedl5MiRGTlyZGbOnJmXX355t+beu79RAACAChVS+0+nCh3IBRYt\nWpTp06fnwx/+cC6++OI899xzufXWW/Poo49mwYIFKRQKO3xv7dq1mTp1arZs2ZIZM2Zky5YtmTt3\nbpYtW5bm5uZ07969XfNrNAAAYA80e/bsvO9978v8+fOz7777Jkne+9735vLLL8/999+fk046aYfv\n3XLLLVmzZk3uvvvuDB48OEly1FFHZdq0abnzzjszefLkds3v0ykAAKhAsVBoXRBeu2vHqcM7ef31\n19OnT5/8+Z//eWuTkSQjRoxIkjzxxBM7fXfhwoUZOXJka5ORJCeccEIGDRqUhQsXtrsGiQYAAOxh\n9t1338yZM6fN/d/97ndJkv79++/wvXXr1mX16tUZO3Zsm2dHHnlkfvGLX7S7Bo0GAABUoJG2t33m\nmWfy61//OldddVWGDBmSUaNG7fB3a9asSZL069evzbO+fftm/fr12bBhQw444IB3nFOjAQAAe7BX\nXnklp556apJkv/32y6WXXrrd51R/qKWlJUnSs2fPNs969OiRJNm4cWO7Gg1rNAAAoAKFTlijsbOd\noXZHsVjMNddck6uuuiof/OAHM23atPzLv/zLDn9bLpdb/9l29c/drnl3v1QAAKBR9O7dO2PHjs3E\niROzYMGC9O/fP1dcccUOf9urV68kyaZNm9o827x5c5K0K81INBoAAFCR2u84Vf01ID169MjJJ5+c\n5557Lq+88kqb59sWib/wwgttnj3//PM56KCDdvhZ1Y5oNAAAYA+zcuXKnHLKKbntttvaPGtpaUmx\nWNzhOo3evXtnwIABeeyxx9o8e/zxxzNs2LB216DRAACAChRSrPmfSk8G/8AHPpANGzbkBz/4Qd54\n443W+88880zuvffejBgxovUzqT82ZsyYLFq0KE8++WTrvQcffDBPP/10TjvttHbXYNcpAADYw3Tr\n1i2XXnppvvzlL+ezn/1sxo8fn7Vr12bBggXZZ599MmvWrCTJqlWrsmTJkgwfPjwDBw5Mkpx77rm5\n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\n8p3vfCef/OQnc8opp7TrveXLlyd5u9F47bXX0qtXr4pqqMkajUbe7xcAABrdgQcemJ/97GcpFnfv\nA6bly5dn//33z5VXXpmFCxdm48aNGThwYC688MKcdtppuzVW1RqNr3zlK7nzzjuTJKeeempGjBjR\nrlXtAADQiLrygX2FQiGFQmG331uxYkVaWlqyfv36zJ49O6+++mpuvfXWXHTRRXnjjTcyceLEdo9V\ntUZjypQpaWlpyc9+9rNccsklOeKII6o1NAAA0AnOPPPMlEqlnH322a33xo0bl9NPPz2zZ8/O+PHj\n252SVG0x+NFHH50hQ4YkSUaNGpUTTjihWkMDAEDX89b2trW8UuPE5I9NmTJluyYjSXr06JGJEyfm\nxRdfzMqVK9s9VlV3nQIAAPY8hxxySJI3F4e3l0YDAAAqUConpVK5tlcnBhpr1qzJuHHjdnjuxlNP\nPZUkGTBgQLvH02gAAADp169f1q9fn+bm5mzYsKH1/rPPPps77rgjxx9/fA499NB2j1eT7W0BAGBP\n17qOosZz1MqqVauyZMmSDB8+PAMHDkySzJo1K+eff37OOuusTJo0KS0tLVmwYEG6d++er3/967s1\nflUTjW0r0Ldu3VrNYQEAgCpbvHhxZs6cmUceeaT13ujRo3P99denZ8+eufrqq/P9738/xx57bG6/\n/fbdPi28qonGtihl7ty5Oemkk9p9AiEAADSa8lvrKGo9RzXcd999be41NTWlqampzf1Ro0Zl1KhR\nHZ6zqonGuHHj8rGPfSx33HFHrr766moODQAANJCqJhoHHnhgvve971VzSAAAoAFZDA4AABUop5xy\nucafTqVzD+yrJtvbAgAAVSfRAACACpQ6YTF4rcevJYkGAABQdRINAACoQLlU2wP1ts3RqCQaAABA\n1Uk0AACgAuVyJxzYV+NdrWpJogEAAFSdRAMAACpQLpU7YY2GRAMAAKCVRAMAACpQLndComGNBgAA\nwNs0GgAAQNX5dAoAACpQLnXC9rYWgwMAALxNogEAABUol2u/WLuB14JLNAAAgOqTaAAAQAVK5dqv\n0Sg1cKQh0QAAAKpOogEAABUolzrhwD67TgEAALxNogEAABVwjsauaTToUg458JB6l1BX/8/Kr9W7\nhLpb8v2n6l1CXX39R/+z3iXU3V+P+ka9S6irv1/4d/Uuoe4uGndxvUuoq3GTz6h3CVAVGg0AAKhA\nudwJazTsOgUAAPA2jQYAAFB1Pp0CAIAKlErllEqlms/RqCQaAABA1Uk0AACgAuVyJ2xvazE4AADA\n2yQaAABQgXKpE7a3tUYDAADgbRINAACogF2ndk2iAQAAVJ1EAwAAKlAulVPeao3Gzkg0AACAqpNo\nAABABcqlUs3XaJRrPH4tSTQAAICq02gAAABV59MpAACoQKlcrvn2s6WyxeAAAACtJBoAAFCBcqlc\n8+1nbW8LAADwBzQaAABQgXKpnNJbW9zW6qpWojFr1qx89rOfbddvV61alfPOOy8jR47MyJEjM3Pm\nzLz88su7PadPpwAAYA/W3Nyc5ubmfPSjH33H365duzZTp07Nli1bMmPGjGzZsiVz587NsmXL0tzc\nnO7du7d73g43GuvWrcsVV1yRX/3qV3nppZfynve8J2PHjs15552Xfffdt6PDAwBAl1Qud8IajQ7s\nOrV169bceOONueGGG9r9zi233JI1a9bk7rvvzuDBg5MkRx11VKZNm5Y777wzkydPbvdYHW40Lrjg\ngvzud7/L1KlT07dv3/zmN7/JTTfdlFdeeSWXX355R4cHAAB20+bNmzN58uQ88cQT+dSnPpUHH3yw\nXe8tXLgwI0eObG0ykuSEE07IoEGDsnDhws5rNF566aUsWrQoM2fOzLRp05IkkyZNSrlczurVqzsy\nNAAAdGnb1lHUeo5KbN68OS0tLfnOd76TT37ykznllFPe8Z1169Zl9erVGTt2bJtnRx55ZH7xi1/s\nVg0dajQOPPDA9OrVKwsWLMj73ve+nHjiienVq1e+/e1vd2RYAACgAw488MD87Gc/S7HY/r2f1qxZ\nkyTp169fm2d9+/bN+vXrs2HDhhxwwAHtGq9Du07tu+++ufzyy/PSSy/lL//yL3P88cfnc5/7XH74\nwx/m9ddf78jQAADQpZXLSalUrulV6RKNQqGwW01GkrS0tCRJevbs2eZZjx49kiQbN25s93gdXqNx\n+umn5+Mf/3h+/vOf59///d/z4IMP5oEHHshtt92WH/7whxaEAwBAA9i28LxQKOz0N7t69sc6lGhs\n2rQpjzzySAqFQj796U/nuuuuy6JFi/Lf//t/z9KlS/PAAw90ZHgAAOiytp0MXuurs/Tq1SvJm3/H\n/2ObN29OknZ/NpV0sNFYvnx5/tt/+2/5X//rf7Xe6969e/70T/80SdKtW7eODA8AAHSS/v37J0le\neOGFNs+ef/75HHTQQTv8rGpnOvTp1Ic//OGMHDky11xzTZ599tn8yZ/8SZ577rnMnz8/H/zgB/Ox\nj32sI8MDAACdpHfv3hkwYEAee+yxNs8ef/zxDBs2bLfG6/AajX/4h3/I9ddfn/vuuy8//OEPc9BB\nB+WTn/xk/uqv/ir77OPgcQAA9kxdeXvbSo0ZMya33nprnnzyydazNB588ME8/fTTmTFjxm6N1eFO\noHfv3rnkkktyySWXdHQoAACgk6xatSpLlizJ8OHDM3DgwCTJueeem7vuuivnnHNOpk+fnk2bNmXO\nnDkZNmxYJkyYsFvjd2iNBgAA7K3K5dpubfvm9ra1Wwy+ePHizJw5M4888kjrvT59+mT+/PkZOnRo\nrr322sybNy+jR4/OzTffnO7du+/W+L5tAgCAPdx9993X5l5TU1Oampra3B80aFBuuummDs+p0QAA\ngAq8uf1sbddQdOb2ttXm0ykAAKDqJBoAAFCB0ltrNGo9R6OSaAAAAFUn0QAAgEpsLaW8tcbnXNR6\n/BqSaAAAAFUn0QAAgAqUyumENRo1Hb6mJBoAAEDVaTQAAICq8+kUAABUoFTqhO1tG/jbKYkGAABQ\ndRINAACoRKmUcqnG28/WevwakmgAAABVJ9EAAIAKlMqdsEajbI0GAABAK4kGAABUoFwq13yNRtmu\nUwAAAG+TaAAAQAXKnbBGo2yNBgAAwNu6VKJx0gn/V71LqKtPfOHkepdQd5ef8zf1LqGuHrxxab1L\nqLuff/df6l1CXf36n99d7xLq7rkXn613CXX1nen/UO8S6u76n3+n3iXU1XmjLqh3CXV3cc6tdwnt\nUt5aSnlrjddo1Hj8WpJoAAAAVafRAAAAqq5LfToFAACNolROJxzYV9Pha0qiAQAAVJ1EAwAAKmAx\n+K5JNAAAgKqTaAAAQCVK5ZS31ngRRQMv0pBoAAAAVSfRAACACpS2llOq8RqKUq0TkxqSaAAAAFUn\n0QAAgAqUy+WUa7yGolyWaAAAALSSaAAAQAVKW0udsEbDORoAAACtNBoAAEDV+XQKAAAqUSqnXOtP\nmxzYBwAA8DaJBgAAVKC8tZxyjQ/Uq/X4tSTRAAAAqk6iAQAAFSiVSymVary9bdn2tgAAAK0kGgAA\nUAFrNHatao3GKaeckj/7sz/L1q1b8+Mf/ziHHHJI7rrrrhx88MHVmgIAAGgQVU00fvzjH+fwww/P\npZdemhdeeEGTAQDAnss5GrtU1Ubj9ddfz3e/+9307du3msMCAAANpqqNxmGHHabJAABgr1AqlVOq\n8RqKUgcTjVWrVuWqq67K4sWLkySf+MQnMnPmzPTp02eX702aNCmPPvpom/tjxozJdddd1665q9po\nHHroodUcDgAAqNDatWszderUbNmyJTNmzMiWLVsyd+7cLFu2LM3NzenevfsO3yuXy1m5cmVGjx6d\nMWPGbPesf//+7Z6/qo1GsWi3XAAA6ApuueWWrFmzJnfffXcGDx6cJDnqqKMybdq03HnnnZk8efIO\n31u9enU2btyYU089NePHj694fp0BAABUoFwqdcpVqYULF2bkyJGtTUaSnHDCCRk0aFAWLly40/dW\nrFiRJNu9VwmNBgAA7GHWrVuX1atX50Mf+lCbZ0ceeWQee+yxnb67fPnyJG83Gq+99lpFNWg0AACg\nAuVSOaWtpZpe5QoXg69ZsyZJ0q9fvzbP+vbtm/Xr12fDhg07fHf58uXZf//9c+WVV+aYY47J8OHD\nM3r06Nxzzz27VYOTwQEAYA/T0tKSJOnZs2ebZz169EiSbNy4MQcccECb5ytWrEhLS0vWr1+f2bNn\n59VXX82tt96aiy66KG+88UYmTpzYrhqq1mjcd9991RoKAAC6vPLWcso13t620vHL5TffKxQKO/3N\nzp6deeaZKZVKOfvss1vvjRs3Lqeffnpmz56d8ePHt2sTKJ9OAQDAHqZXr15Jkk2bNrV5tnnz5iTZ\nYZqRJFOmTNmuyUjeTEEmTpyYF198MStXrmxXDT6dAgCACpRLpZS3Vr4rVHvnqMS28y5eeOGFNs+e\nf/75HHTQQTv8rGpXDjnkkCTtXxwu0QAAgD1M7969M2DAgB3uLvX4449n2LBhO3xvzZo1GTduXG64\n4YY2z5566qkkyYABA9pVg0YDAAAqUCqVO+Wq1JgxY7Jo0aI8+eSTrfcefPDBPP300znttNN2+E6/\nfv2yfv36NDc3b7cr1bPPPps77rgjxx9/fA499NB2ze/TKQAA2AOde+65ueuuu3LOOedk+vTp2bRp\nU+bMmZNhw4ZlwoQJSZJVq1ZlyZIlGT58eAYOHJgkmTVrVs4///ycddZZmTRpUlpaWrJgwYJ07949\nX//619s9v0QDAAAqUSqnvLVU0ysdSDT69OmT+fPnZ+jQobn22mszb968jB49OjfffHO6d++eJFm8\neHFmzpyZRx55pPW90aNH5/rrr0/Pnj1z9dVX5/vf/36OPfbY3H777bt1WrhEAwAA9lCDBg3KTTfd\ntNPnTU1NaWpqanN/1KhRGTVqVIfmlmgAAABVJ9EAAIAKdOUD+7oCiQYAAFB1Eg0AAKhAqVRKqcYH\n9pUqPLCvK5BoAAAAVSfRAACACpRL5ZRrnDiUO7C9bb1JNAAAgKqTaAAAQAXKpXJKtd51SqIBAADw\nNokGAABUoLy1lHKNd52q9fi1JNEAAACqTqIBAAAVKJdqf3J3uXEDDYkGAABQfRoNAACg6rrUp1Pj\nLv6/611CXS3+6X/UuwTq7P/9xs31LqHuThp3ar1LqKuFzXfWu4S6O+rwo+tdQl29tO6lepdQd187\n4xv1LgHapVwqpVTzA/sa99spiQYAAFB1XSrRAACARlFKKaUar9YuRaIBAADQSqIBAAAVKJXKNV+j\nUSrVdvvcWpJoAAAAVSfRAACACpRLW1Mqba35HI1KogEAAFSdRAMAACqwNeVsrfGuU1tjjQYAAEAr\niQYAAFTAyeC7JtEAAACqTqMBAABUnU+nAACgAg7s2zWJBgAAUHUSDQAAqEA5pZRqvL1tORaDAwAA\ntJJoAABABUqlUkqlrTWfo1FJNAAAgKqTaAAAQAVKnXBgn0QDAADgD0g0AACgAnad2jWJBgAAUHVV\naTTuueeeTJw4MUcddVQmTJiQ+++/P5/97Gfz1a9+tRrDAwBAl7PtZPDaXnvxyeD/+3//71x00UXZ\nb7/98uUvfznHHHNMzjvvvPz+97+vRn0AAEAD6tAaja1bt+bqq6/OEUcckfnz52effd4c7rDDDsvs\n2bOrUiAAANB4OpRo/Pa3v83LL7+cP//zP29tMpLks5/9bHr16tXh4gAAoKuq/WdTtd8+t5Y61Gg8\n++yzSZKBAwdud3/ffffN+973vo4MDQAANLCqbG+7o05r3333rcbQAADQJZVSytby1prP0ag6lGi8\n//3vT5I89dRT290vlUpZvXp1R4YGAAAaWIcajSOPPDIDBw7MD37wg2zatKn1/t13351169Z1uDgA\nAOiqrNHYtQ59OlUoFPKNb3wj/+N//I+ceeaZaWpqyn/913/ln//5n7dbHA4AAHS+VatW5aqrrsri\nxYuTJJ/4xCcyc+bM9OnTpybv/aEOdwMnnnhi5syZk2uuuSZXX311BgwYkNmzZ+eyyy7r6NAAANBl\nlTshcSh3YPy1a9dm6tSp2bJlS2bMmJEtW7Zk7ty5WbZsWZqbm9O9e/eqvvfHqhI7HH/88bn99tu3\nu6fRAACA+rnllluyZs2a3H333Rk8eHCS5Kijjsq0adNy5513ZvLkyVV97491+GRwAADYG5VSTqlc\nqu2VcsX1LVy4MCNHjmxtFpLkhBNOyKBBg7Jw4cKqv/fHatZolMuV/0sBAAAqt27duqxevTof+tCH\n2jw78sgj89hjj1X1vR2p2YrtQqFQq6EBAKDuyqVSSoWuuUZjzZo1SZJ+/fq1eda3b9+sX78+GzZs\nyAEHHFCV93akZo3GL3/5y1oNDQAA7EJLS0uSpGfPnm2e9ejRI0mycePGNg1Dpe/tiDUaAACwh9m2\njGFXXxnt6Fml7+2Iwy4AAKACby7Y3lrzOSrRq1evJNnuUO1tNm/enCQ7TCUqfW9HJBoAALCH6d+/\nf5LkhRdeaPPs+eefz0EHHbTDz6MqfW9HJBoAAFCBUrn2B/ZVmmj07t07AwYM2OEuUY8//niGDRtW\n1fd2RKIBAAB7oDFjxmTRokV58sknW+89+OCDefrpp3PaaadV/b0/JtEAAIAKlEvllFLr7W0rP5vu\n3HPPzV133ZVzzjkn06dPz6ZNmzJnzpwMGzYsEyZMSJKsWrUqS5YsyfDhwzNw4MB2v9ceEg0AANgD\n9enTJ/Pnz8/QoUNz7bXXZt68eRk9enRuvvnmdO/ePUmyePHizJw5M4888shuvdceEg0AAKjA1nIp\nWytcQ7E7c3TEoEGDctNNN+30eVNTU5qamnb7vfaQaAAA8P+3d78xVdUPHMc/V7lXC/mTIiNnaksy\nZjmmEzGdlQJFK8PEqXM2qmlareWDhtet0nS7ztpaNh6UNjKXpvLnGsgwyZGjYrQeqeWcf4pgQwID\nZAQI9/4eFPxALvrT3/mj575fmw84504+nnOv937O93u+FzAcIxoAAADALQhasOpU0OQREzMxogEA\nAADAcIxoAAAAALcgEAgo4Lo9vxn8dsCIBgAAAADDUTQAAAAAGI6pUwAAAMAtCAYD5n9hH1OnAAAA\nAOC/GNEAAAAAbkFrsEWBYNDU39GhdlP/fjO5gkGTjw4AAADgIDU1NZozZ46lv/Ps2bNKTEy09Hf+\nvygaAAAAwE2qqalRRIQ1k4OioqLuuJIhUTQAAAAAmICbwQEAAAAYjqIBAAAAwHAUDQAAAACGo2gA\nAAAAMBxFAwAAAIDhKBoAAAAADEfRAAAAAGA4igYAAAAAw1E0AAAAABiOogEAAADAcBQNAAAAAIaL\nsDvA7aS6ulo5OTmKiYlRVVWV3G633ZFMtXHjRvn9/kHb3G63xo8fr4ULF+qNN95QdHS0Tems1d7e\nroMHD6q0tFS1tbXq7e3V1KlTtWzZMi1btkwul8vuiKYY7jkwbtw4paSkaO3atZo6dapN6awR6hhc\na9GiRcrLy7MokfU+/vjjG/77/H6/HnroIYsSWS8QCKi8vFyFhYU6f/68mpubFRsbq1mzZiknJ0fJ\nycl2RzRN3/nfu3evZs+ePWR/XV2d0tLStGTJEvl8PhsSWq+oqEibNm2Sz+fTkiVL7I5jm3A89zAW\nRWOAkpIS3XXXXWptbdXx48f15JNP2h3JEps2bdI999wjSers7NS5c+d04MABnTx5Uvv379eIEc4e\n+Lpw4YLWr1+v+vp6LV68WNnZ2eru7lZFRYXeeecd/fTTT3r//fftjmmqgc+Bv//+W7///rsKCgp0\n9OhR7dq1SykpKTYnNN/AY3Cte++91+I09li3bp0eeOCBkPsmTJhgcRrrXLlyRRs2bFBVVZVSUlL0\nwgsvKDY2VvX19fL7/VqxYoXefvttrVq1yu6osJhTLzIBVqFo/Ku7u1vHjh1TVlaWSktLVVxcHDZF\nIy0tbciHiClTpmjLli06ceKEHn/8cXuCWaCrq0uvvvqqWltbVVRUpAcffLB/X05Ojt577z3t27dP\nM2bM0OrVq21Maq5Qz4HVq1dr6dKlevPNN1VRUaG7777bpnTWCHUMws28efNCXtF2unfffVfff/+9\ntm/frqysrEH7XnnlFa1bt04+n0/z5s3TlClT7AkJAHcgZ1+qvgnfffed2tralJqaqvnz56uqqkpN\nTU12x7JN3xXsc+fO2ZzEXPv27dNvv/0mr9c7qGT0yc3NVUxMjA4cOGBDOnslJCQoNzdXly9fVmFh\nod1xAFP8/PPPKisrU1ZW1pCSIUkej0ebN29WT0+PiouLbUgIAHcuisa/SkpKNGLECM2ePVvp6enq\n6enR4cOH7Y5lm4aGBknSpEmTbE5iriNHjigyMlLPPPNMyP2jRo3SoUOHbjiH36meeuopeTweVVVV\n2R0FMEVJSYkkae3atcM+ZtKkSdqzZ4/Wr19vVSwAcASmTumfG4ErKyuVnJyssWPHasGCBfJ4PPL7\n/Xr55Zftjme61tZWjR49WpJ09epVnT9/Xtu2bdP06dO1cOFCm9OZJxgM6tdff9WsWbM0cuTIYR/n\n9BNGeI4AAAWVSURBVLJ1PR6PR/fdd5/OnDljdxTTDXwdXCs2Ntbx9ypJUltbmy5fvjxke3R0tCIi\nnPl2UVNTo/j4eN1///3XfdycOXMsSmSf4c5/W1ubDWkAOIEz3zlu0tGjR9Xd3a2MjAxJ0pgxY/To\no4+qsrJSJ0+e1COPPGJzQnOFWlFj9OjR+uKLLxz74UKS/vrrL/X29mr8+PF2R7mtRUdHq66uzu4Y\nprveyjJOX3Gpz2uvvRZy+3CrETlBQ0NDyJXVOjs71dHRMWjbyJEjFRMTY1U0yw13/gHgVjn3U+RN\nKC0tlcvlUnp6ev+29PR0VVZWqqioyPFF44MPPtC4ceMk/TOiUV9fry+//FKrVq3Sp59+qrlz59qc\n0Bx9V6gDgYDNSW5vPT09YbHyysDXwbXCZVRr48aNmjZt2pDtobY5RTAYVDAYHLL9o48+Un5+/qBt\nEyZM0PHjx62KZrnhzn9TU5PeeustGxIBuNOFfdFobGxUdXV1/0oifVdu+/6zLSsrk9frlcfjsSui\n6WbOnDlktZ3MzExlZGRo69atKisrsymZuWJiYuR2u9Xc3Gx3lNtaS0uLxo4da3cM04V6HYSb6dOn\nO3bkYjjx8fEhF/5YsWKFFixY0P/z9u3b1d7ebmU0yw13/sNhRBOAOcK+aJSVlSkYDOrixYtatGjR\nkP2tra369ttvlZmZaUM6+8TGxiolJUUVFRW6cuWKoqKi7I5kOJfLpeTkZJ06dUq9vb3D3qfx4Ycf\nqq6uTl6vV3FxcRantFd7e7v++OMPPfHEE3ZHAUwxc+ZMFRcXq7a2dtDI1eTJkzV58uT+n6Ojox1f\nNICWlhZFRUUNeT908jRqmMv5dzfeQElJiVwul3bs2KG8vLxBf15//XVJCtslDQOBgFwul6OnzWRk\nZKijo0NHjhwJub+zs1MFBQX68ccfh/0yNycrLy+XpJAlHHCCxYsXS5I+//zzGz421BQrwCn27t2r\n1NRU1dbW9m/r7OyUJEdebIQ1wrqiXrx4UadPn1Zqamr/m81Ajz32mL766iv98MMPamxsVHx8vA0p\n7dHU1KTq6molJSVpzJgxdscxzfLly5Wfn68dO3YoKSlJiYmJ/ft6e3u1efNmNTc3Kzc397orUzlR\nY2Ojdu7cqYSEhJCvD8AJ5s6dq6efflr79+9XYmKiVq5cOeQxX3/9tU6dOhUWUwgRviZOnChJOn36\ndP8qbL/88oskhfyeKeB/EdZFo7S0VJKUnZ0dcn9ERISWLl2qTz75RIcPH9aaNWusjGeZY8eOKTY2\nVtI/V+waGhp08OBBdXV1acOGDTanM5fH41FeXp5eeuklZWdn69lnn9XDDz+slpYWlZeX68yZM8rM\nzNSLL75od1RTDXwOdHV16cKFC/L7/eru7tbu3bsdfY9Sn4HHIJTnnnvOwjSw0tatW9XT06MtW7ao\noKBAaWlpiouL06VLl/TNN9/o7NmziouLk9frtTsqYJr58+dr4sSJ2rZtmy5duqTe3l599tlnio+P\nH7RYDnAzwr5oREdH9y9rG8ry5cu1a9cu+f1+xxWNvilRPp+vf1vf8o0zZsyQz+cLi7Xjk5KS5Pf7\ntWfPHp04caL/vp1p06bJ5/Ndd9nTO12o54Db7VZCQoLS0tK0Zs2aQfPUnSjUMQj1GCcXDadPkbyR\nyMhI7dy5U5WVlSosLNShQ4f0559/KioqSklJSVq5cqWef/55jRo1yu6opgj38x9KOB4Tt9ut/Px8\n+Xw+7d69W1evXlVKSoq8Xq8iIyPtjoc7lCvIpFMAAAAABgv7m8EBAAAAGI+iAQAAAMBwFA0AAAAA\nhqNoAAAAADAcRQMAAACA4SgaAAAAAAxH0QAAAABgOIoGAAAAAMNRNAAAAAAYjqIBAAAAwHAUDQAA\nAACGo2gAAAAAMNx/ABZ4dxW2Pbi3AAAAAElFTkSuQmCC\n", "text": [ "" ] } ], "prompt_number": 26 }, { "cell_type": "markdown", "metadata": {}, "source": [ "Or if you want your own colormap for positive-only data:" ] }, { "cell_type": "code", "collapsed": false, "input": [ "import prettyplotlib as ppl\n", "import matplotlib.pyplot as plt\n", "from prettyplotlib import brewer2mpl\n", "import numpy as np\n", "import string\n", "\n", "red_purple = brewer2mpl.get_map('RdPu', 'Sequential', 9).mpl_colormap\n", "\n", "fig, ax = plt.subplots(1)\n", "\n", "np.random.seed(10)\n", "\n", "ppl.pcolormesh(fig, ax, np.abs(np.random.randn(10,10)),\n", " xticklabels=string.uppercase[:10], \n", " yticklabels=string.lowercase[-10:],\n", " cmap=red_purple)\n", "fig.savefig('pcolormesh_prettyplotlib_labels_other_cmap_sequential.png')" ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "display_data", "png": "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\ng9Xz/cZGz+MAAAAASUVORK5CYII=\n", "text": [ "" ] } ], "prompt_number": 27 }, { "cell_type": "markdown", "metadata": {}, "source": [ "Plus, this will take the usual parameters of `pcolormesh` like if you want to rescale your data to log-scale:\n", "\n", " from matplotlib.colors import LogNorm\n", " ...\n", " ppl.pcolormesh(..., norm=LogNorm(vmin=x.min().min(), vmax=x.max().max()))" ] }, { "cell_type": "code", "collapsed": false, "input": [ "import prettyplotlib as ppl\n", "import matplotlib.pyplot as plt\n", "from prettyplotlib import brewer2mpl\n", "import numpy as np\n", "import string\n", "from matplotlib.colors import LogNorm\n", "\n", "red_purple = brewer2mpl.get_map('RdPu', 'Sequential', 9).mpl_colormap\n", "\n", "fig, ax = plt.subplots(1)\n", "\n", "np.random.seed(10)\n", "\n", "x = np.abs(np.random.randn(10,10))\n", "ppl.pcolormesh(fig, ax, x,\n", " xticklabels=string.uppercase[:10], \n", " yticklabels=string.lowercase[-10:],\n", " cmap=red_purple, \n", " norm=LogNorm(vmin=x.min().min(), vmax=x.max().max()))\n", "fig.savefig('pcolormesh_prettyplotlib_labels_lognorm.png')" ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "display_data", "png": "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\nNYsXL47Zs2dH796917m26667xowZMyIiom3btvHzn/88rrvuuhg4cGBMnz49Lr744qrqM00LAABK\nqkOHDnH33XdHpbLhDGLOnDkREetNTbp06RJvvvlmLFmyJNq3bx+9e/dea6pWtSQjAABQUlmWvW8j\nEhHx1ltvRUSss1NWRMTGG28cEe8uVC9C7mbkwgsvjF69esULL7yw1vlVq1bFfvvtV/XbGAEAoJF9\nHLf2XZ/m5uZ3nyfb8N3e71o1cjcjQ4cOjYiIO+64Y63zjzzySMybN2/NdQAAoHGt3pp32bJl61xb\nvZVv+/btC7l37makZ8+e0bNnz7jzzjvXOn/77bdHx44d44ADDqi6OAAAaFRZnY6ide3aNSIi5s2b\nt861uXPnRqdOndY7hasWqlozMmTIkPjzn/8czz//fERErFixIu66664YPHhwtG7duiYFAgAAxenY\nsWNst912a3bNeq+nn346+vTpU9i9q2pGhg4dGlmWrUlHHnjggVi8eHEMGTKkJsUBAECjKnq9yOqj\nHg499NCYPn16vPjii2vOPfjgg/HSSy/F4YcfXth9q3q+T3ziE7HXXnutWTdyxx13RJcuXWLgwIE1\nKQ4AACjeiSeeGJ06dYrjjz8+rrrqqvjP//zPOP3006NPnz4xbNiwwu5bdbM1ZMiQePHFF2PmzJnx\nP//zP3HYYYcVttoeAAAaRVaHFx5mdVk1ErH55pvHNddcE7169YqLLroorr766hg8eHBcfvnlhS6/\nqPqlh4cddlh873vfi4svvtgULQAAaGBTp07d4LXu3bvHZZddVsdqatCMdO7cOQYNGhR33HFH7LDD\nDrH77rvXoi4AAGho9djtquzzjWqyJmb1O0WKXNwCAACUS9XJyHsVubgFAAAaST12u6rXblqpVP18\nzc3NccMNN0Tfvn1jxx13rEVNAABAC5A7GVm5cmV8/etfj7/85S/x5JNPxiWXXFLLugAAgJLL3Yy0\natUqXnnllXj11VfjtNNOi0MOOaSWdQEAQEPLovhpVGVfwF7VmpFJkybVqg4AAKCFqekCdgAAaCls\n7Vu9si/QBwAAGpRkBAAAcqhEFpWCs4uix09NMgIAACQhGQEAgJzKnVsUTzICAAAkIRkBAIAcKlH8\nJ/tlTw7K/nwAAECDkowAAEAOkpHqlf35AACABqUZAQAAkjBNCwAAcsgiIit4c9+ybx0sGQEAAJKQ\njAAAQA5ZFP/JvmQEAACgAJIRAADIwda+1Sv78wEAAA1KMgIAADlkUfyajrKvGWmoZuTMHbqlLiGp\nua+/lbqE5PrstXXqEpL674dfSl1Ccp+d07L/HCyLValLSO60E6emLiGpfaNd6hKSu+/Rl1KXkNS+\nWYfUJUDdNFQzAgAAHxd206qeNSMAAEASkhEAAMgh+9uPou9RZpIRAAAgCc0IAACQhGlaAACQg5ce\nVq/szwcAADQoyQgAAORga9/qSUYAAIAkJCMAAJBDFsUnF5IRAACAAkhGAAAgh0pkUSk4uyh6/NQk\nIwAAQBKSEQAAyMFuWtWTjAAAAElIRgAAIAe7aVVPMgIAACShGQEAAJIwTQsAAHKoRPGf7Jc9OSj7\n8wEAAA1KMgIAADnY2rd6khEAACCJ3M3I/fffH7169Yqvfe1ra50fO3Zs9OrVK6ZNm1Z1cQAA0Kiy\nOv0os9zNyP777x8jRoyIO++8c03jMW3atJg4cWIcc8wxMWjQoJoVCQAAlE9V07TOOeec6NKlS5x/\n/vmxcOHCGDt2bHTr1i3GjBlTq/oAAKAhVep0lFlVz9exY8f4zne+Ey+//HKMHDky5s2bFz/4wQ+i\nbdu2taoPAAAoqaqbrYMPPjgGDx4cs2fPjs9//vPRt2/fWtQFAAANLyv4KLuqm5GlS5fG008/HRER\nv//97+Ptt9+uuigAAKD8qm5G/uM//iNee+21GDNmTMyePTsuvPDCWtQFAAANrVLJ6nKUWVXNyOOP\nPx7XXnttHH300TF69Og48sgj47rrrovHH3+8VvUBAAAllbsZaWpqim9+85uxxRZbxJlnnhkREWee\neWZ07NgxvvnNb8by5ctrViQAAFA+uZuRn/70p/Hyyy/H2WefHe3bt4+IiM6dO8dZZ50VL730Ulx0\n0UU1KxIAABpNVonIKlnBR+qnLNZGeb/xzDPPXJOIvNeRRx4ZRx55ZFVFAQAA5Ze7GQEAgJYsiywq\nWbELzLNmC9gBAABqTjICAAA5vLtmpOB7FDt8cpIRAAAgCckIAADkUMmKXzNS9PipSUYAAIAkJCMA\nAJBDlr37LpBC72E3LQAAgNqTjAAAQA5ZJYuKZKQqkhEAACAJzQgAAJCEaVoAAJBDlr17FH2PMpOM\nAAAASUhGAAAgh0oWhS9gr6wqdPjkJCMAAEASkhEAAMgjyyKzaKQqkhEAACAJyQgAAORQqcNLD4se\nPzXJCAAAkIRkBAAAcsiyLLKCk4vC16QkJhkBAACSaKhkZIsum6YuIalXZ72RuoTkLnt4ZuoSkurW\nWH8kk9jjn7dNXUJSJ/zA/weeiKbUJST1aLyduoTkju7SJXUJSfX9x61Tl8CHlGXvvmuk6HuUmWQE\nAABIQjMCAAAkYU4IAADkkFXqsIDd1r4AAAC1JxkBAIAcsqz4rXctYAcAACiAZAQAAHKoZFlUCl7T\nUSl5NCIZAQAAkpCMAABADnbTqp5kBAAASEIyAgAAOWRZRNHBRcmXjEhGAACANCQjAACQQ5bVYc1I\nyaMRyQgAAJCEZgQAAEjCNC0AAMihkmWFv5TQSw8BAAAKIBkBAIA8KnV4KWHJo4OSPx4AANCoJCMA\nAJBDJYuoFPzRftHBS2qSEQAAIAnJCAAA5JBlWeEvJfTSw78ZPnx4DB8+fK1z11xzTfTq1Suuuuqq\ntc5/7nOfi5NPPrkmBQIAAOX0oZuRAw44IJ599tlYtGjRmnMPP/xwREQ89thja87NmzcvnnvuuTjw\nwANrVyUAADSYrJJFpeCj8N26EvvQzch+++0Xzc3NaxqQ5ubmeOSRR2LrrbeOxx9/fM3XPfDAA9Hc\n3KwZAQAA3teHbkb69u0bHTp0iIceeigiIp599tlYvHhxHHfccbFw4cJ44YUXIiLi97//ffTo0SO6\ndu1aTMUAANAAssjWrBsp7AjJSEREbLTRRrHvvvuuaUYeeuih2HLLLeOII46ILMvisccei1WrVsUD\nDzwQ+++/f2EFAwAA5fCRtvY94IADYubMmTF37tx4+OGHo1+/ftG5c+fo2bNnPProozFjxoxYtGiR\nKVoAAMAH+kjNyKBBgyIi4sEHH4w//OEP0a9fv4iI6NevXzz22GMxbdq06NChQ+y99961rxQAABpI\n0YvXVx9l9pGaka222ip22WWXuPbaa2Px4sXRv3//iIgYMGBAvP7663HLLbfEoEGDolL0qygBAICP\nvY/cNey///7x5JNPxmabbRY77bRTRER8+tOfjoiIWbNmxQEHHFDbCgEAoAFllfocZfaRH2+//faL\niP+/AYmI2GyzzaJHjx5RqVQsXgcAAD6UjT7qN3z605+OZ555Zp3zkydPrklBAADwcZBFFpWs2DUd\ntvYFAAAowEdORgAAgNVrOgpORkoeHZT88QAAgEYlGQEAgBwqWfFrRooePzXJCAAAkIRkBAAA8qhk\nha8ZCW9gBwAAqD3NCAAAkIRpWgAAkEOWFb/1bsnXr0tGAACANCQjAACQQ5YVn1xIRgAAAAogGQEA\ngByyOmztW/jWwYlJRgAAgCQkIwAAkIPdtKonGQEAAJKQjAAAQB512E0rJCMAAAC1JxkBAIA8Ktm7\nR9H3KDHJCAAAkIRmBAAASKKhpml1+37P1CUk9eYpy1KXkNyKPy9IXUJSC2JV6hKSu+QHT6QuIamR\n+3ZLXUJyVz3Qsn8PfCbrlLqE5PYask3qEpL6w22vpy4huf1SF/AhZVH8AvZyT9KSjAAAAIk0VDIC\nAAAfF1mlDi89LHl0UPLHAwAAGpVkBAAAcng3GSl2VYdkBAAAoACSEQAAyMFuWtWTjAAAAElIRgAA\nII9KFP/Rfsmjg5I/HgAA0KgkIwAAkEclK3w3rSh6/MQkIwAAQBKaEQAAIAnTtAAAIAdb+1ZPMgIA\nACQhGQEAgByyyrtH0fcos5I/HgAA0KgkIwAAkEOWZZEVvGik6PFTk4wAAABJSEYAACCHLKvDmpFy\nByOSEQAAIA3JCAAA5FGJ4j/aL3l0UPLHAwAAGlXuZuTb3/529O7dOxYsWLDW+aVLl0bfvn3jm9/8\nZtXFAQBAw8r+tm6kwKPsr2DP3YwMGzYsVq5cGb/97W/XOn/vvffGsmXLYujQoVUXBwAAlFfuZmTv\nvfeOrl27xp133rnW+dtvvz223nrrGDhwYNXFAQBAo8qyLLJKwUfJt9Oqas3I0KFD49FHH10zVWvJ\nkiVx//33x+GHH16T4gAAgPKquhl571Ste+65J5YvX26KFgAA8IGqakZ22mmn2HnnneOOO+6IiIg7\n7rgjdtxxx9h1111rUhwAADSqrFKfo8yqfryhQ4fGY489FrNmzYoHHnhAKgIAAHwoVTcjQ4YMiVWr\nVsX3vve9WLFiRQwZMqQWdQEAQEMrelvfNdv7lljVzcg222wTn/70p+Pee++Nvn37xvbbb1+LugAA\ngJKrySy0YcOGRZZlpmgBANByZFlEpeCj5NHIRrUYZOTIkTFy5MhaDAUAALQQNWlGAACgpanHbld2\n0wIAACiAZAQAAPKox5KOci8ZkYwAAABpSEYAACCHLIvIKsVGFyXfTEsyAgAApKEZAQAAkjBNCwAA\ncsjqsIDdNC0AAIACSEYAACAHLz2sXskfDwAAaFSSEQAAyCPLIgre2rfsi0YkIwAAQBKaEQAAyGH1\nblpFHx8Hd911Vxx77LEf+fs0IwAAQC7Nzc0xceLEOOuss3J9vzUjAACQRx1202r06OBHP/pR/N//\n/V+MHj06Hn300Y/8/Q3+eAAAQKM6/vjj49prr41u3brl+n7NCAAA5JBVsroctTR27NgYNWrUeq/N\nmjUrTjvttBgwYEAMGDAgxowZEwsWLHjf8bp06VJVPZoRAABoASZOnBgTJ06MbD2r4hcuXBjHHXdc\nPPHEE3HSSSfF6NGjY+rUqXHCCSfEO++8ExER3/rWt2LPPfeMPffcM04++eSa1GTNCAAAlNjKlSvj\n0ksvjQkTJmzwa6666qqYM2dOTJ48OXbccceIiNhjjz1i9OjRMWnSpBg5cmSMGzcuxo0bV9PaJCMA\nAJBDFnXY2rfKGpuammLEiBFxySWXxPDhw2Prrbde79dNmTIlBgwYsKYRiYjYZ599onv37jFlypQq\nq9gwzQgAAJRUU1NTvPXWW/GTn/wkxo8fH61atVrnaxYvXhyzZ8+O3r17r3Nt1113jRkzZnzgfbIs\nW+/0rw/SUNO0fnno/6QuIamdt+6QuoTknot3UpeQVJ/KxqlLSG7mqpb9e2DVytQVpHfOJz6ZuoSk\n2my87j8UWprf/OKF1CUkNfhz+XYlIoFKFP/RfpXjd+jQIe6+++6oVDY80Jw5cyIi1puadOnSJd58\n881YsmRJtG/ffoNjjBgxIkaMGPGR65OMAABASWVZ9r6NSETEW2+9FRERbdu2Xefaxhu/+0Hp22+/\nXfviosGSEQAA+NioZO8eRd+jYM3NzRER7zvNKs8UrA9DMgIAAC1Yu3btIiJi2bJl61xramqKiHjf\nKVrVkIwAAEAuf9vyquh7FKxr164RETFv3rx1rs2dOzc6deq03ilctSAZAQCAFqxjx46x3XbbrXfX\nrKeffjr69OlT2L01IwAAkEelTkcdHHrooTF9+vR48cUX15x78MEH46WXXorDDz+8sPuapgUAAC3c\niSeeGLfeemscf/zxccIJJ8SyZcviiiuuiD59+sSwYcMKu69mBAAA8qhEHXbTKnb41TbffPO45ppr\nYvz48XHRRRdFu3btYvDgwfGNb3wjWrduXdh9NSMAANBCTJ06dYPXunfvHpdddlkdq7FmBAAASEQy\nAgAAOWRR/M6+xW/sm5ZkBAAASEIyAgAAeVSyOixgL3c2IhkBAACSkIwAAEAekpGqSUYAAIAkJCMA\nAJBHFsV/tF/uYEQyAgAApCEZAQCAPLKsDi8aKXc0IhkBAACSkIwAAEAedtOqmmQEAABIoqpm5KCD\nDopRo0Z96PMAAACrVT1NK9vAopoNnQcAgFKwtW/VTNMCAACSsIAdAADyqEQdFrAXO3xqJX88AACg\nURWSjKxcubKIYQEAoHFkUfyaDmtG3uebK5VYvnz5WudWrFgRCxcurKooAACg/KpKRrbccsuYOXNm\nNDU1xcYbbxwREVOnTl2nQQEAgNLJ6vDSw5LvUFtVMzJ06NA4//zz48QTT4yhQ4fGyy+/HBMnToyu\nXbtGc3NzrWoEAABKqKpm5J//+Z9j0aJFcdNNN8V3v/vd2GWXXWLChAlx5ZVXxtKlS2tVIwAANJ5K\nHZKRosdPrKpmJMuyOPXUU+PUU09d63y/fv2qKgoAACg/7xkBAIAcsqz4JR0lXzLiPSMAAEAamhEA\nACAJ07QAACAPW/tWTTICAAAkIRkBAIA8bO1bNckIAACQhGQEAADyyKL4j/bLHYxIRgAAgDQkIwAA\nkEcWdXjrYbHDpyYZAQAAkpCMAABAHpUo/qP9kkcHJX88AACgUUlGAAAgD29gr5pkBAAASEIzAgAA\nJGGaFgAA5FGpwzStosdPTDICAAAkIRkBAIA8sij+pYTlDkYkIwAAQBqSEQAAyMOakao1VDMyoNdW\nqUtIasYz81KXkNwpn++ZuoSkfn/LK6lLSO6lVctTl5BUqzbl/kvnw1j29jupS0iqUvJ/eHwYj8ey\n1CUkteDWmalLSO7U1AVQNw3VjAAAwMeGlx5WzZoRAAAgCckIAADkkGXFBxclD0YkIwAAQBqSEQAA\nyKMSddhNq9jhUyv54wEAAI1KMwIAACRhmhYAAORha9+qSUYAAIAkJCMAAJBHJYr/aL/k0UHJHw8A\nAGhUkhEAAMjDWw+rJhkBAACSkIwAAEAeWRT/0X65gxHJCAAAkIZkBAAA8rBmpGqSEQAAIAnJCAAA\n5JFF8Ws6yh2M1D4ZmT9/frz99tu1HhYAACiZmjYj9913Xxx22GGxcOHCWg4LAACUUE2naT3xxBPx\nxhtv1HJIAABoTKZpVa2QBezNzc1FDAsAAJRIzZqRs88+OyZMmBAREQcffHCMGjWqVkMDAEDjybKI\nSsFHybf2rdk0rS984Qvx1ltvxd133x3nnntu9OjRo1ZDAwAAJVSzZKRv377Rs2fPiIg45JBDYp99\n9qnV0AAA0HiyOh0l5qWHAABAEl56CAAAedhNq2qSEQAAIAnJCAAA5JFF8btdSUY+wmCVd4dbuXJl\nLYcFAABKqKbNyBZbbBEREVdeeWVMnTq1lkMDAEDDybJij7KraTPyT//0T7HvvvvGLbfcEhdeeGEt\nhwYAAEqmpmtGOnToEP/1X/9VyyEBAICSsoAdAADysLVv1WztCwAAJCEZAQCAPCrZu0fR9ygxyQgA\nAJCEZAQAAPKwZqRqkhEAACAJyQgAAORV8uSiaJIRAAAgCckIAADkkWXvHkXfo8QkIwAAQBKSEQAA\nyMNuWlWTjAAAAEloRgAAgCRM0wIAgDwqUfxH+yWPDkr+eAAAQKOSjAAAQC512Nq35CvYJSMAAEAS\nkhEAAMjD1r5Vk4wAAABJSEYAACAPyUjVJCMAAEASkhEAAMgjq8NuWoXv1pVWQzUj4/70fOoSkmor\nqIreTyxJXUJSl70zN3UJye2edUhdQlLfuv9PqUtI7tJT90pdQlJn/uyPqUtI7l923iF1CUn977Pz\nUpcAddNQzQgAAHxsZFH8oodyByM+igcAANLQjAAAAEmYpgUAAHnY2rdqkhEAACAJyQgAAOSRRR22\n9i12+NQkIwAAQBKSEQAAyMOakapJRgAAgCQkIwAAkEOW1WHJiGQEAACg9iQjAACQR5ZFVEQj1ZCM\nAAAASUhGAAAgD7tpVU0yAgAAJKEZAQAAkjBNCwAA8rC3b9UkIwAAQBKSEQAAyMMC9qpJRgAAgCQk\nIwAAkFfJk4uiSUYAAIAkqk5GFi9eHOPHj4+HHnoo5s+fH9tss00cdthhcdppp0WbNm1qUSMAADSe\nSvbuUfQ9SqzqZuRrX/ta/OlPf4rjjjsuunTpEv/7v/8bl112WSxatCjGjRtXixoBAIASqqoZmT9/\nfkyfPj3GjBkTo0ePjoiIo446Kpqbm2P27Nk1KRAAABqS3bSqVlUz0qFDh2jXrl1ce+21se2228ag\nQYOiXbt28e///u+1qg8AACipqhawt2nTJsaNGxfz58+P008/PQYOHBhf+tKX4sYbb4zly5fXqkYA\nAGg8q9/AXvRRYlWvGRkyZEjst99+cc8998R9990XDz74YDzwwANx3XXXxY033mgROwAAsF5VJSPL\nli2Lxx9/PLIsiyOPPDIuvvjimD59enzxi1+MZ555Jh544IFa1QkAAA0oK/got6qakeeffz6OPfbY\nuOmmm9aca926deyyyy4REdGqVavqqgMAAEqrqmlau+22WwwYMCB+/OMfx2uvvRY777xz/OUvf4lr\nrrkmPvWEPfCAAAAUPUlEQVSpT8W+++5bqzoBAICSqXrNyE9/+tO45JJLYurUqXHjjTdGp06d4rOf\n/WycccYZsdFGVQ8PAACNqR4LzC1gf38dO3aMc889N84999xa1AMAALQQogsAAMir3MFF4apawA4A\nAJCXZAQAAPKwZqRqkhEAACAJyQgAAOQhGamaZAQAAEhCMgIAAHlIRqomGQEAAJKQjAAAQB6SkapJ\nRgAAgCQ0IwAAQBKmaQEAQG7lnkZVNMkIAACQhGQEAAByqcMC9pInL5IRAAAgCckIAADkYWvfqklG\nAACAJCQjAACQh2SkapIRAAAgCckIAADkIRmpmmQEAABIoqGSkRM23Sp1CUn9bukbqUtI7tfPvJa6\nhKQ+nXVMXUJyo/bqlrqEpJ6ZMTd1CcmN+9mM1CUkdf7ne6cuIblzb3wqdQlJbRmtU5fAh5VFHZKR\nYodPTTICAAAkoRkBAACS0IwAAABJaEYAAIAkGmoBOwAAfHzUYWvfkq9gl4wAAABJSEYAACCHLMsi\nKzgZKXr81CQjAABAEpIRAADII6vDmhHJCAAAQO1JRgAAIA/JSNUkIwAAQBKSEQAAyCOLOiQjxQ6f\nmmQEAABIQjMCAAAkYZoWAADkUocF7CWfpyUZAQAAkpCMAABALlkUn1xIRgAAAGpOMgIAAHl46WHV\nJCMAAEASkhEAAMhDMlK1mjUjBx10UHzmM5+JlStXxm233RabbbZZ3HrrrdG5c+da3QIAACiRmiYj\nt912W+y0007xb//2bzFv3jyNCAAA5ZVFHZKRYodPrabNyPLly+NnP/tZdOnSpZbDAgAAJVTTBew7\n7LCDRgQAgJYhq9PRwKZPnx4jRoyIvffeO4YMGRK/+93vPtL317QZ2WKLLWo5HAAA0KDmz58fZ5xx\nRpxxxhnx+OOPx7nnnhtnnXVWzJo160OPUdNmpFKxUzAAALQEr732Whx++OFx4IEHRkTEvvvuG5/8\n5Cfjqaee+tBj2NoXAAByqcPWvg08T2u33XaL3Xbbbc1/z5o1K1544YXo2bPnhx5DlAEAAC3E2LFj\nY9SoUeu9NmvWrDjttNNiwIABMWDAgBgzZkwsWLDgQ407b968OPnkk+Ooo46KT33qUx+6Hs0IAADk\nsfqlh0UfNTJx4sSYOHFiZOsZc+HChXHcccfFE088ESeddFKMHj06pk6dGieccEK88847ERHxrW99\nK/bcc8/Yc8894+STT17zvc8//3wcffTR0b9//xg7duxHqsk0LQAAKLGVK1fGpZdeGhMmTNjg11x1\n1VUxZ86cmDx5cuy4444REbHHHnvE6NGjY9KkSTFy5MgYN25cjBs3bq3ve+yxx+LUU0+Nk08+Ob70\npS995Npq1oxMnTq1VkMBAMDHQD323q1u/Kamphg5cmQ899xzMWLEiHjwwQfX+3VTpkyJAQMGrGlE\nIiL22Wef6N69e0yZMiVGjhy5zve8/vrrccopp8TZZ58dRxxxRK76TNMCAICSampqirfeeit+8pOf\nxPjx46NVq1brfM3ixYtj9uzZ0bt373Wu7brrrjFjxoz1jj1x4sR444034vzzz18zfWvPPfeMSZMm\nfej6TNMCAIA8arymY4P3qEKHDh3i7rvvft9XcMyZMyciIrbeeut1rnXp0iXefPPNWLJkSbRv336t\na1/96lfjq1/9alX1SUYAAKCksiz7wHcBvvXWWxER0bZt23WubbzxxhER8fbbb9e+uJCMAABAPlnU\nIRkpdviIiObm5ndv9T7P8n7XqiEZAQCAFqxdu3YREbFs2bJ1rjU1NUVErDNFq1YkIwAAkMfHYM3I\nh9G1a9eIePfFhX9v7ty50alTp/VO4aoFyQgAALRgHTt2jO222269u2Y9/fTT0adPn8LurRkBAIAW\n7tBDD43p06fHiy++uObcgw8+GC+99FIcfvjhhd3XNC0AAMilDtO06rGCPSJOPPHEuPXWW+P444+P\nE044IZYtWxZXXHFF9OnTJ4YNG1bYfSUjAADQwm2++eZxzTXXRK9eveKiiy6Kq6++OgYPHhyXX355\ntG7durD7SkYAAKCFmDp16gavde/ePS677LI6ViMZAQAAEpGMAABAHiXZ2jclyQgAAJCEZAQAAPKQ\njFRNMgIAACQhGQEAgDyyKP41IOUORiQjAABAGpIRAADIreTRRcEkIwAAQBKaEQAAIImGmqZ1x9LF\nqUtIqldsnLqE5P43lqYuIan/nPW11CUkd/X2l6cuIaml0Zy6hOT+ude2qUtIauMOPie8dOl5qUtI\n6rVh16cugQ/L1r5V8388AAAgiYZKRgAA4GOl3MFF4SQjAABAEpIRAADIIfvbj6LvUWaSEQAAIAnJ\nCAAA5GE3rapJRgAAgCQkIwAAkIdkpGqSEQAAIAnJCAAA5JFF8e8ZKXcwIhkBAADS0IwAAABJmKYF\nAAC5lXweVcEkIwAAQBKSEQAAyMPWvlWTjAAAAElIRgAAIK9yBxeFk4wAAABJSEYAACAXbz2slmQE\nAABIQjICAAB52E2rapIRAAAgiZo0I7fffnt87nOfiz322COGDRsWv//972PUqFFxzjnn1GJ4AABo\nPFmdjhKruhm5+eab41//9V9jk002iW984xux5557xmmnnRYvv/xyLeoDAABKqqo1IytXrowLL7ww\nevToEddcc01stNG7w+2www5xwQUX1KRAAACgnKpKRp588slYsGBBfP7zn1/TiEREjBo1Ktq1a1d1\ncQAA0LBWL2Av+iixqpqR1157LSIitt9++7XOt2nTJrbddttqhgYAAEquJlv7rlq1ap1zbdq0qcXQ\nAADQwMqdXBStqmSkW7duERExc+bMtc6vWrUqZs+eXc3QAABAyVXVjOy6666x/fbbx69+9atYtmzZ\nmvOTJ0+OxYsXV10cAAA0LFv7Vq2qaVpZlsW3v/3t+PKXvxxHH310HHHEEfH666/H9ddfv9aCdgAA\ngL9X9XtGBg0aFFdccUW0bds2LrzwwrjvvvviggsuiM6dO9eiPgAAaFD12Emr3NFITeKLgQMHxg03\n3LDWufPOO68WQwMAACVlLhUAAORRj/eAeM9IPs3NzUUNDQAAlEBhzUhW8i4OAACoTmHTtKZNm1bU\n0AAAQAkUlowAAAC8HwvYAQAghyzLCl+aUPalD5IRAAAgCckIAADkYWvfqklGAACAJCQjAACQW7mT\ni6JJRgAAgCQkIwAAkEcWxQcjJQ9eJCMAAEASkhEAAMilDrtplTwakYwAAABJSEYAACAP7xmpmmQE\nAABIQjMCAAAkoRkBAACS0IwAAABJWMAOAAA5/OGPfyx8gfmfnn2u0PFTy5qbm5tTFwEAAB8Xjzzy\nSAwYMKCu93zuueeiR48edb1nPWhGAADgI3rkkUdio43qM8moQ4cOpWxEIjQjAABAIhawAwAASWhG\nAACAJDQjAABAEpoRAAAgCc0IAACQhGYEAABIQjMCAAAkoRkBAACS0IwAAABJaEYAAIAkNCMAAEAS\nG6UuoJE89NBDcfzxx0enTp1i2rRp0bp169QlFerss8+OSZMmrXWudevW0aVLlzjooIPi9NNPj44d\nOyaqrr6WLFkSN954Y9x2223xyiuvxMqVK2OnnXaKkSNHxsiRIyPLstQlFmJDvwe22GKL6N+/f5x8\n8smx0047JaquPtb3c/D3Dj744JgwYUKdKqq/n/70px/4fJMmTYpevXrVqaL6W7VqVdx5551x8803\nxwsvvBDz58+Pzp07x9577x3HH3989O3bN3WJhVn963/11VdHv3791rk+e/bsOOSQQ2LEiBExfvz4\nBBXW3y233BLnnntujB8/PkaMGJG6nGRa4q899acZeY/JkyfHJptsEosXL46pU6fGP/7jP6YuqS7O\nPffc2GyzzSIiYtmyZfHnP/85brjhhnjyySfj+uuvj0ql3AHaiy++GF/5ylfi1VdfjWHDhsVRRx0V\ny5cvj3vuuSe+9a1vxaOPPhoXXHBB6jIL9d7fA2+//Xa8/PLLcdNNN8Vdd90Vl19+efTv3z9xhcV7\n78/B3/vEJz5R52rS+PKXvxyf+tSn1nuta9euda6mft588834+te/HtOmTYv+/fvHF7/4xejcuXO8\n+uqrMWnSpPjCF74QY8eOjWOPPTZ1qdRZWT+IgkaiGfmb5cuXx9133x3Dhw+P2267LX7961+3mGbk\nkEMOWecfGp/85CfjvPPOi/vvvz8OPPDANIXVQVNTU5xyyimxePHiuOWWW6Jnz55rrh1//PExbty4\nuO6662L33XePUaNGJay0WOv7PTBq1Kg48sgj42tf+1rcc8890a5du0TV1cf6fg5ams985jPr/WS8\n7L797W/HAw88EN///vdj+PDha137l3/5l/jyl78c48ePj8985jPxyU9+Mk2RACVV7o+8P4L77rsv\n3njjjRg4cGAMGjQopk2bFn/9619Tl5XM6k/C//znPyeupFjXXXddvPTSS3HOOees1YisNmbMmOjU\nqVPccMMNCapLa5tttokxY8bEggUL4uabb05dDhTi8ccfj9tvvz2GDx++TiMSEdGmTZv4zne+EytW\nrIhf//rXCSoEKDfNyN9Mnjw5KpVK9OvXLwYPHhwrVqyIW2+9NXVZybz++usREbHDDjskrqRYU6ZM\niU033TSGDBmy3usbb7xxTJw48QPXFJTVZz/72WjTpk1MmzYtdSlQiMmTJ0dExMknn7zBr9lhhx3i\nl7/8ZXzlK1+pV1kALYZpWvHu4uV77703+vbtG5tvvnnsv//+0aZNm5g0aVJ86UtfSl1e4RYvXhxt\n27aNiIh33nknXnjhhfjud78bvXv3joMOOihxdcVpbm6OP/3pT7H33ntHq1atNvh1ZW/I3k+bNm1i\n++23j2eeeSZ1KYV775+Dv9e5c+fSr52KiHjjjTdiwYIF65zv2LFjbLRROf+6eOSRR2KrrbaK7t27\nv+/XDRgwoE4VpbOhX/833ngjQTVAS1HOv10+orvuuiuWL18ehx56aEREtG/fPvbdd9+4995748kn\nn4zddtstcYXFWt9OIW3bto3//u//Lu0/QCIiFi5cGCtXrowuXbqkLqWhdezYMWbPnp26jMK93445\nZd9JarVTTz11vec3tMtSGbz++uvr3TFu2bJlsXTp0rXOtWrVKjp16lSv0upuQ7/+AEUq7780P4Lb\nbrstsiyLwYMHrzk3ePDguPfee+OWW24pfTPyox/9KLbYYouIeDcZefXVV+Paa6+NY489Ni677LLY\nZ599EldYjNWfdK9atSpxJY1txYoVLWJHmff+Ofh7LSUdO/vss2PnnXde5/z6zpVFc3NzNDc3r3P+\noosuil/84hdrnevatWtMnTq1XqXV3YZ+/f/617/GWWedlaAioCVo8c3I3Llz46GHHlqzQ8rqT4BX\n/w/59ttvj3POOSfatGmTqsTC7bXXXuvsInTYYYfFoYceGueff37cfvvtiSorVqdOnaJ169Yxf/78\n1KU0tEWLFsXmm2+euozCre/PQUvTu3fv0iYgG7LVVlutd7OSL3zhC7H//vuv+e/vf//7sWTJknqW\nVncb+vVvCckokE6Lb0Zuv/32aG5ujpkzZ8bBBx+8zvXFixfH7373uzjssMMSVJdO586do3///nHP\nPffEm2++GR06dEhdUs1lWRZ9+/aNp556KlauXLnBdSM//vGPY/bs2XHOOefElltuWecq01qyZEnM\nmjUr/uEf/iF1KVCIvfbaK37961/HK6+8slYC1q1bt+jWrdua/+7YsWPpmxFYtGhRdOjQYZ2/D8s8\nZZv0yr8i8wNMnjw5siyLH/7whzFhwoS1jtNOOy0iosVu57hq1arIsqzUU3QOPfTQWLp0aUyZMmW9\n15ctWxY33XRTTJ8+fYMvxCuzO++8MyJivY06lMGwYcMiIuKqq676wK9d33QuKIurr746Bg4cGK+8\n8sqac8uWLYuIKOUHkjSOFt3qzpw5M2bMmBEDBw5c8xfSex1wwAHxq1/9Kh588MGYO3dubLXVVgmq\nTOOvf/1rPPTQQ7HLLrtE+/btU5dTmKOPPjp+8YtfxA9/+MPYZZddokePHmuurVy5Mr7zne/E/Pnz\nY8yYMe+741YZzZ07Ny6++OLYZptt1vvnA8pgn332icMPPzyuv/766NGjRxxzzDHrfM1vfvObeOqp\np1rEdEVaru222y4iImbMmLFmd7mnn346ImK97+GCWmnRzchtt90WERFHHXXUeq9vtNFGceSRR8bP\nf/7zuPXWW+Okk06qZ3l1c/fdd0fnzp0j4t1P/l5//fW48cYbo6mpKb7+9a8nrq5Ybdq0iQkTJsQJ\nJ5wQRx11VAwdOjT69OkTixYtijvvvDOeeeaZOOyww2L06NGpSy3Ue38PNDU1xYsvvhiTJk2K5cuX\nxxVXXFHqNVOrvffnYH0+97nP1bEa6un888+PFStWxHnnnRc33XRTHHLIIbHlllvGnDlz4re//W08\n99xzseWWW8Y555yTulQozKBBg2K77baL7373uzFnzpxYuXJlXHnllbHVVluttcEP1FqLb0Y6duy4\nZkvf9Tn66KPj8ssvj0mTJpWuGVk9/Wr8+PFrzq3eunL33XeP8ePHt4i99XfZZZeYNGlS/PKXv4z7\n779/zTqinXfeOcaPH/++W75+3K3v90Dr1q1jm222iUMOOSROOumktebNl9H6fg7W9zVlbkbKPh3z\ng2y66aZx8cUXx7333hs333xzTJw4MebNmxcdOnSIXXbZJY455pg44ogjYuONN05daiFa+q//+rTE\nn5PWrVvHL37xixg/fnxcccUV8c4770T//v3jnHPOiU033TR1eZRY1mwSLAAAkECLX8AOAACkoRkB\nAACS0IwAAABJaEYAAIAkNCMAAEASmhEAACAJzQgAAJCEZgQAAEhCMwIAACShGQEAAJLQjAAAAElo\nRgAAgCT+H2tWwRhLSKluAAAAAElFTkSuQmCC\n", "text": [ "" ] } ], "prompt_number": 28 }, { "cell_type": "markdown", "metadata": {}, "source": [ "And now you can easily make beautiful heatmaps!" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Extras" ] }, { "cell_type": "code", "collapsed": false, "input": [ "import prettyplotlib as ppl\n", "import matplotlib.pyplot as plt\n", "import numpy as np\n", "import string\n", "\n", "np.random.seed(10)\n", "\n", "ppl.pcolormesh(-np.abs(np.random.randn(10,10)),\n", " xticklabels=string.uppercase[:10], \n", " yticklabels=string.lowercase[-10:])\n", "fig = plt.gcf()\n", "fig.savefig('pcolormesh_prettyplotlib_negative_labels.png')" ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "display_data", "png": "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\nRU5ErkJggg==\n", "text": [ "" ] } ], "prompt_number": 31 }, { "cell_type": "code", "collapsed": false, "input": [ "import prettyplotlib as ppl\n", "import matplotlib.pyplot as plt\n", "import numpy as np\n", "import string\n", "\n", "fig, ax = plt.subplots(1)\n", "\n", "np.random.seed(10)\n", "\n", "p = ax.pcolormesh(-np.abs(np.random.randn(10,10)))\n", "fig.colorbar(p)\n", "\n", "xticks = range(10)\n", "yticks = range(10)\n", "\n", "xticklabels=string.uppercase[:10]\n", "yticklabels=string.lowercase[-10:]\n", "\n", "ax.set_xticks(xticks)\n", "ax.set_xticklabels(xticklabels)\n", "\n", "ax.set_yticks(yticks)\n", "ax.set_yticklabels(yticklabels)\n", "\n", "fig.savefig('pcolormesh_matplotlib_negative_labels.png')" ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "display_data", "png": "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\n", "text": [ "" ] } ], "prompt_number": 30 }, { "cell_type": "code", "collapsed": false, "input": [], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 30 }, { "cell_type": "code", "collapsed": false, "input": [], "language": "python", "metadata": {}, "outputs": [] } ], "metadata": {} } ] }