meshz

Сетка объемной поверхностной диаграммы с занавеской

Описание

пример

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

пример

meshz(X,Y,Z,C) дополнительно задает цвет ребер.

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

meshz(Z,C) задает цвет ребер.

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

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

s = meshz(___) возвращает объект поверхности графика. Использование s для изменения сетчатого графика после создания. Список свойств см. в разделе «Свойства поверхности».

Примеры

свернуть все

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

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

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

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

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

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

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

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

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

s = 
  Surface (meshz) with properties:

       EdgeColor: 'flat'
       LineStyle: '-'
       FaceColor: [1 1 1]
    FaceLighting: 'none'
       FaceAlpha: 1
           XData: [25x25 double]
           YData: [25x25 double]
           ZData: [25x25 double]
           CData: [25x25 double]

  Show all properties

Использование s для доступа и изменения свойств сетчатого графика после создания. Например, измените цвет ребер сетчатого графика и окружающей занавески путем установки EdgeColor свойство.

s.EdgeColor = 'b';

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

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

свернуть все

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

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

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

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

Пример: 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, meshz использует векторы (1:n) и (1:m).

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

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

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

Пример: 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 свойство объекта surface сохраняет z -cordinates .

Пример: 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 матрица индексов палитры, где Z является m-by- n. Для каждой точки сетки на поверхности сетки, C указывает цвет в палитре. The CDataMapping свойство объекта поверхности управляет тем, как значения в C соответствуют цветам в палитре.

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

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

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

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

Пример: meshz(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 дюйма. Если у линии есть маркеры, ширина линии также влияет на ребра маркера.

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

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

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