15.2.4 Несколько графиков на одной странице
Octave может отображать несколько графиков на одном рисунке. Самый простой способ сделать это — использовать функцию subplot, чтобы разделить область построения графиков на несколько подокон, индексируемых целыми числами. Например,
subplot (2, 1, 1) fplot (@sin, [-10, 10]); subplot (2, 1, 2) fplot (@cos, [-10, 10]);
создаёт рисунок с двумя отдельными осями: на одних отображается синусоида, а на других — косинусоида. Первый вызов subplot делит рисунок на две области построения графиков (две строки и один столбец) и активирует первую область. Сетка областей построения графиков, созданная с помощью subplot, нумеруется в порядке строк (слева направо, сверху вниз). После построения синусоиды следующий вызов subplot активирует вторую область, но не переразбивает рисунок.
-
: subplot
(rows, cols, index) -
: subplot
(rows, cols, index, hax) -
: subplot
(rcn) -
: subplot
(hax) -
: subplot
(…, "align") -
: subplot
(…, "replace") -
: subplot
("position", pos) -
: subplot
(…, prop, val, …) -
:
hax =subplot(…) -
Настраивает сетку графиков с подокнами размером rows на cols и задаёт текущие оси для построения графика (
gca) в позиции, указанной параметром index.Если после аргументов (rows, cols, index) указан дескриптор осей hax, соответствующие оси преобразуются в подграфик.
Если задан только один числовой аргумент, он должен быть трёхзначным числом, задающим количество строк первой цифрой, количество столбцов второй цифрой и индекс графика третьей цифрой.
Индексы графиков назначаются построчно: сначала нумеруются все столбцы в строке, затем заполняется следующая строка.
Например, в графике с сеткой 2x3 индексы графиков будут расположены следующим образом:
+-----+-----+-----+ | 1 | 2 | 3 | +-----+-----+-----+ | 4 | 5 | 6 | +-----+-----+-----+
index также может быть вектором. В этом случае новые оси охватят указанные позиции сетки. Это показано в первой демонстрации:
demo ("subplot", 1)Индекс подграфика, который нужно активировать, также можно указать с помощью его дескриптора осей hax, возвращённого предыдущей командой
subplot.Если указан параметр
"align", рамки областей построения графиков в подокнах будут выровнены, но для делений осей или подписей может не остаться места.Если указан параметр
"replace", оси подграфика будут сброшены, а не просто переключены на запрошенный подграфик.Свойство
"position"можно использовать для точного позиционирования осей подграфика в текущем рисунке. Параметр pos — это вектор из 4 элементов [x, y, width, height], определяющий положение и размер осей. Значения в pos нормализованы в диапазоне [0,1].Все пары «свойство/значение» передаются непосредственно базовому объекту axes. Полный список свойств приведён в разделе Свойства осей.
Все ранее существовавшие оси, которые вновь созданные оси закрывают (полностью или частично), удаляются.
Если запрошен выходной параметр hax, subplot возвращает дескриптор осей подграфика. Это полезно для изменения свойств подграфика с помощью
set.В некоторых случаях
subplotможет не распознать оси, которые можно было бы использовать повторно, и заменить их. Если осиsubplotнужно использовать повторно, рассмотрите возможность предварительного создания и сохранения их дескрипторов вместо многократного вызоваsubplotдля одной и той же позиции.Пример:
x = 1:10; y = rand (16, 10); for i_plot = 1:4 hax(i_plot) = subplot (2, 2, i_plot); hold (hax(i_plot), "on"); grid (hax(i_plot), "on"); endfor for i_loop = 1:2 for i_plot = 1:4 iy = (i_loop - 1)*4 + i_plot; plotyy (hax(i_plot), x,y(iy,:), x,y(iy+1,:)); endfor endfor
© 1996–2026 The Octave Project Developers
Permission is granted to make and distribute verbatim copies of this manual provided the copyright notice and this permission notice are preserved on all copies.
Permission is granted to copy and distribute modified versions of this manual under the conditions for verbatim copying, provided that the entire resulting derived work is distributed under the terms of a permission notice identical to this one.Permission is granted to copy and distribute translations of this manual into another language, under the above conditions for modified versions.
https://docs.octave.org/v9.4.0/Multiple-Plots-on-One-Page.html