En Matplotlib podemos invertir los ejes de un gráfico usando múltiples métodos. El método más común es usar invert_xaxis() e invert_yaxis() para los objetos de ejes. Aparte de eso, también podemos usar los métodos xlim() y ylim(), y axis() para el objeto pyplot .
Método 1: Usar el método invert_xaxis() e invert_yaxis()
Para invertir el eje X y el eje Y, podemos usar las funciones invert_xaxis() e invert_yaxis(). Podemos invertir cualquiera de los ejes o ambos ejes usando los métodos anteriores.
Código:
Python3
# importing numpy and matplotlib import numpy as np import matplotlib.pyplot as plt # creating an x sequence x = np.linspace(5, 15, 35) # equation of a straight line y = 3*x+4 # creating graph space for two graphs graph, (plot1, plot2) = plt.subplots(1, 2) # plot1 graph for normal axes plot1.plot(x, y) plot1.set_title("Normal Plot") # plot2 graph for inverted axes plot2.plot(x, y) plot2.set_title("Inverted Plot") plot2.invert_xaxis() plot2.invert_yaxis() # display the graph graph.tight_layout() plt.show()
Producción:
Método 2: Usando el método xlim() y ylim()
xlim() y ylim() también se pueden usar para invertir los ejes de un gráfico. Por lo general, se utilizan para establecer u obtener límites para el eje X y el eje Y, respectivamente. Pero si pasamos el valor mínimo en el eje como límite superior y el valor máximo en el eje como límite inferior, podemos obtener un eje invertido.
Código:
Python3
# importing numpy and matplotlib import numpy as np import matplotlib.pyplot as plt # creating an x sequence x = np.linspace(5, 15, 35) # equation of a straight line y = 3*x+4 # creating graph space for two graphs graph, (plot1, plot2) = plt.subplots(1, 2) # plot1 graph for normal axes plot1.plot(x, y) plot1.set_title("Normal Plot") # plot2 graph for inverted axes plot2.plot(x, y) plot2.set_title("Inverted Plot") plt.xlim(max(x), min(x)) plt.ylim(max(y), min(y)) # display the graph graph.tight_layout() plt.show()
Producción:
Método 3: Usar el método axis()
Similar a xlim() y ylim(), el método axis() también se usa para establecer los valores mínimo y máximo de los ejes X e Y. Entonces, si pasamos el valor mínimo en el eje como límite superior y el valor máximo en el eje como límite inferior, podemos obtener un eje invertido.
Código:
Python3
# importing numpy and matplotlib import numpy as np import matplotlib.pyplot as plt # creating an x sequence x = np.linspace(5, 15, 35) # equation of a straight line y = 3*x+4 # creating graph space for two graphs graph, (plot1, plot2) = plt.subplots(1, 2) # plot1 graph for normal axes plot1.plot(x, y) plot1.set_title("Normal Plot") # plot2 graph for inverted axes plot2.plot(x, y) plot2.set_title("Inverted Plot") plt.axis([max(x), min(x), max(y), min(y)]) # display the graph graph.tight_layout() plt.show()
Producción: