有没有一个简单的方法可以用给定的颜色填充图例区域的背景。更具体地说,我想网格不被视为对传说领域,因为它扰乱了文本阅读。
关键字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')
但是接下来我需要问我如何在保持框架开着的同时改变背景颜色?有时候我想用白色以外的背景色。还有,有没有办法改变框架的颜色?使用上面的代码,我希望只改变框架的颜色,而不是背景。
3条答案
按热度按时间w6lpcovy1#
您可以分别设置边颜色和面颜色,如下所示:
FancyBboxPatch here下有更多信息。
jv4diomz2#
使用matplotlib.pyplot,
plt.legend(facecolor='white', framealpha=1)
将为图例提供一个没有透明度的白色背景。iq3niunx3#
除了Molly的方法外,您还可以使用线宽关闭帧:
我在一个小的方便函数中使用了这个方法来隐藏图例框架,原因与您引用的相同。该函数在
print_targeted_plots
模块(可用from github)中称为adjust_legends
。