繁体   English   中英

如何使用Matlab在3D大数据散点图中用不同的颜色标记一个点(我有x,y,z)?

[英]How to mark a point (I have x,y,z for it) in a 3D big data scatter plot with different color using matlab?

我有两个3D体积图像,我想从第一个图像中找到一个点(我对此点有特定的x,y和z值)并用不同的颜色标记它。 我的意思是我该如何插入x,y和z的值,并在图形中所有具有不同颜色的点中获得该点。

假设您使用的是scatter3,则可以制作散点图,然后使用“保持”并添加一个散点图,其中单个点的颜色将覆盖原始点,例如:

hold on; 
scatter3(x,y,z,'MarkerEdgeColor','k','MarkerFaceColor',[0 .75 .75]);

这是2个选项:

选项1

使用hold将另一个散布图仅与您要改变颜色的点重叠:

data = rand(100,3); % some data
p = randi(100); % choose some point
scatter3(data(:,1),data(:,2),data(:,3),'Fill')
hold on
% here you plot only one point (p):
scatter3(data(p,1),data(p,2),data(p,3),'r','Fill')
hold off

在此处输入图片说明

选项2

如果要为一个以上的点着色,和/或为各个点使用不同的颜色,则第一次调用scatter时,最好按该点设置颜色:

data = rand(100,3); % some data
p = randi(size(data,1),5,1); % choose some points
c = ones(size(data,1),1); % default color
c(p) = 2:(numel(p)+1); % set different color for each points in p
col = lines(numel(p)+1); % set the colormap for the points
scatter3(data(:,1),data(:,2),data(:,3),[],col(c,:),'Fill')

在此处输入图片说明

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM