2012-02-16 87 views
6

我想用matplotlib創建散點圖,其中數據點具有標量數據附加到它們,並根據它們的附加值相對於該集中其他點的大小來分配顏色。也就是說,我想要一個類似於熱圖的東西。但是,我正在尋找一個「離散」熱圖,也就是說,在原始數據集中沒有點的地方不應繪製任何圖表,特別是不應該執行內插(空間)。具有標量數據的散點圖

可以這樣做嗎?

回答

10

可以使用分散,並附加值設置爲C參數:

import numpy as np 
import pylab as pl 

x = np.random.uniform(-1, 1, 1000) 
y = np.random.uniform(-1, 1, 1000) 

z = np.sqrt(x*x+y*y) 

pl.scatter(x, y, c=z) 
pl.colorbar() 
pl.show() 

enter image description here

-1

在牛郎星解決這個。

import numpy as np 
import pylab as pl 

x = np.random.uniform(-1, 1, 1000) 
y = np.random.uniform(-1, 1, 1000) 

z = np.sqrt(x*x+y*y) 

df = pd.DataFrame({'x':x,'y':y, 'z':z}) 

from altair import * 

Chart(df).mark_circle().encode(x='x',y='y', color='z') 

enter image description here