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

问题描述 投票:1回答:2

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

matlab plot matlab-figure
2个回答
1
投票

你想要hold功能。

从上面的链接:

x = -pi:pi/20:pi;
plot(sin(x))
hold on
plot(cos(x))
hold off

这将绘制sin(x)并在相同的轴上它将绘制cos(x)

如果你想用plot3函数绘制数组,你仍然可以使用hold on;并将它们绘制在同一个图形中。


0
投票

我假设你想在这种情况下做一个xyz散点图(?),使用plot3。详细信息go 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'); 
© www.soinside.com 2019 - 2024. All rights reserved.