Здесь я перевожу руководсво к gplot.pl; см. Sourceforge, perldoc gplot.pl или встроенную POD-документацию gplot.pl любым другим способом.
ОПИСАНИЕ
Программа - удобный интерфейс к gnuplot 4.0. Ранние версии имели другой синтаксис - используйте версию 1.1 для них. Большое число опций позволяет создавать графики по наборам данных. Шкалирование осей производится автоматически.
Опции разделены на две категории. Большинство относится ко всему графику (например, title - заголовок), а меньшая часть может указываться более одного раза, задавая различные значения разным кривым (например, цвет). Это может потребовать внимательного прочтения опций, описанных ниже.
Никакой новой функциональности к gnuplot не добавляется, однако облегчает создание входных данных для него. Вход для gnuplot может быть весьма изощренным, если Вы пытаетесь задать цвет или тип линии, поскольку они задаются числами, которые зависят от устройства. gplot.pl позволяет задавать атрибуты английскими словами типа 'red' и 'triangle', облегчая взаимодействие с gnuplot. Программа поддерживает вывод только в Postscript, PBM, PNG, JPG и 'X'.
Дополнительная информация о gnuplot доступна по этим адресам:
http://www.gnuplot.info/ http://www.ucc.ie/gnuplot/gnuplot.html http://www.duke.edu/~hpgavin/gnuplot.html
Замечание переводчика: мне пришлось внести изменение в текст программы gplot 1.3: в моем gnuplot 4.4 отсутствует команда set data. Надо найти в тексте gplot.pl строку set data style lines и замнить ее на set style data lines.
ГЛОБАЛЬНЫЕ ОПЦИИ
Эти опции относятся ко всем отображаемым данным. Не имеет смысла задавать их более одного раза.
-font строка
Определяет шрифт для подписей к осям. По умолчанию используется шрифт терминала. Указывается не для всех типов графики (-type), но указывается для Postscript.
-fontsize N
Определяет размер шрифта для подписей к осям. По умолчанию используется шрифт терминала. Если указан -font, значение по умолчанию - 12. Указывается не для всех типов графики (-type), но указывается для Postscript.
-help
Выводит подсказку по команде.
-onecolumn
Если задана, эта опция указывает, что все файлы, которые надо нарисовать, имеют один столбец данных Y. Данные из двух столбцов будут скопированы. Ось X начинается с нуля с шагом 1. Временные файлы уничтожаются по окончании.
-outfile файл
Указывает имя файла, содержащего график. По умолчанию '/tmp/gplot.' с расширением -type (например, '-type ps' даст '/tmp/gplot.ps').
-plotcmds файл
Указывает, из акого файла брать команды. Если не задана, используется стандартный набор. См. ``ПСЕВДОКОМАНДЫ В ВАШЕМ ФАЙЛЕ GNUPLOT'', чтобы узнать больше об этой опции.
-showgnuplot
Если задана, эта опция предписывает вывести сгенерированные команды gnuplot на STDOUT. Это полезно, если Вы хотите перехватить вывод gplot и добавить своих команд. См. также опцию -plotcmds.
-tfont строка
Specifies the font used for -title. This uses the default for your gplot and terminal. This setting may not be applied for all -type settings, but *is* applied for Postscript.
-tfontsize N
Определяет шрифт для подписей к заголовку (-title). По умолчанию используется шрифт терминала. Если указан -font, значение по умолчанию - 14. Указывается не для всех типов графики (-type), но указывается для Postscript.
-title строка
Указывает заголовок, выводимый наверху страницы. Если строка пустая, заголовок не выводится.
-type xwin|jpg|jpeg|png|pbm|ps|eps
Указывает тип графического файла. Значение 'xwin' создает график и рисует его на экране (по умолчанию), 'png', 'pbm', 'jpg' или 'jpeg' создает растровый файл, 'eps' создает внедренный постскрипт, а 'ps' создает постскрипт-файл.
Создав PS-файл, его можно напечатать командой типа
lpr my.ps
А можно конвертировать в PDF:
ps2pdf14 my.ps my.pdf
Файл JPEG можно также получить, создав PBM и затем:
cjpeg my.pbm > my.jpg
-xlabel строка
Задает подпись (метку) к оси X (абсцисс) графика. Как она будет выглядеть, зависит от типа (-type). Если строка пустая, подпись отсутствует.
-ylabel строка
Задает подпись (метку) к оси X (абсцисс) графика. Как она будет выглядеть, зависит от типа (-type). Если вывод в Postscript, подпись вертикальна. Если строка пустая, подпись отсутствует.
ОПЦИИ ДЛЯ КАЖДОГО ФАЙЛА
Эти опции могут указываться более одного раза, так что можно управлять видом каждой отдельной кривой. Например, если у Вас три файла с данными и Вы хотите нарисовать их разными цветами, один из способов таков:
gplot.pl -color red 1.data -color blue 2.data -color green 3.data
-dateformat формат
Указывает, что абсциссы - это даты в заданном формате. Формат должен состоять из серии %-ключей, описывающих формат даты. Например, '%y%m%d' указывает на дату, содержащую ДВЕ цифры года, дву - месяца и две - дня. ``%m/%d/%y'' - это месяц, день и год, разделенные слешами. Если хотите столбцовую диаграмму, включите опцию '-style impulses'.
-color строка
Указывает цвет кривой. Если создается Postscript-файл, линии будут не только указанного цвета, но сами линии будут разные, так что они будут различимы даже при печате на черно-белом принтере. Вызов 'gplot.pl' выведет список цветов.
-name строка
Указывает метку кривой. Она фигурирует в легенде, содержащей также цвет и маркер точек.
-point строка
Определяет форму маркера точек данной кривой. По непонятной причине gnuplot имеет разные наборы маркеров для разных типов (-type) файла. Для Postscript предусмотрено много маркеров (circles, boxes, fillcircles, filldowntriangles - лишь несколько). Другие типы имеют только шесть маркеров. Вызов gplot.pl без параметров выведет список маркеров.
-pointsize F
Указывает размер маркера. См. опцию -point. Это число с плавающей точкой. Полезные значения - в районе одной второй. Большие значения нарисуют крупные и, вероятно, малоинтересные маркеры.
-style имя
Указывает стиль кривой. Значение зависит от версии gnuplot, но включает, по крайней мере, следующее: boxes, dots, impulses (для столбцовых диаграмм), lines, linespoints (по умолчанию), points, steps и vector.
-using X:Y
Указывает столбцы данных для осей X и Y. Двоеточие разделяет два числа. Значение '-using 4:2' означает, что файл содержит не менее четырех столбцов, 4-ый столбец - это значения X, а второй - значения Y. Значене по умолчанию '-using 1:2'.
-thickness N
Указывает толщину линии. По умолчанию 1. Значения более двух вряд ли нужны, если только не указана опция '-style impulses' для рисования столбцовой диаграммы.
ПАРАМЕТРЫ
infile1 ... infileN
Указывают имена файлов с данными. Если их более одного, графики накладываются и выбираются новые значения цвета и маркера. Можно (и следует) задавать свои значения цвета (-color) и маркера (-point) для каждой кривой.
ПСЕВДОКОМАНДЫ В ВАШЕМ ФАЙЛЕ GNUPLOT
Есть возможность создать свой файл с командами gnuplot и при этом использовать преимущества gplot.pl. Опция -showgnuplot выводит на STDOUT входные команды для gnuplot - с этого можно начать. Например, команда 'gplot.pl 1a.data' создаст такой файл:
# GPLOT.PL pseudo commands for GNUPLOT set xlabel "X" font "Helvetica,12" set ylabel "Y" font "Helvetica,12" set multiplot set autoscale set data style lines set border 3 set xtics border nomirror set ytics border nomirror set origin 0.0,0.0 set title "No title provided" font "Helvetica,14" set style line 10 lt 1 lw 1 pt 10 ps 2.0 plot '1a.data' using 1:2 title '1a.data' with linespoints linestyle 10
Большинство из этого выглядит вполне понятно, кроме строки 'style line' (в осбенности) и строки plot lines. Программа gplot.pl использует понятне слова в качестве значений для опций -color и -point и преобразует их в коды, которые Вы и видите.
Можно также создать свой входной файл для gnuplot и использовать gplot.pl для выполнения этой замены. Укажите файл с командами gnuplot посредством опции -plotcmds. Стоит только поместить ключевые слова в этот файл, и gplot.pl заменит их на корректные значения цвета и т.п. Надо только знать эти ключевые слова. По умолчанию 'файл' команд gnuplot такой:
# GPLOT.PL pseudo commands for GNUPLOT IF TYPE eq ps set terminal postscript landscape color IF TYPE eq eps set terminal postscript eps color IF TYPE eq jpg set terminal jpeg IF TYPE eq png set terminal png IF TYPE eq pbm set terminal pbm IF TYPE ne xwin set output "%OUTFILE%" set xlabel "%XLABEL%" font "%FONT%,%FONTSIZE%" set ylabel "%YLABEL%" font "%FONT%,%FONTSIZE%" set multiplot set autoscale set data style lines set border 3 set xtics border nomirror set ytics border nomirror set origin 0.0,0.0 set title "%TITLE%" font "%TFONT%,%TFONTSIZE%"
Сравнивая этот текст с входом для gnuplot, Вы сразу заметите строки 'IF TYPE' и '%key%'. Строки 'IF TYPE' реализуют простейшую логику, так что мы можем сгенерировать адекватные команды 'set terminal' в зависимости от опции -type.
Выражения '%key%' являются ключевыми словами, замещаемыми непосредственно значениями разных опций gplot.pl (например, %XLABEL% замещается значением -xlabel и т.д.)
Для каждого входного файла gplot.pl добавляет команду установки стиля ('style line') вроде такой:
set style line %s lt &COLOR& lw %THICKNESS% pt &POINT& ps %POINTSIZE%
Она содержит такие же ключи '%key%', замещаемые как рассказано выше. Ключи типа '&key&' проходят подстановку дважды. Например, '&COLOR&' замещается значением опции -color, которое, например, 'red' (на самом деле будет '%red%'). А это значение уже замещается как описано выше, на код цвета '1'. Ключ '%s' заменяется число, увеличивающиеся на единицу с каждым новым файлом.
Вторая строка создается для каждого входного файла и имеет вид:
'%INFILE%' using %USING% title '%NAME%' with linespoints linestyle %s
Эта строка подвергается такой же подстановке, что и описанная выше.
ПРИМЕР -PLOTCMDS
Неплохое начало - внутренняя форма, используемая самой gplot.pl (Вы можете, разумеется, делать все, что допускает gnuplot), к которой добавляются Ваши команды. Можно посмотреть адреса, приведенные в начале этого документа. Здесь мы начиниаем с файла по умолчанию gplot.pl и добавляем несколько строк, поясненных в комментариях:
# GPLOT.PL - псевдокоманды для GNUPLOT IF TYPE eq ps set terminal postscript landscape color IF TYPE eq eps set terminal postscript eps color IF TYPE eq jpg set terminal jpeg IF TYPE eq png set terminal png IF TYPE eq pbm set terminal pbm IF TYPE ne xwin set output "%OUTFILE%" set xlabel "%XLABEL%" font "%FONT%,%FONTSIZE%" set ylabel "%YLABEL%" font "%FONT%,%FONTSIZE%" set multiplot set autoscale set data style lines set border 3 set xtics border nomirror set ytics border nomirror set origin 0.0,0.0 set title "%TITLE%" font "%TFONT%,%TFONTSIZE%" # Убрать легенду set nokey # Добавить комментариев на график set label "Peak" at 145,1.95 set label "RH Point" at 170,0.95 # Поставить метки вертикально через 1.8, сверху вниз set label "June 1990" at 60,1.8 right rotate font "Helvetica,8" set label "May 1990" at 50,1.8 right rotate font "Helvetica,8" set label "April 1990" at 40,1.8 right rotate font "Helvetica,8"
Теперь создаемграфик с помощью
gplot.pl -type ps -plotcmds test.gnuplot -xlabel Contributions \ -ylabel "Rate (cm/day)" -title "Annotated Example" 1a.data
Если используется тип (-type) xwin (по умолчанию), то подписи будут горизонтальными, а не вертикальными. Другие типы дадут что-то более осмысленное.
Обратите внимание, что файл test.gnuplot file не содержит команд linetype или plot - gplot.pl создает их для Вас.
ВЫХОД
Если не произвошло фатальных ошибок, программа завершает работу с кодом 0. В случае ошибок коды ненулевые.
АВТОР
Написана Terry Gliedt <tpg@umich.edu> в 2003 и доступна под условиями лицензии GNU General Public License. Перевел И.А. Чернов.