web-dev-qa-db-fra.com

Tracé de ligne dans GnuPlot où la couleur de ligne est une troisième colonne dans mon fichier de données?

J'ai un fichier de données qui ressemble à ceci:

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. Je voudrais que chaque segment de ligne soit coloré selon la troisième colonne. Ainsi, les deux premiers segments de ligne seraient "couleur 1", le suivant serait "couleur 2", le prochain serait "couleur 3" et les deux derniers seraient à nouveau "couleur 1".

J'ai essayé:

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

Mais ma ligne était toute noire.

Est-ce possible dans gnuplot?

Merci, Gabe

29
Gabe

Ce qui suit fonctionne pour moi (gnuplot 4.4)

plot "./file.dat" u 1:2:3 with lines  palette

J'espère que cela t'aides.

Quand j'ai exécuté votre code, gnuplot n'a pas pu passer la partie "rgb".

Pour un exemple d'utilisation de la variable variable, voir la question similaire: GNUPLOT: tracé de points avec des données dépendant de la taille des points

avec les exemples utiles trouvés ici: http://gnuplot.sourceforge.net/demo/pointsize.html

Bonne chance

À M

26
Tom
plot 'foo.dat' with lines linecolor variable

ou abrégé:

plot 'foo.dat' w l lc var
12
Jean-Baptiste

Cela a été demandé il y a longtemps, mais je viens de poser la même question. Et le moyen le plus approprié pour obtenir également la légende/le titre des couleurs "variables" était:

# 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)

11
mellguth