2012-05-29 31 views
13

Ho il seguente file dat, denominato ls.dat:gnuplot tracciare la linea più grafici

# Gnuplot script file for "ls" 
# Version  Removed Added Modified 
8.1  0  0  0 
8.4  0  0  4 
8.5  2  5  9 
8.6  2  7  51 
8.7  2  7  51 
8.8  2  7  51 
8.9  2  7  51 
8.10 2  7  51 
8.11 2  8  112 
8.12 2  8  112 
8.13 2  17  175 
8.17 6  33  213 

Sto cercando di tracciare con questo:

plot "ls.dat" using 1:2 title 'Removed' with lines,\ 
    "ls.dat" using 1:3 title 'Added' with lines,\ 
    "ls.dat" using 1:4 title 'Modified' with lines 

Questo produce il seguente grafico:

enter image description here

Quello che mi aspetto sono tre trame di linea che dovrebbero Salgo, ma a ritmi diversi. Qualcuno può vedere cosa sta succedendo qui? Sono sicuro che dev'essere qualcosa di molto sciocco.

+1

Come hai ottenuto questa GUI di Gnuplot? Quale comando avvia questa finestra? – Jeef

+3

@Jeef Il suo gnuplot-X11 in OSX. Puoi anche usare gnuplot in Qt. Dipende da dove si trova il tipo di terminale impostato su ciò che ottieni. Il mio è gnuplot-qt. –

+1

Grazie - è stato tanto tempo fa ho dimenticato cosa stavo facendo! :) – Jeef

risposta

23

Penso che il tuo problema siano i numeri di versione. Prova a fare 8.1 -> 8.01, e così via. Questo dovrebbe mettere i punti nel giusto ordine.

In alternativa, è possibile pianificare using X, dove X è il numero di colonna desiderato, anziché using 1:X. Questo traccerà quei valori sull'asse ye gli interi sull'asse x. Prova:

plot "ls.dat" using 2 title 'Removed' with lines, \ 
    "ls.dat" using 3 title 'Added' with lines, \ 
    "ls.dat" using 4 title 'Modified' with lines 
+0

Si potrebbe anche volere una scala di registro sull'asse y (usando 'set log y') poiché i vostri numeri coprono un intervallo di questo tipo. – andyras

+0

Grande cattura! Sapeva che doveva essere qualcosa di stupido come questo: P –

+0

Buon punto sull'uso di X. - Penso che potresti anche usare 'usando X: xtic (1)' per mantenere i tuoi xtics il numero di versione che vuoi, anche se Non l'ho provato ... (+ 1) – mgilson

11

andyras è completamente corretto. Una piccola aggiunta, provate questo (per esempio)

plot 'ls.dat' using 4:xtic(1) 

Ciò manterrà il vostro file di dati nell'ordine corretto, ma anche tenere la versione etichette di graduazione sulla x.

+0

Sì! Punto eccellente – andyras

3

Oltre alle risposte sopra il comando di seguito funzionerà anche. Lo postò perché ha più senso per me. In ogni caso è 'usa x-value colonne: valore y-colonna'

plot 'ls.dat' using 1:2, 'ls.dat' using 1:3, 'ls.dat' using 1:4 
0

Qualunque sia la vostra separazione è nella vostra ls.dat, è possibile specificare per gnuplot:

set datafile separator "\t" 
Problemi correlati