v0.8.0 (2017年7月)#

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

  • 更改了 heatmap() (以及扩展的 clustermap())在绘制发散数据集(即使用 center 参数时)的行为。不再将色图的上下限扩展为围绕 center 值对称,而是修改色图,使其中间颜色对应于 center。这意味着不会使用色图的整个范围(除非数据或指定的 vminvmax 是对称的),但颜色条的上下限将对应于数据的范围。有关此行为的示例,请参阅 Github 拉取请求 (#1184)

  • 移除了在 heatmap() (以及扩展的 clustermap())中自动检测发散数据的功能。如果你想让色图被视为发散的(见上文),现在需要指定 center 值。当未指定色图时,指定 center 仍将更改默认值,使其更适合显示发散数据。

  • 添加了四个新的色图,这些色图是使用 viscm 创建的,以实现感知上的均匀性。新的色图包括两个顺序色图(“rocket” 和 “mako”)和两个发散色图(“icefire” 和 “vlag”)。这些色图在导入 seaborn 时会注册到 matplotlib,并且可以在 seaborn.cm 命名空间中访问色图对象。

  • 更改了默认的 heatmap() 色图为“rocket”(对于顺序数据)或“icefire”(对于发散数据)。请注意,此更改将亮度渐变的方向从之前的默认值反转。虽然这可能会造成混淆和破坏,但这一更改更好地使seaborn的默认值与新的matplotlib默认色图(“viridis”)保持一致,并且可以说更好地使“热”图的语义与其外观相符。

  • heatmap()clustermap() 中添加了 "auto" 作为(默认)刻度标签选项。这将尝试估计在不重叠文本对象的情况下可以标记多少个刻度,这应该会提高较大矩阵的性能。

  • boxplot()violinplot()barplot() 添加了 dodge 参数,以便在使用 hue 时不会改变图表元素的位置或宽度,例如当 hue 变量未嵌套在主分类变量中时。

  • 相应地,stripplot()swarmplot()split 参数已重命名为 dodge,以与其他分类函数保持一致(并区别于 violinplot()split 的含义)。

  • 增加了为双变量 kdeplot() 绘制颜色条的功能,通过 cbar 参数(以及相关的 cbar_axcbar_kws 参数)。

  • 通过设置 ci="sd",在大多数统计函数中增加了使用误差条显示标准差而不是自举置信区间的功能。

  • despine() 中允许特定边的偏移。

  • 图表大小不再是seaborn绘图上下文参数的一部分。

  • 限制在 type=="hex"jointplot() 中使用的箱数,以避免当参考规则规定过多时导致挂起。

  • heatmap() 中更改了 y 轴。现在 y 轴被反转,而不是在内部反转数据行。这可能会影响在数据坐标中绘制在热图上的代码。

  • clustermap() 中关闭树状图轴,而不是将背景颜色设置为白色。

  • 新的 matplotlib 定性调色板(例如 “tab10”)现在可以正确处理。

  • 一些模块和函数已经在内部重新组织;使用 seaborn 命名空间的代码应该不会受到影响。

  • tsplot 函数中添加了一个弃用警告,以表明该函数将在未来的版本中被移除或替换为实质上更改的版本。

  • interactplotcoefplot 函数已被正式弃用,并将在未来的版本中移除。