2010-10-15 3 views
23

Ich habe eine Daten-Datei, die wie folgt aussieht:Liniendiagramm in GnuPlot, wo Linienfarbe eine dritte Spalte in meiner Datendatei ist?

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

, wo die erste Spalte meines X-Wert ist, die zweite Spalte ist mein Y-Wert, und die dritte Spalte ist eine Farbe. Ich möchte, dass jedes Liniensegment gemäß der dritten Spalte gefärbt wird. Die ersten beiden Liniensegmente wären also "Farbe 1", die nächste wäre "Farbe 2", die nächste wäre "Farbe 3" und die letzten beiden wären wieder "Farbe 1".

Ich habe versucht:

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

Aber meine Linie war alles schwarz.

Ist dies in gnuplot möglich?

Danke, Gabe

Antwort

10
plot 'foo.dat' with lines linecolor variable 

oder abgekürzt:

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

Und wissen Sie vielleicht, wie Legende/Titel schaffen für " variable "Farben? –

8

Dies wurde vor langer Zeit gefragt, aber ich hatte gerade die gleiche Frage. Und das am besten geeignete Art und Weise auch für „variable“ Farben Legende/Titel zu bekommen, war:

# 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 

(getestet auf gnuplot 4.6 Patchlevel 4)

Verwandte Themen