将 plotyy 与具有不同维度的多个数据集一起使用
Using plotyy with multiple data sets with different dimensions
我想制作一个有两个 y 轴的图,并将多个数据集应用于其中一个轴。例如
[hAx,hLine1,hLine2] = plotyy([x1',x2',x3'],[y1',y2',y3'],x4,y4);
其中 x1
和 y1
是 1000x1
数组,x2
和 y2
是 2000x1
数组,x3
和 y3
是 3000x1
数组。阵列的范围或多或少是相同的。当我尝试制作这个图时,MATLAB 给我一个错误提示
Error using horzcat Dimensions of matrices being concatenated are not
consistent.
这个错误有什么解决方法吗?
编辑:
这是我的真实代码,它不起作用:
[hAx,hLine1,hLine2] = plotyy([erg_cm.Time.data,erg_cm.Time.data,t',t'],...
[erg_cm.Car_FxFL.data,erg_cm.Car_FxFR.data,Fx(1,:),Fx(2,:)],...
erg_cm.Time.data,diff);
而我的原始数据:
erg_cm.Time.data
是 1x4001
t
是 80300x1
erg_cm.Car_FxFL.data
是 1x4001
erg_cm.Car_FxFR.data
是 1x4001
Fx
是 4x80300
diff
是 1x4001
您的 x
和 y
向量是列向量,您试图水平连接它们,但您不能这样做,因为它们的大小不同。你想垂直连接它们:
[hAx,hLine1,hLine2] = plotyy([x1;x2;x3],[y1;y2;y3],x4,y4);
编辑:这是我正在测试的内容
erg_cm.Time.data = rand(1, 4001);
t = rand(80300, 1);
erg_cm.Car_FxFL.data = rand(1, 4001);
erg_cm.Car_FxFR.data = rand(1, 4001);
Fx = rand(4, 80300);
diff = rand(1, 4001);
[hAx,hLine1,hLine2] = plotyy([erg_cm.Time.data,erg_cm.Time.data,t',t'],...
[erg_cm.Car_FxFL.data,erg_cm.Car_FxFR.data,Fx(1,:),Fx(2,:)],...
erg_cm.Time.data,diff);
我想制作一个有两个 y 轴的图,并将多个数据集应用于其中一个轴。例如
[hAx,hLine1,hLine2] = plotyy([x1',x2',x3'],[y1',y2',y3'],x4,y4);
其中 x1
和 y1
是 1000x1
数组,x2
和 y2
是 2000x1
数组,x3
和 y3
是 3000x1
数组。阵列的范围或多或少是相同的。当我尝试制作这个图时,MATLAB 给我一个错误提示
Error using horzcat Dimensions of matrices being concatenated are not consistent.
这个错误有什么解决方法吗?
编辑: 这是我的真实代码,它不起作用:
[hAx,hLine1,hLine2] = plotyy([erg_cm.Time.data,erg_cm.Time.data,t',t'],...
[erg_cm.Car_FxFL.data,erg_cm.Car_FxFR.data,Fx(1,:),Fx(2,:)],...
erg_cm.Time.data,diff);
而我的原始数据:
erg_cm.Time.data
是1x4001
t
是80300x1
erg_cm.Car_FxFL.data
是1x4001
erg_cm.Car_FxFR.data
是1x4001
Fx
是4x80300
diff
是1x4001
您的 x
和 y
向量是列向量,您试图水平连接它们,但您不能这样做,因为它们的大小不同。你想垂直连接它们:
[hAx,hLine1,hLine2] = plotyy([x1;x2;x3],[y1;y2;y3],x4,y4);
编辑:这是我正在测试的内容
erg_cm.Time.data = rand(1, 4001);
t = rand(80300, 1);
erg_cm.Car_FxFL.data = rand(1, 4001);
erg_cm.Car_FxFR.data = rand(1, 4001);
Fx = rand(4, 80300);
diff = rand(1, 4001);
[hAx,hLine1,hLine2] = plotyy([erg_cm.Time.data,erg_cm.Time.data,t',t'],...
[erg_cm.Car_FxFL.data,erg_cm.Car_FxFR.data,Fx(1,:),Fx(2,:)],...
erg_cm.Time.data,diff);