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(…)¶ -
Создайте графики 2D.
Возможны многие различные комбинации аргументов. Самый простой вид —
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, ни пары свойство/значение не указаны, используется стиль графика по умолчанию — сплошные линии без маркеров и цвет, определяемый свойством
"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(…)¶ -
Построение двух наборов данных с независимыми осями ординат и общей осью абсцисс.
Аргументы x1 и y1 определяют аргументы для первого графика, а x1 и y2 — для второго.
По умолчанию аргументы вычисляются с
feval (@plot, x, y). Однако тип графика можно изменить с помощью аргумента fcn, в этом случае графики генерируются сfeval (fcn, x, y). fcn может быть функцией-обработчиком, встроенной функцией или строкой имени функции.Функцию для каждого из графиков можно независимо определить с помощью fun1 и fun2.
Первый аргумент hax может быть дескриптором осей, на которых нужно построить данные x1 и y1. Он также может быть двухелементным вектором с дескрипторами осей основной и дополнительной (см. вывод ax).
Возвращаемое значение ax — вектор с дескрипторами осей двух осей ординат. 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(…)¶ -
Построение 2-D графика с логарифмической шкалой по оси абсцисс.
См. документацию
plot, чтобы узнать, какие аргументы принимаетsemilogx.Если первый аргумент hax является дескриптором осей, то построение выполняется на этих осях, а не на текущих осях, возвращаемых
gca.Необязательное возвращаемое значение h — дескриптор созданного графика.
-
: semilogy
(y)¶ -
: semilogy
(x, y)¶ -
: semilogy
(x, y, property, value, …)¶ -
: semilogy
(x, y, fmt)¶ -
: semilogy
(h, …)¶ -
:
h =semilogy(…)¶ -
Построение 2-D графика с логарифмической шкалой по оси ординат.
См. документацию
plot, чтобы узнать, какие аргументы принимаетsemilogy.Если первый аргумент hax является дескриптором осей, то построение выполняется на этих осях, а не на текущих осях, возвращаемых
gca.Необязательное возвращаемое значение h — дескриптор созданного графика.
-
: loglog
(y)¶ -
: loglog
(x, y)¶ -
: loglog
(x, y, prop, value, …)¶ -
: loglog
(x, y, fmt)¶ -
: loglog
(hax, …)¶ -
:
h =loglog(…)¶ -
Построение 2-D графика с логарифмическими шкалами по обеим осям.
См. документацию
plot, чтобы узнать, какие аргументы принимаетloglog.Если первый аргумент 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 является матрицей, то каждый столбец y рассматривается как отдельная столбчатая диаграмма, нарисованная на одном графике. По умолчанию столбцы отображаются рядом друг с другом. Это поведение можно изменить с помощью аргумента style, который может принимать следующие значения:
-
"grouped"(по умолчанию) -
Столбцы расположены рядом друг с другом с промежутком между ними и центрированы над координатой X.
"stacked"-
Столбцы наложены друг на друга, так что каждое значение X имеет один столбец, состоящий из нескольких сегментов.
"hist"-
Столбцы расположены рядом друг с другом без промежутков и центрированы над координатой X.
"histc"Столбцы расположены рядом друг с другом без промежутков и выровнены слева по координате X.
Необязательные пары свойство/значение передаются непосредственно объектам базовых объектов. Полный список свойств описан в Свойства объектов 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 является матрицей, то каждый столбец y рассматривается как отдельная столбчатая диаграмма, нарисованная на одном графике. По умолчанию столбцы отображаются рядом друг с другом. Это поведение можно изменить с помощью аргумента style, который может принимать следующие значения:
-
"grouped"(по умолчанию) -
Столбцы расположены рядом друг с другом с промежутком между ними и центрированы над координатой Y.
"stacked"-
Столбцы наложены друг на друга, так что каждое значение Y имеет один столбец, состоящий из нескольких сегментов.
"hist"-
Столбцы расположены рядом друг с другом без промежутков и центрированы над координатой Y.
"histc"Столбцы расположены рядом друг с другом без промежутков и выровнены слева по координате Y.
Необязательные пары свойство/значение передаются непосредственно объектам базовых объектов. Полный список свойств описан в Свойства объектов 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Внешний вид гистограммы может быть изменён путём задания пар свойство/значение для объекта подложки. Например, цвет заливки и границ может быть изменён:
hist (randn (1, 100), 25, "facecolor", "r", "edgecolor", "b");
Полный список свойств подложки описан в Свойствах подложки. Если не указано, то значения по умолчанию для цветов гистограммы берутся из свойства
"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(…)¶ -
Построение графиков 2-D столбиков.
Если задан только один аргумент, он принимается как значения по оси 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(…)¶ -
Построение 3-D графика столбиков.
Столбики нарисованы от высоты 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, которое может быть строкой, определяющей фиксированный цвет; 3-элементный вектор, задающий красную, зеленую и синюю компоненты цвета; вектор той же длины, что и x, задающий масштабированный индекс в текущей цветовой карте; или Nx3 матрица, определяющая RGB цвет каждого маркера индивидуально.
Вид маркера можно изменить с помощью аргумента style; это строка, определяющая маркер аналогично команде
plot. Если маркер не указан, по умолчанию используется"o"или круги. Если указан аргумент"filled", маркеры заполняются.Если первый аргумент hax является дескриптором оси, то построение выполняется на этой оси, а не на текущей оси, возвращаемой
gca.Необязательное возвращаемое значение h — это дескриптор графического объекта созданного объекта scatter.
Пример:
x = randn (100, 1); y = randn (100, 1); scatter (x, y, [], sqrt (x.^2 + y.^2));
Примечание по программированию: Полный список свойств описан в Свойства Scatter.
-
: 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 — это вектор из двух элементов с дескриптором графического объекта для созданного столбчатого графика и вторым дескриптором для созданного линейного графика.
Пример использования
paretoCheese = {"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 является матрицей, то каждый столбец матрицы th создаёт отдельную гистограмму.
Если nbins задано и является скаляром, то гистограмма строится с nbin интервалами. Если bins является вектором, то центр каждого интервала определяется значениями в 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 отсутствует, используется стиль графика yerrorbars ("~").
Если аргумент fmt указан, он интерпретируется, как и в обычных графиках, для указания стиля линии, маркера и цвета. Кроме того, fmt может включать стиль errorbar, который должен предшествовать обычным кодам формата. Поддерживаются следующие стили errorbar:
- ‘~’
-
Устанавливает стиль графика yerrorbars (по умолчанию).
- ‘>’
-
Устанавливает стиль графика xerrorbars.
- ‘~>’
-
Устанавливает стиль графика xyerrorbars.
- ‘#~’
-
Устанавливает стиль графика yboxes.
- ‘#’
-
Устанавливает стиль графика xboxes.
- ‘#~>’
Устанавливает стиль графика xyboxes.
Если первый аргумент hax — это дескриптор осей, то построение выполняется на этих осях, а не на текущих осях, возвращаемых
gca.Необязательное возвращаемое значение h — это дескриптор объекта hggroup, представляющего график данных и ошибки.
Примечание: для совместимости с MATLAB рисуется линия через все точки данных. Однако большинство научных графиков с ошибками — это диаграмма рассеяния точек с ошибками. Для достижения этого добавьте стиль маркера в аргумент fmt, например
".". Или же удалите линию, изменив возвращаемый дескриптор графикиset (h, "linestyle", "none").Примеры:
errorbar (x, y, ex, ">.r")
производит xerrorbar график y по x с x-ошибками от x-ex до x+ex. Используется маркер
".", так что соединяющая линия не рисуется, а ошибки появляются в красном цвете.errorbar (x, y1, ey, "~", x, y2, ly, uy)производит yerrorbar графики y1 и y2 по x. Ошибки для y1 отрисовываются от y1-ey до y1+ey, для y2 от y2-ly до y2+uy.
errorbar (x, y, lx, ux, ly, uy, "~>")производит xyerrorbar график 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 — дескриптор созданного графика.
Примечание к реализации: полярная ось рисуется с помощью объектов line и text, инкапсулированных в hggroup. Свойства hggroup связаны с исходным объектом оси таким образом, что изменение свойства отображения, например,
fontname, обновит полярную ось. В исходный объект оси добавлены два новых свойства –rtick,ttick– которые заменяютxtick,ytick. Первое – список расположений делений по радиальному направлению (rho); второе – список расположений делений по угловому направлению (theta), заданных в градусах, т.е. в диапазоне 0–359.
-
: pie
(x)¶ -
: pie
(…, explode)¶ -
: pie
(…, labels)¶ -
: pie
(hax, …)¶ -
:
h =pie(…)¶ -
Постройте круговую диаграмму.
При вызове с одним векторным аргументом создается круговая диаграмма элементов в x. Размер i-го сегмента соответствует проценту, который элемент xi представляет от общей суммы x:
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(…)¶ -
Постройте 3D круговую диаграмму.
При вызове с одним векторным аргументом создается 3D круговая диаграмма элементов в x. Размер i-го сегмента соответствует проценту, который элемент xi представляет от общей суммы x:
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(…)¶ -
Отрисовка 2-мерного векторного поля с помощью стрелок.
Отрисовывает компоненты (u, v) векторного поля в точках сетки, определённых координатами (x, y). Если сетка равномерная, то x и y могут быть заданы как векторы сетки, и
meshgridиспользуется для создания 2-мерной сетки.Если 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(…)¶ -
Отрисовка 3-мерного векторного поля с помощью стрелок.
Отрисовывает компоненты (u, v, w) векторного поля в точках сетки, определённых координатами (x, y, z). Если сетка равномерная, то x, y и z могут быть заданы как векторы сетки, и
meshgridиспользуется для создания 3-мерной сетки.Если 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 представляет собой 2-мерный вектор вида
[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 представляет собой 2-мерный вектор вида
[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(…)¶ -
Строит линии тока 2-мерных или 3-мерных векторных полей.
Строит линии тока 2-мерного или 3-мерного векторного поля, заданного с помощью
[u, v]или[u, v, w]. Векторное поле определено на прямоугольной сетке, заданной с помощью[x, y]или[x, y, z]. Линии тока начинаются в точках начальных условий[sx, sy]или[sx, sy, sz].Входной параметр options — 2-мерный вектор вида
[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)¶ -
Вычисление данных о линиях тока в 2D.
Вычисляет линии тока векторного поля, заданного
[u, v]. Векторное поле определено на прямоугольной сетке, заданной[x, y]. Линии тока начинаются в точках начальных условий[sx, sy]. Возвращаемое значение xy содержит массив вершин. Если точка начала находится вне векторного поля, возвращается[].Входной параметр options — 2-мерный вектор вида
[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)¶ -
Вычисление данных о линиях тока в 3D.
Вычисляет линии тока векторного поля, заданного
[u, v, w]. Векторное поле определено на прямоугольной сетке, заданной[x, y, z]. Линии тока начинаются в точках начальных условий[sx, sy, sz]. Возвращаемое значение xyz содержит массив вершин. Если точка начала находится вне векторного поля, возвращается[].Входной параметр options — 2-мерный вектор вида
[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(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(…)¶ -
Строит компоненты векторного поля, исходящего из равноотстоящих точек на оси 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(…)¶ -
Создаёт один или несколько заполненных 2D многоугольников.
Входы 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(…)¶ -
Создайте одну или несколько заполненных 3D-полигонов.
Входы 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–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/Two_002dDimensional-Plots.html