I want to output a high-resolution figure from Matlab. I tried to "save as pic.eps". But when I insert this picture in latex, it seems that the picture is not "real eps" in the sense that I can tell that the resolution is not enough. I also tried to "save as pic.pdf". The resolution meets my demand, but the pic is cropped, as it is too large.
Then I used
print -depsc -tiff -r300 -painters pic.eps
This gives me the high-resolution full picture, but some of the dashed lines in the original picture disappeared. I have tried many other cases and still couldn't find the right way to solve my problem. Any suggestions are highly appreciated
I'd try to save eps in vector format, or use a vector only format such as .svg.
For example,
print -depsc2 -painters test.eps
These are the vector graphics supported formats according to the current documentation:
Option Vector Graphics Format File Extension
'-dpdf' Full page Portable Document Format (PDF) color .pdf
'-deps' Encapsulated PostScript (EPS) Level 3 black and white .eps
'-depsc' Encapsulated PostScript (EPS) Level 3 color .eps
'-deps2' Encapsulated PostScript (EPS) Level 2 black and white .eps
'-depsc2' Encapsulated PostScript (EPS) Level 2 color .eps
'-dmeta' Enhanced Metafile (Windows® only) .emf
'-dsvg' SVG (Scalable Vector Graphics) .svg
'-dps' Full-page PostScript (PS) Level 3 black and white .ps
'-dpsc' Full-page PostScript (PS) Level 3 color .ps
'-dps2' Full-page PostScript (PS) Level 2 black and white .ps
'-dpsc2' Full-page PostScript (PS) Level 2 color .ps
you'll also have to use the '-painters'
renderer when saving vector graphics files. If you save to a vector graphics file and if the figure RendererMode property is set to 'auto', then print automatically attempts to use the Painters renderer. If you want to ensure that your output format is a true vector graphics file, then specify the Painters renderer. For example:
print('-painters','-deps','myVectorFile')