如何在matplotlib的散点图中设置点的边框颜色?

fst*_*tab 8 graphics plot matplotlib scatter-plot

是否可以设置通过该点生成的点的边框颜色,Axes.scatter或者它是否始终为黑色?

谢谢!

tac*_*ell 11

如果要使所有边都是相同的颜色:

ax.scatter(...., edgecolor=EC)
Run Code Online (Sandbox Code Playgroud)

哪里EC是颜色.如果你想要压制边缘(所以看起来边缘颜色与面部颜色相匹配)使用

ax.scatter(..., linewidths=0)
Run Code Online (Sandbox Code Playgroud)

如果你想让边缘的颜色与脸部颜色不同,并且每个标记都有自己的颜色,那么你必须自己绘制地图:

my_cmap = cm.get_cmap('jet')
my_norm = matplotlib.colors.Normalize()
ec_data = rand(15)
my_normed_data = my_norm(ec_data)
ec_colors = my_cmap(my_normed_data) # a Nx4 array of rgba value
ax.scatter(rand(15), rand(15), s=500, c=rand(15), edgecolors=ec_colors, linewidth=3)
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述