将图例添加到散点图中

Dzu*_*yen 5 python matplotlib legend scatter-plot

这个问题已在SO上提出,但我想找到一个更清晰的解决方案.

给定X是100x2数据,标签是标签向量(从1到9)我绘制散点图如下:

pl.scatter(X[:,0], X[:,1], c = labels)
pl.show()
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

如何添加图例来解释一行代码中的颜色?其他解决方案分别绘制每个标签

a = pl.scatter(X1[:,0], X1[:,1], color = "red")
b = pl.scatter(X2[:,0], X2[:,1], color = "green")
c = pl.scatter(X3[:,0], X3[:,1], color = "blue")
pl.legend((a,b,c), ("line 1", "line 2", "line 3")
pl.show()
Run Code Online (Sandbox Code Playgroud)

Ral*_*alf 3

只需标记每个图并像您一样调用 legend() :)

plt.scatter(x1,y1,label=str(pointset1))
plt.scatter(x2,y2,label=str(pointset2))
plt.scatter(x3,y3,label=str(pointset3))

plt.legend(loc='upper right', numpoints=1, ncol=3, fontsize=8, bbox_to_anchor=(1,1))
plt.show()
Run Code Online (Sandbox Code Playgroud)