Spec-Zone.ru › Octave 9

Next: Окна с несколькими графиками, Previous: Аннотации графиков, Up: Высокоуровневое построение графиков [Содержание][Индекс]

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, соответствующая ось преобразуется в подграфик.

Если указан только один числовой аргумент, то он должен быть трехзначным значением, задающим количество строк (цифра 1), количество столбцов (цифра 2) и индекс графика (цифра 3).

Индекс графика пронумерован построчно; сначала пронумерованы все столбцы в строке, а затем заполняется следующая строка.

Например, для графика с сеткой 2x3 индексы графиков будут такими:

+-----+-----+-----+
|  1  |  2  |  3  |
+-----+-----+-----+
|  4  |  5  |  6  |
+-----+-----+-----+

index также может быть вектором. В этом случае новые оси будут охватывать указанные позиции в сетке. Первый пример демонстрирует это:

demo ("subplot", 1)

Индекс подграфика для активации также может быть задан с помощью дескриптора оси hax, полученного ранее по команде subplot.

Если задан параметр "align", то рамки подграфиков будут выровнены, но это может не оставить места для меток осей или подписей.

Если задан параметр "replace", то оси подграфиков будут сброшены, а не только переключена текущая ось для построения на запрошенный подграфик.

Свойство "position" можно использовать для точного позиционирования осей подграфика внутри текущей фигуры. Параметр pos — это вектор из 4 элементов [x, y, ширина, высота], определяющий расположение и размер осей. Значения в pos нормированы в диапазоне [0,1].

Любые пары свойство/значение передаются непосредственно базовому объекту оси. Полный список свойств описан в Свойствах осей.

Любые ранее существовавшие оси, которые будут (частично) наложены новыми осями, удаляются.

Если запрашивается вывод 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

См. также: axes, plot, gca, set.

Next: Окна с несколькими графиками, Previous: Аннотации графиков, Up: Высокоуровневое построение графиков [Содержание][Индекс]

© 1996–2023 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.2.0/Multiple-Plots-on-One-Page.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API