SO上有人问过这个问题,但我想找到一个更清晰的解决方案。
给定 X 是 100x2 数据,labels 是标签向量(从 1 到 9),我绘制散点图如下:
pl.scatter(X[:,0], X[:,1], c = labels)
pl.show()
如何在一行代码中添加图例来解释颜色?其他解决方案分别绘制每个标签:
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()
最佳答案
您可以创建一个带有所需图例的虚拟散点图,如下所示:
pl.scatter(X[:,0], X[:,1], c = labels)
for item in labels:
#dummy plot just to create the legend
pl.scatter([], [], c = item, label = item)
#loc = 0 is for the best position of the legend
#scatterpoints = 1 will only show one point in the legend instead of multiple points
plt.legend(loc = 0, scatterpoints = 1)
pl.show()
关于python - 将图例添加到散点图,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23094774/