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、美国银行和其他财富 500 强公司从事数据科学和分析工作。他拥有康奈尔大学物理学学位。
关于制造商博客系列
Anaconda 在每月博客系列中扩大了其一些最活跃和最受重视的社区成员的声音。如果您是一名制造商,并且一直在寻找一个机会讲述您的故事,详细阐述您喜欢的项目,教育您的同行以及建立您的个人品牌,请考虑提交摘要。有关更多详细信息以及访问大量教育性数据科学资源和讨论线程,请访问Anaconda Nucleus。