0
votes

Itération des colonnes de Dataframe pour faire un tracé de ligne matplotlib

Donc, je sais que des questions similaires ont été postées, mais rien n'a encore fonctionné pour mon cas particulier. Je sais que cela peut être fait avec la fonction de tracé Pandas, mais ces lignes doivent être sur une silhouette matplotlib afin qu'elles puissent être tracées de dispersions et autres choses ...

J'ai un fichier de données comme celui-ci: < Pré> xxx

et je veux faire une parcelle avec 2 lignes distinctes partageant le même axe x. Je peux le faire comme ceci: xxx

qui me donne:  Entrez la description de l'image ici

mais je tiens à le faire par boucle. Désolé si cela a été répondu ailleurs, mais je ne pouvais pas le trouver. Toute aide serait appréciée! Merci.


7 commentaires

Qu'entendez-vous par là que vous voulez le faire avec une boucle?


Peut-être qu'une boucle n'est pas la bonne façon de le faire ... mais je veux dire faire quelque chose qui ira bien sur le reste des colonnes deataframe et créer une nouvelle ligne pour chaque colonne


lignes.plot (x = 't') ?


@Quanghoang c'est un grand petit conseil.


@Quanghoang cela devrait être la réponse. Si vous l'écrivez, je vais supprimer le mien et upvote vous


lignes.plot (x = 't', y = ["line1", "ligne2"]) plus explicite que si vous avez plus de colonnes dans d'autres cas!


@Karketyacharma, il semble que Cody veuille que le reste des colonnes tracées selon son commentaire. C'est pourquoi il veut une boucle - il n'est donc pas nécessaire de continuer à ajouter .Plot appels lorsque de nouvelles colonnes sont ajoutées


3 Réponses :


0
votes
line_cols = ["Line1", "Line2"]

plt.figure()
for l in line_cols:
    plt.plot(lines['T'], lines[l])
plt.show()

0 commentaires

1
votes

En utilisant la propriété colonnes code> du Dataframe.

lines.plot(x='T')


0 commentaires

0
votes

Si vous insistez sur l'utilisation d'une boucle, vous pouvez faire quelque chose comme ceci:

for column in lines:
    if column != 'T':
        plt.plot(lines['T'], lines[column])


1 commentaires

Bon d'entendre, bien que je suggère que le commentaire de Quanghoang est une solution meilleure, c'est beaucoup plus simple et lisible (même s'il n'inclut pas l'itération comme demandé à l'origine dans votre question)