Tengo un gráfico de diagrama de dispersión con un montón de coordenadas aleatorias x, y. Actualmente, el eje Y comienza en 0 y sube al 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)
python
matplotlib
DarkAnt
fuente
fuente
La respuesta de DisplacedAussie es correcta, pero generalmente un método más corto es solo para invertir el eje único en cuestión:
donde la
gca()
función devuelve la instancia actual de Axes y[::-1]
revierte la lista.fuente
Utilice matplotlib.pyplot.axis ()
axis([xmin, xmax, ymin, ymax])
Entonces podría agregar algo como esto al final:
Aunque es posible que desee relleno en cada extremo para que los puntos extremos no se asienten en el borde.
fuente
Si estás en ipython en
pylab
modo, entoncesel
show()
se requiere para hacer que actualizar la cifra actual.fuente
También podría usar la función expuesta por el objeto de ejes del diagrama de dispersión
fuente
Otro método similar a los descritos anteriormente es usar,
plt.ylim
por ejemplo:Este método funciona para mí cuando intento componer múltiples conjuntos de datos en Y1 y / o Y2
fuente
El uso de ylim () podría ser el mejor enfoque para su propósito:
resultará:
fuente
Alternativamente, puede usar la función matplotlib.pyplot.axis () , que le permite invertir cualquiera de los ejes del diagrama
O si prefiere invertir solo el eje X, entonces
De hecho, puede invertir ambos ejes:
fuente
Si usa matplotlib puede probar:
matplotlib.pyplot.xlim(l, r) matplotlib.pyplot.ylim(b, t)
Estas dos líneas establecen los límites de los ejes x e y respectivamente. Para el eje x, el primer argumento l establece el valor más a la izquierda, y el segundo argumento r establece el valor más a la derecha. Para el eje y, el primer argumento b establece el valor más bajo, y el segundo argumento t establece el valor más alto.
fuente