Comment désactiver les axes des sous-tracés dans Matplotlib

Suraj Joshi 30 janvier 2023
  1. matplotlib.axes.Axes.axis()
  2. matplotlib.axes.Axes.set_axis_off()
  3. matplotlib.pyplot.axis()
  4. get_xaxis().set_visible() et get_yaxis().set_visible()
Comment désactiver les axes des sous-tracés dans Matplotlib

Nous pouvons désactiver les axes des sous-tracés dans Matplotlib en utilisant les méthodes axis() et set_axis_off() pour les objets axes. Nous pouvons également désactiver les axes en utilisant la méthode axis() pour l’objet pyplot. Pour désactiver l’axe pour l’axe X en particulier, nous utilisons la méthode axes.get_xaxis().set_visible() et pour désactiver l’axe pour l’axe Y en particulier, nous utilisons la méthode axes.get_yaxis().set_visible().

matplotlib.axes.Axes.axis()

Pour désactiver les axes des sous-tracés, nous passons off comme paramètre à 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()

Production:

Désactiver les axes pour les sous-tracés dans Matplotlib en utilisant l’axe pour l’objet axes

Ici, nous désactivons les axes pour chaque sous-tracé en utilisant la méthode axes.axis("off").

matplotlib.axes.Axes.set_axis_off()

Nous utilisons matplotlib.axes.Axes.set_axis_off() pour tourner les x et y- axe désactivé affectant également les lignes d’axe, les ticks, les ticklabels, les étiquettes de grille et d’axe.

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

Production:

Désactiver les axes pour les sous-tracés dans Matplotlib en utilisant set_axis_off pour l’objet axes

matplotlib.pyplot.axis()

Si une figure contient un seul tracé, nous pouvons désactiver les axes des sous-tracés en passant off comme argument à matplotlib.pyplot.axis(), méthode. Cependant, si la figure contient plusieurs sous-tracés, cette méthode désactive uniquement les axes pour le dernier sous-tracé.

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

Production:

Désactiver les axes pour les sous-tracés dans Matplotlib en utilisant l’axe pour l’objet de tracé

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

Nous pouvons désactiver l’axe X en passant False comme argument à get_xaxis().set_visible(). Et pour désactiver l’axe Y, nous passons False comme argument à get_yaxis().set_visible(). Nous pouvons désactiver un seul axe en utilisant cette fonction.

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

Production:

Désactiver les axes pour les sous-tracés dans Matplotlib en utilisant la méthode set_visible

Cependant, cette méthode n’a aucun effet sur le cadre du tracé. Pour désactiver le cadre, nous passons l’argument de mot clé frameon=False à la méthode plt.axes().

Auteur: Suraj Joshi
Suraj Joshi avatar Suraj Joshi avatar

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

LinkedIn

Article connexe - Matplotlib Axes