在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()
Run Code Online (Sandbox Code Playgroud)
然后,如果我运行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()
Run Code Online (Sandbox Code Playgroud)
在我看来,这似乎有些奇怪。我希望使用第二种绘图配置,但希望获得它而不必对进行任意调用sns.set(),除非当然是推荐的方法。
相关版本信息
print("matplotlib version: %s" % matplotlib.__version__)
print("seaborn version: %s" % sns.__version__)
matplotlib version: 2.1.0
seaborn version: 0.8.0
Run Code Online (Sandbox Code Playgroud)