Когда вы создаете объемные поверхностные диаграммы с помощью функций такой как surf
или mesh
, можно настроить цветовую схему путем вызова colormap
функция. Если вы хотите дальнейшее управление внешним видом, можно изменить направление или шаблон цветов через поверхность. Эта индивидуальная настройка требует изменяющихся значений в массиве, который управляет отношением между поверхностью и палитрой.
CData
свойство Surface
объект содержит массив индексации C
это сопоставляет определенные местоположения в вашем графике с, раскрашивает палитру. C
имеет следующее отношение к поверхностному z = f (x, y):
C
одного размера с Z
, где Z
массив, содержащий значения f (x, y) в каждом узле решетки на поверхности.
Значение в C(i,j)
управляет цветом в местоположении сетки (i,j)
на поверхности.
По умолчанию, C
равно Z
, который соответствует цветам, меняющимся в зависимости от высоты.
По умолчанию, область значений C
отображается линейно в количестве строк в массиве палитры.
Например, 3х3 выборка Z = X + Y
имеет следующее отношение к палитре, содержащей N
записи.
Заметьте что наименьшее значение (-2
) карты к первой строке в палитре. Самое большое значение (2
) карты к последней строке в палитре. Промежуточные значения в C
отобразитесь линейно в промежуточных строках в палитре.
Примечание
Предыдущая объемная поверхностная диаграмма показывает, как цвета присвоены вершинам на поверхности. Однако поведение по умолчанию должно заполнить поверхности закрашенной фигуры сплошным цветом. Тот сплошной цвет основан на цветах, присвоенных окружающим вершинам. Для получения дополнительной информации смотрите FaceColor
описание свойства.
При использовании значения по умолчанию C=Z
, цвета меняются в зависимости от изменений в Z
.
[X,Y] = meshgrid(-10:10); Z = X + Y; s = surf(X,Y,Z); xlabel('X'); ylabel('Y'); zlabel('Z');
Можно изменить это поведение путем определения C
когда вы создаете поверхность. Например, цвета на этой поверхности меняются в зависимости от X
.
C = X; s = surf(X,Y,Z,C); xlabel('X'); ylabel('Y'); zlabel('Z');
В качестве альтернативы можно установить CData
свойство непосредственно. Эта команда заставляет цвета меняться в зависимости от Y
.
s.CData = Y;
Цвета не должны следовать за изменениями в одной размерности. На самом деле, CData
может быть любой массив, который одного размера с Z
. Например, цвета на этой плоскости следуют за формой функции sinc.
R = sqrt(X.^2 + Y.^2) + eps; s.CData = sin(R)./(R);