如何使用Matplotlib强制使用错误栏进行渲染

Cau*_*tic 15 python matplotlib

我试图在我的建模数据之上用错误条过度绘制一些经验数据.错误条似乎首先呈现,因此重写(见下文)

我尝试过使用zorder,但我仍然得到相同的结果.我正在使用的代码是

    for i in range(1,len(pf)):
            pf[i,:] = av_pf_scale * pf[i,:]
            pylab.semilogy(pf[0,0:180],pf[i,0:180],color='0.75')

    pylab.semilogy(av_pf[0:180],color='r')
    pylab.semilogy(av_mie[0:180],color='g', linestyle='-')

    pylab.draw()
    f = pylab.errorbar(ang,data[j],
                            yerr = delta_data[j],
                            fmt = 'o',
                            markersize = 3,
                            color = 'b',
                            zorder = 300,
                            antialiased = True)
Run Code Online (Sandbox Code Playgroud)

如果有人能告诉我如何使错误栏呈现在顶部,我将不胜感激.

Mulitplot

tac*_*ell 16

这看起来像是一个错误,matplotlib其中的zorder参数errorbar未正确传递给错误栏的垂直线部分.

复制你的问题:

import matplotlib.pyplot as plt
fig = plt.figure()
ax = plt.gca()
[ax.plot(rand(50),color='0.75') for j in range(122)];
ax.errorbar(range(50),rand(50),yerr=.3*rand(50))
plt.draw()
Run Code Online (Sandbox Code Playgroud)

错误栏失败 Hacky解决方法:

fig = plt.figure()
ax = plt.gca()
[ax.plot(rand(50),color='0.75',zorder=-32) for j in range(122)];
ax.errorbar(range(50),rand(50),yerr=.3*rand(50))
plt.draw()
Run Code Online (Sandbox Code Playgroud)

错误吧黑客

向matploblib报告问题https://github.com/matplotlib/matplotlib/issues/1622(现已修补并关闭)

  • matplotlib 2.0.0中也有此错误。我已经创建/重新打开了票证。在plt.errorbar中,`zorder = 3`还提到了一个更好的“ hack”。我将相应地编辑答案。 (3认同)