0

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

例如:

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

绘制后plot(a(1, :))我得到下图:
在此处输入图像描述

我做了一些简单的操作:

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

并得到另一个数字: 在此处输入图像描述

如何使两个图的 y 轴范围相等?是axes equal命令吗?

更新:
我使用了以下命令:

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

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

4

3 回答 3

1

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

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

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

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

另请注意,如果您想同时设置两个轴的限制,而不是使用xlimand ylim(两个命令),您可以使用axis(一个命令)。

于 2013-05-13T16:11:55.993 回答
1

您可以使用ylimxlim功能。

于 2013-05-13T16:12:18.703 回答
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);
于 2014-10-14T11:20:14.407 回答