Trazando lista de listas en un mismo gráfico en Python

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: Parcela de muestra

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.

Aquí está la trama que este código generó.