GNUPLOT

An Interactive Plotting Program

Thomas Williams & Colin Kelley

Перевод - Сергей Копылов

Версия 3.5 - Alex Woo

Версия 3.6a - Alexander Lehmann

Основные участники (в алфавитном порядке):

Copyright (C) 1986 - 1993 Thomas Williams, Colin Kelley

Список рассылки для комментариев: info-gnuplot@dartmouth.edu

Список рассылки для сообщений об ошибках: bug-gnuplot@dartmouth.edu

Это руководство рассматривает версию GNUPLOT 3.6a


Alex Woo, woo@playfair.stanford.edu
Sergei Kopylov, serge@genebee.msu.su

GNUPLOT

GNUPLOT - программа построения графиков, управляемая вводом команд.

Для получения справки по любой теме, наберите help.

Новый пользователь GNUPLOT должен прочитать введение (наберите help introduction) и справку о команде plot (наберите help plot). Дополнительную помощь можно получить из USENET группы {\em comp.graphics.gnuplot}.

Авторское право
Введение
cd
clear
Командная строка
Комментарии
Переменные окружения
exit
Выражения
fit
help
if
load
call
pause
plot
print
pwd
quit
replot
reread
reset
save
set-show
shell
splot
Инициализация
Подстановки
update
Пользовательские определения
Ошибки


Авторское право

     Copyright (C) 1986 - 1993   Thomas Williams, Colin Kelley

Настоящее соглашение дает право использовать, копировать и распространять эту программу и ее документацию в любых целях за вознаграждение или без него, при условии, что данное лицензионное соглашение будет присутствовать в каждой копии программы и в сопроводительной документации.

Дается разрешение на изменения этой программы, но не на распространение измененного кода. Изменения должны распространяться в качестве заплат к очередной версии программы.

Эта программа предоставляется "как есть", без каких-либо явных или предполагаемых гарантий.

Авторы:

Исходная программа: Thomas Williams, Colin Kelley.
Дополнения к версии 2.0: Russell Lang, Dave Kotz, John Campbell.
Дополнения к версии 3.0: Gershon Elber и многие другие.

Существуют списки рассылки для пользователей GNUPLOT. Тем не менее, необходимо отметить, что USENET группа comp.graphics.gnuplot полностью аналогична списку расссылки (они содержат одинаковый набор сообщений). Мы предпочитаем, чтобы Вы читали сообщения через USENET, вместо подписки на лист. (Если Вы можете читать группу, и уже подписаны на список рассылки, пошлите сообщение по адресу info-gnuplot-request@dartmouth.edu, с просьбой об удалении из списка рассылки).

Адреса списков рассылки:

Общий: info-gnuplot@dartmouth.edu
Aдминистративный: info-gnuplot-request@dartmouth.edu
Для сообщений об ошибках: bug-gnuplot@dartmouth.edu
Для бета-тестеров: info-gnuplot-beta@dartmouth.edu


Введение

GNUPLOT - программа построения графиков функций, управляемая вводом команд. Регистр символов имеет значение, т.е. команды и имена функций, записанные прописными буквами отличаются от записанных строчными. Все имена команд можно сокращать, если сокращение однозначно определяет имя команды. В строке может присутствовать произвольное количество команд разделенных символом точка-с-запятой (;). Строки выделяются одинарными или двойными кавычками, например:

         load "filename"
         cd 'dir'

Любые параметры, заданные в командной строке, рассматриваются как имена файлов, в которых находятся наборы команд GNUPLOT, за исключением стандартных аргументов X11, которые обрабатываются в первую очередь. Каждый файл загружается командой load, в указанном порядке. GNUPLOT завершает работу после обработки последнего файла. Если файлы не указаны, GNUPLOT переходит в командный режим.

Команды могут располагаться в нескольких исходных файлах, каждая строка которых, за исключением последней, завершается символом обратной косой черты (\). Этот символ должен быть последним символом каждой строки. Результат таков, будто обратной косой черты и символа новой строки просто не существует. То есть, не допускается никаких пробелов или окончаний комментариев после символа обратной косой черты. Таким образом, комментарий в длинной строке закомментирует весь остаток строки (смотри Комментарии).

В этом руководстве фигурные скобки ({}) выделяют необязательные аргументы многих команд, а вертикальная черта (|) разделяет взаимоисключающие варианты аргументов. Ключевые слова GNUPLOT оставлены в английском написании, и выделяются, где возможно, кавычками или полу-жирным шрифтом Угловые скобки (<>) используются для выделения заменяемых пользователем элементов.

Для получения справки по любой теме, наберите help <тема>. Новый пользователь GNUPLOT должен начать со справки о команде plot (наберите help plot).


cd

Команда cd изменяет рабочую директорию.

Синтаксис:

        cd "<directory-name>"

Имя директории должно быть заключено в кавычки.

Примеры:

        cd 'subdir'
        cd ".."


clear

Команда clear очищает текущий экран или другое устройство вывода, указанное командой set output. Обычно, это приводит к протяжке строки на принтерах и подобных устройствах. Используйте команду set terminal для установки типа устройства вывода.


Командная строка

Версии GNUPLOT для операционных систем Unix, Atari, VMS, MS-DOS и OS/2 позволяют редактировать командную строку, а также редактировать и выполнять ранее введенные команды. После окончания редактирования строки, нажатие клавиши перевода каретки вводит всю строку, независимо от текущей позиции курсора.

Команды редактирования строки:

Line-editing:

^B перемещение на один символ назад.
^F перемещение на один символ вперед.
^A перемещение к началу строки.
^E перемещение к концу строки.
^H и DEL удаление предыдущего символа.
^D удаление текущего символа.
^K удаление от текущей позиции курсора до конца строки.
^L, ^R перерисовка строки.
^U удаление всей строки.
^W удаление последнего слова.

History:

^P предыдущая команда.
^N следующая команда.

На IBM PC можно использовать резидентные программы, например CED или DOSEDIT, для редактирования командной строки. Для этого компилировать GNUPLOT нужно без поддержки редактирования командной строки (значение по-умолчанию).Установите переменную READLINE в файле makefile и добавьте файл readline.obj при сборке, если будут использоваться встроенные возможности редактирования. Ниже перечислены курсорные стрелки, которые можно использовать в версиях GNUPLOT для IBM PC и Atari, при включенной поддержке встроенного редактирования командной строки:

Стрелка влево - аналогично ^B.
Стрелка вправо - аналогично ^F.
Ctrl Стрелка влево - аналогично ^A.
Ctrl Стрелка вправо - аналогично ^E.
Стрелка вверх - аналогично ^P.
Стрелка вниз - аналогично ^N.

Версия readline для Atari определяет несколько дополнительных клавиш:

Undo - аналогично ^L.
Home - аналогично ^A.
Ctrl Home - аналогично ^E.
ESC - аналогично ^U.
Help - help плюс перевод каретки.
Ctrl Help - help.

Реализация функции readline в GNUPLOT не полностью соответствует реализации этой функции в GNU BASH и GNU EMACS.


Комментарии

Символ комментария (#) может находиться в любом месте строки. При этом GNUPLOT игнорирует весь остаток строки. Символ не работает как комментарий внутри кавычек, внутри чисел (включая комплексные числа), внутри командных подстановок и.т.д. Короче говоря, он работает там, где это имеет смысл.


Переменные окружения

GNUPLOT использует несколько переменных окружения. Ни одна из них не является обязательной, но они могут оказаться полезными.

Если определена переменная GNUTERM, она используется как название для используемого типа терминала. Ей замещается тип терминала, автоматически определенный при старте GNUPLOT, но этот параметр, в свою очередь, замещается значением из файла .gnuplot (или эквивалентного) и, разумеется, более поздними явными командами. (смотри раздел Инициализация).

В Unix, AmigaDOS, AtariTOS, MS-DOS и OS/2, переменная GNUHELP может указывать путь к файлу справки (gnuplot.gih).

В системе VMS, символ GNUPLOT$HELP должен быть определен как имя справочной библиотеки для GNUPLOT.

В Unix, переменная HOME используется как имя директории для поиска файла .gnuplot, если он не найден в текущей директории. В AmigaDOS, AtariTOS, MS-DOS и OS/2 используется переменная GNUPLOT. В VMS - переменная SYS$LOGIN. Смотри раздел Инициализация).

В Unix, переменная PAGER используется как фильтр для справочных сообщений.

В Unix, AtariTOS и AmigaDOS, переменная SHELL используется для команды shell. В MS-DOS и OS/2, для этого используется переменная COMSPEC.

В AmigaDOS, переменная GNUFONT используется для определения экранного шрифта. Например, "setenv GNUFONT sapphire/14".

В MS-DOS, если используется интерфейс BGI, переменная BGI определяет полный путь к директории BGI-драйверов. Более того, переменная SVGA используется для определения BGI-драйвера для SVGA в режиме 800x600, и этот режим работает как 'именованный режим', т.е, если драйвер SVGA - C:\TC\BGI\SVGADRV.BGI и используется третий режим для разрешения 800x600, то нужно указать следующее: 'set BGI=C:\TC\BGI' and 'set SVGA=SVGADRV.3'.


exit

Команды exit и quit а также символ окончания файла EOF приводят к завершению сеанса работы с GNUPLOT. Все эти команды перед завершением работы очищают устройство вывода (так, как это делает команда clear).


Выражения

В основном, любое математическое выражение, обрабатываемое языками программирования C, FORTRAN, Pascal, или BASIC является правильным для GNUPLOT. Приоритет этих операторов определяется спецификацией языка программирования C. Пустые места (пробелы и табуляции) игнорируются внутри выражений.

Комплексные константы могут быть представлены в виде пары значений {<real>,<imag>}, где <real> и <imag> должны быть численными константами. Например, {3,2} представляет число 3 + 2i, а {0,1} представляет i. Фигурные скобки здесь являются обязательной частью синтаксиса.

Функции
Операторы


Функции

Функции в GNUPLOT аналогичны соответствующим функциям в математической библиотеке операционной системы Unix, за исключением того, что все функции принимают целые, действительные и комплексные аргументы, если только не указано обратное. Функция sgn реализована как в языке программирования BASIC.

abs
acos
arg
asin
atan
besj0
besj1
besy0
besy1
ceil
cos
cosh
erf
erfc
exp
floor
gamma
ibeta
inverf
igamma
imag
invnorm
int
lgamma
log
log10
norm
rand
real
sgn
sin
sinh
sqrt
tan
tanh


abs

Функция abs возвращает абсолютное значение аргумента. Возвращаемое значение имеет тот-же тип, что и аргумент.

