如何在Matplotlib中更改误差线帽的线宽?

我尝试了以下代码:

(_, caplines, _) = matplotlib.pyplot.errorbar(
    data['distance'], data['energy'], yerr=data['energy sigma'],
    capsize=10, elinewidth=3)

for capline in caplines:
    capline.set_linewidth(10)
    capline.set_color('red')

pp.draw()

不幸的是,这会更新盖子的颜色,但不会更新盖子的线宽!

产生的效果类似于下图中的“胖错误条线/细线”:

在这种情况下,最好有“胖”的帽子。在Matplotlib中如何做到这一点? “手动”绘制条形图,使用plot()逐个绘制将是可行的,但是更简单的替代方法是最好的。

最佳答案

这是基于@joaquin的答案,但更为简洁(如果您只想要没有特殊样式的简单错误提示):

distance = [1,3,7,9]
energy = [10,20,30,40]
sigma = [1,3,2,5]

plt.errorbar(distance,
    energy,
    sigma,
    capsize=5,
    elinewidth=2,
    markeredgewidth=2)

python - 如何在matplotlib中设置误差线帽的线宽?-LMLPHP

关于python - 如何在matplotlib中设置误差线帽的线宽?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/7601334/

10-11 16:13