Pythonのグラフ作成ライブラリMatplotlibでグラフの枠線や軸のラベルを消す方法

  • URLをコピーしました!
目次

Matplotlib

今回は漢字間違い探しクイズのプログラムを作成していた時に出てきたグラフの枠線や軸のラベルを消す方法に関して解説していきます。

それではまずは基本のプログラムから。

import matplotlib.pyplot as plt

x = [1, 2, 3, 4, 5]
y = [2, 4, 6, 8, 10]

fig = plt.figure()
plt.clf()

plt.plot(x, y)

plt.show()

実行結果

こんな感じで何の変哲もないただの直線グラフを作成してみました。

枠線を消す方法

それでは枠線を消す方法から見ていきましょう。

枠線を消すには「plt.gca().spines[‘枠線の場所’].set_visible(False)」です。

枠線の場所は「right(右)」「top(上)」「left(左)」「bottom(下)」のどれかを入力します。

とりあえず全部消してみるとこんな感じになります。

import matplotlib.pyplot as plt

x = [1, 2, 3, 4, 5]
y = [2, 4, 6, 8, 10]

fig = plt.figure()
plt.clf()

plt.plot(x, y)

plt.gca().spines['right'].set_visible(False)
plt.gca().spines['top'].set_visible(False)
plt.gca().spines['bottom'].set_visible(False)
plt.gca().spines['left'].set_visible(False)

plt.show()

実行結果

ただ枠線を全部消してしまうのはなかなかないことでしょう。

よくあるのは右と上を消したグラフなので、ちょっと試してみましょう。

import matplotlib.pyplot as plt

x = [1, 2, 3, 4, 5]
y = [2, 4, 6, 8, 10]

fig = plt.figure()
plt.clf()

plt.plot(x, y)

plt.gca().spines['right'].set_visible(False)
plt.gca().spines['top'].set_visible(False)

plt.show()

実行結果

なかなかスッキリしたグラフになりました。

軸のラベルを消す方法

次に軸のラベルを消す方法を見ていきます。

軸のラベルを消すには「tick_params」のオプションに下なら「labelbottom=False」、左なら「labelleft=False」、右なら「labelright=False」、上なら「labeltop=False」を追加します。

とりあえず全部消してみるとこんな感じです。

import matplotlib.pyplot as plt

x = [1, 2, 3, 4, 5]
y = [2, 4, 6, 8, 10]

fig = plt.figure()
plt.clf()

plt.plot(x, y)

plt.tick_params(labelbottom=False, labelleft=False, labelright=False, labeltop=False)

plt.show()

ラベルは消えましたが、ラベルの場所を示す補助線は残ってしまいました。

ということで次はこの補助線を消す方法です。

ラベルの場所を示す補助線を消す方法

ラベルの場所を示す補助線を消すには、軸のラベルを消すのと同様「tick_params」のオプションに下なら「bottom=False」、左なら「left=False」、右なら「right=False」上なら「top=False」を追加します。

とりあえずこの補助線を全て消してみましょう。

import matplotlib.pyplot as plt

x = [1, 2, 3, 4, 5]
y = [2, 4, 6, 8, 10]

fig = plt.figure()
plt.clf()

plt.plot(x, y)

plt.tick_params(bottom=False, left=False, right=False, top=False)

plt.show()

実行結果

軸のラベルも軸の補助線も「tick_params」で設定するので、一括で設定してみるとこんな感じです。

import matplotlib.pyplot as plt

x = [1, 2, 3, 4, 5]
y = [2, 4, 6, 8, 10]

fig = plt.figure()
plt.clf()

plt.plot(x, y)

plt.tick_params(labelbottom=False, labelleft=False, labelright=False, labeltop=False, bottom=False, left=False, right=False, top=False)

plt.show()

実行結果

枠と軸を全て消してみた

ということで枠と軸を全て消してみるとこんな漢字になります。

import matplotlib.pyplot as plt

x = [1, 2, 3, 4, 5]
y = [2, 4, 6, 8, 10]

fig = plt.figure()
plt.clf()

plt.plot(x, y)

plt.gca().spines['right'].set_visible(False)
plt.gca().spines['top'].set_visible(False)
plt.gca().spines['bottom'].set_visible(False)
plt.gca().spines['left'].set_visible(False)

plt.tick_params(labelbottom=False, labelleft=False, labelright=False, labeltop=False, bottom=False, left=False, right=False, top=False)

plt.show()

実行結果

なかなかグラフとしては枠線や軸のラベル、補助線を消すことはないと思いますが、知っておいて損はないことでしょう。

ではでは今回はこんな感じで。

よかったらシェアしてね!
  • URLをコピーしました!

コメント

コメントする

目次
閉じる