Matplotlibでは、次のように破線のグリッド線を作成します。
fig = pylab.figure()
ax = fig.add_subplot(1,1,1)
ax.yaxis.grid(color='gray', linestyle='dashed')
ただし、グリッド線を他のグラフ要素(バーなど)の後ろに描画する方法(または可能であっても)はわかりません。グリッドを追加する順序と他の要素を追加する順序を変更しても違いはありません。
グリッド線が他のすべての後ろに表示されるようにすることは可能ですか?
これによると http://matplotlib.1069221.n5.nabble.com/axis-elements-and-zorder-td5346.html -Axis.set_axisbelow(True)
を使用できます
(私は現在matplotlibを初めてインストールしていますので、それが正しいかどうかわかりません-「matplotlib z order grid」をグーグルで見つけたところです-「z order」は通常この種のことを説明するために使用されます(zは軸です「ページ外」))
私には、アンドリュークックの答えをどのように適用するかがはっきりしていなかったので、これはそれに基づいた完全なソリューションです:
ax.set_axisbelow(True)
ax.yaxis.grid(color='gray', linestyle='dashed')
allの数字の設定を検証する場合は、次のように設定できます。
plt.rc('axes', axisbelow=True)
または
plt.rcParams['axes.axisbelow'] = True
Matplotlib> = 2.0で動作します。
私は同じ問題を抱えており、次のように機能しました:
[line.set_zorder(3) for line in ax.lines]
fig.show() # to update
増加する 3
それが機能しない場合、より高い値に。