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)

Figure contains an axes. The axes contains an object of type contour.

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

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

Figure contains an axes. The axes contains an object of type contour.

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

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

Figure contains an axes. The axes contains an object of type contour.

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

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

Figure contains an axes. The axes contains an object of type contour.

Определите 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')

Figure contains an axes. The axes contains an object of type contour.

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

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

Figure contains an axes. The axes contains an object of type contour.

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

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

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

Figure contains an axes. The axes contains an object of type contour.

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

свернуть все

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

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

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

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

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

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

The XData свойство Contour объект сохраняет x -cordinates.

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

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

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

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

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

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

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

The YData свойство Contour объект сохраняет y -cordinates.

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

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

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

The ZData свойство Contour объект сохраняет z -cordinates.

Типы данных: 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
'red' или 'r'Красный[1 0 0]
'green' или 'g'Зеленый[0 1 0]
'blue' или 'b'Синий[0 0 1]
'yellow' или 'y'Желтый[1 1 0]
'magenta' или 'm'Пурпурный[1 0 1]
'cyan' или 'c'Голубой[0 1 1]
'white' или 'w'Белый[1 1 1]
'black' или 'k'Черный[0 0 0]

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

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

Задайте необязательные разделенные разделенными запятой парами Name,Value аргументы. Name - имя аргумента и Value - соответствующее значение. Name должны находиться внутри кавычек. Можно задать несколько аргументов в виде пар имен и значений в любом порядке Name1,Value1,...,NameN,ValueN.

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

Примечание

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

Метки контурных линий, заданные как 'on' или 'off', или как числовое или логическое 1 (true) или 0 (false). Значение 'on' эквивалентно true, и 'off' эквивалентно false. Таким образом, можно использовать значение этого свойства как логическое значение. Значение сохранено в виде логического значения on/off типа matlab.lang.OnOffSwitchState.

  • 'on' - отображение значений высоты вдоль контурных линий.

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

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

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

Вы должны задать ShowText свойство к 'on' для LabelSpacing свойство, чтобы иметь эффект.

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

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

свернуть все

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

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

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

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

The ContourMatrix свойство Contour объект хранит контурную матрицу.

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

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

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