Seaborn.lineplot() 方法

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

Seaborn Lineplot 是一种数据可视化工具,它描绘了一组连续和分类数据点之间的关系。 这些点根据语义值进行分类。 例如,考虑两个点 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() 方法的一些参数如下所示。

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 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()

输出

两个变量的线图

示例 2

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

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()

输出

上面的命令将给出下面的图。

绘图

示例 3

在本例中,我们将使用排序参数绘制图形。 此排序参数采用布尔值,当为 true 时,数据将根据 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()

输出

使用这段代码得到的图如下所示。

图表

示例 4

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

此示例将展示如何突出显示给定数据集中的置信区间。 在继续此图之前,让我们了解为什么 lineplot() 如此广泛使用。

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

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

要绘制仅属于一种输入类型的数据,我们必须使用查询函数对数据进行分组。 在下面的示例中,region列为"parietal"的数据被分组,然后绘制了一个线图。

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 方法名称或 none。 如果未通过,它将考虑绘图数据集中的所有值。

lineplot.jpg

❮Seaborn 关系图简介