15.2.1 Двумерные графики
Функция plot позволяет создавать простые графики x-y с линейными осями. Например,
x = -10:0.1:10;
plot (x, sin (x));
xlabel ("x");
ylabel ("sin (x)");
title ("Simple 2-D Plot"); отображает синусоидальную волну, показанную на рисунке 15.1. В большинстве систем эта команда откроет отдельное окно графика для отображения графика.
Рисунок 15.1: Простой двумерный график.
-
: plot
(y) -
: plot
(x, y) -
: plot
(x, y, fmt) -
: plot
(…, property, value, …) -
: plot
(x1, y1, …, xn, yn) -
: plot
(hax, …) -
:
h =plot(…) -
Создает двумерные графики.
Возможны различные сочетания аргументов. Простейшая форма:
plot (y)
где аргумент считается набором координат y, а координатами x считается диапазон
1:numel (y).Если задано несколько аргументов, они интерпретируются как
plot (y, property, value, ...)
или
plot (x, y, property, value, ...)
или
plot (x, y, fmt, ...)
и так далее. Можно указать любое количество наборов аргументов. Значения x и y интерпретируются следующим образом:
- Если задан один аргумент данных, он считается набором координат y, а координатами x считаются индексы элементов, начиная с 1.
- Если x и y являются скалярами, отображается одна точка.
-
К аргументам с более чем двумя измерениями, но не более чем с двумя измерениями, равными единице, применяется
squeeze(). - Если x или y является скаляром, а другой аргумент — вектором, отображается последовательность точек с координатами, заданными скаляром и каждым элементом вектора.
- Если оба аргумента являются векторами, элементы y отображаются в зависимости от элементов x.
- Если x — вектор, а y — матрица, столбцы (или строки) y отображаются в зависимости от x (используется подходящее сочетание; сначала проверяются столбцы).
- Если x — матрица, а y — вектор, y отображается в зависимости от столбцов (или строк) x (используется подходящее сочетание; сначала проверяются столбцы).
- Если оба аргумента являются матрицами, столбцы y отображаются в зависимости от столбцов x. В этом случае обе матрицы должны иметь одинаковое количество строк и столбцов; попытки транспонировать аргументы, чтобы уравнять количество строк, не предпринимаются.
Можно задать несколько пар «свойство-значение», однако они должны указываться попарно. Эти аргументы применяются к объектам линий, созданным
plot. Полезные свойства для изменения:"linestyle","linewidth","color","marker","markersize","markeredgecolor","markerfacecolor". Полный список свойств приведен в разделе Свойства линий.Аргумент формата fmt также можно использовать для управления стилем графика. Это строка, состоящая из четырех необязательных частей: "<стиль_линии><маркер><цвет><;отображаемое_имя;>". Если задан маркер, но не задан стиль линии, отображаются только маркеры. Аналогично, если задан стиль линии, но не задан маркер, отображаются только линии. Если заданы оба параметра, отображаются и линии, и маркеры. Если не указаны fmt и пары property/value, по умолчанию используются сплошные линии без маркеров, а цвет определяется свойством
"colororder"текущих осей.Аргументы формата:
- стиль линии
-
‘-’ Использовать сплошные линии (по умолчанию). ‘--’ Использовать пунктирные линии. ‘:’ Использовать точечные линии. ‘-.’ Использовать штрихпунктирные линии. - маркер
-
‘+’ перекрестие ‘o’ круг ‘*’ звезда ‘.’ точка ‘x’ крест ‘|’ вертикальная линия ‘_’ горизонтальная линия ‘s’ квадрат ‘d’ ромб ‘^’ треугольник вершиной вверх ‘v’ треугольник вершиной вниз ‘>’ треугольник вершиной вправо ‘<’ треугольник вершиной влево ‘p’ пентаграмма ‘h’ гексаграмма - цвет
-
‘k’, "black"черный ‘r’, "red"красный ‘g’, "green"зеленый ‘b’, "blue"синий ‘y’, "yellow"желтый ‘m’, "magenta"пурпурный ‘c’, "cyan"голубой ‘w’, "white"белый ";displayname;"-
Текст между точками с запятой используется для задания свойства
"displayname", которое определяет метку, отображаемую в легенде графика.
Аргумент fmt также можно использовать для присвоения меток элементов легенды. Для этого включите нужную метку между точками с запятой после описанной выше последовательности форматирования, например
"+b;Data Series 3;". Обратите внимание, что последняя точка с запятой обязательна; если ее не указать, Octave выдаст ошибку.Примеры графиков:
plot (x, y, "or", x, y2, x, y3, "m", x, y4, "+")
Эта команда построит график
yс красными кругами,y2сплошными линиями,y3сплошными пурпурными линиями иy4с точками, отображаемыми символом ‘+’.plot (b, "*", "markersize", 10)
Эта команда построит график данных из переменной
b; точки будут отображаться символом ‘*’, а размер маркера будет равен 10.t = 0:0.1:6.3; plot (t, cos(t), "-;cos(t);", t, sin(t), "-b;sin(t);");
Эта команда построит графики функций косинуса и синуса и соответствующим образом обозначит их в легенде.
Если первый аргумент hax является дескриптором осей, график будет построен в этих осях, а не в текущих осях, возвращаемых
gca.Необязательное возвращаемое значение h — это вектор дескрипторов графических объектов созданных линий.
Чтобы сохранить график в одном из форматов изображений, например PostScript или PNG, используйте команду
print.См. также: axis, box, grid, hold, legend, title, xlabel, ylabel, xlim, ylim, ezplot, errorbar, fplot, line, plot3, polar, loglog, semilogx, semilogy, subplot.
Функция plotyy может использоваться для создания графика с двумя независимыми осями y.
-
: plotyy
(x1, y1, x2, y2) -
: plotyy
(…, fcn) -
: plotyy
(…, fun1, fun2) -
: plotyy
(hax, …) -
:
[ax, h1, h2] =plotyy(…) -
Строит графики двух наборов данных с независимыми осями y и общей осью x.
Аргументы x1 и y1 задают параметры первого графика, а x1 и y2 — второго.
По умолчанию аргументы вычисляются с помощью
feval (@plot, x, y). Однако тип графика можно изменить аргументом fcn; в этом случае графики строятся с помощьюfeval (fcn, x, y). Аргумент fcn может быть дескриптором функции, встроенной функцией или строкой с именем функции.Функцию для каждого из графиков можно задать независимо с помощью fun1 и fun2.
Первый аргумент hax может быть дескриптором осей, в которых следует построить график данных x1 и y1. Он также может быть двухэлементным вектором дескрипторов основной и дополнительной осей (см. выходное значение ax).
Возвращаемое значение ax — это вектор дескрипторов двух осей y. h1 и h2 — дескрипторы объектов, созданных командами построения графика.
x = 0:0.1:2*pi; y1 = sin (x); y2 = exp (x - 1); ax = plotyy (x, y1, x - 1, y2, @plot, @semilogy); xlabel ("X"); ylabel (ax(1), "Axis 1"); ylabel (ax(2), "Axis 2");При использовании
plotyyвместе сsubplotсначала вызовитеsubplotи передайте полученный дескриптор осей функцииplotyy. Не вызывайтеsubplotс любым из дескрипторов осей, возвращенныхplotyy, иначе остальные оси будут удалены.
Функции semilogx, semilogy и loglog аналогичны функции plot, но создают графики, на которых одна или обе оси используют логарифмический масштаб.
-
: semilogx
(y) -
: semilogx
(x, y) -
: semilogx
(x, y, property, value, …) -
: semilogx
(x, y, fmt) -
: semilogx
(hax, …) -
:
h =semilogx(…) -
Построить двумерный график с логарифмической шкалой по оси x.
Описание аргументов, принимаемых
semilogx, см. в документацииplot.Если первый аргумент hax является дескриптором осей, график строится в этих осях, а не в текущих осях, возвращаемых
gca.Необязательное возвращаемое значение h — это графический дескриптор созданного графика.
-
: semilogy
(y) -
: semilogy
(x, y) -
: semilogy
(x, y, property, value, …) -
: semilogy
(x, y, fmt) -
: semilogy
(h, …) -
:
h =semilogy(…) -
Построить двумерный график с логарифмической шкалой по оси y.
Описание аргументов, принимаемых
semilogy, см. в документацииplot.Если первый аргумент hax является дескриптором осей, график строится в этих осях, а не в текущих осях, возвращаемых
gca.Необязательное возвращаемое значение h — это графический дескриптор созданного графика.
-
: loglog
(y) -
: loglog
(x, y) -
: loglog
(x, y, prop, value, …) -
: loglog
(x, y, fmt) -
: loglog
(hax, …) -
:
h =loglog(…) -
Построить двумерный график с логарифмическими шкалами по обеим осям.
Описание аргументов, принимаемых
loglog, см. в документацииplot.Если первый аргумент hax является дескриптором осей, график строится в этих осях, а не в текущих осях, возвращаемых
gca.Необязательное возвращаемое значение h — это графический дескриптор созданного графика.
Функции bar, barh, stairs и stem полезны для отображения дискретных данных. Например,
randn ("state", 1);
hist (randn (10000, 1), 30);
xlabel ("Value");
ylabel ("Count");
title ("Histogram of 10,000 normally distributed random numbers"); создает гистограмму 10 000 случайных чисел с нормальным распределением, показанную на рисунке 15.2. Обратите внимание: randn ("state", 1); инициализирует генератор случайных чисел для randn известным значением, чтобы возвращаемые значения можно было воспроизвести; это гарантирует, что полученная фигура будет идентична фигуре в данном руководстве.
Рисунок 15.2: Гистограмма.
-
: bar
(y) -
: bar
(x, y) -
: bar
(…, w) -
: bar
(…, style) -
: bar
(…, prop, val, …) -
: bar
(hax, …) -
:
h =bar(…, prop, val, …) -
Построить столбчатую диаграмму по двум векторам данных X-Y.
Если задан только один аргумент y, он рассматривается как вектор значений Y, а координаты X задаются диапазоном
1:numel (y).Необязательный входной параметр w задает ширину столбцов. Значение 1.0 приводит к тому, что каждый столбец соприкасается с соседними. Ширина по умолчанию равна 0.8.
Если y — матрица, каждый ее столбец рассматривается как отдельная столбчатая диаграмма, построенная на том же графике. По умолчанию столбцы располагаются рядом. Это поведение можно изменить с помощью аргумента style, который может принимать следующие значения:
-
"grouped"(по умолчанию) -
Столбцы расположены рядом, с промежутками между ними и по центру относительно координаты X.
"stacked"-
Столбцы накладываются друг на друга так, что для каждого значения X получается один столбец, состоящий из нескольких сегментов.
"hist"-
Столбцы расположены рядом, без промежутков между ними и по центру относительно координаты X.
"histc"Столбцы расположены рядом, без промежутков между ними и выровнены по левому краю относительно координаты X.
Необязательные пары свойство/значение передаются непосредственно базовым объектам patch. Полный список свойств приведен в разделе Свойства Patch.
Если первый аргумент hax является дескриптором осей, график строится в этих осях, а не в текущих осях, возвращаемых
gca.Необязательное возвращаемое значение h — это вектор дескрипторов созданных групп hggroup «серий столбцов», по одному дескриптору на каждый столбец переменной y. Благодаря этим сериям можно изменить общий элемент одного объекта серии столбцов, и изменение отразится на других «сериях столбцов». Например,
h = bar (rand (5, 10)); set (h(1), "basevalue", 0.5);
изменяет положение основания всех серий столбцов.
В следующем примере изменяются цвета заливки и границ с помощью пар свойство/значение.
bar (randn (1, 100), "facecolor", "r", "edgecolor", "b");
Цвет столбцов по умолчанию берется из свойства
"ColorOrder"осей. Цвет столбцов по умолчанию при использовании параметра гистограммы ("hist","histc") задается свойством"Colormap"осей или фигуры. Цвет столбцов также можно задать вручную с помощью свойства"facecolor", как показано ниже.h = bar (rand (10, 3)); set (h(1), "facecolor", "r") set (h(2), "facecolor", "g") set (h(3), "facecolor", "b")
-
-
: barh
(y) -
: barh
(x, y) -
: barh
(…, w) -
: barh
(…, style) -
: barh
(…, prop, val, …) -
: barh
(hax, …) -
:
h =barh(…, prop, val, …) -
Построить горизонтальную столбчатую диаграмму по двум векторам данных X-Y.
Если задан только один аргумент, он рассматривается как вектор значений Y, а координаты X задаются диапазоном
1:numel (y).Необязательный входной параметр w задает ширину столбцов. Значение 1.0 приводит к тому, что каждый столбец соприкасается с соседними. Ширина по умолчанию равна 0.8.
Если y — матрица, каждый ее столбец рассматривается как отдельная столбчатая диаграмма, построенная на том же графике. По умолчанию столбцы располагаются рядом. Это поведение можно изменить с помощью аргумента style, который может принимать следующие значения:
-
"grouped"(по умолчанию) -
Столбцы расположены рядом, с промежутками между ними и по центру относительно координаты Y.
"stacked"-
Столбцы накладываются друг на друга так, что для каждого значения Y получается один столбец, состоящий из нескольких сегментов.
"hist"-
Столбцы расположены рядом, без промежутков между ними и по центру относительно координаты Y.
"histc"Столбцы расположены рядом, без промежутков между ними и выровнены по левому краю относительно координаты Y.
Необязательные пары свойство/значение передаются непосредственно базовым объектам patch. Полный список свойств приведен в разделе Свойства Patch.
Если первый аргумент hax является дескриптором осей, график строится в этих осях, а не в текущих осях, возвращаемых
gca.Необязательное возвращаемое значение h — это графический дескриптор созданной группы hggroup серии столбцов. Описание использования серии столбцов см. в
bar. -
-
: hist
(y) -
: hist
(y, nbins) -
: hist
(y, x) -
: hist
(y, x, norm) -
: hist
(…, prop, val, …) -
: hist
(hax, …) -
:
[nn, xx] =hist(…) -
Вычисляет количество элементов в гистограмме или строит график гистограммы.
Если в качестве единственного входного аргумента передан вектор y, строится гистограмма значений с 10 интервалами. Диапазон интервалов гистограммы определяется диапазоном данных (разностью между максимальным и минимальным значениями в y). Экстремальные значения относятся к первому и последнему интервалам. Если y — матрица, строится гистограмма, в каждом интервале которой имеется по одному столбцу для каждого входного столбца y.
Если необязательный второй аргумент является скаляром nbins, он задаёт количество интервалов.
Если необязательный второй аргумент является вектором x, он задаёт центры интервалов. Ширина интервалов определяется по соседним значениям вектора. Общее количество интервалов равно
numel (x).Если указан третий аргумент norm, гистограмма нормализуется. Если norm — положительный скаляр, результирующие столбцы нормализуются до значения norm. Если norm — вектор положительных скаляров длины
columns (y), результирующий столбец дляy(:,i)нормализуется доnorm(i).[nn, xx] = hist (rand (10, 3), 5, [1 2 3]); sum (nn, 1) ⇒ ans = 1 2 3Внешний вид гистограммы можно изменить, задав пары «свойство/значение» для базового объекта patch. Например, можно изменить цвет заливки и границ:
hist (randn (1, 100), 25, "facecolor", "r", "edgecolor", "b");
Полный список свойств patch описан в разделе Свойства Patch. Если свойство не задано, для гистограммы используются цвета по умолчанию из свойства
"Colormap"осей или рисунка.Если первый аргумент hax является дескриптором осей, график строится в этих осях, а не в текущих осях, возвращаемых
gca.Если запрошен выходной аргумент, график не строится. Вместо этого возвращаются значения nn (количество элементов) и xx (центры интервалов), с помощью которых
bar (xx, nn)построит гистограмму. Если y — вектор, nn и xx будут векторами-строками. Если y — массив, nn будет массивом с одним столбцом количества элементов для каждого столбца y, а xx будет вектором-столбцом центров интервалов.
-
: stemleaf
(x, caption) -
: stemleaf
(x, caption, stem_sz) -
:
plotstr =stemleaf(…) -
Вычисляет и выводит диаграмму «стебель-листья» для вектора x.
Входной аргумент x должен быть вектором целых чисел. Любые нецелые значения преобразуются в целые с помощью
x = fix (x). По умолчанию каждый элемент x отображается так: последняя цифра элемента используется в качестве значения листа, а оставшиеся цифры — в качестве стебля. Например, число 123 отображается со стеблем «12» и листом «3». Второй аргумент caption должен быть символьным массивом с описанием данных. Он включается в заголовок вывода.Необязательный входной аргумент stem_sz задаёт ширину каждого стебля. Ширина стебля определяется с помощью
10^(stem_sz + 1). Ширина стебля по умолчанию равна 10.Вывод
stemleafсостоит из двух частей: «ограждённого буквенного представления», за которым следует сама диаграмма «стебель-листья». Описание ограждённого буквенного представления приведено в книге Разведочный анализ данных. Кратко, записи выглядят следующим образом:Fenced Letter Display #% nx|___________________ nx = numel (x) M% mi| md | mi median index, md median H% hi|hl hu| hs hi lower hinge index, hl,hu hinges, 1 |x(1) x(nx)| hs h_spreadx(1), x(nx) first _______ and last data value. ______|step |_______ step 1.5*h_spread f|ifl ifh| inner fence, lower and higher |nfl nfh| no.\ of data points within fences F|ofl ofh| outer fence, lower and higher |nFl nFh| no.\ of data points outside outer fencesВ диаграмме «стебель-листья» в каждой строке сначала указывается значение стебля, за которым следует строка из цифр листьев. Если stem_sz не равен 1, соседние значения листьев разделяются запятыми.
Если выходной аргумент не указан, диаграмма отображается немедленно. Если указан выходной аргумент, диаграмма возвращается в виде массива строк.
Цифры листьев не сортируются. Если требуется отсортировать значения листьев, используйте
xs = sort (x)перед вызовомstemleaf (xs).Диаграмма «стебель-листья» и связанные с ней представления описаны в главе 3 книги Дж. У. Тьюки Разведочный анализ данных, Addison-Wesley, 1977.
-
: printd
(obj, filename) -
:
out_file =printd(…) -
Преобразует любой объект, допустимый для
disp, в формат, выбранный по расширению filename.Если запрошен необязательный выходной аргумент out_file, возвращается имя созданного файла.
Эта функция предназначена для упрощения обработки результатов таких функций, как
stemleaf.См. также: stemleaf.
-
: stairs
(y) -
: stairs
(x, y) -
: stairs
(…, style) -
: stairs
(…, prop, val, …) -
: stairs
(hax, …) -
:
h =stairs(…) -
:
[xstep, ystep] =stairs(…) -
Строит ступенчатый график.
Аргументы x и y могут быть векторами или матрицами. Если указан только один аргумент, он рассматривается как вектор значений Y, а координаты X задаются индексами элементов (
x = 1:numel (y)).Стиль графика можно задать с помощью стиля линии style в том же формате, что и в команде
plot.Можно указать несколько пар «свойство/значение», но они должны быть сгруппированы в пары. Полный список свойств приведён в разделе Свойства линий.
Если первый аргумент hax является дескриптором осей, график строится в этих осях, а не в текущих осях, возвращаемых
gca.Если запрошен один выходной аргумент, возвращается графический дескриптор созданного графика. Если указаны два выходных аргумента, данные генерируются, но график не строится. Например,
stairs (x, y);
и
[xs, ys] = stairs (x, y); plot (xs, ys);
эквивалентны.
-
: stem
(y) -
: stem
(x, y) -
: stem
(…, linespec) -
: stem
(…, "filled") -
: stem
(…, prop, val, …) -
: stem
(hax, …) -
:
h =stem(…) -
Строит двумерный график со стержнями.
Если указан только один аргумент, он рассматривается как значения y, а координаты x берутся из индексов элементов.
Если y — матрица, каждый её столбец отображается как отдельный график со стержнями. В этом случае x может быть вектором длины, равной числу строк y, либо матрицей того же размера, что и y.
Цвет по умолчанию —
"b"(синий), стиль линии по умолчанию —"-", а маркер по умолчанию —"o". Стиль линии можно изменить с помощью аргумента linespec так же, как в командеplot. Если указан аргумент"filled", маркеры на концах стержней будут залиты. Например,x = 1:10; y = 2*x; stem (x, y, "r");
строит 10 стержней высотой от 2 до 20 красного цвета;
Для управления внешним видом графика можно указать необязательные пары «свойство/значение». Полный список свойств приведён в разделе Свойства линий.
Если первый аргумент hax является дескриптором осей, график строится в этих осях, а не в текущих осях, возвращаемых
gca.Необязательное возвращаемое значение h — дескриптор hggroup «серии стержней». Этот единственный дескриптор hggroup содержит в качестве дочерних все графические элементы, составляющие график; благодаря этому свойства нескольких графических объектов можно изменить, изменив только одно свойство hggroup «серии стержней».
Например,
x = [0:10]'; y = [sin(x), cos(x)] h = stem (x, y); set (h(2), "color", "g"); set (h(1), "basevalue", -1)
изменяет цвет второй «серии стержней» и перемещает базовую линию первой.
Свойства серии стержней
- linestyle
-
Стиль линии стержня. (По умолчанию:
"-") - linewidth
-
Ширина линии стержня. (По умолчанию: 0.5)
- color
-
Цвет стержня и, если он не задан отдельно, маркера. (По умолчанию:
"b"[синий]) - marker
-
Символ маркера, используемый на конце каждого стержня. (По умолчанию:
"o") - markeredgecolor
-
Цвет границы маркера. (По умолчанию: свойство
"color") - markerfacecolor
-
Цвет заливки маркера. (По умолчанию:
"none"[без заливки]) - markersize
-
Размер маркера. (По умолчанию: 6)
- baseline
-
Дескриптор линейного объекта, задающего базовую линию. Используйте
setс возвращённым дескриптором, чтобы изменить графические свойства базовой линии. - basevalue
Значение y, на котором проводится базовая линия. (По умолчанию: 0)
-
: stem3
(x, y, z) -
: stem3
(…, linespec) -
: stem3
(…, "filled") -
: stem3
(…, prop, val, …) -
: stem3
(hax, …) -
:
h =stem3(…) -
Построить трехмерный график с вертикальными отрезками.
Отрезки проводятся от высоты z до точки на плоскости x-y, заданной координатами x и y. По умолчанию используется цвет
"b"(синий), стиль линии"-"и маркер"o".Стиль линии можно изменить с помощью аргумента linespec так же, как и в команде
plot. Если указан аргумент"filled", маркеры в верхней части отрезков будут залиты.Чтобы управлять внешним видом графика, можно указать необязательные пары «свойство/значение». Полный список свойств приведен в разделе Свойства линий.
Если первый аргумент hax является дескриптором осей, график строится в этих осях, а не в текущих осях, возвращаемых командой
gca.Необязательное возвращаемое значение h — это дескриптор группы hggroup «серия отрезков», содержащей объекты линий и маркеров, используемые для построения графика. Описание объекта «серия отрезков» см. в разделе
stem.Пример:
theta = 0:0.2:6; stem3 (cos (theta), sin (theta), theta);
строит 31 отрезок высотой от 0 до 6, расположенных по окружности.
Примечание по реализации: определения цвета в виде троек RGB недопустимы.
-
: scatter
(x, y) -
: scatter
(x, y, s) -
: scatter
(x, y, s, c) -
: scatter
(…, style) -
: scatter
(…, "filled") -
: scatter
(…, prop, val, …) -
: scatter
(hax, …) -
:
h =scatter(…) -
Построить двумерную диаграмму рассеяния.
В каждой точке, заданной координатами векторов x и y, строится маркер.
Размер маркеров задается параметром s, который может быть скаляром или вектором той же длины, что и x и y. Если s не указан или является пустой матрицей, используется значение по умолчанию — 36 квадратных пунктов (фактический размер маркера —
sqrt (s)).Цвет маркеров задается параметром c. Это может быть строка, задающая фиксированный цвет; трехэлементный вектор, содержащий красную, зеленую и синюю составляющие цвета; вектор той же длины, что и x, задающий масштабированный индекс в текущей карте цветов; или матрица Nx3, задающая цвет RGB для каждого маркера отдельно.
Маркер можно изменить с помощью аргумента style — строки, задающей маркер так же, как и в команде
plot. Если маркер не указан, по умолчанию используется"o", то есть круги. Если задан аргумент"filled", маркеры будут залиты.Если первый аргумент hax является дескриптором осей, график строится в этих осях, а не в текущих осях, возвращаемых командой
gca.Необязательное возвращаемое значение h — это графический дескриптор созданного объекта диаграммы рассеяния.
Пример:
x = randn (100, 1); y = randn (100, 1); scatter (x, y, [], sqrt (x.^2 + y.^2));
Примечание по программированию: полный список свойств приведен в разделе Свойства диаграммы рассеяния.
-
: plotmatrix
(x, y) -
: plotmatrix
(x) -
: plotmatrix
(…, style) -
: plotmatrix
(hax, …) -
:
[h, ax, bigax, p, pax] =plotmatrix(…) -
Диаграмма рассеяния столбцов одной матрицы относительно столбцов другой.
Для аргументов x и y с одинаковым числом строк
plotmatrixстроит набор осей, соответствующийplot (x(:, i), y(:, j))
При вызове с одним аргументом x это эквивалентно
plotmatrix (x, x)
за исключением того, что на диагонали набора осей будет отображаться гистограмма
hist (x(:, i)).Маркер можно изменить с помощью аргумента style — строки, задающей маркер так же, как и в команде
plot.Если первый аргумент hax является дескриптором осей, график строится в этих осях, а не в текущих осях, возвращаемых командой
gca.Необязательное возвращаемое значение h содержит дескрипторы отдельных графических объектов диаграмм рассеяния, а ax возвращает дескрипторы объектов осей этих диаграмм.
bigax — это скрытый объект осей, окружающий остальные оси; поэтому команды
xlabel,titleи т. д. будут связаны с этими скрытыми осями.Наконец, p возвращает графические объекты, связанные с гистограммой, а pax — соответствующие объекты осей.
Пример:
plotmatrix (randn (100, 3), "g+")
-
: pareto
(y) -
: pareto
(y, x) -
: pareto
(hax, …) -
:
h =pareto(…) -
Построить диаграмму Парето.
Диаграмма Парето — это столбчатая диаграмма, упорядочивающая данные таким образом, чтобы можно было определить приоритеты улучшения процесса; она систематизирует и отображает данные, показывая их относительную важность. Такая диаграмма похожа на гистограмму или столбчатую диаграмму, за исключением того, что столбцы расположены по убыванию величины слева направо вдоль оси x.
В основе диаграмм Парето лежит принцип Парето: большая часть эффекта обусловлена небольшим количеством причин. При улучшении качества первые несколько причин проблемы (самые левые столбцы на диаграмме) обычно объясняют большую часть результата. Таким образом, устранение этих «основных причин» позволяет добиться улучшений с наименьшими затратами.
Обычно задаются только данные о величинах y; в этом случае диапазоном x считается
1 : length (y). Если x задан, это может быть строковый массив, ячейковый массив строк или числовой вектор.Если первый аргумент hax является дескриптором осей, график строится в этих осях, а не в текущих осях, возвращаемых командой
gca.Необязательное возвращаемое значение h — это вектор из двух элементов: графический дескриптор созданной столбчатой диаграммы и дескриптор созданного линейного графика.
Пример использования
pareto:Cheese = {"Cheddar", "Swiss", "Camembert", ... "Munster", "Stilton", "Blue"}; Sold = [105, 30, 70, 10, 15, 20]; pareto (Sold, Cheese);
-
: rose
(theta) -
: rose
(theta, nbins) -
: rose
(theta, bins) -
: rose
(hax, …) -
:
h =rose(…) -
:
[th r] =rose(…) -
Построить угловую гистограмму.
Если задан один векторный аргумент th, строится гистограмма с 20 угловыми интервалами. Если th — матрица, для каждого ее столбца строится отдельная гистограмма.
Если задан скалярный параметр nbins, гистограмма строится с nbin интервалами. Если bins — вектор, значения его элементов задают центры интервалов, а число интервалов равно числу элементов в bins.
Если первый аргумент hax является дескриптором осей, график строится в этих осях, а не в текущих осях, возвращаемых командой
gca.Необязательное возвращаемое значение h — это вектор графических дескрипторов объектов линий, представляющих каждую гистограмму.
Если запрошены два выходных аргумента, график не строится; вместо этого возвращаются полярные векторы, необходимые для его построения.
Пример
[th, r] = rose ([2*randn(1e5,1), pi + 2*randn(1e5,1)]); polar (th, r);
Функции contour, contourf и contourc строят двумерные контурные графики по трехмерным данным.
-
: contour
(z) -
: contour
(z, vn) -
: contour
(x, y, z) -
: contour
(x, y, z, vn) -
: contour
(…, style) -
: contour
(hax, …) -
:
[c, h] =contour(…) -
Создать двумерный контурный график.
Построить линии уровня (контурные линии) матрицы z, используя контурную матрицу c, вычисленную
contourcдля тех же аргументов; описание их интерпретации см. там.Внешний вид контурных линий можно задать с помощью стиля линии style так же, как в
plot. Используются только стиль линии и цвет; любые маркеры, заданные в style, игнорируются.Если первый аргумент hax является дескриптором осей, график строится в этих осях, а не в текущих осях, возвращаемых
gca.Необязательный выходной аргумент c содержит уровни контура в формате
contourc.Необязательное возвращаемое значение h — это графический дескриптор hggroup, содержащей контурные линии.
Пример:
x = 0:3; y = 0:2; z = y' * x; contour (x, y, z, 2:3)
См. также: ezcontour, contourc, contourf, contour3, clabel, meshc, surfc, caxis, colormap, plot.
-
: contourf
(z) -
: contourf
(z, vn) -
: contourf
(x, y, z) -
: contourf
(x, y, z, vn) -
: contourf
(…, style) -
: contourf
(hax, …) -
:
[c, h] =contourf(…) -
Создать двумерный контурный график с заливкой интервалов.
Построить линии уровня (контурные линии) матрицы z и залить области между линиями цветами из текущей цветовой карты.
Линии уровня берутся из контурной матрицы c, вычисленной
contourcдля тех же аргументов; описание их интерпретации см. там.Внешний вид контурных линий можно задать с помощью стиля линии style так же, как в
plot. Используются только стиль линии и цвет; любые маркеры, заданные в style, игнорируются.Если первый аргумент hax является дескриптором осей, график строится в этих осях, а не в текущих осях, возвращаемых
gca.Необязательный выходной аргумент c содержит уровни контура в формате
contourc.Необязательное возвращаемое значение h — это графический дескриптор hggroup, содержащей контурные линии.
В следующем примере строятся залитые контуры функции
peaks.[x, y, z] = peaks (50); contourf (x, y, z, -7:9)
См. также: ezcontourf, contour, contourc, contour3, clabel, meshc, surfc, caxis, colormap, plot.
-
:
c =contourc(z) -
:
c =contourc(z, vn) -
:
c =contourc(x, y, z) -
:
c =contourc(x, y, z, vn) -
:
[c, lev] =contourc(…) -
Вычислить контурные линии (изолинии постоянного значения Z).
Матрица z содержит значения высоты над прямоугольной сеткой, заданной x и y. Если задан только один входной аргумент z, то в качестве x принимается
1:columns (z), а в качестве y —1:rows (z). Минимальный размер данных — 2x2.Необязательный входной аргумент vn — это либо скаляр, задающий количество вычисляемых контурных линий, либо вектор, содержащий значения Z, для которых вычисляются линии. Если vn является вектором, количество контурных линий равно
numel (vn). Однако для вычисления одной контурной линии на заданном уровне используйтеvn = [val, val]. Если vn не указан, по умолчанию используется значение 10.Возвращаемое значение c — это матрица размером 2xn, содержащая контурные линии в следующем формате:
c = [lev1, x1, x2, ..., levn, x1, x2, ... len1, y1, y2, ..., lenn, y1, y2, ...]где контурная линия n имеет уровень (высоту) levn и длину lenn.
Необязательное возвращаемое значение lev — это вектор со значениями Z уровней контура.
Пример:
x = 0:2; y = x; z = x' * y; c = contourc (x, y, z, 2:3) ⇒ c = 2.0000 1.0000 1.0000 2.0000 2.0000 3.0000 1.5000 2.0000 4.0000 2.0000 2.0000 1.0000 1.0000 2.0000 2.0000 1.5000
-
: contour3
(z) -
: contour3
(z, vn) -
: contour3
(x, y, z) -
: contour3
(x, y, z, vn) -
: contour3
(…, style) -
: contour3
(hax, …) -
:
[c, h] =contour3(…) -
Создать трехмерный контурный график.
contour3строит линии уровня (контурные линии) матрицы z на уровне Z, соответствующем каждой контурной линии. Это отличается отcontour, которая строит все контурные линии на одном уровне Z и создает двумерный график.Линии уровня берутся из контурной матрицы c, вычисленной
contourcдля тех же аргументов; описание их интерпретации см. там.Внешний вид контурных линий можно задать с помощью стиля линии style так же, как в
plot. Используются только стиль линии и цвет; любые маркеры, заданные в style, игнорируются.Если первый аргумент hax является дескриптором осей, график строится в этих осях, а не в текущих осях, возвращаемых
gca.Необязательный выходной аргумент c содержит уровни контура в формате
contourc.Необязательное возвращаемое значение h — это графический дескриптор hggroup, содержащей контурные линии.
Пример:
contour3 (peaks (19)); colormap cool; hold on; surf (peaks (19), "facecolor", "none", "edgecolor", "black");
См. также: contour, contourc, contourf, clabel, meshc, surfc, caxis, colormap, plot.
Функции errorbar, semilogxerr, semilogyerr и loglogerr строят графики с маркерами погрешностей. Например,
rand ("state", 2);
x = 0:0.1:10;
y = sin (x);
lerr = 0.1 .* rand (size (x));
uerr = 0.1 .* rand (size (x));
errorbar (x, y, lerr, uerr);
axis ([0, 10, -1.1, 1.1]);
xlabel ("x");
ylabel ("sin (x)");
title ("Errorbar plot of sin (x)"); создает рисунок, показанный на рисунке 15.3.
Рисунок 15.3: График с маркерами погрешностей.
-
: errorbar
(y, ey) -
: errorbar
(y, …, fmt) -
: errorbar
(x, y, ey) -
: errorbar
(x, y, err, fmt) -
: errorbar
(x, y, lerr, uerr, fmt) -
: errorbar
(x, y, ex, ey, fmt) -
: errorbar
(x, y, lx, ux, ly, uy, fmt) -
: errorbar
(x1, y1, …, fmt, xn, yn, …) -
: errorbar
(hax, …) -
:
h =errorbar(…) -
Создает двумерный график с полосами погрешностей.
Возможны различные сочетания аргументов. Простейший вариант:
errorbar (y, ey)
где первый аргумент принимается за набор координат y, второй аргумент ey задает погрешности значений y, а координаты x задаются индексами элементов (
1:numel (y)).Общий вид функции:
errorbar (x, y, err1, ..., fmt, ...)
После аргументов x и y может следовать 1, 2 или 4 параметра, задающих значения погрешностей, в зависимости от их вида и формата графика fmt.
- err (скаляр)
-
Если погрешность задана скаляром, все точки имеют одинаковое значение погрешности. Полосы погрешностей симметричны и строятся от data-err до data+err. Аргумент fmt определяет, задает ли err погрешность по оси x, по оси y (по умолчанию) или по обеим осям.
- err (вектор или матрица)
-
Для каждой точки данных задано отдельное значение погрешности. Полосы погрешностей симметричны и строятся от data(n)-err(n) до data(n)+err(n).
- lerr, uerr (скаляры)
-
Для нижней и верхней границ задано по одному значению погрешности. Полосы погрешностей несимметричны и строятся от data-lerr до data+uerr.
- lerr, uerr (вектор или матрица)
Для каждой точки данных заданы погрешности нижней и верхней границ. Полосы погрешностей несимметричны и строятся от data(n)-lerr(n) до data(n)+uerr(n).
Можно указать любое количество наборов данных (x1,y1, x2,y2, …), если они разделены строкой формата fmt.
Если y — матрица, то x и параметры погрешности также должны быть матрицами тех же размеров. Столбцы y строятся относительно соответствующих столбцов x, а полосы погрешностей берутся из соответствующих столбцов параметров погрешности.
Если fmt не задан, используется стиль графика погрешностей по y ("~").
Если задан аргумент fmt, он интерпретируется так же, как и в обычных графиках: задает стиль линии, маркер и цвет. Кроме того, fmt может содержать стиль полос погрешностей, который должен предшествовать обычным кодам формата. Поддерживаются следующие стили полос погрешностей:
- ‘~’
-
Задает стиль графика погрешностей по y (по умолчанию).
- ‘>’
-
Задает стиль графика погрешностей по x.
- ‘~>’
-
Задает стиль графика погрешностей по x и y.
- ‘#~’
-
Задает стиль графика прямоугольников по y.
- ‘#’
-
Задает стиль графика прямоугольников по x.
- ‘#~>’
Задает стиль графика прямоугольников по x и y.
Если первый аргумент hax — дескриптор осей, график строится в этих осях, а не в текущих осях, возвращаемых
gca.Необязательное возвращаемое значение h — дескриптор объекта hggroup, представляющего график данных и полосы погрешностей.
Примечание: Для совместимости с MATLAB через все точки данных проводится линия. Однако на большинстве научных графиков с погрешностями точки и полосы погрешностей отображаются без соединяющей линии. Для этого добавьте стиль маркера в аргумент fmt, например
".". В качестве альтернативы удалите линию, изменив возвращенный графический дескриптор с помощьюset (h, "linestyle", "none").Примеры:
errorbar (x, y, ex, ">.r")
создает график с погрешностями по x для y относительно x; полосы погрешностей по x строятся от x-ex до x+ex. Используется маркер
".", поэтому соединительная линия не строится, а полосы погрешностей отображаются красным цветом.errorbar (x, y1, ey, "~", x, y2, ly, uy)создает графики с погрешностями по y для y1 и y2 относительно x. Полосы погрешностей для y1 строятся от y1-ey до y1+ey, а для y2 — от y2-ly до y2+uy.
errorbar (x, y, lx, ux, ly, uy, "~>")создает график с погрешностями по x и y для y относительно x: полосы погрешностей по x строятся от x-lx до x+ux, а по y — от y-ly до y+uy.
См. также: semilogxerr, semilogyerr, loglogerr, plot.
-
: semilogxerr
(y, ey) -
: semilogxerr
(y, …, fmt) -
: semilogxerr
(x, y, ey) -
: semilogxerr
(x, y, err, fmt) -
: semilogxerr
(x, y, lerr, uerr, fmt) -
: semilogxerr
(x, y, ex, ey, fmt) -
: semilogxerr
(x, y, lx, ux, ly, uy, fmt) -
: semilogxerr
(x1, y1, …, fmt, xn, yn, …) -
: semilogxerr
(hax, …) -
:
h =semilogxerr(…) -
Создает двумерные графики с логарифмической шкалой по оси x и полосами погрешностей в каждой точке данных.
Возможны различные сочетания аргументов. Наиболее распространенный вариант:
semilogxerr (x, y, ey, fmt)
создает полулогарифмический график y относительно x с погрешностями в масштабе y, заданными ey, и форматом графика, заданным fmt. Доступные форматы и дополнительную информацию см. в разделе
errorbar.Если первый аргумент hax — дескриптор осей, график строится в этих осях, а не в текущих осях, возвращаемых
gca.См. также: errorbar, semilogyerr, loglogerr.
-
: semilogyerr
(y, ey) -
: semilogyerr
(y, …, fmt) -
: semilogyerr
(x, y, ey) -
: semilogyerr
(x, y, err, fmt) -
: semilogyerr
(x, y, lerr, uerr, fmt) -
: semilogyerr
(x, y, ex, ey, fmt) -
: semilogyerr
(x, y, lx, ux, ly, uy, fmt) -
: semilogyerr
(x1, y1, …, fmt, xn, yn, …) -
: semilogyerr
(hax, …) -
:
h =semilogyerr(…) -
Создает двумерные графики с логарифмической шкалой по оси y и полосами погрешностей в каждой точке данных.
Возможны различные сочетания аргументов. Наиболее распространенный вариант:
semilogyerr (x, y, ey, fmt)
создает полулогарифмический график y относительно x с погрешностями в масштабе y, заданными ey, и форматом графика, заданным fmt. Доступные форматы и дополнительную информацию см. в разделе
errorbar.Если первый аргумент hax — дескриптор осей, график строится в этих осях, а не в текущих осях, возвращаемых
gca.См. также: errorbar, semilogxerr, loglogerr.
-
: loglogerr
(y, ey) -
: loglogerr
(y, …, fmt) -
: loglogerr
(x, y, ey) -
: loglogerr
(x, y, err, fmt) -
: loglogerr
(x, y, lerr, uerr, fmt) -
: loglogerr
(x, y, ex, ey, fmt) -
: loglogerr
(x, y, lx, ux, ly, uy, fmt) -
: loglogerr
(x1, y1, …, fmt, xn, yn, …) -
: loglogerr
(hax, …) -
:
h =loglogerr(…) -
Создает двумерные графики в двойном логарифмическом масштабе с полосами погрешностей.
Возможны различные комбинации аргументов. Наиболее распространенный вариант имеет вид
loglogerr (x, y, ey, fmt)
Он создает график в двойном логарифмическом масштабе зависимости y от x с погрешностями по шкале y, заданными ey, и форматом графика, определяемым fmt. См.
errorbar, чтобы узнать о доступных форматах и получить дополнительную информацию.Если первый аргумент hax является дескриптором осей, график строится в этих осях, а не в текущих осях, возвращаемых
gca.См. также: errorbar, semilogxerr, semilogyerr.
Наконец, функция polar позволяет легко строить графики данных в полярных координатах. Однако координаты отображения остаются прямоугольными и линейными. Например,
polar (0:0.1:10*pi, 0:0.1:10*pi);
title ("Example polar plot from 0 to 10*pi"); создает спиральный график, показанный на рисунке 15.4.
Рисунок 15.4: Полярный график.
-
: polar
(theta, rho) -
: polar
(theta, rho, fmt) -
: polar
(cplx) -
: polar
(cplx, fmt) -
: polar
(hax, …) -
:
h =polar(…) -
Создает двумерный график по полярным координатам theta и rho.
Предполагается, что входное значение theta задано в радианах; перед построением графика оно преобразуется в градусы. Если значения заданы в градусах, перед передачей данных этой функции необходимо преобразовать их в радианы (см.
cart2pol).Если задан один комплексный аргумент cplx, его действительная часть используется в качестве theta, а мнимая — в качестве rho.
Необязательный аргумент fmt задает формат линии так же, как в
plot.Если первый аргумент hax является дескриптором осей, график строится в этих осях, а не в текущих осях, возвращаемых
gca.Необязательное возвращаемое значение h — это графический дескриптор созданного графика.
Примечание по реализации: полярная ось рисуется с помощью объектов линий и текста, объединенных в hggroup. Свойства hggroup связаны с исходным объектом осей, поэтому изменение свойства внешнего вида, например
fontname, обновит полярную ось. К исходному объекту осей добавляются два новых свойства —rtick,ttick, — которые заменяютxtick,ytick. Первое свойство представляет собой список положений делений в радиальном направлении (rho); второе — список положений делений в угловом направлении (theta), заданных в градусах, то есть в диапазоне 0–359.
-
: pie
(x) -
: pie
(…, explode) -
: pie
(…, labels) -
: pie
(hax, …) -
:
h =pie(…) -
Строит двумерную круговую диаграмму.
При вызове с одним векторным аргументом строит круговую диаграмму по элементам x. Размер i-го сектора — это доля от общей суммы x, которую составляет элемент xi:
pct = x(i) / sum (x).Необязательный входной аргумент explode — это вектор той же длины, что и x; если его элемент ненулевой, соответствующий сектор «выдвигается» из круговой диаграммы.
Необязательный входной аргумент labels — это массив ячеек со строками той же длины, что и x, задающими подпись для каждого сектора.
Если первый аргумент hax является дескриптором осей, график строится в этих осях, а не в текущих осях, возвращаемых
gca.Необязательное возвращаемое значение h — это список дескрипторов объектов patch и text, создающих график.
Примечание: если
sum (x) ≤ 1, элементы x интерпретируются непосредственно как проценты и не нормализуются с помощьюsum (x). Кроме того, если сумма меньше 1, в круговой диаграмме будет отсутствовать сектор, соответствующий недостающему, неуказанному проценту.
-
: pie3
(x) -
: pie3
(…, explode) -
: pie3
(…, labels) -
: pie3
(hax, …) -
:
h =pie3(…) -
Строит трехмерную круговую диаграмму.
При вызове с одним векторным аргументом строит трехмерную круговую диаграмму по элементам x. Размер i-го сектора — это доля от общей суммы x, которую составляет элемент xi:
pct = x(i) / sum (x).Необязательный входной аргумент explode — это вектор той же длины, что и x; если его элемент ненулевой, соответствующий сектор «выдвигается» из круговой диаграммы.
Необязательный входной аргумент labels — это массив ячеек со строками той же длины, что и x, задающими подпись для каждого сектора.
Если первый аргумент hax является дескриптором осей, график строится в этих осях, а не в текущих осях, возвращаемых
gca.Необязательное возвращаемое значение h — это список графических дескрипторов объектов patch, surface и text, создающих график.
Примечание: если
sum (x) ≤ 1, элементы x интерпретируются непосредственно как проценты и не нормализуются с помощьюsum (x). Кроме того, если сумма меньше 1, в круговой диаграмме будет отсутствовать сектор, соответствующий недостающему, неуказанному проценту.
-
: quiver
(u, v) -
: quiver
(x, y, u, v) -
: quiver
(…, s) -
: quiver
(…, style) -
: quiver
(…, "filled") -
: quiver
(hax, …) -
:
h =quiver(…) -
Строит двумерное векторное поле со стрелками.
Строит компоненты (u, v) векторного поля в узлах сетки, заданных (x, y). Если сетка равномерная, x и y можно задать как векторы сетки; для создания двумерной сетки используется
meshgrid.Если x и y не заданы, предполагается, что они равны
(1:m, 1:n), где[m, n] = size (u).Необязательный входной аргумент s — это скаляр, задающий коэффициент масштабирования стрелок поля относительно шага сетки. Значение 1.0 приводит к тому, что самый длинный вектор точно занимает одну ячейку сетки. Значение 0 или
"off"отключает масштабирование. Значение по умолчанию — 0.9.Стиль графика можно задать стилем линии style в том же формате, что и для команды
plot. Если указан маркер, маркеры отображаются в начале векторов (то есть в узлах сетки, заданных x и y). При указании маркера наконечник стрелки не отображается. Если задан аргумент"filled", маркеры заполняются. Если используются свойства стиля графика в формате «имя-значение», они должны указываться парами после всех остальных аргументов стиля графика.Если первый аргумент hax является дескриптором осей, график строится в этих осях, а не в текущих осях, возвращаемых
gca.Необязательное возвращаемое значение h — это графический дескриптор объекта quiver. Объект quiver объединяет компоненты графика quiver (тело, стрелку и маркер) и позволяет изменять их вместе.
Пример:
[x, y] = meshgrid (1:2:20); h = quiver (x, y, sin (2*pi*x/10), sin (2*pi*y/10)); set (h, "maxheadsize", 0.33);
-
: quiver3
(x, y, z, u, v, w) -
: quiver3
(z, u, v, w) -
: quiver3
(…, s) -
: quiver3
(…, style) -
: quiver3
(…, "filled") -
: quiver3
(hax, …) -
:
h =quiver3(…) -
Построить 3D-векторное поле со стрелками.
Построить компоненты (u, v, w) векторного поля в узлах сетки, заданных координатами (x, y, z). Если сетка равномерная, то x, y и z можно задать векторами сетки, а для создания 3D-сетки используется
meshgrid.Если x и y не заданы, предполагается, что они равны
(1:m, 1:n), где[m, n] = size (u).Необязательный входной аргумент s — это скаляр, задающий коэффициент масштабирования стрелок поля относительно шага сетки. Значение 1.0 приводит к тому, что самый длинный вектор точно заполняет один куб сетки. Значение 0 или
"off"отключает масштабирование. Значение по умолчанию — 0.9.Стиль графика можно задать с помощью стиля линии style в том же формате, что и у команды
plot. Если задан маркер, маркеры отображаются в начале векторов (то есть в узлах сетки, заданных координатами x, y, z). При задании маркера наконечник стрелки не отображается. Если указан аргумент"filled", маркеры закрашиваются. При использовании свойств стиля графика в формате «имя-значение» их необходимо указывать парами после всех остальных аргументов стиля графика.Если первый аргумент hax является дескриптором осей, график строится в этих осях, а не в текущих осях, возвращаемых функцией
gca.Необязательное возвращаемое значение h — это графический дескриптор объекта quiver. Объект quiver объединяет компоненты графика quiver (тело, стрелку и маркер) и позволяет изменять их вместе.
[x, y, z] = peaks (25); surf (x, y, z); hold on; [u, v, w] = surfnorm (x, y, z / 10); h = quiver3 (x, y, z, u, v, w); set (h, "maxheadsize", 0.33);
-
: streamribbon
(x, y, z, u, v, w, sx, sy, sz) -
: streamribbon
(u, v, w, sx, sy, sz) -
: streamribbon
(xyz, x, y, z, anlr_spd, lin_spd) -
: streamribbon
(xyz, anlr_spd, lin_spd) -
: streamribbon
(xyz, anlr_rot) -
: streamribbon
(…, width) -
: streamribbon
(hax, …) -
:
h =streamribbon(…) -
Вычислить и отобразить ленточные линии тока.
Ленточная линия тока строится путём вращения нормального вектора вокруг линии тока в соответствии с угловым вращением векторного поля.
Векторное поле задаётся выражением
[u, v, w]и определено на прямоугольной сетке, заданной выражением[x, y, z]. Ленточные линии тока начинаются в начальных точках[sx, sy, sz].streamribbonможно вызвать с массивом ячеек, содержащим предварительно вычисленные данные линий тока. Для этого необходимо создать xyz с помощью функцииstream3. lin_spd — это линейная скорость векторного поля; её можно вычислить из[u, v, w]как квадратный корень из суммы квадратов. Угловая скорость anlr_spd — это проекция угловой скорости на скорость нормированного векторного поля; её можно вычислить с помощью командыcurl. Этот вариант полезен, если необходимо изменить шаг интегратора или максимальное число вершин линии тока.В качестве альтернативы ленты можно построить по массиву вершин xyz кривой пути. anlr_rot содержит углы поворота вокруг рёбер между соседними вершинами кривой пути.
Входной параметр width задаёт ширину ленточных линий тока.
Цвет ленточных линий тока определяется суммарным углом поворота вдоль ленты.
Если первый аргумент hax является дескриптором осей, график строится в этих осях, а не в текущих осях, возвращаемых функцией
gca.Необязательное возвращаемое значение h — это графический дескриптор объектов графика, созданных для каждой ленточной линии тока.
Пример:
[x, y, z] = meshgrid (0:0.2:4, -1:0.2:1, -1:0.2:1); u = - x + 10; v = 10 * z.*x; w = - 10 * y.*x; streamribbon (x, y, z, u, v, w, [0, 0], [0, 0.6], [0, 0]); view (3);
См. также: streamline, stream3, streamtube, ostreamtube.
-
: streamtube
(x, y, z, u, v, w, sx, sy, sz) -
: streamtube
(u, v, w, sx, sy, sz) -
: streamtube
(xyz, x, y, z, div) -
: streamtube
(xyz, div) -
: streamtube
(xyz, dia) -
: streamtube
(…, options) -
: streamtube
(hax, …) -
:
h =streamtube(…) -
Построить трубки, масштабированные по дивергенции вдоль линий тока.
streamtubeстроит трубки, диаметр которых масштабируется в зависимости от дивергенции векторного поля. Векторное поле задаётся выражением[u, v, w]и определено на прямоугольной сетке, заданной выражением[x, y, z]. Трубки начинаются в начальных точках[sx, sy, sz]и строятся вдоль линий тока.streamtubeтакже можно вызвать с массивом ячеек, содержащим предварительно вычисленные данные линий тока. Для этого необходимо создать xyz с помощью командыstream3. Для масштабирования трубок используется div. Чтобы построить трубки, масштабированные по дивергенции векторного поля, div необходимо вычислить с помощью командыdivergence.Нулевой диаметр трубки соответствует наименьшему значению масштабирования вдоль линии тока, а наибольший диаметр трубки — наибольшему значению масштабирования.
Также можно построить трубку вдоль произвольного массива вершин xyz. Диаметр трубки можно задать массивом вершин dia или константой.
Входной параметр options — это двумерный вектор вида
[scale, n]. Первый параметр масштабирует диаметр трубки (по умолчанию 1). Второй параметр задаёт число вершин, используемых для построения окружности трубки (по умолчанию 20).Если первый аргумент hax является дескриптором осей, график строится в этих осях, а не в текущих осях, возвращаемых функцией
gca.Необязательное возвращаемое значение h — это графический дескриптор объектов графика, созданных для каждой трубки.
См. также: stream3, streamline, streamribbon, ostreamtube.
-
: ostreamtube
(x, y, z, u, v, w, sx, sy, sz) -
: ostreamtube
(u, v, w, sx, sy, sz) -
: ostreamtube
(xyz, x, y, z, u, v, w) -
: ostreamtube
(…, options) -
: ostreamtube
(hax, …) -
:
h =ostreamtube(…) -
Вычислить и отобразить потоковые трубки.
Потоковые трубки аппроксимируются соединением круговых поперечных сечений вдоль линии тока. Расширение потока определяется локальной дивергенцией поперечного потока.
Векторное поле задаётся выражением
[u, v, w]и определено на прямоугольной сетке, заданной выражением[x, y, z]. Потоковые трубки начинаются в начальных точках[sx, sy, sz].Цвет трубок определяется локальной интенсивностью векторного поля.
Входной параметр options — это двумерный вектор вида
[scale, n]. Первый параметр масштабирует начальный радиус потоковых трубок (по умолчанию 1). Второй параметр задаёт число вершин, используемых для построения окружности трубки (по умолчанию 20).ostreamtubeможно вызвать с массивом ячеек, содержащим предварительно вычисленные данные линий тока. Для этого необходимо создать xyz с помощью функцииstream3. Этот вариант полезен, если необходимо изменить шаг интегратора или максимальное число вершин линии тока.Если первый аргумент hax является дескриптором осей, график строится в этих осях, а не в текущих осях, возвращаемых функцией
gca.Необязательное возвращаемое значение h — это графический дескриптор объектов графика, созданных для каждой потоковой трубки.
Пример:
[x, y, z] = meshgrid (-1:0.1:1, -1:0.1:1, -3:0.1:0); u = -x / 10 - y; v = x - y / 10; w = - ones (size (x)) / 10; ostreamtube (x, y, z, u, v, w, 1, 0, 0);
См. также: stream3, streamline, streamribbon, streamtube.
-
: streamline
(x, y, z, u, v, w, sx, sy, sz) -
: streamline
(u, v, w, sx, sy, sz) -
: streamline
(…, options) -
: streamline
(hax, …) -
:
h =streamline(…) -
Построить линии тока двумерного или трехмерного векторного поля.
Построить линии тока двумерного или трехмерного векторного поля, заданного с помощью
[u, v]или[u, v, w]. Векторное поле определено на прямоугольной сетке, заданной с помощью[x, y]или[x, y, z]. Линии тока начинаются в начальных точках[sx, sy]или[sx, sy, sz].Входной параметр options — это двумерный вектор вида
[stepsize, max_vertices]. Первый параметр задает размер шага, используемый при интегрировании траектории (по умолчанию 0.1). Допускается отрицательное значение, которое меняет направление интегрирования на противоположное. Второй параметр задает максимальное число сегментов, используемых для построения линии тока (по умолчанию 10 000).Если первый аргумент hax является дескриптором осей, график будет построен в этих осях, а не в текущих осях, возвращаемых
gca.Необязательное возвращаемое значение h — это графический дескриптор объекта hggroup, содержащего линии поля.
Пример:
[x, y] = meshgrid (-1.5:0.2:2, -1:0.2:2); u = - x / 4 - y; v = x - y / 4; streamline (x, y, u, v, 1.7, 1.5);
См. также: stream2, stream3, streamribbon, streamtube, ostreamtube.
-
:
xy =stream2(x, y, u, v, sx, sy) -
:
xy =stream2(u, v, sx, sy) -
:
xy =stream2(…, options) -
Вычислить данные для двумерных линий тока.
Вычисляет линии тока векторного поля, заданного с помощью
[u, v]. Векторное поле определено на прямоугольной сетке, заданной с помощью[x, y]. Линии тока начинаются в начальных точках[sx, sy]. Возвращаемое значение xy содержит массив ячеек с массивами вершин. Если начальная точка находится за пределами векторного поля, возвращается[].Входной параметр options — это двумерный вектор вида
[stepsize, max_vertices]. Первый параметр задает размер шага, используемый при интегрировании траектории (по умолчанию 0.1). Допускается отрицательное значение, которое меняет направление интегрирования на противоположное. Второй параметр задает максимальное число сегментов, используемых для построения линии тока (по умолчанию 10 000).Возвращаемое значение xy — это матрица nverts x 2, содержащая координаты сегментов линии поля.
Пример:
[x, y] = meshgrid (0:3); u = 2 * x; v = y; xy = stream2 (x, y, u, v, 1.0, 0.5);
См. также: streamline, stream3.
-
:
xyz =stream3(x, y, z, u, v, w, sx, sy, sz) -
:
xyz =stream3(u, v, w, sx, sy, sz) -
:
xyz =stream3(…, options) -
Вычислить данные для трехмерных линий тока.
Вычисляет линии тока векторного поля, заданного с помощью
[u, v, w]. Векторное поле определено на прямоугольной сетке, заданной с помощью[x, y, z]. Линии тока начинаются в начальных точках[sx, sy, sz]. Возвращаемое значение xyz содержит массив ячеек с массивами вершин. Если начальная точка находится за пределами векторного поля, возвращается[].Входной параметр options — это двумерный вектор вида
[stepsize, max_vertices]. Первый параметр задает размер шага, используемый при интегрировании траектории (по умолчанию 0.1). Допускается отрицательное значение, которое меняет направление интегрирования на противоположное. Второй параметр задает максимальное число сегментов, используемых для построения линии тока (по умолчанию 10 000).Возвращаемое значение xyz — это матрица nverts x 3, содержащая координаты сегментов линии поля.
Пример:
[x, y, z] = meshgrid (0:3); u = 2 * x; v = y; w = 3 * z; xyz = stream3 (x, y, z, u, v, w, 1.0, 0.5, 0.0);
См. также: stream2, streamline, streamribbon, streamtube, ostreamtube.
-
: compass
(u, v) -
: compass
(z) -
: compass
(…, style) -
: compass
(hax, …) -
:
h =compass(…) -
Построить
(u, v)компоненты векторного поля, исходящего из начала координат полярного графика.Стрелка, представляющая каждый вектор, одним концом находится в начале координат, а ее острие — в точке [u(i), v(i)]. Если задан один комплексный аргумент z, то
u = real (z)иv = imag (z).Стиль графика можно задать с помощью стиля линии style в том же формате, что и в команде
plot.Если первый аргумент hax является дескриптором осей, график будет построен в этих осях, а не в текущих осях, возвращаемых
gca.Необязательное возвращаемое значение h — это вектор графических дескрипторов линейных объектов, представляющих нарисованные векторы.
a = toeplitz ([1;randn(9,1)], [1,randn(1,9)]); compass (eig (a));
-
: feather
(u, v) -
: feather
(z) -
: feather
(…, style) -
: feather
(hax, …) -
:
h =feather(…) -
Построить
(u, v)компоненты векторного поля, исходящего из равноотстоящих точек на оси x.Если задан один комплексный аргумент z, то
u = real (z)иv = imag (z).Стиль графика можно задать с помощью стиля линии style в том же формате, что и в команде
plot.Если первый аргумент hax является дескриптором осей, график будет построен в этих осях, а не в текущих осях, возвращаемых
gca.Необязательное возвращаемое значение h — это вектор графических дескрипторов линейных объектов, представляющих нарисованные векторы.
phi = [0 : 15 : 360] * pi/180; feather (sin (phi), cos (phi));
-
: pcolor
(x, y, c) -
: pcolor
(c) -
: pcolor
(hax, …) -
:
h =pcolor(…) -
Построить двумерный график плотности.
График
pcolorрисует прямоугольники, окрашенные в цвета из матрицы c, на двумерной области, представленной матрицами x и y. x и y — координаты вершин сетки; обычно они являются результатом вызоваmeshgrid. Если x и y — векторы, то типичная вершина имеет координаты (x(j), y(i), c(i,j)). Таким образом, столбцы c соответствуют различным значениям x, а строки c — различным значениям y.Значения c масштабируются в соответствии с диапазоном текущей цветовой карты. Ограничения цветовой оси можно задать командой
caxisили установив свойствоclimродительской оси.Цвет каждой грани ячейки сетки определяется интерполяцией значений c в вершинах этой ячейки. В отличие от этого,
imagescотображает по одной ячейке для каждого элемента c.shadingизменяет атрибут, определяющий способ интерполяции цвета каждой грани ячейки по значениям c, а также видимость ребер ячеек. По умолчанию атрибут имеет значение"faceted": в этом режиме грань каждой ячейки отображается одним цветом, а ее ребра видны.Если первый аргумент hax является дескриптором осей, график будет построен в этих осях, а не в текущих осях, возвращаемых
gca.Необязательное возвращаемое значение h — это графический дескриптор созданного объекта поверхности.
-
: area
(y) -
: area
(x, y) -
: area
(…, lvl) -
: area
(…, prop, val, …) -
: area
(hax, …) -
:
h =area(…) -
Диаграмма с областями для столбцов y.
Этот график показывает вклад каждого значения столбца в сумму строки. По функциональности он подобен
plot (x, cumsum (y, 2)), но область под кривой закрашивается.Если аргумент x опущен, по умолчанию используется
1:rows (y). Можно задать значение lvl, определяющее уровень, от которого будет закрашиваться область под кривой. Уровень по умолчанию — 0.Дополнительные пары свойство/значение передаются непосредственно базовому объекту patch. Полный список свойств приведен в разделе «Свойства объекта Patch».
Если первый аргумент hax является дескриптором осей, график будет построен в этих осях, а не в текущих осях, возвращаемых
gca.Необязательное возвращаемое значение h — это графический дескриптор объекта hggroup, содержащего объекты patch с областями. Свойство
"BaseValue"объекта hggroup можно использовать для изменения уровня, с которого начинается заливка.Пример: проверка тождества sin^2 + cos^2 = 1
t = linspace (0, 2*pi, 100)'; y = [sin(t).^2, cos(t).^2]; area (t, y); legend ("sin^2", "cos^2", "location", "NorthEastOutside");
-
: fill
(x, y, c) -
: fill
(x1, y1, c1, x2, y2, c2) -
: fill
(…, prop, val) -
: fill
(hax, …) -
:
h =fill(…) -
Создать один или несколько залитых двумерных многоугольников.
Входные параметры x и y задают координаты вершин многоугольника. Если входные параметры являются матрицами, то их строки представляют различные вершины, а каждый столбец задаёт отдельный многоугольник.
fillзамкнёт все незамкнутые многоугольники перед построением.Входной параметр c задаёт цвет многоугольника. Простейший вариант — одно обозначение цвета, например в формате
plotили в виде RGB-тройки. В этом случае многоугольники будут иметь один заданный цвет. Если c — вектор или матрица, данные о цвете сначала масштабируются с помощьюcaxis, а затем индексируются в текущей цветовой карте. Вектор-строка задаёт для каждого многоугольника (столбца матриц x и y) один вычисленный цвет. Матрица c того же размера, что и x и y, задаёт цвет каждой вершины, после чего цвет грани интерполируется между вершинами.Можно указать несколько пар «свойство/значение» для базового объекта patch, но их необходимо задавать парами. Полный список свойств приведён в разделе Свойства Patch.
Если первый аргумент hax является дескриптором осей, построение выполняется в этих осях, а не в текущих осях, возвращаемых
gca.Необязательное возвращаемое значение h — вектор графических дескрипторов созданных объектов patch.
Пример: красный квадрат
vertices = [0 0 1 0 1 1 0 1]; fill (vertices(:,1), vertices(:,2), "r"); axis ([-0.5 1.5, -0.5 1.5]) axis equal
-
: fill3
(x, y, z, c) -
: fill3
(x1, y1, z1, c1, x2, y2, z2, c2) -
: fill3
(…, prop, val) -
: fill3
(hax, …) -
:
h =fill3(…) -
Создать один или несколько залитых трёхмерных многоугольников.
Входные параметры x, y и z задают координаты вершин многоугольника. Если входные параметры являются матрицами, то их строки представляют различные вершины, а каждый столбец задаёт отдельный многоугольник.
fill3замкнёт все незамкнутые многоугольники перед построением.Входной параметр c задаёт цвет многоугольника. Простейший вариант — одно обозначение цвета, например в формате
plotили в виде RGB-тройки. В этом случае многоугольники будут иметь один заданный цвет. Если c — вектор или матрица, данные о цвете сначала масштабируются с помощьюcaxis, а затем индексируются в текущей цветовой карте. Вектор-строка задаёт для каждого многоугольника (столбца матриц x, y и z) один вычисленный цвет. Матрица c того же размера, что и x, y и z, задаёт цвет каждой вершины, после чего цвет грани интерполируется между вершинами.Можно указать несколько пар «свойство/значение» для базового объекта patch, но их необходимо задавать парами. Полный список свойств приведён в разделе Свойства Patch.
Если первый аргумент hax является дескриптором осей, построение выполняется в этих осях, а не в текущих осях, возвращаемых
gca.Необязательное возвращаемое значение h — вектор графических дескрипторов созданных объектов patch.
Пример: наклонный красный прямоугольник
vertices = [0 0 0 1 1 0 1 1 1 0 0 1]; fill3 (vertices(:,1), vertices(:,2), vertices(:,3), "r"); axis ([-0.5 1.5, -0.5 1.5, -0.5 1.5]); axis ("equal"); grid ("on"); view (-80, 25);
-
: comet
(y) -
: comet
(x, y) -
: comet
(x, y, p) -
: comet
(hax, …) -
Создать простую анимацию в стиле кометы вдоль траектории, заданной входными векторами координат (x, y).
Если x не задан, по умолчанию используются индексы y.
Скорость кометы можно регулировать параметром p, который задаёт время отображения каждой точки перед переходом к следующей. Значение p по умолчанию —
5 / numel (y).Если первый аргумент hax является дескриптором осей, построение выполняется в этих осях, а не в текущих осях, возвращаемых
gca.См. также: comet3.
-
: comet3
(z) -
: comet3
(x, y, z) -
: comet3
(x, y, z, p) -
: comet3
(hax, …) -
Создать простую анимацию в стиле кометы вдоль траектории, заданной входными векторами координат (x, y, z).
Если задан только z, то для x и y по умолчанию используются индексы z.
Скорость кометы можно регулировать параметром p, который задаёт время отображения каждой точки перед переходом к следующей. Значение p по умолчанию —
5 / numel (z).Если первый аргумент hax является дескриптором осей, построение выполняется в этих осях, а не в текущих осях, возвращаемых
gca.См. также: comet.
© 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/Two_002dDimensional-Plots.html