Estoy tratando de trazar (x,y)
donde como y = [[1,2,3],[4,5,6],[7,8,9]]
.
Diga, len(x) = len(y[1]) = len(y[2])
. La entrada del usuario decide la longitud de la y. Quiero trazar múltiples gráficos de y en el mismo gráfico, es decir, (x, y[1],y[2],y[3],...)
. Cuando intenté usar el bucle dice dimension error
.
También probé: plt.plot(x,y[i] for i in range(1,len(y)))
¿Cómo trazo? Por favor ayuda.
for i in range(1,len(y)): plt.plot(x,y[i],label = 'id %s'%i) plt.legend() plt.show()
Asumiendo algunos valores de muestra para x, a continuación se muestra el código que podría darle el resultado deseado.
import matplotlib.pyplot as plt x = [1,2,3] y = [[1,2,3],[4,5,6],[7,8,9]] plt.xlabel("X-axis") plt.ylabel("Y-axis") plt.title("A test graph") for i in range(len(y)): plt.plot(x,[pt[i] for pt in y],label = 'id %s'%i) plt.legend() plt.show()
Suposiciones: x
y cualquier elemento en y
son de la misma longitud. La idea es leer elemento por elemento para construir la lista (x,y[0]'s)
, (x,y[1]'s)
y (x,y[n]'s
A continuación se muestra la ttwig que obtengo para este caso:
Use un bucle for para generar los gráficos y use el método .show()
después del bucle for.
import matplotlib.pyplot as plt for impacts in impactData: timefilteredForce = plt.plot(impacts) timefilteredForce = plt.xlabel('points') timefilteredForce = plt.ylabel('Force') plt.show()
impactData es una lista de listas.