GNUPLOT

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

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

Введение в Gnuplot --- Основы

С того момента как gnuplot был портирован на различные операционные системы, его использование стало немного зависеть от платформы. Здесь мы рассматриваем введение в gnuplot для UNIX, X11. Но также данное пособие может быть использовано при работе с различными ОС.

Для начала о внешнем виде. Gnuplot отображает общую информацию о программе: годы разработки, авторские права и т.д. После показывается строка "gnuplot> ". В ней вы можете написать какую-либо команду, и Gnuplot выполнит её.

% gnuplot
 
        G N U P L O T
        Version 4.0 patchlevel 0
        last modified Thu Apr 15 14:44:22 CEST 2004
        System: Linux 2.4.23
 
        Copyright (C) 1986 - 1993, 1998, 2004
        Thomas Williams, Colin Kelley and many others
 
        This is gnuplot version 4.0.  Please refer to the documentation
        for command syntax changes.  The old syntax will be accepted
        throughout the 4.0 series, but all save files use the new syntax.
 
        Type `help` to access the on-line reference manual.
        The gnuplot FAQ is available from
                http://www.gnuplot.info/faq/
 
        Send comments and requests for help to
                <gnuplot-info@lists.sourceforge.net>
        Send bugs, suggestions and mods to
                <gnuplot-bugs@lists.sourceforge.net>
 
 
Terminal type set to 'x11'
gnuplot> 

В строке "gnuplot> " вы можете использовать следующие команды:

Фактически существует ещё много разных команд, которые не могут быть отнесенены к категориям выше, так как трудно охватить сразу все области применения. Можно воспользоваться online-справкой gnuplot с помощью команды help . Здесь будут рассмотрены простейшие пути построения графиков с помощью gnuplot.

up

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

Команды exit или quit закроют gnuplot. При выходе из gnuplot, все настройки сбрасываются. Чтобы сохранить текущие настройки используйте команду save, сопровождаемую именем файла, в который будут сохранены параметры и функции, который вы определили, сохранены. Имя файла задаётся произвольно, но если то же самое имя существует в текущем каталоге, gnuplot переписывает внутренние параметры в том файле без предупреждений.

gnuplot> save "savefile.plt"

Сохранённый файл - это обычный текстовый файл. Вы можете редактировать его содержание с помощью текстового редактора. Чтобы снова простроить график, используя данный файл, используйте команду load "savefile.plt" в строке команд gnuplot или запустите gnuplot и напишите имя файла данных как параметр командной строки.

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

gnuplot> load "savefile.plt"

Оболочка gnuplot

 % gnuplot savefile.plt

Различие этих двух методов: после выполнения команды load, вы возвращаетесь обратно к командной строке gnuplot> после того, как gnuplot прочитает файл. Если вы задали имя файла как параметр командной строки (2ой метод), gnuplot прочитает файл, и вы вернётесь обратно в оболочку. Последний режим называется пакетным.

up

Команды для построения графиков

Существует две основные команды для построения графиков plot и splot. Первый используется для построения 2-мерного графика, а второй для 3x-мерного. Gnuplot строит графики любых функций, по числовым данным, хранящихся в файле. Чтобы построить график функции, используйте команду plot/splot с диапазоном Оси X (или X и Y для 3х-мерного) и функцию. Вы можете опустить параметры диапазона. Вот пример графика y=sin (x), который часто встречается во многих ресурсах по gnuplot.

gnuplot> plot sin(x)
basic1

Это 2-мерный график. Рамка, которая нарисована толстой линией называется "границей". У осей X и Y есть деления и цифровые подписи (значения), которые написаны точно под ними Расстояния между главными делениями могут быть поделены второстепенными. Вы можете подписать названия оси X или(и) Y. Название оси X "xlabel" показывают ниже границы оси X, в то время как положение "ylabel" зависит от Вашего терминала вывода. Если ваш терминал может перевернуть буквы, то название("ylabel") оси будет повёрнуто на 90 градусов и отобразится с левой стороны от оси Y, в противном случае оно будет отображено на вершине оси Y.

Если диапазоны оси X и Y не определены, gnuplot определяет соответствующие значения для них автоматически. В примере выше не указан диапозон оси X, который определяется от -10 до +10, и диапазон оси Y также был определен автоматически. Чтобы установить диапозон оси X от 0 до 5, нужно указать [0:5].

gnuplot> plot [0:5] sin(x)
basic2
up

Команды для изменения переменных и параметров

Существует много параметров, которые отвечают за внешний вид вашего графика. Вы можете изменять их с помощью команды set.

