2013-07-04 68 views
5

我在元組設點的,就像這樣:使從集元組點的散點圖

>>> s 
set([(209, 147), 
    (220, 177), 
    (222, 181), 
    (225, 185), 
    (288, 173), 
    (211, 155), 
    (222, 182)]) 

什麼是做這套散點圖的正確方法?

回答

16

你可以這樣做:

甚至在 「一行代碼」:

plt.scatter(*zip(*a)) 

zip() can be used to pack and unpack arrays,當你調用使用method(*list_or_tuple),列表或元組的每個元素作爲參數傳遞。

+0

非常好的選擇! – Pablo

2
x = []; y=[] 
for point in s: 
    x.append(point[0]) 
    y.append(point[1]) 
plt.scatter(x,y) 
1

如果你想使用NumPy的陣列可以使用:

data = np.array(list(s)) 

首先變換s到一個列表,比到NumPy的陣列。

現在你有一個列表運算點,拿到X的的名單和y的,你可以使用:

xs = data.transpose()[0] # or xs = data.T[0] or xs = data[:,0] 
ys = data.transpose()[1] 

做圖用:

plt.plot(xs, ys, 'ro')