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

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

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

Функции

Свойства

Похожие темы