2010-10-15 11 views
23

Mam plik danych, który wygląda tak:Wykres linii w GnuPlot gdzie kolor linii jest trzecią kolumną w moim pliku danych?

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

gdzie pierwsza kolumna jest moja wartość X, druga kolumna jest moja wartość Y, a trzecia kolumna jest kolor. Chciałbym, aby każdy segment linii był kolorowy zgodnie z trzecią kolumną. Zatem pierwsze dwa segmenty linii to "kolor 1", następny będzie "kolor 2", następny będzie "kolor 3", a dwa ostatnie będą znów "kolor 1".

Próbowałem:

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

Ale mój wiersz był cały czarny.

Czy to możliwe w gnuplot?

Dzięki, Gabe

Odpowiedz

10
plot 'foo.dat' with lines linecolor variable 

lub w skrócie:

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

i pan może wiedzieć, jak tworzyć legendy/tytuł " zmienne "kolory? –

8

Zostało to zadane dawno temu, ale miałem właśnie to samo pytanie. A najbardziej odpowiedni sposób również uzyskać legendy/tytuł „zmienny” kolorach, było:

# 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 

(testowane na gnuplot 4.6 patchlevel 4)