要获得此结果,您需要
scatter在同一轴上多次调用。好消息是您可以针对给定的数据自动执行此 *** 作:
import matplotlib.pyplot as pltx = [1,2,3,4,5]y = [2,1,3,6,7]cluster = ['^','^','^','s','s']fig, ax = plt.subplots()for xp, yp, m in zip(x, y, cluster): ax.scatter([xp],[yp], marker=m)plt.show()
较整洁的解决方案是使用群集信息过滤输入数据。我们可以使用来做到这一点
numpy。
import matplotlib.pyplot as pltimport numpy as npx = np.array([1,2,3,4,5])y = np.array([2,1,3,6,7])cluster = np.array([1,1,1,2,2])fig, ax = plt.subplots()ax.scatter(x[cluster==1],y[cluster==1], marker='^')ax.scatter(x[cluster==2],y[cluster==2], marker='s')plt.show()
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)