Распылитель Python: условия для стилей маркеров?

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

Что касается итерации по всем маркерам:

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