15

モデル化されたデータの上にエラーバーを含むいくつかの経験的データをオーバープロットしようとしています。エラーバーが最初にレンダリングされているように見え、その結果、上書きされています(以下を参照)

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)

エラーバーを上に表示する方法を教えていただければ幸いです。

マルチプロット

4

2 に答える 2

16

エラーバーの縦線部分にmatplotlibzorder引数が正しく渡されていないバグのようです。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()

エラーバー失敗 ハッキーな回避策:

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()

エラーバーハック

問題として matploblib に報告してください https://github.com/matplotlib/matplotlib/issues/1622 (現在、パッチを適用してクローズしています)

于 2012-12-22T22:40:37.283 に答える