hold on for double plots in one loop

50 views (last 30 days)
Zeynab Mousavikhamene on 5 Nov 2019
Commented: ME on 5 Nov 2019
I am making two plots in a for loop one after an other. When the loop goes for the next i, I need to hold on the plot becaue I want to plot x1 and y1 of the i=1 to i=n in one axis but because there is an other plot after it, I do not know how to do that so that x1 and y1 of i=1 to n are plotted in one figure and x2 and y2 of i=1 to n are plotted in an nother figure.
For i=1:n
do some calc.
figure
plot(x1,y1)
if I hold on here, the next figure may have be plotted in the first one. But I need to have figures of i=1 to n plotted in one axis.
figure
plot(x2,y2)
end
darova on 5 Nov 2019
IF you want to plot in different figure
figure(1)
figure(2)

Takumi on 5 Nov 2019
Edited: Takumi on 5 Nov 2019
Try changing the plot target by referring to the link below.

ME on 5 Nov 2019
You just need to move the figure command or you’ll get two new figure windows. This would be something like:
figure
for i=1:n
do some calc.
plot(x1,y1)
hold on
plot(x2,y2)
end
or alternatively put both of the plotting commands into one:
plot(x1,y1,x2,y2)
ME on 5 Nov 2019
Apologies, I think I see what you mean now. That just shows I shouldn't answer questions before a morning coffee!
I think this should do what you want:
for i=1:n
do some calc.
figure(1); hold on;
plot(x1,y1)
figure(2); hold on;
plot(x2,y2)
end

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!

Translated by