Forum >> Programmazione Python >> Calcolo scientifico >> Dati e grafico

Pagina: 1 2 3 4 5 Avanti

Salve a tutti. Vi espongo il mio problema che purtroppo non sono riuscito a trovare nel forum: su un documento del blocco note ho scritto due colonne di numeri che ho salvato col formato .txt. Con questi numeri vorrei creare un grafico su python senza dover scrivere i numeri sull'editor ma leggendoli direttamente dal file .txt. Qualcuno sa come fare? Dovrò per forza fare così perché i miei dati, più avanti, li dovrò acquisire solo da plasduino. Grazie in anticipo per la risposta.
ciao, devi leggere il file txt, assegnare il primo numero in colonna a una lista, e il secondo ad un altra in modo che il modulo matplotlib possa disegnarti il grafico.

come sono separati i due numeri, con uno spazio?
Grazie per la risposta. Si sono separati da un numero.
Prova ad allegare un file di txt tipico di come lo vorresti, che proviamo a farlo insieme lo script
Ehm perdona l'ignoranza ma come dovrei fare? E' il primo anno che utilizzo Python :( e non so ancora nulla. Il mio quesito nasce dal fatto che il mio professore vuole i grafici fatti con Python ma ha spiegato poco o nulla. Perdonami ancora
creare un grafico in python sono 4 righe di codice, poi lo vedremo



il "difficile" del tuo esercizio è prelevare i dati dal file txt e inserirli in due distinte liste di python per dividerli in ascisse e ordinate. ma il difficile non è leggere i dati, ma visto che sono "mischiati" bisogna prendere una chiave di lettura per capire come dividerli in x e y




per questo ti chiedevo di postare qui qualche riga di quel file txt, così possiamo ragionare su come prelevarli e riporli correttamente nelle due liste
comunque per il grafico in sè puoi fare come segue:
se non hai ancora installato matplotlib basta che apri il prompt e digiti python -mpip install -U matplotlib
tutta la documentazione la trovi su https://matplotlib.org/

lo script per plottare un grafico è il seguente (non lo posto come codice, tanto non ha identazioni, e almeno lo commento qui):

#importiamo la funzione pyplot dal modulo matplotlib e la rinominiamo per comodità in plt
import matplotlib.pyplot as plt

#creo due liste x e y che passeranno i dati. adesso ho messo due numeri a caso giusto per fare una linea, noi dovremmo metterci i dati provenienti dal tuo file txt, sostanzialmente andando ad appendere i dati in lista

x = [10,20]
y = [15,30]

#do istruzioni alla linea su dove prendere i dati, e le assegno un nome in legenda

line, = plt.plot(x, y, label ="linea 1")

#creo la tabellina di legenda
plt.legend()

#nomi degli assi
plt.xlabel("asse x")
plt.ylabel("asse y")

#nome del grafico
plt.title("grafico di prova")

#infine creo il grafico a schermo
plt.show()

--- Ultima modifica di stix77 in data 2017-12-31 10:48:59 ---
Ciao ti ringrazio ancora per la risposta. Allego qui sotto il file dei dati se può servire. Il problema è che i dati saranno in due colonne. Ti copio quello che ha scritto un mio collega ma che io non ho capito:

def leggi_dati(m_nome):
m_input_file=open(m_nome)

m_nome_input="C:\Projects\PythonPrimTabDati.txt"
m_input_file=open(m_nome_input)
linee_dati=m_input_file.readlines()

vx=[]
vy=[]
nom_var=[]

for li in linee_dati:

m_linea=li.split()

vx.append(m_linea0)
vy.append(m_linea1)

nom_var.append(vx0)
nom_var.append(vy0)

out.vx=numpy.asarray(vx[1:])
out_vx=out_vx.astype("float32")
print(vx[1:])
print(out_vx)

(lo stesso per vy)
return vx, vy, nom_var








--- Ultima modifica di Andrdne in data 2017-12-31 12:20:40 ---

--- Ultima modifica di Andrdne in data 2017-12-31 12:21:04 ---
Allegati
ciao, riusciresti a copiare lo script dentro alla funzione code del forum, sennò non riesco a capire l'identazione e i blocchi di codice



comunque il tuo collega ha fatto quello che ci serve, sostanzialmente apre il file txt e appende le variabili alle due liste vx e vy per poter plottare il grafico


Pagina: 1 2 3 4 5 Avanti



Esegui il login per scrivere una risposta.