この記事では,matplotlibでグリッド線をグラフの後ろにする方法をご紹介します。
目次
グリッド線を後ろに持っていく方法
どういう意味なのか
matplotlibでグラフを作成したときに,グリッド線がグラフの前面にくることがあります。
下の図のような現象です。

ちなみに,下のコードで出力しています。
import matplotlib.pyplot as plt
# データの設定
x = [1, 2, 3, 4, 5, 6, 7]
y = [50, 100, 180, 200, 250, 650, 700]
# グラフの定義
fig = plt.figure(figsize=(7, 4),dpi=300)
ax = fig.add_subplot(1,1,1)
# グラフの定義
fig = plt.figure(figsize=(7, 4),dpi=300)
ax = fig.add_subplot(1,1,1)
# 棒グラフの作成
ax.bar(x, y, align="center", color='#323232')
ax.grid(axis='y',linestyle='--', color='#e0e0e0')
fig.show()明らかに変なので,これを解消する方法をご説明します。
グリッド線を後ろにする方法
結論から言うと,この1行を追加するだけです。
plt.rcParams['axes.axisbelow'] = Trueこれを加えると,以下の画像となります。

デフォルトからこうなっていない理由はわかりませんが,困っていたので誰かの役に立つと嬉しいです。
ソースコード全文はこちらです。
import matplotlib.pyplot as plt
plt.rcParams['axes.axisbelow'] = True
# データの設定
x = [1, 2, 3, 4, 5, 6, 7]
y = [50, 100, 180, 200, 250, 650, 700]
# グラフの定義
fig = plt.figure(figsize=(7, 4),dpi=300)
ax = fig.add_subplot(1,1,1)
# 棒グラフの作成
ax.bar(x, y, align="center", color='#323232')
ax.grid(axis='y',linestyle='--', color='#e0e0e0')
fig.show()

コメント