2010-10-15 1 views
23

Ho un file di dati che assomiglia a questo:Diagramma di riga in GnuPlot in cui il colore della linea è una terza colonna nel mio file di dati?

1 1.0 0 
2 1.5 0 
3 0.0 1 
4 1.2 2 
5 1.0 1 
6 1.1 1 

in cui la prima colonna è il mio valore X, la seconda colonna è il mio valore Y, e la terza colonna è un colore. Mi piacerebbe che ogni segmento di linea fosse colorato in base alla terza colonna. Quindi i primi due segmenti di linea sarebbero "colore 1", il prossimo sarebbe "colore 2", il prossimo sarebbe "colore 3" e gli ultimi due sarebbero di nuovo "colore 1".

ho provato:

plot 'file.dat' using 1:2:3 with lines rgb variable; 

Ma la mia linea era tutto nero.

E 'possibile in gnuplot?

Grazie, Gabe

risposta

10
plot 'foo.dat' with lines linecolor variable 

o abbreviato:

plot 'foo.dat' w l lc var 
+1

E lei forse sa come creare leggenda/titolo per " variabile "colori? –

8

Questo è stato chiesto molto tempo fa, ma ho appena avuto la stessa domanda. E il modo più adatto per ottenere anche leggenda/titolo per i colori "variabili", è stato:

# set this to the range of your variable which you want to color-encode 
# or leave it out 
set cbrange [0:1] 

# define the palette to your liking 
set palette defined (0 "#B0B0B0", 0.333 "#FF0000", 0.666 "#0000FF", 1.0 "#000000") 

# in this example, column 3 is mapped to the colors of the palette 
plot "data.txt" u 1:2:3 w l lc palette z 

(testato su gnuplot 4.6 patchlevel 4)