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

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

Figure contains an axes. The axes contains an object of type surface.

Изменить это поведение можно путем определения C при создании поверхности. Например, цвета на этой поверхности варьируются в зависимости от X.

C = X;
s = surf(X,Y,Z,C);
xlabel('X');
ylabel('Y');
zlabel('Z');

Figure contains an axes. The axes contains an object of type surface.

Также можно задать CData свойство непосредственно. Эта команда делает цвета различными с Y.

s.CData = Y;

Figure contains an axes. The axes contains an object of type surface.

Цвета не должны следовать изменениям в одной размерности. Фактически, CData может быть любой массив того же размера, что и Z. Для примера цвета в этой плоскости следуют форме функции sinc.

R = sqrt(X.^2 + Y.^2) + eps;
s.CData = sin(R)./(R);

Figure contains an axes. The axes contains an object of type surface.

См. также

Функции

Свойства

Похожие темы