Skip to content

Instantly share code, notes, and snippets.

@suntong
Created December 11, 2015 21:04
Show Gist options
  • Save suntong/8740c0b6a67cfc79856b to your computer and use it in GitHub Desktop.
Save suntong/8740c0b6a67cfc79856b to your computer and use it in GitHub Desktop.
Display the source blob
Display the rendered blob
Raw
{
"cells": [
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Pandas, Bar Chart With Error Bars\n",
"http://pandas.pydata.org/pandas-docs/stable/visualization.html#visualization-errorbars\n",
"\n",
"New in version 0.14.\n",
"\n",
"Plotting with error bars is now supported in the DataFrame.plot() and Series.plot()\n",
"\n",
"Horizontal and vertical errorbars can be supplied to the xerr and yerr keyword arguments to plot(). The error values can be specified using a variety of formats.\n",
"\n",
"- As a DataFrame or dict of errors with column names matching the columns attribute of the plotting DataFrame or matching the name attribute of the Series\n",
"- As a str indicating which of the columns of plotting DataFrame contain the error values\n",
"- As raw values (list, tuple, or np.ndarray). Must be the same length as the plotting DataFrame/Series\n",
"\n",
"Asymmetrical error bars are also supported, however raw error values must be provided in this case. For a M length Series, a Mx2 array should be provided indicating lower and upper (or left and right) errors. For a MxN DataFrame, asymmetrical errors should be in a Mx2xN array.\n",
"\n",
"Here is an example of one way to easily plot group means with standard deviations from the raw data."
]
},
{
"cell_type": "code",
"execution_count": 1,
"metadata": {
"collapsed": false
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
" data1 data2\n",
"letter word \n",
"a bar 3.5 6.0\n",
" foo 2.5 5.5\n",
"b bar 2.5 5.5\n",
" foo 3.0 4.5\n",
" data1 data2\n",
"letter word \n",
"a bar 0.707107 1.414214\n",
" foo 0.707107 0.707107\n",
"b bar 0.707107 0.707107\n",
" foo 1.414214 0.707107\n"
]
}
],
"source": [
"%matplotlib inline\n",
"\n",
"import numpy as np\n",
"import pandas as pd\n",
"\n",
"import matplotlib.pyplot as plt\n",
"\n",
"\n",
"# Generate the data\n",
"ix3 = pd.MultiIndex.from_arrays([['a', 'a', 'a', 'a', 'b', 'b', 'b', 'b'], ['foo', 'foo', 'bar', 'bar', 'foo', 'foo', 'bar', 'bar']], names=['letter', 'word'])\n",
"\n",
"df3 = pd.DataFrame({'data1': [3, 2, 4, 3, 2, 4, 3, 2], 'data2': [6, 5, 7, 5, 4, 5, 6, 5]}, index=ix3)\n",
"\n",
"# Group by index labels and take the means and standard deviations for each group\n",
"gp3 = df3.groupby(level=('letter', 'word'))\n",
"\n",
"means = gp3.mean()\n",
"errors = gp3.std()\n",
"\n",
"print(means)\n",
"print(errors)\n",
"\n"
]
},
{
"cell_type": "code",
"execution_count": 2,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/plain": [
"<matplotlib.axes._subplots.AxesSubplot at 0x153f036b38>"
]
},
"execution_count": 2,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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\nrkJggg==\n",
"text/plain": [
"<matplotlib.figure.Figure at 0x153f23e8d0>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"# Plot\n",
"fig, ax = plt.subplots()\n",
"\n",
"means.plot(yerr=errors, ax=ax, kind='bar')\n"
]
},
{
"cell_type": "code",
"execution_count": 3,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/plain": [
"<matplotlib.axes._subplots.AxesSubplot at 0x15424695f8>"
]
},
"execution_count": 3,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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\n3JXRhuQAAAAASUVORK5CYII=\n",
"text/plain": [
"<matplotlib.figure.Figure at 0x154246ccc0>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"# Plot\n",
"fig, ax = plt.subplots()\n",
"\n",
"means.plot(yerr=errors, ax=ax, kind='barh')\n"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"collapsed": true
},
"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.0"
}
},
"nbformat": 4,
"nbformat_minor": 0
}
@suntong
Copy link
Author

suntong commented Dec 11, 2015

The fix is to change the yerr= to xerr=.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment