【问题标题】:Seaborn sns.set() changing plot background colorSeaborn sns.set() 更改绘图背景颜色
【发布时间】:2021-03-07 03:09:08
【问题描述】:

在 seaborn 中使用 sns.set() 似乎正在改变 情节。

import matplotlib
import matplotlib.pyplot as plt
import seaborn as sns
import pandas as pd


df = pd.DataFrame({"type":["A", "A", "A", "A", "B", "B", "B", "B"],
                   "value":[11, 14, 13, 16, 9, 8, 6, 10],
                  "date":["t1", "t2", "t3", "t4", "t1", "t2", "t3", "t4"]})

grid = sns.FacetGrid(df, size=12.5, hue="type", aspect=2)
grid.map(plt.plot, "date", "value")
plt.show()

然后如果我运行sns.set(font_scale=2)(或只是sns.set()),重复 我得到相同的情节

grid = sns.FacetGrid(df, size=12.5, hue="type", aspect=2)
grid.map(plt.plot, "date", "value")
plt.show()

这对我来说似乎有点奇怪。我更喜欢第二种绘图配置,但希望在不随意调用sns.set() 的情况下获得它,除非这是推荐的方法。

相关版本信息

print("matplotlib version: %s" % matplotlib.__version__)
print("seaborn version: %s" % sns.__version__)

matplotlib version: 2.1.0
seaborn version: 0.8.0

【问题讨论】:

    标签: python seaborn


    【解决方案1】:

    查看文档,似乎sns.set() 在版本 called on import。

    不带任何参数调用sns.set 的原因是它有一些默认参数。查看文档:

    seaborn.set(context='notebook', style='darkgrid', palette='deep', font='sans-serif', font_scale=1, color_codes=False, rc=None)

    因此,使用sns.set(font_scale=2) 将更改字体比例,但也会将其他所有内容更改为sns.set 的默认参数

    【讨论】:

    • 那么如何避免这个@DavidG
    【解决方案2】:

    使用白色样式返回默认背景: sns.set(style='white')

    【讨论】:

      猜你喜欢
      • 2018-07-25
      • 1970-01-01
      • 2014-10-03
      • 2012-12-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-06-09
      • 2014-10-04
      相关资源
      最近更新 更多