如何更改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()
逐个“手动”绘制条形图会起作用,但更简单的替代方法是最好的。
答案 0 :(得分:31)
EOL,你非常接近..,
distance = [1,3,7,9]
energy = [10,20,30,40]
sigma = [1,3,2,5]
(_, caps, _) = plt.errorbar(distance, energy, sigma, capsize=20, elinewidth=3)
for cap in caps:
cap.set_color('red')
cap.set_markeredgewidth(10)
plt.show
set_markeredgewidth
设置上限线的宽度。
Matplotlib对象具有如此多的属性,通常很难记住给定对象的正确属性。 IPython是一个非常有用的工具,用于内省matplotlib。我用它来分析与错误上限线相对应的二维线的属性,我发现了它和其他标记属性。
干杯
答案 1 :(得分:15)