2013-05-27 45 views
3

我有一個數據集,我希望用matplotlib繪製散點圖,並有一個相同大小的分類和標記數據點(離散地,例如從0到3)的向量。我想爲不同的標籤使用不同的標記(例如'x'爲0,'o'爲1等等)。我該如何優雅地解決這個問題?我敢肯定,我只是錯過了一些東西,但並沒有真正找到它,我天真的做法至今未能...Python散點圖:標記樣式的條件?

回答

8

什麼遍歷所有標記是這樣的:

import numpy as np 
import matplotlib.pyplot as plt 

x = np.random.rand(100) 
y = np.random.rand(100) 
category = np.random.random_integers(0, 3, 100) 

markers = ['s', 'o', 'h', '+'] 
for k, m in enumerate(markers): 
    i = (category == k) 
    plt.scatter(x[i], y[i], marker=m) 

plt.show()