Matlab - Utilizar diferentes colores para figuras

 
Vista:

Utilizar diferentes colores para figuras

Publicado por Daniel (1 intervención) el 23/07/2007 14:12:59
Hola a todos.
Estoy implementando unos algoritmos sobre redes neuronales en Matlab y necesito que al dibujar en una figura con plot los puntos del resultado, me utilice un color diferente para clase de puntos que estoy utilizando. Puedo hacerlo comprobando para cada punto su clase y escogiendo un color, pero me gustaría automatizar esto para que sirviese para cualquier número de clases (pueden llegar a 30 o más en algunos casos).

Aquí tengo el código que estoy utilizando:

% Dibujamos las figuras
for i=1:fil
x = data(i,:);
y = w*x';

c=strcmp(nombres(i,1), clases(1,1));
if (c)
plot(y(1),y(2),'g.');
end
c=strcmp(nombres(i,1), clases(2,1));
if (c)
plot(y(1),y(2),'r.');
end
c=strcmp(nombres(i,1), clases(3,1));
if (c)
plot(y(1),y(2),'b.');
end

hold on
end

Aquí compruebo si el nombre de cada punto es el de una clase determinada y le aplico un color diferente. Pero necesito que esto valga para cualquier número de clases ya que a priori no voy a saber el máximo número de clases.

¿Podría alguien indicarme alguna forma de hacer esto, si es posible?

Muchas gracias por anticipado.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Utilizar diferentes colores para figuras

Publicado por Diego (4 intervenciones) el 24/07/2007 11:37:52
Te comento como lo hago yo...

>>Color=get(gca,'ColorOrder');

Con esto obtengo un array con los colores por defecto.

Después, dentro de un bucle for, voy implementando los colores.

for n=1:Final

if c>=8, c=1; end

plot(Axe1(:,1),Axe2(:,2),Color(c,:));
c=c+1;

end

A ver si esto te sirve...
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Utilizar diferentes colores para figuras

Publicado por fismat (391 intervenciones) el 06/08/2007 19:58:01
Hola Daniel

un ejemplo de colores variables, quizas podrias hacer algunas modificaciones.

>> x=0:2:10;
>> y=x.^2;
>> plot(x,y)
>> col=get(gca,'ColorOrder');

>> for i=1:6,plot(x(i),y(i),'*','color',col(i,:)),hold on,end

Espero sea de ayuda
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar