subplot doesn't hold when plotting in for loop
6 views (last 30 days)
Show older comments
I'm trying to subplot many signals with time in a single figure using subplot by using command 'hold on' in a for loop.
Ex: x is a structure with time
s=[];
plotpos=0.85;
for i=1:10;
s(i)=subplot(10,1,i,'Position', [0.175, plotpos, 0.8, 0.115]);
hold (s(i),'on'); grid on;
plot(x.time,x.signals.values(:,i))
plotpos=plotpos-0.14;
end
It deletes the previous subplots and adds a new one at next position instead of holding all previous subplots and adding new ones at new position.
1 Comment
Accepted Answer
Jan
on 16 May 2016
Create the axes at first:
s = [];
plotpos = 0.85;
for i = 1:10
s(i) = axes('Position', [0.175, plotpos, 0.8, 0.115], ...
'NextPlot', 'add', ... % as done inside HOLD command
'Grid', 'on');
plotpos = plotpos-0.14;
end
Draw afterwards as often as you want:
for k = 1:10
plot(x.time, x.signals.values(:, k), 'Parent', s(k));
end
More Answers (0)
See Also
Categories
Find more on Subplots 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!