Строковый график в GnuPlot, где цвет линии является третьим столбцом в моем файле данных?
У меня есть файл данных, который выглядит так:
1 1.0 0
2 1.5 0
3 0.0 1
4 1.2 2
5 1.0 1
6 1.1 1
где первый столбец - мое значение X, второй столбец - мое значение Y, а третий столбец - цвет. Я бы хотел, чтобы каждый сегмент линии был окрашен в соответствии с третьим столбцом. Таким образом, первые два сегмента линии будут "цветными 1", а следующий будет "цвет 2", следующий будет "цвет 3", а последние два будут "цветными 1" снова.
Я пробовал:
plot 'file.dat' using 1:2:3 with lines rgb variable;
Но моя линия была черной.
Возможно ли это в gnuplot?
Спасибо,
Гейб
Ответы
Ответ 1
Это работает для меня (gnuplot 4.4)
plot "./file.dat" u 1:2:3 with lines palette
Надеюсь, что это поможет.
Когда я запустил ваш код, gnuplot не смог передать часть "rgb".
Пример использования тега переменной см. в аналогичном вопросе:
GNUPLOT: сюжетный участок с размером данных, зависящим от размера
с полезными примерами, найденными здесь:
http://gnuplot.sourceforge.net/demo/pointsize.html
Все лучшее
Tom
Ответ 2
plot 'foo.dat' with lines linecolor variable
или сокращенно:
plot 'foo.dat' w l lc var
Ответ 3
Это было задано давно, но у меня был тот же вопрос. И наиболее подходящий способ получить легенду/название для "переменных" цветов:
# 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
(проверено на gnuplot 4.6 patchlevel 4)