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
参数
下面讨论了此方法的一些参数。
S.No | 参数及说明 |
---|---|
1 | x,y 在 x,y 轴上表示的变量。 |
2 | Data 这用于传递用于绘图的数据集。 |
3 | Height 此参数采用确定每个地毯元素覆盖的轴范围比例的值。 |
4 | Palette 当也考虑色调映射时,此参数设置图的颜色。 |
5 | Hue_order 在色调语义中绘制分类变量的顺序。 |
6 | Hue_norm 用于设置色调语义的数据单位归一化范围。 提供了一对数据值。 |
7 | Ax 预先存在的绘图轴应通过此参数传递。 |
8 | Expand_margins 采用布尔值,如果传递了 True,则轴的边距应增加地毯的高度以防止元素重叠。 |
9 | Legend 布尔值。 如果为 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()
输出
情节将如下图所示。
要沿 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()
将如下图所示。
示例 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()
输出
如下图所示。
示例 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()
输出
此场景如下所示。
示例 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()方法及其参数了。