簡體   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