This question has been asked on SO, but I want to find a clearer solution.
Given that X is 100x2 data and the labels are a label vector (1 to 9), I draw a scatter plot as follows:
pl.scatter(X[:,0], X[:,1], c = labels)
pl.show()

How to add a legend to explain colors in only one line of code? Other solutions print each label separately:
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()
source
share