在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
答案 0 :(得分:3)
查看文档,似乎sns.set()
版本中的called on import< 0.8。
调用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)
将更改fontscale,但也会将其他所有内容更改为sns.set
的默认参数
答案 1 :(得分:0)
使用白色样式返回默认背景: sns.set(style='white')