带有透明框和不透明边缘的图例>>

问题描述 投票:0回答:1

在图例中设置透明度时:

plt.legend(framealpha=0.5)

它同时影响背景和边缘。如何只对背景而不对边缘应用透明度?

我尝试过:

plt.legend(edgecolor=(0, 0, 0, 1.), facecolor=(1, 1, 1, 0.1))

我可以使用它来更改颜色,但不能更改透明度,即使用facecolor=(1, 0, 0, 0.1)确实将背景色更改为红色,但是使用facecolor=(1, 0, 0, 0.5)不会改变透明度。

我正在使用matplotlib v3.1.1。]

[在图例中设置透明度时:plt.legend(framealpha = 0.5),它将同时影响背景和边缘。如何只对背景而不对边缘应用透明度?我有...

python matplotlib legend alpha
1个回答
0
投票

[不幸的是,framealpha会覆盖实际边缘色或面色的alpha值。因此,需要在图例补丁上手动设置颜色(包括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))
© www.soinside.com 2019 - 2024. All rights reserved.