在某些情况下,matplotlib 在使用对数刻度时会错误地显示带有误差线的绘图。假设这些数据(例如在 pylab 中):
s=[19.0, 20.0, 21.0, 22.0, 24.0]
v=[36.5, 66.814250000000001, 130.17750000000001, 498.57466666666664, 19.41]
verr=[0.28999999999999998, 80.075044597909169, 71.322124839818571, 650.11015891565125, 0.02]
errorbar(s,v,yerr=verr)
我得到一个正常的结果,但是当我切换到对数刻度时:
yscale('log')
我得到一个图,其中一些误差条不可见,尽管您仍然可以看到一些误差条上限。(见下文。)为什么会发生这种情况,我该如何解决?