how can i get same color graph in each iteration of for loop?

42 visualizaciones (últimos 30 días)
In my Matlab code, I am trying to merge two graphs in each iteration of for loop. I want the color of graph generated to be same for an iteration, but varying color with iteration

Respuesta aceptada

Birdman
Birdman el 7 de Feb. de 2018
One approach, notice how I used color property of plot:
x=1:10;
y=2*x;
for i=1:numel(x)
a=rand(1,3);
plot(x(i),y(i),'Marker','o','color',a);hold on;plot(x(i)+1,y(i),'Marker','o','color',a);hold on;
end
  3 comentarios
Birdman
Birdman el 7 de Feb. de 2018
Change this line
plot(x(i),y(i),'Marker','o','color',a);hold on;plot(x(i)+1,y(i),'Marker','o','color',a);hold on;
to
plot(x(i),y(i),'Marker','o','color',a,'DisplayName',num2str(i));hold on;plot(x(i)+1,y(i),'Marker','o','color',a,'DisplayName',num2str(i));hold on;legend('show');
Giovanni Bambini
Giovanni Bambini el 5 de Abr. de 2023
Is there a way to simply save information of colors form plot, or reset the "Matlab color ordering"?

Iniciar sesión para comentar.

Más respuestas (2)

Christopher Coello
Christopher Coello el 7 de Feb. de 2018
Use the property Color when you plot the figure and the colormap of your choice (parula post 2014b, jet before)
g = randn(12,150);
h = randn(12,150)+5;
figure;c_map = parula(12);
for iR = 1:12
hAx=subplot(4,3,iR);hold(hAx,'on');
plot(g(iR,:),'Color',c_map(iR,:));
plot(h(iR,:),'Color',c_map(iR,:));
end

Sree Harsha Bhimineni
Sree Harsha Bhimineni el 20 de Jun. de 2021
You can use a random function as follows:
for i=1:1:10
v = rand(3,1);
plot(X1,Y1,'Color',v);
hold on
plot(X2,Y2,'Color',v);
end

Categorías

Más información sobre Line Plots en Help Center y File Exchange.

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by