Plot axis limits different between figure and print

I'm really not sure how to phrase this question to be clear, and am surprise that I never noticed this before. Perhaps because I rarely print figures.
I create a plot using the plot command. Something like this:
h = figure;
plot(x, y);
h.Position = [100 100 800 480];
set(h, 'PaperPositionMode', 'auto');
grid on; hold off; ax1 = gca;
I draw rectangles and create text boxes, based on XTick and YTick values. I also make use of xlim & ylim values to set positions of other text boxes. But nowhere am I setting xlim or ylim manually. Finally, I print the plot figure using print, as follows:
print(gcf, ['somefilename' '.png'], '-dpng');
The figure window created above matches the printed png file. However, both these seem to set the ylim scale poorly. When I grab the figure window and resize it (make larger), the ylim scale changes and seems to get set well. I don't know why this is. It's problematic because this setting doesn't get into the png file. How do I fix this, so that the printed png file has the better y-axis scale set?

 Réponse acceptée

Voss
Voss le 25 Août 2022

0 votes

What happens if you resize the figure before calling print()?

1 commentaire

AR
AR le 25 Août 2022
Thanks - given how it works, this makes sense. I tried it using the position property to reset figure size larger, and now it seems to print with the correct axis scales. I may have a follow-on question later, but I think I should be able to work it out with this.

Connectez-vous pour commenter.

Plus de réponses (0)

Catégories

En savoir plus sur Labels and Annotations dans Centre d'aide et File Exchange

Produits

Version

R2018a

Question posée :

AR
le 24 Août 2022

Commenté :

AR
le 25 Août 2022

Community Treasure Hunt

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

Start Hunting!

Translated by