首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >seaborn:带背景色的图例

seaborn:带背景色的图例
EN

Stack Overflow用户
提问于 2015-06-09 18:29:01
回答 2查看 22.5K关注 0票数 24

下面的问题解释了如何更改图例的背景颜色:matplotlib legend background color。但是,如果我使用seaborn,这将不起作用。有没有办法做到这一点?

代码语言:javascript
复制
import matplotlib.pyplot as plt
import numpy as np
a = np.random.rand(10,1)

plt.plot(a, label='label')
legend = plt.legend()
frame = legend.get_frame()
frame.set_facecolor('green')
plt.show()


import seaborn as sns

plt.plot(a, label='label')
legend = plt.legend()
frame = legend.get_frame()
frame.set_facecolor('green')
plt.show()

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-06-09 23:28:48

seaborn默认关闭图例框架,如果你想自定义框架的外观,我认为当你调用plt.legend时,你需要添加frameon=True

票数 42
EN

Stack Overflow用户

发布于 2017-08-31 17:10:21

set_style()方法可以接受样式参数(例如'white''whitegrid''darkgrid'等)。以及覆盖默认美学的参数字典,包括是否启用图例框架。

如果您有其他想要更改的小样式设置,就像我经常做的那样,您可以按照这种方式一次性设置它们。

代码语言:javascript
复制
import seaborn
seaborn.set_style('darkgrid', {'legend.frameon':True})

根据the docs,您可以使用seaborn.axes_style()获取seaborn的当前rc设置

代码语言:javascript
复制
{'axes.axisbelow': True,
 'axes.edgecolor': '.8',
 'axes.facecolor': 'white',
 'axes.grid': True,
 'axes.labelcolor': '.15',
 'axes.linewidth': 1.0,
 'figure.facecolor': 'white',
 'font.family': [u'sans-serif'],
 'font.sans-serif': [u'Arial',
  u'DejaVu Sans',
  u'Liberation Sans',
  u'Bitstream Vera Sans',
  u'sans-serif'],
 'grid.color': '.8',
 'grid.linestyle': u'-',
 'image.cmap': u'rocket',
 'legend.frameon': False,
 'legend.numpoints': 1,
 'legend.scatterpoints': 1,
 'lines.solid_capstyle': u'round',
 'text.color': '.15',
 'xtick.color': '.15',
 'xtick.direction': u'out',
 'xtick.major.size': 0.0,
 'xtick.minor.size': 0.0,
 'ytick.color': '.15',
 'ytick.direction': u'out',
 'ytick.major.size': 0.0,
 'ytick.minor.size': 0.0}
票数 11
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30729473

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档