Como reverter eixos em Matplotlib

Suraj Joshi 16 fevereiro 2024
  1. Métodos invert_xaxis() e invert_yaxis()
  2. matplotlib.pyplot.axis() Método
  3. Métodos xlim() e ylim() para objetos pyplot
Como reverter eixos em Matplotlib

Podemos reverter os eixos X e Y em Matplotlib utilizando os métodos invert_xaxis() e invert_yaxis() para objetos de axes respectivamente. Também podemos utilizar os métodos axis(), xlim(), e ilim() para o objeto pyplot para definir valores mínimos e máximos, através dos quais podemos reverter os eixos.

Métodos invert_xaxis() e invert_yaxis()

Para reverter o eixo X, utilizamos matplotlib.axes.Axes.invert_xis e para inverter o eixo Y, utilizamos matplotlib.axes.Axes.invert_yaxis. Podemos reverter qualquer um dos eixos ou ambos os eixos utilizando os métodos acima.

import numpy as np
import matplotlib.pyplot as plt

x = np.linspace(-3, 3, 100)
y = 3 * x + 4

fig, (ax1, ax2) = plt.subplots(1, 2)

ax1.plot(x, y)
ax1.set_title("Normal Plot")

ax2.plot(x, y)
ax2.set_title("Reverted axes")
ax2.invert_xaxis()
ax2.invert_yaxis()

fig.tight_layout()
plt.show()

Resultado:

Reverter eixos utilizando o método de eixos invertidos

Na saída, a figura à esquerda é a trama de x e y com eixos normais enquanto a figura à direita tem seus dois eixos revertidos.

Se desejarmos reverter apenas um dos eixos, podemos utilizar invert_xis() para inverter apenas o eixo X e invert_yaxis() para reverter apenas o eixo Y.

matplotlib.pyplot.axis() Método

matplotlib.pyplot.axis é utilizado para definir o mínimo e o máximo dos eixos X e Y.

Sintaxe da definição dos valores mínimo e máximo dos eixos X e Y:

matplotlib.pyplot.axis([xmin, xmax, ymin, ymax])

Se trocarmos a posição de xmin e xmax na função acima, o eixo X é invertido. Da mesma forma para inverter os eixos Y, mudamos a posição de ymin e ymax na função acima.

import numpy as np
import matplotlib.pyplot as plt

x = np.linspace(-3, 3, 100)
y = 3 * x + 4

plt.plot(x, y)
plt.title("Reverted axes")
plt.axis([max(x), min(x), max(y), min(y)])

plt.show()

Resultado:

Inverter eixos utilizando o método dos eixos

As funções min e max retornam os valores mínimo e máximo na array, respectivamente.

Métodos xlim() e ylim() para objetos pyplot

matplotlib.pyplot.xlim() e matplotlib.pyplot.ylim() podem ser utilizados para definir ou obter limites para os eixos X e Y, respectivamente. Se passarmos o valor máximo no eixo como limite inferior e o valor mínimo no eixo como limite superior nas funções acima, obtemos um eixo revertido.

import numpy as np
import matplotlib.pyplot as plt

x = np.linspace(-3, 3, 100)
y = 3 * x + 4

plt.plot(x, y)
plt.title("Reverted axes")
plt.xlim(max(x), min(x))
plt.ylim(max(y), min(y))

plt.show()

Resultado:

Eixos revertidos usando o método de limite

Suraj Joshi avatar Suraj Joshi avatar

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

LinkedIn

Artigo relacionado - Matplotlib Axes