Python matplotlib scatter - different markers in one scatter

后端 未结 2 1796
时光取名叫无心
时光取名叫无心 2020-12-06 14:22

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:



        
相关标签:
2条回答
  • 2020-12-06 14:57

    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.

    0 讨论(0)
  • 2020-12-06 15:04

    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='+')
    
    0 讨论(0)
提交回复
热议问题