MATLAB Answers

How can I export figure as png?

595 views (last 30 days)
Tomas
Tomas on 7 Oct 2014
Edited: Michael Haderlein on 7 Oct 2014
I have the script which creates 3D figure. The only way to save it is
hgsave(graph, [input, output, '\', string{i + 8}, '.png'],'-v7.3');
I tried different ways to save it as png and all failed. It stores only axis.
print(graph,'-dpng',[input,output,'\',string{i +8},'.png']);
saveas(graph, [input, output, '\', string{i + 8}], 'png');
hgexport(graph, [input, output, '\', string{i + 8}, '.png'], hgexport('factorystyle'), 'Format', 'png');

Accepted Answer

Wouter
Wouter on 7 Oct 2014
Best option is to use the export_fig function from the file exchange. It actually works out of the box and intuitively (not like the annoying builtin saveas function)

More Answers (3)

Julia
Julia on 7 Oct 2014
Edited: Julia on 7 Oct 2014
Hi,
I create a figure and save it with the follwoing command:
saveas(gcf,'picture.png')
Perhaps
saveas(gcf, [input, output, '\', string{i + 8}], 'png');
works.
  1 Comment
Tomas
Tomas on 7 Oct 2014
All I tried didn't work. Even if I select Save as from figure menu it still save only the axis.

Sign in to comment.



Michael Haderlein
Michael Haderlein on 7 Oct 2014
Edited: Michael Haderlein on 7 Oct 2014
Did you try another renderer? I can't really explain a lot about it, but I think I once had a similar problem (though everything was black in my case) and choosing another renderer has fixed the case.
In case neither this nor the other suggestions work: I feel a bit embarrassed to mention it here, but once I was desperate enough to simply make a screenshot and save this. In case none of the solutions here works, this will for sure.

Community Treasure Hunt

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

Start Hunting!