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

时间:2017-07-24 16:45:17

标签: matlab plot matlab-figure scatter3d

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

2 个答案:

答案 0 :(得分:0)

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

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

答案 1 :(得分:0)

以下是两个选项:

选项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

enter image description here

选项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')

enter image description here