exponenta event banner

Связь данных графика поверхности с картой цветов

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

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.

См. также

Функции

Свойства

Связанные темы