Когда вы создаете объемные поверхностные диаграммы используя такие функции, как surf
или mesh
, можно настроить цветовую схему, вызвав colormap
функция. Если требуется дальнейшее управление внешним видом, можно изменить направление или шаблон цветов по поверхности. Эта индивидуальная настройка требует изменения значений в массиве, который управляет отношением между поверхностью и палитрой.
The 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);