saving Plots in a loop

9 vues (au cours des 30 derniers jours)
Tamadur AlBaraghtheh
Tamadur AlBaraghtheh le 1 Août 2018
Commenté : OCDER le 2 Août 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

Réponse acceptée

OCDER
OCDER le 1 Août 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 commentaires
Tamadur AlBaraghtheh
Tamadur AlBaraghtheh le 2 Août 2018
Thank you :)
OCDER
OCDER le 2 Août 2018
You're welcome!

Connectez-vous pour commenter.

Plus de réponses (0)

Catégories

En savoir plus sur MATLAB dans Help Center et File Exchange

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by