我关注this tutorial。
我想使用Matplotlib创建一个散点图,其中的点在内部着色,但有一个黑色边框,例如这个图:
然而,当我准确地复制代码时,我得到了这个情节。
以下是代码:
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()
我尝试调整风格,但这没有帮助。
答案 0 :(得分:5)
使用散点图时,可以为面和边设置颜色。 In the official documentation你可以找到一个额外的参数edgecolors,它允许设置边缘颜色。
edgecolors:颜色或颜色序列,可选,默认值:无
如果为None,则默认为'face'
如果是'face',则边缘颜色将始终与面部颜色相同。
如果是'none',则不会绘制补丁边界。
对于非填充标记,边缘颜色kwarg被忽略并被强制使用 内心'面对'。
毕竟,您只需要plt.scatter(x, y, c=colors[i],edgecolors='b')