usar gris create como matlab plot colors default colormap

gris - list of colors matlab



¿Cuál es el orden de color MATLAB predeterminado? (2)

Tengo una trama con dos histogramas. Sin embargo, es difícil saber qué histograma de la gráfica proviene del primer conjunto de datos y qué gráfico del segundo conjunto de datos. Hay una línea de color diferente para cada histograma: uno es azul y el otro es verde. ¿El MATLAB predeterminado ''ColorOrder'' varía entre los dispositivos? Si no, ¿cuál es el orden?


¡Buena pregunta! Hay un orden de color predeterminado para MATLAB. Tenga en cuenta que las versiones anteriores a R2014b, el orden de color predeterminado para MATLAB, utilizan el mapa de colores de chorro. En el mapa de colores de chorro, la primera parcela es azul, seguida de la segunda parcela verde. Para las versiones posteriores a R2014b, esto sigue el mapa de color de la parula, donde la primera trama sería un azul más claro seguido de la segunda trama que es una especie de naranja cobre. Si realmente quiere saber cuál es el orden de colores para su trazado, asegúrese de que esté abierto en MATLAB, luego haga lo siguiente:

get(gca,''colororder'')

Esto devolverá una matriz 2D donde cada fila le da la proporción de rojo, verde y azul para cada gráfico que produzca. En mi máquina en el momento de esta publicación cuando estaba ejecutando MATLAB R2013a y con Mac OSX 10.9.5, esto es lo que obtuve:

>> get(gca,''colororder'') ans = 0 0 1.0000 0 0.5000 0 1.0000 0 0 0 0.7500 0.7500 0.7500 0 0.7500 0.7500 0.7500 0 0.2500 0.2500 0.2500

Cada fila le proporciona los valores rojo, verde y azul para un color en particular. La primera fila denota el primer color para ir en el trazado, seguida de la segunda fila que indica el segundo color y así sucesivamente.

Como tal, el orden de color anterior es:

  1. Azul puro
  2. Un tono más claro de verde.
  3. Rojo puro
  4. Una mezcla de verde y azul, que es cian.
  5. Una mezcla de rojo y azul, que es magenta.
  6. Una mezcla de rojo y verde amarillo.
  7. Una mezcla clara de rojo, verde y azul, que parece un gris oscuro.

Actualmente (10 de marzo de 2016), estoy usando MATLAB R2015a y este es el mapa de colores que obtengo:

>> get(gca,''colororder'') ans = 0 0.4470 0.7410 0.8500 0.3250 0.0980 0.9290 0.6940 0.1250 0.4940 0.1840 0.5560 0.4660 0.6740 0.1880 0.3010 0.7450 0.9330 0.6350 0.0780 0.1840

Las tuplas RGB en este caso son un poco más complejas y, por lo tanto, es difícil inferir qué son simplemente observando los colores.

Como beneficio adicional, podemos crear una imagen que visualice estos colores para usted. Suponiendo que tiene la caja de herramientas de procesamiento de imágenes, este es el código que escribí para visualizar esos colores para cada dibujo que coloque en su figura.

colours = permute(get(gca, ''colororder''), [1 3 2]); colours_resize = imresize(colours, 50.0, ''nearest''); imshow(colours_resize);

Esto es lo que obtuve para MATLAB R2013a:

Ejecutando este código nuevamente en MATLAB R2015a, esto es lo que obtengo:

Alternativamente, siempre puede usar una legend que delinee qué histograma proviene de qué datos.


Existe un mapa de colores para este propósito específico: lines ( introducido antes de R2006a ). lines.m es lo que lines.m dice:

%LINES Color map with the line colors. % LINES(M) returns an M-by-3 matrix containing a "ColorOrder" % colormap. LINES, by itself, is the same length as the current % colormap. If no figure exists, MATLAB uses the length of the % default colormap.

Si abre la documentación de lines , puede ver una imagen de vista previa que se parece mucho a lo que aparece en la respuesta de rayryeng :

Por lo tanto, siempre que esté utilizando el colormap de color predeterminado, para conocer los colores de las primeras n líneas, todo lo que necesita hacer es llamar a las lines(n) .