Contenido principal

meshc

Diagrama de contorno bajo una gráfica de superficie de malla

  • Contour plot under mesh surface plot

Descripción

meshc(X,Y,Z) crea una gráfica de malla con un diagrama de contorno por debajo. Una gráfica de malla es una superficie tridimensional con colores de borde sólidos y sin colores de cara. La función representa los valores en la matriz Z como alturas sobre una cuadrícula en el plano x-y que definen X e Y. Los colores de borde varían según las alturas que especifique Z.

ejemplo

meshc(Z) crea una gráfica de malla y un diagrama de contorno, y usa los índices de columna y de fila de los elementos de Z como coordenadas x e y.

meshc(___,C) especifica el color de los bordes.

ejemplo

meshc(___,Name,Value) especifica opciones adicionales para la gráfica meshc utilizando uno o más argumentos de par nombre-valor. Especifique las opciones después de todos los demás argumentos de entrada. Para obtener una lista de las propiedades, consulte Surface Properties.

meshc(ax,___) representa en los ejes que especifica ax en lugar de en los ejes actuales. Especifique los ejes como primer argumento de entrada.

sc = meshc(___) devuelve un arreglo de gráficas que incluye el objeto de superficie y el objeto de contorno de la gráfica. Use sc para modificar la gráfica de malla y el diagrama de contorno después de crearlos. Para obtener una lista de las propiedades, consulte Surface Properties y Contour Properties.

ejemplo

Ejemplos

contraer todo

Cree tres matrices del mismo tamaño. Después, represéntelas como una gráfica de malla con un diagrama de contorno por debajo. La gráfica de malla utiliza Z tanto para la altura como para el color.

[X,Y] = meshgrid(-3:.125:3);
Z = peaks(X,Y);
meshc(X,Y,Z)

Figure contains an axes object. The axes object contains 2 objects of type surface, contour.

Especifique los colores para una gráfica de malla y un diagrama de contorno incluyendo una cuarta entrada de matriz, C. Las gráficas utilizan Z para la altura y C para el color. Especifique los colores utilizando un mapa de colores, que usa números únicos para representar los colores de un espectro. Cuando utilice un mapa de colores, C tiene el mismo tamaño que Z. Añada una barra de colores a la gráfica para mostrar cómo los valores de los datos de C se corresponden con los colores en el mapa de colores.

[X,Y] = meshgrid(-3:.125:3);
Z = peaks(X,Y);
C = X.*Y;
meshc(X,Y,Z,C)
colorbar

Figure contains an axes object. The axes object contains 2 objects of type surface, contour.

Cree una gráfica de malla con un diagrama de contorno por debajo. Para permitir más modificaciones, asigne el arreglo de gráficas que contiene los objetos de superficie y contorno a la variable sc.

[X,Y] = meshgrid(-5:.5:5);
Z = Y.*sin(X) - X.*cos(Y);
sc = meshc(X,Y,Z);

Figure contains an axes object. The axes object contains 2 objects of type surface, contour.

Indexe en sc para acceder y modificar propiedades de la gráfica de malla y el diagrama de contorno después de crearlos. La gráfica de malla es accesible como sc(1) y el diagrama de contorno como sc(2). Por ejemplo, modifique el color de borde de la gráfica y del diagrama estableciendo la propiedad EdgeColor.

sc(1).EdgeColor = 'r';
sc(2).EdgeColor = 'b';

Figure contains an axes object. The axes object contains 2 objects of type surface, contour.

Las líneas de contorno aparecen en el nivel z mínimo de forma predeterminada, pero puede cambiar la ubicación estableciendo la propiedad ZLocation.

Muestre el conjunto de datos peaks como una gráfica de malla con los contornos en el nivel z mínimo. Especifique un argumento de retorno cuando llame a la función meshc para que pueda acceder al objeto Contour.

Z = peaks;
sc = meshc(Z);

Figure contains an axes object. The axes object contains 2 objects of type surface, contour.

Obtenga los ejes actuales y extienda el límite superior del eje z a 15. Después, mueva los contornos al nivel z máximo.

ax = gca;
ax.ZLim(2) = 15;
sc(2).ZLocation = 'zmax';

Figure contains an axes object. The axes object contains 2 objects of type surface, contour.

Argumentos de entrada

contraer todo

Coordenadas x, especificadas como matriz del mismo tamaño que Z o como vector con una longitud n, en el que [m,n] = size(Z). Si no especifica valores para X e Y, meshc utiliza los vectores (1:n) y (1:m).

