contour3

3-D контурный график

Описание

пример

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

пример

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

пример

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

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

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

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

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

пример

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

Примеры

свернуть все

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

[X,Y,Z] = sphere(50);
contour3(X,Y,Z);

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

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

[X,Y] = meshgrid(-5:0.25:5);
Z = X.^2 + Y.^2;
contour3(Z)

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

Теперь задайте 50 уровни контура и отображение результатов в пределах x и y, используемых для вычисления Z.

contour3(X,Y,Z,50)

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

Определите Z как функция двух переменных, X и Y. Затем постройте график контуров в Z = [-.2 -.1 .1 .2]. Показать метки контуров путем установки ShowText свойство к 'on'.

[X,Y] = meshgrid(-2:0.25:2);
Z = X.*exp(-X.^2-Y.^2);
contour3(X,Y,Z,[-.2 -.1 .1 .2],'ShowText','on')

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

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

[X,Y,Z] = peaks;
contour3(X,Y,Z,[2 2]);

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

Определите Z как функция двух переменных, X и Y. Постройте график 30 контуров Z, а затем установите ширину линии равной 3.

[X,Y] = meshgrid(-2:0.0125:2);
Z = X.*exp(-X.^2-Y.^2);
[M,c] = contour3(X,Y,Z,30);
c.LineWidth = 3;

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

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

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

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

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

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

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

Пример: contour3(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 объект. Если вы не задаете оси, то contour3 графики в текущей системе координат.

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

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

Пример: contour3(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