GNUPLOT

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

обновлено 2010/12/26

О 2D Plot (No.5)

1 | 2 | 3 | 4 | 5 | 6 | 7

Небольшая фигура в фигуре.

Рассмотрим способ создания увеличенного фрагмента графика внутри основного. Иногда можно увидеть увеличенное построение на краях, чтобы очистить переполненную часть. Выводиться увеличенное окно при помощи multiplot. Мы делаем около 1/4 натурального изображения в главном построении. Сначала построим главный график в multiplot моде.

gnuplot> set xrange [ 0 : 20 ]
gnuplot> set yrange [ 0 : 6 ]
gnuplot> set xtics 5
gnuplot> set ytics 1
gnuplot> set multiplot
multiplot> set origin 0.0,0.0
multiplot> set size 1.0,1.0
multiplot> plot "file.dat" u 1:2:3 notitle with yerrorbars,\
>               "file.cal" u 1:2   notitle with lines

Переместите начало координат в свободное место (0.45,0.1) и нарисуйте там маленький график. Диапазоны X и Y должны быть увеличенны там, где будет построен маленький график. Маленькая фигура такая же как основное изображение за исключением диапазона, так что можно использовать команду replot.

multiplot> set origin 0.45,0.1
multiplot> set size 0.5,0.5
multiplot> set xrange [ 1 : 5 ]
multiplot> set yrange [ 2.4 : 3.0 ]
multiplot> set ytics 0.5
multiplot> replot
multiplot> set nomultiplot
gnuplot>
fig/sample5.14

Теперь можно ясно видеть часть с плотным заполнением точками. Начало координат и размер подобрали так, чтоб эти 2 изображения не наложились. Стереть линии и позицию главной фигуры, в которую gnuplot вставляет маленькое изображение, невозможно.

Названия осей X и Y маленького графика должны быть пустыми, в то время как основное изображение их имеет. Когда необходимо уменьшить размер EPS, команда set size должна быть использована вне multiplot режима. Иначе gnuplot определит BoundingBox в Postscript файле, чтобы включить в себя целый экран. Можно посмотреть пример в галерее.

up

Простая гистограмма.

Gnuplot (если более старый чем ver.3.6) рисует открытые прямоугольники with boxes при использовании прямоугольной гистограммы, как показанно на примере. Gnuplot ver.3.8 и новее может рисовать заполненный прямоугольник.

Если построить рисунок в формате Postscript, самый легкий способ нарисовать фигуру with impluses с очень толстыми линиями. В следующем примере используется линия типа 1, которая в 50 раз толще чем по умолчанию.

gnuplot> set term postscript eps enhanced color
gnuplot> set linestyle 1 lt 1 lw 50
gnuplot> # for gnuplot ver.4
gnuplot> # set style line 1 lt 1 lw 50
gnuplot> plot "test.dat" using 1:2 with imp ls 1
fig/sample5.15

up

[ver.4] ТОЛЬКО!

Gnuplot Ver.4 имеет опцию наполненные прямоугольники, определяеиую следующим образом: with boxes fs [pattern | solid] (fillstyle). Так же можно использовать set style fill для выбора цвета заполнения.

В случае with boxes fs pattern , образец числа используется чтобы определить заполняющийся образец. Опция solid определяет плотность заполнения прямоугольника, задается значениями от 0 до 1.

В примере ниже, (3) - стандарт ширины.

gnuplot> plot "test.dat" usi 1:2:(3)      w boxes fs pattern 1,\
gnuplot>      "test.dat" usi ($1+5):2:(3) w boxes fs solid 0.7
fig/sample5.15b
up