MATLAB Answers

0

How to print figure to an .eps file properly?

Asked by tensorisation on 17 Aug 2019
Latest activity Commented on by the cyclist
on 28 Aug 2019 at 14:29
I'm printing the same figures as .png and .eps files. The .png looks fine, but the .eps appear to have some issues:
  • Somehow the image is cut to minimal space, but it also appear to cut the last number in my X axis.
  • My Y axis is set to a log scale, and so the 10^x (x=0,1,2,...) numbers don't look good at all (they look fine in the .png file).
  • In the legend of one of my figures there is an equation using sprintf(...). The text there doesn't scale properly with the box of the legend - it goes beyond the box untill it is cut in the bounds of the image.
I'm using the commands:
...
print(figure_current,'-dpng','-r200',file_figure_png_full_location);
...
print(figure_current,'-depsc','-painters',file_figure_eps_full_location);

  0 Comments

Sign in to comment.

Products


Release

R2018b

2 Answers

Answer by the cyclist
on 19 Aug 2019
 Accepted Answer

Try using '-opengl' rather than '-painters' for the renderer.

  5 Comments

When I first tried this, I didn't put a renderer at all, and it gave me the same results I had with '-painters'. Doesn't this mean that '-painters' is default for print?
Rik
on 28 Aug 2019 at 14:24
If I recall correctly, print selects the renderer based on the image format (pixel or vector). That should be mentioned in the doc.
the cyclist
on 28 Aug 2019 at 14:29
I don't recall for sure, and I'm currently on a machine that doesn't have MATLAB installed (horrors!) so I can't check. But I think the default renderer might be something like "Auto", meaning that the MATLAB will choose which one to use based on properties of the figure. I poked around the documentation a bit, but could not find a definitive answer.

Sign in to comment.


Answer by the cyclist
on 17 Aug 2019

Try using export_fig.

  1 Comment

Before resorting to trying to use this external elaborate shared library tool, isn't there a way to just properly save a figure as an .eps file in Matlab?

Sign in to comment.