Spec-Zone.ru › Octave 8

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 — четырёхэлементный вектор [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.

© 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/v8.1.0/Multiple-Plots-on-One-Page.html

Spec-Zone.ru

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