Main Content

contourf

Diagrama de contorno relleno en 2D

  • Filled contour plot

Descripción

ejemplo

contourf(Z) crea un diagrama de contorno relleno que contiene las isolíneas de la matriz Z, donde Z contiene los valores de altura del plano x-y. MATLAB® selecciona de forma automática las líneas de contorno que se van a mostrar. Los índices de columna y de fila de Z son las coordenadas x e y del plano, respectivamente.

contourf(X,Y,Z) especifica las coordenadas x e y para los valores de Z.

ejemplo

contourf(___,levels) especifica las líneas de contorno que se van a mostrar como último argumento en cualquiera de las sintaxis anteriores. Especifique levels como un valor escalar n para mostrar las líneas de contorno en n niveles (alturas) elegidos de forma automática. Para dibujar las líneas de contorno en alturas específicas, especifique levels como vector de valores que aumentan monotónicamente. Para dibujar los contornos en una altura (k), especifique levels como vector fila de dos elementos [k k].

ejemplo

contourf(___,LineSpec) especifica el estilo y el color de las líneas de contorno.

ejemplo

contourf(___,Name,Value) especifica opciones adicionales para el diagrama de contorno 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 Contour Properties.

contourf(ax,___) muestra el diagrama de contorno en los ejes objetivo. Especifique los ejes como el primer argumento en cualquiera de las sintaxis anteriores.

M = contourf(___) devuelve la matriz de contorno M, que contiene las coordenadas (x, y) de los vértices en cada nivel.

ejemplo

[M,c] = contourf(___) devuelve la matriz de contorno y el objeto de contorno c. Utilice c para establecer las propiedades después de mostrar el diagrama de contorno.

Ejemplos

contraer todo

Defina Z como una función de dos variables. En este caso, llame a la función peaks para crear Z. A continuación, visualice un diagrama de contorno relleno de Z, dejando que MATLAB® elija los niveles de contorno.

Z = peaks;
contourf(Z)

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

Defina Z como una función de dos variables, X e Y. A continuación, visualice contornos en 10 niveles de Z.

x = linspace(-2*pi,2*pi);
y = linspace(0,4*pi);
[X,Y] = meshgrid(x,y);
Z = sin(X) + cos(Y);
contourf(X,Y,Z,10)

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

Defina Z como una función de X y de Y. En este caso, llame a la función peaks para crear X, Y y Z. A continuación, visualice contornos en los niveles 2 y 3.

La región blanca se corresponde con las alturas menores que 2. La región morada se corresponde con las alturas entre 2 y 3. Y la región amarilla se corresponde con las alturas mayores que 3.

[X,Y,Z] = peaks(50);
contourf(X,Y,Z,[2 3],'ShowText','on')

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

Desde la versión R2022b

Cree un diagrama de contorno que muestre las etiquetas con un dígito tras el separador decimal seguido de la letra m. Especifique un color de relleno parcialmente transparente estableciendo la propiedad FaceAlpha en 0.25.

contourf(peaks,[-4 0 2],"ShowText",true,"LabelFormat","%0.1f m", ...
    "FaceAlpha",0.25)

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

Desde la versión R2022b

Puede especificar una función para dar formato a las etiquetas cuando necesite calcular valores. Por ejemplo, puede definir una función para calcular los valores de las etiquetas en diferentes unidades.

Defina esta función en un archivo de programa llamado mylabelfun.m. La función convierte la entrada de metros a pies y devuelve un vector de cadenas que contiene cada valor en metros con el valor equivalente en pies entre paréntesis.

function labels = mylabelfun(vals)
feetPerMeter = 3.28084;
feet = round(vals.*feetPerMeter);
labels = vals + " m (" + feet + " ft)";
labels(vals == 0) = "0 m";
end

A continuación, cree un diagrama de contorno y especifique la propiedad LabelFormat como identificador de mylabelfun. Especifique un color de relleno parcialmente transparente estableciendo el valor FaceAlpha en 0.25.

contourf(peaks,[-4 0 2],"ShowText",true,"LabelFormat",@mylabelfun, ...
    "FaceAlpha",0.25)

Defina Z como una función de X y de Y. En este caso, llame a la función peaks para crear X, Y y Z. A continuación, visualice contornos en Z = 2.

[X,Y,Z] = peaks;
contourf(X,Y,Z,[2 2])

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

Cree un diagrama de contorno y especifique el estilo de línea discontinua.

[X,Y,Z] = peaks;
contourf(X,Y,Z,'--')

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

Cree un diagrama de contorno relleno. Haga las líneas de contorno más gruesas estableciendo la propiedad LineWidth en 3.

Z = peaks;
[M,c] = contourf(Z);
c.LineWidth = 3;

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

Inserte valores NaN siempre que haya discontinuidades en una superficie. La función contourf no dibuja líneas de contorno en esas regiones.

Defina la matriz Z como un muestreo de la función peaks. Reemplace todos los valores de la columna 26 por valores NaN. Después, represente los contornos de la matriz Z modificada.

Z = peaks;
Z(:,26) = NaN;
contourf(Z)

Figure contains an axes object. The axes object contains an object of type 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). El valor predeterminado de X es el vector (1:n).

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.

