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

时间:2013-11-21 16:23:54

标签: graphics matplotlib plot scatter-plot

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

谢谢!

1 个答案:

答案 0 :(得分:10)

如果你想让所有的边都是相同的颜色:

ax.scatter(...., edgecolor=EC)

其中EC是一种颜色。如果你想要压制边缘(所以看起来边缘颜色与面部颜色相匹配)使用

ax.scatter(..., linewidths=0)

如果您希望边缘的颜色与脸部颜色不同,并且每个标记都有自己的颜色,则看起来您必须对自己进行映射:

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)

enter image description here