Python 具有透明边框和不透明边的图例

Python 具有透明边框和不透明边的图例,python,matplotlib,legend,alpha,Python,Matplotlib,Legend,Alpha,在图例中设置透明度时: plt.legend(framealpha=0.5) 它同时影响背景和边缘。如何仅将透明度应用于背景而不应用于边缘 我试过: plt.legend(edgecolor=(0, 0, 0, 1.), facecolor=(1, 1, 1, 0.1)) 使用它我可以更改颜色,但不能更改透明度,即使用facecolor=(1,0,0.1)会将背景颜色更改为红色,但使用facecolor=(1,0,0,0.5)不会对透明度产生任何影响 我使用的是matplotlib v3.1

在图例中设置透明度时:

plt.legend(framealpha=0.5)
它同时影响背景和边缘。如何仅将透明度应用于背景而不应用于边缘

我试过:

plt.legend(edgecolor=(0, 0, 0, 1.), facecolor=(1, 1, 1, 0.1))
使用它我可以更改颜色,但不能更改透明度,即使用
facecolor=(1,0,0.1)
会将背景颜色更改为红色,但使用
facecolor=(1,0,0,0.5)
不会对透明度产生任何影响


我使用的是matplotlib v3.1.1。

不幸的是,
framealpha
覆盖了实际边或面颜色的alpha值。因此,需要在legend面片上手动设置颜色,包括alpha

legend = plt.legend(loc="upper right", edgecolor="black")
legend.get_frame().set_alpha(None)
legend.get_frame().set_facecolor((0, 0, 1, 0.1))

plt.legend(edgecolor=(0,0,0,1.),facecolor=(1,1,1,0.1))
对我来说很好。你能提供更多关于你面临的问题的信息吗?很有趣。对我来说,使用
facecolor=(1,1,1,0.1)
facecolor=(1,1,1,0.9)
没有区别。我正在使用matplotlib v3.1.1;那才是真正的问题。