Matplotlib で軸、境界線、空白を隠す

Suraj Joshi 2023年1月30日
  1. Matplotlib 図の軸を隠す
  2. Matplotlib 図の空白と境界線を隠す
Matplotlib で軸、境界線、空白を隠す

このチュートリアルでは、matplotlib.pyplot.axis('off') コマンドを使ってプロット中の軸を非表示にする方法と、図を保存しながら図中のすべての空白、境界線を削除する方法を説明します。

Matplotlib 図の軸を隠す

軸を隠すには、matplotlib.pyplot.axis('off') コマンドを使用できます。

import numpy as np
import matplotlib.pyplot as plt

img = np.random.randn(10, 10)
plt.imshow(img)
plt.axis("off")

plt.show()

出力:

Matplotlib の図で軸を隠す

これは図の X 軸と Y 軸の両方を非表示にします。

X 軸と Y 軸のどちらかを消したい場合は、axes.get_xaxis().set_visible() または axes.get_xaxis().set_visible() メソッドをそれぞれ使用します。

import numpy as np
import matplotlib.pyplot as plt

img = np.random.randn(10, 10)

fig = plt.imshow(img)
ax = plt.gca()
ax.get_xaxis().set_visible(False)

plt.show()

出力:

Matplotlib の図で X 軸のみを非表示にする

図の X 軸のみを非表示にします。

Matplotlib 図の空白と境界線を隠す

plt.axis('off') コマンドは軸を非表示にしますが、画像を保存している間に画像の境界付近に空白ができてしまいます。これを取り除くには、savefig() メソッドで bbox_inches='tight' を設定します。同様に、savefig() メソッドで pad_inches = 0 を指定している間に画像の周囲の白抜きを削除します。

import numpy as np
import matplotlib.pyplot as plt

img = np.random.randn(10, 10)

fig = plt.imshow(img)
plt.axis("off")
plt.savefig("image.png", bbox_inches="tight", pad_inches=0)

保存された画像:

Matplotlib 図での空白と境界線の非表示

savefig() メソッドを用いて軸、境界線、空白を除いた画像を保存します。

また、matplotlib.pyplot.imsave() メソッドを用いて、軸、境界線、空白を除いた画像を保存することもできます。

import numpy as np
import matplotlib.pyplot as plt

img = np.random.randn(100, 100)
plt.imsave("kapal.png", img)
著者: Suraj Joshi
Suraj Joshi avatar Suraj Joshi avatar

Suraj Joshi is a backend software engineer at Matrice.ai.

LinkedIn

関連記事 - Matplotlib Axes