Contenido principal

fill

Crear parches 2D rellenos

  • Green star on a Cartesian plot

Descripción

fill(X,Y,C) representa regiones poligonales rellenas como parches con vértices en las ubicaciones (x,y) especificadas por X e Y.

  • Para representar una región, especifique X e Y como vectores.

  • Para representar varias regiones, especifique X e Y como matrices donde cada columna corresponde a un polígono.

C especifica los colores de relleno de las regiones.

ejemplo

fill(X1,Y1,C1,...,Xn,Yn,Cn) representa varias regiones poligonales bidimensionales rellenas en los mismos ejes.

fill(___,Name,Value) modifica los parches utilizando uno o más argumentos nombre-valor para establecer las propiedades. Los parches pueden especificarse utilizando cualquiera de las combinaciones de argumentos de entrada de las sintaxis anteriores. Por ejemplo, fill(X,Y,C,'LineWidth',2) especifica un borde de dos puntos alrededor de todos los parches. Para obtener una lista de las propiedades, consulte Patch Properties.

ejemplo

fill(ax,___) representa las regiones poligonales en los ejes especificados por ax en lugar de en los ejes actuales (gca). El argumento ax puede preceder a cualquiera de las combinaciones de argumentos de entrada de las sintaxis anteriores.

p = fill(___) devuelve un objeto Patch o un vector de objetos Patch. Utilice p para consultar y modificar las propiedades después de representar una región. Para obtener una lista de las propiedades, consulte Patch Properties.

ejemplo

Ejemplos

contraer todo

Defina las coordenadas (x,y) para los vértices del pentágono como vectores x e y. Después, represente el pentágono con el color de relleno especificado, rojo.

x = [0 4 5 2 1];
y = [0 0 2 4 3];
fill(x,y,'r')

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

Cree vectores de coordenadas x e y para un cuadrado. Especifique un vector columna de índices del mapa de colores con una fila para cada vértice del cuadrado. La función fill interpola el resto de colores de relleno a partir del mapa de colores predeterminado utilizando los vértices circundantes.

x = [0 2 2 0];
y = [0 0 2 2];
c = [1; 0.5; 0; 0.75];
fill(x,y,c)

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

Defina las matrices x e y como las coordenadas (x,y) de los vértices para dos triángulos, donde cada columna corresponde a uno de los triángulos. Especifique c como una matriz de las mismas dimensiones que x e y. Cada valor de c especifica el índice del mapa de colores para el vértice correspondiente.

x = [0 2; 0 2; 4 4];
y = [2 0; 4 1; 2 0];
c = [1 0; 1 0; 0.3 0];
fill(x,y,c)

Figure contains an axes object. The axes object contains 2 objects of type patch.

Especifique las coordenadas (x,y) para los vértices de un hexágono como vectores x e y. Represente estas coordenadas como un hexágono. Después, represente dos desplazamientos adicionales de este hexágono en los mismos ejes para crear tres hexágonos parcialmente superpuestos. Especifique la propiedad FaceAlpha para cada hexágono como un valor menor que 1 para representar hexágonos semitransparentes.

x = [1 3 4 3 1 0];
y = [0 0 2 4 4 2];
hold on
fill(x,y,'cyan','FaceAlpha',0.3)
fill(x+2,y,'magenta','FaceAlpha',0.3)
fill(x+1,y+2,'yellow','FaceAlpha',0.3)

Figure contains an axes object. The axes object contains 3 objects of type patch.

Represente un octágono relleno especificando vectores de coordenadas (x,y) x e y, y un triplete RGB c. Almacene el parche resultante como p.

t = (1/16:1/8:1)'*2*pi;
x = cos(t);
y = sin(t);
c = [0.8 0.7 0.8];
p = fill(x,y,c);

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

Use p para modificar las propiedades del octágono representado. Especifique un contorno más grueso estableciendo la propiedad LineWidth en 3 y cambie el color del contorno a un triplete RGB personalizado modificando la propiedad EdgeColor.

p.LineWidth = 3;
p.EdgeColor = [0.5 0.2 0.55];

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

Argumentos de entrada

contraer todo

Coordenadas x de los vértices de los parches, especificadas como vector o matriz.

Número de parchesDescripciónEjemplo

Un parche

Especifique X e Y como vectores de la misma longitud. Los vectores pueden tener cualquier orientación.

Represente un parche triangular.

X = [0 0 4];
Y = [2 4 2];
C = 1;
fill(X,Y,C)

Dos o más parches
(X o Y compartidas)

