Строковый график в GnuPlot, где цвет линии является третьим столбцом в моем файле данных? - программирование
Подтвердить что ты не робот

Строковый график в 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?

Спасибо, Гейб

4b9b3361

Ответ 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)