Библиотека сайта rus-linux.net
Gnuplot - предок утилит для построения графиков
Оригинал: Gnuplot-the Grandfather of Graphing UtilitiesАвтор: Joey Bernard
Дата публикации: 18 Февраля 2013 г.
Перевод: А.Панин
Дата перевода: 3 Марта 2013 г.
В своей колонке я рассмотрел некоторые пакеты для проведения научных расчетов в различных областях исследований. Также я не обошел вниманием различные пакеты для графического представления результатов этих расчетов. Но до этого времени я все еще не рассматривал gnuplot (http://www.gnuplot.org). Программа gnuplot известна с середины 1980-х годов и, таким образом, является одной из старейших программ для построения графиков. Ввиду долгого существования, программа была портирована на большинство используемых операционных систем. В данной статье я рассмотрю основные характеристики программы gnuplot и опишу различные способы ее использования.
Gnuplot является программой с интерфейсом командной строки. Благодаря этой особенности данная программа используется для построения графиков совместно с некоторыми другими приложениями, такими, как octave. Следовательно, вы могли использовать gnuplot, даже не подозревая об этом. Вы можете использовать gnuplot несколькими способами. Программа может не только принимать данные для построения графика, но и строить графики для заданных функций. Gnuplot может осуществлять вывод как на экран (выводя статический или интерактивный график), так и в файл одного из множества поддерживаемых форматов. Дополнительно существует множество функций для настройки отображения графиков, изменения обозначений графиков и осей координат, а также изменения других параметров.
Давайте начнем работу с установки gnuplot. Бинарные пакеты существуют для множества различных операционных систем. Большинство дистрибутивов Linux также должны предоставлять возможность использования пакета gnuplot, поэтому установка не будет вызывать затруднений. Если же вам необходимы функции из новейших версий программы, вы всегда можете скачать исходные коды и самостоятельно произвести сборку gnuplot.
Как только пакет gnuplot установлен, вы можете начать работу с ним, выполнив команду gnuplot
. При вызове программы таким способом, для ввода команд будет запущена интерактивная сессия. Давайте начнем работу с попытки построения графика для простейшей функции. У вас должна быть возможность построения графиков для всех функций, используемых при работе с языками программирования C, FORTRAN и BASIC. Эти математические выражения могут формироваться с использованием таких встроенных функций, как abs(x)
, cos(x)
или Bessel
. При работе с этими функциями вы можете использовать целые, действительные и комплексные типы аргументов.
gnuplot сценарий_для_выполнения
quit
. Двумя основными командами являются plot
и splot
. Команда plot
позволяет строить двухмерные графики, а splot
- трехмерные. Для построения графика простой функции вы можете использовать команду:
plot sin(x)/x
plot sin(x)/x title "Example 1"
Рисунок 1: При использовании команд для построения графиков открываются окна с выводом результатов
Рисунок 2: Простой график для функции sin(x)/x
plot sin(x)/x title "Example 1", sin(x) title "Example 2"
Рисунок 3: Вы можете построить графики нескольких функций в одной системе координат
splot
так, как показано ниже:
splot x**2+y**2
Рисунок 4: Gnuplot может работать даже с трехмерными графиками
plot
, выполните следующую команду:
help plot
В результате будет выведена страница из документации gnuplot, относящаяся к команде plot
.
plot "weather.dat" using 1:2 title "Temperature"
plot "weather.dat" using 1:3 title "Pressure"
splot "weather.dat"
Существуют два метода изменения представления графиков, создаваемых gnuplot. Первый метод заключается в использовании дополнительных аргументов команд plot
и splot
. В этом случае вы можете задавать значения таких параметров, как заголовок графика, обозначение осей или стиль графика. Доступными стилями графиков являются: линии (lines), точки (points), линии с точками (linespoints), импульсы (impulses), штрихи (dots), шаги (steps, fsteps, histeps), значения отклонений (errorbars, xerrorbars, yerrorbars, xyerrorbars). Для работы с одним из стилей вы можете добавить параметр, используя ключевое слово with
. Таким образом, если вы хотите отобразить на графике и линии и точки, вы должны добавить выражение with linespoints
к вашей команде plot
. Вы также можете использовать краткую запись этих параметров. Вместо with
может использоваться w
. Вместо параметра title
может использоваться t
. Вместо приведенного выше параметра using
вы также можете использовать u
.
set
. С помощью этой команды вы можете устанавливать значения некоторых параметров графиков. Используя второй метод, вы можете изменять значения параметров всех типов, таких, как title, xlabel, yrange, xtics или key, а также многих других. Например, вы можете установить диапазон значений по оси у с помощью команды:
set yrange [20:500]
replot
set
, также используют форму краткой записи. Например, краткая запись приведенной выше команды будет выглядеть следующим образом:
set yr [20:500]
fit
. Пример будет выглядеть следующим образом:
f1=a1*tanh(x/b1) a1=300; b1=0.005; fit f1(x) 'data_file.dat' using 1:2 via a1,b1
Данные команды позволяют осуществить с помощью gnuplot подбор кривых для данных из столбцов 1 и 2 файла data_file.dat с использованием функции, заданной с помощью выражения f1(x)
.
Когда программное окружение для проведения исследований в определенной области подготовлено, вы можете сохранить все сделанные вами настройки с помощью команды save
. Данная команда на самом деле сохраняет все использованные вами команды gnuplot в текстовый файл. Данный текстовый файл может быть загружен после открытия новой сессии gnuplot с помощью команды load
. Она позволяет получить из файла все сохраненные команды и выполнить их в рамках новой сессии.
Вы всегда можете увидеть список установленных вами параметров, использовав команду show
. Эта команда выводит значения параметров, установленные в ходе текущей сессии. Для вывода списка всех параметров следует использовать команду show all
. Иногда после изменения параметров программа начинает работать не так, как вы ожидаете. Следует помнить о том, что вы всегда можете установить значение по умолчанию для любого параметра, значение которого было изменено с помощью команды set
, просто использовав команду reset
. Эта команда изменяет значения параметров на их значения по умолчанию в рамках сессии.
Иногда вам может возникнуть необходимость взаимодействия с системой, в которой работает gnuplot. В этих случаях вам придется открывать сессию командной оболочки из gnuplot. Существует два способа выполнения этой задачи. Первый способ заключается в использовании команды system
. В этом случае вы можете передать строку, содержащую системные команды для их выполнения вне gnuplot. Второй способ заключается в использовании команды !
. На самом деле эта команда является всего лишь краткой формой записи команды system
и эти команды являются взаимозаменяемыми.
В данной статье освещены только основные функции, предоставляемые программой gnuplot. Наверняка вам потребуется дополнительное время на более глубокое изучение документации с целью получения информации о дополнительных возможностях анализа ваших данных. Даже в том случае, если вы непосредственно не используете gnuplot, дополнительная информация о данной программе поможет вам в работе с такими приложениями, как octave. Рассматривайте эту статью как отправную точку в исследовании возможных способов анализа данных.