meshc

Контурный график под сетчатой объемной поверхностной диаграммой

Описание

пример

meshc(X,Y,Z) создает сетчатый график с контурным графиком под ним. Сетчатый график является трехмерной поверхностью, которая имеет твердые ребра цвета и не имеет цветов лица. А графики функций значения в матрице Z как высоты над сеткой в плоскости x - y заданные X и Y. Цвета ребер варьируются в зависимости от высот, заданных Z.

meshc(Z) создает mesh и контурный график и использует индексы столбцов и строк элементов в Z как x - и y - координаты.

пример

meshc(___,C) задает цвет ребер.

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

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

пример

sc = meshc(___) возвращает графический массив, который включает объект поверхности графика и объект контура. Использование sc для изменения mesh и контурных графиков после их создания. Список свойств см. в разделе «Свойства поверхности» и «Свойства контура».

Примеры

свернуть все

Создайте три матрицы одинакового размера. Затем постройте график как сетчатый график с контурным графиком под. В сетчатый график используются Z для высоты и цвета.

[X,Y] = meshgrid(-3:.125:3);
Z = peaks(X,Y);
meshc(X,Y,Z)

Figure contains an axes. The axes contains 2 objects of type surface, contour.

Задайте цвета для mesh и контурного графика путем включения четвертого матричного входа C. Графики используют Z для высоты и C для цвета. Задайте цвета с помощью палитры, которая использует одинарные числа для подставки цветов на спектре. Когда вы используете палитру, C - тот же размер, что и Z. Добавьте цветовую панель к графику, чтобы показать, как значения данных в C соответствуют цветам в палитре.

[X,Y] = meshgrid(-3:.125:3);
Z = peaks(X,Y);
C = X.*Y;
meshc(X,Y,Z,C)
colorbar

Figure contains an axes. The axes contains 2 objects of type surface, contour.

Создать сетчатый график с контурным графиком под ним. Чтобы разрешить дальнейшие изменения, присвойте графический массив, содержащий объекты поверхности и контура, переменной sc.

[X,Y] = meshgrid(-5:.5:5);
Z = Y.*sin(X) - X.*cos(Y);
sc = meshc(X,Y,Z);

Figure contains an axes. The axes contains 2 objects of type surface, contour.

Индексируйте в sc для доступа и изменения свойств mesh и контурных графиков после их создания. Доступ к сетчатому графику возможен как sc(1) и контурный график как sc(2). Для примера измените ребро цвета двух графиков путем установки EdgeColor свойства.

sc(1).EdgeColor = 'r';
sc(2).EdgeColor = 'b';

Figure contains an axes. The axes contains 2 objects of type surface, contour.

Контурные линии появляются на минимальном уровне z по умолчанию, но можно изменить местоположение, установив ZLocation свойство.

Отобразите peaks набор данных как сетчатый график с контурами на минимальном уровне z. Задайте возвращаемый аргумент при вызове meshc функцию, чтобы вы могли получить доступ к Contour объект.

Z = peaks;
sc = meshc(Z);

Figure contains an axes. The axes contains 2 objects of type surface, contour.

Получите текущую систему координат и удлините верхний предел оси Z до 15. Затем переместите контуры на максимальный z-уровень.

ax = gca;
ax.ZLim(2) = 15;
sc(2).ZLocation = 'zmax';

Figure contains an axes. The axes contains 2 objects of type surface, contour.

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

свернуть все

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

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

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

The XData свойства поверхности и контурных объектов сохраняют x -согласованные .

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

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

Пример: [X,Y] = meshgrid(-5:0.5:5)

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

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

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

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

The YData свойства поверхности и контурных объектов сохраняют y -согласованные .

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

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

Пример: [X,Y] = meshgrid(-5:0.5:5)

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

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

Z задает высоту сетчатого графика в каждом x - y - координате. Если вы не задаете цвета, то Z также задает цвета ребер сетки.

The ZData свойства поверхности и контурных объектов сохраняют z -согласованные .

Пример: Z = [1 2 3; 4 5 6]

Пример: Z = sin(x) + cos(y)

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

Цветовой массив, заданный как m-by- n матрица индексов палитры или как m-by- n-by- 3 массив триплетов RGB, где Z является m-by- n.

  • Чтобы использовать цвета палитры, задайте C как матрица. Для каждой точки сетки на поверхности сетки, C указывает цвет в палитре. The CDataMapping свойство объекта поверхности управляет тем, как значения в C соответствуют цветам в палитре.

  • Чтобы использовать цвета truecolor, задайте C как массив триплетов RGB.

