So schalten Sie die Achsen für Subplots in Matplotlib aus

Suraj Joshi 15 Februar 2024
  1. matplotlib.axes.Axes.axis()
  2. matplotlib.axes.Axes.set_axis_off()
  3. matplotlib.pyplot.axis()
  4. get_xaxis().set_visible() und get_yaxis().set_visible()
So schalten Sie die Achsen für Subplots in Matplotlib aus

Wir können die Achsen von Subplots in Matplotlib ausschalten, indem wir die Methoden axis() und set_axis_off() für Achsen-Objekte verwenden. Wir können Achsen auch ausschalten, indem wir die axis() Methode für das Pyplot-Objekt verwenden. Um Achsen insbesondere für die X-Achse auszuschalten, verwenden wir die Methode axes.get_xaxis().set_visible() und um Achsen insbesondere für die Y-Achse auszuschalten, verwenden wir die Methode axis.get_yaxis().set_visible().

matplotlib.axes.Axes.axis()

Um die Achsen für Subplots auszuschalten, übergeben wir off als Parameter an die Methode 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()

Ausgabe:

Ausschalten der Achsen für Subplots in der Matplotlib mit dem Objekt axis for axes

Hier schalten wir die Achsen für jede Teilfläche mit der Methode axes.axis("off") aus.

matplotlib.axes.Axes.set_axis_off()

Wir verwenden matplotlib.axes.Axes.set_axis_off(), um die x- und y-Achse auszuschalten, was sich auch auf die Achsenlinien, Ticks, Ticklabels, Gitter und Achsenbeschriftungen auswirkt.

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()

Ausgabe:

Schalten Sie Achsen für Subplots in Matplotlib mit set_axis_off für das Achsen-Objekt aus

matplotlib.pyplot.axis()

Wenn eine Abbildung einen einzelnen Plot enthält, können wir die Achsen für Unterplotts ausschalten, indem wir der Methode matplotlib.pyplot.axis() als Argument off übergeben. Wenn die Abbildung jedoch mehrere Subplots enthält, schaltet diese Methode die Achsen nur für den letzten Subplot aus.

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()

Ausgabe:

Ausschalten der Achsen für Subplots in Matplotlib unter Verwendung von axis for plot object

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

Wir können die X-Achse ausschalten, indem wir False als Argument an get_xaxis().set_visible() übergeben. Und um die Y-Achse abzuschalten, übergeben wir False als Argument an get_yaxis().set_visible(). Mit dieser Funktion können wir eine einzelne Achse ausschalten.

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()

Ausgabe:

Ausschalten der Achsen für Subplots in Matplotlib mit der Methode set_visible

Diese Methode hat jedoch keinen Einfluss auf den Rahmen der Handlung. Um den Rahmen abzuschalten, übergeben wir das Schlüsselwortargument frameon=False an die Methode plt.axes().

Suraj Joshi avatar Suraj Joshi avatar

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

LinkedIn

Verwandter Artikel - Matplotlib Axes