如何改变y轴的极限? `ylim`不起作用

时间:2014-09-24 16:10:02

标签: matlab matlab-figure

当绘制下图时,仅仅是一个等于1的常数的NSS1就在图的顶部边框上,因此很难看到。

如何将y轴的长度更改为1.2,以便更清楚地看到NSS1?

lambda=5;
tau=0:30;

tau(1)=0.000001;

NSS1=1*ones(1,31);
NSS2=(1-exp(-tau/lambda))./(tau/lambda);
NSS3=((1-exp(-tau/lambda))./(tau/lambda)-exp(-tau/lambda));

%ylim([0, 1.2])
plot(tau,NSS1,'-k*',tau,NSS2,'-k+',tau,NSS3,'-ko');
xlabel('t = 0 to 30y', 'FontSize',30)
ylabel('yield','FontSize',30)

1 个答案:

答案 0 :(得分:2)

ylim如果在之前设置为之前没有工作的原因是它没有与axes对象相关联。

所以有两个选项

首先,您创建一个axes对象并使用hold on保留该对象,以便即将出现的plot绘制在同一轴上。

ax = axes; hold on;
ylim([0, 1.2])

plot(tau,NSS1,'-k*',tau,NSS2,'-k+',tau,NSS3,'-ko');

或者第二,您plot首先,该命令自动生成axes对象,然后您可以修改其y限制:

plot(tau,NSS1,'-k*',tau,NSS2,'-k+',tau,NSS3,'-ko');
ylim([0, 1.2])