violinplot()和boxplot()有什么不同?
在这篇文章中,我们将使用Python学习violinplot()和boxplot()之间的区别。
什么是violin图?
violin图是一种统计图表,类似于箱线图,但是每边都有一个旋转的核密度图。其名称“violin”取自于该图表的形状类似于小提琴的形状。
violin图被用来可视化数据集的分布,并展示不同值的数据的概率密度。violin图展示了样本的数据分布,最厚的部分显示数值最集中的位置,相反,最细的部分显示数值最不集中的位置。
什么是boxplot图?
boxplot图显示一个或多个组的数值变量的分布。虽然它隐藏了单个数据集的数据点,但它使中位数、四分位数和异常值易于访问。Seaborn库的boxplot函数使在Python中创建boxplot变得容易。
boxplot图只能表示有限的信息,但是它们更易于理解,特别是当比较不同的组时。虽然密度曲线比boxplot图更难理解和视觉上嘈杂,但密度曲线都是关于展示分布信息的。然而,当集成到violin图中时,两者相互增强,产生最好的结果。
boxplot()方法需要以下语法 –
matplotlib.pyplot.boxplot(data,notch,vert,patch_artist,widths)
小提琴图 | 箱线图
—|—
小提琴图的关键元素及其解释: 小提琴曲线形状——小提琴曲线形状是数据的直方图的平滑版本,它显示不同值处数据的概率密度。小提琴的最宽部分表示数据点的最高密度,而小提琴的瘦部分表示数据点的低密度。 小提琴中的箱子——小提琴图中的箱子表示数据集的四分位数,箱子的顶部和底部分别是上四分位数和下四分位数。箱子中间的线是数据的中位数。箱子还显示任何在盒须外作为单个点的异常值。 小提琴内的“棍子”(如果存在)——小提琴内的“棍子”表示原始数据点,它能让人们更加感性地认识到数据点的实际分布情况。 小提琴的宽度——小提琴的宽度表示样本大小。小提琴越宽,样本量就越大,反之亦然。 | 箱线图通常使用matplotlib库的boxplot()函数生成。Box Plot通过numpy.random.normal()方法生成随机数据。它的参数包括平均值、标准差和所需数量的值。ax.boxplot()函数的数据值可以是numpy中的数组数组、Python中的数组的列表或者是一组元组。
使用Seaborn绘制小提琴图 一个名为Seaborn的Python软件包可以简单地创建优秀的图表。由于其小提琴函数,它非常适合创建密度图。您可以按照下面的图表来学习如何使用它,从非常简单的小提琴图到更为专业的小提琴图。 |
使用小提琴图的最佳实践 考虑组的顺序。 当没有内在的排序时,可以改变绘制小提琴图时的组的顺序,这有助于你了解更多有关数据的信息。例如,根据它们的中位数值将组排序可以澄清其顺序。 |
竖直vs水平小提琴图 小提琴图可以竖直或水平。它们之间的主要区别是图的方向。 竖直小提琴图是一种更常见的类型,它以x轴为被测变量,Y轴为数据的频率或概率密度。小提琴形状是竖直绘制的,最宽部分表示数据点的最高密度。 另一方面,水平小提琴图是以y轴为被测变量,以频率或概率密度为x轴绘制的。小提琴形状是水平绘制的,最宽部分表示数据点的最高密度。 绘制竖直或水平小提琴图的选择取决于具体的使用情况和你正在处理的数据。通常,竖直小提琴图更常见,更频繁地使用,但在某些情况下,水平小提琴图可以更有用,用于展示比较。 |
<
基本水平箱线图
箱线图大小
可以使用width参数调整每个箱线图的大小。默认宽度为1,因此任何小于此值的宽度都会使箱线图的宽度变小。
结论
由于配置核函数和带宽的难度增加,小提琴图比其他图表如箱线图的使用不太普遍。此外,当叠加图表类型时,它可能会影响美观。如果需要为一群不熟悉小提琴图的人呈现结果,可以考虑使用更简单和直接的呈现方式,如箱线图。
箱线图是一种未充分利用的技术,可以将大量与数据相关的信息压缩为单个可视化。在进行探索性数据分析(EDA)时,箱线图可能是直方图的绝佳补充。作为最早的Python可视化工具之一,Matplotlib提供了大量用于更好的分析的图表和图形。