Forum >> Principianti >> Creare un unico grafico con dati presenti in piu file.txt

Pagina: 1 2 Avanti

Ciao a tutti. Come prima cosa vorrei dichiarare che sono alle prime armi con Python e alle prese con un grafico per concludere la mia tesi.


Ho quattro file.txt del tipo che ho allegato, due colonne di dati che per me sono la x e la y e con i quali creo un grafico. Ho quindi quattro diversi grafici, uno per ogni file di dati. Come posso creare un unico grafico? La x è sempre la stessa in tutti e 4 i file. Ho pensato di creare un unico .txt con cinque colonne, supponiamo x,y1,y2,y3,y4, non ho però la più pallida idea di come fare. Qualsiasi consiglio è gradito.

Aiutooooo




Allegati
ciao irina, quanto tempo hai?
comunque che i dati arrivino da 5 file o 1 è uguale, cambia poco.

più che altro ci vuole un pochino per imparare matplotlib, ma è tutt'altro che difficile, se non c'è nessuno disponibile in questi giorni ti aiuto da lunedì, prima non riesco,almeno vediamo passo passo cosa fare.




se vuoi iniziare a guardare qualcosa, io ho imparato a fare i grafici partendo da questo https://projects.raspberrypi.org/en/projects/temperature-log è una guida che ti insegna a prelevare i dati di temperatura di una cpu (in questo caso di un raspberry pi) e a inserirli in un file csv per poi creare delle liste in python e a creare un grafico con matplotlib






Felice che qualcuno possa aiutarmi :D. Ho ancora un pò di tempo quindi posso aspettare lunedi. Intanto vedo il link che mi hai suggerito.
ciao irina, eccomi. partiamo dai file di testo, come sono divisi i dati? in una riga una coppia di punti? e ogni coppia di punti è divisa dallo spazio?



es:




12 31

15 65

18 78

21 90


--- Ultima modifica di stix77 in data 2019-01-28 14:24:02 ---
Irina, ti giro la seconda parte, quella del plottaggio.. lo script è molto semplice



import matplotlib.pyplot as plt

ascisse = [3,6,9,12]
ordinate1 = [3,7,11,18]
ordinate2 = [5,10,16,30]
ordinate3 = [8,12,20,40]
ordinate4 = [12,16,25,50]

plt.xlabel("ascisse")
plt.ylabel("ordinate")
plt.title("titolo grafico")
plt.plot(ascisse, ordinate1, label="linea 1")
plt.plot(ascisse, ordinate2, label="linea 2")
plt.plot(ascisse, ordinate3, label="linea 3")
plt.plot(ascisse, ordinate4, label="linea 4")
plt.legend()
plt.show()






si parte importando il modulo matplotlib e lo si rinomina in plt (qui la documentazione: https://matplotlib.org/)

poi trovi le liste che contengono i tuoi dati, in seguito inseriremo gli script per prelevare i dati dai files di testo e inserirli in tali liste

poi trovi 3 righe che servono a nominare gli assi e il grafico




poi trovi le 4 righe di codice dove si dà l'istruzione per ogni singola linea da plottare. io l'ho fatto così per chiarezza, comunque non è escluso che si possa fare con un ciclo for




plt.legend() esplicita la legenda sul grafico

plt.show() apre la finestra del grafico e te lo mostra






Ti invio le linee di codice che son riuscita a scrivere, credo bastassero meno linee ma ho ottenuto il risultato. Ora leggo i tuoi consigli.


Allegati
Allegati
Ho capito quello che hai scritto(infatti è piu o meno quello che ho fatto). Se per te non è un problema mi farebbe piacere che continuassi a spiegarmi i passaggi successivi nei quali si inseriscono i file txt dei dati, per vedere cosi come poter migliorare il mio codice.

Grazie ancora

Ciao Irina, vedo che hai fatto tutto, bravissima.
dovrebbe andare già tutto bene così, l'unica cosa che aggiungerei è un comando di input per poter scegliere i percorsi dei file che hai scritto nel codice oppure eventualmente modificarli




in teoria col modulo tkinter di python e la funzione askopenfilename() puoi far apparire una finestra di selezione file, qui la spiega https://pythonspot.com/tk-file-dialogs/




se hai bisogno di altro chiedi pure

ps. non so se conoscete pymike, ma su youtube è una vera risorsa in fatto di python.. qui il suo canale https://www.youtube.com/channel/UCLXlzAu0NhM5pnXLQdGnHJQ




giusto ieri ha pubblicato un nuovo video sull'utilizzo di tkinter, importante interfaccia grafica








ps. non so se conoscete pymike, ma su youtube è una vera risorsa in fatto di python.. qui il suo canale https://www.youtube.com/channel/UCLXlzAu0NhM5pnXLQdGnHJQ
Sì, è anche tra i "consigli" di questo sito nella sezione Documentazione > Media.

Cya



Pagina: 1 2 Avanti



Esegui il login per scrivere una risposta.