Can I have same plot colors between 2 different figures?

Hi,
I have 2 Figures. Each has a Axes area with 4 plots each.
When I do 'hold all' - Matlab assign colors to the plots automatically.
I want to have the two figures plot colors the same meaning - Line#1 in Axis#1 will have the same color as Line#1 in Axes#2....
Is it possible to do so without setting manually the colors to each line?
Is there a 'hold' sequence where this might work?

Answers (1)

Example
t=0:0.1:10
y11=cos(t)
y12=2*cos(t)
h1(1)=plot(t,y11)
hold on
h1(2)=plot(t,y12)
set(h1(1),'color','red')
set(h1(2),'color','green')
figure
y21=sin(t)
y22=2*sin(t)
h2(1)=plot(t,y21)
hold on
h2(2)=plot(t,y22)
set(h2(1),'color','red')
set(h2(2),'color','green')

6 Comments

I know I can do that.
That is why I asked:
"Is it possible to do so without setting manually the colors to each line?"
Can you post how did you get those four plots?
You can also do:
set(h1,{'color'},{'red';'green'})
I don't know why you call this manually?
I wrote, when writing 'hold all' - (and not 'hold on') Matlab select the colors automatically .
Then What is the problem? Just use hold all, with the order of plotting you want. The colors are givens in the order
My code is as such (If you have suggesting on changing it but getting the same result - I'm happy to hear it):
hold all
%%Plotting x plots:
for i = 1:size(Data(:,1),1)
h.Plots(i,1) = plot(Data(i,:),(TxArray+TxArray*0.1*i));
end
%%Assigning the x plots to to Axes(1): {Matlab sets plots color automatically}
for i = 1:size(Data(:,1),1)
if ~isempty(h.Plots(i))
set(h.Plots(i),...
'Parent',h.Axes(1),...
'LineWidth',[3.0],...
'DisplayName',STAName);
end
end
h.Legend(1) = legend(h.Axes(1),'show');
%%Plotting same number of plots as in Axes(1) but a bit differently:
for i = 1:size(Data(:,1),1)
h.Plots(i,2) = plot(Data(i,:),(TxArray/4+(i-1)/3));
end
%%Assigning the x plots to Axes(2):
for i = 1:size(Data(:,1),1)
if ~isempty(h.Plots(i))
set(h.Plots(i,2),...
'Parent',h.Axes(2),...
'LineWidth',[3.0],...
'color',get(h.Plots(i,1),'color'),...%%This is my current solution
'DisplayName',STAName);
end
end

Sign in to comment.

Categories

Find more on Graphics Object Properties in Help Center and File Exchange

Asked:

on 4 Mar 2013

Community Treasure Hunt

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

Start Hunting!