2012-02-15 689 views
2

我想要構建的圖的屬性如下:MATLAB:散點圖 - 不同形狀的點根據位置

該圖顯示200點。對角線上方的點應該用紅色星星和對角線下方的點用藍色三角形表示。

這是我已經成功至今

x=[0 1]; 
y=[0 1]; 
line(x,y, 'linewidth', 1); 
hggroup = scatter(rand(100,1),rand(100,1)); 
axis tight; 
axis square; 
title('Scatterplot') 

你能幫我是做些什麼?提前致謝。

回答

4

如何:

line([0 1],[0 1], 'linewidth', 1); 
hold on 

x = rand(100,1); 
y = rand(100,1); 
idx = y>x; 

scatter(x(idx),y(idx),'r*'); 
scatter(x(~idx),y(~idx),'b^'); 

axis tight; 
axis square; 
title('Scatterplot') 
+0

這工作完全!請你能解釋一下idx是什麼,'〜idx'是如何工作的? – 2012-02-15 15:44:14

+0

我知道一個'〜'是一個邏輯NOT,但是它是如何工作的?謝謝 – 2012-02-15 15:48:41

+1

idx是一個邏輯數組,指示y的哪些值> x。 〜idx是與之相反的,所以y Jonathan 2012-02-15 15:50:53