Cómo se relacionan los datos de una gráfica de superficie con un mapa de colores
Cuando crea gráficas de superficie utilizando funciones como surf
o mesh
, puede personalizar el esquema de color llamando a la función colormap
. Si desea controlar el aspecto, puede cambiar la dirección o el patrón de los colores por la superficie. Esta personalización requiere cambiar los valores en un arreglo que controla la relación entre la superficie y el mapa de colores.
Relación entre la superficie y el mapa de colores
La propiedad CData
de un objeto de Surface
contiene un arreglo de indexación C
que asocia ubicaciones específicas de su gráfica con colores del mapa de colores. C
tiene la siguiente relación con la superficie z = f(x,y):
C
es del mismo tamaño queZ
, mientras queZ
es el arreglo que contiene los valores de f(x,y) en cada punto de cuadrícula de la superficie.El valor de
C(i,j)
controla el color de la ubicación de la cuadrícula(i,j)
en la superficie.De manera predeterminada,
C
es igual aZ
, lo que corresponde con los colores que cambian según la altitud.De forma predeterminada, el rango
C
se asigna de forma lineal al número de filas en el arreglo del mapa de colores.
Por ejemplo, un muestreo de 3 por 3 de Z = X + Y
tiene la siguiente relación con un mapa de colores que contiene N
entradas.
Tenga en cuenta que el valor más pequeño (-2
) se asigna a la primera fila del mapa de colores. El valor más grande (2
) se asigna a la última línea del mapa de colores. Los valores intermedios en C
se asignan de forma lineal a las filas intermedias del mapa de colores.
Nota
La gráfica de superficie anterior muestra cómo se asignan los colores a los vértices de la superficie. Sin embargo, el comportamiento predeterminado es rellenar las caras del parche con un color sólido. Dicho color sólido se basa en los colores asignados a los vértices que hay a su alrededor. Para obtener más información, consulte la descripción de la propiedad FaceColor
.
Cambiar la dirección de los patrones de colores
Al utilizar el valor predeterminado de C=Z
, los colores varían con cambios en Z
.
[X,Y] = meshgrid(-10:10); Z = X + Y; s = surf(X,Y,Z); xlabel('X'); ylabel('Y'); zlabel('Z');
Puede cambiar este comportamiento especificando C
cuando cree la superficie. Por ejemplo, los colores de esta superficie varían con X
.
C = X; s = surf(X,Y,Z,C); xlabel('X'); ylabel('Y'); zlabel('Z');
También puede establecer directamente la propiedad CData
. Este comando hace que los colores varíen con Y
.
s.CData = Y;
Los colores no siguen los cambios en una única dirección necesariamente. De hecho, CData
puede ser cualquier arreglo del mismo tamaño que Z
. Por ejemplo, los colores de este plano siguen la forma de una función sinc.
R = sqrt(X.^2 + Y.^2) + eps; s.CData = sin(R)./(R);