2013-08-08 14 views
7

Ho dato un'occhiata alle domande ma non riesco ancora a farlo funzionare.gnuplot righe multiple con Tempo sull'asse X

Il mio set di dati è come questo:

dichiarazioni
[date] , [%cpu] , [mem] 
23:00:39 , 21.9 , 2.1 
23:00:44 , 21.8 , 2.1 
23:00:49 , 21.8 , 2.1 
23:00:54 , 21.8 , 2.1 
23:00:59 , 21.7 , 2.1 

mio Gnuplot (appena iniziato a utilizzare per questi dati) è:

set timefmt "%H:%m:%s" 
set xdata time 
set datafile sep ',' 
plot '/tmp/info' using 2 title 'cpu' with lines, '/tmp/info' using 3 title 'memory%' with lines 

ottengo il seguente errore:

Need full using spec for x time data 

Ho provato la scala automatica x, ma sono un po 'perso, ogni aiuto sarebbe apprezzato.

risposta

2

tuo comando plot apparire come questo, invece:

plot '/tmp/info' using 1:2 title 'cpu' with lines, '/tmp/info' using 1:3 title 'memory%' with lines 
5

dati Tempo richiede che si specifichi sempre tutte le colonne da utilizzare. (Noti anche il corretto timefmt):

set timefmt "%H:%M:%S" 
set xdata time 
set datafile sep ',' 
set style data lines 
plot '/tmp/info' using 1:2 title 'cpu', '' using 1:3 title 'memory%' 

La ragione di questo è che la timefmt può anche contenere spazi, in modo che i dati utilizzati per l'asse del tempo possono provenire da due colonne. Si consideri il seguente file di dati modificati:

23:00:39 06/08/13 21.9 2.1 
23:00:44 06/08/13 21.8 2.1 
23:00:49 06/08/13 21.8 2.1 
23:00:54 06/08/13 21.8 2.1 
23:00:59 06/08/13 21.7 2.1 

I comandi tramando per questo formato sono:

set timefmt "%H:%M:%S %d/%m/%Y" 
set xdata time 
set format x "%H:%M:%S" 
set style data lines 
plot 'mydata.dat' using 1:3 t 'cpu', '' using 1:4 t 'memory%' 

Per evitare confusione, è sempre necessario che per i dati in tempo tutte le colonne utilizzate dallo stile trame (qui with lines) vengono fornite esplicitamente con l'istruzione using.

Problemi correlati