更改误差棒大小

8

我需要改变绘图中标记的大小(使它们更大)。如何改变误差线的宽度?我使用的是matplotlib。谢谢。

plot=ax.errorbar(x,y, yerr=[y1,y2], color='red', fmt='.', markersize='10', ecolor='red',capsize=4)
2个回答

9
您可以通过在调用errorbar(x,y,...)时设置elinewidth属性来使误差棒变粗。 但误差棒的长度是您的数据:如果更改长度,则会更改它所表示的误差。 更多信息请参阅errorbar文档
import matplotlib.pyplot as plt

# define x,y, y1,y2 here ...

plt.figure()
plt.errorbar(x,y, yerr=[y1,y2], color='red', fmt='.', markersize='10', ecolor='red',capsize=4, elinewidth=2)

谢谢Bonlenfum。我知道长度取决于我的数据,但是有没有可能扩大点和误差棒的大小? - ely
@ely 我知道你几年前就问过这个问题,但我看到 bonlenfum 没有真正回答你的问题。markersize设置标记的大小(我相信你称之为“点”),而elinewidth则设置误差线的宽度。 - abcd
1
如果使用plt.bar()或其他可以间接绘制误差线的类型,则可以使用:error_kw = {'elinewidth': 2} - gaborous

2

如果您想将误差线帽的线宽更改为2,则可以使用以下代码:

(_, caps, _) = errorbar(x, y, yerr=[y1,y2], elinewidth=2)
for cap in caps:
     cap.set_markeredgewidth(2)

1
所以 capsize 设置了帽子的长度,而set_markeredgewidth 则设置了宽度。 - abcd

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接