Main Content

Especificar colores de gráfica

MATLAB® crea gráficas utilizando un conjunto predeterminado de colores. Los colores predeterminados proporcionan un aspecto limpio y consistente entre las distintas gráficas que crea. Puede personalizar los colores, si así lo necesita. Muchas funciones de representación tienen un argumento de entrada, como c o colorspec para personalizar el color. Los objetos que devuelven estas funciones suelen tener propiedades para controlar el color. Los nombres y los argumentos de las propiedades pueden variar, pero los valores que aceptan suelen seguir un patrón común. Una vez que se haya familiarizado con el patrón, podrá utilizarlo para modificar una amplia variedad de gráficas.

Los siguientes ejemplos utilizan las funciones bar y scatter para demostrar el enfoque general de personalización de los colores. Para ver una lista completa de los valores de color válidos para una función de representación específica, consulte la documentación de esa función.

Tipos de valores de color

Existen los siguientes tipos de valores de color:

  • Nombre del color o nombre corto: especifique el nombre de un color, como "red" o "green". Los nombres cortos especifican una letra del nombre de un color, como "r" o "g".

  • Triplete RGB: cree un color personalizado especificando un vector fila de tres elementos, cuyos elementos son las intensidades de los componentes rojo, verde y azul de un color. Las intensidades deben estar en el rango [0,1]. Por ejemplo, puede especificar un tono de rosa como [1 0.5 0.8].

    Algunos argumentos de función que controlan el color no aceptan tripletes RGB, pero las propiedades de objetos que controlan el color suelen aceptarlos.

  • Código de color hexadecimal (a partir de la versión R2019a): cree un color personalizado especificando una cadena o un vector de caracteres 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" especifican el mismo tono de naranja.

    Algunos argumentos de función que controlan el color no aceptan códigos de color hexadecimales, pero puede especificar un código de color hexadecimal utilizando un argumento de par nombre-valor que se corresponda con una propiedad de objeto. Por ejemplo, scatter(x,y,sz,"MarkerFaceColor","#FF8800") establece el color de los marcadores de un diagrama de dispersión en naranja.

En esta tabla se enumeran todos los nombres de color y los nombres cortos válidos con los tripletes RGB y los códigos de color hexadecimales correspondientes.

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

A continuación, se indican los tripletes RGB y los códigos de color hexadecimales de los colores predeterminados que MATLAB utiliza en muchos tipos de gráficas. Estos colores no tienen nombres asociados con ellos.

Triplete RGBCódigo de color hexadecimalApariencia
[0 0.4470 0.7410]"#0072BD"

Sample of RGB triplet [0 0.4470 0.7410], which appears as dark blue

[0.8500 0.3250 0.0980]"#D95319"

Sample of RGB triplet [0.8500 0.3250 0.0980], which appears as dark orange

[0.9290 0.6940 0.1250]"#EDB120"

Sample of RGB triplet [0.9290 0.6940 0.1250], which appears as dark yellow

[0.4940 0.1840 0.5560]"#7E2F8E"

Sample of RGB triplet [0.4940 0.1840 0.5560], which appears as dark purple

[0.4660 0.6740 0.1880]"#77AC30"

Sample of RGB triplet [0.4660 0.6740 0.1880], which appears as medium green

[0.3010 0.7450 0.9330]"#4DBEEE"

Sample of RGB triplet [0.3010 0.7450 0.9330], which appears as light blue

[0.6350 0.0780 0.1840]"#A2142F"

Sample of RGB triplet [0.6350 0.0780 0.1840], which appears as dark red

Especificar el color de una gráfica de barras

Cree una gráfica de barras roja llamando a la función bar y especificando el argumento color opcional como red". Devuelva el objeto de barra como b, de forma que pueda personalizar otros aspectos de la gráfica más tarde.

b = bar(1:10,"red");

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

Ahora, cambie el color de relleno de las barras y el color del contorno a azul claro estableciendo las propiedades FaceColor y EdgeColor en el código de color hexadecimal, #80B3FF".

En las versiones anteriores a R2019a, especifique un triplete RGB en lugar de un código de color hexadecimal. Por ejemplo, b.FaceColor = [0.5 0.7 1].

b.FaceColor = "#80B3FF";
b.EdgeColor = "#80B3FF";

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

Especificar colores de marcadores en un diagrama de dispersión

Cree un diagrama de dispersión de números aleatorios. Especifique el tamaño del marcador como 75 puntos y utilice argumentos nombre-valor para especificar el contorno del marcador y los colores de relleno. La propiedad MarkerEdgeColor controla el color del contorno y MarkerFaceColor controla el color de relleno.

x = rand(1,100);
y = rand(1,100);
scatter(x,y,75,"MarkerEdgeColor","b", ...
    "MarkerFaceColor",[0 0.7 0.7])

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

Especificar colores en una serie de gráficas

Existen dos formas de crear una serie de gráficas:

  • Llame a una función de representación varias veces y utilice la función hold para conservar los contenidos de los ejes.

  • Pase una matriz que contenga varias series de datos a la función de representación. La función plot siempre ha aceptado entradas de matrices y muchas otras funciones de representación también admiten entradas de matrices.

Para especificar colores con cualquiera de los métodos, llame a la función de representación que desee con un argumento de salida para que pueda acceder a los objetos individuales de la gráfica. Después, establezca propiedades en el objeto de la gráfica que desea cambiar.

Por ejemplo, cree un diagrama de dispersión con marcadores rellenos de 100 puntos. Llame a la función scatter con un argumento de salida s1. Llame a la función hold para conservar los contenidos de los ejes y, a continuación, llame a la función scatter dos veces más con los argumentos de salida s2 y s3. Las variables s1, s2 y s3 son objetos Scatter.

figure
x = 1:5;
s1 = scatter(x,[6 3 9 10 7],100,"filled");
hold on
s2 = scatter(x,[16 13 19 20 17],100,"filled");
s3 = scatter(x,[26 23 29 33 27],100,"filled");
hold off

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

Cambie el color del segundo objeto Scatter a un tono de morado.

s2.MarkerFaceColor = [0.7 0 1];

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

La función scatter también admite entradas de matrices (desde la versión R2021a), por lo que puede crear la misma gráfica pasando una matriz y devolviendo un vector de objetos.

figure
x = 1:5;
y = [6 3 9 10 7; 16 13 19 20 17; 26 23 29 33 27];
s = scatter(x,y,100,"filled");

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

Si desea cambiar el color de la segunda serie de datos en este caso, acceda al segundo objeto Scatter indexando en s.

s(2).MarkerFaceColor = [0.7 0 1];

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

Consulte también

Funciones

Propiedades

Temas relacionados