MATLAB generated .eps 3D figure import to Latex will be blurry
29 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
Hi,
I try to import .eps figures generated by MATLAB to Latex, it works fine for 2D plots: by fine I mean no matter how much I zoom in the resulting pdf files from Latex, the plot will automatically adjust, all the lines, words, colors stay crystal clear. But when I follow the same way importing 3D figure (e.g., like attached), it does not have this quality: when I zoom in, the figure will became blurry. It's really frustrating with blurry figures in my paperwork. Can anyone help me out?
1 Kommentar
Reed Smith
am 30 Apr. 2020
I also have this issue and have not been able to fix it...
saveas(fig,'figName','epsc')
...generates great vector graphics for 2d plots, but the graphics are rasters for plot3 figures. Haven't been able to find a work around using print() or export_fig() so. Printing directly to .pdf from matlab also generates 3d raster images instead of vector graphics.
Is it possible to export 3d figures to vector graphics? Is there a work around? Thanks to anyone who can help.
Antworten (2)
Reed Smith
am 30 Apr. 2020
I seem to have found the solution from the folks here: https://www.mathworks.com/matlabcentral/answers/92521-why-does-matlab-not-export-eps-files-properly#answer_101871
I don't think I was setting the renderer properly. Doing this got me 3d vector graphics:
set(fig,'renderer','Painters')
saveas(fig,'figName','epsc')
Petr Dohnalik
am 14 Feb. 2022
Bearbeitet: Petr Dohnalik
am 19 Feb. 2022
I ran into the same problem. As @Reed Smith pointed out, this is a matter of Matlab's renderers (most likely Painters vs OpenGL). I don't know if your plot involves also transparency. If so, Painters is not able to render the transparency. As far as I know, there are two workarounds:
1.) use finer resolution, as described here: https://www.mathworks.com/matlabcentral/answers/98094-why-does-my-printed-figure-have-poor-resolution, or
2.) print to SVG format; for example:
print('-vector','-dsvg','myVectorFile')
see also Matlab help for print (subsection "formattype"): https://www.mathworks.com/help/matlab/ref/print.html?s_tid=srchtitle_print_1.
The FEX: ExportSVG can be used as well. This tool was discussed here: https://www.mathworks.com/matlabcentral/answers/55554-getting-transparency-in-a-vector-plot.
0 Kommentare
Siehe auch
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!