沿 X 轴移动绘图数据 Matlab
Shift Plot Data Along X Axis Matlab
我无法让 Matlab 绘制第二个时间序列到 x 轴上的特定点。
我的数据是两个时间序列。时间序列 A 是 5 X 1,时间序列 B 是 7 X 1。我需要 A 在 xticklabels 1-5 上绘制。然后,使用 'hold on',我需要将时间序列 B 向右移动以绘制在 xticklabels 6:12 上。我一直在让第二个图直接在第一个图上绘制而没有发生偏移。我试过其他东西 -->
set(gca,'XTick',[6 7 8 9 10 11 12]);
它显示 x 轴数字移动但数据未绘制在位置 6:12。任何帮助深表感谢。我在网上看到了一些答案,但似乎无法正确回答。
在 Matlab 中,您可以使用 plot(xArray, yArray);
绘制一些东西。如果要沿 x 轴移动绘图,可以使用 plot(xArray + amountToShift, yArray);
.
因为我认为移动不是您真正的问题所在,所以我添加了一个示例,其中数据按照您描述的方式绘制:
A = [1, 2, 2, 1, 3];
tA = 1:5;
B = [3, 5, 2, 1, 2, 7, 5];
tB = 6:12;
plot(tA, A);
hold on;
plot(tB, B);
我无法让 Matlab 绘制第二个时间序列到 x 轴上的特定点。 我的数据是两个时间序列。时间序列 A 是 5 X 1,时间序列 B 是 7 X 1。我需要 A 在 xticklabels 1-5 上绘制。然后,使用 'hold on',我需要将时间序列 B 向右移动以绘制在 xticklabels 6:12 上。我一直在让第二个图直接在第一个图上绘制而没有发生偏移。我试过其他东西 -->
set(gca,'XTick',[6 7 8 9 10 11 12]);
它显示 x 轴数字移动但数据未绘制在位置 6:12。任何帮助深表感谢。我在网上看到了一些答案,但似乎无法正确回答。
在 Matlab 中,您可以使用 plot(xArray, yArray);
绘制一些东西。如果要沿 x 轴移动绘图,可以使用 plot(xArray + amountToShift, yArray);
.
因为我认为移动不是您真正的问题所在,所以我添加了一个示例,其中数据按照您描述的方式绘制:
A = [1, 2, 2, 1, 3];
tA = 1:5;
B = [3, 5, 2, 1, 2, 7, 5];
tB = 6:12;
plot(tA, A);
hold on;
plot(tB, B);