Why does exportgraphics change the figure when exporting an area plot to png?

25 views (last 30 days)
Hey everyone,
when I export my area-plot with exportgraphics at high resolutions (e.g. >300 dpi), it changes the plotted area like follows:
<-How it should look
<- How it actually looks
the export-command I am using is as follows:
exportgraphics(gcf,'figure.png','Resolution',300)
I am also plotting using yyaxis and tiled layout.
Does someone know a quick work-around or the reason why matlab does this? When manually exporting the figure the same issue ocurrs...
Best,
Johannes
  2 Comments
Dyuman Joshi
Dyuman Joshi on 11 Dec 2023
Moved: Dyuman Joshi on 24 Jan 2024
From the documentation - "exportgraphics(obj,filename) saves the contents of the graphics object specified by obj to a file. The graphics object can be any type of axes, a figure, a standalone visualization, a tiled chart layout, or a container within the figure. The resulting graphic is tightly cropped to a thin margin surrounding your content."
Note the underlined part.
Try using print or saveas instead.
Options from FEX include export_fig
Johannes Schorr
Johannes Schorr on 11 Dec 2023
Moved: Dyuman Joshi on 24 Jan 2024
Thanks for the suggestions, however, neither of these seem to resolve the issue.

Sign in to comment.

Answers (1)

Johannes Schorr
Johannes Schorr on 11 Dec 2023
Moved: Dyuman Joshi on 24 Jan 2024
My work-around is now to go to:
  • File > Export Setup > Rendering > Resolution: 300/600 > Apply to Figure > OK
  • File > Save as --> save figure in desired format
This solves the issue, but is rather tedious if you have many figures to export...

Categories

Find more on Printing and Saving in Help Center and File Exchange

Products


Release

R2023a

Community Treasure Hunt

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

Start Hunting!