【问题标题】:Seaborn is not setting its default color palette on importSeaborn 未在导入时设置其默认调色板
【发布时间】:2017-10-17 06:37:38
【问题描述】:

有很多链接表明 Matplotlib 的绘图会因为 seaborn 的调色板而看起来更令人愉悦,只需像导入 seaborn 一样

import seaborn as sns

但是,当我这样做时,对于 matplotlib 的绘图以及 seaborn 的绘图,颜色和格式仍然看起来像普通的 matlotlib 默认值。除非执行命令sns.set() 来强制重置seaborn 的默认调色板。

为什么会发生这种情况以及如何解决?

seaborn 的安装方式: 这发生在我运行 Anaconda 的 Ubuntu 14.04 中,尽管 seaborn 是通过 pip 安装的,因为系统中的 Anaconda 版本没有预装。我尝试通过conda 为我的环境py27py35 安装seaborn。虽然安装成功了,但是导入失败了,于是我继续pip

虽然 seaborn 工作得非常好,但两个环境仍然使用相同的令人不快的 matplitlib 默认颜色导入。

【问题讨论】:

  • 如果你使用的是新版本的matplotlib,你可以通过plt.style.use('ggplot')使用matplotlib的样式来改善外观

标签: python matplotlib colors seaborn


【解决方案1】:

您使用的是 seaborn 0.8 或更高版本。 change log 告诉我们:

在导入 seaborn 时不再应用默认样式。现在需要显式调用set()set_style()set_context()set_palette() 中的一个或多个。相应地,seaborn.apionly 模块已被弃用。

这是有充分理由的。以前,仅仅因为您导入了 seaborn,它就会完全改变 matplotlib 样式,甚至可能覆盖以前设置的 matplotlib 样式。两者通常都是不受欢迎的。

正如您自己发现的那样,您需要调用 seaborn.set() 以获取 seaborn 的默认样式或使用任何其他 seaborn styles

您也可以在 matplotlib 中使用 seaborn 样式,而根本不使用 seaborn。例如。

import matplotlib.pyplot as plt
plt.style.use("seaborn-darkgrid")

style sheet reference中的任何其他样式

【讨论】:

  • 这是一种解脱。我认为我的安装有问题。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2014-05-03
  • 1970-01-01
  • 1970-01-01
  • 2015-10-29
  • 2021-05-14
  • 2021-06-16
  • 1970-01-01
相关资源
最近更新 更多