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.