I want to display some points. Here is my code:
plt.scatter(y[:,0],y[:,1],c=col)
plt.show()
And as col
I have:
Col: [1 1 0 1 1 1 1 0 0 0 1 0 0 0 0 0 0 1 1 1 0 0 1 1 0 0 0 0 1 1 0 1 1 0 0 0 0
0 0 0 0 0 0 0 1 1 0 1 1 0 1 0 0 1 0 1 1 0 1 0 1 0 0 1 1 1 1 1 1 1 1 1 0 0
1 1 0 0 0 0 0 0 0 0 0 0 1 1 0 0 1 0 1 0 0 1 1 0 1 0 0]
So I have points in two different colours. But I also want to have two different markers. How can I do it? markers=col
gives an error.
Matplotlib does not support different markers in one call to scatter. You'll have to use two different calls to scatter
; for example:
plt.scatter(y[col == 0, 0], y[col == 0, 1], marker='o')
plt.scatter(y[col == 1, 0], y[col == 1, 1], marker='+')
You can use one scatter plot per marker.
markers = ["s","o"]
for i, c in enumerate(np.unique(col)):
plt.scatter(y[:,0][col==c],y[:,1][col==c],c=col[col==c], marker=markers[i])
For a way to use several markers in a single scatter plot, see this answer .
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.