我有多个3D数据阵列。如何在一个地块上绘制所有图片?数组的大小不相等。
例如:
array1_xy = [1 2;3 4;5 6]
array1_z = [10;20;30]
array2_xy = [2 4;5 6;4 6;4 5]
array2_z = [10;20;50;10]
array3_xy = [1 4;1 6;1 3;1 5;1 1;3 4]
array3_z = [10;20;30;10;80;30]
如何在具有不同标记的单个3D图上绘制它们?
答案 0 :(得分:1)
您需要 hold 功能。
从上面的链接:
x = -pi:pi/20:pi;
plot(sin(x))
hold on
plot(cos(x))
hold off
这将绘制sin(x)
,并在相同的轴上绘制cos(x)
。
如果您想使用plot3
函数绘制数组,您仍然可以使用hold on;
并将它们绘制在同一图表中。
答案 1 :(得分:0)
我假设你想在这种情况下做一个xyz散点图(?),使用plot3
。详情请help plot3
有关标记的详细信息,请转到help plot
按照代码执行您想要的操作。
plot3(array1_xy(:,1),array1_xy(:,2),array1_z,'x'); hold on;
plot3(array2_xy(:,1),array2_xy(:,2),array2_z,'o');
plot3(array3_xy(:,1),array3_xy(:,2),array3_z,'p');