Contenido principal

colororder

Establecer o consultar la paleta del orden de los colores

Descripción

Establecer colores

colororder(colorarray) establece la paleta del orden de los colores de la figura actual. El orden de los colores controla el orden de los colores que MATLAB® utiliza para representar varias series de datos dentro de unos ejes.

Especifique colorarray como una matriz de tripletes RGB o un arreglo de nombres de colores, como ["red" "green" "blue"]. Si no existe una figura, MATLAB crea una y establece la paleta para esa figura. Cuando establece la paleta para una figura, se establece la paleta para todos los ejes dentro de esa figura.

ejemplo

colororder(palettename) especifica los colores como uno de los nombres de paleta predefinidos, como "gem", "glow" o "sail". (desde R2023b)

ejemplo

colororder(target,___) establece la paleta para la figura, los ejes o la gráfica objetivo en lugar de para la figura actual.

ejemplo

Obtener colores

C = colororder devuelve la matriz de colores de la figura actual.

C = colororder(target) devuelve la matriz de colores para la figura, los ejes o la gráfica objetivo.

ejemplo

Ejemplos

contraer todo

Establezca el orden de los colores para la figura en cuatro colores. Defina un vector de coordenadas x y cuatro vectores de coordenadas y. A continuación, represente cada conjunto de coordenadas.

newcolors = [0.83 0.14 0.14
             1.00 0.54 0.00
             0.47 0.25 0.80
             0.25 0.80 0.54];
         
colororder(newcolors)

% Define coordinates
x = linspace(0,10);
y1 = sin(x);
y2 = sin(x-0.5);
y3 = sin(x-1);
y4 = sin(x-1.5);

% Plot coordinates
plot(x,y1,'LineWidth',2)
hold on
plot(x,y2,'LineWidth',2)
plot(x,y3,'LineWidth',2)
plot(x,y4,'LineWidth',2)
hold off

Figure contains an axes object. The axes object contains 4 objects of type line.

Cree un vector de coordenadas x y una matriz de coordenadas y. Después, represente las coordenadas.

x = [1 2];
y = [0 1 2 3; 1 2 3 4];
plot(x,y,"LineWidth",2)

Figure contains an axes object. The axes object contains 4 objects of type line.

Cambie los colores de la gráfica pasando cuatro códigos de color hexadecimales a la función colororder.

newcolors = ["#0B0" "#00F" "#50F" "#A0F"];
colororder(newcolors)

Figure contains an axes object. The axes object contains 4 objects of type line.

También puede especificar una de varias paletas de colores con nombre. Cambie los colores de la paleta denominada sail.

colororder("sail")

Figure contains an axes object. The axes object contains 4 objects of type line.

Muestre tres series de barras. Luego, establezca el orden de los colores como azul, morado y gris.

bar([10 20 30; 25 35 45; 30 40 52])
newcolors = [0 0.5 1; 0.5 0 1; 0.7 0.7 0.7];
colororder(newcolors)

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

Establecer el orden de los colores para la figura antes de llamar a yyaxis establece el color para cada eje y. El lado izquierdo utiliza el primer color y el lado derecho, el segundo color. Si especifica más de dos colores, los colores adicionales no se utilizan en ninguno de los lados.

Defina newcolors como una matriz que contiene dos tripletes RGB. Establezca el orden de los colores para la figura y represente dos líneas respecto al lado izquierdo. Después, represente dos líneas respecto al lado derecho.

newcolors = [0.40 0.30 0.90; 0.50 0.65 0.15];
colororder(newcolors)

% Left side
yyaxis left
plot([1 2; 3 4])

% Right side
yyaxis right
plot([4 3; 2 1])

Figure contains an axes object. The axes object contains 4 objects of type line.

Establecer el orden de los colores para la figura después de llamar a yyaxis establece el color para el lado activo.

Active el eje y izquierdo y represente tres líneas. Establezca el orden de estilos de línea en una línea continua y cambie el color del eje y a azul. Después, establezca el orden de los colores en tres tonos de azul.

% Left side
yyaxis left
plot([1 2 3; 4 5 6])
ax = gca;
ax.LineStyleOrder = '-';
ax.YColor = 'blue';
leftcolors = [0 0 1; 0 0.50 1; 0 0.80 1];
colororder(leftcolors)

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

Active el eje y derecho y represente dos líneas. Cambie el color del eje y a negro. Después, establezca el orden de los colores en negro.

% Right side
yyaxis right
plot([4 3; 2 1])
ax.YColor = 'black';
colororder('black')

Figure contains an axes object. The axes object contains 5 objects of type line.

Cuando llama a una función de representación con un argumento de color, la función de representación utiliza ese color en lugar del siguiente color del orden de los colores.

Establezca el orden de los colores de la figura como rojo, magenta y azul. Llame a la función scatter para representar una serie de puntos dispersos. Después, represente una segunda serie de puntos y especifique los marcadores como asteriscos negros.

newcolors = {'red','magenta','blue'};
colororder(newcolors)
scatter(1:10,rand(1,10),'filled')
hold on
scatter(1:10,rand(1,10),'*k')

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

Represente una tercera serie de puntos sin especificar el color del marcador. Observe que esta serie utiliza el tercer color del orden de los colores, que es el azul.

scatter(1:10,rand(1,10),'filled')
hold off

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

