Matplotlib でサブプロットの軸をオフにする方法
-
matplotlib.axes.Axes.axis() -
matplotlib.axes.Axes.set_axis_off() -
matplotlib.pyplot.axis() -
get_xaxis().set_visible()とget_yaxis().set_visible()
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.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()
出力:

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()
出力:

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()
出力:

ただし、この方法はプロットのフレームには影響しません。フレームをオフにするには、キーワード引数 frameon = False を plt.axes() メソッドに渡します。
Suraj Joshi is a backend software engineer at Matrice.ai.
LinkedIn