Skip to content

山脊图(ridgeline plot)

Ridgeline Plots

了解一个变量中不同组别的分布差异,对于揭示以下方面的洞察非常有用:

  • 行为差异,
  • 特征工程,
  • 预测建模等等。
  • 但在这种情况下,许多数据科学家倾向于在单个坐标轴上创建组级别的分布图(直方图或密度图)并进行比较。虽然当组别有限时这(在某种程度上)还可以,但在组别很多的情况下,它会产生杂乱的图,可能无法揭示太多关于分布差异的洞察:
  • 山脊图(ridgeline plot)(如下所示)是一种相当紧凑且优雅的方式来可视化不同变量(或变量的类别)的分布。

ds p467 1

ds p467 2

ds p468 1

更具体地说,在公共坐标轴上的垂直堆叠提供了组之间的简便比较,并揭示了许多关于分布形状和变化的洞察,否则这些将难以理解。

ds p468 2

这使我们能够并排比较多个组的分布,并理解它们之间的差异。下图是山脊图的另一个经典例子。它描绘了 2023 年发生的各种事件的搜索兴趣,可视化起来非常容易。

虽然 Seaborn 提供了创建山脊图的方法,但我经常发现 Joypy 库相当有用且易于使用。

通常,当变量具有 3-4 个以上的组时,创建山脊图是有意义的。这是为了避免在单个图中可视化它们时可能出现的重叠:

ds p469 1

此外,当组之间绘制的连续变量存在明显的模式和/或排名时,山脊图相对更有用,例如:

  • 单调递增,
  • 单调递减,
  • 先递增后递减,
  • 先递减后递增等。
  • 这就是为什么你垂直堆叠组分布的顺序变得相当重要。例如,再次考虑上面的“搜索趋势”图,但这次随机排列组:

ds p469 2

我想我不必问你哪一个更容易可视化和理解 2023 年的事件流程。所以这些是一些要点,将帮助你判断山脊图是否适合可视化你的数据。我为你创建了这个 notebook,让你使用 JoyPy 开始山脊图:https://bit.ly/3xMUxXj。

本站内容仅供学习交流,版权归原作者所有。