Invertir el eje Y en PyPlot

Tengo un gráfico de diagtwig de dispersión con un grupo de coordenadas x, y aleatorias. Actualmente, el eje Y comienza en 0 y sube hasta el valor máximo. Me gustaría que el eje Y comience en el valor máximo y suba a 0.

points = [(10,5), (5,11), (24,13), (7,8)] x_arr = [] y_arr = [] for x,y in points: x_arr.append(x) y_arr.append(y) plt.scatter(x_arr,y_arr) 

Hay una nueva API que lo hace aún más simple.

 plt.gca().invert_xaxis() 

y / o

 plt.gca().invert_yaxis() 

La respuesta de DisplacedAussie es correcta, pero generalmente un método más corto es simplemente invertir el eje único en cuestión:

 plt.scatter(x_arr, y_arr) ax = plt.gca() ax.set_ylim(ax.get_ylim()[::-1]) 

donde la función gca() devuelve la instancia de Ejes actual y el [::-1] invierte la lista.

Utilice matplotlib.pyplot.axis ()

axis([xmin, xmax, ymin, ymax])

Así que puedes agregar algo como esto al final:

 plt.axis([min(x_arr), max(x_arr), max(y_arr), 0]) 

Aunque es posible que desee relleno en cada extremo para que los puntos extremos no se sientan en el borde.

Si estás en ipython en modo pylab , entonces

 plt.gca().invert_yaxis() show() 

Es necesario show() para actualizar la figura actual.

Otro método similar a los descritos anteriormente es usar plt.ylim por ejemplo:

 plt.ylim(max(y_array), min(y_array)) 

Este método funciona para mí cuando bash componer conjuntos de datos múltiples en Y1 y / o Y2

usar ylim () podría ser el mejor enfoque para su propósito:

 xValues = list(range(10)) quads = [x** 2 for x in xValues] plt.ylim(max(quads), 0) plt.plot(xValues, quads) 

resultará: introduzca la descripción de la imagen aquí

Alternativamente, puede usar la función matplotlib.pyplot.axis () , que le permite invertir cualquiera de los ejes de la ttwig.

 ax = matplotlib.pyplot.axis() matplotlib.pyplot.axis((ax[0],ax[1],ax[3],ax[2])) 

O si prefieres invertir solo el eje X, entonces

 matplotlib.pyplot.axis((ax[1],ax[0],ax[2],ax[3])) 

De hecho, puedes invertir ambos ejes:

 matplotlib.pyplot.axis((ax[1],ax[0],ax[3],ax[2]))