Журнал LinuxFormat - перейти на главную

LXF71:Gnuplot

Материал из Linuxformat
Перейти к: навигация, поиск

Содержание

Построение графиков в GNUPLOT

Gnuplot — это мощный инструмент для построения диаграмм, который доступен на множестве платформ. Программа активно используется научным сообществом. Например, климатические карты NASA создаются именно в ней.


Где взять Gnuplot?

Пакет Gnuplot входит в большинство современных дистрибутивов Linux. При желании вы можете загрузить с сайта http://www.Gnuplot.info последнюю версию программы в исходных текстах. Процедура установки стандартная:

  1. tar zxvf Gnuplot-номер_версии.tar.gz (архив будет распакован в папку Gnuplot-номер_версии)
  2. cd Gnuplot-номер_версии
  3. ./configure
  4. make
  5. sudo make install (на данном шаге вам потребуются права root)

Данная последовательность команд создаст двоичные файлы Gnuplot (Gnuplot и Gnuplot_X11) в каталоге /usr/local/bin. После этого вы можете запускать программу просто введя в командной строке «Gnuplot».

режимы работы

Gnuplot может работать в двух режимах: интерактивном и командном. В интерактивном вы вводите команды для создания или редактирования диаграмм в ответ на приглашение Gnuplot> (далее мы будем называть его «командной строкой»). командный режим прекрасно подойдет тем, кто часто использует одну и ту же последовательность команд для построения какой-либо диаграммы. Эта последовательность может быть записана в текстовый файл, а затем, при необходимости, считана оттуда и передана на исполнение.

помощь в Gnuplot

После запуска команды Gnuplot в командной строке вы увидите приглашение программы «Gnuplot>». Для получения помощи достаточно ввести команду help. На экран будет выведена общая информация, а затем вам будет предложено выбрать интересующий вас раздел справки.

Чтобы посмотреть информацию по конкретной команде, достаточно ввести в командной строке «help <имя_команды>».

Как строить диаграммы

команда plot — это основная команда, используемая для построения диаграмм в Gnuplot.

Ее синтаксис таков:

plot {<диапазон>}
{<функция> | {"<файл_данных>" {модификаторы_файла_данных}}}
{axes <оси_диаграммы>}
{<Заголовок>} {with <стиль>} {,
{определения,} <функция> ...}

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

  • «Диапазон» позволяет задавать границы значений для осей X и Y.
  • «Модификаторы_файла_данных» применяются для изменения значений из файла перед их отображением.
  • «Стиль» определяет метод построения диаграммы и представляет собой большой список различных опций.

Примеры вызова команды plot:

plot <имя_файла>

отобразит диаграмму с данными из файла «имя_файла»

plot <имя_файла> using 3:5

отобразит диаграмму с данными из файла «имя_файла», расположенными в третьей и пятой колонках значений.

Вы можете строить диаграммы с самыми различными стилями: boxerrorbars, candlesticks, dots, financebars, fsteps, histeps, impulses, lines, linespoints, points, steps, vector, xerrorbars, xyerrorbars и yerrorbars.

(thumbnail)
рис. 1 построение простой синусоиды

Вид и цвет линий и точек изменяется параметрами стиля. Простой пример построения: plot sin(x) построит простую синусоиду как показано на рис. 1.

(thumbnail)
рис. 2 синусоида с заданным диапазоном

Для улучшения внешнего вида, вы можете задать диапазон диаграммы, приведя команду к виду plot [-pi:pi] sin(x), тогда синусоида будет выглядеть так, как показано на рис. 2.

(thumbnail)
рис. 3 синусоида с настроенным отображением

также Gnuplot позволяет вам указывать заголовок диаграммы, размещать подписи на осях, отображать сетку и многое другое. Для демонстрации введите нижеприведенные команды в командную строку:

set title "Sine [-Pi..Pi]"
set xlabel "Angle\ndegrees"
set xrange [-pi:pi]
set ylabel "sin(angle)"
set grid
plot sin(x) w 1 1

результат показан на рисунке 3.

Все введенные вами команды могут быть сохранены для повторного использования. Для этого в командной строке необходимо выполнить команду save <имя_файла>. В файл «имя_файла» будет помещена служебная информация Gnuplot, а также введенные вами команды. Для повторного использования достаточно выполнить команду load <имя_файла>. Сохраненные в файл команды также могут быть запущены на исполнение сразу при запуске Gnuplot из консоли: Gnuplot <имя_файла_с_командами>.

команда set grid служит для добавления к диаграмме привязочной сетки, а для того, чтобы скрыть сетку, используется команда unset grid. команда unset также можеть быть использована с другими параметрами (например, для того, чтобы скрыть заголовок диаграммы, используется unset title). ранее, вместо команды unset <параметр> использовалась команда set no <параметр>

Gnuplot поддерживает большое количество разных графических устройств. Эти устройства в терминологии Unix называются терминалами. терминал может являться экраном, принтером или графическим файлом, в зависимости от того, где вы хотите сохранить свои диаграммы. Для вывода на терминал вы можете использовать следующие команды:

set terminal <тип терминала> <опции>
set out <имя_файла> #Если вы хотите сохранить результат в файле

Например, для сохранения вашей диаграммы (рисунок 2) в файле sine.png, перед командами построения вам следует ввести следующие команды:

set terminal png small
set out "sine.png"

основные терминалы перечислены ниже:

  • «dxf» — формат AutoCAD
  • «epslatex» — диаграммы EPS (Encapsulated PostScript), встраиваются в документы LaTeX
  • «png» — файл PNG, лицензионно чистый формат, призванный заменить GIF.
  • «svg» — файл Scalable Vector Graphics
  • «table» — текстовый файл с таблицей значений
  • «X11» — вывод на экран

несколько графиков на одной диаграмме

(thumbnail)
рис. 4 пример использования команды multiplot

Для построения нескольких диаграмм с одинаковыми параметрами вы можете использовать команду replot. Для построения нескольких графиков на одной диаграмме — multiplot. Приведенный ниже пример покажет, как использовать эти команды:

set xrange [-pi:pi]
set title "Cosine [-Pi..Pi]"
set xlabel "Angle \n degrees"
set ylabel "cos(x)"
set origin 0,0
set size 1,1
set multiplot
set origin 0,0
set size 1,1
plot cos(x) w lines 1
replot sin(x) w lines 3
set origin 0.1, 0.6
set size 0.3, 0.3
set title "cos(x)/x"
unset grid
unset xtics
unset ytics
plot cos(x) / x
unset multiplot

командами set origin и set size устанавливается смещение верхнего левого угла и размер области в десятых долях от параметров основного окна для общей области главной и добавочной диаграмм. Для добавления графиков на одну диаграмму вам необходимо производить их построение между командами set multiplot и unset multiplot. команда replot выводит график в область предыдущего графика.

построение трехмерных графиков

(thumbnail)
рис. 5 построение трехмерных графиков

Gnuplot также позволяет вам строить трехмерные графики.

Вот простой пример:

set xlabel "x"
set ylabel "y"
set key top
set border 4095
set xrange [-15:15]
set yrange [-15:15]
set zrange [-0.25:1]
set pm3d
set palette
splot sin(sqrt(x**2+y**2))/sqrt(x**2+y**2)

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

Заключение

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

Персональные инструменты
купить
подписаться
Яндекс.Метрика