- Seaborn 教程
- Seaborn - 首页
- Seaborn - 简介
- Seaborn - 环境设置
- 导入数据集和库
- Seaborn - 图形美观
- Seaborn - 调色板
- Seaborn - 直方图
- Seaborn - 核密度估计
- 可视化成对关系
- Seaborn - 绘制分类数据
- 观测值的分布
- Seaborn - 统计估计
- Seaborn - 绘制宽格式数据
- 多面板分类图
- Seaborn - 线性关系
- Seaborn - Facet Grid
- Seaborn - Pair Grid
- 函数参考
- Seaborn - 函数参考
- Seaborn 有用资源
- Seaborn - 快速指南
- Seaborn - 有用资源
- Seaborn - 讨论
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()
输出
示例 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()
输出
上述命令将给出以下图形。
示例 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()
输出
使用此代码段获得的图形如下所示。
示例 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 方法名称或无。如果传递无,它将考虑数据集中所有值以进行绘图。