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 (…) ¶
-
Создает 2-D графики.
Возможны различные комбинации аргументов. Самый простой вариант:
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()применяется к аргументам с более чем двумя измерениями, но не более чем с двумя одиночными измерениями. - Если оба аргумента являются векторами, элементы 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"текущей оси.Аргументы формата:
- стиль линии
-
‘-’ Используются сплошные линии (по умолчанию). ‘--’ Используются пунктирные линии. ‘:’ Используются штриховые линии. ‘-.’ Используются штрихпунктирные линии. - маркер
-
... (остальные таблицы) ...
- цвет
-
‘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:
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 может быть дескриптором осей (axes handle) главной оси, на которой должны быть нанесены данные x1 и y1. Он также может быть двумерным вектором с дескрипторами осей первичной и вторичной осей (см. выходной аргумент ax).
Возвращаемое значение ax — вектор с дескрипторами осей двух осей Y. h1 и h2 — дескрипторы объектов, сгенерированных командами plot.
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 (…) ¶
-
Создаёт 2D график с логарифмической шкалой по оси X.
См. документацию
plotдля описания аргументов, которыеsemilogxбудет принимать.Если первый аргумент hax является дескриптором осей, то построение выполняется на этих осях, а не на текущих осях, возвращаемых
gca.Необязательное возвращаемое значение h — это дескриптор созданного графика.
- : semilogy (y) ¶
- : semilogy (x, y) ¶
- : semilogy (x, y, property, value, …) ¶
- : semilogy (x, y, fmt) ¶
- : semilogy (h, …) ¶
- : h = semilogy (…) ¶
-
Создаёт 2D график с логарифмической шкалой по оси Y.
См. документацию
plotдля описания аргументов, которыеsemilogyбудет принимать.Если первый аргумент hax является дескриптором осей, то построение выполняется на этих осях, а не на текущих осях, возвращаемых
gca.Необязательное возвращаемое значение h — это дескриптор созданного графика.
- : loglog (y) ¶
- : loglog (x, y) ¶
- : loglog (x, y, prop, value, …) ¶
- : loglog (x, y, fmt) ¶
- : loglog (hax, …) ¶
- : h = loglog (…) ¶
-
Создаёт 2D график с логарифмической шкалой по обеим осям.
См. документацию
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. Полный список свойств описан в Свойства объектов 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, …) ¶
- : 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)построит гистограмму.
- : 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 (…) ¶
-
Построение 2D-графика "стебель-лист".
Если задан только один аргумент, он принимается как значения 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 (…) ¶
-
Построение 3D графика столбцов.
Столбцы строятся от высоты 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 (…) ¶
-
Построение 2D диаграммы рассеяния.
В каждой точке, определяемой координатами в векторах x и y, рисуется маркер.
Размер маркеров определяется s, которое может быть скаляром или вектором той же длины, что и x и y. Если s не задано или является пустой матрицей, используется значение по умолчанию 36 квадратных точек (сам размер маркера —
sqrt (s)).Цвет маркеров определяется c, которое может быть строкой, определяющей фиксированный цвет; вектором из 3 элементов, задающим красную, зеленую и синюю составляющие цвета; вектором той же длины, что и 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 — 2-элементный вектор с дескриптором созданного столбчатого графика и вторым дескриптором созданного линейного графика.
Пример использования
paretoвыглядит следующим образомCheese = {"Cheddar", "Swiss", "Camembert", ... "Munster", "Stilton", "Blue"}; Sold = [105, 30, 70, 10, 15, 20]; pareto (Sold, Cheese);
- : rose (th) ¶
- : rose (th, nbins) ¶
- : rose (th, bins) ¶
- : rose (hax, …) ¶
- : h = rose (…) ¶
- : [thout rout] = 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);
Примечание по программированию: При указании центров столбцов с помощью входного значения bins, границы для столбцов 2 до N-1 расположены так, что
bins(i)находится посередине между границами. Конечная граница отображается посередине между столбцом N и столбцом 1. Это гарантирует, что все входные значения th будут помещены в один из столбцов, но также означает, что для некоторых комбинаций столбцы 1 и N могут не быть центрированы на заданных пользователем значениях.
Функции 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 (…) ¶
-
Создать 3D-контурный график.
contour3строит кривые уровня (линии контура) матрицы z на уровне Z, соответствующем каждому контуру. Это в отличие отcontour, которое строит все линии контура на одном уровне Z и создает 2D-график.Кривые уровня берутся из матрицы контура 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 (…) ¶
-
Создать 2D-график с ошибками.
Возможны многие различные сочетания аргументов. Простейшая форма:
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 (…) ¶
-
Создаёт 2D графики с логарифмической шкалой по оси 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 (…) ¶
-
Создаёт 2D графики с логарифмической шкалой по оси 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 (…) ¶
-
Создаёт 2D графики на двойной логарифмической шкале с ошибками.
Возможны различные сочетания аргументов. Наиболее распространённый вариант:
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-го сегмента соответствует проценту, который элемент xi составляет от общей суммы x:
pct = x(i) / sum (x).Необязательный вход explode — вектор той же длины, что и x, который, если не равен нулю, «выбрасывает» сегмент из круговой диаграммы.
Необязательный вход labels — ячейный массив строк той же длины, что и x, задающий метку для каждого сегмента.
Если первый аргумент hax является дескриптором осей, то график строится в этих осях, а не в текущих осях, возвращаемых
gca.Необязательное возвращаемое значение h — список дескрипторов объектов патча и текста, генерирующих график.
Примечание: Если
sum (x) ≤ 1то элементы x интерпретируются как проценты напрямую и не нормализуютсяsum (x). Кроме того, если сумма меньше 1, то на круговой диаграмме будет отсутствующий сегмент, представляющий пропущенный, не указанный процент.
- : pie3 (x) ¶
- : pie3 (…, explode) ¶
- : pie3 (…, labels) ¶
- : pie3 (hax, …) ¶
- : h = pie3 (…) ¶
-
Построить трёхмерную круговую диаграмму.
При вызове с единственным векторным аргументом создаётся трёхмерная круговая диаграмма элементов в x. Размер i-го сегмента соответствует проценту, который элемент xi представляет от общей суммы x:
pct = x(i) / sum (x).Необязательный вход explode — вектор той же длины, что и x, который, если не равен нулю, «выбрасывает» сегмент из круговой диаграммы.
Необязательный вход labels — ячейный массив строк той же длины, что и x, задающий метку для каждого сегмента.
Если первый аргумент hax является дескриптором осей, то график строится в этих осях, а не в текущих осях, возвращаемых
gca.Необязательное возвращаемое значение h — список дескрипторов графических объектов патча, поверхности и текста, генерирующих график.
Примечание: Если
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 отключает все масштабирование. Значение по умолчанию 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 могут быть заданы как векторы, и
meshgridиспользуется для создания 3D сетки.Если x и y не заданы, они предполагаются
(1:m, 1:n), где[m, n] = size (u).Необязательный параметр s – скалярный множитель для масштабирования векторов относительно шага сетки. Значение 1.0 приводит к тому, что наибольший вектор заполняет один ячейку сетки. Значение 0 отключает масштабирование. По умолчанию значение 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-D или 3-D векторных полей.
Отображение линий тока 2-D или 3-D векторного поля, заданного
[u, v]или[u, v, w]. Векторное поле определено на прямоугольной сетке, заданной[x, y]или[x, y, z]. Линии тока начинаются в точках[sx, sy]или[sx, sy, sz].Входной параметр options является 2-мерным вектором вида
[stepsize, max_vertices]. Первый параметр задаёт шаг, используемый для интегрирования траектории (по умолчанию 0,1). Разрешено отрицательное значение, которое изменит направление интегрирования. Второй параметр задаёт максимальное количество сегментов, используемых для создания линии тока (по умолчанию 10000).Если первый аргумент hax является дескриптором оси, то график строится на этой оси, а не на текущей оси, возвращаемой
gca.Необязательное возвращаемое значение h является дескриптором группы графических объектов, составляющих линии поля.
Пример:
[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) ¶
-
Вычисление данных по линиям тока 2-D.
Вычисляет линии тока векторного поля, заданного
[u, v]. Векторное поле определено на прямоугольной сетке, заданной[x, y]. Линии тока начинаются в точках[sx, sy]. Возвращаемое значение xy содержит ячейный массив массивов вершин. Если начальная точка находится вне векторного поля, возвращается[].Входной параметр options является 2-мерным вектором вида
[stepsize, max_vertices]. Первый параметр задаёт шаг, используемый для интегрирования траектории (по умолчанию 0,1). Разрешено отрицательное значение, которое изменит направление интегрирования. Второй параметр задаёт максимальное количество сегментов, используемых для создания линии тока (по умолчанию 10000).Возвращаемое значение 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) ¶
-
Вычисление данных по линиям тока 3-D.
Вычисление линий тока векторного поля, заданного
[u, v, w]. Векторное поле определено на прямоугольной сетке, заданной[x, y, z]. Линии тока начинаются в точках[sx, sy, sz]. Возвращаемое значение xyz содержит ячейный массив массивов вершин. Если начальная точка находится вне векторного поля, возвращается[].Входной параметр options является 2-мерным вектором вида
[stepsize, max_vertices]. Первый параметр задаёт шаг, используемый для интегрирования траектории (по умолчанию 0,1). Разрешено отрицательное значение, которое изменит направление интегрирования. Второй параметр задаёт максимальное количество сегментов, используемых для создания линии тока (по умолчанию 10000).Возвращаемое значение 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 (…) ¶
-
Создайте 2D-график плотности.
Диаграмма
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.Дополнительные пары свойство/значение передаются непосредственно объекту подлежащей области. Полный список свойств описан в Свойства области.
Если первый аргумент hax — дескриптор оси, то построение выполняется на этой оси, а не на текущей оси, возвращаемой
gca.Необязательное возвращаемое значение h — графический дескриптор объекта hggroup, содержащего объекты области. Свойство
"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, вычислит цвет каждой вершины, а затем интерполирует цвет грани между вершинами.Можно указать несколько пар свойство/значение для объекта подлежащей области, но они должны появляться парами. Полный список свойств описан в Свойства области.
Если первый аргумент hax — дескриптор оси, то построение выполняется на этой оси, а не на текущей оси, возвращаемой
gca.Необязательное возвращаемое значение h — вектор графических дескрипторов созданных объектов области.
Пример: красная квадрат
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, вычислит цвет каждой вершины, а затем интерполирует цвет грани между вершинами.Можно указать несколько пар свойство/значение для объекта патча, но они должны быть представлены парами. Полный список свойств описан в Свойства патча.
Если первый аргумент hax — дескриптор осей, то график будет построен на этих осях, а не на текущих осях, возвращаемых
gca.Необязательное возвращаемое значение h — вектор графических дескрипторов созданных объектов патчей.
Пример: наклонный красный прямоугольник
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/v8.1.0/Two_002dDimensional-Plots.html