- 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 方法名稱或無。如果傳遞無,它將考慮資料集中所有值以進行繪圖。