我有两个 3D 体积图像,我想从第一个图像中找到一个点(我有这个点的特定 x、y 和 z 值)并用不同的颜色标记它。我的意思是如何插入 x、y 和 z 的值,并在我的图表中以不同颜色的所有点中获取这一点。
问问题
187 次
2 回答
1
这里有 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')
于 2017-07-24T19:50:05.243 回答
1
假设您使用的是 scatter3,您可以只制作散点图,然后使用“hold on”并添加一个散点图,其中您的单点颜色不同,将覆盖原始点,例如:
hold on;
scatter3(x,y,z,'MarkerEdgeColor','k','MarkerFaceColor',[0 .75 .75]);
于 2017-07-24T19:09:57.807 回答