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

28 Ansichten (letzte 30 Tage)
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

Akzeptierte Antwort

Birdman
Birdman am 7 Feb. 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 Kommentare
Birdman
Birdman am 7 Feb. 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 am 5 Apr. 2023
Is there a way to simply save information of colors form plot, or reset the "Matlab color ordering"?

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (2)

Christopher Coello
Christopher Coello am 7 Feb. 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 am 20 Jun. 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

Kategorien

Mehr zu Line Plots finden Sie in Help Center und File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by