20210320 -
在使用plt.scatter
进行散点图绘制的时候,通过直接指定颜色,可以直接获得结果,大致代码如下:
plt.scatter(X[:,0], X[:,1], c = y)
但是如果这样的话,在标注图例的时候,就无法标注了,直接使用plt.legend()
的话,会提示没有标签信息;而即使将标签数据在plt.scatter
的函数中传入,也并不能显示。
对于这个问题,在百度上进行了搜索,发现好多人有这种需求,而如果要解决这种问题,那么只能是采用循环的方式,通过循环的方式在每次绘图的时候传递过去这个。整体代码的话,也比较简单。
但是我个人感觉这种需求应该很常见啊,为什么没有比较官方的解决方案。在matplotlib的网站上进行了查看,找到了一个类似的解决方案,使用的方法就是PathCollection.legend_elements
。
具体的话可以查看Scatter plots with a legend