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?

 채택된 답변

Voss
Voss 2022년 8월 25일

0 개 추천

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

댓글 수: 1

AR
AR 2022년 8월 25일
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.

댓글을 달려면 로그인하십시오.

추가 답변 (0개)

카테고리

도움말 센터File Exchange에서 Labels and Annotations에 대해 자세히 알아보기

제품

릴리스

R2018a

태그

질문:

AR
2022년 8월 24일

댓글:

AR
2022년 8월 25일

Community Treasure Hunt

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

Start Hunting!

Translated by