Seaborn.scatterplot() 方法



Seaborn.scatterplot() 方法可以绘制散点图,并支持多种语义分组。也就是说,可以对变量进行分组,并绘制这些变量的图形表示。

散点图是一种图形,也是一种数据可视化工具,用于表示数据集中的任意两点之间的关系。它们用于绘制二维图形,可以使用色相、大小和样式参数进行增强。该图最多可以独立映射三个变量,但这种图难以解释,通常效率低下。在这种情况下,我们可以使用冗余语义来使图形更易于理解。

语法

seaborn.scatterplot() 函数的语法如下。

seaborn.scatterplot(*, x=None, y=None, hue=None, style=None, size=None, data=None, palette=None, hue_order=None, hue_norm=None, sizes=None, size_order=None, size_norm=None, markers=True, style_order=None, x_bins=None, y_bins=None, units=None, estimator=None, ci=95, n_boot=1000, alpha=None, x_jitter=None, y_jitter=None, legend='auto', ax=None, **kwargs)

参数

下面讨论 scatterplot() 方法的一些参数。

序号 参数和描述
1 x,y

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

2 色相 (Hue)

这将生成具有不同颜色的元素。它是一个分组变量。

3 大小 (Size)

这将生成具有不同大小的元素。它也是一个分组变量。

4 样式 (Style)

这将生成具有不同样式的元素。

5 数据 (Data)

此参数接受输入数据结构。即映射或序列。

7 色相顺序 (Hue_order)

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

8 类型 (Kind)

对应于要绘制的图的类型。可以是线型或散点型。散点图是默认设置。

9 调色板 (Palette)

此参数用于设置映射的色调。可以是明亮的、柔和的、深色的等。

10 高度、宽度

这些是确定绘图高度和宽度的标量。

11 图例 (Legend)

可以是“auto”、“brief”、“full”或“false”。根据给定的值,组将放置在图例中。

12 置信区间 (Ci)

聚合估计量时的置信区间大小。

返回值

scatterplot() 方法返回包含已绘制点的 matplotlib 坐标轴。

加载 Seaborn 库

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

Import seaborn as sns

加载数据集

在本文中,我们将使用 Seaborn 库中内置的泰坦尼克号数据集。使用以下命令加载数据集。

dts=sns.load_dataset("titanic")

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

dts.head()

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

index,survived,pclass,sex,age,sibsp,parch,fare,embarked,class,who,adult_male,deck,embark_town,alive,alone
0,0,3,male,22.0,1,0,7.25,S,Third,man,true,NaN,Southampton,no,false
1,1,1,female,38.0,1,0,71.2833,C,First,woman,false,C,Cherbourg,yes,false
2,1,3,female,26.0,0,0,7.925,S,Third,woman,false,NaN,Southampton,yes,true

示例 1

第一个示例将演示如何使用函数中的三个参数绘制基本散点图。

import seaborn as sns
import matplotlib.pyplot as plt
dts=sns.load_dataset("titanic")
dts.head()
sns.scatterplot(data=dts,x="age",y="fare",hue="sex")
plt.show()

输出

basic scatterplot

这里,图表绘制为男性和女性的年龄和票价之间的关系。

更改调色板颜色

要更改图表的调色板颜色,可以使用以下代码行。

sns.set_palette("muted")

示例 2

此示例将演示在 scatterplot() 方法中使用 4 个参数。

对于此数据集,此图有助于查看不同性别和不同人群的年龄和票价之间的变化。

import seaborn as sns
import matplotlib.pyplot as plt
dts=sns.load_dataset("titanic")
dts.head()
sns.scatterplot(data=dts,x="age",y="fare",hue="class",style="sex")
plt.show()

输出

4_parameters_scatterplot.jpg

示例 3

在此示例中,我们将了解如何使用参数 legend 和 sizes。Legend 是确定应将哪些数据放置在图例中的参数。如果它是 full,所有组都将放置在图例中,否则,只有部分组将被放置。因此,在此示例中,数据集中的所有组都将放置在图例中。

Sizes 确定如何为“size”参数选择大小。因此,在此示例中,大小最小为 20,最大为 70。这意味着对于 size 参数,显示的数据点将在这个大小范围内变化。

import seaborn as sns
import matplotlib.pyplot as plt
dts=sns.load_dataset("titanic")
dts.head()
sns.scatterplot( data=dts, x="age", y="fare", hue="survived",size="survived", sizes=(20, 70), legend="full" )
plt.show()

输出

scatterplot

示例 4

在此示例中,我们将传递一个新的参数 hue_norm,它将采用数值或字符串值。它基本上用于指定在“hue”参数中给定的分类变量的处理和绘制顺序。

我们使用的 hue_norm 值为 (0,3)。这意味着对于 survived 变量,根据数据集中 survived 列的值,其值从 0 到 3。

import seaborn as sns
import matplotlib.pyplot as plt
dts=sns.load_dataset("titanic")
dts.head()
sns.scatterplot(
data=dts, x="age", y="fare", hue="survived", size="survived",
sizes=(20, 70),hue_norm=(0, 3), legend="full",palette="deep"
)
plt.show()

输出

survived
seaborn_relational_plots_introduction.htm
广告
© . All rights reserved.