Spec-Zone.ru › Octave 6

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 (строки, столбцы, индекс)
: subplot (строки, столбцы, индекс, дескриптор_осей)
: subplot (rcn)
: subplot (дескриптор_осей)
: subplot (…, "выравнивание")
: subplot (…, "замена")
: subplot ("позиция", позиция)
: subplot (…, свойство, значение, …)
: дескриптор_осей = subplot (…)

Создает сетку графика с строки на столбцы подграфиков и устанавливает текущие оси для построения (gca) в местоположение, заданное индексом.

Если после аргументов (строки, столбцы, индекс) указан дескриптор осей дескриптор_осей, соответствующие оси преобразуются в подграфик.

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

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

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

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

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

demo ("subplot", 1)

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

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

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

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

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

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

Если требуется выходной параметр дескриптор_осей, 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–2022 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/v6.4.0/Multiple-Plots-on-One-Page.html

Spec-Zone.ru

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