v0.2.0 (2013年12月)#

这是从 0.1 版本以来的一个重大发布,包含了许多 API 变更、增强功能和错误修复。

亮点包括对时间序列绘图的全面改进,使其能够智能地处理数据框,新的 interactplot() 函数用于可视化连续交互,kdeplot() 中的双变量核密度估计,以及对调色板处理的显著改进。

版本 0.2 还引入了对 Python 3 的实验性支持。

除了库的增强功能外,文档也进行了大幅重写,以反映新功能并改进对包背后理念的呈现。

API 变更#

  • tsplot() 函数被重写以接受长格式 DataFrame 的数据,并根据条件绘制不同的轨迹。这引入了一个相对较小但不可避免的 API 变化,即不再使用 sns.tsplot(time, heights),而必须使用 sns.tsplot(heights, time=time)``(``time 参数现在是可选的,以便更快地指定简单图)。此外,tsplot() 中的 "obs_traces""obs_points" 错误样式已分别重命名为 "unit_traces""unit_points"

  • 适合核密度估计的函数(kdeplot()violinplot())现在使用 statsmodels 而不是 scipy,并且影响密度估计的参数也相应地发生了变化。这允许在指定带宽和核函数时具有更大的灵活性,并能更智能地选择支持范围的定义。默认选项应生成与旧默认值非常接近的图。

  • kdeplot() 函数现在接受第二个位置参数 data,用于绘制双变量密度。

  • violin() 函数已更改为 violinplot(),以保持一致性。在 0.2 版本中,violin 仍然可以使用,但会触发 UserWarning

新的绘图函数#

  • interactplot() 函数绘制了一个交互式线性模型的等高线图(即,等高线显示了模型 y ~ x1 * x2 中的 y-hat),并在两个预测变量之间的散点图上叠加。此图应有助于理解两个连续变量之间的交互作用。

  • kdeplot() 函数现在可以在提供二维输入数据时,绘制一个作为等高线图的双变量密度估计。

  • palplot() 函数提供了一个基于网格的颜色调色板可视化。

其他更改#

绘图函数#

  • corrplot() 函数可以在没有相关系数注释的情况下绘制,并在图的侧面显示变量名称,以便处理大型数据集。

  • 此外,corrplot() 会根据指定测试的方向智能地设置颜色调色板。

  • distplot() 直方图在没有提供箱子大小的情况下,使用参考规则来选择箱子大小。

  • lmplot() 中添加了 x_bins 选项,用于对连续预测变量进行分箱,使得在数据点很多的情况下趋势更加清晰。

  • 增强了基于多个分布图函数和 tsplot() 中的 name 属性对图元素和轴进行标记的支持,以实现更智能的 Pandas 集成。

  • lmplot() 中的散点是略微透明的,因此很容易看到观察值的重叠位置。

  • boxplot()violinplot() 中添加了 order 参数,以在使用 Pandas 对象时控制箱的顺序。

  • 当绘图函数没有提供 ax 参数时,它会抓取当前活动的轴,而不是绘制一个新的轴。

颜色调色板#

  • 添加了 dark_palette()blend_palette() 用于即时创建混合颜色调色板。

  • 颜色调色板机制现在对定性的 ColorBrewer 调色板(如 Set1Paired 等)有了智能处理,这些调色板被正确地视为离散的。

  • Seaborn 调色板(deepmuted 等)在基本色调序列方面已经标准化,所有调色板现在都有 6 种颜色。

  • 引入了 {mpl_palette}_d 调色板,这些调色板使用源调色板的基本颜色方案,但使用从深色而不是浅色开始的顺序混合,用于线条/散点/等高线图。

  • 添加了 palette_context() 函数,用于通过 with 语句控制的块级调色板。

绘图样式#

  • 添加了 despine() 函数,以便于轻松移除图表的脊柱。

  • 新增了一种绘图样式,"ticks"

  • 在所有样式中,刻度标签与轴的距离稍远一些,以避免在 (0, 0) 处发生碰撞。

通用包问题#

  • 通过将单一的 plotobjs 模块拆分为按组成图表的总体目标分组的小模块,重新组织了包。

  • moss 中移除了 scikits-learn 依赖。

  • 使用 pip 安装应自动安装大多数缺失的依赖项。

  • 示例笔记本现在被用作自动化测试套件。

错误修复#

  • 修复了一个错误,当使用 groupby 时,boxplot()violinplot() 的标签与数据不匹配。

  • 修复了 desaturate() 函数中的一个错误。

  • 修复了 coefplot() 图形尺寸计算中的一个错误。

  • 修复了一个 regplot() 在处理列表输入时崩溃的错误。

  • 修复了绘制水平箱线图时的错误行为。

  • 现在可以为 distplot() 直方图指定箱数。

  • 修复了一个错误,该错误导致 kdeplot() 会重置轴高并截断现有数据。

  • 所有轴样式已从顶层 seaborn.set() 函数中移出,因此可以干净地更改上下文或颜色调色板。