2013-05-27 3 views
3

나는 matplotlib을 사용하여 산점도로 음모를 꾸미고 자하는 데이터 세트와 데이터 포인트를 범주화하고 라벨을 붙이는 동일한 크기의 벡터 (예 : 0에서 3 사이)를 가지고 있습니다. 다른 라벨에 다른 마커를 사용하고 싶습니다 (예 : 'x'는 0, 'o'는 1 등). 어떻게 이것을 우아하게 해결할 수 있습니까? 나는파이썬 산점도 : 마커 스타일을위한 조건?

답변

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()