figure adding plot to named figures?
88 views (last 30 days)
Show older comments
hello,
how can i add other data to different existing figures (plots) when they are multiples figures open.
i mean for example:
figure(1)
plot(x,y)
figure(2)
plot(t,z)
if condition=true
figure(1)
plot(x2,y2)
figure(2)
plot(t2,z2)
end
and keep the x,y and t,z in the respective figures, i know that i could do plot(x,y,x2,y2) and respectly plot(t,z,t2,z2) but i would like to know if there is a way to do it in the way i presented before, as the data is calculated with conditionals so there is the posibility that x2,y2 and t2,z2 will not exist (if the condition is not satified giving error to plot(x,y,x2,y2)) and i not looking to define all the possible variables with NaN in the begining of the code.
thanks!
0 Comments
Accepted Answer
Rik
on 3 Apr 2020
You can modify the NextPlot property of your axes objects. You can do this by modifying the property, or by using hold on.
h=struct;%create struct to hold all handles
h(1).f=figure(1);clf(h(1).f)%create blank figure
h(2).f=figure(2);clf(h(2).f)
h(1).ax=axes('Parent',h(1).f,'NextPlot','add');%create axes
h(2).ax=axes('Parent',h(2).f,'NextPlot','add');
plot(x,y,'Parent',h(1).ax)
plot(t,z,'Parent',h(2).ax)
if condition
plot(x2,y2,'Parent',h(1).ax)
plot(t2,z2,'Parent',h(2).ax)
end
2 Comments
Rik
on 3 Apr 2020
The Parent property describes what object should contain the object you are about to create. I prefer to use the Name,Value syntax for this to make it explicit, even for functions like plot that allow you to set the parent in the normal parameters.
As the doc for plot describes: "plot(_,Name,Value) specifies line properties using one or more Name,Value pair arguments. For a list of properties, see Line Properties."
More Answers (0)
See Also
Categories
Find more on Annotations in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!