- Подписка на печатную версию:
- Подписка на электронную версию:
- Подшивки старых номеров журнала (печатные версии)
LXF71:Gnuplot
Материал из Linuxformat.
Содержание |
Построение графиков в GNUPLOT
Gnuplot — это мощный инструмент для построения диаграмм, который доступен на множестве платформ. Программа активно используется научным сообществом. Например, климатические карты NASA создаются именно в ней.
«GNU/Linux – самая подходящая ОС для образовательных учреждений», – считает Владимир Давыдов. она свободно wраспространяется, поддерживает передовые стандарты, для нее написано огромное количество обучающих и научных программ, доступны все необходимые средства для оформления результата работы (графические, текстовые редакторы, редакторы формул). В данной статье описано одно из таких средств – система построения диаграмм Gnuplot..
Где взять Gnuplot?
Пакет Gnuplot входит в большинство современных дистрибутивов Linux. При желании вы можете загрузить с сайта http://www.Gnuplot.info последнюю версию программы в исходных текстах. Процедура установки стандартная:
- tar zxvf Gnuplot-номер_версии.tar.gz (архив будет распакован в папку Gnuplot-номер_версии)
- cd Gnuplot-номер_версии
- ./configure
- make
- 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.
Вид и цвет линий и точек изменяется параметрами стиля. Простой пример построения: plot sin(x) построит простую синусоиду как показано на рис. 1.
Для улучшения внешнего вида, вы можете задать диапазон диаграммы, приведя команду к виду plot [-pi:pi] sin(x), тогда синусоида будет выглядеть так, как показано на рис. 2.
также 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» — вывод на экран
несколько графиков на одной диаграмме
Для построения нескольких диаграмм с одинаковыми параметрами вы можете использовать команду 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 выводит график в область предыдущего графика.
построение трехмерных графиков
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.