2016-12-14 131 views
0

我想用不同的x,y座標來製作一個二維點圖,並且顏色取決於一個單獨的變量。我已經爲x和y座標創建了列向量,另一列包含了1或-1。我想用1表示紅色,-1表示藍色點。我有代碼如下:MATLAB:如何製作不同顏色點的二維圖?

x_dis=rho_rec(1:nDis,xCol,step);%x coordinates 
y_dis=rho_rec(1:nDis,yCol,step); %y coordinates 
bv=rho_rec(1:nDis,bvCol,step); % 1 or -1 

for i=1:1:nDis 
    if bv(i)==1 
     dis_color(i,1:3)=[0 0 1]; %blue 
    elseif bv(i)==-1 
     dis_color(i,1:3)=[1 0 0]; %red 
    end 
end 

plot(x_dis,y_dis,'.','Color',dis_color(1:nDis,:)) 

但它不起作用。我應該如何修改代碼?謝謝。

回答

2

我相信你的意思是做一個散點圖。你需要使用分散函數。如果是這種情況,您不會傳遞'Color'參數。

以下應爲你工作:

scatter(x_dis,y_dis,[],dis_color(1:nDis,:),'.') 

[]是標記大小的佔位符

你初始化dis_color其他地方?你可能希望在你的for循環之前做到這一點。

+0

這正是我想要的。謝謝。 –

相關問題