contourf

Заполненный 2D контурный график

Синтаксис

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

Описание

пример

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

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

пример

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

пример

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

пример

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

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

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

пример

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

Примеры

свернуть все

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

Z = peaks;
contourf(Z)

Задайте Z как функцию двух переменных, X и Y. Затем отобразите контуры на 10 уровнях Z.

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

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

Белая область соответствует высотам меньше, чем 2. Фиолетовая область соответствует высотам между 2 и 3. И желтая область соответствует высотам, которые больше, чем 3.

[X,Y,Z] = peaks(50);
contourf(X,Y,Z,[2 3],'ShowText','on')

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

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

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

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

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

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

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

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

Z = peaks;
Z(:,26) = NaN;
contourf(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

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

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

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

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

Функция contourf использует текущую палитру, чтобы заполнить пробелы между уровнями в графике. Первый цвет заполняет пробел между самым низким уровнем и уровнем выше его. Последний цвет соответствует Z - значения, которые больше, чем высший уровень в графике. Если Z содержит значения, которые меньше, чем самый низкий уровень, отображенный в графике, области между самым низким уровнем и самым маленьким Z - значение является белым.

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

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

Пример: contourf(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. Если вы не задаете оси, то contourf строит в текущую систему координат.

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

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

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