Why do 3D plots become pixelated after exporting to SVG, while 2D plots do not?
7 views (last 30 days)
Show older comments
I created a 2D and a 3D plot using the attached code and saved them in SVG format. I then inserted both into a LaTeX document using the same command. However, in the resulting PDF, it looks like only the 2D plot is vector based (as intended), while the 3D plot appears to be pixelated. Can anyone tell me why?

0 Comments
Answers (1)
Divyanshu
on 21 Jan 2025
A possible cause for the issue can be MATLAB switiching the auto-renderer setting to '-opengl' to render the plot. This generally happens when the number of elements exceed a certain threshold in the figure.
The workaround is to manually force the '-vector' renderer, this should give correct graphics output. You can try adding the following command to the script and observe the results:
print(hfig,'-vector','-dpdf',[fname,'.pdf'])
See Also
Categories
Find more on Graphics Performance 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!