我想将错误栏垂直线的标题样式设置为“圆形”。例如,以下代码生成一些带有误差条的点:
import matplotlib.pyplot as plt
fig, ax = plt.subplots()
plt.plot([1,2,3], [2,3,4], marker='o', linestyle='None')
plt.errorbar([1,2,3], [2,3,4], yerr=[1,1,1], fmt=None, linewidth=3, capsize=0)
plt.xlim([0,4])
plt.show()
对于普通线条,我可以使用以下方法在 rcParams
中设置上限样式:
plt.rcParams['lines.dash_capstyle'] = 'round'
我还发现了一些很好的例子,如何获得刻度的圆形标题:
for i in ax.xaxis.get_ticklines(): i._marker._capstyle = 'round'
但我无法找到类似的错误栏方法。
最佳答案
plotline, cap, barlinecols =\
plt.errorbar([1,2,3], [2,3,4], yerr=[1,1,1], fmt=None, linewidth=3, capsize=0)
plt.errorbar
返回 3 个对象。 plotline
和 cap
是 Line2D
对象,您可以执行以下操作:
plotline.set_capstyle('round')
cap.set_capstyle('round')
barlinecols
是一个 LineCollection
对象。但是,当前版本 (matplotlib 2.0) 不支持更改 LineCollection
对象中的 capstyle
(请参阅: https://github.com/matplotlib/matplotlib/issues/8277 )。不过看起来这会在下一个版本中实现。
关于python - 更改 matplotlib 中错误栏的 capstyle,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40292875/