Saving as EMF messes up my labels and ticks

13 views (last 30 days)
Good day,
I need to save some figures in ".emf" format (best quality & rescaling). The problem is with the label text and with axes ticks, they get shifted in the printed(saved) version. This is a simple example of a figure:
figure;
x = -pi:pi/10:pi;
y = tan(sin(x)) - sin(tan(x));
plot(x,y,'--rs','LineWidth',2,...
'MarkerEdgeColor','k',...
'MarkerFaceColor','g',...
'MarkerSize',10)
xlabel('This text should be centered');
ylabel('This text should be centered');
title('This text should be centered');
Bellow you can see the figure saved as .jpg, and then as .emf:
As you can see is the second picture (.emf) the labels and ticks are shifted. I would be grateful if anyone could help me solve this issue. Thank you !

Accepted Answer

Nalini Vishnoi
Nalini Vishnoi on 19 May 2015
Edited: Nalini Vishnoi on 19 May 2015
Hi Calin,
Are you using MATLAB R2014b? This is a known issue with printing or saving to the EMF format in MATLAB R2014b. It appears that sometimes, saving the figure to a FIG file, restarting MATLAB, opening the FIG file and printing it resolves the issue.
Another work around for this issue is to use "print" command twice as shown in the following lines of code:
>> figHandle = figure;
>> figData = magic(4);
>> plot(figData);
>> legend('Data 1','Data 2','Data 3','Data 4','Location','north');
>> print dmeta;
>> print (figHandle,'-dmeta','-painters','-r864','dataFigure');
I would also suggest to try it in MATLAB R2015a. The EMF file came out correctly for me in the newer version of MATLAB (R2015a). I hope this helps!
Nalini
  2 Comments
CalinV
CalinV on 20 May 2015
Thank you Nalini, both solutions work for me, the "double" printing being useful for my problem where I have to automatically generate and save dozens of pictures. I just hope this problem will be solved with the upcoming matlab release.
Nalini Vishnoi
Nalini Vishnoi on 20 May 2015
You are very welcome! I am glad that the suggestion worked!
Nalini

Sign in to comment.

More Answers (1)

Maksym Girnyk
Maksym Girnyk on 16 Feb 2016
A rather silly solution that works for me is to just open an arbitrary fig-file in Matlab. After this printing to an emf-file works as it should, until I close Matlab again.

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!