我想用以下样式绘制带有错误栏的折线图。
但是,pandas plot仅使用垂直线绘制误差线。
pd.DataFrame([1,2,3]).plot(yerr=[0.3,.3,.3])
如何更改熊猫图的误差线样式?
这些版本是:
熊猫'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/