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

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

25
demandé sur Gabe 2010-10-15 07:03:43

3 réponses

Ce qui fonctionne pour moi (gnuplot 4.4)

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

Espérons que cette aide.

quand j'ai lancé votre code, gnuplot ne pouvait pas passer la partie "rgb".

pour un exemple d'utilisation de la balise variable voir la question similaire: gnuplot: point graphe avec des données en fonction de la taille du point

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

All the best

Tom

23
répondu Tom 2017-05-23 11:47:11
plot 'foo.dat' with lines linecolor variable

ou abrégé:

plot 'foo.dat' w l lc var
11
répondu Jean-Baptiste 2011-08-19 12:59:32

cela a été demandé il y a longtemps, mais j'avais juste la même question. Et le moyen le plus approprié pour obtenir également la légende / titre pour" 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 version 4)

8
répondu mellguth 2014-05-08 10:00:59