Matplotlib:如何仅更改边的 alpha

Matplotlib: how to change alpha of edges only

我有一个散点图:

x=[0.1,0.2,0.3,0.4]
y=[0.1,0.3,0.4,0.6]

我想在每个点上添加透明度来绘制它,所以我使用了

plt.scatter(x,y,alpha =0.5, marker='o',color='g', markersize=12)

但是,发生的事情是我得到了充满绿色和透明的圆圈。我想要得到的是仅在内部区域的透明度,并且边缘真正可见,这样如果我有可能点彼此靠近,我总能看到边界。 有办法吗?

您可以单独指定边和面的颜色。对于面色,您可以选择 alpha 小于 1 的颜色。要指定这种颜色,请使用 RGBA(红、绿、蓝、alpha)元组。

import matplotlib.pyplot as plt

x=[0.1, 0.105, 0.2, 0.3, 0.4]
y=[0.1, 0.095, 0.3, 0.4, 0.6]

plt.scatter(x,y, s=144, marker='o', edgecolor='g', facecolor=(0,1,0,0.5), )

plt.show()