Main Content

Cómo se relacionan los datos de parches a un mapa de colores

Cuando crea gráficas que utilizan objetos de Patch, puede controlar el esquema de colores general llamando a la función colormap. También puede controlar la relación entre el mapa de colores y su parche:

  • asignando colores específicos a las caras

  • asignando colores específicos a los vértices que rodean cada cara

El modo en que controla dichas relaciones depende de cómo especifique sus parches: como las coordenadas -x, -y y -z o como datos vértice-cara.

Relación del mapa de colores del arreglo de las coordenadas -x, -y y -z

Si crea un objeto de Patch con un arreglo de coordenadas -x, -y y -z, la propiedad de CData del objeto de Patch contiene un arreglo de indexación C. El arreglo controla la relación entre el mapa de colores y su parche. Para asignar colores a las caras, especifique C como un arreglo con las siguientes características:

  • C es un arreglo n por 1, donde n es el número de caras.

  • El valor de C(i) controla el color de la cara i.

A continuación se muestra un ejemplo de C y su relación con el mapa de colores y las tres caras. El valor de C(i) controla el color de la cara definida por los vértices (X(i,:), Y(i,:)).

Diagram showing how the values in matrix C correspond to rows in the colormap array and to three triangular patch faces.

El valor más pequeño de C es 0. Se asigna a la primera fila del mapa de colores. El valor más grande de C es 1 y se asigna a la última fila del mapa de colores. Los valores intermedios de C se asignan de forma lineal a las filas intermedias del mapa de colores. En este caso, C(2) se asigna al color ubicado a dos tercios del comienzo del mapa de colores. Este código crea el objeto Patch que se describe en la ilustración anterior.

X = [0 0 5; 0 0 5; 4 4 9];
Y = [0 4 0; 3 7 3; 0 4 0];
C = [0; .6667; 1];
p = patch(X,Y,C);
colorbar

Three triangular patch faces displayed with a colorbar

Para asignar colores a los vértices, especifique C como un arreglo con las siguientes características:

  • C es un arreglo m por n, donde m es el número de vértices por cara y n es el número de caras.

  • El valor de C(i,j) controla el color del vértice i de la cara j.

A continuación se muestra un ejemplo de C y su relación con el mapa de colores y los seis vértices. El valor de C(i,j) controla el color de los vértices (X(i,j), Y(i,j)).

Diagram showing how the values in matrix C correspond to rows in the colormap array and to the vertices of two triangular patch faces. The colors from each vertex blend to form a color gradient across each of the faces.

Al igual que con las caras del parche, MATLAB® ajusta los valores de C al número de filas del mapa de colores. En este caso, el valor más pequeño es C(2,2)=1 y se asigna a la primera fila del mapa de colores. El valor más grande es C(3,1)=6 y se asigna a la última fila del mapa de colores.

Este código crea el objeto Patch que se describe en la ilustración anterior. La propiedad FaceColor se establece en 'interp' para hacer que los colores de los vértices se mezclen en cada cara.

clf
X = [0 3; 0 3; 5 6];
Y = [0 3; 5 6; 0 3];
C = [5 4; 2 0; 6 3];
p = patch(X,Y,C,'FaceColor','interp');
colorbar

Two triangular patch faces with colors specified for the six vertices

Relación del mapa de colores con los datos vértice-cara

Si crea parche de con datos vértice-cara, la propiedad de FaceVertexCData del objeto de Patch contiene un arreglo de indexación C. El arreglo controla la relación entre el mapa de colores y su parche.

Para asignar colores a las caras, especifique C como un arreglo con las siguientes características:

  • C es un arreglo n por 1, donde n es el número de caras.

  • El valor de C(i) controla el color de la cara i.

A continuación se muestra un ejemplo de C y su relación con el mapa de colores y las tres caras.

Diagram showing how the values in matrix C correspond to rows in the colormap array and to three triangular patch faces.

El valor más pequeño en C es 0 y se asigna a la primera fila del mapa de colores. El valor más grande en C es 1 y se asigna al último valor del mapa de colores. Los valores intermedios de C se asignan de forma lineal a las filas intermedias del mapa de colores. En este caso, C(2) se asigna al color ubicado a dos tercios del final del mapa de colores.

Este código crea el objeto Patch que se describe en la ilustración anterior. La propiedad FaceColor se establece en 'flat' para mostrar los colores del mapa de colores en lugar del color predeterminado, que es negro.

clf
vertices = [0 0; 0 3; 4 0; 0 4; 0 7; 4 4; 5 0; 5 3; 9 0];
faces = [1 2 3; 4 5 6; 7 8 9];
C = [0; 0.6667; 1];
p = patch('Faces',faces,'Vertices',vertices,'FaceVertexCData',C);
p.FaceColor = 'flat';
colorbar

Three triangular patch faces displayed with a colorbar

Para asignar colores a los vértices, especifique la propiedad FaceVertexCData del objeto de Patch como un arreglo C con las siguientes características:

  • C es un arreglo n por 1, donde n es el número de vértices.

  • El valor de C(i) controla el color del vértice i.

A continuación se muestra un ejemplo de C y su relación con el mapa de colores y los seis vértices.

Diagram showing how the values in matrix C correspond to rows in the colormap array and to the vertices of two triangular patch faces. The colors from each vertex blend to form a color gradient across each of the faces.

Al igual que con las caras del parche, MATLAB ajusta los valores de C al número de filas del mapa de colores. En este caso, el valor más pequeño es C(2)=1 y se asigna a la primera fila del mapa de colores. El valor más grande es C(6)=6 y se asigna a la última fila del mapa de colores.

Este código crea el objeto Patch que se describe en la ilustración anterior. La propiedad FaceColor se establece en 'interp' para que los colores del vértice se mezclen en cada cara.

clf
vertices = [0 0; 0 5; 5 0; 3 3; 3 6; 6 3];
faces = [1 2 3; 4 5 6];
C = [5; 1; 4; 3; 2; 6];
p = patch('Faces',faces,'Vertices',vertices,'FaceVertexCData',C);
p.FaceColor = 'interp';
colorbar

Two triangular patch faces with colors specified for the six vertices

Consulte también

Funciones

Propiedades

Temas relacionados