Matplotlib - 围绕散点图边界的边界

时间:2018-06-05 18:40:32

标签: python matplotlib

我关注this tutorial

我想使用Matplotlib创建一个散点图,其中的点在内部着色,但有一个黑色边框,例如这个图:

photo

然而,当我准确地复制代码时,我得到了这个情节。

enter image description here

以下是代码:

colors = ['black', 'blue', 'purple', 'yellow', 'white', 'red', 'lime', 'cyan', 'orange', 'gray']
for i in range(len(colors)):
    x = reduced_data_rpca[:, 0][digits.target == i]
    y = reduced_data_rpca[:, 1][digits.target == i]
    plt.scatter(x, y, c=colors[i])
plt.legend(digits.target_names, bbox_to_anchor=(1.05, 1), loc=2, borderaxespad=0.)
plt.xlabel('First Principal Component')
plt.ylabel('Second Principal Component')
plt.title("PCA Scatter Plot")
plt.show()

我尝试调整风格,但这没有帮助。

1 个答案:

答案 0 :(得分:5)

使用散点图时,可以为面和边设置颜色。 In the official documentation你可以找到一个额外的参数edgecolors,它允许设置边缘颜色。

  

edgecolors:颜色或颜色序列,可选,默认值:无

     

如果为None,则默认为'face'

     

如果是'face',则边缘颜色将始终与面部颜色相同。

     

如果是'none',则不会绘制补丁边界。

     

对于非填充标记,边缘颜色kwarg被忽略并被强制使用   内心'面对'。

毕竟,您只需要plt.scatter(x, y, c=colors[i],edgecolors='b')