为两个数字设置y轴的相等限制

时间:2013-05-13 16:09:11

标签: matlab plot axes

如何使两个图的垂直轴相等?

例如:

a = [1 2 3; 21 1 3; 4 2 3; 4 5 6]

在绘制plot(a(1, :))之后,我得到以下数字:
enter image description here

我做了一些简单的操作:

[U E V] = svd(a);
figure(2);
plot(U(1,:))

得到另一个数字: enter image description here

如何使两个图的y轴限制相等?它是axes equal命令吗?

更新
我使用了以下命令:

figure (1)
ylim([0 3])
plot(a(1,:))
figure (2);
ylim([0 3])
plot(U(1,:))

但得到相同的结果......

3 个答案:

答案 0 :(得分:1)

您可以使用ylim强制限制y轴。例如:

figure(1)
%// Some plotting...
ylim([0 3])

figure(2)
%// Some more plotting
ylim([0 3])

这确保了y轴在两个图中都被限制在[0,3]的范围内。您可以使用命令xlim对x轴的限制执行相同的操作。

另请注意,如果要一次设置两个轴的限制,而不是使用xlimylim(两个命令),则可以使用axis(一个命令)

答案 1 :(得分:1)

您可以使用ylimxlim功能。

答案 2 :(得分:1)

您可以这种方式将一个地块的限制克隆到另一个地块:

h1 = figure;
% do first plot...

h2 = figure;
%do second plot...

% set first figure as active
figure(h1); 

%get limits properties of the axes that are drawn in Figure 1
xL = get(gca, 'XLim');
yL = get(gca, 'YLim');

%switch to second figure and set it as active
figure(h2);

%set axis limit properties of Figure 2 to be the same as in Figure 1
set(gca, 'XLim', xL);
set(gca, 'YLim', yL);