MATLAB:垂直对齐子地块/轴的底部边缘

MATLAB:垂直对齐子地块/轴的底部边缘,matlab,vertical-alignment,subplot,axes,Matlab,Vertical Alignment,Subplot,Axes,下面的代码 fig = figure; alist = [-0.1 1 4]; cp = 0; for counter = 1:3 a = alist(counter); fp = [(1+sqrt(1+4*a))/(-2*a) (1-sqrt(1+4*a))/(-2*a)]; fpmin = (abs(fp(1)-cp) < abs(fp(2)-cp))*fp(1) + (abs(fp(1)-cp) >= abs(fp(2)-cp))*fp(2);

下面的代码

fig = figure;
alist = [-0.1 1 4];
cp = 0;
for counter = 1:3
    a = alist(counter);
    fp = [(1+sqrt(1+4*a))/(-2*a) (1-sqrt(1+4*a))/(-2*a)];
    fpmin = (abs(fp(1)-cp) < abs(fp(2)-cp))*fp(1) + (abs(fp(1)-cp) >= abs(fp(2)-cp))*fp(2);
    fpmax = (abs(fp(1)-cp) >= abs(fp(2)-cp))*fp(1) + (abs(fp(1)-cp) < abs(fp(2)-cp))*fp(2);
    ax = axes('Position',[.1+(counter-1)*0.3 0 0.25 1]);
    axis equal;
    hold on;
    fplot(@(x) 1-a*x.^2,'color','k');
    fplot(@(x) x,'--','color','b');
    plot([fpmax -fpmax -fpmax fpmax fpmax],[fpmax fpmax -fpmax -fpmax fpmax],'color','r');
    padding = .4*abs(fpmax);
    axis([-abs(fpmax)-padding abs(fpmax)+padding -abs(fpmax)-padding max(abs(fpmax),1)+padding]);
end

假设告诉MATLAB将每个新轴的左下角定位在0的高度。但这在第三张图片中并没有发生。我也尝试过使用子地块,但这会产生与上面所示相同的行为。如果我尝试的“定位”方法不起作用,如何沿底部垂直对齐三个轴?

这是由
轴相等
调用引起的,该调用将缩放轴的宽度和高度。第三个轴的x和y限制与其他2个轴的比率不同。删除轴相等。指定所有轴从0垂直移动到1(占据整个窗口)。由于
轴相等
和硬编码轴限制,它们通过MATLAB缩短。您必须将垂直偏移设置为大于0的数字才能看到刻度标签。很有趣,谢谢大家。如果我需要保持轴相等,有没有办法通过编程计算垂直定位应该是什么来获得垂直对齐?
ax = axes('Position',[.1+(counter-1)*0.3 0 0.25 1]);