J'essaie de tracer (x,y)
où en tant que y = [[1,2,3],[4,5,6],[7,8,9]]
.
Dites, len(x) = len(y[1]) = len(y[2])
.. La longueur de y est déterminée par l'entrée User. Je veux tracer plusieurs tracés de y dans le même graphique, c.-à-d. (x, y[1],y[2],y[3],...)
. Quand j'ai essayé d'utiliser la boucle, il est écrit dimension error
.
J'ai aussi essayé: plt.plot(x,y[i] for i in range(1,len(y)))
Comment puis-je tracer? S'il vous plaît aider.
for i in range(1,len(y)):
plt.plot(x,y[i],label = 'id %s'%i)
plt.legend()
plt.show()
En supposant quelques exemples de valeurs pour x, vous trouverez ci-dessous le code qui pourrait vous donner le résultat souhaité.
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()
Hypothèses: x
et tous les éléments de y
ont la même longueur . L'idée est de lire élément par élément afin de construire la liste (x,y[0]'s)
, (x,y[1]'s)
et (x,y[n]'s
Utilisez une boucle for pour générer les tracés et utilisez la méthode .show()
après la boucle for.
import matplotlib.pyplot as pyplt
for impacts in impactData:
timefilteredForce = pyplt.plt(impacts)
timefilteredForce = pyplt.xlabel('points')
timefilteredForce = pyplt.ylabel('Force')
pyplt.show()
impactData est une liste de listes.