使用pandas绘制带有误差线的条形图

Ein*_*nar 7 python matplotlib pandas

我正在尝试从DataFrame生成条形图,如下所示:

            Pre    Post
 Measure1   0.4    1.9
Run Code Online (Sandbox Code Playgroud)

这些值是我从其他地方计算的中值,我也有它们的方差和标准差(以及标准误差).我想将结果绘制为带有正确误差线的条形图,但是指定多个错误值会yerr产生异常:

# Data is a DataFrame instance
fig = data.plot(kind="bar", yerr=[0.1, 0.3])

[...]
ValueError: In safezip, len(args[0])=1 but len(args[1])=2
Run Code Online (Sandbox Code Playgroud)

如果我指定一个值(不正确),一切都很好.我怎样才能真正为每列提供正确的错误栏?

luc*_*asg 7

你的数据形状是什么?

对于n-by-1数据向量,您需要一个n乘2的误差向量(正误差和负误差):

import pandas as pd 
import matplotlib.pyplot as plt

df2 = pd.DataFrame([0.4, 1.9])
df2.plot(kind='bar', yerr=[[0.1, 3.0], [3.0, 0.1]])

plt.show()
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

  • 我很困惑,“[3.0, 0.1]”的值是什么?误差线仅由“[0.1, 3.0]”确定 (2认同)