Seaborn在导入时没有设置默认的调色板。

4

有许多链接声称,只需导入seaborn,Matplotlib的绘图就会因其颜色调色板而更加美观。

import seaborn as sns

然而,当我这样做时,无论是matplotlib的绘图还是seaborn的绘图,颜色和格式仍然看起来像是普通的matlotlib默认设置。除非执行命令以强制重置seaborn的默认调色板,否则就是这种情况。
为什么会发生这种情况,如何解决?
seaborn的安装方式: 这在我的Ubuntu 14.04上运行Anaconda时发生,尽管系统中的Anaconda版本未预装seaborn,但通过pip安装了seaborn。我尝试为我的两个环境py27和py35都使用conda安装seaborn。虽然安装成功,但导入失败,所以我选择使用pip。
虽然seaborn完全正常工作,但两个环境仍然使用相同的不令人愉悦的matplitlib默认颜色进行导入。

如果您正在使用较新版本的matplotlib,您可以通过plt.style.use('ggplot')使用matplotlib的样式来改善外观。 - dseuss
1个回答

7
您正在使用 Seaborn 版本 0.8 或更高版本。根据 更新日志 的说法:
引入 Seaborn 不再默认应用样式,现在需要显式调用 set()set_style()set_context() 和 / 或 set_palette()。相应地,Seaborn.apionly 模块已被弃用。
这是有非常好的原因的。以前,只要您引入了 seaborn,它就会完全改变 matplotlib 的样式,甚至可能覆盖先前设置的 matplotlib 样式。这两者通常都是不想要的。
正如您自己发现的那样,您需要调用 seaborn.set() 来获取 seaborn 的默认样式或使用其他任何一个seaborn样式
您还可以将 seaborn 样式与 matplotlib 结合使用,而无需使用 seaborn。例如:
import matplotlib.pyplot as plt
plt.style.use("seaborn-darkgrid")

或从样式表参考中选择任何其他样式。 样式表参考

太好了,我还以为我的安装出了问题。 - Ébe Isaac

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接