v0.3.0 (2014年3月)#

这是从0.2版本以来的一个重大发布,对绘图功能和样式进行了多项增强。亮点包括 FacetGridfactorplotjointplot(),以及对 样式管理 的全面改进。还有大量新文档,包括 示例画廊 和重新组织的 教程

新的绘图函数#

  • The FacetGrid 类为 seaborn 添加了一种新的功能形式,提供了一种抽象地构建与数据集子集相对应的图网格的方法。它可以与各种绘图函数(包括大多数 matplotlib 和 seaborn API)一起使用。更多信息请参阅 教程

  • 版本 0.3 引入了 factorplot 函数,它在精神上类似于 lmplot(),但适用于主要自变量是分类变量而非定量变量的情况。factorplot 可以使用相应的轴级函数 pointplot()barplot`(这两个函数也是新的)绘制点图或条形图。此外,``factorplot`() 函数还可以用于在分面网格上绘制箱形图。有关如何使用这些函数的示例,您可以参考教程。

  • 另一个新功能是 jointplot(),它是使用新的 JointGrid 对象构建的。jointplot() 通过在绘图的两侧绘制两个变量之间关系的二元图及其边际分布,概括了 seaborn 先前版本中 regplot() 的行为(regplot() 在 0.3 版本中有所变化;详见下文)。使用 jointplot(),您可以像以前一样绘制散点图或回归图,但现在您还可以绘制二元核密度图或六边形图,并为边际分布绘制适当的单变量图。此外,当 jointplot() 提供的默认方法不适合您的可视化问题时,直接使用 JointGrid 构建更复杂的图表也很容易。JointGrid 的教程提供了更多关于该对象如何有用的示例。

  • 函数 residplot() 补充了 regplot(),并且可以通过计算和绘制简单回归的残差来快速诊断线性模型的问题。对于 jointplot() 也有一个 "resid" 类型。

API 变更#

  • 最显著的变化是,regplot() 不再生成带有边缘轴分布的多组件图。相反,regplot() 现在是一个“Axes-level”函数,可以绘制到任何现有图形的特定轴集上。regplot()lmplot() 也已统一(后者在幕后使用前者),因此所有关于如何拟合和表示回归模型的选项都可以用于这两个函数。要获得 regplot() 的旧行为,请使用带有 kind="reg"jointplot()

  • 如上所述,lmplot() 已被重写以利用 FacetGrid 机制。这涉及一些变化。color 关键字参数已被 hue 取代,以提高包内的一致性。hue 参数将始终接受一个变量 名称,而 color 将接受一个颜色名称或(在某些情况下)一个调色板。lmplot() 函数现在返回用于绘制图实例的 FacetGrid

  • 与matplotlib rc参数交互的函数已经更新并标准化。现在有三对函数,axes_style()set_style()plotting_context()set_context(),以及 color_palette()set_palette()。在每种情况下,这些函数对都接受完全相同的参数。第一个函数定义并返回参数,第二个函数设置matplotlib的默认值。此外,每对中的第一个函数可以在 with 语句中使用,以临时更改默认值。样式和上下文函数现在也接受一个matplotlib rc参数的字典来覆盖seaborn的默认值,并且 set() 现在也接受一个字典来更新任何matplotlib的默认值。更多信息请参阅 教程

  • nogrid 样式已被弃用,并改为 white 以实现更多统一性(即现在有 darkgriddarkwhitegridwhite 样式)。

其他更改#

使用包#

  • 如果你想在不将 matplotlib 样式设置为 seaborn 主题的情况下使用该包提供的绘图功能,你现在可以执行 import seaborn.apionly as snsfrom seaborn.apionly import lmplot 等操作。这是使用了(也是新的):func:reset_orig 函数,该函数将 rc 参数恢复到 matplotlib 导入时的状态——即它们将尊重任何自定义的 matplotlibrc 设置,并在 matplotlib 默认值之上生效。

  • 该包的依赖加载已被减少。现在只需 numpyscipymatplotlibpandas 即可安装和使用。尽管 statsmodels 仍推荐用于完整功能,但它不再是必需的。

绘图函数#

  • lmplot() (和 regplot()) 有两个新的选项用于拟合回归模型:lowessrobust。前者拟合一个非参数平滑器,而后者使用对异常值不太敏感的方法拟合回归。

  • lmplot()regplot() 中的回归不确定性现在通过较少的 bootstrap 迭代来估计,因此绘图应该更快。

  • 单变量的 kdeplot() 现在可以绘制为 累积 密度图。

  • 更改了 interactplot() ,在寻找等高线颜色图的默认限制时,使用数据范围的稳健计算,以便在数据中存在异常值时更好地工作。

风格#

  • 有一种新的样式,dark,它与 darkgrid 共享大多数功能,但默认情况下不绘制网格。

  • 有一个新函数 offset_spines() ,以及在 despine() 中的一个相应选项 trim。这些可以一起使用,使轴脊偏离图的主要部分并限制在刻度范围内。建议与 ticks 样式一起使用。

  • seaborn 样式的其他方面已经过调整,以生成更具吸引力的图表。