threshold 3D visualisation
3 次查看(过去 30 天)
显示 更早的评论
Suppose we have a 3D array r(x,y,z) filled with values 1 and 2. 1. How to visualise it into a 3D model? 2. How to visualise only "2" values, i.e. make "1" invisible? Thank you!
0 个评论
采纳的回答
Massimo Zanetti
2016-9-26
编辑:Massimo Zanetti
2016-9-26
Ok, so try this one. It includes a fast way to generate a random array with only 1 or 2 entries.
%generate a 3d-matrix of size 10x5x5 with values 1,2.
R = randi(2,10,5,5);
%define coordinate grid
x = 1:10; y = 1:5; z = 1:5;
[X,Y,Z] = meshgrid(x,y,z);
%detect points with label=1
I1 = R==1;
%plot points with label=1
scatter3(X(I1),Y(I1),Z(I1),'filled');
0 个评论
更多回答(1 个)
Massimo Zanetti
2016-9-26
编辑:Massimo Zanetti
2016-9-26
Try this out. Given a set of 10 points (3dim) and a set of labels (1,2) it returns the plot of the points according to the labels.
XYZ = rand(10,3);
R = [1,1,2,1,2,2,2,1,2,1];
R1 = (R==1);
R2 = (R==2);
figure;
scatter3(XYZ(R1,1),XYZ(R1,2),XYZ(R1,3),'r','filled');
hold on;
scatter3(XYZ(R2,1),XYZ(R2,2),XYZ(R2,3),'b','filled');
hold off;
You may also want to map colors of the colormap directly to labels, in automated way.
figure;
scatter3(XYZ(:,1),XYZ(:,2),XYZ(:,3),30,R,'filled');
8 个评论
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Discrete Data Plots 的更多信息
产品
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!