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

Когда вы создаете объемные поверхностные диаграммы с помощью функций, таких как 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);

Смотрите также

Функции

Свойства

Похожие темы