2012-07-21 24 views
5

¿Alguien sabe cuál es el comando o forma de trazar con diferentes colores además del color preestablecido, es decir, b, g, r, c, m, y, k? Yo prefiero usar mis propias Personalizar colores en lugar de éstos ....Matlab Argumento con Personalizar color

Saludos

Respuesta

12

utilizar la propiedad Color con un ColorSpec triples:

plot(x, y, 'Color', [0.5, 1.0, 0.0], 'LineStyle', '--') 

El vector aquí contiene valores RGB entre 0.0 y 1.0. Las entradas de la documentación Lineseries y ColorSpec tienen más información al respecto.

+1

¡Gracias! ¿Dónde puedo buscar el mapa de colores para decidir qué número entre 0 y 1 se ingresará en el código? Tengo búsqueda de Lineseries, ColorSpec y Colormap pero no puedo ver lo que quiero. La forma habitual de elegir del mapa de píxeles es en forma de más de 1. – kit

+0

@kit: si tiene un mapa de colores (por ejemplo, "caliente"), IIRC debe obtener color 'k' del mapa de colores usando' cmap = mapa de color ('caliente'); cmap (k, :) '. Si tiene valores de color que van de 0 a 255, simplemente divida entre 255 para obtener el rango correcto. – You

+0

muchas gracias, usted. Estoy entendiendo lo que quieres decir ahora. Buen aprendizaje... – kit

0

From the matlab docs:

ColorOrder: m-por-3 matriz de valores RGB

colores a utilizar para parcelas de líneas múltiples. Define los colores utilizados por las funciones de trama y plot3 para colorear cada línea trazada. Si no especifica un color de línea con plot y plot3, estas funciones recorren la propiedad ColorOrder para obtener el color de cada línea graficada. Para obtener el ColorOrder actual, que podría ser ajustado durante el inicio, obtener el valor de la propiedad:

get (GCA, 'ColorOrder') Tenga en cuenta que si los ejes NextPlot propiedad es sustituir (por defecto), de alto nivel funciones como trazar restablecer la propiedad ColorOrder antes de determinar los colores que se utilizarán. Si desea MATLAB para usar un ColorOrder que sea diferente del predeterminado, configure NextPlot para reemplazar a los niños. También puede especificar su propio ColorOrder predeterminado.

En conjunto, esto significa que desea que los comandos:

figure(); 
axis(); 
set(gca, 'colororder', <color matrix>, 'nextplot', 'replacechildren'); 
plot(x,y); 
+0

Tengo lo que quería decir sobre la configuración el orden de color He intentado los siguientes comandos. figura conjunto (gca, 'colororder', [1, 0.5, 0.753], 'nextplot', 'replacechildren'); plot (x, y) figure plot (x, z) No sé por qué vuelvo a tener el color predeterminado para la segunda figura, parece que no estoy usando nextplot y replacechildren correctamente – kit

+0

Crea y eje objeto con 'axis()' antes de llamar 'set'? – Isaac

+0

Sí, estoy agregando ahora, pero obtengo el color predeterminado para el segundo gráfico. Aquí está mi código: figure(); eje(); conjunto (gca, 'colororder', [1, 0.5, 0.753], 'nextplot', 'replacechildren'); plot (x, y) figure plot (x, z) ¿Qué hace el axis()? Por qué necesitamos()? Por cierto, estoy haciendo un desastre al pegar aquí la codificación de matlab. ¿Puedo saber qué comando necesito agregar antes de pegar mi código y encajar en el cuadro gris como lo hizo? Soy un nuevo usuario para este tipo de foro. ¡Gracias! – kit

0

Tuve el mismo problema con el conjunto limitado de colores predefinidos que MATLAB puso a disposición. Por lo tanto, he creado esta página en mi sitio web, donde se puede elegir entre una amplia paleta de colores no estándar, y el código de color se pega directamente en el portapapeles:

http://www.shirt-ediss.me/matlab-octave-more-colours/

Cuestiones relacionadas