Для комплексных аргументов abs(x) определяется как длина x в комплексной плоскости ( т.е. sqrt{real(x)2 + imag(x)2 ).


acos

Функция acos возвращает арккосинус (обратный косинус) аргумента. Значение возвращается в радианах.


arg

Функция arg возвращает аргумент комплексного числа. Значение возвращается в радианах.


asin

Функция asin возвращает арксинус (обратный синус) аргумента. Значение возвращается в радианах.


atan

Функция atan возвращает арктангенс (обратный тангенс) аргумента. Значение возвращается в радианах.


besj0

Функция besj0 возвращает J0 функцию Бесселя первого рода от аргумента. Аргумент предполагается в радианах.


besj1

Функция besj1 возвращает J1 функцию Бесселя первого рода от аргумента. Аргумент предполагается в радианах.


besy0

Функция besy0 возвращает Y0 функцию Бесселя от аргументов. Аргументы предполагаются в радианах.


besy1

Функция besy1 возвращает Y1 функцию Бесселя от аргументов. Аргументы предполагаются в радианах.


ceil

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


cos

Функция cos возвращает косинус аргумента. Аргумент предполагается в радианах.


cosh

Функция cosh возвращает гиперболический косинус аргумента. Аргумент предполагается в радианах.


erf

Функция erf возвращает функцию ошибок действительной части аргумента. Мнимая часть комлексного аргумента игнорируется.


erfc

Функция erfc возвращает дополнительную функцию ошибок действительной части аргумента. Мнимая часть комлексного аргумента игнорируется.


exp

Функция exp возвращает экспоненту от аргумента. (e в степени аргумент).


floor

Функция floor возвращает наибольшее целое значение не большее аргумента. Для комплексных чисел floor возвращает наибольшее целое значение, не большее действительной части аргумента.


gamma

Функция gamma возвращает гамма-функцию действительной части аргумента. Для целого n, gamma(n+1) = n!. Мнимая часть комлексного аргумента игнорируется.


ibeta

Функция ibeta возвращает неполную бета-функцию целых частей аргументов. p, q > 0 и x в диапазоне [0:1]. Мнимая часть комплексных аргументов игнорируется.


inverf

Функция inverf возвращает обратную функцию ошибок действительной части аргумента. Мнимые части комлексных аргументов игнорируются.


igamma

Функция igamma возвращает неполную гамма-функцию действительных частей аргументов. a > 0 и x >= 0. Мнимые части комлексных аргументов игнорируются.


imag

Функция imag возвращает мнимую часть комплексного числа в виде действительного числа.


invnorm

Функция invnorm возвращает обратное нормальное распределение действительной части аргумента. Мнимая часть комлексного аргумента игнорируется.


int

Функция int возвращает целую часть аргумента, усеченную к нулю.


lgamma

Функция lgamma возвращает натуральный логарифм гамма-функции действительной части аргумента. Мнимая часть комлексного аргумента игнорируется.


log

Функция log возвращает натуральный логарифм (по основанию e) аргумента.


log10

Функция log10 возвращает десятичный логарифм (по основанию 10) аргумента.


norm

Функция norm возвращает функцию нормального распределения (функция Гаусса) действительной части аргумента.


rand

Функция rand возвращает псевдо-случайное число в диапазоне [0:1], используя действительную часть аргумента в качестве затравки s. Если s < 0, последовательность (ре-)инициализируется. Мнимая часть комлексного аргумента игнорируется.


real

Функция real возвращает действительную часть аргумента.


sgn

Функция sgn возвращает 1 в случае положительного значения аргумента, -1 в случае отрицательного значения аргумента и 0, если аргумент равен нулю. Мнимая часть комлексного аргумента игнорируется.


sin

Функция sin возвращает синус аргумента. Аргумент предполагается в радианах.


sinh

Функция sinh возвращает гиперболический синус аргумента. Аргумент предполагается в радианах.


sqrt

Функция sqrt возвращает квадратный корень аргумента.


tan

Функция tan возвращает тангенс аргумента. Аргумент предполагается в радианах.


tanh

Функция tanh возвращает гиперболический тангенс аргумента. Аргумент предполагается в радианах.


Операторы

Операторы в GNUPLOT аналогичны соответствующим операторам в языке программирования C, за исключением того, что все операторы принимают целые, действительные и комплексные аргументы, если только не указано обратное. Оператор ** (возведение в степень) реализован как в языке программирования FORTRAN.

Скобки можно использовать для изменения порядка вычислений.

Бинарные
Унарные


Бинарные

Ниже приводится список всех бинарных операторов:

Символ  Пример     Пояснение 
**      a**b       возведение в степень
*       a*b        умножение
/       a/b        деление
%       a%b        взятие модуля [1]
+       a+b        сложение
-       a-b        вычитание
==      a==b       равенство
!=      a!=b       неравенство
&      a&b       поразрядное сложение И [1]
^       a^b       поразрядное исключительное ИЛИ [1]
|       a|b        поразрядное включительное ИЛИ [1]
&&       a&&b        логическое И [1]
||      a||b       логическое ИЛИ [1]
?:      a?b:c      тройной оператор [1]

[1] Оператору необходимы целочисленные аргументы

Логические И (&&) и ИЛИ (||) вычисляются также, как в языке программирования С. А именно, второй оператор && не вычисляется, если первый вернул результат операции 'ложь'; второй оператор || не вычисляется, если первый вернул значение 'истина'.

Тройной оператор вычисляет значение первого аргумента (a). Если он 'истина' (не нулевой), вычисляется и возвращается второй аргумент (b), иначе вычисляется и возвращается третий аргумент (c).


Унарные

Ниже приводится список всех унарных операторов:

Символ    Пример  Пояснение
-         -a      вычитание
~         ~a      дополнение [1]
!         !a      логическое отрицание [1]
!         a!      факториал [1]

[1] Оператору необходимы целочисленные аргументы

Оператор факториал возвращает действительное значение для использования большего диапазона значений.


fit

GNUPLOT включает возможность нелинейной аппроксимации по наименьшим квадратам с использованием алгоритма Marquardt-Levenberg. Он может аппроксимировать любую пользовательскую функцию к любому набору пар данных (x,y). Значения x, y и возвращаемое функцией значение должны быть действительными числами. Любая переменная, встречающаяся в теле функции может служить параметром приближения. (аппроксимационные функции без регулируемых параметров не имеют смысла).

Синтаксис:

   fit <function> <datafile> {using x:y{:dy}} <parameter file>     или
   fit <function> <datafile> {using x:y{:dy}} via <var1>, <var2>, ...

<function> ранее определенная пользователем функция вида f(x).
<datafile> трактуется также, как в команде plot. По умолчанию, первый столбец используется как значения х, второй - как значения y. Их можно изменить с помощью механизма x:y. Необязательное значение dy указывает столбец, содержащий отдельные погрешности для каждого значения y. Эти значения используются в процессе приближения как весовая характеристика. Если они не указаны, все погрешности предполагаются распределенными одинаково. Начальные параметры могут быть указаны в файле параметров, в котором каждая строка имеет следующую форму:

   varname = value

Также разрешены комментарии, разделенные символом '#', и пустые линии. Строка вида:

   varname = value       # FIXED

означает, что значение является константой, которая не может быть изменена в процессе дальнейших расчетов. Указывать их не обязательно (хотя иногдя полезно для наглядности). Ключевое слово '# FIXED' необходимо использовать именно в таком виде. Другая возможность указать начальные значения заключается в том, что текущее значение переменной в процессе работы GNUPLOT будет служить в качестве начального параметра. В этом случае синтаксис, использующий ключевое слово via можно использовать только там, где задаются имена переменных.

После каждого шага итерации выдается детальная информация о состоянии аппроксимации, как на экран так и в файл регистрации "fit.log". Этот файл никогда не будет удален, а будет только дополняться для того, чтобы не потерять результаты предыдущих шагов процесса приближения. После каждого шага итерации аппроксимацию можно прервать нажатием ctrl-C (любой другой клавишей в MS-DOS). В этом случае появится возможность остановить процесс (и принять текущие значения параметров), продолжить аппроксимацию, или выполнить команду GNUPLOT, заданную переменной окружения FIT_SCRIPT. Например, может быть полезным выполнить команду plot, или загрузить файл с дополнительными данными.

Специальные переменные GNUPLOT:

Переменные окружения:

Примеры:

   f(x) = a*x**2 + b*x + c
   fit f(x) 'measured.dat' 'start.par'
   fit f(x) 'measured.dat' using 3:7 'start.par'
   fit f(x) './data/trash.dat' using 1:2:3 via a, b, c

Смотри также: update


help

Команда help вызывает встроенную справочную службу. Для запроса информации по отдельной теме используется следующий синтаксис:

        help {<тема>}

Если <тема> не указана, печатается короткое сообщение о GNUPLOT. После того, как будет дана справка по указанной теме, запрос можно уточнить, введя имя дополнительной темы, расширяющее исходный запрос справочной службы. После печати этой темы, запрос может быть еще более уточнен, или можно вернуться на предыдущий уровень, просто нажав клавишу перевода каретки. В конечном счете, таким образом можно вернуться в командную строку GNUPLOT.


if

Команда if позволяет осуществлять запуск команд при выполнении определенных условий.

Синтаксис:

        if (<условие>) <команды>

<условие> будет вычислено, и в случае, если результат 'истина' (не нулевой), команды, указанные в аргументе <команды> будут выполнены. Если <условие> 'ложь' (равно нулю), аргумент <команды> игнорируется. Использование ';' для ввода нескольких команд в одной строке не завершает условную команду.

Примеры:

     pi=3
     if (pi!=acos(-1)) pause 0 "?Fixing pi!";pi=acos(-1);show variables

Результат выполнения команды:

     ?Fixing pi!

             Variables:
             pi = 3.14159

или

     if (1==2) pause 0 "Never see this";pause 0 "Or this either"

не выдаст никакого результата.


load

Команда load выполняет каждую строку указанного файла так, если бы эти команды вводились в командной строке GNUPLOT. Можно загружать файлы, созданные ранее командой save. Можно создать любой правильный текстовой файл, содержащий команды GNUPLOT, который затем будет выполнен командой load. Файлы, загружаемые командой load, сами могут содержать команды load (или call). Смотри раздел комментарии для дополнительной информации о комментариях в командах.

Команда load должна быть последней командой в строке.

Синтаксис:

        load "<input-file>"

Имя файла необходимо заключить в кавычки.

Примеры:

        load 'work.gnu'
        load "func.dat"

Команда load обязательно выполняется для каждого имени файла, переданного в качестве аргумента программе GNUPLOT. Файлы загружаются в указанном порядке, после чего GNUPLOT завершает работу.


call

Команда call идентична команде load с одним исключением: можно задать до 10 дополнительных параметров для команды. (разделенных в соответствии со стандартными правилами обработчика), которые могут быть подставлены в строки, читаемые из файла. По мере прочтения каждой строки из указанного файла, она сканируется в поисках последовательности из символа $ (знак доллара), за которым следует цифра (0-9). В случае успеха поиска, эта последовательность заменяется соответствующим параметром из вызывающей командной строки. Если параметр был задан как строка, он подставляется без окружающих кавычек. Любой нецифровой символ, следующий за знаком $, будет передан сам по-себе. (например, использование $$ передаст единичный $). Указание более 10 параметров в вызывающей строке приведет к ошибке. Неуказанный параметр заменяется пробелом. Вызываемые файлы также могут содержать команды call или load. Команда call должна быть последней командой в строке.

Синтаксис:

        call "<input-file>" <parameter-0> <parm-1> ... <parm-9>

Имя файла необходимо заключить в кавычки.

Примеры:

Если файл 'calltest.gp' содержит строку:

    pause 0 "p0=$0 p1=$1 p2=$2 p3=$3 p4=$4 p5=$5 p6=$6 p7=x$7x"

ввод команды:

    call 'calltest.gp' "abcd" 1.2 + "'quoted'" -- "$2"

приведет к результату:

    p0=abcd p1=1.2 p2=+ p3='quoted' p4=- p5=- p6=$2 p7=xx


pause

Команда pause показывает любой текст, переданный этой команде, а затем ждет заданное количество времени или до нажатия клавиши перевода каретки. pause особенно полезна в сочетании с командой load.

Синтаксис:

        pause <время> {"<строка>"}

<время> может быть любым целым числом или выражением. Значение -1 означает ожидание нажатия клавиши перевода каретки, нулевое значение не создает никакой паузы, и положительное целое число создаст паузу на указанное число секунд.

Так как pause не является частью графического пакета, она может взаимодействовать с различными драйверами по-разному (в зависимости от соотношения графики и текста).

Примеры:

        pause -1    # Ждать перевода каретки
        pause 3     # Ждать 3 секунды
        pause -1  "Нажмите ввод для продолжения"
        pause 10  "Правда здорово? Это кубический сплайн."


plot

Команды plot и splot являются основными командами програмы. Они строят графики функций и данные множеством различных способов. plot используется для построения двумерных функций и данных, тогда как splot чертит трехмерные функции и наборы данных.

Синтаксис:

       plot {ranges} {<function> | {"<datafile>" {using ...}}}
                    {title} {style} {, <function> {title} {style}...}

       splot {ranges} {<функция> | {"<файл данных>" {index i} {using ...}}}
                    {title} {style} {, <function> {title} {style}...}

Необходимо указать либо <функция> либо имя файла данных, заключенное в кавычки. Функция это математическое выражение или пара (plot) или тройка (splot) математических выражений в случае параметрического задания функций. Здесь также можно определить пользовательские функции и переменные.

Функции plot и splot могут быть такими простыми, как эти:

        plot sin(x)

и

        splot x * y

или такими сложными, как эта:

 plot [t=1:10] [-pi:pi*2] tan(t), "data.1" using 2:3 with lines,
       t**2 with points

Файл данных
Разбросы ошибок
Параметрические функции
Диапазоны
Модификатор index
Стиль
Заголовок


Файл данных

Дискретные данные из файла могут быть построены указанием имени файла данных (заключенным в кавычки) в аргументе команд plot или splot. Файлы данных должны содержать одну единицу данных в строке. Строки, начинающиеся с # (или ! в VMS) будут рассматриваться как комментарии и игнорироваться. Для plot, каждая единица данных представляется парой значений (x,y). Для splot, каждая единица данных представляется тройкой значений (x,y,z). Для plot с указанием разброса ошибок (смотри plot errorbars), каждая единица данных представляется как одна из (x,y,ydelta), (x,y,ylow,yhigh), (x,y,xdelta), (x,y,xlow,xhigh), или (x,y,xlow,xhigh,ylow,yhigh). В любом случае, числа в каждой строке файла данных должны разделяться пробелами. Эти пробелы разделяют строки на столбцы.

Для plot значение х можно пропустить, а для splot можно пропустить значения x и у. В каждом случае, пропущенное значение принимается равным текущему координатному числу. Координатные числа начинаются с 0 и увеличиваются с каждой прочтенной единицей данных.

Для указания иного формата, смотри раздел plot datafile using.

В команде plot пустые линии в файле данных вызывают разрывы графика. Если стиль графика lines или linespoints (смотри раздел plot style), то линия между предыдущей и следующей точками не строится. Это не меняет стиль графика, потому что строит данные в виде различных кривых.

Следующий пример сравнивает данные файла population.dat с теоретической кривой:

        pop(x) = 103*exp((1965-x)/10)
        plot [1960:1990] 'population.dat', pop(x)

Файл population.dat может быть следующим:

        # Gnu population in Antarctica since 1965
        1965   103
        1970   55
        1975   34
        1980   24
        1985   10

Когда строится график из данных файла, шаблоны и изо-шаблоны игнорируются. Кривые, построенные командой plot, автоматически масштабируются, чтобы занимать все отведенное для кривой пространство. Аналогично, сетка, построенная командой splot автоматически масштабируется, используя предположение о том, что изолинии разделены пустыми линиями (линии только с символом CR/LF).

Очевидно, существует два типа трехмерных файлов данных. Если все изолинии одинаковой длины, данные предполагаются сетью, т.е. данные имеют топологию сети. Поперечные изолинии в других параметрических направлениях (i-ая поперечная изолиния проходящая через i-ую точку из всех предоставленных изолиний) будут также построены для данных сети (замечание: построение графика контура доступно только для подобных наборов данных). Если все изолинии различной длины, поперечные изолинии не будут построены, и построение контура из таких данных не представляется возможным.

Для поверхностей, файлы данных могут содержать более одной сети, и по-умолчанию строятся все сети. Сети отделяются одна от другой в файле двумя пустыми строками. Для возможности контроля и построения одной сети из многосетевого файла следует использовать модификатор index. Для подробной информации смотри раздел splot index.

Если есть файл данных, и формат using (смотри раздел splot datafile using) указывает только значение z (поле высоты), то для поверхностей необходимо задавать непараметрический режим построения. С другой стороны, если указаны x, y, и z, необходимо выбирать параметрический режим (смотри раздел set parametric), так как подобные данные определяют параметрическую поверхность.

Простой пример файла данных для построения поверхности:

        set parametric
        splot 'glass.dat'

или

        set noparametric
        splot 'datafile.dat'

где файл datafile.dat может быть следующим:

        # The valley of the Gnu.
        10
        10
        10

        10
        5
        10

        10
        1
        10

        10
        0
        10

Этот файл определяет сеть 4х3 ячейки ( 4 ряда по 3 точки). Ряды разделены пустыми линиями.

В некоторых операционных системах, в которых реализована функция popen (UNIX), файл данных можно передать командой shell, начав имя файла с символа '<'. with a '<'. Например:

        pop(x) = 103*exp(-x/10)
        plot "< awk '{print $1-1965, $2}' population.dat", pop(x)

Эта команда построит график, аналогичный первому примеру, но с нумерацией лет, начинющейся с 1965 в качестве меток оси x. Чтобы построить график из этого примера, необходимо удалить все комментарии из вышеприведенного файла данных, или заменить cледующей командой первую часть вышеприведенной команды (часть команды до запятой):

        plot "< awk '$0 !~ /^#/ {print $1-1965, $2}' population.dat"

Также можно применить отдельную функцию только к y-значению, т.е.:

        plot 'population.dat' thru p(x)

За дальнейшей информацией о трехмерных построениях, смотри раздел splot.

Модификатор using


Модификатор using

Формат данных внутри файла можно указать с помощью модификатора using. Можно использовать точную scanf-строку, или произвести более простую выборку по столбцам.

Синтаксис:

        plot "datafile" { using { <ycol> |
                                  <xcol>:<ycol> |
                                  <xcol>:<ycol>:<ydelta> |
                                  <xcol>:<ycol>:<xdelta> |
                                  <xcol>:<ycol>:<boxwidth> |
                                  <xcol>:<ycol>:<ylow>:<yhigh> |
                                  <xcol>:<ycol>:<xlow>:<xhigh> |
                                  <xcol>:<ycol>:<xdelta>:<ydelta> |
                                  <xcol>:<ycol>:<ydelta>:<boxwidth> |
                                  <xcol>:<ycol>:<ylow>:<yhigh>:<boxwidth> |
                                  <xcol>:<ycol>:<xlow>:<xhigh>:<ylow>:<yhigh>}
                                {"<scanf string>"} } ...

и

        splot "datafile" { using { <xcol>:<ycol>:<zcol> | <zcol> }
                                 {"<scanf string>"} } ...

аргументы <xcol>, <ycol>, и <zcol> явно указывают столбцы, которые нужно построить, разделенные пробелом или табуляцией в многоколоночном файле данных. Если для plot выбран только столбец <ycol>, то <xcol> по-умолчанию равен единице. Если только столбец <zcol> выбран для splot, тогда только этот столбец считывается из файла. Значение <xcol>, равное нулю, заставляет строить <ycol> напротив его координатного числа. <xcol>, <ycol>, и <zcol> могут быть заданы как константы или как выражения.

Если x, y и/или z являются данными времени (дата/время), то столбцы, занятые временем (в форматной строке допускаются любые символы, включая пробел), считаются одним столбцом. "scanf-строка" не будет работать с сериями данных времени. Смотри также раздел set timefmt.

Если параметр yerrorbars (смотри также раздел plot errorbars) используется для plot, необходимо указать параметр ydelta (например, +/- погрешность) третьим столбцом, или параметры ylow и yhigh третьим и четвертым столбцами.

Если параметр xerrorbars (смотри также раздел plot errorbars) используется для plot, необходимо указать параметр xdelta (например, +/- погрешность) третьим столбцом, или параметры xlow и xhigh третьим и четвертым столбцами.

Если параметры xyerrorbars или boxxyerrorbars (смотри также раздел plot errorbars) используются для plot, нужно указать параметры xlow и xhigh третьим и четвертым столбцами, а ylow и yhigh - пятым и шестым столбцами. Также можно указать параметры xdelta и ydelta в третьем и четвертом столбцах соответственно.

Если для plot используются рамки, то третий столбец используется для указания ширины рамки. Если используется параметр boxerrorbars, то четвертый (если третий столбец ydelta), или пятый столбец (если ylow и yhigh - третий и четвертый столбцы cоответственно) можно использовать для указания ширины рамки. Смотри разделы boxerrorbars или set style для подробной информации. boxerrorbars используется только для данных с y-погрешностью. Каждая рамка начинается на оси x. (boxxyerrorbars работает по-другому).

Scanf-строка имеет более высокий приоритет, чем любые указания <xcol>:<ycol>(:<zcol>), за исключением порядка ввода, а именно,

        plot "datafile" using 2:1 "%lf%*lf%lf"

приводит к использованию первого столбца как y, а третьего как x.

Если scanf-строка пропущена, формат по-умолчанию генерируется на основании указаний <xcol>:<ycol>(:<zcol>). Если модификатор using пропущен, строка "%lf%lf" используется для plot, ("%lf%lf%lf%lf" для errorbars plot) и "%lf%lf%lf" используется для splot.

Примеры:

        plot "MyData" using "%*lf%lf%*20[^\n]%lf" with lines

Данные считываются из файла "MyData" с использованием форматной строки "%*lf%lf%*20[^\n]%lf". Эта строка означает следующее: "%*lf" пропускает первое число, затем "%lf" считывает второе число, и присваивает его значение переменной x, затем "%*20[^\n]" пропускает 20 любых символов, кроме символа новой строки, а затем "%lf" считывает значение y.

        n=3;
        plot "MyData", "MyData" using n

приводит к построению второго и третьего столбцов файла "MyData" напротив первого столбца. Команда 'n=4; replot' затем построит второй и четвертый столбцы файла "MyData" против первого столбца.

        splot "glass.dat" using 1

приводит к построению первой координаты точки файла "glass.dat" как координаты z, пропуская две другие координаты.

GNUPLOT сначала читает строку данных в буфер, а затем выполняет команду:

        sscanf(input_buffer, scanf_string, &x, &y{, &z});

где значения 'x', 'y', и 'z' имеют тип переменных с плавающей точкой. Можно использовать любую scanf-строку, определяющую два (три для splot, от трех до шести для errorbars) чисел с плавающей точкой.


Разбросы ошибок

Разбросы ошибок поддерживаются для наборов данных для двумерных графиков, используя чтение от одного до четырех дополнительных столбцов, указывающих значения ydelta или ylow и yhigh для yerrorbars или xdelta или значения xlow и xhigh для xerrorbars или xdelta, ydelta или xlow, xhigh, ylow, yhigh для xyerrorbars или boxxyerrorbars. Разбросы ошибок для splot не поддерживаются.

По-умолчанию, GNUPLOT ожидает получить три или шесть чисел в каждой строке файла данных, либо (x,y,ydelta), (x,y,ylow,yhigh), (x,y,xdelta), (x,y,xlow,xhigh), (x,y,xdelta,ydelta) или (x,y,xlow,xhigh,ylow,yhigh). Х-координата должна быть указана в любом случае. Порядок чисел должен быть точно таким, как показано. Файлы данных в этом формате могут быть легко построены с изображением разброса ошибок:

        plot "data.dat" with errorbars (or yerrorbars)
        plot "data.dat" with xerrorbars
        plot "data.dat" with xyerrorbars
        plot "data.dat" with yerrorbars

Разброс по оси y изображается вертикальным отрезком от (x, ylow) до (x, yhigh). Если указана ydelta вместо пары ylow-yhigh, то рассчитываются ylow=y-ydelta и yhigh=y+ydelta. Если в строке только два числа, оба значения yhigh и ylow принимаются равными y. Разброс по оси x изображается горизонтальным отрезком, координаты которого рассчитываются аналогично. Чтобы получить линии между точками данных, нужно построить (plot) данные дважды, один раз с разбросом и один раз с линиями.

Если включено авто-масштабирование, х и/или y диапазоны будут подобраны так, чтобы включить разбросы ошибок.

Модификатор using можно использовать для указания того, какие столбцы определяют значения x, y, ydelta, ylow и yhigh, xdelta, xlow и xhigh. Столбец x должен быть обязательно задан, и оба столбца, x и у, должны указываться перед столбцами с разбросом ошибок. Если даны три столбца, их принимают за x, y, и ydelta или xdelta. Если даны четыре столбца, они считаются x, y, ylow, и yhigh, или x, y, xlow, и xhigh, или x, y, xdelta, ydelta.

Примеры:

        plot "data.dat" using 1:2:3:4 with errorbars (or yerrorbars)
        plot "data.dat" using 3:2:6 with xerrorbars 
        plot "data.dat" using 3:4:8:7 with xyerrorbars

Первый пример считывает x, y, ylow, и yhigh, из столбцов 1, 2, 3, и 4. Это эквивалентно параметрам по-умолчанию. Второй пример читает x из третьего столбца, y из второго, и xdelta из шестого столбца. Третий пример читает x из третьего столбца, y из четвертого, xdelta из восьмого, и ydelta из седьмого. Смотри также разделы plot using и plot style.


Параметрические функции

В параметрическом режиме (set parametric) математические выражения нужно задавать как пары уравнений для plot и как тройки уравнений для splot.

        plot sin(t),t**2

или

        splot cos(u)*cos(v),cos(u)*sin(v),sin(u)

Файлы данных строятся как обычно, за исключением того, что любые параметрические функции должны быть полностью определены раньше данных для построения графика. Другими словами, параметрическая функция x (sin(t) в примере выше) и параметрическая функция y (t2 в примере выше) не должны прерываться любыми параметрами или функциями. В этом случае программа сгенерирует синтаксическую ошибку, констатирующую неполное задание параметрической функции.

Диапазоны имеют другой смысл в параметрическом режиме. Первый диапазон в команде plot это trange, следующий - xrange, и последний диапазон - yrange. Для splot порядок таков: urange, vrange, xrange, yrange, и zrange. Следующий пример команды plot показывает установку диапазонов trange в [-pi:pi], xrange в [-1.3:1.3] и yrange в [-1:1]:

        plot [-pi:pi] [-1.3:1.3] [-1:1] sin(t),t**2

Другие параметры, такие как with и title, могут быть указаны только после полного завершения задания параметрической функции:

        plot sin(t),t**2 title 'Parametric example' with linespoints


Диапазоны

Параметр range задает отображаемую область построения.

Диапазоны могут задаваться в командах plot и splot и влияют только на текущий график, либо в командах set xrange, set yrange, и.т.д., для изменения значений по-умолчанию для всех следующих графиков.

Синтаксис:

        [{<dummy-var> =} {<xmin> : <xmax>}] { [{<ymin> : <ymax>}] }

<dummy-var> это независимая переменная (по-умолчанию, x и y, но это можно изменить командой set dummy) и min и max могут быть константами или выражениями. Если задано только одно значение (как, например: set yrange [0:]) диапазон в противоположном направлении не изменяется (или по прежнему авто-масштабируется). Для установки диапазона обратно в режим авто-масштабирования нужно в качестве значения аргумента задать символ звездочки (set yrange [*:] включает авто-масштабирование в направлении ymin).

Оба выражения min и max не обязательны. Символ ':' также необязательный, если ни min ни max не заданы. Можно использовать выражение '[ ]' как указание использовать пустой диапазон.

Указание диапазона в команде plot выключает авто-масштпбирование для данной оси для одного графика. Использование одной из set range команд выключает авто-масштабирование для данной оси для всех последующих графиков, если не будет включено позже. (смотри раздел set autoscale).

Для данных времени, указание диапазона работает так-же, как и в файле данных внутри кавычек (используется строка timefmt для чтения значения).

Примеры:

Используется текущий диапазон:

        plot cos(x)

Установка диапазона только для оси x:

        plot [-10:30] sin(pi*x)/(pi*x)

Аналогично, но использует t как dummy-var:

        plot [t = -10 :30]  sin(pi*t)/(pi*t)

Установка диапазона для осей х и y:

        plot [-pi:pi] [-3:3]  tan(x), 1/x

Установка только y-диапазона, и отключение авто-масштабирования обеих осей:

        plot [ ] [-2:sin(5)*-8] sin(x)**besj0(x)

Установка только значений xmax и ymin:

        plot [:200] [-pi:]  exp(sin(x))

Установка диапазонов осей x, y и z:

        splot [0:3] [1:4] [-1:1] x*y

Ряд данных времени (timefmt="%d/%m/%y %H:%M"):

        set xrange ["1/6/93 12:00":"5/6/93 12:00"]


Модификатор index

Построение поверхности из многосеточных файлов данных может контролироваться с помощью модификатора index. Файл данных может содержать более одной сети, и в этом случае все сети в файле будут строиться по-умолчанию. Сети отделяются друг от друга в файле данных двойными пустыми строками. Для построения одной сети в многосеточном файле используется модификатор index, который указывает, какую именно сеть нужно построить. Первой сети назначается номер 0.

Пример:

splot "data1" index 2 with points 

строит точками третью сеть в файле "data1".


Стиль

Графики можно строить одним из 13 стилей: lines, points, linespoints, impulses, dots, {x,y,xy}errorbars, steps, fsteps, boxes, boxerrorbars, или boxxyerrorbars. Стиль lines соединяет соседние точки линиями. Стиль points показывает маленький символ в каждой точке. Стиль linespoints объединяет стили lines и points. Стиль impulses отображает вертикальный отрезок от оси х (или от основания координатной решетки для splot) к каждой точке. Стиль dots рисует крошечное пятнышко в каждой точке. Это может быть полезно для построения графиков с большим количеством точек.

Стили errorbars (или yerrorbars) и xerrorbars имеют смысл только для двумерных графиков. Они рассматриваются как points для splot и plot для заданных функций. Для plot наборов данных errorbars трактуются как points, за исключением того, что вертикальный или горизонтальный разброс значений также строится: для каждой точки (x,y), строится отрезок от (x,ylow) до (x,yhigh) или от (xlow,y) до (xhigh,y). На краях отрезка строится штрих. Значения (ylow, yhigh) или (xlow,xhigh) читаются из столбцов файла данных, как указано в параметре using. Смотри раздел plot errorbars для подробностей.

Стиль boxes имеет смысл только для двумерных графиков. Стиль boxes строит рамку с центром в указанной координате x, и от yaxis до указанной координаты y. Ширина рамки рассчитывается одним из трех методов. Во-первых, если файл данных содержит пятый столбец, он и будет использоваться как ширина рамки. Столбцы 3 и 4 (для boxerrorbars) необходимы, но в данном случае игнорируются. Во-вторых, если ширина была установлена командой set boxwidth, то будет использоваться именно это значение. В противном случае, ширина каждой рамки будет рассчитана автоматически, с тем чтобы она касалась примыкающих рамок.

Другой стиль, называющийся boxerrorbars, также применим только для двумерных графиков наборов данных. Этот стиль является комбинацией стилей boxes и errorbars. Ширина рамки берется из четвертого столбца, если ошибки заданы в форме "ydelta" и ширина рамки ранее не установлена равной -2.0 (командой set boxwidth -2.0) или из пятого столбца, если ошибки заданы в форме "ylow yhigh". Ширина рамки, равная -2.0, нужна для особого случая четырех столбцов данных, и разбросy ошибок в форме "ylow yhigh". Ширина рамки будет рассчитана автоматически, с тем чтобы она касалась примыкающих рамок. Ширина также будет рассчитана автоматически для данных из трех столбцов. Стиль boxxyerrorbars похож на стиль xyerrorbars, за исключением того, что рамка с шириной (xhigh-xlow) и высотой (yhigh-ylow) изображается независимо от соотношения этих размеров.

Для двумерных данных с более чем двумя столбцами, GNUPLOT будет подбирать возможный стиль графика. Для трех столбцов допустимы только стили xerrorbars, boxes, errorbars (или yerrorbars), и boxerrorbars. Если используется другой стиль графика, то он будет заменен на yerrorbars. Стиль boxerrorbars рассчитывает ширину рамки автоматически. Для четырех столбцов допустимы стили xerrorbars, xyerrorbars, boxxyerrorbars, boxerrorbars, и errorbars (или yerrorbars). Недопустимый стиль графика будет заменен на yerrorbars. Для файла данных из пяти столбцов допустим только стиль boxerrorbars. Недопустимый стиль будет перед построением заменен на стиль boxerrorbars. Для файлов с шестью и семью столбцами допустимы только стили xyerrorbars и boxxyerrorbars. Недопустимые стили будут заменены на стиль xyerrorbars. Для установки правильного числа колонок для желаемого стиля графика необходимо использовать модификатор using.

Стили steps и fsteps применимы только для двумерных графиков. Стиль steps соединяет соседние точки двумя отрезками: первый от (x1,y1) до (x2,y1) и второй от (x2,y1) до (x2,y2). Стиль fsteps: отрезки от (x1,y1) до (x1,y2) и от (x1,y2) до (x2,y2).

Стили по-умолчанию выбираются командами set function style и set data style.

По-умолчанию, каждая функция и файл данных будут использовать различные виды линий и точек, вплоть до максимального количества возможных вариантов. Все драйверы терминалов поддерживают как минимум шесть видов точек, и используютих снова по-порядку, если требуется более шести графиков. Драйвер LaTeX обеспечивает поддержку дополнительных шести видов точек (все варианты окружности) и, таким образом, они повторяются только после двенадцати кривых, построенных с использованием точек.

При желании, стиль и (по выбору) вид линий и точек, используемый для построения кривой, может быть задан явно.

Синтаксис:

        with <style> {<linetype> {<pointtype>}}

где <style> одно из следующих значений: lines, points, linespoints, impulses, dots, steps, fsteps {x,y,xy}errorbars, boxes, boxerrorbars, или boxxyerrorbars. <linetype> и <pointtype> должны быть положительной целой константой или выражением, и указывать вид линии и точек, которые будут использоваться для построения графика. Вид линии, равный единице - первый вид, используемый по-умолчанию, равный двойке - второй по-умолчанию, и так далее.

Примеры:

Строит sin(x) стилем impulses:

        plot sin(x) with impulses

Строит x*y стилем points, и x2 + y2 текущим стилем:

        splot x*y w points, x**2 + y**2

Строит tan(x) текущим стилем для функций, и "data.1" стилем lines:

        plot [ ] [-2:5] tan(x), "data.1" with l

T Строит данные файла "leastsq.dat" стилем impulses:

        plot 'leastsq.dat' w i

Строит данные файла "population" стилем boxes:

        plot "population" with boxes

Строит "exper.dat" стилем errorbars и стилем lines соединяет точки:

        plot 'exper.dat' w lines, 'exper.dat' w errorbars

Здесь файл 'exper.dat' должен содержать три или четыре столбца данных.

Строит x2 + y2 и x2 - y2 линиями одинакового стиля:

        splot x**2 + y**2 with line 1, x**2 - y**2 with line 1

Строит sin(x) и cos(x) стилем linespoints, используя одинаковый вид линий, но различный вид точек:

        plot sin(x) with linesp 1 3, cos(x) with linesp 1 4

Строит данные из файла "data" 3 стилем точек:

        plot "data" with points 1 3

Cтиль линии должен быть указан при указании стиля точки, даже когда он не имеет значения. В данном примере используется стиль линии 1 и стиль точки 3, и стиль линии не имеет значения.

Смотри раздел set style для информации о том, как изменить стили по-умолчанию.


Заголовок

Заголовок каждого графика отображается в легенде. По-умолчанию, заголовком является имя функции или файла данных, указанное в команде plot. Он может быть изменен с помощью параметра title. Этот параметр должен предшествовать остальным параметам with.

Синтаксис:

        title "<title>"

где <title> это новый заголовок графика, заключенный в кавычки. Кавычки не отображаются в легенде. Специальные символы можно задавать с помощью обратной косой черты и восьмеричного значения символа (\345) или специальные коды (\t).

Примеры:

Строит y=x с заголовком 'x':

        plot x

Строит данные из файла "glass.dat" с заголовком "surface of revolution":

        splot "glass.dat" title 'surface of revolution'

Строит x2, с заголовком "x^2" и файл "data.1" с заголовком "measured data":

        plot x**2 title "x^2", "data.1" t 'measured data'

Заголовок может быть исключен из легенды с помощью модификатора "notitle" для команд plot и splot. Это может быть полезно при построении некоторых кривых исключительно в декоративных целях. Например, если нужен круговая рамка для полярного графика, можно сделать так:

       set polar
       plot my_function(x), 1 notitle

Эти команды произведут запись в легенде для функции "my_function" но не для "1".


print

Команда print печатает на экран значение < выражения >.

Синтаксис:

        print < выражение >

Смотри раздел выражения.


pwd

Команда pwd выводит на экран имя рабочей директории.

Синтаксис:

        pwd


quit

Команды exit и quit и символ EOF приводят к завершению сеанса работы GNUPLOT. Все эти команды перед выходом очищают устройство вывода (как это делает команда clear).


replot

Команда replot без аргументов повторяет последнюю команду plot или splot. Это может оказаться полезным при просмотре графика с различными set-параметрами , или при построении одного графика для различных устройств.

Аргументы, переданные команде replot, будут добавлены к последней команде plot (splot) c предполагаемым разделителем ',' перед ее повтором. replot принимает те-же самые аргументы, что и команда plot (splot), за исключением невозможности указания диапазона. Смотри команды редактирования командной строки для информации о способах редактирования последней команды plot (splot).


reread

Команда reread вновь устанавливает указатель в файле данных, указанном командой load, в начальное положение, перед дальнейшим чтением команд из него. По-существу, это приводит к организации бесконечного цикла команд, начиная с начала файла и до команды reread. Команда reread не выполняет никаких действий, если команды вводятся со стандартного ввода.


reset

Команда reset заставляет все параметры, которые могут быть установлены командой set, принять исходные значения по-умолчанию. Единственное исключение составляют параметры терминала, устанавливаемые командой set term и имя выходного файла, задаваемого командой set output. Эта команда полезна для, например, восстановления значений по-умолчанию в конце командного файла, или для возврата к определенному состоянию после изменений параметров, выполненных командным файлом. Обратитесь к команде set за информацией о значениях по-умолчанию соответствующих параметров.


save

Команда save сохраняет определенные пользователем функции, переменные, set-параметры или все вместе, плюс последнюю команду plot (splot) в указанный файл.

Синтаксис:

        save  {<option>} "<filename>"

где <option> это функции, gользовательские определения или set-параметры. Если аргумент не указан, GNUPLOT сохраняет функции, переменные, set-параметры и последнюю команду plot (splot).

Сохраненные файлы записываются в текстовом формате, и могут быть прочитаны командой load.

Имя файла необходимо заключить в кавычки.

Примеры:

        save "work.gnu"
        save functions 'func.dat'
        save var 'var.dat'
        save set "options.dat"


set-show

Команда set устанавливает множество параметров.

Команда show показывает их значения. Команда show all показывает значения всех параметров.

angles
arrow
autoscale
border
boxwidth
clabel
clip
cntrparam
contour
data style
dgrid3d
dummy
format
function style
functions
grid
hidden3d
isosamples
key
keytitle
label
logscale
mapping
offsets
output
parametric
pointsize
polar
rrange
samples
size
style
surface
terminal
tics
time
timefmt
title
trange
urange
variables
view
vrange
xdata
xlabel
xmargin
xrange
xtics
mxtics
mytics
xdtics
xmtics
xzeroaxis
ydata
ylabel
yrange
ytics
ydtics
ymtics
yzeroaxis
zdata
zero
zeroaxis
zlabel
zrange
ztics
zdtics
zmtics


angles

По-умолчанию, GNUPLOT предполагает единицами измерения независимых переменных в полярных координатах радианы. Если команда set angles degrees указана перед командой set polar, то диапазон по-умолчанию устанавливается [0:360] и независимые переменные измеряются в единицах, размерностью градус. Это особенно полезно при построении данных из файлов. Параметр angle также имеет силу для трехмерных графиков, и устанавливается командой set mapping.

Синтаксис:

        set angles { degrees | radians }
        show angles


arrow

На графике можно помещать произвольные стрелки командой set arrow.

Синтаксис:

         set arrow {<tag>} {from <sx>,<sy>{,<sz>}}
                           {to <ex>,<ey>{,<ez>}} {{no}head}
         set noarrow {<tag>}
         show arrow

Неуказанные координаты по-умолчанию имеют нулевое значение. Значения x, y, и z указываются в координатной системе графика. Координата z используется только в команде splot. <tag> это целое число, определяющее стрелку. Если tag не указан, наименьшее неиспользованное значение присваивается автоматически. tag можно использовать для удаления или изменения отдельной стрелки. Для изменения любого атрибута существующей стрелки используется команда set arrow с соответствующим значением tag, и указывается изменяемая часть стрелки. Указание nohead задает построение отрезка линии без стрелки. По-умолчанию, стрелки изображаются целиком.

Разрешается построение стрелки за пределами отображаемого построения, но это может привести к ошибке устройства.

Примеры:

Построить стрелку от начала координат до точки (1,2):

         set arrow to 1,2

Построить стрелку от (-10,4,2) до (-5,5,3), и используется tag номер 3:

         set arrow 3 from -10,4,2 to -5,5,3

Изменить начало предыдущей стрелки на (1,1,1) и построить только отрезок:

         set arrow 3 from 1,1,1 nohead

Удалить стрелку номер 2:

         set noarrow 2

Удалить все стрелки:

         set noarrow

Построить все стрелки в порядке увеличения значения tag:

         show arrow


autoscale

Авто-масштабирование может быть задано отдельно для осей x, y или z, или глобально для всех осей. По-умолчанию авто-масштабирование задается для всех осей.

При авто-масштабировании диапазоны графика рассчитываются автоматически и зависимые оси (y для plot и z для splot) сводятся к заданному масштабу так, чтобы включить диапазон значений строящейся функции или данных.

Если авто-масштабирование зависимых осей (y или z) не задано, используется текущее значение y или z диапазона.

Смотри разделы set yrange или set zrange.

Авто-масштабирование независимых переменных (x для plot и x, y для splot) является запросом установить область, подходящую для любых строящихся данных из файла. Если файлы не заданы, авто-масштабирование независимых переменных не имеет смысла. Другими словами, при отсутствии файла данных, одна функция не влияет на диапазон x (или y диапазон при построении z = f(x,y)).

Смотри разделы set xrange, или set yrange.

Поведение авто-масштабирования остается последовательным и в параметрическом режиме, тем не менее, в нем больше зависимых переменных и, следовательно, больший контроль над осями x, y, и z. В параметрическом режиме используется независимая или временная переменная t для plot, и переменные u,v для splot. Авто-масштабирование в параметрическом режиме, таким образом, контролирует все диапазоны (t, u, v, x, y, z) и позволяет переменным x, y, и z быть полностью авто-масштабирумыми.

Смотри раздел set parametric.

Синтаксис:

        set autoscale <axes>
        set noautoscale <axes>
        show autoscale

где <axes> это либо x, y, z или xy. Если <axes> не заданы, то предполагаются все оси сразу.

Примеры:

Авто-масштабирование оси y. Ось х не затрагивается:

        set autoscale y

Авто-масштабирование осей x и y:

        set autoscale xy

Авто-масштабирование осей x, y и z:

        set autoscale

Отменить авто-масштабирование осей x, y и z:

        set noautoscale

Отменить авто-масштабирование только оси x:

        set noautoscale z

Параметрический режим


Параметрический режим

В параметрическом режиме (set parametric) диапазон хrange полностью контролируется, также как и диапазон yrange. Другими словами, в параметрическом режиме ось x может быть автоматически изменена для соответствия диапазону строящейся параметрической функции. Естественно, ось y также может может быть автоматически изменена, точно также, как в непараметрическом режиме. Если авто-масштабирование оси x не задано, используется текущий диапазон значений.

В случае смеси файлов данных и функций, xrange функций выбирается таким, как если бы для файлов данных была включена опция aвто-масштабирования оси x. Пока это делает поведение соместимым с непараметрическими построениями, подобное поведение может не сохраниться в будущих версиях. Проблема в том, что в параметрическом режиме диапазоны х и y не так различимы, как в непараметрическом режиме, и такое поведение не может быть слишком полезным.

Допускается использование команды set autoscale t. Тем не менее, эффект такого "масштабирования" очень незначительный. Когда GNUPLOT определяет, что диапазон t будет пустым, он делает небольшую настройку в том случае, если включено авто-масштабирование. Иначе GNUPLOT сообщает об ошибке. Подобное поведение может быть не слишком полезным, и необходимость команды set autoscale t сомнительна.

splot аналогично расширяет вышеизложенную идею. Если авто-масштабирование включено, диапазоны x, y, и z рассчитываются, и каждая ось масштабируется так, чтобы соответствовать результирующим данным.


border

Команды set border и set noborder контролируют построение рамки для plot. Рамка кодируется четырьмя битами целого числа:

       ЮГ	   0 бит
       ЗАПАД   1 бит
       СЕВЕР   2 бит
       ВОСТОК  3 бит

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

Синтаксис:

        set border    (включает всю рамку)
        set border 3  (только южный и западный края)
        set border 12 (только северный и восточный края, метки сверху и справа)
        set noborder
        show border


boxwidth

Команда set boxwidth используется для задания ширины рамок, используемой по-умолчанию в стилях boxes и boxerrorbars.

Если файл данных строится без указания ширины в третьем по пятый столбцах, или строится график функции, ширина каждой рамки устанавливается командой set boxwidth. Если ширина задается после команды set boxwidth, то именно она и используется. В противном случае, ширина каждой рамки будет рассчитана автоматически, с тем чтобы она касалась примыкающих рамок. Для четырех-колоночных файлов данных ширина может быть рассчитана автоматически, если она будет предварительно установлена равной -2.0. В ином случае, четвертый столбец будет рассматриваться как ширина рамки. Смотри разделы boxerrorbars или set style.

Синтаксис:

         set boxwidth {<width>}
         show boxwidth

Для автоматической установки ширины рамки используются команды:

         set boxwidth
         set boxwidth -2   (4 колонки данных)


clabel

GNUPLOT изменяет вид линии, используемый для каждого контурного уровня, если установлен параметр clabel. Когда этот параметр включен (по-умолчанию), записи в легенде представляют каждый z уровень отдельным стилем линии.

Синтаксис:

        set clabel
        set noclabel
        show clabel


clip

GNUPLOT может выполнять отсечение точек данных и линий, находящихся рядом с границами графика.

Синтаксис:

        set clip <clip-type>
        set noclip <clip-type>
        show clip

Поддерживаются три типа отсечения: points, one, и two. Один, два или все три типа отсечения могут быть активными для одного графика.

Тип отсечения points заставляет GNUPLOT отсекать (фактически, вообще не строить), точки данных, которые попадают в пределы графика, но слишком близко к его границам. (это большие символы, используемые для точек, которые продолжаются за граничные линии). Без отсечения, точки, находящиеся рядом с границей графика, могут выглядеть плохо. Можно также попробовать поправить диапазоны x и y.

Задание отсечения one заставляет GNUPLOT строить отрезки линии, которые имеют только одну или две конечные точки внутри области построения. Только внутренние области линии будут построены. В качестве альтернативы можно вообще не строить эти отрезки линии.

Некоторые линии могут иметь оба конца за пределами области построения, но проходить через нее. Указание отсечения two, позволяет начертить видимую часть такой линии.

Для линии, лежащей за пределами области построения, вариантов отсечения не существует.

Значения по-умолчанию: noclip points, clip one, и noclip two.

Для проверки режима всех видов отсечения используется команда:

        show clip

Для совместимости со старыми версиями, также допустимы следующие команды:

       set clip
       set noclip

set clip синоним для команды set clip points. set noclip выключает все три типа отсечения.


cntrparam

Устанавливает различные параметры контурных графиков (смотри также contour).

Синтаксис:

 set cntrparam { { linear | cubicspline | bspline } |
    points <n> |
    order <n>  |
    levels { [ auto ] <n> |
    discrete <z1>,<z2>, ... |
    incremental {<start>, <incr>{, <end>} } }

Примеры:

    set cntrparam bspline
    set cntrparam points 7
    set cntrparam order 10
    set cntrparam levels auto 5                   # 5 автоматических уровней
    set cntrparam levels discrete .1,1/exp(1),.9  # 3 дискретных уровня .1,.37,.9
    set cntrparam levels incremental  0,.1,.4
    # 5 уровней 0, .1, .2, .3 и .4
    set cntrparam levels 10
    # устанавливает n = 10 сохраняя текущее значение для auto, discr
    set cntrparam levels incremental 100,50
    # устанавливает start = 100 и инкремент = 50, сохраняя n уровней

Эта команда устанавливает метод, которым строятся контуры. <n> должно быть целым константным выражением, и <z1>, <z2> произвольным константным выражением. Параметры могут быть следующими:

linear, cubicspline, bspline - управляют типом аппроксимации или интерполяции. В случае linear контур строится линейными отрезками, прямо как извлекается из поверхности. В случае cubicspline, линейный контур интерполируется в более плавный контур, но может быть волнистым. Третий режим это универсальный сплайн bspline, который только аппроксимирует линейные данные, но гарантирует гладкий результат.

points - В конечном счете, все построения выполняются с помощью линейных отрезков. Это число контролирует количесто точек, используемых для аппроксимации кривой. Параметр имеет смысл только для режимов cubicspline и bspline.

order - cтепень, которая будет использована для bspline аппроксимации. Чем больше это значение, тем более гладким будет результирующий контур. (конечно, кривые bsplin высших степеней дальше отклоняются от исходной кривой). Параметр имеет смысл только для режима bspline. Допустимые значения - целые числа в диапазоне от 2 (линейный) до 10.

levels - количество контурных уровней, 'n'. Набор уровней контролируется посредством режимов 'auto' (по-умолчанию), 'discrete', и 'incremental'. В режиме 'auto', если поверхность ограничена значениями zmin и zmax, контуры будут созданы от zmin+dz до zmax-dz с шагом dz, где dz = (zmax - zmin) / (levels + 1). В режиме 'discrete' контуры будут созданы при z = z1, z2... так, как это указано в команде. Число дискретных уровней ограничено переменной MAX_DISCRETE_LEVELS, определенной в файле plot.h, и равной 30. В режиме 'incremental' контуры создаются при <n> значениях z, начиная от <start> и увеличивая значение на <increment>.


contour

Включает построение контуров поверхностей. Этот режим доступен только для команды splot.

Синтаксис:

        set contour { base | surface | both }
        set nocontour

Если не указано никаких аргументов для команды set contour, значение по-умолчанию - base. Три режима определяют, где строить контуры: base строит контуры на базовой решетке, где размещены деления x/ytics, surface строит контуры на самой поверхности, и режим both строит контуры и на базовой решетке и на самой поверхности.

Смотри также раздел set cntrparam для информации о параметрах, влияющих на изображение контуров.


data style

Команда set data style изменяет текущий стиль для графиков наборов данных из файлов.

Синтаксис:

        set data style
        show data style
        set data style <style-choice>

В первом случае, set data style возвращает список возможных стилей: lines, points, linespoints, dots, steps, impulses, {x,y,xy}errorbars, boxes, boxerrorbars или boxxyerrorbars. Команда show data style показывает текущий стиль графика данных. Команда set data style dots изменяет текущий стиль графика. Смотри также раздел plot.


dgrid3d

Включает и устанавливает различные параметры для преобразования non grid в grid.

Синтаксис:

        set dgrid3d {,{<row_size>}{,{<col_size>}{,<norm>}}}
        set nodgrid3d

Примеры:

       set dgrid3d 10,10,2
       set dgrid3d ,,4

Первая команда выбирает решетку размера 10 на 10, которая должна быть построена и будет использоваться с нормой L2 в рассчетах расстояний. Вторая команда только изменяет норму на L4.

По-умолчанию, этот параметр отключен. При включении, трехмерные данные, прочитанные из файла, всегда трактуются как разбросанный набор данных. Решетка с размерами, выведенными из ограничивающей рамки разбросанных данных, и размера, как указано параметром размер ряда/столбца в примере выше, создается для построения графика и контура. Решетка равно разделена по x и y, в то время как значение z рассчитывается как взвешенное среднее дистанции разброса точек данных до точек решетки. Чем ближе к точке решетки точки данных, тем большее воздействие они оказывают на эту точку решетки. Третий параметр - норма, контролирует "значение" дисстанции, задавая нормировку дисстанции. Рассчеты дисстанции оптимизированы для норм, кратных степеням двойки, а именно - 1, 2, 4, 8, и 16, хотя можно использовать любое неотрицательное целое число.

Параметр grid3d является простым низкоуровневым фильтром, превращающим разбросанные данные в набор точек решетки. Существуют более сложные подходы к этой проблеме, и должны использоваться как препроцессоры для данных GNUPLOT, если это простое решение найдено недостаточным.


dummy

По-умолчанию, GNUPLOT предполагает, что независимой переменной для команды plot является x, и независимыми переменными для команды splot являются x и y. Они называются фиктивными переменными, так как представляют собой просто имена, отмечающие независимые переменные. Команда set dummy изменяет эти имена. Например, может быть более удобно назвать фиктивную переменную t, при построении функций от времени:

        set dummy t
        plot sin(t), cos(t)

Синтаксис:

        set dummy <dummy-var>{,<dummy-var>}
        show dummy

Примеры:

        set dummy u,v
        set dummy ,s

Примеры указывают фиктивными переменными и u и v, или только переменную s.

Команда set parametric также изменяет фиктивные переменные (на t для plot и u,v для splot).


format

Формат меток делений может быть задан командой set format. По-умолчанию, формат для обеих осей установлен в виде "%g", но другие форматы, такие как "%.2f" или "%3.0fm" также часто бывают полезными. Любой формат, допустимый для команды printf при задании чисел двойной точности, и затем выводимый на терминал, будет работать с этой командой. В частности, будут работать форматы f, e, и g, а форматы d, o, x, c, s, и u работать не будут. Если данными для оси является дата/время, форматная строка должна содержать правильные коды для функции strftime. Рекомендуется использовать коды преобразования, принимаемые командой set timefmt. Если форматная строка похожа на формат с плавающей точкой, GNUPLOT попытается предугадать разумное значение формата.

Синтаксис:

        set format {<axes>} {"<format-string>"}
        show format

где <axes> либо x, y, z, xy, либо ничего (что аналогично xy). Длина строки, представляющей метку (после форматирования командой printf), ограничена длиной 100 символов. Если форматная строка не указана, будет использован формат по-умолчанию "%g". Для пользователей LaTeX часто желателен формат "$%g$". Если используется пустая строка "", никакой метки не будет изображено с каждым делением, хотя само деление все равно будет построено. Для удаления всех делений используется команда set noxtics или set noytics.

Для plot (\n) принимается в форматной строке для xaxis, и для splot новая строка принимается в форматных строках как для xaxis так и для yaxis.

Смотри разделы set xtics и set ytics для информации о контроле построения делений.


function style

Команда set function style изменяет стиль по-умолчанию для двумерных графиков функций.

Синтаксис:

        set function style
        show function style
        set function style <style-choice>

В первом случае, set function style возвращает список возможных стилей: lines, points, linespoints, dots, steps, impulses, {x,y,xy}errorbars, boxes, boxerrorbars, или boxxyerrorbars. Команда show function style показывает текущий стиль графика функций. Команда set function style изменяет текущий стиль графика. Смотри также раздел plot.


functions

Команда show functions выводит список всех определенных пользователем функций, и их определения.

Синтаксис:

        show functions


grid

Дополнительный параметр set grid рисует решетку на главных делениях с видом линии как у осей. Решетка может включать и дополнительные деления, что задается командой set grid mxtics и/или set grid mytics. По-умолчанию, решетка на дополнительных делениях не строится.

Синтаксис:

        set grid {mxtics OR mytics}
        set nogrid
        show grid


hidden3d

Команда set hidden3d включает удаление невидимых линий для построения ясных поверхностей (смотри раздел splot). Удаление невидимых линий может быть использовано как для функций, так и для наборов данных. В этой версии команда также работает для параметрических поверхностей.

Когда этот параметр включен, невидимые части поверхности и, возможно, контура (смотри раздел set contour), также как и невидимые части решетки, будут удалены. Метки и стрелки видимы всегда, и не затрагиваются этой командой.

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

Синтаксис:

        set hidden3d
        set nohidden3d
        show hidden3d


isosamples

Изолиния - это кривая, параметризованная одним из параметров поверхности, в то время как другой параметр постоянный. Изолинии это простой способ изображения поверхности. Фиксируя параметр u поверхности s(u,v), строятся изо-u линии в виде c(v) = s(u0,v) и, фиксируя параметр v, строятся изо-v линии в виде c(u) = s(u,v0).

Плотность изолиний поверхности может быть изменена командой set isosamples. По-умолчанию, дискретизация установлена на 10 изолиний по осям u или v. Более высокая частота дискретизации будет приводить к более точным графикам, но будет занимать больше времени на рассчеты. Этот параметр не влияет на построения наборов данных из файлов.

Синтаксис:

        set isosamples <iso_1> {,<iso_2>}
        show isosamples

Каждый график поверхности будет иметь <iso_1> изо-u линий и <iso_2> изо-v линий. Если задается только <iso_1>, <iso_2> будет установлено равным <iso_1>.

Когда построение поверхности завершено без удаления невидимых линий, set samples также влияет на число рассчитываемых точек. Смотри раздел set samples.


key

Команда set key строит легенду, описывающую кривые на графике. По-умолчанию, легенда помещается в правом-верхнем углу графика. Предоставляются ключевые слова left, right, top, bottom, outside и below для размещения легенды в других углах внутри графика, справа-снаружи или под графиком. Их можно задавать по-одному или комбинировать. Выравнивание меток контролируется ключевыми словами Left или Right. По-умолчанию, применяется выравнивание Right.

Синтаксис:

        set key
        set key <x>,<y>{,<z>}
        set key <keyword> {<keyword> {<justification>}}
        set nokey
        show key

Координаты <x>, <y> (и <z> для splot) указывают расположение легенды на графике. Легенда изображается как последовательность линий, на каждой из которых описывается одна кривая. Справа от каждой линии находится имитация, выражающая стиль кривой. Слева - текстовое описание, полученное из команды plot. Смотри раздел plot title для информации о том, как изменить это описание. Линии вертикально упорядочены, так что воображаемый прямой отрезок делит правую и левую части легенды. Именно координаты этого отрезка задаются командой set key. На графиках plot используются только координаты x и y, для указания расположения легенды. На графиках splot используются все три x, y и z координаты, для указания расположения легенды, которые отображаются на плоскость с помощью того-же механизма, который использует GNUPLOT для отображения трехмерных графиков на плоскость.

Некоторые или все элементы легенды могут быть за границами графика, хотя они могут мешать при этом другим меткам, а также приводить к ошибкам некоторых устройств вывода. Если используются ключевые слова outside или below, GNUPLOT оставляет место для легенды, и график получается меньше. Помещение легенды справа-снаружи занимает наименьшее возможное количество столбцов, помещение ее под графиком - наибольшее возможное количество столбцов (в зависимости от длины меток). Таким образом, от графика отнимается наименьшее возможное пространство.

Примеры:

Поместить легенду в точку, заданную по-умолчанию:

        set key

Выключить легенду:

        set nokey

Поместить легенду в точку с координатами (2, 3.5, 2):

        set key 2,3.5,2

Поместить легенду под графиком:

        set key below

Поместить легенду в левом-нижнем углу и выровнять текст слева:

        set key left bottom Left

Поместить легенду в угол, заданный по-умолчанию:

        set key


keytitle

Эта команда задает заголовок легенды, находящийся над описанием кривых.

Синтаксис:

        set keytitle "<string>"


label

На графике можно размещать произвольные метки, используя команду set label. Если указана z координата для plot, она игнорируется, неуказанная z координата для splot принимается равной нулю. Строка сканируется в поисках команд, состоящих из последовательности обратной косой черты и восьмеричного кода (\nnn).

Синтаксис:

         set label {<tag>} {"<label_text>"} {at <x>,<y>{,<z>}}
                           {<justification>}
         set nolabel {<tag>}
         show label

Текст по-умолчанию - "", и метка находится в точке, с координатами (0,0,0). Значения <x>, <y>, и <z> задаются в координатной системе графика. Tag это целое число, которое используется для идентификации метки. Если <tag> не задан, метке автоматически присваивается наименьшее свободное значение. Tag может быть использован для удаления или изменения определенной метки. Для изменения любого атрибута существующей метки используется команда set label с соответствующим значением tag, и указываются части метки, подлежащие изменению.

По-умолчанию, текст помещается слева от указанной точки (x,y,z). Для установки метода выравнивания относительно точки (x,y,z), добавляется параметр <justification>, который может принимать значения left, right или center, показывающий, что указанная точка должна быть слева, справа или в центре текста. Метки за пределами графика допускаются, но могут мешать меткам на осях, или другому тексту.

Если одна (или более) осей являются временными шкалами, координаты должны указываться как строка времени, заключенная в кавычки, в соответствии с форматом строки timefmt. Смотри разделы set {x,y,z}data и set timefmt.

Примеры:

Поместить метку "y=x" в точке с координатами (1,2):

         set label "y=x" at 1,2

Поместить метку "y=x^2" с выравниванием текста справа в точке (2,3,4) и tag = 3:

         set label 3 "y=x^2" at 2,3,4 right

Изменить центрирование предыдущей метки:

         set label 3 center

Удалить метку номер 2:

         set nolabel 2

Удалить все метки:

         set nolabel

Показать все метки (в порядке возрастания значения tag):

         show label

Серия по времени (timefmt="%d/%m/%y,%H:%M):

         set label "Harvest" at "25/8/93",1

( Драйверы EEPIC, Imagen, LaTeX, и TPIC позволяют использовать \\ в строке для указания начала новой строки).


logscale

Можно задать логарифмическое масштабирование для осей x, y, и z.

Синтаксис:

        set logscale <axes> <base>
        set nologscale <axes>
        show logscale

где <axes> может быть любой комбинацией x, y, и z, в произвольном порядке, и где <base> это основание логарифма. Если <base> не задано, то оно устанавливается равным 10. Если не заданы <axes>, предполагаются все три оси. Команда set logscale включает логарифмическое масштабирование указанных осей, а команда set nologscale выключает логарифмическое масштабирование.

Примеры:

Включить логарифмическое масштабирование осей x и z:

       set logscale xz

Установить основание логарифма равным 2 для оси y:

       set logscale y 2

Выключить логарифмическое масштабирование оси z:

       set nologscale z


mapping

Синтаксис:

        set mapping { cartesian | spherical | cylindrical }

Дaнные для splot, как правило, находятся в обычном Евклидовом пространстве и представляются в Картезианских координатах. Для таких трехмерных построений требуются три координаты (x, y и z) или одна координата (только z) в каждой строке файла данных. Для возможности использовать сферическую или цилиндрическую системы координат, используется команда set mapping. В обеих случаях ожидается наличие двух координат в каждой строке данных. Для сферической координатной системы это theta и phi (в единицах, указанных командой set angles) и преобразование таково:

        x = cos( theta ) * cos( phi )
        y = sin( theta ) * cos( phi )
        z = sin( phi )

В цилиндрической системы координат для преобразования используются две переменные theta (в единицах, указанных командой set angles) и z:

        x = cos( theta )
        y = sin( theta )
        z = z

Эти преобразования воздействуют на данные только для splot.


offsets

Количество графиков, которые plot может обработать, до некоторой степени контролируется командой set offsets. Эта команда принимает четыре аргумента смещения: <left>, <right>, <top> и <bottom>. По-умолчанию, каждое смещение равно нулю. Каждое смещение может задаваться константой или выражением. Правое и левое смещение задается в единицах оси x, а верхнее и нижнее смещение задается в единицах оси y. График sin(x), изображенный со смещениями 0, 0, 2, 2 займет около 1/3 всей изображенной оси y. Смещения особенно полезны в полярных координатах, как средство компенсации искажения коэффициента сжатия. Смещения игнорируются для splot.

Синтаксис:

        set offsets <left>, <right>, <top>, <bottom>
        show offsets


output

По-умолчанию, графики строятся на стандартном устройстве вывода. Команда set output перенаправляет вывод на указанное устройство или в файл.

Синтаксис:

        set output {"<filename>"}
        show output

Имя файла должно быть заключено в кавычки. Если имя файла не указано, вывод будет перенаправлен на стандартное устройство вывода.

На машинах с реализацией функции popen (UNIX), вывод может быть перенаправлен через команду shell, если первый символ имени файла '|'. Например:

Синтаксис:

        set output "|lpr -Plaser filename"
        set output "|lp -dlaser filename"

(В системе MSDOS, команда set output "prn" направит вывод на принтер).


parametric

Команда set parametric изменяет значение функции plot (splot) от нормального режима к режиму параметрического задания функции. Команда set noparametric изменяет стиль графиков обратно в нормальный режим построения графиков функций с одним значением.

В двумерных графиках, параметрическая функция определяется парой параметрических функций, работающих с одним параметром. Примером параметрической функции может быть график окружности sin(t), cos(t).

Для трехмерных графиков, поверхность описывается как x=f(u,v), y=g(u,v), z=h(u,v). Таким образом, требуется три функции. Примером трехмерной параметрической функции может быть график сферы: cos(u)*cos(v), cos(u)*sin(v), sin(u). Требуется три параметрических функции, определенных в терминах фиктивных аргументов, для описания одного графика.

Полный набор возможных графиков называется супер-набором простых графиков вида f(x), так как две (или три) функции могут описать значения x и y (и z), рассчитываемые отдельно. Действительно, графики вида t, f(t), (u,v,f(u,v)) эквивалентны тем, что получаются из f(x), когда значения x рассчитываются с использованием тождественной функции в качестве первой функции.

Порядок параметрических функций определяется функциями xfunction, yfunction (и zfunction), и каждая работает в обычной параметрической области.

Также, set parametric подразумевает новый диапазон значений. Тогда как обычные f(x) и f(x,y) графики предполагают диапазоны xrange и yrange (и zrange), параметрический режим дополнительно определяет trange, urange, и vrange. Эти диапазоны можно устанавливать явно, командами set trange, set urange и set vrange, или указывая диапазон в командах plot или splot. В настоящее время, диапазоны по-умолчанию для этих параметрических переменных равны [-5:5]. Предполагается установка этих диапазонов на более осмысленные в каждом отдельном случае.


pointsize

Команда set pointsize изменяет размеры точек, используемых в графиках. По-умолчанию, размер точки равен 1.0. Большие размеры (>1.0) полезны для высоких разрешений в битовой графике.

Установка размеров точки поддерживается не всеми терминалами.


polar

Команда set polar изменяет значение функции plot от прямоугольных координат к полярным. В полярных координатах фиктивная переменная x приобретает смысл величины угла. Диапазон этого угла изменяется на [0:2*pi], или, если в качестве единиц измерения был выбран градус, на [0:360] (смотри раздел set angles).

Команда set nopolar изменяет значение функции plot обратно к прямоугольной координатной системе. Диапазон значений x изменяется на [-10:10].

Команда set polar не поддерживается для splot. Смотри set mapping для получения подобной функциональности для splot.

В полярных координатах смысл выражения с переменной х, в действительности r = f(x), где х является углом вращения. Параметр xrange контролирует область (угол) функции, и параметр yrange контролирует диапазон (радиус). График строится в квадратной области и оси x и y измеряются в единицах радиуса. Таким образом, yrange контролирует оба измерения графика. Деления и единицы строятся вдоль осей, вместо того, чтобы быть слева или внизу. Эти единицы являются смещением на <rmin>, заданным параметром rrange (смотри тему set rrange). Невозможно указать различные измерения в направлениях x и y. Параметр yrange может использоваться для сдвига графика по диагонали, для изображения только первого или третьего квадрантов.

Синтаксис:

        set polar
        set nopolar
        show polar

Примеры:

        set polar
        plot x*sin(x)
        plot [-2*pi:2*pi] [-3:3] x*sin(x)

Первый график использует полярную угловую область, заданную по-умолчанию, от 0 до 2*pi. Радиус (и размер графика) масштабируется автоматически. Второй график расширяет область, и ограничивает диапазон значений радиуса (и размеры графика) до [-3:3].


rrange

Команда set rrange устанавливает радиальный диапазон, используемый для рассчета значений x и у в полярной координатной системе. В картезианской системе (смотри set polar) этот диапазон не используется. Использование этой команды смещает полярную сингулярность на значение <rmin>, и сдвигает единицы на осях. Например, команда set rrange [-40:40] установит начало графика в -40 и построит график в радиальных значениях от -40 до 40. Таким образом, если строятся данные в 360 градусах, то график будет масштабирован на 80 единиц радиально от начала координат. Для просмотра всего графика команда set yrange [-80:80] построит квадратное окно, с круговыми осями, проходящими по-касательной к сторонам окна. Так как xrange используется для задания углового смещения, с помощью yrange можно задать только квадратное окно. Например, set yrange [0:80] построит первый квадрант, а yrange равной [-80:0] построит третий квадрант. Можно задать любое окно любого размера, но оно ограничено центром на линии, проходящей под углом 45 градусов через начало координат.

Этот диапазон может также быть задан в команде plot, в полярном режиме.

Синтаксис:

        set rrange [{<rmin> : <rmax>}]

где <rmin> и <rmax> могут быть как константой, так и выражением. Как <rmin> так и <rmax> являются необязательными параметрами. Все пропущенные значения не будут изменяться, таким образом, команда:

        set rrange [:10]

установит rmax равным 10, без изменения rmin.


samples

Частота дискретизации рассчета значений функций может быть изменена командой set samples. По-умолчанию, частота установлена равной 100 точкам. Более высокая частота дискретизации приведет к построению более точного графика, но процесс построения займет больше времени. Этот параметр не имеет смысла при построении наборов данных из файла.

Синтаксис:

        set samples <samples_1> {,<samples_2>}
        show samples

При построении двумерных графиков имеет смысл только значение <samples_1>.

Когда строится график поверхности без удаления невидимых линий, значение частот задает число точек, рассчитыаемых на каждой изолинии. Каждая изо-v линия будет содержать <sample_1> точек и каждая изо-u линия будет содержать <sample_2> точек. При указании только параметра <samples_1>, <samples_2> будет установлена равной значению <samples_1>. Смотри раздел set isosamples.


size

Команда set size масштабирует изображаемую часть графика. На некоторых терминалах изменение размера графика приводит к неправильному положению текста на экране. Увеличение размера графика может привести к странным результатам. Уменьшение размеров всегда безопаснее.

Синтаксис:

        set size {<xscale>,<yscale>}
        show size

Значения <xscale> и <yscale> являются коэффициентами масштаба для размера. Значение по-умолчанию (1,1) выбирается в том случае, если коэффициенты пропущены.

Примеры:

Установить нормальный размер:

        set size

Установить половину исходного размера:

        set size 0.5,0.5

Режим горизонтального графика, с коэффициентом сжатия 1:1 в полярных координатах:

        set size 0.721,1.0

Печать текущих размеров:

        show size

Для драйверов LaTeX и Fig размер по-умолчанию (коэффициент масштаба 1,1) равен 5 дюймов ширины и 3 дюйма высоты. Терминал big-Fig (bfig) имеет размер 7 дюймов ширины и 5 дюймов высоты. Для postscript значение по-умолчанию - горизонтальный режим, 10 дюймов ширины и 7 дюймов высоты. Размер графика включает пространство, используемое метками, так как пространство, используемое самим графиком несколько меньше.


style

Графики могут быть построены в одном из 13 стилей:: lines, points, linespoints, impulses, dots, steps, fsteps, {x,y,xy}errorbars, boxes, boxerrorbars, или boxxyerrorbars.

Стиль lines соединяет соседние точки отрезками. Стиль points строит маленький символ в каждой точке. Стиль linespoints объединяет стили lines и points. Стиль impulses строит вертикальную линию от оси x (или от основания координатной решетки для splot) до каждой точки. Стиль dots строит крошечную отметку в каждой точке. Это может быть полезно для графиков с разбросом значений, состоящих из большого количества точек.

Стили errorbars (или yerrorbars), xerrorbars, xyerrorbars применимы только для двумерных графиков. Они рассматриваются как points для splot, и plot. Для графиков наборов данных из файлов, стиль errorbars похож на стиль points, за исключением того, что также строятся горизонтальные и вертикальные разбросы ошибок. Для каждой точки (x,y) строится отрезок от (x,ylow) до (x,yhigh) или от (xlow,y) до (xhigh,y). На концах отрезка строится штрих. Значения (ylow,yhigh) или (xlow,xhigh) читаются из столбцов файла данных, как указано параметром using соответствующей команды using. Также смотри тему plot errorbars.

Стиль boxes применим только для двумерных графиков. Он строит рамку с центром в данной координате x, от оси y до данной координаты y. Ширина рамки рассчитывается одним из трех способов. Если в файле данных есть третий столбец, то он будет использоваться для задания ширины рамки. Иначе, если ширина была задана командой set boxwidth, будет использоваться это значение. В противном случае, ширина каждой рамки будет рассчитана автоматически так, чтобы каждая рамка соприкасалась с соседней.

Еще один стиль, под названием boxerrorbars также доступен только для двумерных графиков наборов данных. Этот стиль является комбинацией стилей boxes и errorbars. Значение ширины рамки извлекается из четвертого столбца, если ошибка по y задана в виде "ydelta" и ширина рамки не была ранее установлена равной -2.0 (set boxwidth -2.0), или из пятого столбца, если ошибка по y в виде "ylow, yhigh". Значение ширины рамки, равное -2.0, является специальным случаем четырех-колоночного файла данных, и при разбросе ошибок по y в виде "ylow, yhigh". В этом случае boxwidth рассчитывается автоматически с тем, чтобы каждая рамка соприкасалась с соседней. Ширина также будет рассчитана автоматически в случае трех-колоночного файла данных. Стиль boxxyerrorbars похож на стиль xyerrorbars за исключением того, что рамка с шириной, равной (xhigh-xlow) и высотой, равной (yhigh-ylow) строится независимо от соотношения этих величин.

Для двумерных данных с более чем двумя столбцами, GNUPLOT будет пытаться подобрать возможный стиль графика. Для трех столбцов допустимы только стили xerrorbars, boxes, errorbars (или yerrorbars), и boxerrorbars. Если используется другой стиль графика, то он будет заменен на yerrorbars. Стиль boxerrorbars рассчитывает ширину рамки автоматически. Для четырех столбцов допустимы стили xerrorbars, xyerrorbars, boxxyerrorbars, boxerrorbars, и errorbars (или yerrorbars). Недопустимый стиль графика будет заменен на стиль yerrorbars. Для файла данных из пяти столбцов допустим только стиль boxerrorbars. Недопустимый стиль будет перед построением заменен на стиль boxerrorbars. Файлы с шестью и семью столбцами допускают только стили xyerrorbars и boxxyerrorbars. Недопустимые стили будут заменены на стиль xyerrorbars. Для установки правильного числа колонок для желаемого стиля графика необходимо использовать модификатор using.

Стили steps и fsteps применимы только для двумерных графиков. Стиль steps соединяет соседние точки двумя отрезками: первый от (x1,y1) до (x2,y1) и второй от (x2,y1) до (x2,y2). Стиль fsteps: отрезки от (x1,y1) до (x1,y2) и от (x1,y2) до (x2,y2).

Стили по-умолчанию выбираются командами set function style и set data style. Смотри раздел plot style для дальнейшей информации о перезаписи стилей по-умолчанию для отдельных функций.

Синтаксис:

        set function style <style>
        set data style <style>
        show function style
        show data style

где <style> может быть одниим из следующих значений: lines, points, linespoints, impulses, dots, steps, fsteps, {x,y,xy}errorbars, boxes, boxerrorbars, или boxxyerrorbars.


surface

Команда set surface контролирует изображение поверхностей. Эта команда полезна, если нужно построить только контуры. Всякий раз, когда вызывается команда set nosurface, поверхность, изолинии и сетка не строятся. Смотри также раздел set contour.

Синтаксис:

        set surface
        set nosurface
        show surface


terminal

GNUPLOT поддерживает много различных графических устройств. Команда set terminal используется для выбора типа устройства, для которого GNUPLOT будет готовить выходную информацию.

Синтаксис:

        set terminal {<terminal-type>}
        show terminal

Если аргумент <terminal-type> не указан, GNUPLOT выведет вписок всех доступных типов терминалов. <terminal-type> можно сокращать, если сокращение однозначно определяет терминал.

Для перенаправления вывода на другое устройство или в файл используется команда set output.

Некоторые терминалы имеют дополнительные параметры. Например, смотри описания терминалов dumb, iris4d, hpljii или postscript.

aifm
atari ST
dumb
epson
gpic
hpljii
latex
imagen
linux
iris4d
mf
mif
nec-cp6
pbm
pcl5
postscript
enhanced postscript
pslatex
fig
regis
table
uniplex
windows


aifm

Несколько параметров можно установить для драйвера Adobe Illustrator 3.0.

Синтаксис:

        set terminal aifm {<color>}
                                {"<fontname>"} {<fontsize>}

<color> может быть color или monochrome. "<fontname>" - имя допустимого PostScript шрифта. <fontsize> - размер шрифта в единицах PostScript, перед масштабированием командой set size. Значения по-умолчанию monochrome, "Helvetica", и 14pt.

Так как AI в действительности не поддерживается многостраничный режим, несколько графиков будут выведены прямо один над другим. Тем не менее, каждый график будет самостоятельной группой, поэтому их можно легко разделить внутри AI (просто выбрать и перетащить).

Примеры:

        set term aifm
        set term aifm 22
        set size 0.7,1.4
        set term aifm color "Times-Roman" 14


atari ST

Терминал atari содержит несколько параметров для задания размера символов и цвета экрана. Драйвер ожидает список аргументов, разделенный пробелами, состоящий из размера символов и трех шестнадцатеричных чисел, значения которых не больше 16. Каждая цифра представляет интенсивность красного, зеленого и голубого составляющих цвета (в этом порядке). Диапазон 0-15 масштабируется к тому цветовому диапазону, который дейстительно поддерживает монитор. На нормальном ST-экране, четные и нечетные интенсивности одинаковы.

Примеры:

       set terminal atari 4 # (использование маленького (6x6) шрифта)
       set terminal atari 6 0 # (монохромный экран - белое на черном)
       set terminal atari 13 0 fff f00 f0 f ff f0f ff0
       # (Первые 8 цветов - черный, белый, зеленый, синий, голубой, 
       # фиолетовый и желтый, также используется большой шрифт (8x16))

Дополнительно, если существует переменная окружения GNUCOLORS, ее значение трактуется как строка параметров, но явные параметры терминала имеют более высокий приоритет.


dumb

Драйвер терминала dumb содержит параметр установки размера.

Синтаксис:

        set terminal dumb {<xsize> <ysize>}

где <xsize> и <ysize> устанавливают размер терминала dumb. По-умолчанию, 79 на 24.

Примеры:

        set term dumb
        set term dumb 79 49 # VGA screen--why would anyone want to do that?


epson

Этот набор драйверов поддерживает семейство принтеров Epson и совместимых. Смотри также драйвер NEC. epson это обычный 9-pin принтер с разрешением 512x384. starc это Star Color принтер с аналогичным разрешением. epson180 и epson60 это драйверы с разрешением 180 dpi и 60 dpi для новых 24-pin принтеров. Также включается поддержка струйных принтеров. Их разрешение составляет 1260x1080 и 480x360, соответственно. Драйвер tandy60 идентичен драйверу epson60 с одной дополнительной ESC-последовательностью, для запуска режима IBM. Всем этим драйверам необходимо двоичное копирование на принтер. Для этого нельзя просто использовать команду print:

       copy file /b lpt1:


gpic

Об этом драйвере известно только то, что он работает с пакетом gpic/groff от Free Software Foundation. Gpic также может создавать TeX документы.

Простой график можно создать командой:

     groff -p -mpic -Tps file.pic > file.ps.

Выходная информация от pic может быть перенаправлена в eqn, поэтому можно помещать сложные функции в график, используя команды set label и set {x/y}label. Например:

   set ylab '@space 0 int from 0 to x alpha ( t ) roman d t@'

Поставит метку с красивым интегралом на оси y.

   gpic filename.pic | geqn -d@@ -Tps | groff -m[macro-package] -Tps
        > filename.ps

Рисунки, полученные подобным образом, могут быть масштабированы для помещения в документ. Язык pic легко понять, поэтому графики, при необходимости, можно редактироать вручную. Все координаты в pic-файле, созданные GNUPLOT, представлены в виде x+gnuplotx и y+gnuploty. По-умолчанию, x и y равны нулю. Если удалить эту строку редактором в нескольких файлах, можно поместить несколько графиков на один рисунок. Например так (по-умолчанию размер предполагается равным 5.0x3.0 дюймов):

   .PS 8.0
   x=0;y=3
   copy "figa.pic"
   x=5;y=3
   copy "figb.pic"
   x=0;y=0
   copy "figc.pic"
   x=5;y=0
   copy "figd.pic"
   .PE

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

Аналогичного результата можно добиться командой:

  set term pic x y

Например:

  .PS 6.0
  copy "trig.pic"
  .PE


hpljii

Драйверы HP LaserJet II и HP DeskJet запрашивают один параметр.

Синтаксис:

        set terminal hpljii {<resolution>}
        set terminal hpdj   {<resolution>}

где <resolution> это разрешение результата в единицах точки на дюйм. Это значение должно быть 75, 100, 150 или 300. Должно быть достаточно свободной памяти для расчета картинок с высоким разрешением.

Пример:

        set terminal hpljii 150


latex

Драйверы LaTeX и EMTeX позволяют задать тип и размер шрифта для меток вокруг графика.

Синтаксис:

      set term latex <шрифт> <размер<
<шрифт> может быть:
      default          (Roman 10 point)
      courier
      roman

любого указанного размера. (Внимание: пакет METAFONT не любит нечетные значения)

Примеры:

      gnuplot > set term latex courier 5

Если драйвер не способен построить шрифты произвольного размера (dvips), то используются стандартные размеры 10, 11 и 12 pt.


imagen

Драйвер imagen способен рисовать несколько графиков на одной странице (как в вертикальном так и в горизонтальном положении), и можно задать размер шрифта.

Синтаксис:

      set term imagen <orientation> <x, y> <n>
<orientation> portrait (по-умолчанию) или landscape
<x, y> это количество графиков в x- и y- направлении на странице
<n> - размер шрифта в пунктах

Пример:

Для построения шести графиков на странице, в два столбца, в ориентации portrait:

      set term imagen po [2,3]


linux

Драйвер linux позволяет задать несколько параметров. Можно выбрать SVGA или VGA адаптер, и указать чипсет, если пакет svgalib не смог его определить автоматически. Оба аргумента являются необязательными. Если чипсет не указан, он определяется автоматически (этот параметр необходимо применять только в том случае, если автоматически чипсет определяется неправильно). Режим по-умолчанию - SVGA. Если этот режим недоступен, то он автоматически понижается до VGA.

Синтаксис:

        set terminal linux {chipset} {mode}

mode может быть следующим:

        VGA  - используется для 640x480x16 (может быть полезным для Trident)
        SVGA - используется для 1024x768x256
        S800 - используется для 800x600x256
        S816 - используется для 800x600x16

В настоящее время с пакетом svgalib (версия 0.5) совместимы следующие чипсеты:

        TVGA8900
        ET4000
        CIRRUS
        OAK (?)

Другие чипсеты поддерживаются для разрешения 640x480x16 в качестве простого VGA.

Версия svgalib (0.5) не совсем правильно работает с чипсетом Trident. Если экран не показывает правильное изобрражение, необходимо использовать режим VGA.


iris4d

Драйвер iris4d может работать в двух режимах.

Синтаксис:

        set terminal iris4d {24}

Если аппаратура поддерживает только 8 бит, используется команда set terminal iris4d. Если аппаратура поддерживает 24 бит (по 8 бит на красную зеленую и синюю составляющие), используется команда terminal iris4d 24.

При использовании 24-бит режима цвета могут быть явно заданы в файле .gnuplot_iris4d, который должен находиться в текущей директории или в директории, заданной переменной окружения HOME. Этот файл содержит RGB значения для фона, рамок, меток, и девяти цветов, которыми строятся графики, причем именно в этом порядке. Например, файл, содержащий схему по-умолчанию:

        85   85   85     /* Back Ground */
        0    0    0      /* Boundary */
        170  0    170    /* Labeling */
        85   255  255    /* Plot Color 1 */
        170  0    0      /* Plot Color 2 */
        0    170  0      /* Plot Color 3 */
        255  85   255    /* Plot Color 4 */
        255  255  85     /* Plot Color 5 */
        255  85   85     /* Plot Color 6 */
        85   255  85     /* Plot Color 7 */
        0    170  170    /* Plot Color 8 */
        170  170  0      /* Plot Color 9 */

В этом файле ровно 12 строк с триплетами значений красный-зеленый-синий (RGB). Пустые строки не допускаются, и игнорируется все, что идет после третьего числа в строке.


mf

Драйвер терминала mf создает исходный файл для программы MetaFont. Таким образом, рисунки можно использовать в TeX документах точно так-же, как и обычные символы.

Для включения графика в документ программа MetaFont должна запускаться с выходным файлом GNUPLOT в качестве исходных данных. Поэтому пользователь должен обладать базовыми познаниями о процессе создания шрифтов и включении нового шрифта в документ. Тем не менее, если программа Metafont правильно настроена, неопытный пользователь может выполнять эти операции без особых трудностей.

Поддержка текста основана на наборе символов программы MetaFont. В настоящее время используется шрифт Computer Modern Roman, но пользователь, в принципе, может использовать любой необходимый шрифт. Должны быть доступны исходные тексты программы MetaFont для выбранного шрифта. Каждый символ хранится в отдельной переменной. Эти переменные можно обработать (повернуть, масштабировать, и тому подобное). Недостатком является время компиляции программы MetaFont. На некоторых машинах, например, PC, ограниченное количество памяти также может вызвать проблемы, если в программе хранится слишком много картинок.

Программа Metafont


Инструкции по использованию программы Metafont:

- Установить терминал для использования программы metafont:

  set terminal mf

- Выбрать выходной файл, например::

  set output "myfigures.mf"

- Построить графики. Каждый график создаст отдельный символ. Размер по-умолчанию равен 5x3 дюймов. Можно изменить это размер командой set size 0.5,0.5, или указать любую другую желаемую степень масштабирования.

- Закончить работу с програмой GNUPLOT.

- Создать tfm- и gf- файлы, запустив программу metafont с выходным файлом от GNUPLOT в качестве аргумента. Так как график достаточно большой (5x3 в этом примере), необходимо использовать версию программы, у которой значение memmax составляет, как минимум, 150000. В Unix системах она установлена под именем bigmf. Для дальнейшего предположим, что команда virmf означает большую версию metafont. Например:

- Вызвать metafont:

 virmf '&plain'

- Выбрать выходное устройство: В командной строке metafont ('*') ввести:

    \mode:=CanonCX;     % используемый принтер

- При необходимости, установить увеличение::

    mag:=1;             % или любое другое значение

- Указать GNUPLOT файл:

    input myfigures.mf

На обычной Unix машине, как правило, есть скрипт под названием mf, который вызывает программу virmf '&plain', поэтому, вероятно, можно заменить вызов "virmf &plain" на "mf". Выполнение последней команды создаст два файла: mfput.tfm и mfput.$$$gf (где $$$ означает разрешение устройства). Этот результат может быть также достигнут вводом всей информации в командной строке:
virmf '&plain' '\mode:=CanonCX; mag:=1; input myfigures.mf'

в этом случае выходные файлы будут называться myfigures.tfm и myfigures.300gf.

- Создать pk-файл из gf-файла, используя программу gftopk:

  gftopk myfigures.300gf myfigures.300pk

Имя выходного файла для gftopk зависит от версии используемого драйвера dvi. Необходимо спросить у своего TeX-администратора о соглашении об именах файлов. Затем, надо либо поместить tfm- и pk- файлы в соответствующие директории, либо правильно установить переменные окружения. Обычно это достигается установкой переменной TEXFONTS для включения в путь текущей директории, и выполнении того-же самого для переменной, которую использует драйвер dvi (здесь нет стандарта). Эти шаги необходимы для того, чтобы TeX мог найти файл параметров шрифта и драйвер dvi мог найти pk-файл.

- Для включения графиков в документ, необходимо указать TeX шрифт:

  \font\gnufigs=myfigures

Каждый созданный график хранится в виде отдельного символа. Первый график - символ 0, второй - символ 1, и так далее. После выполнения предыдущих шагов, можно и спользовать графики так-же как и обычные символы. Таким образом, для того, чтобы поместить графики 1 и 2 в центре строки в документ, нужно сделать следующее:

  \centerline{\gnufigs\char0}
  \centerline{\gnufigs\char1}

в обычном TeX. Для файлов LaTeX можно, разумеется, использовать переменную, отвечающую за рисунки, и поместить график в любое место страницы, используя макросы \makebox и \put.

Построив шрифт, вы сохраните время, так как TeX обрабатывает графики как символы, и помещение их в текст занимает минимум времени. Кроме того, обычно документ подвергается изменениям значительно чаще графиков. Также, это сохраняет память TeX. Еще одно преимущество использования драйвера metafont - это то, что dvi-файл становится действительно независимым от устройства вывода по причине отсутствия \special- команд в драйверах eepic- и tpic-.


mif

Несколько параметров можно установить для драйвера MIF 3.00

Синтаксис:

     set terminal mif {<pentype>} {<curvetype>} {<help>}

<pentype> определяет "цветность" графиков:

     colour     строит линии c номером стиля >= 0 цветными.
     monochrome строит линии всех типов черным цветом.

<curvetype> определяет вид построения кривых:

     polyline   строит непрерывную кривую.
     vectors    строит кривую как набор векторов.

<help> печатает руководство на стандартное устройство вывода ошибок.

     help печатает краткое описание и список параметров
     ? печатает краткое описание.

Этот драйвер терминала создает результат в формате Frame Maker MIF версии 3.00. Он строит в кадрах MIF размером 15x10 сантиметров, и строит примитивы одним пером, которые будут собраны в одну MIF группу. Примитивы, построенные GNUPLOT, будут нарисованы в одном большом кадре MIF. Примитивы с типом линии >= 0 будут по-умолчанию изображаться цветными. Также, по-умолчанию, кривые строятся как непрерывные линии. Шрифт для текста, используемый в кадрах MIF, по-умолчанию, "Times".

Примеры:

     set term mif
     set term mif vectors
     set term mif help


nec-cp6

Драйверу nec-cp6 может быть передан только один параметр. Разрешение драйвера равно 400x320.

Синтаксис:

        set terminal nec-cp6 monochrome
        set terminal nec-cp6 color
        set terminal nec-cp6 draft


pbm

Для драйвера PBMplus можно задать несколько параметров.

Синтаксис:

        set terminal pbm {<fontsize>} {<colormode>}

где <fontsize> это small, medium, или large и <colormode> это monochrome, gray или color. Размер, по-умолчанию, составляет 640 точек ширины и 480 точек высоты. Выходная информация для монохромного режима это битовое изображение (один бит на пиксел). Выходная информация для серого режима - серое растровое изображение (три бита на пиксел). Выходная информация для цветного режима - пиксельное растровое изображение (цветное, по четыре бита на пиксел). Выходная информация этих драйверов может использоваться с великолепным пакетом PBMPLUS, написанным Jef Poskanzer'ом, который предоставляет набор программ для преобразования формата PBMPLUS в GIF, TIFF, MacPaint, Macintosh PICT, PCX, X11 форматы и многие другие.

Примеры:

        set term pbm small
        set size 2,2
        set term pbm color medium


pcl5

Для драйвера pcl5 можно задать три параметра. В действительности, драйвер использует схему HPGL-2, но существует конфликт имен среди терминальных устройств.

Синтаксис:

        set terminal pcl5 {<mode>} {<font>} {<fontsize>}

где <mode> это landscape, или portrait, <font> это stick, univers, или cg_times, и размер шрифта задается в пунктах.

Пример:

        set terminal pcl5 landscape


postscript

Драйвер PostScript позволяет задать несколько параметров.

Синтаксис:

        set terminal postscript {<mode>} {<color>} {<dashed>}
                                {"<fontname>"} {<fontsize>}

где <mode> это landscape, portrait, eps или default. Выбор режима default устанавливает все параметры на значения по-умолчанию. <color> - color или monochrome. <dashed> - solid или dashed. "<fontname>" это имя допустимого шрифта PostScript. <fontsize> контролирует размеры шрифта в единицах PostScript. По-умолчанию, параметры такие: landscape, monochrome, dashed, "Helvetica", и 14pt. По-умолчанию, размер графика PostScript - режим landscape, 10 дюймов ширины и 7 дюймов высоты.

Для получения выходной информации в формате EPS, используется режим eps и строится только один график в файле. В режиме eps весь график уменьшается наполовину, шрифты - половина данного размера, и график занимает 5 дюймов в ширину и 3.5 дюйма в высоту.

Примеры:

        set term postscript default       # старый postscript
        set term postscript landscape 22  # старый psbig
        set term postscript eps 14   # старый epsf1
        set term postscript eps 22   # старый epsf2
        set size 0.7,1.4
        set term post portrait color "Times-Roman" 14


enhanced postscript

Драйвер "Enhanced PostScript" обладает расширенными возможностями по сравнению с обычным PostScript. Можно установить несколько параметров для драйвера Enhanced PostScript.

Синтаксис:

        set terminal enhpost {<mode>} {<color>} {<dashed>}
                             {<duplexing>} {"<fontname>"} {<fontsize>}

где <mode> это landscape, portrait, eps или default. Выбор режима default устанавливает все параметры на значения по-умолчанию. <color> - color или monochrome. <dashed> - solid или dashed. <duplexing> - simplex или duplex (не нужно устанавливать этот параметр, если принтер его не поддерживает). "<fontname>" это имя допустимого шрифта PostScript.. <fontsize> контролирует размеры шрифта в единицах PostScript. По-умолчанию, параметры такие: landscape, monochrome, dashed, 'printer-default-plex', "Helvetica", и 14pt. По-умолчанию, размер графика PostScript - режим landscape, 10 дюймов ширины и 7 дюймов высоты.

Для получения выходной информации в формате EPS, используется режим eps и строится только один график в файле. В режиме eps весь график уменьшается наполовину, шрифты - половина данного размера, и график занимает 5 дюймов в ширину и 3.5 дюйма в высоту.

Примеры:

        set term enhpost landscape 22
        set term enhpost eps 14
        set term enhpost landscape simplex 
        set size 0.7,1.4
        set term enhpost portrait color "Times-Roman" 14

Этот "улучшенный" драйвер позволяет любому тексту содержать следующие специальные инструкции форматирования (т.е., надо использовать команду set format для размещения их на осях):

Инструкция    Пример          Пояснение
  ^           a^x             верхний индекс
  _           a_x             нижний индекс
  @           @x or a@^b_c    фантомная рамка (без ширины)

{текст} можно использовать для разрешения многосимвольного текста. Для изменения шрифта и/или его размера, используется полная запись: {/[fontname][=fontsize] text} (Например, {/Symbol=20 G} это GAMMA размером 20 пунктов). (Символ '/' должен быть первым после '{'.)

Фантомная рамка полезна для настройки верхних и нижних индексов, и для записи ударения над буквой.

Для цифрового доступа к специальным символам, можно использовать инструкции вида \(восьмеричный код-символа), например, {/Symbol \245} это символ бесконечности.

Для записи самих специальных символов используется обратная черта, например \\, \{, \}, \^, \@


pslatex

Для драйвера pslatex можно задать насколько параметров.

Синтаксис:

        set terminal pslatex {<color>} {<rotate>} {auxfile}

<color> это color или monochrome. Если указан режим default, то график может содержать повернутый текст и будет монохромным, и все графики будут в одном файле. <rotate> - rotate или norotate и определяет, повернуты ли метки вертикальной оси.

Если задан auxfile, то команды postscript помещаются в этот дополнительный файл, вмсто того, чтобы записываться прямо в файл LaTeX. Это полезно в том случае, когда графики велики, и драйвер dvips не может обработать картинку. Имя postscript файла для этого параметра определяется заменой расширения .tex на .ps для файла с выходными данными.

Примеры:

        set term pslatex auxfile    # помещать данные postscript в файл foo.ps
        set output "foo.tex"


fig

Драйвер fig имеет параметры для задания режима построения цветного или монохромного графика, а также большого или маленького размера изображения. По-умолчанию, изображение маленькое и монохромное. Для выбора цветного изображения, необходимо использовать инструкцию:

       set terminal fig color

Для выбора большого изображения:

       set terminal fig large

Параметр large является заменой для более ранней версии терминала bfig, которая теперь не поддерживается.


regis

Драйвер терминала regis позволяет установить параметр, контролирующий использование 4 или 16 цветов. По-умолчанию, используются 4 цвета.

Примеры:

       set term regis 16


table

Вместо создания графика, терминал table печатает результаты обработки в многоколоночной таблице в формате ASCII, в виде значений X Y и Z. Теперь, если действительно нужно увидеть цифры, их можно увидеть на экране, или сохранить в файл.


uniplex

Драйвер uniplex способен комбинировать несколько графиков на одном рисунке. Параметр portrait приводит к построению графика в окне, у которого ширина составляет 2/3 высоты. По-умолчанию, установлен режим landscape, в котором высота изображения составляет 2/3 от ширины. Также можно задать размер шрифта (1-8). Только одно изображение может находиться в файле. Если 'X' включено в команду set output filename, то 'X' заменяется последовательным номером графика.

Синтаксис:

	  set term <orientation> <x,y> <n>

<orientation> - portrait или landscape (по-умолчанию), <x,y> это количество графиков в направлениях x и y соответственно, <n> - размер шрифта (1-8)

Примеры:

Для построения шести графиков в два столбца на одном изображении в режиме portrait:

      set term uniplex po [2,3]


windows

Для драйвера windows можно задать три параметра.

Синтаксис:

        set terminal windows {<color>} {"<fontname>"} {<fontsize>}

<color> это color или monochrome. "<fontname>" это название допустимого шрифта Windows.. <fontsize> это размер шрифта в пунктах.

Графическое меню
Печать
Текстовое меню
wgnuplot.ini
windows3.0


Графическое меню

графическое окно GNUPLOT, при нажатии правой кнопки мыши или выборе пункта меню Options, выдает всплывающее меню со следующим набором пунктов:

Bring to Top помещает окно на самый верх при каждом вызове команды plot.

Color включает цветные стили для линий. В выключенном состоянии все изображения монохромные.

Copy to Clipboard копирует пиксельную картинку в формат Metafile.

Background... устанавливает цвет фона.

Choose Font... позволяет выбрать шрифт, используемый в графическом окне.

Line Styles... позволяет настроить стили и цвет линий.

Print... печатает график с помощью драйвера принтера Windows и позволяет выбрать принтер и маштаб результата. Результат, создаваемый командой Print, не так хорош, как результат печати с помощью драйвера принтера GNUPLOT.

Файл wgnuplot.ini содержит информацию о текущем положении, размерах окон, названиях и размерах шрифтов, цвете фона, стиле и цвете линий.


Печать

Графики можно напечатать следующими способами, перечисленными в порядке предпочтения:

1. Использовать команду GNUPLOT set terminal для выбора принтера, и команду set output для перенаправления вывода в файл.

2. Выбрать команду Print из графического меню GNUPLOT. Дополнительная команда screendump выполняет эту задачу для текстового окна.

3. Если используется команда set output "PRN", выходная информация будет записана во временный файл. После выхода из программы GNUPLOT, или установки другого устройства вывода командой set output, появится диалоговое окно, предлагающее выбрать порт принтера. При выборе OK, выходная информация будет отправлена в соответствующий порт, без обработки ее менеджером печати. Можно случайно (или умышленно) послать информацию, предназначенную для одного принтера, другому, несовместимому, принтеру.


Текстовое меню

Текстовое меню программы GNUPLOT содержит следующий набор параметров во всплывающем меню, которое вызывается либо нажатием правой кнопки мыши, либо выбором пункта меню Options из системного меню.

Copy to Clipboard копирует отмеченный текст в буфер обмена.

Paste копирует текст из буфера обмена в окно так, как если бы этот текст был набран пользователем.

Choose Font... позволяет выбрать шрифт для текстового окна.

System Colors приводит текст в соответствие с системной палитрой, как задано с использованием Контрольной Панели Windows. Когда этот параметр не установлен, текст печатается черным или синим цветом по белому фону.

Файл wgnuplot.ini хранит информацию о текущем положении и размере текстового окна, названии и размере шрифта.

Главное меню

Если файл wgnuplot.mnu находится в одной директории с файлом wgnuplot.exe, то будет использоваться меню, определенное в файле wgnuplot.mnu

Команды меню:

  [Menu]       Начинает новое меню с именем, заданным в следующей строке.
  [EndMenu]    Заканчивает текущее меню.
  --           Вставляет горизонтальный разделитель.
  |            Вставляет вертикальный разделитель.
  [Button]     Помещает следующий макрос на кнопку, вместо пункта меню.

Макросы занимают две строки с именем макроса (имя пункта меню) в первой строке и код макроса во второй строке. Первые пробелы игнорируются.

Команды макросов:

  [INPUT]      Ввод строки с приглашением, завершающимся [EOS] или {ENTER}
  [EOS]        Ограничитель конца строки. Не создает выходной информации.
  [OPEN]       Запрашивает имя файла из списка, заголовок которого завершается 
               макросом [EOS], следующим за текущим именем файла, завершающимся
			   [EOS] или {ENTER}. Эта команда использует библиотеку commdlg.dll 
			   из поставки Windows 3.1
  [SAVE]       Запрашивает имя файла для сохранения. Работает аналогично [OPEN]

Символьные подстановки в макросах:

  {ENTER}  Перевод каретки  '\r'
  {TAB}    Tab              '\011'
  {ESC}    Escape           '\033'
  {^A}                      '\001'
  ...
  {^_}                      '\031'

Макросы ограничены длиной 256 символов, после выполнения всех подстановок.


wgnuplot.ini

Версия GNUPLOT для Windows читает некоторые параметры из секции [WGNUPLOT] файла wgnuplot.ini, расположенного в каталоге Windows. Пример файла wgnuplot.ini показан ниже.

 [WGNUPLOT]
 TextOrigin=0 0
 TextSize=640 150
 TextFont=Terminal,9
 GraphOrigin=0 150
 GraphSize=640 330
 GraphFont=Arial,10
 GraphColor=1
 GraphToTop=1
 GraphBackground=255 255 255
 Border=0 0 0 0 0
 Axis=192 192 192 2 2
 Line1=0 0 255 0 0
 Line2=0 255 0 0 1
 Line3=255 0 0 0 2
 Line4=255 0 255 0 3
 Line5=0 0 128 0 4

Запись GraphFont задает имя шрифта и размер в пунктах. Пять чисел, указанных в записях Border, Axis и Line представляют интенсивности красной (0-255), зеленой и голубой составляющих, цветной стиль и монохромный стиль. Стили линий следующие: 0=сплошная, 1=пунктир, 2=точки, 3=штрих-пунктир, 4=двойной штрих-пунктир. В примере выше, линия 2 это зеленая сплошная линия в цветном режиме или пунктирная в монохромном. Ширина линии по-умолчанию равна одному пикселю. Если стиль линии - отрицательное значение, это означает ширину сплошной линии в пикселях. Линия 1 и любой стиль, используемый со стилем points, должен быть сплошным с указанием ширины.


windows3.0

Для работы желательно использовать версию Windows 3.1, но wgnuplot будет работать и под управлением Windows 3.0 со следующими ограничениями:

1. Файлы COMMDLG.DLL и SHELL.DLL (доступные в Windows 3.1 или Borland C++ 3.1) должны быть в каталоге Windows.

2. WGNUPLOT.HLP, созданный с помощью Borland C++ 3.1, в формате Windows 3.1. Для его чтения необходимо использовать программу winhelp.exe, поставляемую вместе с Borland C++ 3.1.

3. GNUPLOT не работает в режиме real по причине нехватки памяти.

4. Шрифты семейства Truetype недоступны в графическом окне.

5. Механизм drag-drop не работает.


tics

По-умолчанию, деления изображаются внутрь от рамок на всех четырех сторонах. Командой set tics можно изменить начертание делений наружу или изображение их только на левом или нижнем крае графика. Это полезно при построении графиков с использованием стиля impulse.

Синтаксис:

        set tics {<direction>}
        show tics

где <direction> может быть in или out. set tics. По-умолчанию, значение установлено in.

Также смотри разделы set xtics, set ytics и set ztics для большего контроля за основными делениями, и разделы set mxtics, и set mytics для контроля дополнительных делений. При использовании команды splot, в трехмерных графиках, можно задать относительную высоту вертикальной (z) оси, командой set ticslevel. Задаваемый численный аргумент указывает положение начала шкалы. Нулевое значение поместит ее на основание решетки, а любое положительное значение - вдоль оси z.

Синтаксис:

        set ticslevel {<level>}
        show tics

<level> это любое неотрицательное число.

Пример:

        set ticslevel 0.5

устанавливает длину делений значением по-умолчанию. Также смотри раздел set view.

Размер главных штрихов можно задать командой set ticscale. По-умолчанию, размер равен 1.0. Дополнительные штрихи равны 0.5*ticscale. Можно задать направление штриха в обратную сторону, указав отрицательное значение.

Синтаксис:

        set ticscale {<size>}
        show tics


time

Команда set time помещает время и дату на график либо снизу либо слева. Точное расположение зависит от конкретного драйвера.

Синтаксис:

        set time {<xoff>}{,<yoff>}
        set notime
        show time

Параметры <xoff> или <yoff> задают необязательное смещение. Отметка времени будет сдвинута на <xoff> или <yoff> символов в экранных координатах.

Пример:

        set time ,-3

изменит только y-смещение метки времени, сместив ее немного вниз, приблизительно на высоту 3 символов.


timefmt

Эта команда применяется к наборам данных времени, где данные находятся в формате даты/времени. Она не имеет значения до тех пор, пока не будет также задана команда set {x,y,z}data time. Строковый аргумент сообщает GNUPLOT о методе чтения времени из файла данных. Допустимы следующие коды преобразования: %d (день месяца,1-31), %m (месяц,1-12), %y (год,0-99), %Y (год, 4 цифры), %j (день года,1-365), %H (час,0-24), %M (минута,0-60), %S (секунда,0-60). Допустимы любые символы в строке (включая пробел), но строка должна точно соответствовать образцу. Коды, состоящие из обратной косой черты с восьмеричным числом (\nnn) преобразуются в соответствующие символы, также принимается символ табуляции \t. Если нет разделяющих символов между элементами даты/времени, то %d, %m, %y, %H, %M и %S читают каждая по две цифры, %Y читает 4 цифры и %j читает 3 цифры. Несколько столбцов в формате даты/времени считаются одним столбцом при использовании параметра "using n:n". Смотри set {x,y,z}data.

Пример:

        set timefmt "%d/%m/%Y\t%H:%M"

указывает GNUPLOT прочитать дату и время, разделенные табуляцией.


title

Команда set title создает заголовок графика, который размещается в центре верхней части графика. Используя необязательные параметры x, y, отвечающие за экранное смещение, заголовок можно поместить на графике где угодно. Команда set title без параметров очищает заголовок.

Синтаксис:

         set title {"<title-text>"} {<xoff>}{,<yoff>}
         show title

Указание констант <xoff> и <yoff> как дополнительных смещений для заголовка, сместит заголовок на <xoff> или <yoff> символов в экранных координатах. Экранные координаты не эквивалентны координатам графика. Например,

         set title ,-1

изменит только y-смещение заголовка, переместив его вниз приблизительно на высоту одного символа.

Многострочные заголовки поддерживаются включением в текст символов новой строки (\n). Строка текста также сканируется в поиске кодов, состоящих из обратной косой черты и восьмеричного числа (\nnn), делая возможным включение в строку любых символов.

(Драйверы EEPIC, Imagen, Uniplex, LaTeX, и TPIC позволяют использовать комбинацию \\ для указания новой строки в тексте).


trange

Команда set trange устанавливает параметрический диапазон, который используется для вычисления значений x и y в параметрическом режиме. В обычном режиме (смотри set parametric) этот диапазон не используется. Команда не влияет на автомасштабирование или диапазоны x/y.

Этот диапазон также можно задать в команде plot в параметрическом режиме.

Синтаксис:

        set trange [{<tmin> : <tmax>}]

где значения <tmin> и <tmax> являются константами или выражениями, или символом "звездочка" для указания авто-масштабирования.

Параметры <tmin> и <tmax> необязательные. Все пропущенные значения не будут изменяться, поэтому команда

        set trange [:10]

сделает значение tmax равным 10, без изменения значения tmin. Смотри также разделы set urange и set parametric.


urange

Команды set urange и set vrange устанавливают параметрические диапазоны, используемые для рассчета значений x, y, и z при splot в параметрическом режиме. В обычном режиме (смотри set parametric) эти диапазоны не используются. Эта команда не влияет на авто-масштабирование или диапазоны x/y.

Эти диапазоны также можно задать в команде splot в параметрическом режиме. Также смотри раздел plot.

Синтаксис:

        set urange [{<umin> : <umax>}]

где значения <umin> и <umax> являются константами или выражениями, или символом "звездочка" для указания авто-масштабирования.

Параметры <umin> и <umax> необязательные. Все пропущенные значения не будут изменяться, поэтому команда

        set urange [:10]

сделает значение umax равным 10, без изменения значения umin. Смотри также раздел set trange


variables

Команда show variables выводит список всех определенных пользователем переменных и их значения.

Синтаксис:

        show variables


view

Команда set view задает параметры окна для splot. Эта команда контролирует способ преобразования трехмерных координат на двумерную плоскость экрана. Эта команда предоставляет средства вращения и масштабирования построенных графиков, но поддерживает только ортогональную проекцию.

Синтаксис:

        set view <rot_x> {,{<rot_z>}{,{<scale>}{,<scale_z>}}}
        show view

где <rot_x> и <rot_z> задает углы поворота (в градусах) вдоль виртуальной трехмерной координатной системы, выровненной с экраном так, чтобы экранная горизонтальная ось была осью x, экранная вертикальная ось была осью y, и ось, перпендикулярная плоскости экрана была осью z. <rot_x> ограничен диапазоном [0:180] со значением по-умолчанию равным 60 , и <rot_z> ограничен диапазоном [0:360] со значением по-умолчанию равным 30. <scale> задает масштабирование всего splot, а <scale_z> масштабирует только ось z. Оба масштаба по-умолчанию равны 1.0.

Примеры:

        set view 60, 30, 1, 1
        set view ,,0.5

Первый пример устанавливает все четыре значения по-умолчанию. Второй устанавливает только масштаб равным 0.5.

Смотри также раздел set ticslevel.


vrange

Команда set vrange аналогична команде set urange. Смотри set urange.


xdata

Эта команда устанавливает тип данных дата/время для оси x. Смотри раздел set timefmt, для описания того, как читать данные этого типа. Формат дата/время преобразуется в количество секунд, прошедших от начала эпохи. В настоящее время поддерживается только один формат времени timefmt, который предполагает, что все столбцы даты/времени соответствуют этому формату. Указание диапазонов, в соответствии с этим форматом, должно предоставляться в виде строк, заключенных в кавычки, во избежание толкования формата дата/время как выражения.

Функция "strftime" используется для печати меток делений. GNUPLOT пытается предсказать подходящий формат для строк, которые не похожи на десятичный формат (более одного символа % или ни символа %f ни %g не найдено), за исключением тех случаев, когда формат явно задан командой set format x "string".

Синтаксис:

        set xdata time

Для переключение формата оси x в режим по-умолчанию:

        set xdata


xlabel

Команда set xlabel задает метку оси х, которая центрируется вдоль оси x. Используя дополнительные экранные смещения x и y, метку можно поместить в любом месте графика. Команда set xlabel без параметров очищает метку. Строка проверяется на команды с обратной косой чертой и восьмеричным значением (\nnn).

Синтаксис:

         set xlabel {"<label>"} {<xoff>}{,<yoff>}
         show xlabel

Указание констант <xoff> или <yoff> в качесте дополнительных смещений для метки сдвигает метку на <xoff> или <yoff> символов в экранных координатах. Например,

         set xlabel -1

изменит только смещение метки по оси x, сдвинув ее приблизительно на один символ влево.

Многострочные метки образуются помещением символа новой строки (\n) в тексте.

Пример:

        set xlabel "This is the first line.\nThe second.\nThe third."

(Драйверы EEPIC, Imagen, LaTeX, и TPIC допускают использование \\ в тексте для указания новой строки).


xmargin

Эта команда контролирует смещение оси x. Если оно не задано, GNUPLOT рассчитывает смещение на основании количества линий метки y (ylabel) и длины делений оси y (ytic) (только для команды plot). Единицами измерения полей является один символ.

Синтаксис:

        set xmargin <chars>
   Задает поля.
        set xmargin
   Задает поля по-умолчанию.


xrange

Команда set xrange задает горизонтальный отображаемый диапазон. Эта команда выключает авто-масштабирование оси x.

Диапазон может быть также задан в команде plot.

Синтаксис:

        set xrange [{<xmin> : <xmax>}]

где значения <xmin> и <xmax> могут быть константами или выражениями, или звездочкой для указания режима авто-масштабирования. Если ось х задана в формате дата/время, то диапазон задается в виде строки, заключенной в кавычки, в соответствии с форматом set timefmt.

Значения <xmin> и <xmax> являются необязательными. Любые пропущенные значения не изменяются, таким образом, команда:

        set xrange [:10]

присвааивает xmax значение 10, без изменения значения xmin (может оставаться авто-масштабируемой величиной). И команда

        set xrange [:*] 

задает атомасштабирование в направлении xmax.


xtics

Точная настройка делений оси х возможна с помощью команды set xtics. Деления оси х можно выключить командой set noxtics. Включить их можно (по-умолчанию) командой set xtics.

Синтаксис:

         set xtics { {<start>, <incr>{, <end>}} |
                     {({"<label>"} <pos> {, {"<label>"} <pos>}...)} }
         set noxtics
         show xtics

Параметры <start>, <incr>, <end> указывают, что деления будут построены на оси х между значениями <start> и <end> с приращением <incr>. Если значение <end> не задано, оно предполагается равным бесконечности. Приращение может быть отрицательной величиной. Например:

          set xtics 0,.5,10

задает деления в значениях х, равных 0, 0.5, 1, 1.5, ..., 9.5, 10.

Параметры ("<label>" <pos>, ...) задают произвольные деления, или положения нецифровых меток делений. Набор делений это набор положений, каждое со своей необязательной меткой. Метка это строка в кавычках, и может быть как константой, такой как "Hello!", или содержать дополнительные символы форматирования для меток делений, таких как "%3f clients". Смотри set format для подробной информации по этому разделу. Метки также могут быть пустыми.

Примеры:

         set xtics ("low" 0, "medium" 50, "high" 100)
         set xtics (1,2,4,8,16,32,64,128,256,512,1024)
         set xtics ("bottom" 0, "" 10, "top" 20)

Деления будут построены только при заданном диапазоне.

В случае серий по времени, значения меток должны задаваться в виде строк в кавычках, в соответствии с форматом timefmt.


mxtics

Дополнительные деления строятся по-умолчанию вдоль оси x. Можно задавать количество дополнительных делений между основными делениями. Дополнительные деления выключаются командой set nomxtics.

Синтаксис:

       set mxtics {<freq>} 
       set nomxtics
       show mxtics

<freq> задает количество интервалов (а не количество дополнительных делений) между основными делениями (по-умолчанию 10, поэтому между основными делениями строится 9 дополнительных делений).


mytics

Дополнительные деления строятся по-умолчанию вдоль оси y. Можно задавать количество дополнительных делений между основными делениями. Дополнительные деления выключаются командой set nomytics.

Синтаксис:

       set mytics {<freq>} 
       set nomytics
       show mytics

<freq> задает количество интервалов (а не количество дополнительных делений) между основными делениями (по-умолчанию 10, поэтому между основными делениями строится 9 дополнительных делений).


xdtics

Команды set xdtics преобразуют метки делений оси x в дни недели, где 0=Sun и 6=Sat. Переполнения преобразуются в дни по модулю числа 7.

Примеры:

       set xdtics

устанавливает значения оси х в днях.

Команды set ydtics set zdtics и set noydtics set nozdtics работают аналогично. Смотри также set format.


xmtics

Команды set xmtics преобразуют метки делений оси x в месяцы года, где 1=Jan и 12=Dec. Переполнения преобразуются в месяцы по модулю числа 12.

Примеры:

       set xmtics

устанавливает значения оси х в месяцах.

Команды set ymtics set zmtics и set noymtics set nozmtics работают аналогично. Смотри также set format.


xzeroaxis

Команда set xzeroaxis строит ось x. По-умолчанию, этот параметр включен. Команда set noxzeroaxis заставляет GNUPLOT отменить построение оси x.

Синтаксис:

        set xzeroaxis
        set noxzeroaxis
        show xzeroaxis


ydata

Команда set ydata устанавливает формат оси y в формат времени. Смотри set xdata.


ylabel

Команда set ylabel устанавливает метку оси y. Положение этой метки зависит от типа терминала, и может быть одной из трех следующих (положение можно регулировать дополнительными параметрами):

1. Горизонтальный текст, прижатый к левому-верхнему краю графика. Терминалы, не способные вращать текст, используют этот метод.

2. Вертикальный текст, центрированный по-вертикали слева от графика. Этот метод также использут терминалы, не способные вращать текст.

3. Горизонтальный текст, центрированный по-вертикали слева от графика. Этот метод используется драйверами EEPIC, LaTeX и TPIC. Пользователь должен включать в текст символы разрыва строки с помощью символов \\ для предотвращения попадания ylabel на график. Для получения вертикального ряда символов нужно вставлять \\ между каждым печатным символом (но это безобразный метод).

Синтаксис:

         set ylabel {"<label>"} {<xoff>}{,<yoff>}
         show ylabel

Команда без параметров очищает текст метки. Константы <xoff> и <yoff> в качестве дополнительных смещений перемещают метку на соответствующее число символов в экранных координатах. Например, команда

         set ylabel -1

изменит только x-смещение метки ylabel, переместив ее примерно на один символ влево от текущей позиции. Это особенно полезно при использовании драйвера LaTeX.

Поддерка многострочных меток осуществляется вставкой в текст символа новой строки (\n). Строка также проверяется на наличие специальных восьмеричных кодов c обратной косой чертой(\nnn).

(Драйверы EEPIC, Imagen, LaTeX, и TPIC допускают использование \\ в тексте для указания новой строки).


yrange

Команда set yrange задает вертикальный отображаемый диапазон. Эта команда выключает авто-масштабирование оси y.

Диапазон может быть также задан в команде plot.

Синтаксис:

        set yrange [{<ymin> : <ymax>}]

где параметры <ymin> и <ymax> могут быть константами или выражениями, или звездочкой для указания режима автомасштабирования.

Значения <ymin> и <ymax> являются необязательными. Любые пропущенные значения не изменяются, таким образом, команда:

        set yrange [:10]

присваивает ymax значение 10, без изменения значения ymin (может оставаться авто-масштабируемой величиной). И команда

        set yrange [0:*]
задает авто-масштабирование в направлении ymax.


ytics

Команды set ytics и set noytics работают аналогично командам set xtics и set noxtics. Смотри раздел set xtics. Смотри раздел set mytics для информации о настройке дополнительных меток вдоль оси y.


ydtics

Команды set ydtics и set noydtics работают аналогично командам set xdtics и set noxdtics. Смотри раздел set xdtics.


ymtics

Команды set ymtics и set noymtics работают аналогично командам set xmtics и set noxmtics. Смотри раздел set xmtics.


yzeroaxis

Команда set yzeroaxis строит ось y. По-умолчанию, этот параметр включен. Команда set noyzeroaxis заставляет GNUPLOT отменить построение оси y.

Синтаксис:

        set yzeroaxis
        set noyzeroaxis
        show yzeroaxis


zdata

Эта команда устанавливает тип данных дата/время для оси z. Смотри раздел set xdata.


zero

Значение zero (нуль) это, по-умолчанию, порог для значений почти равных 0.0. GNUPLOT не будет строить точку, если ее мнимая часть больше по величине, чем zero. Диапазоны осей не могут быть меньше zero. По-умолчанию, значение zero составляет 10-8. Это значение можно изменить командой set zero.

Синтаксис:

        set zero <expression>
        show zero


zeroaxis

Команда set zeroaxis строит оси x и y. По-умолчанию, этот параметр включен. Команда set nozeroaxis заставляет GNUPLOT отменить построение осей x и y, и экивалентна команде set noxzeroaxis; set noyzeroaxis.

Синтаксис:

        set zeroaxis
        set nozeroaxis
        show zeroaxis

Смотри разделы set xzeroaxis и set yzeroaxis.


zlabel

Команда set zlabel задает метку оси z, которая центрируется вдоль оси z. Используя дополнительные экранные смещения x и y, метку можно поместить в любом месте графика. Команда set zlabel без параметров, очищает метку.

Синтаксис:

         set zlabel {"<label>"} {<xoff>}{,<yoff>}
         show zlabel

Указание констант <xoff> или <yoff> в качесте дополнительных смещений для метки сдвигает метку на <xoff> или <yoff> символов в экранных координатах. Например,

         set zlabel ,1

изменит только смещение метки по оси y, сдвинув ее приблизительно на один символ вверх.

zlabel будет построена незаисимо от того, строится график в стиле surfaces или contour, в пространстве над решеткой.

Многострочные метки образуются помещением символа новой строки (\n) в тексте метки. Строка также проверяется на наличие специальных восьмеричных кодов c обратной косой чертой(\nnn).

Пример:

        set zlabel "Line one.\nLine two with 8-bit char: \345."

(Драйверы EEPIC, Imagen, LaTeX, и TPIC допускают использование \\ в тексте для указания новой строки).


zrange

Команда set zrange задает вертикальный отображаемый диапазон. Эта команда выключает автомасштабирование оси z. Команда set zrange используется только для splot.

Диапазон может быть также задан в команде splot.

Синтаксис:

        set zrange [{<zmin> : <zmax>}]

где параметры <zmin> и <zmax> могут быть константами или выражениями, или звездочкой для указания режима авто-масштабирования.

Значения <zmin> и <zmax> являются необязательными. Любые пропущенные значения не изменяются, таким образом, команда:

        set zrange [2:]

присваивает zmin значение 2, без изменения значения zmax. Команда

        set zrange [:*]

задает авто-масштабирование в направлении zmax.


ztics

Команды set ztics и set noztics работают аналогично командам set xtics и set noxtics. Смотри раздел set xtics.


zdtics

Команды set zdtics и set nozdtics работают аналогично командам set xdtics и set noxdtics. Смотри раздел set xdtics.


zmtics

Команды set zmtics и set nozmtics работают аналогично командам set xmtics и set noxmtics. Смотри раздел set xmtics.


shell

Команда shell вызывает интерфейс командного интерпретатора. Для возвращения в GNUPLOT, необходимо набрать logout при использовании VMS, exit или символ EOF при использовании Unix, endcli при использовании AmigaDOS, или exit при использовании MS-DOS или OS/2.

Единичная команда может быть вызвана с помощью символа ! ($ при использовании VMS), вставленного перед командой. Управление будет возвращено GNUPLOT сразу после выполнения команды. Например в VMS, AmigaDOS, MS-DOS или OS/2:

     ! dir

напечатает список файлов в каталоге, и вернет управление GNUPLOT..

На Atari, команда ! вначале проверяет, загружен ли командный интерпретатор, и использует его, если это возможно. Это полезно, если GNUPLOT запускается, например, из gulam.


splot

Построение трехмерных поверхностей и контуров возможно в GNUPLOT c использованием команды splot. Смотри раздел plot для описания особенностей, общих с командой plot.

Смотри также разделы set contour, set cntrparam и set surface.

Двоичные данные


Двоичные данные

GNUPLOT автоматически определяет тип файла данных - ASCII или двоичный. Файлы в формате ASCII обсуждались в команде plot. Для трех измерений, значения с плавающей запятой одинарной точности хранятся в следующем виде:

      <ncols> <x0> <x1> <x2> ...
      <y0> <z0,0> <z0,1> <z0,2> ...
      <y1> <z1,0> <z1,1> <z1,2> ...

который преобразуется в форму триплетов:

      <x0> <y0> <z0,0>
      <x0> <y1> <z0,1>
      <x0> <y2> <z0,2>

      <x1> <y0> <z1,0>
      <x1> <y1> <z1,1>
      <x1> <y2> <z1,2>

Эти триплеты затем преобразуются в структуры iso_curves GNUPLOT, и затем используются для построения.

Набор функций для работы с матрицами и векторами (на языке C), поставляются в файле gnubin.c. Функция для записи двоичных данных

 int fwrite_matrix(file,m,nrl,nrl,ncl,nch,row_title,column_title)

Пример использования этих функций поставляется в файле bf_test.c. Соответствующий файл с примером demo/binary.dem.


Инициализация

При запуске, GNUPLOT ищет свой файл параметров. Файл называется .gnuplot в системах Unix и AmigaDOS, и gnuplot.ini в других системах. Если этот файл не найден в текущем каталоге, программа будет искать его в домашнем каталоге (в системах AmigaDOS, AtariTOS, MS-DOS и OS/2 переменная окружения GNUPLOT должна содержать имя этого каталога). Если в процессе установки была указана переменная NOCWDRC, то GNUPLOT не будет искать файл в текущей директории.

Если этот файл найден, GNUPLOT выполняет записанные в нем команды. Это особенно полезно для указания типа терминала и определения часто-используемых функций и переменных.


Подстановки

Подстановки командной строки задаются системной командой, заключенной в обратные кавычки. Команда вызывается, и ее выходная информация заменяет собой имя команды (и кавычек) в командной строке.

Символы новой линии в выходной информации заменяются пробелами.

Подстановки можно использовать в любом месте командной строки GNUPLOT.

Примеры:

Для запуска програмы leastsq и замены ее и кавычек выходной информацией:

         f(x) = leastsq

или в системе VMS:

         f(x) = run leastsq


update

Синтаксис:

	 update <filename> 

Эта команда изменяет значения начальных параметров в соответствующем файле, как указано в секции fit. Каждый параметр будет заменен на его действительное значение. Это полезно при возобновлении рассчета сходящегося или остановленного приближения. Смотри также раздел fit.


Пользовательские определения

Новые переменные и функции от одного до пяти аргументов, определенные пользователем, можно объявлять и использовать где угодно.

Синтаксис определения функции:

        <function-name> ( <dummy1> {,<dummy2> {, ...} } ) = <expression>

где <expression> определена в переменных от <dummy1> до <dummy5>.

Синтаксис определения переменной:

        <variable-name> = <constant-expression>

Примеры:

        w = 2
        q = floor(tan(pi/2 - 0.1))
        f(x) = sin(w*x)
        sinc(x) = sin(pi*x)/(pi*x)
        delta(t) = (t == 0)
        ramp(t) = (t > 0) ? t : 0
        min(a,b) = (a < b) ? a : b
        comb(n,k) = n!/(k!*(n-k)!)
        len3d(x,y,z) = sqrt(x*x+y*y+z*z)

Переменная pi определена ранее.

Смотри разделы show functions и show variables.


Ошибки

Функция bessel не работает с комплексными аргументами.

Функция gamma не работает с комплексными аргументами.

Есть ошибка в библиотеке stdio в старой версии операционной системы Sun (SunOS Sys4-3.2). Параметр "%g" функции 'printf' иногда неправильно печатает номера (т.е., 200000.0 как "2"). Таким образом, метки делений могут быть неправильными в версии GNUPLOT для Sun4. Решением проблемы является масштабирование значений или использование команды set format для изменения метки деления на "%7.0f" или другой подходящий формат. Планируется исправить ошибку в SunOS версии 4.0

Еще одна ошибка: На Sun3 в системе SunOS 4.0, и на Sun4 в системах Sys4-3.2 и SunOS 4.0, функция 'sscanf' неправильно обрабатывает "00 12" с форматом "%f %f" и читает значения 0 и 0 вместо 0 и 12. Эта ошибка затрагивает ввод данных. Если файл данных содержит координаты x, равные нулю, но заданные в виде "00", "000" и подобном этому, то будут прочитаны неправильные значения y. Необходимо либо проверять файлы данных, либо обновить версию SunOS. Ожидается исправление ошибки в SunOS версии 4.1.1

Microsoft C 5.1 содержит неприятную ошибку, связнную с форматом "%g" функции printf. При использовании любого из форматов "%.2g", "%.1g", "%.0g", "%.g" функция printf неправильно печатает числа в дапазоне от 10-4 до 10-1. Числа, которые должны быть напечатаны в формате "%e", печатаются в формате "%f", с неправильным количеством нулей после десятичной точки.

Для решения этой проблемы необходимо явно использовать квалификаторы "%e" или "%f".

GNUPLOT, компилированный с помощью Microsoft C, не работал на двух тестированных драйверах VGA. Драйверы CGA, EGA и VGA, по-видимому, должны быть переписаны с использованием родной графической библиотеки Microsoft C. GNUPLOT, компилированный с помощью Borland C++ использует графические драйверы Turbo C и правильно работает с адаптерами VGA.

Компилятор VAX/VMS 4.7 C версии 2.4 также содержит ошибку реализации в калификаторе %g функции printf. Числа печатаются математически правильные, но могут быть не в указанном формате. Второе издание K&R говорит, что для формата %g, используется формат %e, если экспонента меньше -4 или больше или равна степени точности числа. Система VAX использует формат %e, если экспонента меньше -1. VAX не обращает внимания на степень точности при выборе формата %e или %f для чисел меньше 1. Для решения этой проблемы нужно явно указывать формат %e или %f. Из описания VAX C 2.4: e,E,f,F,g,G результат всегда содержит десятичную точку. Для g и G, конечные нули не удаляются из результата.

Компилятор VAX/VMS 5.2 C версии 3.0 имеет немного лучшую реализацию формата %g, чем версия 2.4, но не намного. Конечные десятичные точки теперь удаляются, но конечные нули все еще сохраняются в числах формата %g в экспоненциальном формате.

ULTRIX X11R3 содержит ошибку, которая заставляет драйвер X11 показывать "любой другой" график. Ошибка исправлена в версии DEC драйвера X11R4, поэтому новые версии системы ULTRIX не должны содержать этой ошибки. Решения этой проблемы для старых версий включают обновление библиотек X11 (из DEC или прямо из MIT) или определении переменной ULTRIX_KLUDGE при компиляции файла x11.trm. Тем не менее, определение этой переменной не лучшее решение.

Константа HUGE неправильно определена в операционной системе NeXT OS 2.0. HUGE необходимо установить равной 1038 в файле plot.h. Эта ошибка исправлена в версии 2.1 системы NeXT OS.

Некоторые старые модели плоттеров HP не имеют команды выброса страницы 'PG'. Текущий драйвер HPGL использует эту команду в HPGL_reset. Может оказаться необходимым удалить ее для этих плоттеров. Текущая версия драйвера PCL5 использует HPGL/2 как для текста так и для графики. Это необходимо изменить для использования масштабируемых PCL шрифтов.

В версии для Atari невозможно послать выходную информацию прямо на принтер (используя /dev/lp как выходной файл), так как CRs добавляются к LFs в двоичном представлении выходного потока. Для решения нужно записать выходной поток в файл, и затем скопировать его на принтер, используя команду shell.

Сообщайте об ошибках по адресу bug-gnuplot@dartmouth.edu.

Copyright (C) 1986-1993 Thomas Williams, Colin Kelley
Перевод: Copyright (C) 2000 Sergei Kopylov.


[Index] [Об авторе] [Научная работа] [Подборка текстов] [Программирование] [Ссылки] [e-mail]
1