Seaborn - 觀測值的分佈



在上一章中我們處理的分類散點圖中,其方法在提供關於每個類別內值分佈的資訊方面變得有限。現在,更進一步,讓我們看看什麼可以幫助我們在類別內進行比較。

箱線圖

箱線圖是一種透過資料的分位數來視覺化資料分佈的便捷方法。

箱線圖通常在箱體上延伸有垂直線,稱為須線。這些須線表示上四分位數和下四分位數之外的可變性,因此箱線圖也稱為箱須圖箱須圖。資料中的任何異常值都將作為單獨的點繪製。

示例

import pandas as pd
import seaborn as sb
from matplotlib import pyplot as plt
df = sb.load_dataset('iris')
sb.swarmplot(x = "species", y = "petal_length", data = df)
plt.show()

輸出

Compressed

圖上的點表示異常值。

小提琴圖

小提琴圖結合了箱線圖和核密度估計。因此,這些圖更容易分析和理解資料的分佈。

讓我們使用名為 tips 的資料集來進一步瞭解小提琴圖。此資料集包含與餐廳顧客給的小費相關的資訊。

示例

import pandas as pd
import seaborn as sb
from matplotlib import pyplot as plt
df = sb.load_dataset('tips')
sb.violinplot(x = "day", y = "total_bill", data=df)
plt.show()

輸出

Stages

箱線圖中的四分位數和須線值顯示在小提琴內部。由於小提琴圖使用 KDE,因此小提琴的較寬部分表示較高的密度,而窄區域表示相對較低的密度。箱線圖中的四分位距和 kde 中的較高密度部分落在小提琴圖每個類別的同一區域。

上圖顯示了每週四天總賬單的分佈。但是,除了這些之外,如果我們想看看分佈相對於性別的變化情況,讓我們在下面的示例中探索它。

示例

import pandas as pd
import seaborn as sb
from matplotlib import pyplot as plt
df = sb.load_dataset('tips')
sb.violinplot(x = "day", y = "total_bill",hue = 'sex', data = df)
plt.show()

輸出

Difference

現在我們可以清楚地看到男性和女性之間的消費行為。透過檢視圖表,我們可以很容易地說,男性比女性花費更多。

並且,如果 hue 變數只有兩個類別,我們可以透過將每個小提琴分成兩部分而不是在特定日期繪製兩個小提琴來美化圖表。小提琴的任一部分都指代 hue 變數中的每個類別。

示例

import pandas as pd
import seaborn as sb
from matplotlib import pyplot as plt
df = sb.load_dataset('tips')
sb.violinplot(x = "day", y="total_bill",hue = 'sex', data = df)
plt.show()

輸出

Multistages
廣告

© . All rights reserved.