rcParams['legend.frameon'] = 'False'
是否有一种用给定颜色填充图例区域背景的简单方法。更具体地说,我不希望在图例区域看到网格,因为它会干扰文本阅读。
关键字 framealpha
听起来像我需要的,但它并没有改变任何东西。
import matplotlib as mpl
import matplotlib.pyplot as plt
mpl.rcParams['legend.frameon'] = 'False'
plt.plot(range(5), label = u"line")
plt.grid(True)
plt.legend(loc = best)
plt.show()
我也试过了:
legend = plt.legend(frameon = 1)
frame = legend.get_frame()
frame.set_color('white')
但是我需要问如何在保持框架打开的同时更改背景颜色?有时我希望它使用白色以外的背景颜色。还有,有没有办法改变框架的颜色?使用上面的代码,我希望只更改框架的颜色,而不是背景。
最佳答案
您可以像这样分别设置边缘颜色和面颜色:
frame.set_facecolor('green')
frame.set_edgecolor('red')
FancyBboxPatch here 下有更多信息.
关于python - 如何在 matplotlib 中更改图例 edgecolor 和 facecolor,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19863368/