Пользовательская легенда (или текст) gnuplot
У меня есть файл с 3 столбцами, первые 2-это позиция x y, а третий я использую его для определения цвета, поэтому у меня есть что-то вроде этого:
set palette model RGB defined ( 1 'black', 2 'blue', 3 'green', 4 'red')
unset colorbox
plot "file" u 2:1:3 w points pt 14 ps 2 palette, "file2" u 2:1:3 w points pt 14 ps 2 palette
теперь вопрос: возможно ли иметь правильную легенду с такой точкой и цветом?. Поскольку точки будут иметь разные цвета (в соответствии с палитрой), я хочу указать, что означает каждый цвет в легенде.
единственным решением, о котором я думал, было написать где-то в сюжете текст с характер точки (в данном случае pt 14) и укажите цвет... но разве это не правильное решение?
поэтому, пожалуйста, помогите!
2 ответов
для этого нет возможности,вам нужно немного поиграть. Вот YAGH (еще один gnuplot hack);)
предполагая, что ваши значения равноудалены, вы можете использовать '+'
специальное имя файла с labels
черчение стиль.
чтобы показать только пользовательский ключ, рассмотрим следующий пример:
labels="first second third fourth"
set xrange[0:1] # must be set for '+'
set yrange[0:1]
set samples words(labels) # number of colors to use
key_x = 0.8 # x-value of the points, must be given in units of the x-axis
key_y = 0.8
key_dy = 0.05
set palette model RGB defined ( 1 'black', 2 'blue', 3 'green', 4 'red')
unset colorbox
plot '+' using (key_x):(key_y + *key_dy):(word(labels, int(+1))):0 \
with labels left offset 1,-0.1 point pt 7 palette t ''
это дает (с 4.6.4):
как set samples
не влияет на графики данных, вы можете интегрировать это прямо в вашем сюжете команда:
...
unset key
plot "file" u 2:1:3 w points pt 14 ps 2 palette, \
"file2" u 2:1:3 w points pt 14 ps 2 palette, \
'+' using (key_x):(key_y - *key_dy):(word(labels, int(+1))):0 \
with labels left offset 1,-0.1 point pt 14 ps 2 palette
но вам нужно установить правильный xrange, yrange и значения key_x
, key_y
и key_dy
.
это не самый интуитивный способ, но он работает:)
У меня есть альтернативное решение опубликовано здесь: использование Gnuplot для построения точечных цветов условно
по существу вы строите один раз без записи легенды, а затем делаете фиктивные графики (без данных) для каждого цвета/метки точки.