gnuplot> help set
 The `set` command can be used to sets _lots_ of options.  No screen is
 drawn, however, until a `plot`, `splot`, or `replot` command is given.

 The `show` command shows their settings;  `show all` shows all the
 settings.

 If a variable contains time/date data, `show` will display it according to
 the format currently defined by `set timefmt`, even if that was not in effect
 when the variable was initially defined.

Subtopics available for set:
      angles         arrow          autoscale      bar
      bmargin        border         boxwidth       clabel
      clip           cntrparam      contour        data
      dgrid3d        dummy          encoding       format
.....
      zero           zeroaxis       zlabel         zmtics
      zrange         ztics

Вот несколько примеров, чтобы изменить параметры. Во-первых, написать какой-либо текст для xlabel и ylabel. Текст должен быть в кавычках одинарных или двойных. Далее, определите диапозон осей X и Y. Это можно сделать через изменение параметров "xrange" и "yrange", указан их как показано ниже:

gnuplot> set xlabel "X-AXIS"
gnuplot> set ylabel "Y-AXIS"
gnuplot> set xrange [0:5]
gnuplot> set yrange [-2:2]
gnuplot> plot sin(x)
basic3

Если терминал не задан, то gnuplot покажет график в отдельном окошке. Команда set terminal поможет изменить терминал, например, на postscript или jpeg и т.д. Gnuplot строит множество графиков, различными способами, поэтому и не зависит от платформы (но качество графика все еще зависит терминала). Терминал, которые ваш gnuplot может обрабатывать могут быть показаны командой set terminal.

gnuplot> set terminal

Available terminal types:
          unknown  Unknown terminal type - not a plotting device
            table  Dump ASCII table of X Y [Z] values to output
            linux  Linux PC with (s)vgalib
             ....
             tpic  TPIC -- LaTeX picture environment with tpic \specials
         pstricks  LaTeX picture environment with PSTricks macros
          texdraw  LaTeX texdraw environment
               mf  Metafont plotting standard

gnuplot> set terminal postscript
Terminal type set to 'postscript'
Options are 'landscape noenhanced monochrome dashed defaultplex "Helvetica" 14'

Gnuplot построит графика в формате Postscript, где применена команда set terminal postscript. Если название файла и расширение в который вы хотите сохранить полученный график не указаны, то график будет выведен на экран. Команда set output позволяет изменить название файла и расширение в который вы хотите сохранить полученный график.

gnuplot> set output "plot.ps"
gnuplot> plot sin(x)
up

Команды для перехода в оболочку

Вы можете вернуться в интерактивный режим, в котором могут использоваться любые команды, используемые в оболочке. Чтобы создать оболочку используйте команду shell. Чтобы вернуться обратно в gnuplot напишите exit. Единичные комады оболочки могут быть выполнены с символом "!" в начале, как например: ! ls -a.

Gnuplot поддерживате 'pwd' и 'cd' команды, с помощью которых вы можете отобразить рабочую директорию или сменить директорию. Рабочей директорией называется в аша текущая директория, из которой был запущен gnuplot. Чтобы сменить директорию используйте: cd "../other/dir" . Кавычки обязательны.

up

Команды для присвоения, определения функции, вычислений

Вы можете использовать gnuplot как простой калькулятор. Чтобы присвоить значение в какую-то переменную наберите: "перменная = значение" в строке gnuplot. Чтобы увидеть значение, содержащееся в переменной, используйте команду print .

gnuplot> a=10
gnuplot> print a
10

"Переменная = выражение": присвоение значение выражения в переменную .

gnuplot> a=1+2*sqrt(3)
gnuplot> print log(a)
1.49606798806764

Опеределяемая пользователем переменная может использоваться для команд plot . Gnuplot содержит округлённое значение числа Пи в "pi". Чтобы построить график a*sin(x) от -2Пи до +2Пи, гдe a=0.5, нужно дать следующие команды:

gnuplot> set xrange [-2*pi:2*pi]
gnuplot> a=0.5
gnuplot> plot a*sin(x)
basic4

Вы можете определить свою фукнцию. Например, функция f(x)=sin(x)*cos(x) определяется следующим образом:

gnuplot> f(x)=sin(x)*cos(x)

Функция, опредённая пользователем выше, может упоминаться как "f (x)". Вы также можете использовать параметры\переменные в своих функциях.

gnuplot> f(x)=a*sin(x)*cos(x)

Эта функция содержит параметр "a", который определён пользователем и функция зависит от этого параметра.

up