在图例中设置透明度时:
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),它将同时影响背景和边缘。如何只对背景而不对边缘应用透明度?我有...
[不幸的是,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))