R2025a exportgraphics new behavior for PDF export
50 views (last 30 days)
Show older comments
I use to export figure to PDF using the following code :
exportgraphics(fig, [ savepath 'fig_name.pdf'], 'ContentType', 'vector');
It contains both plots and imagesc in subplots.
In Matlab R2024b, the exported PDF would look smooth even zooming in -> vector graphic confirmed. Or good enough let's say: I've heard that imagesc figures can't be vectorized in a proper way anyway.
In Matlab R2025a, the plots are ok, the imagesc are very blured, even if I specify dpi = 600 in the exportgraphic function.
So I'm guessing the behaviour of that function have changed.
Anyone has any input about this ?
How can I have the same result as in R2024b in R2025a is my question.
7 Comments
dpb
on 28 Aug 2025
You didn't provide such information initially, and it's generally simpler/more convenient to provide all needed rather than require the volunteer respondents to create on their own which may or may not actually create the same issues.
I have not installed recent releases because seem to be so many issues so can't check here...somebody with current release may come by.
Just go ahead and submit the bug report/support request...
Accepted Answer
Isha
on 1 Sep 2025
Hello,
This issue might seemed be related to this known bug in MATLAB R2025a: https://www.mathworks.com/support/bugreports/details/3668256
Currently there is no workaround according to the page.
Hope this helps.
2 Comments
Stephan
on 8 Dec 2025 at 16:16
With R2025A/B, our exportgraphics() for vectorized content on Linux only works for .eps files (.svg/.pdf led to visual artefacts, broken text objects --eg each character as single text object, or other problems.) For mixed rasterized & vectorized content as with imagesc/surf/pcolor/etc, the Linux/X11 workaround we have is ugly, but it works:
1. get figure ready as normal in matlab.
2. note current screen dpi ("xdpyinfo | grep resolution")
3. set X11 dpi to print quality eg: "xrandr --dpi 600" (yes, figures will look ridiculous with huge fonts/layout when displayed on screen, but they will print fine)
4. open a new matlab and make your figure, then:
exportgraphics(gcf,'blah.eps','ContentType','vector','Width',w,'Height',h)
5. close matlab, set xrandr --dpi back to original.
The basic problem is that matlab only rasterizes at screen DPI, so the only current workaround we have is to temporarily change the screen DPI to something publishers will accept for vectorized content. We had no success with print()/saveas().
More Answers (0)
See Also
Categories
Find more on Adding custom doc in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!