meshz

Поймайте в сети объемную поверхностную диаграмму с занавесом

Описание

пример

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

пример

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

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

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

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

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

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

Примеры

свернуть все

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

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

Задайте цвета для сетчатого графика и окружающего занавеса включением четвертого матричного входа, 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

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

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

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';

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

свернуть все

x- в виде матрицы тот же размер как Z, или как вектор с длиной n, где [m,n] = size(Z). Если вы не задаете значения для X и Y, meshz использует векторы (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, meshz использует векторы (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 индексов палитры, где Z m- n. Для каждого узла решетки на поверхности mesh, C указывает на цвет в палитре. CDataMapping свойство объекта подложки управляет как значения в C соответствуйте раскрашивает палитру.

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

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

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

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

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

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

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

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