Для получения дополнительной информации смотрите Различия между Палитрами и Труеколором.

The CData свойство объекта surface сохраняет цветовой массив. Для дополнительного контроля окрашивания поверхности используйте FaceColor и EdgeColor свойства.

Графическое изображение осей, заданное как axes объект. Если вы не задаете оси, то meshc графики в текущей системе координат.

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

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

Пример: meshc(X,Y,Z,'EdgeColor','red') создает mesh с красными линиями.

Примечание

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

Ребра для отображения, заданные как 'both', 'row', или 'column'.

Цвет ребра, заданный как одно из значений, перечисленных здесь. Цвет по умолчанию [0 0 0] соответствует чёрным ребрам.

ЗначениеОписание
'none'Не рисуйте ребер.
'flat'

Используйте другой цвет для каждого ребра на основе значений в CData свойство. Сначала необходимо задать CData свойство как матрица того же размера, что и ZData. Значение цвета в первой вершине каждой грани (в положительном x и y направлениях) определяет цвет для смежных ребер. Вы не можете использовать это значение, когда EdgeAlpha для свойства задано значение 'interp'.

'interp'

Используйте интерполированную раскраску для каждого ребра на основе значений в CData свойство. Сначала необходимо задать CData свойство как матрица того же размера, что и ZData. Цвет изменяется между каждым ребром путем линейной интерполяции значений цвета в вершинах. Вы не можете использовать это значение, когда EdgeAlpha для свойства задано значение 'flat'.

Триплет RGB, шестнадцатеричный цветовой код или название цвета

Используйте указанный цвет для всех ребер. Эта опция не использует значения цветов в CData свойство.

