Matplotlib でサブプロットの軸をオフにする方法

Suraj Joshi 2023年1月30日
  1. matplotlib.axes.Axes.axis()
  2. matplotlib.axes.Axes.set_axis_off()
  3. matplotlib.pyplot.axis()
  4. get_xaxis().set_visible()get_yaxis().set_visible()
Matplotlib でサブプロットの軸をオフにする方法

Axes オブジェクトの axis() および set_axis_off() メソッドを使用して、Matplotlib のサブプロットの Axes をオフにできます。pyplot オブジェクトの axis() メソッドを使用して軸をオフにすることもできます。特に X 軸の軸をオフにするには、axes.get_xaxis().set_visible() を使用し、Y 軸の軸をオフにするには、axes.get_yaxis().set_visible() メソッドを使用します。

matplotlib.axes.Axes.axis()

サブプロットの軸をオフにするには、off をパラメーターとして matplotlib.axes.Axes.axis() メソッドに渡します。

import numpy as np
import matplotlib.pyplot as plt

x = np.linspace(-3, 3, 100)
y1 = np.sin(x)
y2 = np.cos(x)
y3 = 1 / (1 + np.exp(-x))
y4 = np.exp(x)

fig, ax = plt.subplots(2, 2)

ax[0, 0].plot(x, y1)
ax[0, 0].set_title("Sine function")
ax[0, 0].axis("off")

ax[0, 1].plot(x, y2)
ax[0, 1].set_title("Cosine function")
ax[0, 1].axis("off")

ax[1, 0].plot(x, y3)
ax[1, 0].set_title("Sigmoid function")
ax[1, 0].axis("off")

ax[1, 1].plot(x, y4)
ax[1, 1].set_title("Exponential function")
ax[1, 1].axis("off")

fig.tight_layout()
plt.show()

出力:

Axes オブジェクトの軸を使用して Matplotlib のサブプロットの軸をオフにする

ここでは、axes.axis("off") メソッドを使用して各サブプロットの軸をオフにします。

matplotlib.axes.Axes.set_axis_off()

matplotlib.axes.Axes.set_axis_off() を使用して、x-および y-軸オフは、軸線、目盛り、目盛りラベル、グリッド、軸ラベルにも影響します。

import numpy as np
import matplotlib.pyplot as plt

x = np.linspace(-3, 3, 100)
y1 = np.sin(x)
y2 = np.cos(x)
y3 = 1 / (1 + np.exp(-x))
y4 = np.exp(x)

fig, ax = plt.subplots(2, 2)

ax[0, 0].plot(x, y1)
ax[0, 0].set_title("Sine function")
ax[0, 0].set_axis_off()

ax[0, 1].plot(x, y2)
ax[0, 1].set_title("Cosine function")
ax[0, 1].set_axis_off()

ax[1, 0].plot(x, y3)
ax[1, 0].set_title("Sigmoid function")
ax[1, 0].set_axis_off()

ax[1, 1].plot(x, y4)
ax[1, 1].set_title("Exponential function")
ax[1, 1].set_axis_off()

fig.tight_layout()
plt.show()

出力:

Axes オブジェクトの set_axis_off を使用して Matplotlib のサブプロットの Axes をオフにする

matplotlib.pyplot.axis()

図に単一のプロットがある場合、matplotlib.pyplot.axis() に引数として off を渡すことにより、サブプロットの軸をオフにできます。メソッド。ただし、Figure に複数のサブプロットが含まれている場合、このメソッドは最後のサブプロットの軸のみをオフにします。

import numpy as np
import matplotlib.pyplot as plt

x = np.linspace(-3, 3, 100)
y = np.sin(x)

plt.plot(x, y)
plt.axis("off")
plt.show()

出力:

プロットオブジェクトの軸を使用して Matplotlib のサブプロットの軸をオフにする

get_xaxis().set_visible()get_yaxis().set_visible()

False を引数として get_xaxis().set_visible() に渡すことで、X 軸をオフにできます。Y 軸をオフにするには、False を引数として get_yaxis().set_visible() に渡します。この機能を使用して、単軸をオフにすることができます。

import numpy as np
import matplotlib.pyplot as plt

x = np.linspace(-3, 3, 100)
y1 = np.sin(x)
y2 = np.cos(x)
y3 = 1 / (1 + np.exp(-x))
y4 = np.exp(x)

fig, ax = plt.subplots(2, 2)

ax[0, 0].plot(x, y1)
ax[0, 0].set_title("Sine function")
ax[0, 0].get_xaxis().set_visible(False)
ax[0, 0].get_yaxis().set_visible(False)

ax[0, 1].plot(x, y2)
ax[0, 1].set_title("Cosine function")
ax[0, 1].get_xaxis().set_visible(False)
ax[0, 1].get_yaxis().set_visible(False)

ax[1, 0].plot(x, y3)
ax[1, 0].set_title("Sigmoid function")
ax[1, 0].get_xaxis().set_visible(False)
ax[1, 0].get_yaxis().set_visible(False)

ax[1, 1].plot(x, y4)
ax[1, 1].set_title("Exponential function")
ax[1, 1].get_xaxis().set_visible(False)
ax[1, 1].get_yaxis().set_visible(False)

fig.tight_layout()
plt.show()

出力:

set_visible メソッドを使用して Matplotlib のサブプロットの座標軸をオフにする

ただし、この方法はプロットのフレームには影響しません。フレームをオフにするには、キーワード引数 frameon = Falseplt.axes() メソッドに渡します。

著者: Suraj Joshi
Suraj Joshi avatar Suraj Joshi avatar

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

LinkedIn

関連記事 - Matplotlib Axes