meshc

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

Описание

пример

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

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

пример

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

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

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

пример

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

Примеры

свернуть все

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

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

Задайте цвета для 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

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

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

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

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

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

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

Z = peaks;
sc = meshc(Z);

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

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

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

свернуть все

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

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

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

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

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

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

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 также задает цвета обводки mesh.

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- n матрица индексов палитры или как m- n- 3 массив триплетов RGB, где Z m- n.

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

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

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

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

Оси, чтобы построить в в виде axes объект. Если вы не задаете оси, то meshc графики в текущую систему координат.

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

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

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

Примечание

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

Ребра, чтобы отобразиться в виде '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 свойство. Значение прозрачности в первой вершине определяет прозрачность для целого ребра. EdgeColor свойство также должно быть установлено в 'flat'.

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

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

Стиль линииОписаниеПолучившаяся линия
'-'Сплошная линия

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

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

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

'none'Никакая линияНикакая линия

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

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

Советы

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

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

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

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