代码之家  ›  专栏  ›  技术社区  ›  Sam

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

  •  2
  • Sam  · 技术社区  · 8 年前

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

    2 回复  |  直到 8 年前
        1
  •  1
  •   EBH    8 年前

    这里有两个选项:

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

    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

        2
  •  1
  •   Dandan    8 年前

    假设您使用的是散点图3,您只需绘制散点图,然后使用“保持”并添加一个散点图,其中单个点的颜色不同,将覆盖原始点,例如:

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