说我有以下Matlab代码:
figure;
a=plot(1:10); %A
pause();
set(a,'ydata',1:2:20); %B
pause();
set(a,'ydata',1:10); %C
在(A)我的情节的垂直范围是[1,10] 在(B)我的情节的垂直范围是[0,20] 在(C)处,垂直范围再次[1,10]。
我喜欢该图从步骤(A)到(B)自动缩放。我不喜欢从(B)到(C)的自动缩放 - 它会使事情跳得太多。
有没有办法将情节的比例设定为扩展但从不收缩?
在我看来,这看起来像:
set(gca,'XLimMode','auto_maxever');
答案 0 :(得分:6)
据我所知,Matlab没有你所描述的功能,但是......
您可以通过执行以下命令准确设置X
和Y
的限制:
set(gca,'XLim',[x1 x2], 'YLim',[y1 y2]);
同一命令的快速别名是:
axis([xmin xmax ymin ymax]);
您可以随时“冻结”限制,将XLimMode
和YLimMode
从Auto
更改为Manual
:
figure();
a=plot(1:10); %A
pause();
set(a,'ydata',1:2:20); %B
pause();
set(gca,'XLimMode','manual');
set(gca,'YLimMode','manual');
set(a,'ydata',1:10); %C
或者您可以使用另一个别名,它完全相同:
axis('manual');
如果正在连续采集数据,请考虑在每次更新前保存轴限制,然后执行手动缩放。