Matlab:linkaxes挤压我的图表

时间:2013-07-09 12:15:06

标签: matlab

由于MatLab上的“subplot”功能,我已经淹没了几张图,效果很好。 不过,我希望我的所有图形具有相同的Y尺度,以便我可以比较它们。 我使用了“linkaxes”功能,我的所有图形都具有相同的比例,但问题是我的一些数字被“斩首”,缺少它们的上半部分,或者我的一个数字被完全挤压了。 我不知道发生了什么。你能帮我解决一下这个问题,还是告诉我另一个在我的情况下更合适的功能?

这是我的代码的一部分:

for i=1:1:9
   m=n(i);
   fichier=sprintf('%d.txt',m);
   M=load(fichier);
   z=length(M(:,1));
   x=M(1:z,1);
   y=M(1:z,2);
   a(i)=subplot(2,4,i)
   contour3=plot(x,y)
   linkaxes(a,'y')
end

1 个答案:

答案 0 :(得分:0)

linkaxes在多个轴的比例之间创建永久链接,以便您随后可以在一个轴上执行缩放操作(可能是交互式),并让另一个自动更新。

如果您需要该功能,那么linkaxes是正确的命令(尽管您也可以查看linkprops)。

但是,如果您只需要确保轴的y轴限制相同,则可能更容易(如果直接设置它们,您将拥有更多控制权)。您可以使用ylim(axis_handle)检索y轴限制,并使用ylim(axis_handle, [lower, upper])get(axis_handle,'YLim')set(axis_handle,'YLim',[lower,upper])进行设置。您还可以查看轴的YLimMode属性,该属性确定是直接设置轴限制还是自动调整其大小。