Como Desligar os Eixos para Subplots em Matplotlib

Suraj Joshi 15 fevereiro 2024
  1. matplotlib.axes.Axes.axis()
  2. matplotlib.axes.Axes.set_axis_off()
  3. matplotlib.pyplot.axis()
  4. get_xaxis().set_visible() e get_yaxis().set_visible()
Como Desligar os Eixos para Subplots em Matplotlib

Podemos desligar os eixos de subquadros em Matplotlib utilizando os métodos axis() e set_axis_off() para objetos de eixos. Também podemos desligar os eixos utilizando o método axis() para o objeto pyplot. Para desligar o eixo para o eixo X em particular, utilizamos o método axes.get_xaxis().set_visible() e para desligar o eixo para o eixo Y em particular, utilizamos o método axes.get_yaxis().set_visible().

matplotlib.axes.Axes.axis()

Para desligar os eixos para subquadros, passamos como parâmetro para o método 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()

Resultado:

Desligar eixos para subquadrantes em Matplotlib utilizando eixo para eixo objeto

Aqui, desligamos os eixos para cada subplot utilizando o método axes.axis("off").

matplotlib.axes.Axes.set_axis_off()

Utilizamos matplotlib.axes.Axes.set_axis_off() para desligar os eixos x e y que afetam as linhas dos eixos, ticks, ticklabels, grades e etiquetas dos eixos também.

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

Resultado:

Desligar eixos para subquadros em Matplotlib utilizando set_axis_off para os eixos objeto

matplotlib.pyplot.axis()

Se uma figura tem um único gráfico, podemos desligar os eixos para subquadros passando o método matplotlib.pyplot.axis(). Entretanto, se a figura contiver vários subquadros, este método só desliga os eixos para o último subquadrilho.

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

Resultado:

Desliga eixos para subquadrantes em Matplotlib utilizando eixo para objeto de gráfico

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

Podemos desligar o eixo X passando False como um argumento para get_xaxis().set_visible(). E para desligar o eixo Y, passamos False como um argumento para get_yaxis().set_visible(). Podemos fazer com que um eixo se desligue utilizando esta função.

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

Resultado:

Desligar eixos para subquadros em Matplotlib utilizando o método set_visible

No entanto, este método não tem efeito sobre o quadro da trama. Para desligar o quadro, passamos a palavra-chave frameon=False para plt.axes() método.

Suraj Joshi avatar Suraj Joshi avatar

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

LinkedIn

Artigo relacionado - Matplotlib Axes