Ejemplo: X = 1:10

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

Ejemplo: [X,Y] = meshgrid(1:10)

La propiedad XData del objeto Contour guarda las coordenadas x.

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

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). El valor predeterminado de Y es el vector (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 las matrices X e Y.

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

Ejemplo: Y = 1:10

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

Ejemplo: [X,Y] = meshgrid(1:10)

La propiedad YData del objeto Contour guarda las coordenadas y.

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

Coordenadas z, especificadas como matriz. Esta matriz debe tener al menos dos filas y dos columnas, y debe contener al menos dos valores diferentes.

Ejemplo: Z = peaks(20)

La propiedad ZData del objeto Contour guarda las coordenadas z.

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

Niveles de contorno, especificados como número entero escalar o como vector. Utilice este argumento para controlar el número y la ubicación de las líneas de contorno. Cuando no especifica los niveles, la función contourf elige los niveles automáticamente.

  • Para dibujar líneas de contorno en n alturas elegidas automáticamente, especifique levels como el valor escalar n.

  • Para dibujar las líneas de contorno en alturas específicas, especifique levels como vector de valores que aumentan monotónicamente.

  • Para dibujar líneas de contorno en una altura única k, especifique levels como vector fila de dos elementos [k k].

La función contourf usa el mapa de colores actual para rellenar los espacios entre los niveles del diagrama. El primer color rellena el espacio entre el nivel inferior y el nivel inmediatamente superior a este. El último color se corresponde con los valores de Z que son mayores que el nivel más alto del diagrama. Si Z contiene valores que son menores que el nivel inferior mostrado en el diagrama, la región entre el nivel inferior y el valor de Z menor es blanca.

Ejemplo: contourf(peaks,10) dibuja líneas de contorno en 10 alturas elegidas automáticamente en la función peaks.

Ejemplo: contourf(peaks,[-4 0 4]) dibuja líneas de contorno en 3 alturas específicas en la función peaks: -4, 0 y 4.

Ejemplo: contourf(peaks,[3 3]) dibuja líneas de contorno para mostrar dónde la altura de la función peaks es 3.

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

Estilo de línea y color, especificado como vector de caracteres o escalar de cadena que contiene caracteres y símbolos. Los caracteres y los símbolos pueden aparecer en cualquier orden. Puede especificar el estilo de línea, el color de línea o ambos. Los símbolos de marcador, como 'o', se ignoran.

Ejemplo: '--g' es una línea verde discontinua.

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

Nombre del colorNombre cortoApariencia
'red''r'

Sample of the color red

'green''g'

Sample of the color green

'blue''b'

Sample of the color blue

'cyan' 'c'

Sample of the color cyan

'magenta''m'

Sample of the color magenta

'yellow''y'

Sample of the color yellow

'black''k'

Sample of the color black

'white''w'

Sample of the color white

Ejes objetivo, especificados como objeto Axes. Si no especifica los ejes, contourf representa en los ejes actuales.

Argumentos de par nombre-valor

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: contourf(Z,'ShowText','on') representa las etiquetas de línea de contorno.

Nota

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

Etiquetas de línea de contorno, especificadas como 'on' o como 'off', o como 1 (true) o 0 (false) numérico o lógico. Un valor de 'on' equivale a true, y 'off' equivale a false. En consecuencia, puede utilizar el valor de esta propiedad como valor lógico. El valor se guarda como valor lógico activado/desactivado del tipo matlab.lang.OnOffSwitchState.

  • 'on': muestra los valores de altura en las líneas de contorno.

  • 'off': no etiqueta las líneas de contorno.

Ancho de línea, especificado como valor positivo en puntos. Un punto equivale a 1/72 pulgadas.

Espaciado de etiquetas en las líneas de contorno, especificado como valor escalar en puntos, donde un punto equivale a 1/72 pulgadas. Utilice esta propiedad para controlar el número de etiquetas de contorno en las líneas de contorno. Los valores más pequeños generan más etiquetas.

Debe establecer la propiedad ShowText en 'on' para que la propiedad LabelSpacing surta efecto.

Si utiliza la función clabel para mostrar las etiquetas, la propiedad LabelSpacing no surte ningún efecto y la gráfica muestra una etiqueta por línea.

Argumentos de salida

contraer todo

Matriz de contorno, devuelta como matriz de dos filas con la siguiente forma.

Z1, x1,1, x1,2, ..., x1,N1, Z2, x2,1, x2,2, ..., x2,N2, Z3, ...
N1, y1,1, y1,2, ..., y1,N1, N2, y2,1, y2,2, ..., y2,N2, N3, ...

Las columnas de la matriz definen las líneas de contorno. Cada línea de contorno comienza con una columna que contiene valores Z y N:

  • Zi: la altura de la i-ésima línea de contorno

  • Ni: el número de vértices de la i-ésima línea de contorno

  • (xij, yij): las coordenadas de los vértices para la i-ésima línea de contorno, donde j oscila entre 1 y Ni

Objeto Contour. Utilice este objeto para establecer las propiedades después de mostrar el diagrama de contorno.

Capacidades ampliadas

Historial de versiones

Introducido antes de R2006a