Линейный график в GnuPlot, где цвет линии - это третий столбец в моем файле данных? - PullRequest
29 голосов
/ 15 октября 2010

У меня есть файл данных, который выглядит следующим образом:

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».

Iпопробовал:

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

Но моя линия была вся черная.

Возможно ли это в gnuplot?

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

Ответы [ 3 ]

26 голосов
/ 06 ноября 2010

Это следующее работает для меня (gnuplot 4.4)

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

Надеюсь, это поможет.

Когда я запустил ваш код, gnuplot не смог пройти часть "rgb".

Пример использования тега variable см. По аналогичному вопросу: GNUPLOT: точечный график с данными в зависимости от размера точки

с полезными примерами, найденными здесь: http://gnuplot.sourceforge.net/demo/pointsize.html

Всего наилучшего

Tom

12 голосов
/ 19 августа 2011
plot 'foo.dat' with lines linecolor variable

или сокращенно:

plot 'foo.dat' w l lc var
10 голосов
/ 08 мая 2014

Это было задано давно, но у меня был тот же вопрос.И самый подходящий способ также получить легенду / заголовок для «переменных» цветов:

# 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

(протестировано на уровне исправлений 4 gnuplot 4.6)

...