我想用以下样式绘制带有错误栏的折线图。

pandas -  Pandas 图中错误栏的样式-LMLPHP

但是,pandas plot仅使用垂直线绘制误差线。

pd.DataFrame([1,2,3]).plot(yerr=[0.3,.3,.3])


pandas -  Pandas 图中错误栏的样式-LMLPHP

如何更改熊猫图的误差线样式?

这些版本是:


熊猫'0.18.0'
matplotlib'1.5.1'


更新资料

原因之一似乎是使用seaborn风格。以下代码给出了漂亮的样式图。

# plt.style.use('seaborn-paper')
pd.DataFrame([1,2,3]).plot(yerr=[0.3,.3,.3],capsize=4)


但是,我有理由继续使用海洋风格...请帮助。

最佳答案

您可以使用plot kwarg(传递给DataFrame)在capsize上调用plt.errorbar时更改内嵌大小上限:

pd.DataFrame([1,2,3]).plot(yerr=[0.3,.3,.3],capsize=4)


或者,您可以使用rcParams更改此设置。
您可以通过打印plt.rcParams['errorbar.capsize']来了解默认的错误栏上限大小。如果该值为0(这就是为什么我怀疑您目前没有错误栏上限的原因),则可以使用以下命令将错误栏上限的默认大小设置为非零值:
plt.rcParams['errorbar.capsize']=4

确保在任何绘图脚本的开头都有该内容。

更新:
似乎使用seaborn-paper样式将盖帽厚度设置为0。您可以使用capthick kwarg覆盖它:
plt.style.use('seaborn-paper')
pd.DataFrame([1,2,3]).plot(yerr=[0.3,.3,.3],capsize=4,capthick=1)

关于pandas - Pandas 图中错误栏的样式,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/36351774/

10-09 06:24