суббота, 7 июня 2014 г.

Gnuplot. Первый график

Как я уже говорил, в простейшем случае для построения графика достаточно задать функцию и ввести команду plot. Но все параметры при этом будут установлены "по умолчанию". Посмотрим, как можно из графика сделать именно то, что нужно вам.


Итак, у вас есть функция f(x), заданная в программе Gnuplot. Установить диапазон абсцисс можно выражением
plot [x1:x2] f(x)
тогда график будет построен на интервале от x1 до x2. Если вы хотите ограничить также и диапазон ординат, задайте команду
plot [x1:x2] [y1:y2] f(x)
Если же важен только диапазон значений функции, вам поможет выражение
plot [] [y1:y2] f(x)
Кстати, не обязательно указывать обе границы интервалов:
plot [x1:] [:y2] f(x)
Если график уже построен, а изменить диапазон переменных очень хочется, помогут команды set:
set xrange [x1:x2] - для абсцисс,
set yrange [y1:y2] - для ординат.
Чтобы увидеть изменения, обновите изображение кнопкой Replot (вторая слева в окне графика).

Если вы хотите построить в одной системе координат графики нескольких функций, например f(x) и g(x), просто перечислите их через запятую:
plot f(x), g(x)
Когда графиков несколько, становится актуальной "легенда", т.е. справка о том, где какая линия изображена. Она задаётся командой title:
plot f(x) title "curve1", g(x) title "curve2"
Может я что-то делаю не так, но команда 
set title "curve name"
применённая к уже построенному графику вызывает не переименование легенды, а установку названия всего рисунка. Отказаться от легенды можно командой notitle:
plot f(x) notitle

Подписать оси координат можно командами:
set xlabel "x name" - абсцисса,
set ylabel "y name"  - ордината.

Установка сетки по осям x и y:
set grid xtics ytics

Выбор типа линии графика осуществляется командой with (или w):
plot f(x) with lines  - использование линии. Также доступны следующие типы: dots - точки, points - крестики, labels - крестики для точечного графика, linespoints - линия с крестиками, steps - ступеньки, impulses - дельта-импульсы.
Цвет линии можно задать командой linestyle число, а толщину - linewidth число. В первом случае число обозначает цветовой индекс, во втором - толщину в pt.

Вот как это работает. Вводим последовательность команд:
    f(x) = x**2 - 2*x + 1                      # функция
    plot f(x) title "x^2-2x+1"            # команда на построение
    set xrange [-20:30]                      # диапазон по оси x
    set title "Giperbola"                     # наименование графика
    set xlabel "X"; set ylabel "Y"     # наименование осей координат
и получаем следующий график:
Назначение кнопок в окне изображения, слева направо:
  1 - скопировать изображение в буфер,
  2 - перестроить изображение,
  3 - добавить/удалить сетку,
  4 - вернуться к предыдущему масштабу,
  5 - следующее значение масштаба,
  6 - подобрать масштаб автоматически,
  7 - диалог настроек,
  8 - оно помощи, которая не помогает. 
С помощью мышки можно также менять масштаб, выделять область графика, перемещаться по рисунку и отмечать отдельные точки.

Если нужно сохранить график в файл, а не выводить на экран, используйте команду 
set terminal jpeg
В зависимости от назначения, вместо jpeg можно написать png, postscript eps, latex, либо windows или X11. При сохранении в файл очень желательно указать его имя:
set terminal jpeg
set output "graph1.jpg"
Естественно, при выводе в файл все настройки с командой set должны быть выполнены до вызова plot.

Комментариев нет:

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