2013-02-14 20 views
43

Ho un file csv che ha 5 voci su ogni riga. Ogni voce è se un pacchetto di rete è attivato o meno. L'ultima voce in ogni riga è la dimensione del pacchetto. Ogni riga = tempo trascorso in ms.Plottaggio utilizzando un file CSV

ad es. riga

1 , 0 , 1 , 2 , 117 

Come faccio a tracciare un grafico per es. dove x axis è il numero di riga e y è il valore per es. 1a entrata in ogni riga?

risposta

63

Questo dovrebbe iniziare:

set datafile separator "," 
plot 'infile' using 0:1 
+0

@mgilson: "" è meglio di sì, sebbene "comma" sia supportato da Gnuplot 4.7. – Thor

+1

Così è. A seconda della macchina su cui sto lavorando, di solito uso 4.6 o addirittura 4.4 poiché 4.7 è ancora in sviluppo. Ma è interessante che hanno aggiunto questo. Lo tengo comunque in giro per riferimento o per scopi speciali però :). Mi chiedo se ci sono delle sottili differenze tra '", "' e 'comma'. – mgilson

+1

@mgilson: Non penso ci sia alcuna differenza, 'src/set.c: 2386' legge' df_separator = ','; 'e' src/set.c: 2392' legge 'df_separator = sep [0] ; che nei miei occhi dovrebbe essere lo stesso – Thor

13

È inoltre possibile tracciare un file PNG con gnuplot (che è gratuito):

comandi da terminale

gnuplot> set title '<title>' 
gnuplot> set ylabel '<yLabel>' 
gnuplot> set xlabel '<xLabel>' 
gnuplot> set grid 
gnuplot> set term png 
gnuplot> set output '<Output file name>.png' 
gnuplot> plot '<fromfile.csv>' 

nota: sempre necessario dare l'estensione giusta (.png qui) a set output

Quindi è anche possibile che l'uscita non sia linee, perché i tuoi dati non sono continui. Per risolvere questo problema è sufficiente modificare la linea 'plot' a:

plot '<Fromfile.csv>' with line lt -1 lw 2 

opzioni di modifica Più linea (. Trattini e colore linea ect) a: http://gnuplot.sourceforge.net/demo_canvas/dashcolor.html

  • gnuplot è disponibile nella maggior parte delle distribuzioni Linux tramite il gestore di pacchetti (per esempio, su una distro basata apt, eseguire apt-get install gnuplot)
  • gnuplot è disponibile in Windows tramite Cygwin
Problemi correlati