stripplot() 和 swarmplot() 有什么区别?

什么是 Swarmplot() 和 Stripplot?

在python seaborn中,swarmplot()使用一种称为“beeswarm”的技术来定位点,该技术调整点以避免重叠。这将生成一个图,其中点分布且更易于区分,但不会保留类别中点的相对位置。而 stripplot() 将点定位在分类轴上,每个刻度有一个类别。不会调整点以避免重叠,因此如果许多点属于同一类别,则它们可能会重叠。

特征

带状图()

蜂群图()

目的

显示单个变量的分布

显示单个变量的分布,同时避免点之间的重叠

可视化

点沿数字线绘制,并具有抖动的位置偏移以避免重叠

点位于数字线上,以便它们不会相互重叠

效用

对于显示单个变量的分布很有用,尤其是在数据点数量很大且点之间的重叠很大的情况下

可用于显示单个变量的分布,同时避免点之间的重叠并保留各个数据点的位置信息

重叠

点可以明显重叠

点不明显重叠

可扩展性

随着数据点数量的增加,可扩展性降低

随着数据点数量的增加而更具可扩展性

stripplot() 和 swarmplot() 都是 Python 中 Seaborn 库中的函数,用于可视化不同类别的数值变量分布。

带状图

使用带状图(单轴散点图)可视化多个不同一维值的分布。这些值显示为沿单个轴的点,大小相同的点可能会重叠。可以更改点的颜色或不透明度以表示重叠值,或者可以使用抖动图或计数图代替它们。为了检查数据点在各种值、组或范围内的分布,通常并排显示许多带状图。

例 1

 

import pandas as p import matplotlib.pyplot as plt import seaborn as sns df = pd.DataFrame({"Quantity": [15,26,17,18,15,36,27,18,25,16,17,28,15,16,17,28], "Price":[1900,1000,1500,1600,1300,1400,1500,1800,1100,1200,1400,1500,1600,1700,1800,1900], "Month" : [2,3,2,3,2,3,2,3,4,4,4,5,5,5,4,3], "Merchandise":['X','X','X','X','Z','Z','Z','Z', 'Y','Y','Y','Y','X','X','Z','Z']}) sns.swarmplot(data = df, y = "Price", x = "Quantity") plt.show()

代码说明

我们将 Pandas 包合并为 pd,matplotlib.pyplot 合并为 plt,将 Seaborn 合并为 sns 在代码开头。然后使用 DataFrame() 函数指定数据收集。熊猫模块连接到此功能。制作了四个单独的数组。售罄商品的数量显示在第一个数组中。商品价格显示在第二个数组中。月份的记录保存在第三个数组中。产品名称列在最终数组中。

我们在下一步中使用 swarmplot() 方法来生成群图。最后,我们使用matplotlib.pyplot库的display()函数。

例 2

统计类别平面的每个“色调”参数维度都有一个指定的区域。当我们使用“色调”选项并将“减淡”参数设置为 True 时,对象将针对不同的色调变化进行隔离。“调色板”属性表示多个色调属性阴影。

 

import seaborn import matplotlib.pyplot as plt seaborn.set(style="whitegrid") tips = seaborn.load_dataset("tips") seaborn.swarmplot(x="day", y="total_bill", hue="smoker", data=tips, palette="Set2", dodge=True) plt.show()

代码说明

我们在添加 matplotlib.pyplot 和 Seaborn 库后从 Seaborn 包中调用 set() 方法。对于此函数,我们提供样式作为参数。我们将样式参数的值设置为“白色网格”。它显示图形的背景色。

我们现在利用加载的 dataset() 方法来获取内置数据框。此函数采用输入“tips”,并从 Seaborn 头文件派生。接下来,我们使用 swarmplot() 函数构造群图。在这里,函数的参数是两个轴的标题、颜色值、数据、调色板和减淡。y 轴显示总帐单的记录,而 x 轴显示天数的记录。

蜂群图

当您希望显示所有观测值并结合基础分布的描述时,可以单独创建群图,也可以作为箱形图或小提琴图的补充。

要正确排列点,需要在数据和点坐标之间进行精确转换。因此,在创建绘图之前,必须建立非默认轴限制。

可以使用各种格式来传递输入数据,包括 -

  • 直接向传递的 X、Y 和/或 Hue 参数序列对象列出、numPY 或 Pandas 数据向量的表示形式。

  • “长格式”数据帧,在这种情况下,数据绘制由 x、y 和 hue 变量控制。

  • 绘制每个数字列的“宽格式”数据帧。

  • 矢量的集合或数组。

例 1

绘制单个水平群图 -

 

import seaborn as sns sns.set(style="whitegrid") tips = sns.load_dataset("tips") ax = sns.swarmplot(x=tips["total_bill"])

例 2

根据类别对数据点进行分组,此处为区域和事件。

 

import seaborn seaborn.set(style='whitegrid') fmri = seaborn.load_dataset("fmri") seaborn.swarmplot(x="timepoint", y="signal", hue="region", data=fmri)

结论

总之,stripplot() 和 swarmplot() 是 Python 库中用于创建散点图的函数。这些图可视化了两个变量和数据分布之间的关系。

Stripplot() 是一个函数,用于绘制数据的散点图,点沿 x 轴分布。它允许您指定 x 和 y 变量、数据以及各种自定义选项,例如点的颜色、大小和样式。Stripplot() 对于可视化连续变量在分类变量的每个类别中的分布很有用。

Swarmplot() 是一个函数,它绘制数据的散点图,点沿 x 轴分布以避免重叠。它允许您指定 x 和 y 变量、数据以及各种自定义选项,例如点的颜色、大小和样式。Swarmplot() 对于可视化连续变量在分类变量的每个类别中的分布很有用,特别是当点数很大时。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值