{ "metadata": { "name": "", "signature": "sha256:447e84feb0dbdd67128fd3628d7b9bf8187b033e261c8f3cc0056cc41c5a801a" }, "nbformat": 3, "nbformat_minor": 0, "worksheets": [ { "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Bar Plot In MatPlotLib\n", "\n", "- **Author:** [Chris Albon](http://www.chrisalbon.com/), [@ChrisAlbon](https://twitter.com/chrisalbon)\n", "- **Date:** -\n", "- **Repo:** [Python 3 code snippets for data science](https://github.com/chrisalbon/code_py)\n", "- **Note:** Based on: [Sebastian Raschka](http://nbviewer.ipython.org/github/rasbt/matplotlib-gallery/blob/master/ipynb/barplots.ipynb)." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Preliminaries" ] }, { "cell_type": "code", "collapsed": false, "input": [ "%matplotlib inline\n", "import pandas as pd\n", "import matplotlib.pyplot as plt\n", "import numpy as np" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 4 }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Create dataframe" ] }, { "cell_type": "code", "collapsed": false, "input": [ "raw_data = {'first_name': ['Jason', 'Molly', 'Tina', 'Jake', 'Amy'],\n", " 'pre_score': [4, 24, 31, 2, 3],\n", " 'mid_score': [25, 94, 57, 62, 70],\n", " 'post_score': [5, 43, 23, 23, 51]}\n", "df = pd.DataFrame(raw_data, columns = ['first_name', 'pre_score', 'mid_score', 'post_score'])\n", "df" ], "language": "python", "metadata": {}, "outputs": [ { "html": [ "
\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
first_namepre_scoremid_scorepost_score
0 Jason 4 25 5
1 Molly 24 94 43
2 Tina 31 57 23
3 Jake 2 62 23
4 Amy 3 70 51
\n", "
" ], "metadata": {}, "output_type": "pyout", "prompt_number": 5, "text": [ " first_name pre_score mid_score post_score\n", "0 Jason 4 25 5\n", "1 Molly 24 94 43\n", "2 Tina 31 57 23\n", "3 Jake 2 62 23\n", "4 Amy 3 70 51" ] } ], "prompt_number": 5 }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Make plot" ] }, { "cell_type": "code", "collapsed": false, "input": [ "# Create a list of the mean scores for each variable\n", "mean_values = [df['pre_score'].mean(), df['mid_score'].mean(), df['post_score'].mean()]\n", "\n", "# Create a list of variances, which are set at .25 above and below the score\n", "variance = [df['pre_score'].mean() * 0.25, df['pre_score'].mean() * 0.25, df['pre_score'].mean() * 0.25]\n", "\n", "# Set the bar labels\n", "bar_labels = ['Pre Score', 'Mid Score', 'Post Score']\n", "\n", "# Create the x position of the bars\n", "x_pos = list(range(len(bar_labels)))\n", "\n", "# Create the plot bars\n", "# In x position\n", "plt.bar(x_pos,\n", " # using the data from the mean_values\n", " mean_values, \n", " # with a y-error lines set at variance\n", " yerr=variance, \n", " # aligned in the center\n", " align='center',\n", " # with color\n", " color='#FFC222',\n", " # alpha 0.5\n", " alpha=0.5)\n", "\n", "# add a grid\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('Score')\n", "plt.xticks(x_pos, bar_labels)\n", "plt.title('Mean Scores For Each Test')\n", "\n", "plt.show()" ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "display_data", "png": "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\nRBxQso9ENfvs8lrzzQuv/adkLyLigJJ9JKrZZ5fXmm9eeO0/JXsREQeU7CNRzT67vNZ888Jr/3Xq\nRGgCJIldqter+b5Uql0XEUmDkn0H1Sf1QiEhSUoRo5GxStZucTs6zAOv/acyjoiIA0r20ZRiByBj\n5HFUmCde+0/JXkTEASX7aJLYAcgYeZ2nnRde+0/JXkTEASX7aEqxA5Ax8lrzzQuv/adkLyLigJJ9\nNEnsAGSMvNZ888Jr/+XiS1WLP3ote/fsjB3GKF1Cuf+y2EG0bfLUl3L1h2+IHYaIjFEukv3ePTsp\nL5wdO4xRuX5xifLCDbHDaFt56cbYIXQNrzXfvPDafyrjiIg4oGQfTRI7ABkjrzXfvPDaf2kn+5uA\nIaC+BjANuBvYDNwFFFOOQUTEvbST/c3AeQ3L+rFkPwtYFdoOlWIHIGPkteabF177L+1kfw/wTMOy\nC4Dl4fpyYH7KMYiIuBejZj8dK+0Q/k6PEEMXSGIHIGPkteabF177L/bUy0q4NNXX10dPTw8AxWKR\n3t7e/T/nV/3B7v3t0IHVj2jd3ob1JGt/1DXxHKw9uHU7SZK0fv/H2+6y15u3dlr9VxX79eW+PUJ/\nJEnCwMAAwP582Uyh5S0Tpwe4E6hOhN+EFax3ADOA1cApTR5XqVRa7geGKfdflrl59oWeK6kMfjJ2\nGG0rL91IedGydNadwf7LmrT6T32XvtH2XaFQgCa5PcbIfiWwAFgc/q6IEEMUydqZJPedAMDcs56g\nfONZAJTOfoLSnG0xQxORnEs72d8KzAWOAx4H/gpYBNwGXAoMAhemHEPXKM3Ztj+pJ2tvcTsrIOu8\n/oZpXnjtv7ST/UUtls9L+XlFRKSOvkEbiceRRV6o77LNa/8p2YuIOKBkH4nXub55oL7LNq/9p2Qv\nIuKAkn0kXuuGeaC+yzav/adkLyLigJJ9JF7rhnmgvss2r/2nZC8i4oCSfSRe64Z5oL7LNq/9p2Qv\nIuKAkn0kXuuGeaC+yzav/adkLyLigJJ9JF7rhnmgvss2r/2nZC8i4oCSfSRe64Z5oL7LNq/9p2Qv\nIuKAkn0kXuuGeaC+yzav/adkLyLigJJ9JF7rhnmgvss2r/2nZC8i4oCSfSRe64Z5oL7LNq/9p2Qv\nIuJAzGR/HrAJ2AJcHTGOKLzWDfNAfZdtXvsvVrI/FPgHLOH/OnARcGqkWKJY/8i22CHIGKnvss1r\n/8VK9mcCPwIGgV8CXwJ+N1IsUex6bm/sEGSM1HfZ5rX/YiX7mcDjde0nwjIREUlBrGRfifS8XWPw\niadjhyBjpL7LNq/9V4j0vGcDZaxmD3ANsA9YXHef9cBrOxuWiEjmbQB6YwdRNQn4T6AHOBxL7K4O\n0IqIeHE+8Ch2oPaayLGIiIiIiEievQCsAzYCtwGTx7GuDwE/wOpp67Dpp5KefcDn69qTgCeBO0P7\nnbT+Mt+eFsvVh+kb7zZ3Eva9nWYOAf4+rPsh4AGslCzC7rrrtwB/3nD7pDbXMwe4FzgstKcBM8YX\nWtvP7dVu4EHgyNA+H0siK9t8bCP1YWccbJs7mBK1HXqji4Db69q/BhRHuf5GmelDnRunffcArwLm\nhuv/io3yDgH+BhslbADe1+SxxwNPYV8gA3ga2B6uvwH4DnaQ+n7gKCxB3YyNPh7E/oEB+rBktQq4\nG5gC3BQe9yBwwfhfZq78G/Db4fpFwK3UZqD1AZ8K118OrMXe74+2WJf6sPO+jW1zxwIrsO1rLTA7\n3D4X24GvA74PTAUWAW8Jy65sWN/x1PoM4CfArnD9vLCO9cC3wrJpLZ63jH1q/DawHDgO+AqWAx4A\n3jjWFyzxVEcZk7Dk/ifYP9ge7OMiWHL/ULh+BPBdDvxoeBT2z/co8I/Ab4blh2Ozkl4f2lOxU0lc\nBSwLy04GfhzW3Yd9Ga06GrkBuDhcL4b1Txn9y8yl3djGeTv23q3D+q466uujluxXApeE6++n+che\nfdgZ9dvcCmyb+xTwl2H5W7F+AOu3OeH6FOx9r+/jRjOBx8Lj/5ba9MSXAFupbdPVvmn1vGVsOz8i\ntL8IvClcfxnwyMFeZAwa2Y9sMtbB38VO7XATNjJ8ANt4Ac4F3h3udx82GnhVw3qex5LB+7C68ZeB\nBVgS2I6NKMB2Ii9g/zi3hGWPhueahX0Z7W5qo5Fzgf7w3Kuxf74Tx/ma82QjtuO9CPj6CPd7Izbq\nh9r73kh92Bn129yPsW3uTdSOv6wGXgwcjX2auhG4HBv9v8DI3x3ahvVX9Xs9q4BzsO/9/Ae1bbra\nN62et4LtaH4ebpuHnetrHTYoPJou3GFnpt4UyV7g9CbLn29ofwDbgEeyD1gTLhuxRPH9Ee7f6p+2\n8bl/HztzqDS3EhvFzcVGcOOhPkxfq22u8b2sYF/C/BpWqvsO8PY21v8L4P+FyxAwH7hrhPu36sOf\nNdznrLDurqWR/fh9E/voX91xzuLAvfosoP4XE07HPik8ih3kOyMsPxr7KHoPtY/2s7CPhps48B/v\nm8AVDeuV4W7CPnY/PMJ9vgO8K1y/uMV91Ifx1L+XJeyT1R7glVi/fgL7JHAy8BzWB82cjh2UBct9\nr8X68D6sLNcTbps2wvPu5sA+vIvhfdg1316V9j3XZNlchs/oKAAfww7EbcQ+Gr6o4TGvwxLKw9jB\nnq9Q+4c6Azv4sx6b7TEF+yh/E7WDe3PDfRdgU8eqjgQ+E+73A9qbaeLFwfqu/r3swd77h4CPtHis\n+rAzmr33xwJ3YO/7vcBvhOXVaZQbgC9gM6UmYdvgeg48QPt24HvhMRuxYyqHh9vOw/ppPbYDHul5\nrwP+Z916X4yduXcD9v/x6fZfroiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIpOL/AwLD+iSpe2XQ\nAAAAAElFTkSuQmCC\n", "text": [ "" ] } ], "prompt_number": 19 }, { "cell_type": "code", "collapsed": false, "input": [], "language": "python", "metadata": {}, "outputs": [] } ], "metadata": {} } ] }