如何在 Matlab 中的两个不同图形 (2D) 上保持比例不变

How to keep scale constant on two different graphs (2D) in Matlab

我正在用实验值和理论值绘制两种不同长度的杆的挠度。

我需要创建两个图表,但轴需要具有相同的比例。我目前正在同一张图上绘制这两个图,但它看起来很杂乱,报告需要第二个图。我希望能够清楚地看到钢筋在其边缘和平面上的偏转差异。

当前图表和代码:

plot(L_4F,Load_Flat,'DisplayName','Flat: L/4 Exp','LineWidth', 1)

hold on

plot(y_L_4F,Load_Flat,'DisplayName','Flat: L/4 Theo','LineWidth', 1)

hold on

plot(L_2F,Load_Flat,'DisplayName','Flat: L/2 Exp','LineWidth', 1)

hold on

plot(y_L_2F,Load_Flat,'DisplayName','Flat: L/2 Theo','LineWidth', 1)

hold on



%% Plotting L/2

plot(L_4E,Load_Edge,'DisplayName','Edge: L/4 Exp','LineWidth', 1)

hold on

plot(y_L_4E,Load_Edge,'DisplayName','Edge: L/4 Theo','LineWidth', 1)

hold on

plot(L_2E,Load_Edge,'DisplayName','Edge: L/2 Exp','LineWidth', 1)

hold on

plot(y_L_2E,Load_Edge,'DisplayName','Edge: L/2 Theo','LineWidth', 1)

ldg = legend('Show');
ldg.Location = 'Best';

想要显示图形差异但在单独的图形上

您可以使用linkaxes功能。 Documented here

在 1 个图上使用 2 个子图且仅在 X 方向上链接的示例:

figure
ax1 = subplot(2,1,1);plot(sin(0:.1:2*pi));
ax2 = subplot(2,1,2);plot(cos(0:.1:2*pi));
linkaxes([ax1,ax2],'x');

或 x 和 y 方向

linkaxes([ax1,ax2],'xy');

连接两个独立图形的另一个例子:

figure
plot(sin(0:.1:2*pi));
ax1 = gca;

figure;
plot(cos(0:.1:2*pi));
ax2 = gca;
linkaxes([ax1,ax2],'xy');