saving Plots in a loop

3 Ansichten (letzte 30 Tage)
Tamadur AlBaraghtheh
Tamadur AlBaraghtheh am 1 Aug. 2018
Kommentiert: OCDER am 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

Akzeptierte Antwort

OCDER
OCDER am 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 Kommentare
Tamadur AlBaraghtheh
Tamadur AlBaraghtheh am 2 Aug. 2018
Thank you :)
OCDER
OCDER am 2 Aug. 2018
You're welcome!

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Kategorien

Mehr zu MATLAB 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!

Translated by