Matlab或Origin - 在一个等值线图中组合两组3D数据

时间:2017-03-06 19:15:30

标签: matlab plot 3d contour originlab

我有两组带有XYZ坐标的3D数据。我想知道是否有一个可以将两者结合起来的程序,例如:

一组数据由图的颜色表示,另一组数据由图的高度(以3D为单位)表示。

我熟悉Matlab和Origin。

2 个答案:

答案 0 :(得分:0)

可以使用surf(Z,C)完成。

a = randi(20,20,20);
b = randi(20,20,20);

figure;
subplot(2,2,1);
surf(a);
title('Height');

subplot(2,2,2);
surf(b);
title('Color');

subplot(2,2,[3,4]);
surf(a,b);
title('Mixed');

不是最好的表示,但你可以看到一个矩阵产生高度,一个产生颜色。

混合图的颜色来自右图

Color matches

混合地块的高度来自左图

Height matches

答案 1 :(得分:0)

使用scatter3函数很容易。

w=100;
x1=rand(1,w);
y1=rand(1,w);
z1=rand(1,w)*100;
z2=ceil(rand(1,w)*255);
figure
h=scatter3(x1,y1,z1,ones(1,w)*50,z2,'filled');

enter image description here