Seaborn.lineplot() 方法



Seaborn.lineplot() 方法有助于绘制线形图,并可能包含多个语义分组。也就是说,变量可以分组,并可以绘制这些变量的图形表示。

Seaborn 线形图是一种数据可视化工具,它描绘了一组连续和分类数据点之间的关系。这些点根据语义值进行分类。例如,考虑两个点 x 和 y,它们的关系可以使用此方法的各种参数以视觉方式表示:例如色调、大小和样式。

但是,这种类型的图表难以解释,并且通常效率低下。在这种情况下,使用冗余语义很有帮助。

语法

以下是seaborn.lineplot() 方法的语法:

seaborn.lineplot(*, x=None, y=None, hue=None, size=None, style=None, data=None, palette=None, hue_order=None, hue_norm=None, sizes=None, size_order=None, size_norm=None, dashes=True, markers=None, style_order=None, units=None, estimator='mean', ci=95, n_boot=1000, seed=None, sort=True, err_style='band', err_kws=None, legend='auto', ax=None, **kwargs)

参数

下面显示了 seaborn.lineplot() 方法的一些参数。

序号 参数和描述
1 x,y

分别表示在 x 轴和 y 轴上的变量。

2 Hue

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

3 Size

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

4 Style

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

5 Data

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

7 Hue_order

此参数接受输入,将生成具有不同颜色的线条。

8 Kind

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

9 Palette

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

10 Height, width

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

11 Sort()

根据 x,y 变量对数据进行排序。

12 Seed()

用于生成可重复引导的随机数。

13 Hue_norm()

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

返回值

此方法返回带有已绘制点的 matplotlib 轴。

加载数据集

在继续开发图形之前,让我们加载数据集。在本文中,我们将使用 Seaborn 库中内置的 FMRI 数据集。以下命令用于加载数据集。

fmri=sns.load_dataset("fmri")

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

fmri.head()

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

index,subject,timepoint,event,region,signal
0,s13,18,stim,parietal,-0.017551581538
1,s5,14,stim,parietal,-0.0808829319505
2,s12,18,stim,parietal,-0.0810330187333
3,s11,18,stim,parietal,-0.0461343901751999
4,s10,18,stim,parietal,-0.0379702032642

示例 1

(在整篇文章中,Seaborn 库已导入为 sns。)

此示例用于了解如何使用宽格式的两个变量绘制线形图。这里,宽格式指的是整个数据,而不是特定约束。更多内容将在示例 4 中看到。

要绘制数据集中两个变量的宽格式线形图,请使用以下命令。

import seaborn as sns
import matplotlib.pyplot as plt
fmri=sns.load_dataset("fmri")
fmri.head()
sns.lineplot(data=fmri, x="timepoint", y="signal")
plt.show()

输出

line plot of two variables

示例 2

要绘制具有 4 个变量的宽格式线形图,请使用以下命令。在此特定数据集中,我们将使用时间点、信号、区域和事件变量,使用 4 个参数绘制线形图;x、y、hue 和 style。

import seaborn as sns
import matplotlib.pyplot as plt
fmri=sns.load_dataset("fmri")
fmri.head()
sns.lineplot(data=fmri, x="timepoint", y="signal", hue="region", style="event")
plt.show()

输出

上述命令将给出以下图形。

plot

示例 3

在此示例中,我们将使用 sort 参数绘制图形。此 sort 参数接受布尔值,当其为真时,数据将根据 x 和 y 变量进行排序。如果为假,则线条将按其在数据集中出现的顺序连接点。

import seaborn as sns
import matplotlib.pyplot as plt
fmri=sns.load_dataset("fmri")
fmri.head()
sns.lineplot(data=fmri.query("region == 'parietal'"),x="timepoint", y="signal", hue="event", estimator=None, sort=True)
plt.show()

输出

使用此代码段获得的图形如下所示。

graph

示例 4

我们还可以使用线形图突出显示数据的置信区间,使用带或条形。

此示例将演示如何在给定数据集中突出显示置信区间。在继续绘制此图形之前,让我们了解为什么 lineplot() 如此受欢迎。

lineplot 的主要优点之一是它允许以宽格式和指定格式绘制数据。

也就是说,对于 FMRI 数据集,有两种类型的区域,顶叶和额叶。我们可以仅针对顶叶或仅针对额叶数据绘制图形。以下示例说明了如何执行此操作。

要绘制仅属于一种输入类型的数据,我们必须使用 query 函数对数据进行分组。在以下示例中,将对区域列为“顶叶”的数据进行分组,然后绘制线形图。

import seaborn as sns
import matplotlib.pyplot as plt
fmri=sns.load_dataset("fmri")
fmri.head()
sns.lineplot(data=fmri.query("region == 'parietal'"),x="timepoint", y="signal", hue="event", units="subject",estimator=None)
plt.show()

输出

estimator 参数接受可调用方法、pandas 方法名称或无。如果传递无,它将考虑数据集中所有值以进行绘图。

lineplot.jpg
seaborn_relational_plots_introduction.htm
广告

© . All rights reserved.