Seaborn.rugplot() 方法



Seaborn.rugplot() 方法用于绘制边缘分布,并允许沿着 x 轴和 y 轴绘制刻度。通过清晰地显示单个观测值的位置,此函数旨在补充现有的显示。

因此,rugplot() 方法实质上是在已经存在的图上添加地毯或刻度。

但是什么是地毯图?地毯图是一种图表,它绘制单个定量值的数据,并将其显示为沿着轴的标记。这些图通常用于二维散点图,方法是在 x 轴上标记 x 值的地毯图,在 y 轴上标记 y 值的地毯图。

语法

以下是Seaborn.rugplot() 方法的语法:

seaborn.rugplot(x=None, *, height=0.025, axis=None, ax=None, data=None, y=None, hue=None, palette=None, hue_order=None, hue_norm=None, expand_margins=True, legend=True, a=None, **kwargs

参数

下面讨论了此方法的一些参数。

序号 参数及描述
1 x,y

表示在 x,y 轴上的变量。

2 数据

用于传递用于绘图的数据集。

3 高度

此参数取一个值,该值确定每个地毯元素覆盖的轴范围的比例。

4 调色板

当考虑色相映射时,此参数设置图表的颜色。

5 Hue_order

在色相语义中绘制分类变量的顺序。

6 Hue_norm

用于设置色相语义中数据单位的归一化范围。提供一对数据值。

7 Ax

预期通过此参数传递用于绘图的预先存在的轴。

8 Expand_margins

取布尔值,如果传递 True,则应根据地毯的高度增加轴的边距,以防止元素重叠。

9 图例

布尔值。如果为 false,则不打印语义变量的图例。

返回值

此方法返回包含绘图点的 matplotlib 轴。

加载 seaborn 库

在继续开发绘图之前,让我们加载 seaborn 库和数据集。要加载或导入 seaborn 库,可以使用以下代码行。

Import seaborn as sns

加载数据集

在本文中,我们将使用 seaborn 库中内置的 Tips 数据集。以下命令用于加载数据集。

tips=sns.load_dataset("tips")

以下提到的命令用于查看数据集中前 5 行。这使我们能够了解可以使用哪些变量来绘制图表。

tips.head()

以下是上述代码段的输出。

index,total_bill,tip,sex,smoker,day,time,size
0,16.99,1.01,Female,No,Sun,Dinner,2
1,10.34,1.66,Male,No,Sun,Dinner,3
2,21.01,3.5,Male,No,Sun,Dinner,3
3,23.68,3.31,Male,No,Sun,Dinner,2
4,24.59,3.61,Female,No,Sun,Dinner,4

现在我们已经加载了数据,我们将继续绘制数据。

示例 1

在此示例中,我们将了解如何在图中沿一个轴添加地毯。为此,对于 x 轴,下面提到了代码。

import seaborn as sns
import matplotlib.pyplot as plt
tips=sns.load_dataset("tips")
tips.head()
sns.kdeplot(data=tips, x="tip")
sns.rugplot(data=tips, x="tip")
plt.show()

输出

该图将类似于下图所示。

rugplot

要在 y 轴上绘制地毯,可以使用以下代码。

import seaborn as sns
import matplotlib.pyplot as plt
tips=sns.load_dataset("tips")
tips.head()
sns.kdeplot(data=tips, y="tip")
sns.rugplot(data=tips, y="tip")
plt.show()

该图将类似于下图所示。

rug along the y axis

示例 2

在此示例中,我们将了解如何在给定图中的两个轴上绘制地毯。

import seaborn as sns
import matplotlib.pyplot as plt
tips=sns.load_dataset("tips")
tips.head()
sns.kdeplot(data=tips, x="tip",y="total_bill")
sns.rugplot(data=tips, x="tip",y="total_bill")
plt.show()

输出

该图将类似于下面提到的图。

rug along both axes

示例 3

在需要沿着图的轴绘制更高地毯并表示色相映射的情况下,可以使用以下代码。在这里,height 参数可用于指定地毯的高度,hue 参数用于指定色相映射。

import seaborn as sns
import matplotlib.pyplot as plt
tips=sns.load_dataset("tips")
tips.head()
sns.kdeplot(data=tips, x="tip",y="total_bill",hue="time")
sns.rugplot(data=tips, x="tip",y="total_bill",hue="time",height=.1)
plt.show()

输出

此场景的图表可以在下面看到。

taller rug along axes

示例 4

为了确保地毯在轴之外而不是在图内。可以使用 clip_on 参数。它采用布尔值,如果为 False,则将地毯置于轴之外。

import seaborn as sns
import matplotlib.pyplot as plt
tips=sns.load_dataset("tips")
tips.head()
sns.kdeplot(data=tips, x="tip",y="total_bill")
sns.rugplot(data=tips, x="tip",y="total_bill",height=-0.04,clip_on=False)
plt.show()

输出

此代码的输出如下

rugplot() method

这样,就可以使用 rugplot() 方法及其参数。

seaborn_distribution_plot_introduction.htm
广告