saving Plots in a loop

2 views (last 30 days)
Tamadur AlBaraghtheh
Tamadur AlBaraghtheh on 1 Aug 2018
Commented: OCDER on 2 Aug 2018
Hi Am trying to plot a 132 files .. the problem when I use contour plot I got the error "Error using saveas (line 58) Invalid handle." Where this error is not appearing when I use surf / mesh or any other plot? Can you help ?
Path = '........./Trialwithname/Figures';
for i = 1:132
c1 = [D{i}];
a1 = table2array(c1);
c2 = reshape(a1,99,99);
hplot = surf(x,y,c2);
saveas(hplot,fullfile(Path, sprintf('fig%02d.jpg', i)));
end

Accepted Answer

OCDER
OCDER on 1 Aug 2018
The outputs to contour is different from axes handles given by surf. You have to find the figure handle and feed that to the saveas function. Example:
Path = '........./Trialwithname/Figures';
for i = 1:132
c1 = [D{i}];
a1 = table2array(c1);
c2 = reshape(a1,99,99);
if i == 1
[~, hc] = contour(x, y, c2);
haxes = get(hc, 'parent');
hplot = get(haxes, 'parent');
else
contour(haxes, x, y, c2);
end
%hplot = surf(x,y,c2);
saveas(hplot,fullfile(Path, sprintf('fig%02d.jpg', i)));
end
  2 Comments
OCDER
OCDER on 2 Aug 2018
You're welcome!

Sign in to comment.

More Answers (0)

Categories

Find more on MATLAB 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!