figure adding plot to named figures?
91 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
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 Kommentare
Akzeptierte Antwort
Rik
am 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 Kommentare
Rik
am 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."
Weitere Antworten (0)
Siehe auch
Kategorien
Mehr zu Annotations 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!