2016-06-22 102 views
-1

表示除x,y之外的列我想對某些數據進行模擬,並且想針對不同類別顯示不同顏色的點。我有三列,我使用的兩列是x,y,我想使用第三列,其中有兩個類別在我的情節中反映出來。使用matplotlib,python 2.7

y = np.array(q) 
x = np.array(p) 

fig = plt.figure(figsize = (18,18)) 
plt.show() 

for t in range(6000): 

ax = fig.add_subplot(2,1,1) 
for i in s[t:t+4]: # s is a list that contains the third column 
    if i == 'Match': 
     ax.plot(x[i], y[i], 'bs') 
    else: 
     ax.plot(x[i],y[i],'ro') 
+1

一個你能請張貼代碼爲您最好的嘗試?謝謝 – lrnzcig

+0

@Irnzcig:請參閱上面的代碼,我認爲groupby可以幫助,但我不知道如何在這裏使用它。 – nezz

回答

1

有很多方法可以做到這一點,這裏是用熊貓

#generate data 
df = pd.DataFrame(np.random.random(size=(100,2)), columns=['x','y']) 
df.loc[:,'cat'] = ['Match' if np.random.randint(0,2)==1 else '-' for i in range(100) ] 

plt.plot(df.loc[df.cat=='Match','x'],df.loc[df.cat=='Match','y'],'bs') 
plt.plot(df.loc[df.cat!='Match','x'],df.loc[df.cat=='Match','y'],'ro') 
+0

謝謝@Diziet朝日! – nezz