2013-05-27 3 views
3

У меня есть набор данных, который я хочу построить как график рассеяния с matplotlib, и вектор того же размера, который классифицирует и маркирует точки данных (дискретно, например, от 0 до 3). Я хочу использовать разные маркеры для разных меток (например, «x» для 0, «o» для 1 и т. Д.). Как я могу решить эту проблему? Я совершенно уверен, что я просто не хватает на что-то, но на самом деле не найти, и мои наивные подходы не удалось до сих пор ...Python scatter-plot: Условия для стилей маркеров?

ответ

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() 
Смежные вопросы