GNUPLOT

- не так Часто Задаваемые Вопросы -

update 2010/12/26

О легенде

... но gnuplot называет это "key"

Как убрать легенду?

Существует два варианта. Первый это:

gnuplot> unset key

другой - использование ключевого слова notitle при построении. В следующей команде файл данных имеет легенду, но функция легенды отменена.

gnuplot> plot f(x) notitle, "file.dat" title "data"
up

Как можно изменить положение легенды?

Обычно легенда отображается в верхнем правом углу графика. Но положение можно изменить с помощью команды set key. Если дать такую команду,

gnuplot> set key left bottom

то легенда окажется в нижнем левом углу графика. Доступные опции расположения: слева, справа, сверху, снизу, снаружи и ниже. Возможно скомбинировать некоторые из них. Например, outside bottom.

Можно установить расположение легенды напрямую. Если вы хотите поместить её в положение (X,Y)=(100,100):

gnuplot> set key 100,100

Координаты (100,100) это положение средней точки между текстом и линией/символом первой линии в легенде. Координаты система определяет с помощью осей X и Y. Если вы хотите переменстить легенду независимо от осей, то можно использовать раздел положение и координаты.

up

Как избавиться от погрешностей в легенде?

Когда построение происходит с погрешностями, они появляются и в легенде. Однако, даже если у данных есть ошибки в Y-направлении, значение погрешности в легенде становится горизонтальным, и обычно мы не нуждаемся в таком значении погрешности. Вот простой способ удалить значение погрешности в легенде.

Когда мы подготавливаем файл данных (test.dat),

#  X     Y     Y-error
   1.0   1.2   0.2
   2.0   1.8   0.3
   3.0   1.6   0.2

со следующими командами,

gnuplot> set xrange [0:4]
gnuplot> set yrange [0:3] 
gnuplot> plot "test.dat" usi 1:2:3 title "data" w yerrorbars
fig/sample2.3a

значение погрешности в легенде становится как вышеупомянутый.
Это не очень рациональный путь, но

gnuplot> set xrange [0:4]
gnuplot> set yrange [0:3] 
gnuplot> plot "test.dat" usi 1:2:3 notitle        w yerrorbars 1,\
              "test.dat" usi 1:2     title "data" w points     1
он хорошо работает.
fig/sample2.3b
up

Положение текста в легенде иногда ошибочно, когда используются символы Postscript

Иногда gnuplot помещает текст (в название или легенду) в неправильном положении, когда используется символ Postscript, например, "{/Symbol a}". Например, у вас может быть дополнительное пространство с левой стороны, хотя вы хотите расположить легенду рядом с осью Y с помощью команды set key left. Это происходит, потому что gnuplot не считает "{/Symbol a}" как один символ. Чтобы настроить положение легенды, содержащей Postscript символы, вы должны дать её координаты непосредственно.

up

Регулировка промежутков между линиями

Вы можете изменить промежуток между линиями в легенде с помощью команды set key spacing. Чтобы сделать интервал 1.5 нужно дать команды: set key spacing 1.5

up

Использование рамки легенды

Чтобы сделать рамку вокруг легенды, используйте set key box. Тип линии для рамки будет такой же как и для графика. Вы можете поменять его с путём предоставления box ключевого слова, следующего как индекс типа линии. В другом случае вы можете изменить тип линии по-другому:

gnuplot> set linestyle 1 lt 2 lw 3
gnuplot> set key box linestyle 1

Для gnuplot ver.4.0:

gnuplot> set style line 1 lt 2 lw 3
gnuplot> set key box linestyle 1
up