Forum
>>
Programmazione Python
>>
Calcolo scientifico
>>
Dati e grafico
Pagina: Indietro 1 2 3 4 5 Avanti
Esegui il login per scrivere una risposta.
Pagina: Indietro 1 2 3 4 5 Avanti
Scritto da Andrdne |
2017-12-31 13:50:24 - Re: Dati e grafico
|
Non so perché non appare il codice. Comunque tutto ciò che segue for- in è dentro il ciclo, mentre dentro def c'è solo la prima riga successiva. Inoltre da due problemi: return (ouside of function) e out (name not defined).
|
|
Scritto da stix77 |
2017-12-31 15:21:42 - Re: Dati e grafico
|
ok, io l'ho fatto così e a me funziona. fammi sapere se qualcosa non ti torna
import matplotlib.pyplot as plt List = open("test.txt").readlines() x = [x[:5] for x in List] del x0 y = [y.split("\t",1)1 for y in List] del y0 y = [s.replace('\t', '') for s in y] y = [s.replace('\n', '') for s in y] line, = plt.plot(x, y, label ="linea 1") plt.legend() plt.xlabel("asse x") plt.ylabel("asse y") plt.title("grafico di prova") plt.show() le ultime 6 righe di codice sono quelle che ti ho già commentato prima, sotto ti commento riga per riga List = open("test.txt").readlines() # Qui vado ad aprire il file di testo, e col metodo readlines() leggo ogni riga e la metto separatamente nella lista List che se la guardiamo appare così: ['Lunghezza(x)\tPeriodo(y)\n', '0,255\t\t0,500\n', '0,275\t\t0,588\n', '0,295\t\t0,647\n', '0,315\t\t0,712\n', '0,335\t\t0,756\n', '0,355\t\t0,813\n', '0,375\t\t0,852\n', '0,395\t\t0,892\n', '0,435\t\t0,985\n', '0,475\t\t1,057'] x = [x[:5] for x in List] # in ogni riga i primi 5 caratteri sostanzialmente sono un numero che fa parte delle x, quindi creo la lista x e ci metto dentro i primi 5 caratteri di ogni oggetto in lista del x0 #elimino il primo elemento della lista che sostanzialmente è descrizione (lunghezza) e non un numero y = [y.split("\t",1)1 for y in List] # ogni elemento di List lo vedo a spezzare dove trova "\t" e prendo la parte a destra del y0 #elimino il primo elemento della lista che sostanzialmente è descrizione (periodo) e non un numero y = [s.replace('\t', '') for s in y] y = [s.replace('\n', '') for s in y] #elimino i caratteri residui come "\t" ed "\n" --- Ultima modifica di stix77 in data 2017-12-31 15:24:53 --- --- Ultima modifica di stix77 in data 2017-12-31 15:26:06 --- |
|
Scritto da stix77 |
2017-12-31 15:27:29 - Re: Dati e grafico
|
non riesco a capire come mai ma spesso nel mio post quando scrivo le parantesi quadre, vengono sostituite con un punto di domanda.. tienine conto se copi il codice
|
|
Scritto da Andrdne |
2017-12-31 23:16:21 - Re: Dati e grafico
|
Restituisce "invalid syntax" in questa parte
y = [y.split("\t",1)1 for y in List]1 e "name x0 is not defined" |
|
Scritto da stix77 |
2018-01-01 02:19:41 - Re: Dati e grafico
|
purtroppo come ti dicevo non so come mai ma nel post sono state segate le parentesi quadre, adesso te lo posto come immagine così sai dove correggere
--- Ultima modifica di stix77 in data 2018-01-01 02:26:15 --- |
|
Scritto da Andrdne |
2018-01-01 13:17:55 - Re: Dati e grafico
|
Siiii grazie mille Stix77 che mi hai aiutato pure a capodanno. Di nuovo grazie
--- Ultima modifica di Andrdne in data 2018-01-01 14:28:58 --- |
|
Scritto da Andrdne |
2018-01-01 14:31:41 - Re: Dati e grafico
|
Solo altre due cose: la virgola dopo "line" a che serve?
--- Ultima modifica di Andrdne in data 2018-01-01 14:43:18 --- |
|
Scritto da stix77 |
2018-01-01 14:42:43 - Re: Dati e grafico
|
o figurati, se posso aiutare è sempre un piacere
il "[:5]" va a prendere i primi 5 caratteri della riga. l'ho usato perchè ho visto che tutti i numeri sono composti dallo zero, seguito dalla virgola e da 3 decimali, quindi 5 caratteri in tutto. --- Ultima modifica di stix77 in data 2018-01-01 14:47:40 --- --- Ultima modifica di stix77 in data 2018-01-01 14:47:59 --- |
|
Scritto da Andrdne |
2018-01-01 14:58:22 - Re: Dati e grafico
|
E se fossero numeri con numero diverso di cifre?
|
|
Scritto da stix77 |
2018-01-01 15:11:55 - Re: Dati e grafico
|
dobbiamo cambiare sistema.
hai visto che per le Y non ho preso il numero di caratteri ma ho tagliato la riga in due, ho preso la parte a destra depurandola di caratteri non desiderati? ecco, si dovrebbe fare la stessa cosa per le X |
Pagina: Indietro 1 2 3 4 5 Avanti
Esegui il login per scrivere una risposta.