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() 方法的一些参数在下面讨论。
S.No | 参数及说明 |
---|---|
1 | x,y 在 x,y 轴上表示的变量。 |
2 | Hue 这将产生具有不同颜色的元素。 它是一个分组变量。 |
3 | Size 这将产生不同尺寸的元素。 它也是一个分组变量。 |
4 | Style 这将产生具有不同样式的元素。 |
5 | Data 此参数采用输入数据结构。 那是映射或序列。 |
7 | Hue_order 在色调语义中绘制分类变量的顺序。 |
8 | Kind 对应于要绘制的图的种类。 可以是线或散点。 散点图是默认设置。 |
9 | Palette 此参数用于设置贴图的色调。 它可以是明亮的、柔和的、深色的等等。 |
10 | Height, width 这些是确定图的高度和宽度的标量。 |
11 | Legend() 可以是"auto"、"brief"、"full"或"false"。 根据给定的值,组将放置在图例中。 |
12 | Ci() 聚合估算器时置信区间的大小。 |
返回值
scatterplot() 方法返回包含标绘点的 matplotlib 轴。
加载 Seaborn 库
让我们在继续开发绘图之前加载 Seaborn 库和数据集。 要加载或导入 Seaborn 库,可以使用以下代码行。
Import seaborn as sns
加载数据集
在本文中,我们将使用 Seaborn 库中内置的 Titanic 数据集。 以下命令用于加载数据集。
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()
输出
此处,图表绘制为男性和女性性别的年龄和票价之间的关系。
改变调色板颜色
要更改绘图的调色板颜色,可以使用以下代码行。
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()
输出
示例 3
在这个例子中,我们将了解如何使用参数图例和尺寸。 Legend 是决定哪些数据应该放在图例中的参数。 如果它已满,则所有组都将放置在图例中,只有一些会放置。 因此,在此示例中,数据集中的所有组都将放置在图例中。
尺寸决定了如何为"size"参数选择尺寸。 因此,在此示例中,大小最小为 20,最大为 70。这意味着对于大小参数,显示的数据点将在此大小范围内变化。
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()
输出
示例 4
在这个例子中,我们将传递一个新的参数 hue_norm ,它将采用数字或字符串值。 它基本上用于指定"hue"参数中给定的分类变量的处理和绘图顺序。
我们使用的 hue_norm 值为 (0,3)。 这意味着对于 survived 变量,值从 0 到 3,具体取决于数据集中 survived 列的值。
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()