Cree un diseño de gráfica en mosaico y represente tres líneas en el primer mosaico.

tiledlayout('flow')
nexttile
plot([1 2 3; 4 5 6],'LineWidth',2)

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

Llame a la función nexttile con un argumento de retorno para obtener el objeto de ejes para el segundo mosaico. Represente tres líneas en el segundo mosaico. Después, obtenga la matriz del orden de los colores para los ejes y asigne la salida a C. Cambie el primer color de C a morado y establezca el orden de los colores de los ejes en la matriz C modificada.

ax = nexttile;
plot(ax,[4 5 6; 1 2 3],'LineWidth',2)
C = colororder(ax);
C(1,:) = [0.5 0 1];
colororder(ax,C)

Figure contains 2 axes objects. Axes object 1 contains 3 objects of type line. Axes object 2 contains 3 objects of type line.

Desde R2023b

Las paletas con nombre ofrecen una forma cómoda de cambiar los colores de una gráfica. En este ejemplo se comparan cuatro paletas distintas en un diseño de gráfica en mosaico.

Cree un diseño de gráfica en mosaico que contenga un objeto de ejes llamando a la función nexttile. Después, cree una gráfica de barras de números aleatorios usando la paleta predeterminada, gem.

nexttile
bar(rand(3,5))
title("gem")

Figure contains an axes object. The axes object with title gem contains 5 objects of type bar.

Cree tres gráficas de barras adicionales con las paletas reef, meadow y earth. Para especificar los colores de los diferentes ejes, debe pasar el objeto de ejes a la función colororder. Para obtener los objetos de ejes, especifique un argumento de salida cuando llame a nexttile.

ax2 = nexttile;
bar(rand(3,5))
colororder(ax2,"reef")
title("reef")

ax3 = nexttile;
bar(rand(3,5))
colororder(ax3,"meadow")
title("meadow")

ax4 = nexttile;
bar(rand(3,5))
colororder(ax4,"earth")
title("earth")

Figure contains 4 axes objects. Axes object 1 with title gem contains 5 objects of type bar. Axes object 2 with title reef contains 5 objects of type bar. Axes object 3 with title meadow contains 5 objects of type bar. Axes object 4 with title earth contains 5 objects of type bar.

Argumentos de entrada

contraer todo

Arreglo de colores, especificado como matriz de tripletes RGB o un arreglo de nombres de colores.

Matriz de tripletes RGB

Especifique una matriz de m por 3 donde cada fila sea un triplete RGB. Un triplete RGB es un vector de tres elementos que contiene las intensidades de los componentes rojo, verde y azul de un color. Las intensidades deben estar en el rango [0,1]. Por ejemplo, esta matriz define los nuevos colores como azul, verde oscuro y naranja:

colorarray = [1.0 0.0 0.0
             0.0 0.4 0.0
             1.0 0.5 0.0];

Arreglo de nombres de colores o códigos de color hexadecimales

Especifique cualquier combinación de nombres de colores, nombres cortos o códigos de color hexadecimales.

  • Para especificar un color, establezca colorarray en un vector de caracteres o un escalar de cadena. Por ejemplo, colorarray = 'red' especifica el rojo como único color en el orden de los colores.

  • Para especificar varios colores, establezca colorarray en un arreglo de celdas de vectores de caracteres o arreglo de cadenas. Por ejemplo, colorarray = {'red','green','blue'} especifica rojo, verde y azul como los colores.

Un código de color hexadecimal 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.

En esta tabla se enumeran todos los nombres de color y los nombres cortos con los tripletes RGB y los códigos de color hexadecimales 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

Tipos de datos: single | double | char | cell | string

Desde R2023b

Nombre de paleta predefinida, especificado como uno de los valores de esta tabla o "default", que es igual que "gem".

Nombre de la paletaColores de la paleta

"gem" (tema claro predeterminado)

Sample of the "gem" color palette

"gem12"

Sample of the "gem12" color palette

"glow" (tema oscuro predeterminado)

Sample of the "glow" color palette

"glow12"

Sample of "glow12" color palette

"sail"

Sample of the "sail" color palette

"reef"

Sample of the "reef" color palette

"meadow"

Sample of the "meadow" color palette

"dye"

Sample of the "dye" color palette

"earth"

Sample of the "earth" color palette

Objetivo, especificado como uno de estos valores:

  • Una figura. Los colores nuevos afectan al contenido de todos los ejes de la figura.

  • Cualquier tipo de objeto de ejes: un objeto Axes, PolarAxes o GeographicAxes. Los colores nuevos afectan solo al contenido de los ejes especificados.

  • Una visualización independiente como una gráfica creada por la función bubblecloud, piechart, donutchart, stackedplot, scatterhistogram, parallelplot o geobubble.

Sugerencias

  • Cuando establece el orden de los colores para una figura, los colores se mantienen cuando llama a una función de representación. No obstante, si pasa un objeto de ejes a la función colororder, primero debe llamar a hold on para que los colores se mantengan cuando llame a una función de representación.

  • Si establece la propiedad ColorOrderIndex o LineStyleOrderIndex en los ejes, el nuevo orden de los colores no afecta a las gráficas existentes. Los nuevos colores solo tienen efecto después de llamar a hold on y de llamar después a una función de representación.

Historial de versiones

Introducido en R2019b

expandir todo