Axis tick labels changed upon export to EPS

Hi all,
Duplicate post from the discussion forum here:
because I think it's a reasonable question!
I am using Matlab R2010b.
I have manually changed the axis tick labels for some of my plots and am experiencing some weird behaviour.
I have saved the figures (.fig) and the axis tick marks are correct. I can export to PNG or PDF with no problems. When I export to EPS however the axis tick marks have been altered and are completely incorrect.
Fig file is here if you want to play with it:
Any ideas? Surely a bug if it is specific to EPS export?!
Thanks for any suggestions,
Gabriel

1 commentaire

Arnaud Miege
Arnaud Miege le 26 Avr 2011
The figure exports fine to EPS on my machine. Do you have Ghostscript and Ghostview installed?

Connectez-vous pour commenter.

 Réponse acceptée

Gabriel Rosser
Gabriel Rosser le 27 Avr 2011

4 votes

Fixed:
The problem with specifying your own axis tick labels is that the property (for the y-axis here) YTickLabelMode is set to manual but the property YTickMode remains at auto.
When exporting to EPS, for some very odd reason the figure must be slightly rescaled (which is not the case/the rescaling is different when choosing PDF or PNG). The tick positions are automatically reassigned, but the labels remain those specified manually. Result: unexpected and rubbish figures!
Setting the axis property YTickMode to manual fixes this.
Of course this is only a problem if the rescaling step causes the tick positions to change, so Oliver Woodford probably didn't observe this.
I still think this is buggy behaviour - why should one type of export cause figure resizing when another doesn't?
Thanks for your suggestions everybody!

10 commentaires

John Martin Nilsen
John Martin Nilsen le 1 Août 2012
thanks a lot... solved my problem! /john
Wenjie Ji
Wenjie Ji le 12 Août 2014
The same when exporting to JPG
Steven
Steven le 21 Oct 2014
Modifié(e) : Steven le 21 Oct 2014
For me also this problem arises when exporting to PDF!
But I have not been able to resolve it by changing tickmode to manual.
Any other solution?
Is this a bug?
Thanks!
Steven
Jan
Jan le 21 Oct 2014
@Steven: Please open a new thread and post the relevant code there. I assume the mistake is concealed in "changing the tickmode to manual". How did you do this exactly?
Rotem Mairon
Rotem Mairon le 31 Juil 2021
This bug is still relevant ten years later. Thank you so much, @Gabriel Rosser, for sharing such a simple and elegant solution!
Adriano
Adriano le 27 Avr 2022
and 11 years later!
Palash Sarate
Palash Sarate le 13 Déc 2023
and 12 year later
Ankush Kapoor
Ankush Kapoor le 11 Jan 2024
And 13 years later!
Olivier
Olivier le 13 Nov 2024
I think the problem is solved when you set ylim manually.

Connectez-vous pour commenter.

Plus de réponses (1)

Matt Fig
Matt Fig le 26 Avr 2011

0 votes

I only use this for exporting figures.

5 commentaires

Gabriel Rosser
Gabriel Rosser le 26 Avr 2011
Nice function, thanks for pointing it out. Unfortunately it has exactly the same problem though - axis markings are messed up after exporting.
Matt Fig
Matt Fig le 26 Avr 2011
I will notify the author, thanks.
Oliver Woodford
Oliver Woodford le 27 Avr 2011
export_fig worked fine for me in R2010b on Windows 7 64-bit. The axis markings were as in the figure.
Gabriel Rosser
Gabriel Rosser le 27 Avr 2011
Oh sorry Oliver I just realised you mean you tried export_fig with my actual figure? That's very strange. Only difference I can think is I'm running Linux 64bit. Anyway, thanks very much for trying it and see my answer below for the fix.
Oliver Woodford
Oliver Woodford le 27 Avr 2011
Yes, I was using your figure. Anyway, glad you found a solution. If I can replicate the bug I may put a fix into export_fig.

Connectez-vous pour commenter.

Community Treasure Hunt

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

Start Hunting!

Translated by