如何在单个图上绘制多个3D阵列?

时间:2013-03-30 06:34:58

标签: matlab plot matlab-figure

我有多个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图上绘制它们?

2 个答案:

答案 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');