python - 如何在 matplotlib 中更改图例 edgecolor 和 facecolor

标签 python matplotlib

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/

相关文章:

python - 如何使用 OpenCV 和 SIFT 查找训练图像的多个实例

python - 将 pandas 连接的列后缀转换为 MultiIndex

python - 通过 urllib2 python 发送/设置 cookie

python - 分离一些子图而不是其他的; Python,Matplotlib

python - 与空 numpy 数组连接

python多处理锁问题

python - 使用稀疏数据在Python中绘制二维等值线图

python - 导入 matlotlibrc 文件?

python - axes.prop_cycle 的 Matplotlib 1.5 用法

python - 在 matplotlib 中的极坐标图上移动径向刻度标签