Python 数据科学生态系统最近进行了一次重大更新。现在有了一个新的数据可视化工具包:新的 Seaborn 对象系统。它仍然很新,但我认为它很可能成为 Python 最好的、最用户友好的数据可视化工具包之一。在本教程中,我将快速概述 Seaborn 对象界面。我将解释它是什么,我为什么喜欢它,以及它是如何工作的,并且我会向您展示一些示例。
我要提醒您,Seaborn 对象系统非常新。既然如此,我建议您阅读整个教程;这样一切都会更有意义。
什么是 Seaborn 对象系统?
您可能知道,Seaborn 是一个 数据可视化工具包,已经存在好几年了。在其原始形式中,它有各种用于创建标准数据可视化的函数,例如散点图、折线图、条形图等。
2022 年 9 月,Seaborn 团队发布了新版本的 Seaborn 数据可视化软件包。随着这个新软件包版本的发布,他们发布了一个全新的在 Python 中进行数据可视化的系统。这个新系统称为 Seaborn 对象系统,它基于 图形语法,就像 Tableau 和 R 中的 ggplot2 一样。这个新系统代表了一种在 Python 中构建数据可视化的新方法。它功能强大、灵活且易于使用。并且由于 数据可视化非常重要,我认为这对 Python 数据科学生态系统来说是一个重要的发展。
Seaborn 对象与旧 Seaborn 系统的不同之处
在我们深入了解这个新系统的更多细节之前,让我快速解释一下它与之前的 Seaborn 工具包有何不同。
这个新系统最重要的特性也许是它的模块化。让我解释一下。
在 Seaborn 和许多其他可视化系统中构建数据可视化的传统方式需要每个绘图类型一个函数:有一个函数用于创建散点图(即,sns.scatter),一个函数用于创建条形图(即,sns.barplot),以及一个函数用于创建折线图(即,sns.lineplot)。如果您需要在散点图之上绘制一条线,则需要使用另一个专门的函数(即,sns.regplot)。
如果您要构建普通的散点图、条形图或简单的可视化,这很好。但是,如果您尝试构建更复杂的图,特别是具有多个图层和标记类型的图,则事情会变得复杂。
因此,传统的 Seaborn 系统很简单,但在某种程度上缺乏灵活性。
Seaborn 对象:用于数据可视化的模块化系统
相比之下,新的 Seaborn 对象系统是一个用于构建可视化的模块化系统。因此,与其使用多个不同的函数来创建不同类型的图,不如使用一个通用的 Plot 函数,它初始化所有可视化的绘图。
然后,您可以使用不同的函数来添加特定的标记类型。想要散点图?然后添加点。想要折线图?添加线。等等。
如果您想要回归图——其中您有一个散点图,上面有一条趋势线——那么您可以添加点和线。它是完全模块化的,这使您能够使用非常简单的语法构建复杂的多层图。
用于修改绘图的简单语法
此外,这个新的 Seaborn 系统提供了一个直观的系统来修改您的绘图。有一个简单的语法来修改轴和比例(比 Matplotlib 更直观)。
并且有一个简单的语法来制作多面板图。现在,如果您阅读过我在 我的博客 上过去的任何作品,您就会知道我非常喜欢小型多重图表。我对 Matplotlib 和 Seaborn 的一大挫败感是它们在创建小型多重图时并不总是很好用。
嗯,这个新的 Seaborn 对象系统解决了这个问题。创建小型多重图和配对图就像调用一个额外的方法一样简单,正如您将在我的教程示例 5 中看到的那样。它非常简单,这使其功能强大。
说了这么多,当我在这里解释它时,它可能看起来有点抽象。因此,让我们深入了解语法,以便您可以看到它。之后,我将向您展示一些示例,以真正帮助您以具体的方式理解它。
→ 此帖子将在 Anaconda Nucleus 上继续。
关于作者
Joshua Ebner 是 Sharp Sight 的创始人兼首席数据科学家,这是一家数据科学培训公司。在创立 Sharp Sight 之前,Joshua 曾在 Apple、Bank of America 和其他财富 500 强公司从事数据科学和分析工作。他拥有康奈尔大学物理学学位。
关于创客博客系列
Anaconda 正在 每月博客系列 中扩大其一些最活跃和最受珍视的社区成员的声音。如果您是一位创客,一直在寻找机会讲述您的故事、详细说明您最喜欢的项目、教育您的同行并建立您的个人品牌,请考虑 提交摘要。有关更多详细信息并访问丰富的教育数据科学资源和讨论主题,请访问 Anaconda Nucleus。