Cuando X es una matriz, los valores deben ser estrictamente crecientes o decrecientes en una dimensión y mantenerse constantes en la otra. La dimensión que varía debe ser la opuesta a la dimensión que varía en Y. Puede usar la función meshgrid para crear matrices X e Y.

Cuando X es un vector, los valores deben ser estrictamente crecientes o decrecientes.

Las propiedades XData del objeto de superficie y del objeto de contorno guardan las coordenadas x.

Ejemplo: X = 1:10

Ejemplo: X = [1 2 3; 1 2 3; 1 2 3]

Ejemplo: [X,Y] = meshgrid(-5:0.5:5)

Tipos de datos: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | categorical

Coordenadas y, especificadas como matriz del mismo tamaño que Z o como vector con una longitud m, en el que [m,n] = size(Z). Si no especifica valores para X e Y, meshc utiliza los vectores (1:n) y (1:m).

Cuando Y es una matriz, los valores deben ser estrictamente crecientes o decrecientes en una dimensión y mantenerse constantes en la otra. La dimensión que varía debe ser la opuesta a la dimensión que varía en X. Puede usar la función meshgrid para crear matrices X e Y.

Cuando Y es un vector, los valores deben ser estrictamente crecientes o decrecientes.

Las propiedades YData del objeto de superficie y del objeto de contorno guardan las coordenadas y.

Ejemplo: Y = 1:10

Ejemplo: Y = [1 1 1; 2 2 2; 3 3 3]

Ejemplo: [X,Y] = meshgrid(-5:0.5:5)

Tipos de datos: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | categorical

Coordenadas z, especificadas como matriz. Z debe tener al menos dos filas y dos columnas.

Z especifica la altura de la gráfica de malla en cada coordenada x-y. Si no especifica los colores, Z también especifica los colores de borde de la malla.

Las propiedades ZData del objeto de superficie y del objeto de contorno guardan las coordenadas z.

Ejemplo: Z = [1 2 3; 4 5 6]

Ejemplo: Z = sin(x) + cos(y)

Tipos de datos: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | categorical

Arreglo de colores, especificado como matriz m por n de índices del mapa de colores o como arreglo m por n por 3 de tripletes RGB, en el que Z es m por n.

  • Para usar colores del mapa de colores, especifique C como matriz. C indica un color en el mapa de colores en cada punto de cuadrícula de la superficie de malla. La propiedad CDataMapping del objeto de superficie controla cómo se corresponden los valores de C con colores en el mapa de colores.

  • Para usar colores de color real, especifique C como arreglo de tripletes RGB.

Para obtener más información, consulte Diferencias entre los mapas de colores y el color real.

La propiedad CData del objeto de superficie guarda el arreglo de colores. Para tener un mayor control sobre el color de la superficie, utilice las propiedades FaceColor y EdgeColor.

Ejes en los que representar, especificados como objeto axes. Si no especifica los ejes, meshc representa en los ejes actuales.

Argumentos de par nombre-valor

contraer todo

Especifique pares opcionales de argumentos como Name1=Value1,...,NameN=ValueN, donde Name es el nombre del argumento y Value es el valor correspondiente. Los argumentos nombre-valor deben aparecer después de otros argumentos, pero el orden de los pares no importa.

En las versiones anteriores a R2021a, utilice comas para separar cada nombre y valor, y encierre Name entre comillas.

Ejemplo: meshc(X,Y,Z,'EdgeColor','red') crea la malla con líneas rojas.

Nota

Las propiedades que se enumeran aquí son solo un subconjunto. Para obtener una lista completa, consulte Surface Properties.

Bordes que se desea mostrar, especificados como 'both', 'row' o 'column'.

Color de línea de borde, especificado como uno de los valores enumerados en esta tabla.

ValorDescripción
'none'No dibuje los bordes.
'flat'

Utilice un color diferente para cada borde según los valores en la propiedad CData. En primer lugar, debe especificar la propiedad CData como matriz del mismo tamaño que ZData. El valor de color del primer vértice de cada cara (en las direcciones positivas x e y) determina el color de los bordes adyacentes. No puede utilizar este valor cuando la propiedad EdgeAlpha está establecida en 'interp'.

Sample of a surface with each edge a different color based on sample values in the CData property

'interp'

Utilice colores interpolados para cada borde según los valores en la propiedad CData. En primer lugar, debe especificar la propiedad CData como matriz del mismo tamaño que ZData. El color varía en cada borde interpolando linealmente los valores de color en los vértices. No puede utilizar este valor cuando la propiedad EdgeAlpha está establecida en 'flat'.

