контур

Контурный график матрицы

Синтаксис

contour(Z)
contour(X,Y,Z)
contour(___,levels)
contour(___,LineSpec)
contour(___,Name,Value)
contour(ax,___)
M = contour(___)
[M,c] = contour(___)

Описание

пример

contour(Z) создает контурный график, содержащий изолинии матричного Z, где Z содержит значения высоты на x-y плоскость. MATLAB® автоматически выбирает линии контура, чтобы отобразиться. Индексами строки и столбца Z является x и координаты y в плоскости, соответственно.

пример

contour(X,Y,Z) задает x и координаты y для значений в Z.

пример

contour(___,levels) задает линии контура, чтобы отобразиться в качестве последнего аргумента в любом из предыдущих синтаксисов. Задайте levels как скалярное значение n, чтобы отобразить линии контура в n автоматически выбранные уровни (высоты). Чтобы чертить линии контура на определенных высотах, задайте levels как вектор монотонно увеличения значений. Чтобы чертить контуры на одной высоте (k), задайте levels как двухэлементный вектор - строку [k k].

пример

contour(___,LineSpec) задает стиль и цвет линий контура.

пример

contour(___,Name,Value) задает дополнительные опции для контурного графика с помощью одного или нескольких аргументов пары "имя-значение". Задайте опции после всех других входных параметров. Для списка свойств смотрите Свойства контура.

contour(ax,___) отображает контурный график в целевых осях. Задайте оси в качестве первого аргумента в любом из предыдущих синтаксисов.

M = contour(___) возвращает матрицу контура M, который содержит (x, y) координаты вершин на каждом уровне.

пример

[M,c] = contour(___) возвращает матрицу контура и объект c контура. Используйте c, чтобы установить свойства после отображения контурного графика.

Примеры

свернуть все

Создайте матрицы X и Y, которые задают сетку в x-y плоскости. Задайте матричный Z как высоты выше той сетки. Затем постройте контуры Z.

x = linspace(-2*pi,2*pi);
y = linspace(0,4*pi);
[X,Y] = meshgrid(x,y);
Z = sin(X)+cos(Y);
contour(X,Y,Z)

Задайте Z как функцию X и Y. В этом случае вызовите функцию peaks, чтобы создать X, Y и Z. Затем постройте 20 контуров Z.

[X,Y,Z] = peaks;
contour(X,Y,Z,20)

Отобразите контуры функции peaks в Z = 1.

[X,Y,Z] = peaks;
v = [1,1];
contour(X,Y,Z,v)

Создайте контурный график функции peaks и задайте стиль пунктирной линии.

[X,Y,Z] = peaks;
contour(X,Y,Z,'--')

Задайте Z как функцию двух переменных, X и Y. Затем создайте контурный график этой функции и отобразите метки путем установки свойства ShowText на 'on'.

x = -2:0.2:2;
y = -2:0.2:3;
[X,Y] = meshgrid(x,y);
Z = X.*exp(-X.^2-Y.^2);
contour(X,Y,Z,'ShowText','on')

Создайте контурный график функции peaks. Сделайте линии контура более толстыми путем установки свойства LineWidth на 3.

Z = peaks;
[M,c] = contour(Z);
c.LineWidth = 3;

Вставьте значения NaN везде, где существуют разрывы на поверхности. Функция contour не чертит линии контура в тех областях.

Задайте матричный Z как выборку функции peaks. Замените все значения в столбце 26 со значениями NaN. Затем постройте контуры измененной матрицы Z.

Z = peaks;
Z(:,26) = NaN;
contour(Z)

Входные параметры

свернуть все

x-, заданные как матрица тот же размер как Z, или как вектор с длиной n, где [m,n] = size(Z). Значением по умолчанию X является векторный (1:n).

Когда X является матрицей, значения должны строго увеличиваться или уменьшаться по одному измерению и оставаться постоянными по другому измерению. Размерность, которая отличается, должна быть противоположностью размерности, которая отличается по Y. Можно использовать функцию meshgrid, чтобы создать матрицы Y и X.

Когда X является вектором, значения должны строго увеличиваться или уменьшаться.

Пример: X = 1:10

Пример: X = [1 2 3; 1 2 3; 1 2 3]

Пример: [X,Y] = meshgrid(1:10)

Свойство XData объектно-ориентированной памяти Contour x - координаты.

Типы данных: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

y-, заданные как матрица тот же размер как Z, или как вектор с длиной m, где [m,n] = size(Z). Значением по умолчанию Y является векторный (1:m).

Когда Y является матрицей, значения должны строго увеличиваться или уменьшаться по одному измерению и оставаться постоянными по другому измерению. Размерность, которая отличается, должна быть противоположностью размерности, которая отличается по X. Можно использовать функцию meshgrid, чтобы создать матрицы Y и X.

Когда Y является вектором, значения должны строго увеличиваться или уменьшаться.

