Среди программ таких можно отметить, например, asymptote, популярный gnuplot, metapost и другие. Достойное место в этом ряду занимает PyXPlot (её команды, кстати, во многом совпадают с командами gnuplot, так что изучив одну из этих программ, легко разобраться в другой). Отличительными особенностями программы являются простота и высокое качество результата. Ей и посвящен этот обзор.
Запуск программы
PyXPlot есть в дистрибутиве Ubuntu и Debian, так что установка должна пройти без проблем. В крайнем случае, всегда можно скачать программу с родного сайта.
Сразу нужно отметить, что PyXPlot — программа чисто консольная. Работать с ней можно как интерактивно, вводя команду за командой, так и в скриптовом режиме. В последнем случае команды записываются в отдельный файл, который затем «скармливается» PyXPlot.
Запускается PyXPlot как обычно:
pyxplot СКРИПТЫ
Если вместо списка файлов поставить дефис, то программа будет читать команды со стандартного ввода, что очень удобно при автоматизации. Например, так можно нарисовать синусоиду:
echo 'plot sin(x)' | pyxplot -

Простейшие операции
Главная команда для рисования графиков — plot. Она позволяет не только рисовать графики функции, но и строить «по точкам» графики данных, записанных в файл.
Чтобы построить данные из файла, нужно просто указать его имя в апострофах или двойных кавычках после команды plot. Данные в файле должны быть обычным текстом с одним или несколькими столбцами чисел, разделенных пробелами или запятыми. Если имя заканчивается на «.gz», он будет автоматически распакован перед построением.
plot 'data.gz'

По умолчанию результаты сохраняются в файл «pyxplot.eps».
Построения графика функции полностью аналогична. Нужно просто записать её после команды plot. В качестве аргумента нужно использовать x.
plot sin(x)/x

plot sin(x)/x, sin(x)

В теле файла с командами можно объявить переменные и пользовательские функции при помощи операции «=». Всё достаточно интуитивно:
a = 2
b = 3
plot sqrt(a*pow(x,2) + b)

f(x) = sqrt(x)*sin(x)
plot f(x)

При помощи команды set можно задать дополнительные параметры графика, такие как подписи осей (x label и ylabel) и заголовок графика (title). В подписях можно использовать формат формулы в формате TeX (их нужно обязательно заключить в знаки «$»). Использование TeX делает график намного симпатичнее и презентабельнее.
Пример:
set xlabel '$x$'
set ylabel '$y$'
set title 'Plot of $\sin(x)\over x$'
plot sin(x)/x

Пример:
set terminal png
set output 'plot.png'
plot cos(x)*exp(x)

Данные в файле можно использовать как независимые координаты при построении. Для этого нужно добавить парметр using к команде plot.
Например, команда
plot 'data.gz' using 1:2строит график, используя первый столбец как координату x точек, а второй — как координату y.
Стили графика
Стиль построения графика настраивается при помощи параметра with.
Команда
plot 'data.gz' with pointsстроит точечный график, а команда
plot 'data.gz' with linesсоединяет точки отрезками.
Можно также откладывать ошибку на графике (with yerrorbars), но для этого потребуется третий столбец.
Тип маркеров и линий также настраивается при помощи модификаторов pointtype и linetype. Подробности — в документации.
plot sin(x) with lines linetype 3

При построении можно указать размеры осей. Для этого нужно указать минимально и максимальное значения по каждой из осей в квадратных скобках через двоеточие. Если нужно указать параметры только для одной оси, то для другой просто записсывается «[:]» без чисел. Пример:
plot [-1:1][-1:1] sin(x)

Разумеется, возможности программы не исчерпываются только перечисленными командами. Утилита имеет ещё очень много разных возможностей: от аппроксимации данных из файла до построения графиков векторных полей.


Комментариев нет:
Отправить комментарий