Sample of a surface with each edge showing different interpolated coloring based on sample values in the CData property

Triplete RGB, código de color hexadecimal o nombre del color

Utilice el color especificado para todos los bordes. Esta opción no incluye los valores de color en la propiedad CData.

Sample of a surface with all edges shown in red

Los tripletes RGB y los códigos de color hexadecimales son útiles para especificar colores personalizados.

  • Un triplete RGB es un vector fila de tres elementos, cuyos elementos especifican las intensidades de los componentes rojo, verde y azul del color. Las intensidades deben estar en el rango [0,1]; por ejemplo, [0.4 0.6 0.7].

  • Un código de color hexadecimal es un vector de caracteres o un escalar de cadena que comienza con el símbolo de almohadilla (#) seguido de tres o seis dígitos hexadecimales, que pueden oscilar entre 0 y F. Los valores no distinguen entre mayúsculas y minúsculas. Así, los códigos de color "#FF8800", "#ff8800", "#F80" y "#f80" son equivalentes.

Como alternativa, puede especificar algunos colores frecuentes por su nombre. En esta tabla se enumeran las opciones de color con su nombre, los tripletes RGB equivalentes y los códigos de color hexadecimales.

Nombre del colorNombre cortoTriplete RGBCódigo de color hexadecimalApariencia
"red""r"[1 0 0]"#FF0000"

Sample of the color red

"green""g"[0 1 0]"#00FF00"

Sample of the color green

"blue""b"[0 0 1]"#0000FF"

Sample of the color blue

"cyan" "c"[0 1 1]"#00FFFF"

Sample of the color cyan

"magenta""m"[1 0 1]"#FF00FF"

Sample of the color magenta

"yellow""y"[1 1 0]"#FFFF00"

Sample of the color yellow

"black""k"[0 0 0]"#000000"

Sample of the color black

"white""w"[1 1 1]"#FFFFFF"

Sample of the color white

En esta tabla, se enumeran las paletas de colores predeterminados para las gráficas en los temas claro y oscuro.

PaletaColores de la paleta

"gem": tema claro predeterminado

Antes de R2025a: La mayoría de las gráficas utilizan estos colores de forma predeterminada.

Sample of the "gem" color palette

"glow": tema oscuro predeterminado

Sample of the "glow" color palette

Puede obtener los tripletes RGB y los códigos de color hexadecimales de estas paletas usando las funciones orderedcolors y rgb2hex. Por ejemplo, puede obtener los tripletes RGB de la paleta "gem" y convertirlos en códigos de color hexadecimales.

RGB = orderedcolors("gem");
H = rgb2hex(RGB);

Antes de R2023b: Obtenga los tripletes RGB usando RGB = get(groot,"FactoryAxesColorOrder").

Antes de R2024a: Obtenga los códigos de color hexadecimales usando H = compose("#%02X%02X%02X",round(RGB*255)).

Color de cara, especificado como uno de los valores de esta tabla.

ValorDescripción
'flat'

Utilice un color diferente para cada cara según los valores en la propiedad CData. En primer lugar, debe especificar la propiedad CData como matriz del mismo tamaño que ZData. El valor de color del primer vértice de cada cara (en las direcciones positivas x e y) determina el color de toda la cara. No puede utilizar este valor cuando la propiedad FaceAlpha está establecida en 'interp'.

Sample of a surface with each face a different color based on sample values in the CData property

'interp'

Utilice colores interpolados para cada cara según los valores en la propiedad CData. En primer lugar, debe especificar la propiedad CData como matriz del mismo tamaño que ZData. El color varía en cada cara interpolando los valores de color en los vértices. No puede utilizar este valor cuando la propiedad FaceAlpha está establecida en 'flat'.

Sample of a surface with each face showing different interpolated coloring based on sample values in the CData property

Triplete RGB, código de color hexadecimal o nombre del color

Utilice el color especificado para todas las caras. Esta opción no incluye los valores de color en la propiedad CData.

Sample of a surface with all faces shown in red

'texturemap'Transforme los datos de color de CData, para que se adapte a la superficie.
'none'No dibuje las caras.

Los tripletes RGB y los códigos de color hexadecimales son útiles para especificar colores personalizados.

  • Un triplete RGB es un vector fila de tres elementos, cuyos elementos especifican las intensidades de los componentes rojo, verde y azul del color. Las intensidades deben estar en el rango [0,1]; por ejemplo, [0.4 0.6 0.7].

  • Un código de color hexadecimal es un vector de caracteres o un escalar de cadena que comienza con el símbolo de almohadilla (#) seguido de tres o seis dígitos hexadecimales, que pueden oscilar entre 0 y F. Los valores no distinguen entre mayúsculas y minúsculas. Así, los códigos de color "#FF8800", "#ff8800", "#F80" y "#f80" son equivalentes.

Como alternativa, puede especificar algunos colores frecuentes por su nombre. En esta tabla se enumeran las opciones de color con su nombre, los tripletes RGB equivalentes y los códigos de color hexadecimales.

Nombre del colorNombre cortoTriplete RGBCódigo de color hexadecimalApariencia
"red""r"[1 0 0]"#FF0000"

Sample of the color red

"green""g"[0 1 0]"#00FF00"

Sample of the color green

"blue""b"[0 0 1]"#0000FF"

Sample of the color blue

"cyan" "c"[0 1 1]"#00FFFF"

Sample of the color cyan

"magenta""m"[1 0 1]"#FF00FF"

Sample of the color magenta

"yellow""y"[1 1 0]"#FFFF00"

Sample of the color yellow

"black""k"[0 0 0]"#000000"

Sample of the color black

"white""w"[1 1 1]"#FFFFFF"

Sample of the color white

En esta tabla, se enumeran las paletas de colores predeterminados para las gráficas en los temas claro y oscuro.

PaletaColores de la paleta

"gem": tema claro predeterminado

Antes de R2025a: La mayoría de las gráficas utilizan estos colores de forma predeterminada.

Sample of the "gem" color palette

"glow": tema oscuro predeterminado

Sample of the "glow" color palette

Puede obtener los tripletes RGB y los códigos de color hexadecimales de estas paletas usando las funciones orderedcolors y rgb2hex. Por ejemplo, puede obtener los tripletes RGB de la paleta "gem" y convertirlos en códigos de color hexadecimales.

RGB = orderedcolors("gem");
H = rgb2hex(RGB);

Antes de R2023b: Obtenga los tripletes RGB usando RGB = get(groot,"FactoryAxesColorOrder").

Antes de R2024a: Obtenga los códigos de color hexadecimales usando H = compose("#%02X%02X%02X",round(RGB*255)).

Transparencia del borde, especificada como uno de estos valores:

  • Escalar en el intervalo [0,1]: utiliza una transparencia uniforme en todos los bordes. Un valor de 1 es totalmente opaco y 0 es totalmente transparente. Los valores situados entre 0 y 1 son semitransparentes. Esta opción no utiliza los valores de transparencia en la propiedad AlphaData.

  • 'flat': utiliza una transparencia diferente para cada borde según los valores en la propiedad AlphaData. En primer lugar, debe especificar la propiedad AlphaData como matriz del mismo tamaño que la propiedad ZData. El valor de transparencia del primer vértice determina la transparencia de todo el borde. La propiedad EdgeColor también se debe establecer en 'flat'.

  • 'interp': utiliza transparencia interpolada para cada borde según los valores de la propiedad AlphaData. En primer lugar, debe especificar la propiedad AlphaData como matriz del mismo tamaño que la propiedad ZData. La transparencia varía en cada borde interpolando los valores en los vértices. La propiedad EdgeColor también se debe establecer en 'interp'.

Estilo de línea, especificado como una de las opciones enumeradas en esta tabla.

Estilo de líneaDescripciónLínea resultante
"-"Línea continua

Sample of solid line

"--"Línea discontinua

Sample of dashed line

":"Línea de puntos

Sample of dotted line

"-."Línea de puntos y rayas

Sample of dash-dotted line, with alternating dashes and dots

"none"Sin líneaSin línea

Ancho de línea, especificado como valor positivo en puntos, donde 1 punto = 1/72 de pulgada (0,035 cm). Si la línea tiene marcadores, el ancho de línea también afecta a los bordes de los marcadores.

El ancho de línea no puede ser inferior al de un píxel. Si establece el ancho de línea en un valor inferior al ancho de un píxel en su sistema, la línea se muestra igual de ancha que un píxel.

Sugerencias

  • Para eliminar las líneas ocultas de la gráfica, utilice la función hidden.

  • Para controlar el sombreado de colores de las superficies de la gráfica, utilice la función shading.

Capacidades ampliadas

expandir todo

Historial de versiones

Introducido antes de R2006a