2015-05-12 61 views
1

首先創建元組的列表的元組列表(x座標,Y座標,顏色)(即是點被繪製)。每一個元組由3號(X - 座標,Y - 座標系統,C - 點的顏色)繪製與pyplot.scatter()方法

import random 
import matplotlib.pyplot as plt 

low = 1 
high = 20 
count = 100 

data_points = [(random.randint(low,high), random.randint(low,high), 
       random.randint(low,high))for x in range(count)] 

現在我想用pyplot.scatter()方法來繪製。

如果我指定我的情節是這樣的:

plt.scatter(*zip(*data_points)) 
plt.show() 

比它讀取第一個兩個列表X和Y座標(這是正確的),但第三個名單被視爲大小的點(關於文檔是正確的)。 我怎麼告訴Python來讀我的第三列表的顏色屬性(這是該方法的第四個參數)的pyplot.scatter()方法?

P.S.

matplotlib.pyplot.scatter(X,Y,S = 20,C = u'b '標記= u'o',CMAP =無, 範數=無,VMIN =無,VMAX =無,阿爾法=無,線寬=無, 綠黨=無,按住=無,** kwargs)

+0

你能改變'data_points'嗎? –

回答

2

如果你可以改變data_points和都還好用額外的開銷,你可以簡單地添加一個額外的數字來指定大小:

data_points = [(random.randint(low,high), random.randint(low,high), 
       15, random.randint(low,high))for x in range(count)] 
plt.scatter(*zip(*data_points)) 
plt.show() 
+0

這是一個選項。謝謝:)我是新來的所有這些數據sctructures,我不知道我是否以最優化的方式做的事情 – Dennis

+0

歡迎:-)(順便說一句,這不是最佳的,但它是簡潔的) –