{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "[Sebastian Raschka](http://www.sebastianraschka.com)\n", "\n", "[back](https://github.com/rasbt/matplotlib-gallery) to the `matplotlib-gallery` at [https://github.com/rasbt/matplotlib-gallery](https://github.com/rasbt/matplotlib-gallery)" ] }, { "cell_type": "code", "execution_count": 1, "metadata": { "collapsed": false }, "outputs": [], "source": [ "%load_ext watermark" ] }, { "cell_type": "code", "execution_count": 2, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "last updated: 2016-03-12 \n", "\n", "CPython 3.5.1\n", "IPython 4.0.3\n", "\n", "matplotlib 1.5.1\n", "numpy 1.10.4\n" ] } ], "source": [ "%watermark -u -v -d -p matplotlib,numpy" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "[More info](http://nbviewer.ipython.org/github/rasbt/watermark) about the `%watermark` extension" ] }, { "cell_type": "code", "execution_count": 3, "metadata": { "collapsed": false }, "outputs": [], "source": [ "%matplotlib inline" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "
\n", "
" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# Bar plots in Matplotlib" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# Sections" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "- [Bar plot with error bars](#Bar-plot-with-error-bars)\n", "- [Horizontal bar plot with error bars](#Horizontal-bar-plot-with-error-bars)\n", "- [Back-to-back bar plot](#Back-to-back-bar-plot)\n", "- [Grouped bar plot](#Grouped-bar-plot)\n", "- [Stacked bar plot](#Stacked-bar-plot)\n", "- [Bar plot with plot labels/text 1](#Bar-plot-with-plot-labels/text-1)\n", "- [Bar plot with plot labels/text 2](#Bar-plot-with-plot-labels/text-2)\n", "- [Barplot with auto-rotated labels and text](#Barplot-with-auto-rotated-labels-and-text)\n", "- [Bar plot with color gradients](#Bar-plot-with-color-gradients)\n", "- [Bar plot pattern fill](#Bar-plot-pattern-fill)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "
\n", "
" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# Bar plot with error bars" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "[[back to top](#Sections)]" ] }, { "cell_type": "code", "execution_count": 6, "metadata": { "collapsed": false }, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "import matplotlib.pyplot as plt\n", "\n", "# input data\n", "mean_values = [1, 2, 3]\n", "variance = [0.2, 0.4, 0.5]\n", "bar_labels = ['bar 1', 'bar 2', 'bar 3']\n", "\n", "# plot bars\n", "x_pos = list(range(len(bar_labels)))\n", "plt.bar(x_pos, mean_values, yerr=variance, align='center', alpha=0.5)\n", "\n", "plt.grid()\n", "\n", "# set height of the y-axis\n", "max_y = max(zip(mean_values, variance)) # returns a tuple, here: (3, 5)\n", "plt.ylim([0, (max_y[0] + max_y[1]) * 1.1])\n", "\n", "# set axes labels and title\n", "plt.ylabel('variable y')\n", "plt.xticks(x_pos, bar_labels)\n", "plt.title('Bar plot with error bars')\n", "\n", "plt.show()\n", "#plt.savefig('./my_plot.png')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "
\n", "
" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# Horizontal bar plot with error bars" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "[[back to top](#Sections)]" ] }, { "cell_type": "code", "execution_count": 20, "metadata": { "collapsed": false }, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAfEAAAGJCAYAAACaQwrRAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzt3X+03HV95/FnJPwIRJA2RUFCrosSoYuRH+IvlAHOaUVB\nd1s9rdqtLB7F1Rb2SJUVyibVg62uFW1RG6AkVigCtVph1V2lDHCUHyZAENAgSK78CgWEBFGqC3f/\n+HwmM5ncuTNzc+f7nc/n83ycc0++M/O93/m85nMz7/l+39+ZAUmSJEmSJEmSJEmSJEmSJEmSJEmS\nJAGrgY9VfJ8fAc6f4fYTgeuqGcp2OZG5HecK4EtDrP8s8B+28z73A54E5s3y9/vNpTSnnlP3AKQu\nG4BfEJ5IfwZcCexb4f1PxZ9BzEXRAPhL4D1xeSJudxT/N1cwXFGs26DzMJd+Cjx3wPtuAPd1Xdc5\nl9LIWcQ1bqaA4wlPpHsDDwN/O8ttzZ/l7w2zFzbbPba6tjuudqh7AFKKLOIaZ/8OfAU4qOO6NwG3\nAJsIe03LO26bIOzFngRMAt+ZZpsN4H7CYc9HgHuBd8wwhvcAPwYeA/6F8MIC4Nr47zrCUYO3TfO7\nk8ChcfmdcWwHxsvvBr4al1fQ3kNubfcJYDPwKtp7hf+LcHTiJ8AbZhjz6YSMm4EfAcfE9T8C/EEc\n7y1x3f8K3BnXvQd4b8d2GnE7HyS8mHqQcMi85TeBrxPm4kZg/65xfJYwR5uANcCRHbetAP4p5t4E\nvAt4EXBNHMv/BRbNkBHgQ3FM9xPmvNPOwKcIc7AR+AKwS7zth4S/o5b5hL+Fl7PtkZBej89uwDeB\nfQiP52bC38YKtj7a8WbgDuBx4GrgpR23bQBOI/wNPQF8OY5bkpJ1L3BsXN4V+CKhT91yFPDbcflg\nwhP0W+LlCcIT8GpgAdM/ITaAXxOe4HcEXg/8HHhJvH0V7Z74MbSf3HcC/oZQZFr6HU7/IqEAApxH\neDHwvnj5H4BT4/IK2k/8S9j2cPqJwK8IhX9e3MYDPe5zKaFwviBe3q9jjMvj/XZ6I6F4QngsngIO\niZcbhMdqBWFP+bh4+x7x9i/HnwWEObmf9osQCC9c9oxZPgg8RHgcW5l/RShyEArs9bTn5XWEwtg9\n3pY3EOb+IMLfyT+y9XycA3wNeB6wkPBi4+PxtrOAizq29SZCoYVti/hMj89RbHs4fTntuTyA8Ld1\nLOHx+xDhb6B1hOhe4AbCXO1JeLFwco+8kpSEDYQ9m8cJT/L3A/9xhvU/A3w6Lk8QnoAnZli/QShM\nCzquuxT487i8CvhoXP574K861tstjmm/eLlfET+JsPcO4Qn6JOCSeHkD4cUBbF3EWxm6i/iPOy7v\nGtfZa5r7fDFhr/lYQjHs1Hk/vXwVOCUuNwjnJ3SO5WHgCEJR+hWhULWczcwntv2M8MKrNZZmx237\nse28XDzDeC+kXZQhvAhrzcc8QvHsnJtXE45gQHiMNtPeM7+Y9vxPMPM5Cd2PT3cRX9Ex5rMIL3Ja\n5hH+nl8fL3cfBfoE4YiBNDAPp2vcTBH2rPck7En/KWHv9/nx9lcSDkv+G+EQ5MmEw7qdup9Yuz0O\n/LLj8iTtw+Sd9o63tTxFOKz+wn4homsJe5QvIBS9y4HXEva29wBuHXA7EPY6W34R/104zXp3A/+d\nUEweJrxomC5by3GEvcHHCI/LG9n68XyMUNQ673sh8FuEPcrOx/qnXdv+M8KLlyfitvdg60Pk93cs\n78P089LL3jPc928RXuisjdt8nHDou3XfdxMOqb85rncCYU9+Ov0en5ns0zWuqTjmzr+fznn9JdPP\nqdSTRVzjbIqw5/MMofhBeLL9GuGM9ecBf8e2f8f9zizek/Dk3bKE0Fvt9iBb79XvRngC73Uou9vd\nhKLXeiHyJOFJ+71svcc61WN5ti4hvHhYErf3iR7b3plwzsEnCXv1ewLfYLCT6h4B/h/toxJ0Lb+O\ncPj4bYR52pPQ++7cdud4HmL6een1eDw0w30/SiiIB8Vt7hnHsHvHOpcAbye8YLyT9l56p36PT7+5\neiBmaJkHLKb3308dZ+MrcRZxjaN5Hf+29sp/GK9bSPtQ+xGEw5GzefL7C9q91zcR9pJb99m6/0sI\nJzYtIzyhf5ywV9bau3qYbU/m6nYN8Ce0e+nNrsut+2x5hLDn22+7vRxA6OXvTDgx8GnCiyAILyAm\nOu5vp/jzaLzP44DfGfB+ngH+mbDHv4BQMN9Fey6eSyjyj8b7+J9sXUS7TRJOfmvNy5GEdyn0chmh\nzXAgofB3nuD4LOG92p8h7JVD2PvtzPZl4HcJ5xdc3OM++j0+DxNe1PXKdTnhb+uYmOk0wnx8r8f6\npb0jQXPAIq5xdAVhr3UT4SSzP6ZdxN9P6FlvJvQcL+363UEK+kbCC4EHCf3Lk4G7On6/tY2r4n18\nJa77IuAPO7azgnDy2uPAW3vc1zWEFx7X9rjcfZ+/IPSWv0voIb+S6d+73ivnzoT3Kj9C2FtdRDgr\nHdovVB4jFMwnCf3dy+J9vZ12D7/f/UB4MbKQ8HheGH9avhV/7iL0/3/JtoeWu7f9DkLenxGK/hdn\nuO9vEYr0v8b7uKpre6cTjoTcQPg7+jZb9+83Eorpq+n9N9Tv8fkR4YXeT+Lte3flWg/8EeEtko8Q\nCvoJhBc30xnmMwokqUgN+vfMJSkJ7olLkpQoi7hK5CFLSZIkSZIkSUMau7c0LFu2bGrdunV1D0OS\npCqto/0pjgMbu574unXrmJqayvZn+fLltY/BfOYrMV/O2cyX/g/h8yiGNnZFPHcbNmyoewgjZb60\n5Zwv52xgvlJZxCVJSpRFvGInnnhi3UMYKfOlLed8OWcD85Vq7E5sA6Zif0CSpCLMmzcPZlGT3ROv\nWLPZrHsII2W+tOWcL+dsYL5SWcQlSUqUh9MlSaqZh9MlSSqMRbxiufd1zJe2nPPlnA3MVyqLuCRJ\nibInLklSzeyJS5JUGIt4xXLv65gvbTnnyzkbmK9UFnFJkhJlT1ySpJrZE5ckqTAW8Yrl3tcxX9py\nzpdzNjBfqSzikiQlyp64JEk1sycuSVJhLOIVy72vY7605Zwv52xgvlJZxCVJSpQ9cUmSamZPXJKk\nwljEK5Z7X8d8acs5X87ZwHylsohLkpQoe+KSJNXMnrgkSYWxiFcs976O+dKWc76cs4H5SmURlyQp\nUfbEJUmqmT1xSZIKYxGvWO59HfOlLed8OWcD85XKIi5JUqLsiUuSVDN74pIkFcYiXrHc+zrmS1vO\n+XLOBuYrlUVckqRE2ROXJKlm9sQlSSqMRbxiufd1zJe2nPPlnA3MVyqLuCRJibInLklSzeyJS5JU\nGIt4xXLv65gvbTnnyzkbmK9UFnFJkhJlT1ySpJrZE5ckqTAW8Yrl3tcxX9pyzpdzNjBfqSzikiQl\nyp64JEk1sycuSVJhLOIVy72vY7605Zwv52xgvlJZxCVJSpQ9cUmSamZPXJKkwljEK5Z7X8d8acs5\nX87ZwHylsohLkpQoe+KSJNXMnrgkSYWxiFcs976O+dKWc76cs4H5SmURlyQpUfbEJUmqmT1xSZIK\nYxGvWO59HfOlLed8OWcD85XKIi5JUqLsiUuSVDN74pIkFcYiXrHc+zrmS1vO+XLOBuYrlUVckqRE\n2ROXJKlm9sQlSSqMRbxiufd1zJe2nPPlnA3MVyqLuCRJibInLklSzeyJS5JUGIt4xXLv65gvbTnn\nyzkbmK9UFnFJkhJlT1ySpJrZE5ckqTDz6x7AdM785Jl1D2FkJu+ZZMn+S+oexsiYL20558s5G8Cm\njZs499Pn1j2MkWk2mzQajbqHMXbGsogvOTbf/2hP7/E0Sw43X6rMl66cswFce961dQ9BNRjLnvjK\nNSvrHoMkJWXyqknO/vDZdQ9Ds2RPXJKkwljEK7Z+zfq6hzBS5ktbzvlyzgah558z3yc+PYu4JEmJ\nsicuSRmwJ542e+KSJBXGIl6x3Pty5ktbzvlyzgb2xEtlEZckKVH2xCUpA/bE02ZPXJKkwljEK5Z7\nX858acs5X87ZwJ54qSzikiQlyp64JGXAnnja7IlLklQYi3jFcu/LmS9tOefLORvYEy+VRVySpETZ\nE5ekDNgTT5s9cUmSCmMRr1jufTnzpS3nfDlnA3vipbKIS5KUKHvikpQBe+JpsycuSVJhLOIVy70v\nZ7605Zwv52xgT7xU/Yr4BPCDOby/twDrgFuAtcAxc7htSZKK0u/4+wRwBXDwLLe/A/BMx+XdgKfi\n8sHAV4EXd/2OPXFJGpI98bSNsic+H7gIuBO4HFgQrz8LuImwp95ZdZvAOcD3gVO6tvVUx/JC4NFh\nByxJs7F+zd51D0HbwaPp0xukiC8FPgccBGwG3h+vPxc4grBHvQA4Pl4/BewIvIJQzLv9J+CHwDfZ\ntshnL/e+nPnSlnO+713xYN1DGKnce+KrVzfrHsJYGqSI3wdcH5cvAo6My8cANwC3xeWDOn7n0hm2\n9zXgQOAE4EvDDFaSJLXNH2CdqY7lefHyzsDngUOBB4DlwC4d63UeNu/lunj/vwk81nnDquWrWLTP\nIgAWLFzA4qWLWXr4UqC9p5Dq5dZ14zIe85mvlHyPPXQCJx9+V0zZiP82M7r8Xi4+b5zGM7eXjzqq\nseUM9UYj3J7y5WazyerVqwGYmJhgtgY5se0nwGsIe90XAHcAFwLr4+3z422XAR8FrgZOA26eZnv7\nx+1NEV4AXB6v6+SJbZLm3BUrD+OEk9fWPYyRyf3EthUrwk+uRnVi2xShWH+AcGLbHsAXgE3A+cDt\nwLeAGwe8v98nnAh3C/BZ4A+HHXDqcu45gvlSl3O+Rx9cU/cQRir3nviGDc26hzCW+h1OnyT0r6dz\nVvzpdvQM2/tk/JGkSi0+4DFgUd3D0Cy9/OV1j2A8+dnpkpSB3A+n587PTpckqTAW8Yrl3HME86Uu\n53w5Z4P8e+J+dvr0LOKSJCXKnrgkZcCeeNrsiUuSVBiLeMVy78uZL20558s5G9gTL5VFXJKkRNkT\nl6QM2BNPmz1xSZIKYxGvWO59OfOlLed8OWcDe+KlsohLkpQoe+KSlAF74mmzJy5JUmEs4hXLvS9n\nvrTlnC/nbGBPvFQWcUmSEmVPXJIyYE88bfbEJUkqjEW8Yrn35cyXtpzz5ZwN7ImXyiIuSVKi7IlL\nUgbsiafNnrgkSYWxiFcs976c+dKWc76cs4E98VJZxCVJSpQ9cUnKgD3xtM22Jz5/7oey/Savyvuw\nkCTNtb1236vuIagGY7knPjU1VfcYRqbZbNJoNOoexsiYL20558s5G5gvdZ6dLklSYdwTlySpZu6J\nS5JUGIt4xXJ/r6P50pZzvpyzgflKZRGXJClR9sQlSaqZPXFJkgpjEa9Y7n0d86Ut53w5ZwPzlcoi\nLklSouyJS5JUM3vikiQVxiJesdz7OuZLW875cs4G5iuVRVySpESNZU/8jE+cUfcYpCLttftenPq+\nU+sehlScrL5PfMmxS+oeglSkyasm6x6CpCF4OL1i69esr3sII2W+tE3ek28Rz72nar4yWcQlSUrU\nWPbEV65ZWfcYpCJNXjXJ2R8+u+5hSMXxfeKSJBXGIl6x3Huq5kubPfF0ma9MFnFJkhJlT1zSFvbE\npXrYE5ckqTAW8Yrl3lM1X9rsiafLfGWyiEuSlCh74pK2sCcu1cOeuCRJhbGIVyz3nqr50mZPPF3m\nK5NFXJKkRNkTl7SFPXGpHvbEJUkqjEW8Yrn3VM2XNnvi6TJfmSzikiQlyp64pC3siUv1sCcuSVJh\nLOIVy72nar602RNPl/nKZBGXJClR9sQlbWFPXKrHqHriE8APZjGeXt4JrANuA74LvGwOty1JUlFG\nfTh9h67LPwFeTyjeHwPOG/H9j53ce6rmS5s98XSZr0yDFPH5wEXAncDlwIJ4/VnATYQ99c7j303g\nHOD7wCld27oe2BSXbwT2nc2gpRSsX7N33UPIns/rKt0gRXwp8DngIGAz8P54/bnAEcDBhMJ+fLx+\nCtgReAWhmPfybuAbww85bUsPX1r3EEbKfG13rd1nhCMZjSX7L6l7CEMZpog3Go1RDWMsmK9MgxTx\n+wh70BD2yI+My8cANxD628cQinzLpX22eTRwEnD6wCOVJElbmT/AOlMdy/Pi5Z2BzwOHAg8Ay4Fd\nOtZ7aobtvQw4H3gD8Ph0K6xavopF+ywCYMHCBSxeunjLHlCrJ5nq5e9c/J2s8piv9/rr1+7NlYcf\nQNCI/zbH/PJn+PjpzTEaz8yXly1r0mi099JafdPpLnf2VAdZP7XL5kvrcrPZZPXq1QBMTEwwW/1O\nZ58gnIz2GsJe9wXAHcCFwPp4+/x422XAR4GrgdOAm6fZ3n7AvwJ/FH9nOlm/xWz9mvVZH3I2X9sV\nKw/jhJPXjnhEc+va867lopUX1T2Mga1YEX4G0Ww2sz4ka760zfYtZv32xKcIxfoDhMJ9B/AF4GnC\n3vTtwEbCSWqDOAvYM24D4NeEvnoxci5wYL7UpdYTH0bOBQDMV6p+RXwSOLDHbWfFn25Hz7C998Qf\nKXsHHPZg3UPIns/rKp0fu1qx3N9nbL62pYc/NMKRjEZq7xMfpojn/j5j85XJIi5JUqL87HRJW/jZ\n6VI9/D5xSZIKYxGvmD3jtOWeL7We+DBy76mar0wWcUmSEmVPXNIW9sSletgTlySpMBbxiuXeUzVf\n2uyJp8t8ZbKIS5KUKHvikrawJy7Vw564JEmFsYhXLPeeqvnSZk88XeYrk0VckqRE2ROXtIU9cake\n9sQlSSqMRbxiufdUzZc2e+LpMl+ZLOKSJCXKnrikLeyJS/WwJy5JUmEs4hXLvadqvrTZE0+X+cpk\nEZckKVH2xCVtYU9cqoc9cUmSCmMRr1juPVXzpc2eeLrMVyaLuCRJiRrLnvgZnzij7jFIRdpr9704\n9X2n1j0MqTiz7YmPZRGfmpqqewySJFXGE9sSkXtfx3xpyzlfztnAfKWyiEuSlCgPp0uSVDMPp0uS\nVBiLeMVy7+uYL20558s5G5ivVBZxSZISZU9ckqSa2ROXJKkwFvGK5d7XMV/acs6XczYwX6ks4pIk\nJcqeuCRJNbMnLklSYSziFcu9r2O+tOWcL+dsYL5Sza97ANM585Nn1j2EkZm8Z5Jv3/TtuocxMps2\nbqLRaNQ9DEkqwlj2xFeuWVn3GDRLk1dNcvaHz657GJKUFHvikiQVxiJesfVr1tc9hJGavGey7iGM\nVO59uZzz5ZwNzFcqi7gkSYmyJ645ZU9ckoZnT1ySpMJYxCtmTzxtufflcs6XczYwX6ks4pIkJcqe\nuOaUPXFJGp49cUmSCmMRr5g98bTl3pfLOV/O2cB8pbKIS5KUKHvimlP2xCVpePbEJUkqjEW8YvbE\n05Z7Xy7nfDlnA/OVyiIuSVKi7IlrTtkTl6Th2ROXJKkwFvGK2RNPW+59uZzz5ZwNzFcqi7gkSYmy\nJ645ZU9ckoZnT1ySpMJYxCtmTzxtufflcs6XczYwX6ks4pIkJarf8fcJ4Arg4Dm6v5cCq4BDgDOB\nv55mHXviCbMnLknDG9ee+A5dlx8D/hT41IjvV32sX7N33UMYikfSJGlbgxTx+cBFwJ3A5cCCeP1Z\nwE3AD4DOXecmcA7wfeCUrm09AqwBfj3rESduXHrid63dZyTbHVVPfFyKeO59uZzz5ZwNzFeqQYr4\nUuBzwEHAZuD98fpzgSMIh9oXAMfH66eAHYFXEIq5JEkagfkDrHMfcH1cvoiwd/3XwDHAh4Bdgd8A\nbgeujOtduj2DWrV8FYv2WQTAgoULWLx0MUsPXwq092RTvdy6ru7xrF97PFce/l7CgROARvx3ey8f\nwMXnNedwe+HyUUeFy61X441GPZdb19V1/+ab/eVGozFW4zFf2fmazSarV68GYGJigtka5MS2ZvwX\nQuH+E+DtwE+BQ4EHgOWEPfCPAlcDpwE3z7Dd5cDP8cS22lyx8jBOOHntnG93VCe2rVgRfiQpR6M8\nsW0/4FVx+R3AdcAuhKL9GLAQeNuQ9zuOnxRXiXHpiY+K7xNPW875cs4G5itVv8PpU8B64APAhcAd\nwBeAp4HzCYfQNwI3Dnh/LyCc8LY78CxwKqHX/vNhB67tc8BhD9Y9hKF0HO2VJEXjuEfs4fSE+T5x\nSRreuL5PXJIkjYhFvGL2xNOWe18u53w5ZwPzlcoiLklSouyJa07ZE5ek4dkTlySpMBbxitkTT1vu\nfbmc8+WcDcxXKou4JEmJsieuOWVPXJKGZ09ckqTCWMQrZk88bbn35XLOl3M2MF+pLOKSJCXKnrjm\nlD1xSRqePXFJkgpjEa+YPfG05d6XyzlfztnAfKWyiEuSlCh74ppT9sQlaXj2xCVJKoxFvGL2xNOW\ne18u53w5ZwPzlcoiLklSouyJa07ZE5ek4dkTlySpMBbxitkTT1vufbmc8+WcDcxXKou4JEmJsieu\nOWVPXJKGZ09ckqTCzK97ANOZvCrfvurkPZMs2X9J3cMYmU0bN9U9hJFqNps0Go26hzEyOefLORuY\nr1RjWcRzPhyb+x+iJ59IUnXGsic+NTVV9xgkSaqMPXFJkgpjEa9Y7oebzZe2nPPlnA3MVyqLuCRJ\nibInLklSzeyJS5JUGIt4xXLv65gvbTnnyzkbmK9UFnFJkhJlT1ySpJrZE5ckqTAW8Yrl3tcxX9py\nzpdzNjBfqSzikiQlyp64JEk1sycuSVJhLOIVy72vY7605Zwv52xgvlJZxCVJSpQ9cUmSamZPXJKk\nwljEK5Z7X8d8acs5X87ZwHylsohLkpQoe+KSJNXMnrgkSYWxiFcs976O+dKWc76cs4H5SmURlyQp\nUfbEJUmqmT1xSZIKYxGvWO59HfOlLed8OWcD85XKIi5JUqLsiUuSVDN74pIkFcYiXrHc+zrmS1vO\n+XLOBuYrlUVckqRE2ROXJKlm9sQlSSqMRbxiufd1zJe2nPPlnA3MVyqLuCRJibInLklSzeyJS5JU\nGIt4xXLv65gvbTnnyzkbmK9UFvGK3XrrrXUPYaTMl7ac8+WcDcxXKot4xZ544om6hzBS5ktbzvly\nzgbmK5VFXJKkRFnEK7Zhw4a6hzBS5ktbzvlyzgbmK9U4vsXsVmBZ3YOQJKlC64CX1z0ISZIkSZIk\nSZI0p94A/Aj4MXB6j3X+Jt6+DjikonHNlX75GsAm4Jb48+eVjWz7XQg8DPxghnVSnrt++RqkO3eL\ngauBO4DbgVN6rJfq/A2Sr0G687cLcCPh3KE7gb/ssV6q8zdIvgbpzh/ADoRxX9Hj9iTmbgfgbmAC\n2JEwYQd2rfNG4Btx+ZXADVUNbg4Mkq8BfL3SUc2d1xH+uHoVuZTnDvrna5Du3L2A9skzC4H15PV/\nb5B8DdKdP4Bd47/zCXNzZNftKc8f9M/XIO35+yBwMdNnGHru6nqL2RGEIrcB+DXwZeAtXeu8Gfhi\nXL4ReB7w/IrGt70GyQfj+e6AQVwHPD7D7SnPHfTPB+nO3UbCi0qAnwM/BPbpWifl+RskH6Q7fwC/\niP/uRNhh+FnX7SnPH/TPB+nO376EQn0B02cYeu7qKuIvBO7ruHx/vK7fOvuOeFxzZZB8U8BrCIdM\nvgEcVM3QKpHy3A0il7mbIBxxuLHr+lzmb4Lp86U+f88hvFB5mNA6uLPr9tTnr1++lOfvHOBDwLM9\nbh967uoq4oN+12j3K5VUvqN0kHHeTOjfLQP+FvjaSEdUvVTnbhA5zN1C4J+AUwl7rN1Sn7+Z8qU+\nf88SWgb7Aq8nHF7ulvL89cuX6vwdD/wboR8+05GEoeauriL+AGESWhYTXnHMtM6+8boUDJLvSdqH\njb5J6J3/xuiHVomU524Qqc/djsBXgIuY/gkw9fnrly/1+WvZBPxv4PCu61Ofv5Ze+VKdv9cQDpff\nC1wCHAP8Q9c6yczdfOAewuGuneh/YturSOvkjEHyPZ/2K64jCP3zlEww2Iltqc1dywS986U8d/MI\nTxznzLBOyvM3SL6U528RoU8KsAC4Fji2a52U52+QfCnPX8tRTH92elJzdxzhzNG7gY/E606OPy3n\nxtvXAYdWOrrt1y/fBwhvgbkV+B5hwlJxCfAg8CtC/+Yk8pq7fvlSnrsjCYcrb6X9Fp3jyGf+BsmX\n8vwdTDicfCtwG6G/CvnM3yD5Up6/lqNon52ey9xJkiRJkiRJkiRJkiRJkiRJkiRJkqq1Q90DkFSk\nowhfTNL9SYaShlDXx65KGh91vJg/mvAxlJIkJWMC+BGwivCJfhcDvwN8F7gLeEVcbzfgQsI3cN1M\n+Mzl1u9fC6yNP6+O1+8dr7+F8HGxr43Xd375x1vj/QKsBv6O8LGOnwL2J3wO9Zq4naUd630euJ7w\nUcINwlcl3tmxLWKG78UxXRbHD+EjMVfE62+L250AHiLshd/Ctt8X/RngrLj8u8A1SJI0BiYI3zH/\n24TPf14D/H287c3AV+Pyx4F3xuXnEQr+roTPk945Xv8S4Ptx+TTgjLj8HMK3eEH4soiW32frIv51\n2p9BfRXw4rj8yni5td4/doxvc9fYlxE+7/qaODaA02kX4XsJH5MJ8N+A8+PycuCDTG8B4WM1jya8\n4HlRj/Wk4s2vewBSge4F7ojLdwDficu3E4o8hD3bE4A/i5d3Jny70UbCZysvA54hFHKAmwh77jsS\nvrlrXZ8xTAGXx38XEvboL++4faeO9Vpf1HB7vP/OsU/EcR1E2BNv/W5rGeCf4783A7/XcX2vr2P8\nJfAe4DrCV4ne2yeLVCyLuFS9f+9YfpbwRSut5c7/k78H/Ljrd1cQDkX/F0Iv++l4/XXA6wjfWbwa\n+DTwJbb+LuIFbK31dY7PAZ4ADukx3s7xdY99PuHFxLeBd/T4/dbvPMPgzzkvAx4BXjjg+lKRPLFN\nGk//Bzil43KrwO5O2BsG+GPaJ6XtRyh6FxAOz7fWfxh4KeH/+n9m66Lespmwt/vWeHkeoYgOYorQ\nV38toa8OoR/+kp6/ETwJPLfHbUsIh9oPIXwD2REDjkUqjkVcql53IZ2aZvljhEPjtxEOY/9FvP7z\nwLsIX8PzjvdpAAAAdElEQVS4lPaJa0fH624G3gZ8Nl7/P4ArCSfOPTjD/b4TeHfcxu20T6TrNb5O\njwInEr7CdR3hUPrSadab6vj9KwgvKm6hfRIehBcQFxB6/BvjmC6gfXhfkiRJkiRJkiRJkiRJkiRJ\nkiRJkiRJkiRJkiSpWv8fXS6o794F/l0AAAAASUVORK5CYII=\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "from matplotlib import pyplot as plt\n", "import numpy as np\n", "\n", "# input data\n", "mean_values = [1, 2, 3]\n", "std_dev = [0.2, 0.4, 0.5]\n", "bar_labels = ['bar 1', 'bar 2', 'bar 3']\n", "\n", "fig = plt.figure(figsize=(8,6))\n", "\n", "# plot bars\n", "y_pos = np.arange(len(mean_values))\n", "y_pos = [x for x in y_pos]\n", "plt.yticks(y_pos, bar_labels, fontsize=10)\n", "plt.barh(y_pos, mean_values, xerr=std_dev, \n", " align='center', alpha=0.4, color='g')\n", "\n", "# annotation and labels\n", "plt.xlabel('measurement x')\n", "t = plt.title('Bar plot with standard deviation')\n", "plt.ylim([-1,len(mean_values)+0.5])\n", "plt.xlim([0, 4])\n", "plt.grid()\n", "\n", "plt.show()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "
\n", "
" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# Back-to-back bar plot" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "[[back to top](#Sections)]" ] }, { "cell_type": "code", "execution_count": 19, "metadata": { "collapsed": false }, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAewAAAGJCAYAAABIEwCJAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzt3XmUpHV97/F3yyCiozOTGFQUug2RERJl9CpuiA2cJLhn\nwXNduDrR43I1Qo7EGK+Xy0SPZjGKeFXCEhwiRhS3qMflApdyOAaBEWaQxZZtShBnWBwGREEv1P3j\n99R0TdPdVTN0PU9/v/V+ndNn6qmqfur77ep5vvU8n6e6QJIkSZIkSZIkSZIkSZIkSZIkSZIkqTFr\ngQ/U/JjvBU6b5/bVwIX1lPKQrGZh61wDfGYn7v8A8LsP8TH3Be4Gxnbx+/s9l9Iue1jTBUgzbAJ+\nSdlo/hz4BvCkGh+/U30NYiEGBMDfA2+uLk9U6x3G/8017NwAbNqgz8NC+gnw6AEfexK4acZ1vc+l\ntKAc2FpsOsDLKBvNJwBbgP+9i+tasovftzN7V7u6J9bUeher3ZouQFrsHNhazO4DvgQc2HPdS4HL\ngW2UvaETem6boOydvhFoA+fNss5J4GbKocvbgBuB185Tw5uBa4E7gP+gvIgAWFf9u5FyNOBVs3xv\nG3hmdfl1VW0HVMtvAr5SXV7D9J5vd713AncBz2V6b+/DlKMONwBHzlPzeyg93gX8CDi8uv97gf9a\n1Xt5dd+/AK6u7ns98Jae9UxW63kX5YXTLZTD3l2/DXyN8lxcDOw3o46TKM/RNmA9cEjPbWuAL1Z9\nbwPeADwZ+G5Vy/8BHjtPjwDvrmq6mfKc99oD+GfKc7AZOBl4RHXbNZTfo64llN+FVTz4CMdcP59H\nAd8C9qb8PO+i/G6sYcejGK8ArgK2AhcAT+25bRNwHOV36E7g7KpuSQrhRuCI6vIjgTMpuXLXi4Df\nry4/jbIxfmW1PEHZ2K4F9mT2jd8k8BvKxnx34FDgF8BTqts/zXSGfTjTG/KHAx+nDJSufofEz6QM\nO4BTKYP/bdXyvwHHVpfXML2RH+fBh8RXA7+mDPmxah0/neMxV1KG5OOr5X17ajyhetxeL6EMSig/\ni3uAZ1TLk5Sf1RrKHvCLq9uXVbefXX3tSXlObmb6BQeUFykrql7eBfyM8nPs9vxrykCDMkwvYvp5\neSFlCM6st+tIynN/IOX35N/Z8fk4EfgqsBxYSnlh8aHqtuOBs3rW9VLKUIUHD+z5fj4v4sGHxE9g\n+rncn/K7dQTl5/duyu9A98jPjcD3Kc/VCsoLg7fO0a8kLTqbKHssWykb9JuBP5jn/h8DPlpdnqBs\nbCfmuf8kZQjt2XPd54H/WV3+NPD+6vK/Av/Qc79HVTXtWy33G9hvpOyVQ9kYvxH4XLW8ifJCAHYc\n2N0eZg7sa3uWH1ndZ69ZHvP3KHvDR1AGX6/ex5nLV4BjqsuTlPMJemvZAhxMGUC/pgylrg8y/0ln\nP6e8yOrW0uq5bV8e/Lx8dp56z2B6AEN5wdV9PsYog7L3uXke5cgElJ/RXUzvcX+W6ed/gvnPIZj5\n85k5sNf01Hw85QVN1xjl9/nQannm0Z1/pBwJkGblIXEtNh3KHvMKyh7yOyl7tY+rbn8O5dDirZTD\niG+lHJrtNXMjOtNW4Fc9y22mD3X3ekJ1W9c9lEPjT+zXRGUdZU/x8ZQBdw7wAspe9DJgw4DrgbI3\n2fXL6t+ls9zvOuCvKINjC+UFwmy9db2Yspd3B+Xn8hJ2/HneQRlgvY+9FPgdyp5i78/6JzPW/deU\nFyp3Vutexo6HuW/uubw3sz8vc3nCPI/9O5QXNT+o1rmVcvi6+9jXUQ6Lv6K638spe+iz6ffzmc/e\nM+rqVDX3/v70Pq+/YvbnVAIc2FrcOpQ9mvspgw7KhvWrlDPHlwP/woN/j/ud4buCsqHuGqdkoTPd\nwo5764+ibKznOhw903WUAdd90XE3ZQP9FnbcE+3McXlXfY7yQmG8Wt8/zrHuPSjnCPwTZW99BfBN\nBjvh7Tbg/zF9tIEZl19IOQT8KsrztIKSVfeuu7eenzH78zLXz+Nn8zz27ZThd2C1zhVVDY/puc/n\ngNdQXhxezfTed69+P59+z9VPqx66xoB9mPv3p4mz4hWIA1uL0VjPv9297Wuq65Yyfbj8YMohxV3Z\n0P0d01npSyl7v93H7D7+5ygnHR1E2Xh/iLK31d1r2sKDT7Sa6bvAXzKdfbdmLHcfs+s2yh5tv/XO\nZX9K9r4H5aS9eykveKC8WJjoebyHV1+3V4/5YuCPBnyc+4EvU/bk96QMxzcw/Vw8mjLQb68e43+x\n48CcqU05Ma37vBxCebfAXL5AiQoOoAz53pMPH6C8F/pjlL1tKHu1vb2dDfwx5XyAz87xGP1+Plso\nL+Dm6uscyu/W4VVPx1Gej/+c4/6j9s4A7SQHthajr1P2RrdRTgB7PdMD++2UjPkuSkb4+RnfO8jw\n3kwZ+rdQ8sa3Aj/u+f7uOs6vHuNL1X2fDLy6Zz1rKCeWbQWOmuOxvkt5kbFujuWZj/lLShb8PUrm\n+xxmf2/4XH3uQXkv8G2UvdDHUs4Oh+kXJXdQhuPdlDz2C9VjvYbpzL3f40B54bGU8vM8o/rq+nb1\n9WNKXv8rHnx4eOa6X0vp9+eUAX/mPI/9bcpA/r/VY5w/Y33voRzh+D7l9+hcdszbN1MG5/OY+3eo\n38/nR5QXdTdUtz9hRl9TwNGUtyXeRhneL6e8kJnNzvwNAElKb5L+GbckLTruYUuSFIADW6PIw46S\nJEmSJEnSSFp0byM46KCDOhs3bmy6DEmS6rSR6b9+OKtFl2Fv3LiRTqeT9uuEE05ovAb7s79R7C9z\nb/YX/4vy9x7mtegGdnabNm1quoShsr/YMveXuTewv1HgwJYkKQAHds1Wr17ddAlDZX+xZe4vc29g\nf6Ng0Z10BnSq4/mSJI2EsbEx6DOT3cOuWavVarqEobK/2DL3l7k3sL9R4MCWJCkAD4lLktQwD4lL\nkpSEA7tm2XMY+4stc3+ZewP7GwUObEmSAjDDliSpYWbYkiQl4cCuWfYcxv5iy9xf5t7A/kaBA1uS\npADMsCVJapgZtiRJSTiwa5Y9h7G/2DL3l7k3sL9R4MCWJCkAM2xJkhpmhi1JUhIO7Jplz2HsL7bM\n/WXuDexvFDiwJUkKwAxbkqSGmWFLkpSEA7tm2XMY+4stc3+ZewP7GwUObEmSAjDDliSpYWbYkiQl\n4cCuWfYcxv5iy9xf5t7A/kaBA1uSpADMsCVJapgZtiRJSTiwa5Y9h7G/2DL3l7k3sL9R4MCWJCkA\nM2xJkhpmhi1JUhIO7Jplz2HsL7bM/WXuDexvFDiwJUkKwAxbkqSGmWFLkpSEA7tm2XMY+4stc3+Z\newP7GwUObEmSAjDDliSpYWbYkiQl4cCuWfYcxv5iy9xf5t7A/kaBA1uSpADMsCVJapgZtiRJSTiw\na5Y9h7G/2DL3l7k3sL9R4MCWJCkAM2xJkhpmhi1JUhIO7Jplz2HsL7bM/WXuDexvFDiwJUkKwAxb\nkqSGDZJhL6mnFHWddNKZ3HrrfU2XIc3qmmsv4oBn7d10GdKD7PWYvTj2bcc2XUajHNg1u/TSKzj0\n0I80XcbQTE21WLlysukyhiZ7f//xzbM58j3Pa7qMoZhaP8XKZ61suoyhyd7fulPXNV1C48ywJUkK\nwIFds/HxvK+AgdR7n5C/v2UrHtd0CUOTee8T8vc3vt940yU0zoEtSVIADuyatdtTTZcwVFNTraZL\nGKrs/W3buqXpEoZman3y/3vJ+2tf3266hMY5sCVJCsCBXTMz7Niy92eGHVf2/sywHdiSJIXgwK6Z\nGXZs2fszw44re39m2A5sSZJCcGDXzAw7tuz9mWHHlb0/M2wHtiRJITiwa2aGHVv2/syw48renxm2\nA1uSpBAc2DUzw44te39m2HFl788M24EtSVIIDuyamWHHlr0/M+y4svdnhu3AliQpBAd2zcywY8ve\nnxl2XNn7M8N2YEuSFIIDu2Zm2LFl788MO67s/ZlhO7AlSQrBgV0zM+zYsvdnhh1X9v7MsB3YkiSF\n4MCumRl2bNn7M8OOK3t/ZtgObEmSQnBg18wMO7bs/Zlhx5W9PzPs/gN7AvjhAj7eK4GNwOXAD4DD\nF3DdkiSlNew97N1mLJ8HHAQ8A1gNnDrkx190zLBjy96fGXZc2fszwx5sYC8BzgKuBs4B9qyuPx64\nhLIHfkrP/VvAicClwDEz1nVPz+WlwO07XbEkSSNokIG9EvgkcCBwF/D26vpPAAcDT6MM8ZdV13eA\n3YFnUwb3TH8CXAN8iwcP9PTMsGPL3p8ZdlzZ+zPDHmxg3wRcVF0+Czikunw48H3giurygT3f8/l5\n1vdV4ADg5cBndqZYSZJG1ZIB7tPpuTxWLe8BfAp4JvBT4ATgET336z30PZcLq8f/beCO3htWr17N\nxMQEAMuXL2fVqlVMTk4C0Gq1AMIuX3LJedx77/7b99S6mWiW5fPO+xj77LNq0dRjfzu3fMtPfsTU\n+r237611c9EMy70Z72Kox/52brl9fbvx7fdCLrdaLdauXQuwfd71M9bn9gngBuD5lL3p04GrgDOA\nqer2JdVtXwDeD1wAHAdcNsv69qvW16EM+3Oq63p1Op3OzO9L4+ijj+PQQz/SdBlDMzXVSn3YOHt/\nHz/5cI45/dVNlzEUU+unUh82zt7fulPXcdYpZzVdxtCMjY1Bn5ncbw+7QxnM76AM6auAk4F7gdOA\nK4HNwMUD1vTnwOuB3wC/AHJuGeZhhh1b9v7MsOPK3p8Zdv+B3abkzbM5vvqa6bB51vdP1ZckSdoJ\n/qWzmvk+7Niy9+f7sOPK3p/vw3ZgS5IUggO7ZmbYsWXvzww7ruz9mWE7sCVJCsGBXTMz7Niy92eG\nHVf2/sywHdiSJIXgwK6ZGXZs2fszw44re39m2A5sSZJCcGDXzAw7tuz9mWHHlb0/M2wHtiRJITiw\na2aGHVv2/syw48renxm2A1uSpBAc2DUzw44te39m2HFl788M24EtSVIIDuyamWHHlr0/M+y4svdn\nhu3AliQpBAd2zcywY8venxl2XNn7M8N2YEuSFIIDu2Zm2LFl788MO67s/ZlhO7AlSQrBgV0zM+zY\nsvdnhh1X9v7MsB3YkiSF4MCumRl2bNn7M8OOK3t/ZtgObEmSQnBg18wMO7bs/Zlhx5W9PzNsB7Yk\nSSE4sGtmhh1b9v7MsOPK3p8ZtgNbkqQQljRdwKjZtu0G2u1Tmy5jaNrtqdRHEbL397AHttI+P2dW\n2L6+nXovLXt/2zZva7qExjmwa3bUUUcyOTnZdBlD02q17C+wVmv/tP3lf+7y9zfqxpouYBadTqfT\ndA2SJNVmbGwM+sxkM2xJkgJwYNcs+2Ed+4stc3+ZewP7GwUObEmSAjDDliSpYWbYkiQl4cCuWfYc\nxv5iy9xf5t7A/kaBA1uSpADMsCVJapgZtiRJSTiwa5Y9h7G/2DL3l7k3sL9R4MCWJCkAM2xJkhpm\nhi1JUhIO7Jplz2HsL7bM/WXuDexvFPh52FpQX/zitzn33B83XcbQtNtTqftb970vc+hLzm26jKFo\nX9/m3Ety9gawbfO21J+HLQd27bL/h1q27HcZH39L02UMzfh40xUM1wMXXcD4ETmbzNpXV/v8dtMl\nDFX2becgPCQuSVIADuyaZc9h2u2ppksYqqmpVtMlDNW2rVuaLmFoptbn/t1sX597Dzv7tnMQDmxJ\nkgJwYNcsew4zPr6y6RKGauXKyaZLGKplKx7XdAlDs/JZuX83x/fLndFn33YOwoEtSVIADuyaZc9h\nzLBjM8OOyww7Pwe2JEkBOLBrlj2HMcOOzQw7LjPs/BzYkiQF4MCuWfYcxgw7NjPsuMyw83NgS5IU\ngAO7ZtlzGDPs2Myw4zLDzs+BLUlSAA7smmXPYcywYzPDjssMOz8HtiRJATiwa5Y9hzHDjs0MOy4z\n7Pwc2JIkBeDArln2HMYMOzYz7LjMsPNzYEuSFIADu2bZcxgz7NjMsOMyw87PgS1JUgAO7Jplz2HM\nsGMzw47LDDs/B7YkSQE4sGuWPYcxw47NDDsuM+z8HNiSJAXgwK5Z9hzGDDs2M+y4zLDz6zewJ4Af\nLuDjvQ7YCFwBfA94+gKuW5KktJYMef27Aff3LN8AHApsA44ETgWeO+QaFpXsOYwZdmxm2HGZYec3\nyCHxJcBZwNXAOcCe1fXHA5dQ9sBP6bl/CzgRuBQ4Zsa6LqIMa4CLgSftStGSJI2aQQb2SuCTwIHA\nXcDbq+s/ARwMPI0yxF9WXd8BdgeeTRncc3kT8M2dLzm27DmMGXZsZthxmWHnN8gh8Zsoe8ZQ9rSP\nAT4CHA68G3gk8FvAlcA3qvt9vs86DwPeCLxgthtXr17NxMQEAMuXL2fVqlXbD4d0n7Soyxs2bFhU\n9Sz08pYtNzE11dp+6Lg74LIs33TThkVVz0Iv33P3VqbWT20/fNwdci7HWG76/7/Lgy+3Wi3Wrl0L\nsH3e9TPW5/YJyiHu7toOB/4SeA3wE+CZwE+BEyh71u8HLgCOAy6bY51PB75MybCvm+X2TqfTGah4\nLT7ve9+pjI+/pekytIvOPPs1vOHDhzVdhnZB+/w2H/ybDzZdhnbR2NgY9JnJgxwS35fpE8NeC1wI\nPIIyoO8AlgKvGrCmfSnD+mhmH9aSJGkW/QZ2B5gC3kE56WwZcDLlxLHTKIfBv005gWwQxwMrqnVc\nTjlpbaRkz2HMsGMzw47LDDu/fhl2GzhgjtuOr75mmu942purL0mStBP8S2c1y/5eQt+HHZvvw47L\n92Hn58CWJCkAB3bNsucwZtixmWHHZYadnwNbkqQAHNg1y57DmGHHZoYdlxl2fg5sSZICcGDXLHsO\nY4Ydmxl2XGbY+TmwJUkKwIFds+w5jBl2bGbYcZlh5+fAliQpAAd2zbLnMGbYsZlhx2WGnZ8DW5Kk\nABzYNcuew5hhx2aGHZcZdn4ObEmSAnBg1yx7DmOGHZsZdlxm2Pk5sCVJCsCBXbPsOYwZdmxm2HGZ\nYefnwJYkKQAHds2y5zBm2LGZYcdlhp2fA1uSpAAc2DXLnsOYYcdmhh2XGXZ+DmxJkgJwYNcsew5j\nhh2bGXZcZtj5ObAlSQrAgV2z7DmMGXZsZthxmWHn58CWJCkAB3bNsucwZtixmWHHZYadnwNbkqQA\nxpouYBadTqfTdA3aRSeddCa33npf02VoF11z7UUc8Ky9my5Du2Cvx+zFsW87tukytIvGxsagz0x2\nYEuS1LBBBraHxGuWPYexv9gy95e5N7C/UeDAliQpAA+JS5LUMA+JS5KUhAO7ZtlzGPuLLXN/mXsD\n+xsFDmxJkgIww5YkqWFm2JIkJeHArln2HMb+YsvcX+bewP5GgQNbkqQAzLAlSWqYGbYkSUk4sGuW\nPYexv9gy95e5N7C/UeDAliQpADNsLSg/Dzu2zJ+H7edFazEbJMNeUk8pGhW33nof4+NvaboM7aLW\nRRdw5BHjTZcxFO3z202XID0kHhKvWfYcpt2earqEoZqaajVdwlBt27ql6RKGpn197oGdfduSvb9B\nOLAlSQrAgV2zycnJpksYqvHxlU2XMFQrV042XcJQLVvxuKZLGJrx/XIe6u/Kvm3J3t8gHNiSJAXg\nwK5Z9hzGDDs2M+y4sm9bsvc3CAe2JEkBOLBrlj2HMcOOzQw7ruzbluz9DcKBLUlSAA7smmXPYcyw\nYzPDjiv7tiV7f4NwYEuSFIADu2bZcxgz7NjMsOPKvm3J3t8gHNiSJAXgwK5Z9hzGDDs2M+y4sm9b\nsvc3CAe2JEkBOLBrlj2HMcOOzQw7ruzbluz9DcKBLUlSAA7smmXPYcywYzPDjiv7tiV7f4NwYEuS\nFIADu2bZcxgz7NjMsOPKvm3J3t8gHNiSJAXgwK5Z9hzGDDs2M+y4sm9bsvc3CAe2JEkBOLBrlj2H\nMcOOzQw7ruzbluz9DcKBLUlSAA7smmXPYcywYzPDjiv7tiV7f4NwYEuSFEC/gT0B/HABH++pwEXA\nvcBxC7jeMLLnMGbYsZlhx5V925K9v0EsGfL6dwPu71m+A3gn8CdDflxJklIZ5JD4EuAs4GrgHGDP\n6vrjgUsoe+Cn9Ny/BZwIXAocM2NdtwHrgd/scsXBZc9hzLBjM8OOK/u2JXt/gxhkYK8EPgkcCNwF\nvL26/hPAwcDTKEP8ZdX1HWB34NmUwS1Jkh6iQQb2TZTcGcqe9iHV5cOB7wNXVJcP7Pmezy9Ugdlk\nz2HMsGMzw44r+7Yle3+DGCTD7vRcHquW9wA+BTwT+ClwAvCInvvd81CKWr16NRMTEwAsX76cVatW\nbX+yuodFXF6cy+32FPfe29o+2LqHkF2Osbxt6xam1k+x8lnlhdfU+hJxZFlu+v+Hyy53l1utFmvX\nrgXYPu/6Getz+wRwA/B8yt706cBVwBnAVHX7kuq2LwDvBy6gnAF+2TzrXQPcDXxklts6nU5nlqtz\naLVa25+8jI4++jgOPXS2pzWHqalW6r3sj598OMec/uqmyxiKdaeu46xTzmq6jKHJvm3J3t/Y2Bj0\nmcn99rA7lMH8DsqQvgo4mfK2rNOAK4HNwMUD1vR4yslojwEeAI6lHEr/xYDfL0nSSOo3sNvAAXPc\ndnz1NdNh86xvM7DPAHWllfkVIphhR2eGHVf2bUv2/gbhXzqTJCkAB3bNuicdZOX7sGPzfdhxZd+2\nZO9vEA5sSZICcGDXLHsOY4Ydmxl2XNm3Ldn7G4QDW5KkABzYNcuew5hhx2aGHVf2bUv2/gbhwJYk\nKQAHds2y5zBm2LGZYceVfduSvb9BOLAlSQrAgV2z7DmMGXZsZthxZd+2ZO9vEA5sSZICcGDXLHsO\nY4Ydmxl2XNm3Ldn7G4QDW5KkABzYNcuew5hhx2aGHVf2bUv2/gbhwJYkKQAHds2y5zBm2LGZYceV\nfduSvb9BOLAlSQrAgV2z7DmMGXZsZthxZd+2ZO9vEA5sSZICcGDXLHsOY4Ydmxl2XNm3Ldn7G4QD\nW5KkABzYNcuew5hhx2aGHVf2bUv2/gbhwJYkKQAHds2y5zBm2LGZYceVfduSvb9BOLAlSQrAgV2z\n7DmMGXZsZthxZd+2ZO9vEA5sSZICcGDXLHsOY4Ydmxl2XNm3Ldn7G4QDW5KkAJY0XcCoabVaqV8p\nbtt2A+32qU2XMTTt9lTqowgPe2Ar7fNzZr3bNm9ruoShyr5tyd7fIBzYWlBHHXVk6v9U2Tcardb+\nafvzpCVFN9Z0AbPodDqdpmuQJKk2Y2Nj0Gcmm2FLkhSAA7tm2Q/L2V9smfvL3BvY3yhwYEuSFIAZ\ntiRJDTPDliQpCQd2zbLnMPYXW+b+MvcG9jcKHNiSJAVghi1JUsPMsCVJSsKBXbPsOYz9xZa5v8y9\ngf2NAge2JEkBmGFLktQwM2xJkpJwYNcsew5jf7Fl7i9zb2B/o8CBLUlSAGbYkiQ1zAxbkqQkHNg1\ny57D2F9smfvL3BvY3yhwYEuSFIAZtiRJDTPDliQpCQd2zbLnMPYXW+b+MvcG9jcKHNiSJAVghi1J\nUsPMsCVJSsKBXbPsOYz9xZa5v8y9gf2NAge2JEkBmGFLktQwM2xJkpJwYNcsew5jf7Fl7i9zb2B/\no8CBLUlSAGbYkiQ1zAxbkqQkHNg1y57D2F9smfvL3BvY3yhwYEuSFIAZtiRJDTPDliQpCQd2zbLn\nMPYXW+b+MvcG9jcKHNiSJAVghi1JUsPMsCVJSsKBXbPsOYz9xZa5v8y9gf2NAgd2zTZs2NB0CUNl\nf7Fl7i9zb2B/o8CBXbM777yz6RKGyv5iy9xf5t7A/kaBA1uSpAAc2DXbtGlT0yUMlf3Flrm/zL2B\n/Y2Cxfi2rg3AQU0XIUlSjTYCq5ouQpIkSZIkSZIk9XUc8ADwW00XssA+QMkrNgDnA/s0W86C+zBw\nDaXHLwPLmi1nQb0KuAq4H3hmw7UspCOBHwHXAu9puJaFdgawBfhh04UMyT7ABZTfyyuBY5otZ8E9\nAriYsr28Gvj7ZssZit2Ay4GvN13IrtoH+DZwI/kG9qN7Lr8TOL2pQobkD5l+B8I/VF9ZPBXYn7KB\nzDKwdwOuAyaA3SkbxgOaLGiBvRB4BnkH9uOZPllpKTBFrucP4JHVv0uA7wOHNFjLMLwL+Czwtfnu\ntJjf1vVR4G+aLmJI7u65vBS4valChuRcypERKK+Mn9RgLQvtR8CPmy5igR1MGdibgN8AZwOvbLKg\nBXYhsLXpIoZoM+VFFsAvKEe39m6unKH4ZfXvwykvMH/eYC0L7UnASyg7biE//OOVwM3AFU0XMkQf\nBH4CvIFce6AzvRH4ZtNFaF5PBG7qWb65uk7xTFCOJlzccB0L7WGUFyVbKEe3rm62nAV1IvBupndy\n5rRk+LXM6VzKoZyZ3ge8F/ijnusW4/vF+5mrv/9BySneV339LeUJ+4v6SlsQ/fqD0t+vgX+vq6gF\nMkhvmfh5tjksBb4IHEvZ087kAcph/2XAd4BJoNVgPQvlZcCtlPx6stlSds0fUF5F3Vh9/YZyqG6v\nBmsapn0pJ4pksxr4HuWEkYwyZdjPpZwv0vVe8p14NkHeDBvKuQffAf6q6UJqcDzw100XsUA+RDm6\ndSPwM+Ae4N8areghynjS2VN6Lr8T+ExThQzJkZQzVh/bdCFDdAHwX5ouYoEsAa6nDLWHk++kM8g9\nsMcoG/kTmy5kSB4LLK8u7wmsA45orpyheREJjuDdQL6B/UXKxmMD8CXyHT24FmhTDvNcDnyq2XIW\n1J9SXhH/inKyz7eaLWfBvJhydvF1lD3sTD4H3ALcR3nuosVP/RxCOWS8gen/c0c2WtHCehpwGaW/\nKyh5b0Yvos9Z4pIkSZIkSZIkSZIkSZIkSZIkSZKkWu3WdAGSRtKLKB9QcXPThUhRLNYP/5BUnyZe\nuB8GPL+Bx5UkaSATlI/o/DTlL4t9lvJBN9+jfGzns6v7PQo4g/KpS5cBr+j5/nXAD6qv51XXP6G6\n/nLKX9F7QXV974dAHFU9LsBa4F8ony38z8B+lL/atr5az8qe+30KuIjy50sngTMpn5bUXRdVD/9Z\n1fSFqn6pXhemAAACb0lEQVQonwOwprr+imq9E5S/m3xzVe/Mzzb+GOXvRQP8MfBdJEmq2QTlA21+\nn/I3oNcD/1rd9grgK9XlDwGvqy4vpwz3R1L+lvIe1fVPAS6tLh9H+TQxKEfOllaXez97/c/ZcWB/\njelPwjsf+L3q8nOq5e79up+29grgrhm1H0T5W8/frWqD8sEh3YF7I/CO6vJ/B06rLp8AvIvZ7Un5\nQJzDKC9unjzH/aSR0uTHa0qj6kbKh6NQ/XtedflKykCHssf6cqY/lWgPYB/K3y//BGVQ3s/0B8lc\nQtkj3x34KrCxTw0d4Jzq36WUPfVzem5/eM/9uh9IcGX1+L21T1R1HUjZw+5+b/cywJerfy8D/qzn\n+rk+NvdXwJuBCykfFXljn16kkeDAlup3X8/lByifGd693Pt/8s8oH6TSaw3lcPJ/o2TP91bXXwi8\nkPL5umuBj1I+Ba73s673ZEe/rP59GHAn8Iw56u2tb2btSygvHM4FXjvH93e/534G3+Y8HbgNeOKA\n95fS86QzaXH6DnBMz3J3mD6GspcL8HqmTxjblzLgTqccYu/efwvwVMr/9T9lxwHedRdlL/aoanmM\nMjAH0aHk4C+g5OBQ8uunzPkdxd3Ao+e4bZxyuPwZlE8RO3jAWqTUHNhS/WYOzc4slz9AObx9BeVQ\n9N9V138KeAPlowZXMn1S2WHVdZcBrwJOqq7/W+AblJPabpnncV8HvKlax5VMn+Q2V329bgdWUz7G\nciPlcPjKWe7X6fn+r1NeQFzO9AlyUF4snE7J5DdXNZ3O9CF6SZIkSZIkSZIkSZIkSZIkSZIkSZIk\nSZIkSZIUxf8HolA96eMSG00AAAAASUVORK5CYII=\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "from matplotlib import pyplot as plt\n", "import numpy as np\n", "\n", "# input data\n", "X1 = np.array([1, 2, 3])\n", "X2 = np.array([2, 2, 3])\n", "\n", "\n", "bar_labels = ['bar 1', 'bar 2', 'bar 3']\n", "\n", "fig = plt.figure(figsize=(8,6))\n", "\n", "# plot bars\n", "y_pos = np.arange(len(X1))\n", "y_pos = [x for x in y_pos]\n", "plt.yticks(y_pos, bar_labels, fontsize=10)\n", "\n", "\n", "plt.barh(y_pos, X1, \n", " align='center', alpha=0.4, color='g')\n", "\n", "# we simply negate the values of the numpy array for\n", "# the second bar:\n", "plt.barh(y_pos, -X2,\n", " align='center', alpha=0.4, color='b')\n", "\n", "# annotation and labels\n", "plt.xlabel('measurement x')\n", "t = plt.title('Bar plot with standard deviation')\n", "plt.ylim([-1,len(X1)+0.1])\n", "plt.xlim([-max(X2)-1, max(X1)+1])\n", "plt.grid()\n", "\n", "plt.show()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "
\n", "
" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# Grouped bar plot" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "[[back to top](#Sections)]" ] }, { "cell_type": "code", "execution_count": 39, "metadata": { "collapsed": false }, "outputs": [ { "data": { "image/png": "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\nJElS/f4/igcH2I+N1LkAAAAASUVORK5CYII=\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "import matplotlib.pyplot as plt\n", "\n", "# Input data\n", "green_data = [1, 2, 3]\n", "blue_data = [3, 2, 1]\n", "red_data = [2, 3, 3]\n", "labels = ['group 1', 'group 2', 'group 3']\n", "\n", "# Setting the positions and width for the bars\n", "pos = list(range(len(green_data))) \n", "width = 0.2 \n", " \n", "# Plotting the bars\n", "fig, ax = plt.subplots(figsize=(8,6))\n", "\n", "plt.bar(pos, green_data, width,\n", " alpha=0.5,\n", " color='g',\n", " label=labels[0])\n", "\n", "plt.bar([p + width for p in pos], blue_data, width,\n", " alpha=0.5,\n", " color='b',\n", " label=labels[1])\n", " \n", "plt.bar([p + width*2 for p in pos], red_data, width,\n", " alpha=0.5,\n", " color='r',\n", " label=labels[2])\n", "\n", "# Setting axis labels and ticks\n", "ax.set_ylabel('y-value')\n", "ax.set_title('Grouped bar plot')\n", "ax.set_xticks([p + 1.5 * width for p in pos])\n", "ax.set_xticklabels(labels)\n", "\n", "# Setting the x-axis and y-axis limits\n", "plt.xlim(min(pos)-width, max(pos)+width*4)\n", "plt.ylim([0, max(green_data + blue_data + red_data) * 1.5])\n", "\n", "# Adding the legend and showing the plot\n", "plt.legend(['green', 'blue', 'red'], loc='upper left')\n", "plt.grid()\n", "plt.show()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "
\n", "
" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# Stacked bar plot" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "[[back to top](#Sections)]" ] }, { "cell_type": "code", "execution_count": 36, "metadata": { "collapsed": false }, "outputs": [ { "data": { "image/png": "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\nw5Hbt2+nvLycrl278txzz7Fw4cKmzle/fv3o1KkTq1evbvH+gw46iF69erF+/XpuvvnmcEJoJ80J\ns+fDnAoJh+qGLeVpz4dMw1wnLHLdKiqIhbjOULeKiv3+3srKSpYsWcKVV17JueeeS2lpKaNGjeKO\nO+4AYOHChUyfPp0+ffpwwgknMH36dBoaGlo91vjx47n88ssZM2YMpaWlXHfddSxatKjp9TvuuINv\nfetbzJw5k9GjRzN58uSmY3Xv3p25c+dy0kknsWvXLh577DHmzZvH+eefT+/evTniiCOYOnUqt912\n235/VhEREdlbIa670+Z1wiR/6d+rfQpljR3QOmFtoHXC8pzytFfMmebLOmEiIiIiElAnTAqG5oTZ\n82FOhYRDdcOW8rTnQ6bqhImIiIhEQJ0wKRhaJ8yeD+vsSDhUN2wpT3s+ZKpOmIiIiEgE1AmTgqE5\nYfZ8mFMh4VDdsKU87fmQqTphIiIiIhFQJ0wKhuaE2fNhToWEQ3XDlvK050Om6oTJXjp16sRbb70V\ndTFERES85vVti2bHZpNsSIZ2/IqyCubH5od2/HyXSCQ4/PDD2bVrF506hd+fj8fjOhtmLFGf8OKv\nSbGnumFLedrzIVOvO2HJhmSot0lILE6Ectxdu3bRuXPh/NPo9kNShOYAU4HdwMvA14GDgF8DQ4AE\nMAlo/YavIiJoODJnXnjhBY477jh69erFpEmTmDx5MldffTXgzvBUVlZy0003MWDAAC644AIaGxuZ\nP38+w4YNo2/fvkyePJktW7Y0HW/58uWceOKJlJeXU11dzdNPP930Wk1NDddccw0nn3wyvXr14stf\n/jKbN2/OWLabb76ZgQMHUllZyd13393itaVLl3LcccfRu3dvBg8ezLXXXtv02imnnAJAWVkZPXv2\nZMWKFaxevZoxY8bQt29f+vXrx9SpU9m6datJhjoLZq/Q/4qMSBVwIfBZ4BigFJgCzAaeBI4Engq2\nC5bqhi3lac+HTNUJy4GPP/6Ys88+mxkzZrBlyxbOPfdcFi9enLqpJwCbNm1iy5YtrFmzhrvuuov/\n/M//5KGHHuKPf/wjGzdupLy8nG9+85sArF+/njPOOINrrrmGLVu2cMstt3DOOee06GgtWrSIuro6\n3nnnHT7++GNuueWWVsv22GOPceutt7Js2TLeeOMNli1b1uL1Hj16cO+997J161aWLl3KnXfeyZIl\n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\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "import matplotlib.pyplot as plt\n", "\n", "blue_data = [100,120,140]\n", "red_data = [150,120,190]\n", "green_data = [80,70,90]\n", "\n", "f, (ax1, ax2) = plt.subplots(1, 2, figsize=(10,5))\n", "\n", "bar_width = 0.5\n", "\n", "# positions of the left bar-boundaries\n", "bar_l = [i+1 for i in range(len(blue_data))] \n", "\n", "# positions of the x-axis ticks (center of the bars as bar labels)\n", "tick_pos = [i+(bar_width/2) for i in bar_l] \n", "\n", "###################\n", "## Absolute count\n", "###################\n", "\n", "ax1.bar(bar_l, blue_data, width=bar_width,\n", " label='blue data', alpha=0.5, color='b')\n", "ax1.bar(bar_l, red_data, width=bar_width,\n", " bottom=blue_data, label='red data', alpha=0.5, color='r')\n", "ax1.bar(bar_l, green_data, width=bar_width,\n", " bottom=[i+j for i,j in zip(blue_data,red_data)], label='green data', alpha=0.5, color='g')\n", "\n", "plt.sca(ax1)\n", "plt.xticks(tick_pos, ['category 1', 'category 2', 'category 3'])\n", "\n", "ax1.set_ylabel(\"Count\")\n", "ax1.set_xlabel(\"\")\n", "plt.legend(loc='upper left')\n", "plt.xlim([min(tick_pos)-bar_width, max(tick_pos)+bar_width])\n", "plt.grid()\n", "\n", "# rotate axis labels\n", "plt.setp(plt.gca().get_xticklabels(), rotation=45, horizontalalignment='right')\n", "\n", "############\n", "## Percent\n", "############\n", "\n", "totals = [i+j+k for i,j,k in zip(blue_data, red_data, green_data)]\n", "blue_rel = [i / j * 100 for i,j in zip(blue_data, totals)]\n", "red_rel = [i / j * 100 for i,j in zip(red_data, totals)]\n", "green_rel = [i / j * 100 for i,j in zip(green_data, totals)]\n", "\n", "ax2.bar(bar_l, blue_rel, \n", " label='blue data', alpha=0.5, color='b', width=bar_width\n", " )\n", "ax2.bar(bar_l, red_rel, \n", " bottom=blue_rel, label='red data', alpha=0.5, color='r', width=bar_width\n", " )\n", "ax2.bar(bar_l, green_rel, \n", " bottom=[i+j for i,j in zip(blue_rel, red_rel)], \n", " label='green data', alpha=0.5, color='g', width=bar_width\n", " )\n", "\n", "plt.sca(ax2)\n", "plt.xticks(tick_pos, ['category 1', 'category 2', 'category 3'])\n", "ax2.set_ylabel(\"Percentage\")\n", "ax2.set_xlabel(\"\")\n", "\n", "plt.xlim([min(tick_pos)-bar_width, max(tick_pos)+bar_width])\n", "plt.grid()\n", "\n", "# rotate axis labels\n", "plt.setp(plt.gca().get_xticklabels(), rotation=45, horizontalalignment='right')\n", "\n", "plt.show()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "
\n", "
" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# Bar plot with plot labels/text 1" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "[[back to top](#Sections)]" ] }, { "cell_type": "code", "execution_count": 17, "metadata": { "collapsed": false }, "outputs": [ { "data": { "image/png": "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\nf8GrwVF/DlRfAAAAAElFTkSuQmCC\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "from matplotlib import pyplot as plt\n", "import numpy as np\n", "\n", "data = range(200, 225, 5)\n", "\n", "bar_labels = ['a', 'b', 'c', 'd', 'e']\n", "\n", "fig = plt.figure(figsize=(10,8))\n", "\n", "# plot bars\n", "y_pos = np.arange(len(data))\n", "plt.yticks(y_pos, bar_labels, fontsize=16)\n", "bars = plt.barh(y_pos, data,\n", " align='center', alpha=0.4, color='g')\n", "\n", "# annotation and labels\n", "\n", "for b,d in zip(bars, data):\n", " plt.text(b.get_width() + b.get_width()*0.08, b.get_y() + b.get_height()/2,\n", " '{0:.2%}'.format(d/min(data)), \n", " ha='center', va='bottom', fontsize=12)\n", "\n", "plt.xlabel('X axis label', fontsize=14)\n", "plt.ylabel('Y axis label', fontsize=14)\n", "t = plt.title('Bar plot with plot labels/text', fontsize=18)\n", "plt.ylim([-1,len(data)+0.5])\n", "plt.vlines(min(data), -1, len(data)+0.5, linestyles='dashed')\n", "plt.grid()\n", "\n", "plt.show()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "
\n", "
" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# Bar plot with plot labels/text 2" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "[[back to top](#Sections)]" ] }, { "cell_type": "code", "execution_count": 8, "metadata": { "collapsed": false }, "outputs": [ { "data": { "image/png": "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\npDIMfiIilfl/4XVx3zrYTS4AAAAASUVORK5CYII=\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "import matplotlib.pyplot as plt\n", "\n", "# input data\n", "mean_values = [1, 2, 3]\n", "bar_labels = ['bar 1', 'bar 2', 'bar 3']\n", "\n", "# plot bars\n", "x_pos = list(range(len(bar_labels)))\n", "rects = plt.bar(x_pos, mean_values, align='center', alpha=0.5)\n", "\n", "# label bars\n", "def autolabel(rects):\n", " for ii,rect in enumerate(rects):\n", " height = rect.get_height()\n", " plt.text(rect.get_x()+rect.get_width()/2., 1.02*height, '%s'% (mean_values[ii]),\n", " ha='center', va='bottom')\n", "autolabel(rects)\n", " \n", "\n", "\n", "# set height of the y-axis\n", "max_y = max(zip(mean_values, variance)) # returns a tuple, here: (3, 5)\n", "plt.ylim([0, (max_y[0] + max_y[1]) * 1.1])\n", "\n", "# set axes labels and title\n", "plt.ylabel('variable y')\n", "plt.xticks(x_pos, bar_labels)\n", "plt.title('Bar plot with labels')\n", "\n", "plt.show()\n", "#plt.savefig('./my_plot.png')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "
\n", "
" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# Barplot with auto-rotated labels and text" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "[[back to top](#Sections)]" ] }, { "cell_type": "code", "execution_count": 7, "metadata": { "collapsed": false }, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "%matplotlib inline\n", "import matplotlib.pyplot as plt\n", "\n", "idx = range(4)\n", "values = [100, 1000, 5000, 20000]\n", "labels = ['category 1', 'category 2',\n", " 'category 3', 'category 4']\n", "\n", "fig, ax = plt.subplots(1)\n", "\n", "# Automatically align and rotate tick labels:\n", "fig.autofmt_xdate()\n", "\n", "bars = plt.bar(idx, values, align='center')\n", "plt.xticks(idx, labels)\n", "plt.tight_layout()\n", "\n", "# Add text labels to the top of the bars\n", "def autolabel(bars):\n", " for bar in bars:\n", " height = bar.get_height()\n", " ax.text(bar.get_x() + bar.get_width()/2., 1.05 * height,\n", " '%d' % int(height),\n", " ha='center', va='bottom')\n", "\n", "autolabel(bars)\n", "plt.ylim([0, 25000])\n", "plt.show()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "
\n", "
" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# Bar plot with color gradients" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "[[back to top](#Sections)]" ] }, { "cell_type": "code", "execution_count": 21, "metadata": { "collapsed": false }, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAW4AAAD7CAYAAABKfn7LAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAADXRJREFUeJzt3G+MHHd9x/G3g0k5J05McJSDgrRRpdAiIQdKUVQoWbVA\nk6oN8KASUaVEVLKQqPgjJLhNk+A5YsrdA0CqKvog1JGjpqGCljSoKiVUbGI1JE0INi5gQkpWJNTr\n2LEd282qonB98Fvbl/M55/nNzO18j/dLGt3uan+/+fruux/Pn50BSZIkSZIkSZIkSZIkSZKk5W3Z\nsmUBcHFpatnNhNjbLg0vE+ttgIWqtm3b5hwtm6MNNSwsLJxscHs7eA3OcaZz6e3zVqHJJUk1Mrgl\nKZhWB3e323WOls3RhhrWgjb8HttQg3PkWdfg3OPDNVL91q1bB83274uxt9WYc+ntVm9xS5LOZHBL\nUjAGtyQFY3BLUjAGtyQFY3BLUjAGtyQFY3BLUjAGtyQFY3BLUjAGtyQFY3BLUjAGtyQFY3BLUjDr\nJ12A1q6i1+PocFhqzKbpaYq5uYYqkqqbv7nH6FC5vgaY2jzNzKfq6W2DW405Ohzy7k6n1Jh7BoNG\napHqMjo0pPitTulxxSOD2mrwUIkkBWNwS1IwBrckBWNwS1IwBrckBWNwS1IwBrckBWNwS1IwBrck\nBWNwS1IwXvKuZc3f3GN0sNz9GKYure9eDFIT5rf1GB3OuM/IJdPMzLantw1uLWt0cEjxxk6pMcVj\ng0ZqkeoyOjyk+P1O6XHFvw5qr6UKD5VIUjAGtyQFY3BLUjAGtyQFY3BLUjArBfcO4ACwd9FrBfA0\n8J3xck0jlUnNsrcV1krBfQdnNu8C8FngDePlaw3UJTXN3lZYKwX3LuDIMq+va6AWaTXZ2wor9xj3\nB4E9wN8Am+orR5o4e1utlxPcfw1cDlwJ7Ac+U2tF0uTY2woh55L3ZxY9/gLw1bO9sSiKU4+73S7d\nbjdjdSprfnuP0fGS9xnZOM3MLe25F8NS/X6ffr/f9Grs7Rabn+0xei7jPiMXTzOzbW31dk5wv5K0\nNQLwHl54Vv4FFje3Vs/o+JBia6fUmOL2QSO11GVpOM7OzjaxGnu7xUbPDSne2yk9rvjioPZa6pTT\n2ysF993A1cBm4ClgG9Al7UouAE8C788pVpowe1thrRTc1y/z2o4mCpFWmb2tsLxyUpKCMbglKRiD\nW5KCMbglKRiDW5KCMbglKRiDW5KCMbglKZicS97VoNvmb+H46FCpMRunNnPrzPaGKpKqm9/eY3Qi\n4z4jF7b7HjqTYnC3zPHRIbYWV5Uac3vxUEPVSPUYnRhSfKBTelzx+UHttawFHiqRpGAMbkkKxuCW\npGAMbkkKxuCWpGAMbkkKxuCWpGAMbkkKxuCWpGAMbkkKxkvea3TL/G0cGh0vNWbz1Ea2z9zaUEVS\nPebmeoyeL3evkakN0/R63mekCQZ3jQ6NjnNVsbXUmIeK2xuqRqrP6Pkht97SKTXmtu2DRmqRh0ok\nKRyDW5KCMbglKRiDW5KCMbglKRiDW5KCMbglKRiDW5KCMbglKRiDW5KC8ZL3sd4n5xkeG5UeN33R\nFHOfmGmgIqken5r/c06MDpYac+HUpdw88xcNVaSqDO6x4bERnRuK0uMGd5YfI62mE6ODfKjYUmrM\nXxZ7GqpGdfBQiSQFY3BLUjAGtyQFY3BLUjAGtyQFY3BLUjAGtyQFY3BLUjAGtyQFY3BLUjBr4pL3\n3k3zDA9k3GfksinmPu19RtRen5y/lWOjZ0uNuWjqFXxi5raGKlIbrIngHh4Y0bmiKD1u8Hj5MdJq\nOjZ6lhuKq0uNubO4v6Fq1BYeKpGkYAxuSQrG4JakYAxuSQrG4JakYFYK7h3AAWDvotcuAe4DHge+\nDmxqpjSpUfa2wlopuO8ArlnyWo/U3FcA/zZ+LkVjbyuslYJ7F3BkyWvXATvHj3cC7667KGkV2NsK\nK+cY92WkXUzGPy+rrxxpouxthVD1ysmF8bKsoihOPe52u3S73TPe0+sVDIdHS694enoTc3PFiu/T\n2tDv9+n3+6u5ysq9XcwXHBkt3ah/cS+fejnFTLHi+7R25PR2TnAfAKaBIfBK4JmzvXFxc5/NcHiU\nTqf8HulgcE/pMYpraTjOzs42sZpae/vI6AjvKq4rVcA/FfeWer/iy+ntnEMl9wI3jh/fCJigWivs\nbYWwUnDfDTwIvBZ4CngfMAe8g/SVqd8dP5eisbcV1kqHSq4/y+tvr7sQaZXZ2wrLKyclKRiDW5KC\nMbglKRiDW5KCMbglKRiDW5KCMbglKRiDW5KCMbglKRiDW5KCMbglKRiDW5KCMbglKRiDW5KCMbgl\nKRiDW5KCMbglKRiDW5KCMbglKRiDW5KCMbglKRiDW5KCMbglKRiDW5KCMbglKRiDW5KCMbglKRiD\nW5KCMbglKRiDW5KCMbglKRiDW5KCMbglKRiDW5KCMbglKRiDW5KCMbglKRiDW5KCMbglKRiDW5KC\nMbglKRiDW5KCMbglKRiDW5KCMbglKRiDW5KCMbglKRiDW5KCMbglKRiDW5KCMbglKZj1FcYOgGPA\nz4GfAW+uoyCpBQbY22qxKsG9AHSBw/WUIrWGva1Wq3qoZF0tVUjtY2+rtaoE9wLwDeBRYGs95Uit\nYG+r1aocKnkLsB+4FLgP2AfsWvyGoihOPe52u3S73Qqr0y+zfr9Pv99frdXZ21o1Ob1dJbj3j38e\nBL5COoFz1uaWqlgajrOzs02uzt7Wqsnp7dxDJRuAjePHFwDvBPZmziW1ib2t1svd4r6MtCVyco67\ngK/XUpE0Wfa2Wi83uJ8ErqyzEKkl7G21nldOSlIwBrckBWNwS1IwBrckBWNwS1IwBrckBWNwS1Iw\nBrckBWNwS1IwBrckBWNwS1IwBrckBWNwS1IwBrckBWNwS1IwBrckBWNwS1IwBrckBWNwS1IwBrck\nBWNwS1IwBrckBWNwS1IwBrckBWNwS1IwBrckBWNwS1IwBrckBWNwS1IwBrckBWNwS1IwBrckBWNw\nS1IwBrckBWNwS1IwBrckBWNwS1IwBrckBWNwS1IwBrckBWNwS1IwBrckBWNwS1IwBrckBWNwS1Iw\nBrckBWNwS1IwBrckBWNwS1IwBrckBVMluK8B9gE/AmbqKUdqBXtbrZYb3C8B/orU4K8Drgd+o66i\nThoMdlef48f96nM8Un2Off2HK8/xcH9f5Tn6Dw+qjX+82niA3YPqczRoVXp7d796bz/S/16l8Q/2\nf1S5hvvvH1Seo/+tGub4dg1z7K1hjh9Wn+Nc5Ab3m4EngAHwM+CLwLtqqumU1gT3o9XnMLhPa3lw\nr0pv7+nvqTzHo/3vVxpfS3A/MKg8R/+hGuZ4rIY5fgmC+1eBpxY9f3r8mhSdva3Wyw3uhVqrkNrD\n3taadRXwtUXPb+LMkzhPkD4ELi5NLE/QDHvbZdJLU73NeuC/gA5wPrCbBk7gSBNgb2tNuxb4Iel/\nh5smXItUJ3tbkiTF8cfA94CfA28sMa6OCyB2AAeAvZnjXwN8k1T/fwIfypjjZcDDpN3t7wOfzqwF\n0veLvwN8NXP8APjueI7/yJxjE/Bl4Aekf89VJce/drz+k8tz5P1ebyL9XfYCfwf8SsYcVeT2NVTv\n7ap9Dfb2ctrQ25Pu61N+HbiC1CTn2uAvIe2idoCXkn+M8XeAN5Df4NPAlePHF5J2nXPq2DD+uR54\nCHhrZj0fBe4C7s0c/yRwSebYk3YCfzp+vB64uMJc5wH7SSFSRgf4Maeb+u+BGyvUkSOnr6Ge3q7a\n12BvL2fSvd2hRF83fa+SfcDjJcfUdQHELuBIxriThqQPFsAJ0v/Er8qY5/nxz/NJH9zDGXO8GvgD\n4AvAuozxJ1UZezEpNHaMn/8faasi19tJJwGfWumNSxwj9cUG0gdsA/DTCnXkyOlrqKe3q/Y12NtL\ntaG3S/V1G28y1cYLIDqkrZycyx/PI31IDpC20HIud/sc8DHgFxljT1oAvgE8CmzNGH85cBC4A3gM\nuJ3TW1w53kvaHSzrMPAZ4CfAfwNHSf+uCOztM9nbSam+riO47yPtti1d/ihzvoUaaqrThaRjXx8m\nbZ2U9QvSbumrgbcB3ZLj/xB4hnTcrMpWxVtIH9BrgT8jbWGUsZ50WODz45//A/Qyazmf1B9fyhj7\na8BHSIHzKtLf508y63gxdfc12NtL2dunlerr9ZnFLfaOGuZY7Ke88NjQa0hbJpPwUuAfgL8F7qk4\n13PAPwNvAvolxv02cB1pd/JlwEXAncANJde/f/zzIPAV0m77rhLjnx4vj4yff5n85r4W+Pa4lrLe\nBDwIPDt+/o+k39FdmbWcTd19Dfb2Uvb2aavV16V8E/jNc3xvnRdAdMg/ibOO1ESfyxwPsJl0thpg\nCngA+L0K811N3pn3DcDG8eMLgH8H3pkxzwOkk3IABTCfMQekY7u5JxS3kL4JMUX6G+0kbWVNQpm+\nhvp6u0O1k5P29pkm3dtt6mveQzqmNyKdEPmXcxxXxwUQd5OOFf3vuIb3lRz/VtKu4G5Of8XnmpJz\nvJ50zGw36etKHys5fqmryTvzfvm4ht2k5sj9nW4hbZXsIW0R5Jx5vwA4xOkPW46Pc/prUztJW4+r\nKbevoXpvV+1rsLeX04bennRfS5IkSZIkSZIkSZIkSZIkSZIkSWvD/wP8BWV+JivypAAAAABJRU5E\nrkJggg==\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "import matplotlib.pyplot as plt\n", "import matplotlib.colors as col\n", "import matplotlib.cm as cm\n", "\n", "# input data\n", "mean_values = range(10,18)\n", "x_pos = range(len(mean_values))\n", "\n", "\n", "# create colormap\n", "cmap1 = cm.ScalarMappable(col.Normalize(min(mean_values), max(mean_values), cm.hot))\n", "cmap2 = cm.ScalarMappable(col.Normalize(0, 20, cm.hot))\n", "\n", "# plot bars\n", "plt.subplot(121)\n", "plt.bar(x_pos, mean_values, align='center', alpha=0.5, color=cmap1.to_rgba(mean_values))\n", "plt.ylim(0, max(mean_values) * 1.1)\n", "\n", "plt.subplot(122)\n", "plt.bar(x_pos, mean_values, align='center', alpha=0.5, color=cmap2.to_rgba(mean_values))\n", "plt.ylim(0, max(mean_values) * 1.1)\n", "\n", "plt.show()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "
\n", "
" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# Bar plot pattern fill" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "[[back to top](#Sections)]" ] }, { "cell_type": "code", "execution_count": 15, "metadata": { "collapsed": false }, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAV0AAAD7CAYAAADJukfwAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAH8lJREFUeJztnV9oHVkdx7+329YkppJk+6AI0YVllbJLTJuVtbI0otIr\nwqYU6r/cpe6DSO1LUJaVRMwuSKCNmIqgLIoY27LQwppHH9R0UcviplsR9KG+bIKi0JuNpI27Wzc5\nPqRzO82dc+bMmfObOffe7wcGtne+c84vM+d+99xzZ763opRSIIQQUgi7yi6AEEI6CZouIYQUCE2X\nEEIKhKZLCCEFQtMlhJACoekSQkiB7DbtHB0dxSuvvFJULYQQ0hYcOXIEV65cSdxnnOm+8sorUEoF\ntU1PT5deQ6vUxZpYUyfUFWJNpskqlxcIIaRAaLqEEFIgLWe6o6OjZZeQSIh1sSY7WJM9IdYVYk0m\nKkopbfZCpVKBYTchhJAETN7ZcjNdQghpZWi6hBBSIDRdQggpEJouIYQUCE2XEEIKhKZLCCEFQtMl\nhJACoekSQkiB0HQJIaRAaLqEEFIgNF1CCCkQmi4hhBQITZcQQgqEpksIIQVC0yWElM7AwAAqlUrh\n28DAQOF/K/N0CSGlU5bXSPXLPF1CCAkEmi4hhBQITZcQQgqEpksIIQVC0yWEkAKh6RJCgqFer6NW\nq6FWq6Fer5eul2B3Kb0SQkgCExMTuHTpEoDt267Onz8vqi8DznQJIaRAONMlhATDuXPnGjPQubk5\ncf2FCxdyVOsGn0gjhJQOn0gjhBAiAk2XEEIKhKZLCCEFQtMlhJACoekSQkiB0HQJIaRAaLqEEFIg\nNF1CSPC0YsaCDj6RRggJHulMhiLhTJcQQgqEM11CSPBIZzIUCbMXCCGlw+wFQgghItB0Cekw+vr6\nUKlUCt0GBgbK/rODgcsLhHQYZbyv0/rk8gIhhBARaLqEdCi3bt3C1NQU3vve96K/vx9nz57FrVu3\nRPTkHlxeIKTDqFQqWFpawsjISOL+paUlHDp06L7Xrl27llvP5YW7+2i6hHQW8V/BXV5exuDgIABg\ndXUV+/fvBwCsr69j3759ALZnrO973/ty6bmmew8uLxDSodTr9YaBAsCDDz6IN954AwBw5syZxus/\n+clPvOhta5LMWAgik0EZSNlNCGlBABjf2wBUT09P4999fX259WleEu0fHx9Xe/bsUXv27FG1Ws14\njA+9lMeZ2uVMlxDSxN69exv/fefOHe/6TobZC4R0KCsrK00f/1dXVwEAU1NTjdcmJiYwMzPjRZ+G\ndMbCTv2FCxcy1ecDfpFGSIcR/yKtXq/jwQcfBLD9pdeHP/xhAPovxlz1/CLtHlxeIKQDWVpaAgDs\n37+/8ahuZKBLS0sNAwWAffv25daTe9B0CelADh06hPX1dZw9exZ9fX3o6enB1NQU1tfXm+659aEn\n9+DyAiEdBrMX5Pvl8gIhhAQCTZeQDkQqY8FG3+lweYGQDiP6YksqYyFJz+WF2D6aLiGdRfxuAt8Z\nCzo9TfceXF4gpAORzFjQ6fPQkhkLGjjTJaTDiN7XlUoFPT092NjYAAD09/fjP//5j/5jcQ593plu\nrVbDpUuXAABf/OIXcf78eePfaKvnTJcQUijSGQtxPdmG2QuEdCDSGQtJ+jxIZzIUCZcXCOkwbL5I\n853JwC/S7sHlBUI6FImMBZOebEPTJaQDkcpYSNMTLi8Q0nEwe0G+Xy4vEFISAwMDjY/dRW0DAwNl\n/9nEAE2XEEHW1taglCp0W1tbs6pNOmMhrif34PICIYKE+lF+aWlJJGPBpOfywjac6RJSEFtbWzh2\n7FhjGaBarWJra8u73obIEJeXlxsz5Ohx2ZGRkftmsLdu3cqtJzG0vxOs+BPshOQl/h46evSoAqBO\nnjypTp48qQCoY8eOaY911ae9byNNvV5v2vfGG28oAGpqaqrx2pkzZ3LrbWpSSqmbN2+q8fFxNT4+\nrm7evGk8xodeyuNM7dJ0CREk/h6KDDQiMlLTsS56W9M17e/p6Wn8u6+vL7fe1nTHx8fVnj171J49\ne1StVjMe40NfhulyeYEQ0oR0JkNH4+rWhJB04u+hsbGxpuWCarWqPdZVn/a+jTTLy8tN++r1ugKg\nZmdnG69NTk7m1tvUpNT2x/9araZqtZr1ckEevZTHmdql6RIiSPw9tLm5qarVasP0jh07pjY3N7XH\n5tGn1RRt8XXXaH0WgFpfX2+8vr6+nltva7pFU4bp8pYxQgThLWP3SKupDK/hLWOEkEKQzljYqSf3\n4EyXEEFCnemyJtl+OdMlhJBAoOkS0oFIZSzY6DsdLi8QIkioH+UBuS/MkvRcXrgHZ7qECCOVsWCr\n1yGRsWDSk7u43mtGCEkHsXtsdfjOZEh73wIQy1jQ6W1qMiGVySDlcaZ2abqECBKZo/FN6DmTwdbg\nIJCxoNPnNV2pTIYyTJfLC4R0MNIZC3E92WZ32QUQ0u7Mz8+jWq1q94+NjWF+fl5Mn8Tq6ioAYGpq\nqvHaxMQEZmZmsLKygsHBQe/6PJw7d67xBeDc3Jx3faG4TpEJIelAOGMhSZ/2vo2Og0DGgk5vU1MZ\nSPVrape3jBEiCG8Z4y1jO+GaLiEdiFTGQpqe8OEIQkQJdabLmmT75UyXEEICgaZL2oKBgYHGE1pF\nbgMDA2X/6c5IZyzE9eQeXF4gbYFurCqlsGvX9txia2ur8SWSjqz6ED82M8TcHi4vEOIRpRQWFhbQ\n29uL3t5eLCwsGN9gLvosSGcsRHobJDMWkvQkhuu9ZoSERHysvvjii+rAgQOqu7tb7d27t3HP6N69\ne1V3d7c6cOCAevHFF73o094j8f2+MxZ0epuaIJSxoNPbniepjAWdXsrjTO3SdElbEB+rGxsb6vDh\nw6qrq+u+BwEAqK6uLvXJT35SbWxseNPb1hUZaIRUJoOt6Zr2+85ksD1PUhkLOn0ZpsvlBdJ29PT0\n4Le//S0OHjyIBx54oPH6Aw88gIMHD+I3v/kNenp6vOjbFelMho7G1a0JCYmksXrq1Kmmmevp06e1\nbbjqbesaGxtrWi6oVqvaY131NjUBUMvLy0376vW6AqBmZ2cbr01OTubW256nmzdvqlqtpmq1mvVy\nQR69lMeZ2qXpkrYgaayOjIyo3bt3q4ceekg99NBDavfu3erxxx/XtuGiz2K6vjMWTPq0mqLNd8aC\nTp/lPBUJTZcQR5LG6ic+8Ql18eJFtbm5qd5991118eJFdfjwYW0bLvoQzcSmpqWlpaZZfbQtLS01\nHeNDn6dmKWi6hDiyc6xubW2pO3fuNOnu3Lmjtra2ml531YdoJrY1ra+vq7Nnz6q+vj7V09Ojpqam\n7pux7iSPPsTzJNmvqV0+HEHaglBvrg/14QjWJNsvH44ghJBAoOmStuH555/H888/H4w+ZKQyFmz0\nnQ6XF0hbEM9IkMhY0OlD/NjMEHN7uLxASA4kMxay6HcilbFgq9chkbFg0pO7uH4DR0hIIHZrkkTG\ngk6f9h6JjpHIWNDpbWqSyljQ6W1qMiGVySDlcaZ2abqkLYibLiCTsZCktzETqYwFnd7W4AD/GQs6\nfV7TlcpkKMN0ubxA2g6JjAWdvtWRzliI68k2u8sugBDfbG5uYnh4GF1dXU37urq6MDQ0hKtXr4ro\nk5ifn0e1WtXuHxsbw/z8vJg+idXVVQDA1NRU47WJiQnMzMxgZWUFg4OD3vV5OHfuXOMLwLm5Oe/6\nQnGdIhMSEgBEMxZ0+rT3CIQzFpL0NjVFm++MBZ3epqYykOrX1C5Nl7QFAEQzFnT6EM3E1nSlMhaS\n9CGeJ8l+abqk7dk5Vn1nLOj0IZqJTU1SGQs6fYjnSbJfU7t8OIK0BaHeXB/qwxGsSbZfPhxBCCGB\nQNMlbU8nZyyYkM5YiOvJPbi8QDIzMDCAtbW1wvvt7+/Hm2++mbhPN1aVp4wFHSF+bLapaWlpSSRj\nwaQP7TxJ9svlBeKVtbW1xnP2advi4iL279+PxcVF62N0W1ajV8IZC1nfrNIZC5HeBsmMhSQ9ieH6\nDRzpXLKOi8XFRbV//361uLgo1m98n0TGgk6fdi7i+31nLOj0NjVBKGNBp7c9T1IZCzq9lMcZx6rr\ngaRzcRkXPozX1nQlMhZMetuaIwONkMpksDVd037fmQy250kqY0GnL8N0ubxACmF0dBSXL1/GiRMn\ncOXKFdG+JDIWdPp2RTqToaNxdWvSueQZF3lmvKZ+k/adOnWqaeZ6+vRpbRuuetuax8bGmpYLqtWq\n9lhXvU1NANTy8nLTvnq9rgCo2dnZxmuTk5O59bbn6ebNm6pWq6larWa9XJBHL+VxxrHqeiDpXPKO\nC1fjzWq6PjMWdPospus7Y8GkT6sp2nxnLOj0Wc5TkdB0SUvgY1y4GG9W0/WZsaDTh2gmNjVJZSyY\n9HlqloKmS1oCX+Miq/FmMV3fGQs6fYhmYluTRMaCTh/ieZLs19QuH44gmfE5Lq5cuYITJ07g8uXL\nGB0dde431JvrQ304gjXJ9suHI0iwFHlXAyEhQNMlpePLeKUzFtopk0EqY8FG3/G4rkuQzkVqXKSt\n8Zr6RewLm6Q12J1EWbh59Wnnooz3kE1NEPzCLEkf4nmS7NfULme6xAmJpYC8M17JjIUs+p1IZSzY\n6nVIZCyY9OQurm5NOhcAXrIUdOhmvKbxiNgMSyJjQadPe49Ex0hkLOj0NjVJZSzo9DY1mZDKZJDy\nOONYdT2QdC4AvIXY6Ehq39Z0AZmMhSS9jZlIZSzo9LYGB/jPWNDp85quVCZDGabL5QXihPRdB3na\nl8hY0OlbHemMhbie3MXVrUnnEh8XRc54TeMRO2aiEhkLSfq090ikl8hY0OltapLKWNDpbWoyIZXJ\nIOVxxrHqeiDpXHaOi6KMN810JTMWdHobM5HMWEjS2/6PAPCfsaDT5zVdKWi6pCVIGhdFGG+a6Upm\nLOj0IZqJrenyljGaLmkRdONC2njTTDeO74wFnT5EM7GpSSpjQacP8TxJ9mtql9kLJDOmcZElS8Fn\nv6E+u8+cA7s+Q71+Eu3y7gXiFWYpEGKGpku8E5rxdnLGggnpjIW4nsRwXZcgnYvtuPC9xmvqV7fP\nV8aCS002+yWwqYkh5rL9mtrlTJeIUfaMVwlnLJj2JSGdsRDpbZDMWEjSkxiubk2Kob+/XzvDkNz6\n+vq0NWUdF75mvKZ+4/skMhZ0+rRzEd/vO2NBp7epCZDJWNDpbc+TVMaCTi/lccax6nogKYboGkT3\nqQIQuSVrZ/u2Bpel/bzGa1uTRMaCSW9bc2SgEVKZDLama9rvO5PB9jxJZSzo9GWYLpcXSCEUudQg\nkbGg07cr0pkMHY2rW5NiAO5P9JJ4ACGpfdO1zzMu8tSftSafGQsmvW3NvjMWdHqbmgCZjAWd3vY8\nSWUs6PRSHmccq64HkmIAmrNrfRpvUlsSywtpfdqQtSafGQs6fRbT9Z2xYNKn1RRtvjMWdPos56lI\naLqkiWimuxMfxmtqQ9J00/p26Tdpn8+MBZ0+RDOxqYm3jMn2S9NtYUzXII/xph0rbbo2NeSpyXfG\ngk4fopnY1iSRsaDTh3ieJPul6bYwadfAxXhtjinCdG1rKbqmLIRoJqzJHpouacLmGmQxLlttkQYX\nYk22hGgmrMkemi5pwvYa2BhXyLNKH7Pv6elpNT09bd2nD32IZmJTU9qywOTkpOrp6VF9fX3qzJkz\nufUhnifJfmm6LUyWa2AyLsn1U1/kXWeONomMBZ0+RDOxvXuBIeY0XZJA1muguwXM950CPu8TjpPn\njore3l7V29urXn75ZaORbm1tqZdfftmL3sZMjh49mnqrV/we27x6W9PdOeON3+oVv8c2uhc3j56m\nG9vneiApBpdrkPSwg+97Yov++XWbmqJNImNBp7c1OImMBZ3epiapjAWdPq/pSmUy0HRJE67XIHrA\nwXVWajPTLdp4bU0XkMlYSNLbmIlUxoJOb2twgP+MBZ0+r+lKZTKUYbrMXiBOSGcp5GlfImNBp291\npDMW4npyF1e3JsXgcg2KWF5I6kuCePtpNcU3iYyFJH3a9Yn0EhkLOr1NTVIZCzq9TU0mpDIZpDzO\nOFZdDyTFkPUaFPVFWlqfPonaT6tJMmNBp7cxE8mMhSS97f8IYPhizHcmQ17TlYKmS5rIcg3KvGWs\nCONNq0kyY0GnD9FMbE2Xt4zRdEkCttcghIcjpI03S02+MxZ0+hDNxKYmqYwFnT7E8yTZL023hbG5\nBlnMzlbrYrpZa8mKa02ShGgmrMkemi5pIu0auJiczTF5DE7KeGm6drAme2i6pAmpWWXasXkNTsJ4\nXWuSzGQI0Uxsa5LIWNDpQzxPkv3SdFsYoHVDzH0br0tNvjIWXGqy2S+BTU0MMZftl6bbwgCt/XM9\nPmvNWpPPjAWdPouZ+M5YMOnTaoo23xkLOj1NN7bP9UBSDNFMt5V/mNJXzbY1SWQs6PRZzMR3xoJO\nb2u6EhkLOr3teZLKWNDpabol09/fr/0IJbX19/cba4quQTT71C035GVn+z5NN2o/r/Ha1iSRsWDS\n29YcGWiEVCaDrema9vvOZLA9T1IZCzp9GabL7IUYa2trUNv/IzJu09PTmJ6ettKm6dfW1sr+swtB\nOqshjkTGgk7frkhnMnQyu8sugKRz5coVnDhxAouLiwCAEydO4PLlyxgdHRVrX4K48fqsP4muri4M\nDQ3h6tWrjdc2NzcxPDyMrq4uEX0aY2NjmJ+fb/x7fn4e1WpVTJ/GysoKBgcH73ttdXUVADA1NdV4\nbWJiAjMzM170aZw7dw6VSgUAMDc3J66/cOFCpvq84DpFbkds/16ftyCl9YkW/yLNtk8bstbkM2NB\np7e5fhG+MxZM+rSaos13xoJOn+U8FYlUv8ax6npgOxKq6bbqLWOufbv0m7TPZ8aCTh+imdjUxFvG\nZPul6VoSqunqCPnhCB815KnJd8aCTh+imdjWJJGxoNOHeJ4k+zW1W7krSKRSqcCwu+2oVCqYnp5O\n1b3wwgsAYKVN07/wwgvGc5x2DaL12CxrpDbHmPr1OS6y1F9UTVlI67eMuliTPVL9mtrl3QstTta7\nAlxMWpIi72ogJAhcp8jtiO3fG8ryQhybj+pZPs6b+pUYFza1pdUkmbGg0/u6fj6xqUkqY0GnD/E8\nSfZrHKuuB7YjrWy6SpUbYu6DvOvM0SaRsaDTh2gmNjVB8AuzJH2I50myX1O7XF5oI3Qf1SWWFEL7\nMUoA6O3tRW9vLxYWFozrdEopLCwsiOl3Uq1WsbW1pd2/tbWFY8eOoVKpoFKpeNfrGBkZwa1btxr/\nvnXrFkZGRgAAy8vLjQd46vW6Fz25i6tbtyO2f2+oM90IH1kNpn6B5nuHfaKrOa2maJPIWNDpba4f\nIJOxoNPb1CSVsaDT5x3nUpkMUh5nHKuuB7Yj7WK6SuXPakgzOIngnThJ7duaLiCTsZCkt7l+UhkL\nOr3tmAL8Zyzo9HnHuVQmQxmmy+UF4oT0XQd52pfIWNDpWx3pjIW4nmzD7IU2RDqrIUI6S2Fn+7ZI\nZyyY9ElIZyyk6ZOQzlhI0udBOpOhUFynyO2I7d8b8vKCLktB8pHbopYa0mqSzFjQ6W2un2TGQpLe\npqZo852xoNP7Hue+kOrXOFZdD2xHWt10y7xlrAjjTatJMmNBpw/RTGxNl7eM0XRLp5VNN4SHI6SN\nN0tNvjMWdPoQzcSmJqmMBZ0+xPMk2a+pXWYvxGjF7AUg2324tlrXnAPJx4yZvWAHa7KH2QskM1lN\nLuS7DgjpCFynyO2I7d8byvJCyNGOEksNrjVJZjLkuX5S2NYkkbGg04d4niT7NY5V1wPbkVBN18cX\nY0mY2shrumntu+BSk6+MBZeabPZLYFMTQ8xl+zW1y+WFFkAqS8GU1eCDspcalJLNWDDtS0I6YyHS\n2yCZsZCkJzFc3bodsf17y5jp5s1SMJHUvqmurOPCV822NUlkLOj0NtcvwnfGgk5vUxMgk7Gg09ue\nJ6mMBZ1eyuOMY9X1wHYkVNNVKn+WQho72/dpulH7eY3XtiaJjAWT3rbmyEAjpDIZbE3XtN93JoPt\neZLKWNDpyzDd0pYXBgYGGh+bitoGBgbK+nM7niKXGiQyFnT6dkU6k6GjcXXrvEi27dqnbU1cXnC/\ndnnqz1rTqVOnmmaup0+f1rbhqreteWxsrGm5oFqtao911dvUBEAtLy837avX6wqAmp2dbbw2OTmZ\nW297nm7evKlqtZqq1WrWywV59FI+ZByrrgfmhaZrX5OPLAUduqwGKdPV9WlD1pp8Zizo9FnGlO+M\nBZM+raZo852xoNP7eu/5hqYrTKuabqveMubat0u/Sft8Zizo9CGaiU1NvGVMtl+armWfoZqujpAf\njvBRQ56afGcs6PQhmoltTRIZCzp9iOdJsl9Tu6VlL9jmHPjEJueg1bIXXO7ZtTmmqJyDLPUze8EO\n1mQPsxdIZrLeFSAZSONC2Q9QEFI4rlPkvEi27dqnbU2hLC/EsfmonuXjvKlfiWtnU1taTZIZCzq9\nr+vnE5uapDIWdPoQz5Nkv8ax6npgXkIdjDaEaLpKlRti7oO868zRJpGxoNOHaCY2NUHwC7MkfYjn\nSbJfU7tcXmgjTFkKvpcUQoyFlMxYyKLfiVTGgq1eh0TGgklP7uLq1nmRbNu1T9uaQp3pRvh4mMLU\nL9B877BPdDWn1RRtEhkLOr3N9QNkMhZ0epuapDIWdPq841wqk0HKh4xj1fXAvNB0/da0k7xZDWkG\nJ/FkXJyk9m1NF5DJWEjS21w/qYwFnd52TAH+MxZ0+rzjXCqToQzT5fICcSLkX6CQyFjQ6Vsd6YyF\nuJ5ss7vsAoh/ojXcxcVFABC7RSxujEW0b8vm5iaGh4fR1dXVtK+rqwtDQ0O4evWqiD6J+fl5VKtV\n7f6xsTHMz8+L6ZNYXV0FAExNTTVem5iYwMzMDFZWVjA4OOhdn4dz586hUqkAAObm5rzrC8V1ipwX\nybZd+7StKeTlBV2WguQjt0UtNaTVJJmxoNPbXD/JjIUkvU1N0eY7Y0Gn9z3OfSHVr3Gsuh6YF5qu\n35qUKveWsSKMN60myYwFnT5EM7E1Xd4yRtMVp51NN4SHI6SNN0tNvjMWdPoQzcSmJqmMBZ0+xPMk\n2a+pXWYvxGjF7AUg2324tlrXnAPJx4yZvWAHa7KH2QskM1lNLuS7DgjpCFynyHmRbNu1T9uaQlle\nCDnaUWKpwbUmyUwGX2PKJ7Y1SWQs6PQhnifJfo1j1fXAvIQ8GNNgiLm/deYsuNTkK2PBpSab/RLY\n1MQQc9l+Te1yeaEFkMpSMGU1+KDspQalZDMWTPuSkM5YiPQ2SGYsJOlJDFe3zotr23lmTWl92taU\nNHM11eVjpuuSpWB7rpLaN9WV9drtbN8V25qyZix885vfdM5kyDKmsmQsLC4uOmcy2NQEuGUs7Lx+\ntpkMtufJJWPhM5/5jHMmg5THGceq64F5cW07y8f6rH3mMV1TXT7WdF2yFLKcq53t+zTdqP39+/ff\nlxmQFduasmYsTE5O5spksK05MtAIU8bC9PR0Jn28fVvTNe3XZSwkjSmTPq5Jq0kpt4yFXbt2OWcy\nlGG6XF4ghRAtNVy6dEl8qSFrxsKePXucMxnaFelMhk6G2QstgHSWQlL7EoyOjuILX/hCIT8XJJ2x\nkKRPQzpjYac+DZeMhZ1kzWRIwyVj4S9/+QuGhoacMhkuXLiQqT4vmKbIR44c0X5jyY0bN27ckrcj\nR45ofdX4RBohhBC/cE2XEEIKhKZLCCEFQtMlhXDo0CG8++67ZZeRSBRIRJL5xz/+gbGxMTzyyCN4\n+OGHMTExgf/9739ll9Wy0HRzcuXKFTzzzDNllxE8hw8fxh//+Meyy7iPixcv4vvf/z7efvttzM7O\n4uLFi2WXFBxKKRw/fhzHjx/HjRs3cOPGDdy+fdvbL0J0IjTdnES3n4TCa6+9hqGhIbzzzjvY2NjA\no48+ir/97W9ll4XPfe5z+PWvf112GfcxPj6OD37wg5idncWHPvQhjI+Pl10SAOAHP/gBHnvsMTz2\n2GP44Q9/WGotv/vd79Dd3Y2TJ08CAHbt2oW5uTn8/Oc/x9tvv11qba0KTTcnod388fjjj+Opp57C\nd77zHTz33HN4+umnceDAgbLLwqc+9anGfcCh8NJLL+Gf//wnnn32WSwvL+Oll14quyRcu3YNv/jF\nL/CnP/0Jr776Kn7605/iz3/+c2n1/PWvf8WhQ4fue23fvn0YHBzE3//+95Kqam34cIQjTzzxBN55\n5x3cvn0bb775JoaHhwEAZ8+exWc/+9lSa/vud7+LkZERdHd340c/+lGptUR0d3ejr68P//rXv/CB\nD3yg7HIAAF/+8pcBbK/pPvvssyVXs80f/vAHHD9+HN3d3QCA48eP4/e//z0+9rGPlVKP6ZNcaJ/y\nWoWWmun++Mc/xvDwMA4ePIh///vfpdby6quv4vr16/jZz36Gp556CtevX8f169dLN1wAqNfr2NjY\nwO3bt/HWW2+VXU6Do0ePBrfEANj/AkgR7PzFAaVUqeZ24MABXLt27b7X1tfXsbKygocffrikqlqb\nljLdb3zjG7h+/Tpef/11vP/97y+7HADhLS8AwNe//nV873vfw1e+8hU899xzZZfTIMR13dB48skn\nsbCwgLfeegsbGxtYWFjAk08+WVo9n/70p/Hf//4X58+fB7D9aPS3vvUtPPPMM9Y/QU/up6VMN0Si\nrNNQ+OUvf4n3vOc9+NKXvoRvf/vbeO2114L52ZyPfvSjuHHjhjETttMZHh7GV7/6VXz84x/HE088\nga997WsYGhoqtaZf/epXuHz5Mh555BF85CMfQU9PD2ZmZkqtKeLzn/986Z96s8LHgEmhnDp1Ck8/\n/TQOHz5cdimElAJNlxBCCoTLC4QQUiA0XUIIKRCaLiGEFAhNlxBCCoSmSwghBULTJYSQAqHpEkJI\ngfwfMw2kQLlaaKcAAAAASUVORK5CYII=\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "import matplotlib.pyplot as plt\n", "\n", "patterns = ('-', '+', 'x', '\\\\', '*', 'o', 'O', '.')\n", "\n", "fig = plt.gca()\n", "\n", "# input data\n", "mean_values = range(1, len(patterns)+1)\n", "\n", "# plot bars\n", "x_pos = list(range(len(mean_values)))\n", "bars = plt.bar(x_pos, \n", " mean_values, \n", " align='center', \n", " color='white',\n", " )\n", "\n", "# set patterns\n", "for bar, pattern in zip(bars, patterns):\n", " bar.set_hatch(pattern)\n", " \n", "\n", "# set axes labels and formatting\n", "fig.axes.get_yaxis().set_visible(False) \n", "plt.ylim([0, max(mean_values) * 1.1])\n", "plt.xticks(x_pos, patterns)\n", "\n", "plt.show()" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": false }, "outputs": [], "source": [] } ], "metadata": { "kernelspec": { "display_name": "Python 3", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.5.1" } }, "nbformat": 4, "nbformat_minor": 0 }