2012-10-27 31 views
1

我有大約9000個x,y位置,每個都有一個值,比如介於-1和1之間。我們稱之爲溫度。在Matlab散點圖中以有意義的顏色顯示數據

我想繪製與點溫度成比例的紅色/藍色點。

我可以用G = 0和R + B = 1將RGB值從[0 0 1]縮放到[1 0 0]。我想用溫度爲-1的最冷點標記爲[0 0 1],純藍色,中間點可能在[.4 0 .6],而一個非常熱點將在[ .95 0 .5]

我認爲有一種方法可以用scatter命令做到這一點,但我無法弄清楚如何爲每個點提供不同的RGB值。如果有一種方法可以通過繪圖命令來做到這一點,我很樂意做到這一點。

我會很感激你可以給我的任何指導。

謝謝

菲爾

回答

2

使用cdata屬性:

cdata = [0 0 0; 
     1 0 0; 
     0 1 0; 
     0 0 1; 
     1 0 1]; 
figure; 
scatter(1:5, 1:5, 'o','cdata',cdata) 
+0

非常感謝你。我想我可以完成這項工作。我可以計算每行cdata的適當值,然後使用scatter命令。快速的反應。我很開心。 –