Save current figure without axis, axis label and other border areas.

30 views (last 30 days)
How to save current figure without axis, axis label and other white margin spaces around the figure. I don't have direct access to the matrix which is being plotted. So I want to use something like this:
saveas(gcf, "xyz.png");
but additional spaces and axis labels are also coming into it. I want these to be removed. I want to save only the actual plot area.

Accepted Answer

Matt J
Matt J on 3 May 2022
Edited: Matt J on 3 May 2022
I don't have direct access to the matrix which is being plotted.
Yes, you do. The axes children will always contain the data that is being plotted. So, the easiest would be to replot the figure with,
axis off
export_graphics(gcf, "xyz.png")
A less graceful alternative would be to use export_fig, downloadable from,
which let's you specify the amount of cropping of the exported image. Choose the cropping just right and you will clip away the axis markings.
  3 Comments
Matt J
Matt J on 3 May 2022
Edited: Matt J on 3 May 2022
With which of the two solutions I mentioned? With export_fig, all white space will be removed by default and you have input switches to adjust the amount of cropping if you wish.

Sign in to comment.

More Answers (0)

Products


Release

R2020b

Community Treasure Hunt

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

Start Hunting!