Especifique las coordenadas compartidas como vector. Especifique las otras coordenadas como matriz. La longitud del vector debe coincidir con la longitud de una dimensión de la matriz. Si la matriz es cuadrada, MATLAB® representa las columnas de la matriz con respecto al vector.

Represente dos parches triangulares con coordenadas x compartidas.

X = [0 0 4];
Y = [0 -0; 2 -2; 0 0];
C = [0 1];
fill(X,Y,C)

Dos o más parches
(X o Y son únicas)

Especifique X e Y como matrices del mismo tamaño. MATLAB representa las correspondientes columnas de las matrices.

Represente dos parches triangulares con coordenadas x e y únicas.

X = [0 5; 0 5; 4 9];
Y = [2 0; 4 2; 2 0];
C = [0 1];
fill(X,Y,C)

Si los datos no definen regiones cerradas, fill cierra las regiones.

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

Coordenadas y de los vértices de los parches, especificadas como vector o matriz.

Número de parchesDescripciónEjemplo

Un parche

Especifique X e Y como vectores de la misma longitud. Los vectores pueden tener cualquier orientación.

Represente un parche triangular.

X = [0 0 4];
Y = [2 4 2];
C = 1;
fill(X,Y,C)

Dos o más parches
(X o Y compartidas)

Especifique las coordenadas compartidas como vector. Especifique las otras coordenadas como matriz. La longitud del vector debe coincidir con la longitud de una dimensión de la matriz. Si la matriz es cuadrada, MATLAB representa las columnas de la matriz con respecto al vector.

Represente dos parches triangulares con coordenadas x compartidas.

X = [0 0 4];
Y = [0 -0; 2 -2; 0 0];
C = [0 1];
fill(X,Y,C)

Dos o más parches
(X o Y son únicas)

Especifique X e Y como matrices del mismo tamaño. MATLAB representa las correspondientes columnas de las matrices.

Represente dos parches triangulares con coordenadas x e y únicas.

X = [0 5; 0 5; 4 9];
Y = [2 0; 4 2; 2 0];
C = [0 1];
fill(X,Y,C)

Si los datos no definen regiones cerradas, fill cierra las regiones.

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

Colores de parches, especificados como nombre de color, triplete RGB, vector de índices del mapa de colores o matriz de índices del mapa de colores.

  • Nombre del color: el nombre de un color como 'red' o un nombre corto, como 'r'.

  • Triplete RGB: 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]. Los tripletes RGB resultan útiles para crear colores personalizados.

  • Vector de índices del mapa de colores: vector de valores numéricos que tiene un elemento para cada región.

  • Mapa de índices del mapa de colores: una matriz de valores numéricos que tiene las mismas dimensiones que X e Y.

La forma de especificar el color depende del esquema de colores deseado y de si representa una región poligonal o varias regiones. Esta tabla describe las situaciones más habituales.

Esquema de coloresCómo especificar el colorEjemplo
Un único color para todas las regiones

Especifique un nombre de color o un nombre corto de la tabla siguiente, o especifique un triplete RGB.

Cree las matrices x e y. Después, represente la región rellena en rojo.

x = [2 0; 2 0; 4 4];
y = [0 2; 1 4; 0 2];
fill(x,y,'r')

Cartesian plot with two red triangles

Un color por región

Especifique un vector de n por 1 o 1 por n de índices del mapa de colores, donde n es el número de regiones poligonales.

Cree las matrices x e y, y el vector c. Después, represente la región rellenada en los colores del mapa de colores especificados.

x = [2 0; 2 0; 4 4];
y = [0 2; 1 4; 0 2];
c = [1; 0];
fill(x,y,c)

Cartesian plot with one yellow and one blue triangle

Colores de cara interpolados

Especifique una matriz de m por n de índices de mapas de colores, donde [m,n] = size(X). Especifique un color por vértice.

Cree las matrices x, y y c. Después, represente la región rellena con color de relleno interpolado a partir de los colores de vértice c.

x = [2 0; 2 0; 4 4];
y = [0 2; 1 4; 0 2];
c = [0.5 1; 0 1; 1 0];
fill(x,y,c)

Cartesian plot with two triangles filled with a yellow, green, and blue gradient

Nombres de los colores y tripletes RGB para colores comunes

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)).

Ejes en los que representar, especificados como un objeto Axes o PolarAxes. Si no especifica los ejes, fill representa en los ejes actuales o crea un objeto Axes (ejes cartesianos).

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: fill(x,y,c,'FaceAlpha',.5,'LineStyle',':') crea polígonos semitransparentes con bordes de puntos.

Nota

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

Color de cara, especificado como 'interp', 'flat', triplete RGB, código de color hexadecimal, nombre de color o nombre corto.

