v0.3.0 (2014年3月)#
这是从0.2版本以来的一个重大发布,对绘图功能和样式进行了多项增强。亮点包括 FacetGrid、factorplot、jointplot(),以及对 样式管理 的全面改进。还有大量新文档,包括 示例画廊 和重新组织的 教程。
新的绘图函数#
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以实现更多统一性(即现在有darkgrid、dark、whitegrid和white样式)。
其他更改#
使用包#
如果你想在不将 matplotlib 样式设置为 seaborn 主题的情况下使用该包提供的绘图功能,你现在可以执行
import seaborn.apionly as sns或from seaborn.apionly import lmplot等操作。这是使用了(也是新的):func:reset_orig函数,该函数将 rc 参数恢复到 matplotlib 导入时的状态——即它们将尊重任何自定义的matplotlibrc设置,并在 matplotlib 默认值之上生效。该包的依赖加载已被减少。现在只需
numpy、scipy、matplotlib和pandas即可安装和使用。尽管statsmodels仍推荐用于完整功能,但它不再是必需的。
绘图函数#
风格#
有一种新的样式,
dark,它与darkgrid共享大多数功能,但默认情况下不绘制网格。有一个新函数
offset_spines(),以及在despine()中的一个相应选项trim。这些可以一起使用,使轴脊偏离图的主要部分并限制在刻度范围内。建议与ticks样式一起使用。seaborn 样式的其他方面已经过调整,以生成更具吸引力的图表。