Триплеты RGB и шестнадцатеричные цветовые коды полезны для определения пользовательских цветов.

  • Триплет RGB представляет собой трехэлементный вектор-строку, элементы которого определяют интенсивность красных, зеленых и синих компонентов цвета. Интенсивность должна быть в области значений [0,1]; например, [0.4 0.6 0.7].

  • Шестнадцатеричный код цвета - это вектор символов или строковый скаляр, который начинается с хэш-символа (#), за которым следуют три или шесть шестнадцатеричных цифр, которые могут варьироваться от 0 на F. Значения не зависят от регистра. Таким образом, цветовые коды '#FF8800', '#ff8800', '#F80', и '#f80' являются эквивалентными.

Кроме того, вы можете задать имена некоторых простых цветов. В этой таблице перечислены именованные опции цвета, эквивалентные триплеты RGB и шестнадцатеричные цветовые коды.

Название цветаКраткое имяТриплет RGBШестнадцатеричный цветовой кодВнешность
'red''r'[1 0 0]'#FF0000'

'green''g'[0 1 0]'#00FF00'

'blue''b'[0 0 1]'#0000FF'

'cyan' 'c'[0 1 1]'#00FFFF'

'magenta''m'[1 0 1]'#FF00FF'

'yellow''y'[1 1 0]'#FFFF00'

'black''k'[0 0 0]'#000000'

'white''w'[1 1 1]'#FFFFFF'

Вот триплеты RGB и шестнадцатеричные цветовые коды для цветов по умолчанию MATLAB® использует на многих типах графиков.

Триплет RGBШестнадцатеричный цветовой кодВнешность
[0 0.4470 0.7410]'#0072BD'

[0.8500 0.3250 0.0980]'#D95319'

[0.9290 0.6940 0.1250]'#EDB120'

[0.4940 0.1840 0.5560]'#7E2F8E'

[0.4660 0.6740 0.1880]'#77AC30'

[0.3010 0.7450 0.9330]'#4DBEEE'

[0.6350 0.0780 0.1840]'#A2142F'

Цвет грани, заданный как одно из значений в этой таблице.

ЗначениеОписание
'flat'

Используйте другой цвет для каждой грани на основе значений в CData свойство. Сначала необходимо задать CData свойство как матрица того же размера, что и ZData. Значение цвета в первой вершине каждой грани (в положительном x и y направлениях) определяет цвет для всей грани. Вы не можете использовать это значение, когда FaceAlpha для свойства задано значение 'interp'.

'interp'

Используйте интерполированную раскраску для каждой грани на основе значений в CData свойство. Сначала необходимо задать CData свойство как матрица того же размера, что и ZData. Цвет изменяется по каждой грани путем интерполяции значений цвета в вершинах. Вы не можете использовать это значение, когда FaceAlpha для свойства задано значение 'flat'.

Триплет RGB, шестнадцатеричный цветовой код или название цвета

Используйте указанный цвет для всех граней. Эта опция не использует значения цветов в CData свойство.

'texturemap'Преобразуйте данные о цвете в CData так, чтобы он соответствовал поверхности.
'none'Не рисуйте грани.

Триплеты RGB и шестнадцатеричные цветовые коды полезны для определения пользовательских цветов.

  • Триплет RGB представляет собой трехэлементный вектор-строку, элементы которого определяют интенсивность красных, зеленых и синих компонентов цвета. Интенсивность должна быть в области значений [0,1]; например, [0.4 0.6 0.7].

  • Шестнадцатеричный код цвета - это вектор символов или строковый скаляр, который начинается с хэш-символа (#), за которым следуют три или шесть шестнадцатеричных цифр, которые могут варьироваться от 0 на F. Значения не зависят от регистра. Таким образом, цветовые коды '#FF8800', '#ff8800', '#F80', и '#f80' являются эквивалентными.

Кроме того, вы можете задать имена некоторых простых цветов. В этой таблице перечислены именованные опции цвета, эквивалентные триплеты RGB и шестнадцатеричные цветовые коды.

Название цветаКраткое имяТриплет RGBШестнадцатеричный цветовой кодВнешность
'red''r'[1 0 0]'#FF0000'

'green''g'[0 1 0]'#00FF00'

'blue''b'[0 0 1]'#0000FF'

'cyan' 'c'[0 1 1]'#00FFFF'

'magenta''m'[1 0 1]'#FF00FF'

'yellow''y'[1 1 0]'#FFFF00'

'black''k'[0 0 0]'#000000'

'white''w'[1 1 1]'#FFFFFF'

Вот триплеты RGB и шестнадцатеричные цветовые коды для цветов по умолчанию, которые MATLAB использует во многих типах графиков.

Триплет RGBШестнадцатеричный цветовой кодВнешность
[0 0.4470 0.7410]'#0072BD'

[0.8500 0.3250 0.0980]'#D95319'

[0.9290 0.6940 0.1250]'#EDB120'

[0.4940 0.1840 0.5560]'#7E2F8E'

[0.4660 0.6740 0.1880]'#77AC30'

[0.3010 0.7450 0.9330]'#4DBEEE'

[0.6350 0.0780 0.1840]'#A2142F'

Ребро, заданная в качестве одного из следующих значений:

  • Скаляр в области значений [0,1] - Используйте равномерную прозрачность по всем ребрам. Значение 1 полностью непрозрачен и 0 полностью прозрачен. Значения между 0 и 1 являются полупрозрачными. Эта опция не использует значения прозрачности в AlphaData свойство.

  • 'flat' - Используйте разную прозрачность для каждого ребра на основе значений в AlphaData свойство. Сначала необходимо задать AlphaData свойство как матрица того же размера, что и ZData свойство. Значение прозрачности в первой вершине определяет прозрачность для всего ребра. The EdgeColor свойство также должно быть установлено в 'flat'.

  • 'interp' - Используйте интерполированную прозрачность для каждого ребра на основе значений в AlphaData свойство. Сначала необходимо задать AlphaData свойство как матрица того же размера, что и ZData свойство. Прозрачность изменяется между каждым ребром путем интерполяции значений в вершинах. The EdgeColor свойство также должно быть установлено в 'interp'.

Стиль линии, заданный как одно из опций, перечисленных в этой таблице.

Стиль линииОписаниеРезультирующая линия
'-'Сплошная линия

'--'Штриховая линия

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

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

'none'Нет линииНет линии

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

Ширина линии не может быть более тонкой, чем ширина пикселя. Если вы задаете ширину линии значение, которое меньше, чем ширина пикселя в вашей системе, линия отображается как один пиксель в ширину.

Совет

  • Чтобы удалить скрытые линии с графика, используйте hidden функция.

  • Чтобы управлять цветом затенения поверхностей графика, используйте shading функция.

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

Представлено до R2006a
Для просмотра документации необходимо авторизоваться на сайте