Para crear un color diferente para cada cara, especifique la propiedad CData o FaceVertexCData como un arreglo que contenga un color por cara o un color por vértice. Los colores pueden interpolarse a partir de los colores de los vértices circundantes de cada cara o pueden ser uniformes. Para obtener colores interpolados, especifique esta propiedad como 'interp'. Para obtener colores uniformes, especifique esta propiedad como 'flat'. Si especifica 'flat' y un color diferente para cada vértice, el color del primer vértice que especifica determina el color de cara.

Para designar un único color para todas las caras, especifique esta propiedad como triplete RGB, código de color hexadecimal, nombre de color o nombre corto.

  • 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.

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

"none"No se aplicaNo se aplicaNo se aplicaSin color

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 de cara, especificada como uno de estos valores:

  • Escalar en el intervalo [0,1]: utiliza una transparencia uniforme en todas las caras. Un valor de 1 es totalmente opaco y 0 es totalmente transparente. Esta opción no utiliza los valores de transparencia en la propiedad FaceVertexAlphaData.

  • 'flat': utiliza una transparencia diferente para cada cara según los valores en la propiedad FaceVertexAlphaData. En primer lugar, debe especificar la propiedad FaceVertexAlphaData como vector que contenga un valor de transparencia por cara o vértice. El valor de transparencia del primer vértice determina la transparencia de toda la cara.

  • 'interp': utilice transparencia interpolada para cada cara según los valores de la propiedad FaceVertexAlphaData. En primer lugar, debe especificar la propiedad FaceVertexAlphaData como vector que contenga un valor de transparencia por vértice. La transparencia varía en cada cara interpolando los valores en los vértices.

Colores de borde, especificados como uno de los valores de esta tabla. El color de borde predeterminado es negro con un valor de [0 0 0]. Si varios polígonos comparten un borde, el primer polígono dibujado controla el color de borde mostrado.

ValorDescripciónResultado

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

Un único color para todos los bordes. Para obtener más información, consulte la siguiente tabla.

Rectangular patch with red edges

'flat'

Un color diferente para cada borde. Utilice los colores de los vértices para establecer el color del borde que los sigue. Primero debe especificar CData o FaceVertexCData como arreglo que contenga un color por vértice. El color de borde depende del orden en el que se especifican los vértices.

Rectangular patch with a medium green upper-right vertex, a medium green top edge, a yellow upper-left vertex, a yellow left edge, a dark blue lower-left vertex, a dark blue lower edge, a light blue lower-right vertex, and a light blue right edge

'interp'

Color de borde interpolado. Primero debe especificar CData o FaceVertexCData como arreglo que contenga un color por vértice. Determine el color de borde interpolando linealmente los valores de los dos vértices delimitadores.

Rectangular patch with interpolated edge colors. The top two vertices are medium green and yellow, respectively. The bottom two vertices are dark blue and light blue, respectively. The color of each edge is a gradient of the colors at the bounding vertices.

'none'No se muestran bordes.

No se muestran bordes.

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)).

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

Argumentos de salida

contraer todo

Regiones poligonales mostradas, devueltas como objeto Patch o vector de objetos Patch. Cada parche corresponde a una región representada. Utilice p para consultar o cambiar las propiedades de una región después de representarla.

Funcionalidad alternativa

Varias funciones ofrecen todas las funcionalidades de fill, así como opciones adicionales para representar, manipular y consultar polígonos. Utilice estas funciones en lugar de fill cuando corresponda:

  • Para crear polígonos regulares, use nsidedpoly. Esta función simplifica la creación de polígonos regulares y ofrece opciones adicionales para gestionar la posición y las dimensiones de un polígono representado.

    nsidedpoly crea un objeto polyshape con opciones adicionales para alterar la ubicación, radio y longitud lateral de polyshape después de crearlo. Un objeto polyshape creado con nsidedpoly puede manipularse utilizando todas las propiedades de polyshape, así como las propiedades exclusivas de nsidedpoly.

  • Para crear polígonos irregulares, use polyshape. Esta función ofrece opciones adicionales para definir polígonos.

    polyshape crea un objeto polyshape, que tiene propiedades y funciones de objeto adicionales para consultar y alterar un polígono después de crearlo. Para obtener una lista completa, consulte polyshape.

  • Para crear objetos Patch como lo hace fill, utilice patch. Esta función ofrece opciones adicionales para definir parches 2D y 3D según sus datos de cara y vértices.

Capacidades ampliadas

expandir todo

Historial de versiones

Introducido antes de R2006a

expandir todo