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