Пример: Y = 1:10

Пример: Y = [1 1 1; 2 2 2; 3 3 3]

Пример: [X,Y] = meshgrid(1:10)

Свойство YData объектно-ориентированной памяти Contour y - координаты.

Типы данных: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

z-, заданные как матрица. Эта матрица должна иметь по крайней мере две строки и два столбца, и она должна содержать по крайней мере два различных значения.

Пример: Z = peaks(20)

Свойство ZData объектно-ориентированной памяти Contour z - координаты.

Типы данных: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

Очертите уровни, заданные как скалярное целое число или вектор. Используйте этот аргумент, чтобы управлять номером и местоположением линий контура. Когда вы не задаете уровни, функция contour выбирает уровни автоматически.

  • Чтобы чертить линии контура в n автоматически выбранные высоты, задайте уровни как скалярное значение n.

  • Чтобы чертить линии контура на определенных высотах, задайте levels как вектор монотонно увеличения значений.

  • Чтобы чертить линии контура на одной высоте k, задайте levels как двухэлементный вектор - строку [k k].

Пример: contour(peaks,10) чертит линии контура на 10 автоматически выбранных высотах на функции peaks.

Пример: contour(peaks,[-4 0 4]) чертит линии контура на 3 определенных высотах на функции peaks: -4, 0 и 4.

Пример: contour(peaks,[3 3]) чертит линии контура, чтобы показать, где высотой функции peaks является 3.

Типы данных: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

Стиль линии и цвет, заданный как вектор символов или скаляр строки, содержащий символы стиля линии, параметры цвета или обоих. Символы стиля линии перечислены в следующей таблице, и они могут появиться в любом порядке. Проигнорированы символы маркера, такие как 'o'.

Вы не должны задавать и стиль линии и цвет. Например, если вы не используете стиль линии и задаете цвет, затем график показывает сплошные линии с помощью заданного цвета.

Стиль линииОписаниеПолучившаяся строка
-Сплошная линия (значение по умолчанию)

--Пунктирная линия

:Пунктирная линия

-.Штрихпунктирная линия

Эта таблица приводит доступные параметры цвета.

ОпцияОписаниеЭквивалентный триплет RGB
'красный' или 'r'Красный[1 0 0]
'green' или 'g'Зеленый[0 1 0]
'blue' или 'b'Синий[0 0 1]
'yellow' или 'y'Желтый[1 1 0]
'пурпурный' или 'm'Пурпурный[1 0 1]
'голубой' или 'c'Голубой[0 1 1]
'white' или 'w'Белый[1 1 1]
'black' или 'k'Черный[0 0 0]

Целевые оси, заданные как объект Axes. Если вы не задаете оси, то contour строит в текущую систему координат.

Аргументы в виде пар имя-значение

Укажите необязательные аргументы в виде пар ""имя, значение"", разделенных запятыми. Имя (Name) — это имя аргумента, а значение (Value) — соответствующее значение. Name должен появиться в кавычках. Вы можете задать несколько аргументов в виде пар имен и значений в любом порядке, например: Name1, Value1, ..., NameN, ValueN.

Пример: contour(Z,'ShowText','on') отображает метки линии контура.

Примечание

Перечисленные здесь свойства являются только подмножеством. Для полного списка смотрите Свойства контура.

Метки линии контура, заданные как одно из этих значений:

  • 'off' Не маркируйте линии контура.

  • 'on' — Отобразите значения высоты вдоль линий контура.

Ширина линии контура, заданная как положительное значение в точках. Один пункт равен 1/72 дюйма.

Маркируйте интервал вдоль линий контура, заданных как скалярное значение в точках, где одна точка составляет 1/72 дюйма. Используйте это свойство управлять количеством меток контура вдоль линий контура. Меньшие значения производят больше меток.

Необходимо установить свойство ShowText на 'on' для свойства LabelSpacing иметь эффект.

Если вы используете функцию clabel, чтобы отобразить метки, то свойство LabelSpacing не имеет никакого эффекта, и график отображает одну метку на строку.

Выходные аргументы

свернуть все

Матрица контура, возвращенная как матрица 2D строки. Эта матрица содержит уровни контура (высоты) и координаты вершин на каждом уровне. Данные располагаются последовательно в n наборах столбцов для n линий контура:

  • Первый столбец в каждом наборе содержит уровень контура и количество вершин на том уровне. Главный номер является уровнем контура, и нижний номер является количеством вершин.

  • Последующие столбцы в наборе (x, y) координаты вершин. Каждый столбец представляет упорядоченную пару. Главным номером является x - координата, и нижним номером является y - координата.

Например, вот является первые несколько столбцов матрицы контура M = contour(peaks(3)):

Свойство ContourMatrix объектно-ориентированной памяти Contour матрица контура.

Объект Contour. Используйте этот объект установить свойства после отображения контурного графика.

Расширенные возможности

Представлено до R2006a