2010-10-15 4 views
23

J'ai un fichier de données qui ressemble à ceci:Tracé de ligne dans GnuPlot où la couleur de ligne est une troisième colonne dans mon fichier de données?

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

où la première colonne est ma valeur X, la deuxième colonne est ma valeur Y, et la troisième colonne est une couleur. J'aimerais que chaque segment de ligne soit coloré en fonction de la troisième colonne. Ainsi, les deux premiers segments de ligne seraient "couleur 1", le suivant serait "couleur 2", le suivant serait "couleur 3" et les deux derniers seraient "couleur 1" à nouveau.

J'ai essayé:

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

Mais ma ligne était tout noir.

Est-ce possible dans gnuplot?

Merci, Gabe

Répondre

10
plot 'foo.dat' with lines linecolor variable 

ou l'abréviation:

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

Et vous savez peut-être comment créer la légende/titre pour " variable "couleurs? –

8

Cela a été demandé il y a longtemps, mais j'ai juste eu la même question. Et était le moyen le plus approprié pour obtenir aussi la légende/titre pour les couleurs « variables »,:

# 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 

(testé sur gnuplot 4.6 patchlevel 4)

Questions connexes