Python資料視覺化中的分類圖和分佈圖


一個基於matplotlib的Python視覺化包稱為Seaborn。它提供了一個高階繪圖介面,用於建立美觀的統計視覺化效果。它基於Matplotlib,並支援pandas和numpy資料結構以及來自scipy和statsmodels的統計函式。

Seaborn可以透過多種方式顯示涉及分類資料的關聯。這類似於relplot()與scatterplot()或lineplot()之間的關係,這兩種方法都可以建立這些圖表。有各種軸級方法可以以不同的方式繪製分類資料,而圖形級介面catplot()則為它們提供了統一的高階訪問。

什麼是分類資料?

分類資料是指屬於特定類別或組的資料。在Python中,分類資料通常儲存為Pandas分類資料型別。

分類資料通常用於儲存可以劃分為固定數量類別的的資料,例如性別(男,女),產品型別(手機,電腦,電視)或血型(A,B,AB,O)。僅允許分類但不允許對變數進行明確排序的變數是純分類的。如果變數具有明確的排序,則將其視為有序變數。

現在讓我們討論使用seaborn繪製分類資料!為此,有幾種主要的繪圖型別:

  • 條形圖(barplot)

  • 計數圖(countplot)

  • 箱線圖(boxplot)

  • 小提琴圖(violinplot)

  • 散點圖(striplot)

  • 蜂群圖(swarmplot)

讓我們逐一瞭解每個圖的示例!

首先,我們將匯入庫Seaborn。

import seaborn as sns

%matplotlib inline

#在jupyter notebook中內聯繪製圖形

條形圖

條形圖是一種使用不同高度的條形來圖形化顯示資料的圖表。它用於視覺化分類變數的分佈。條形的高度表示類別的計數或頻率。

sns.barplot(x='sex',y='total_bill',data=t)

這裡的引數x和y指的是在引數'data'中提供的dataset中變數的名稱。

計數圖

計數圖是一種條形圖,顯示分類變數的計數或頻率。它是條形圖的專用版本,可用於快速視覺化資料分佈。建立計數圖的命令為:

sns.countplot(x='sex',data=t)

箱線圖

箱線圖是一種使用箱體和須線來圖形化顯示資料的圖表。它用於視覺化數值變數的分佈和彙總統計資料。箱體表示四分位距(IQR),須線表示資料的最小值和最大值。

sns.boxplot(x='day',y='total_bill',data=t,palette='rainbow')

小提琴圖

小提琴圖是一種圖形化顯示資料的圖表,它結合了箱線圖和核密度圖。它用於視覺化數值變數的分佈和彙總統計資料。小提琴的寬度表示資料的核密度估計,小提琴內部的箱體表示IQR。

sns.violinplot(x="day", y="total_bill", data=t,palette='rainbow')

散點圖和蜂群圖

散點圖是一種使用散點圖來圖形化顯示資料的圖表,其中一個變數是分類的。它用於視覺化不同類別的數值變數的分佈。

蜂群圖是一種使用散點圖來圖形化顯示資料的圖表,其中點的位置進行了調整,以避免重疊。它類似於散點圖,但點的位置不在分類軸上。

分佈圖

分佈模組中的各種函式可以為這些問題提供答案。histplot()、kdeplot()、ecdfplot()和rugplot()是軸級函式。圖形級函式displot()、jointplot()和pairplot()將它們全部組合在一起。

Displot

displot()是Python中Seaborn庫中的一個函式,用於視覺化單個數值變數的分佈。它建立直方圖並將機率密度函式(PDF)或核密度估計(KDE)擬合到資料。

語法

distplot(a[, bins, hist, kde, rug, fit, ...])

Joinplot

jointplot()是Seaborn庫中的一個函式,用於視覺化兩個數值變數之間的關係。它建立散點圖,將回歸線擬合到資料,並使用直方圖或KDE圖顯示每個變數的分佈。

語法

jointplot(x, y[, data, kind, stat_func, ...])

Pairplot

pairplot()是Seaborn庫中的一個函式,用於視覺化資料集中的所有變數對之間的關係。它建立散點圖和直方圖或KDE圖的網格,用於每一對變數,這使您可以快速探索和視覺化資料中的關係。

語法

pairplot(data, *, hue=None, hue_order=None, palette=None, vars=None, x_vars=None, y_vars=None, kind='scatter', diag_kind='auto', markers=None, height=2.5, aspect=1, corner=False, dropna=False, plot_kws=None, diag_kws=None, grid_kws=None, size=None)

Rugplot

地毯圖是一種圖形化顯示資料的圖表,它顯示數值變數沿軸的分佈。它類似於直方圖,但它不顯示資料的頻率或密度,而是顯示沿軸的實際資料點作為線或刻度。

地毯圖可用於視覺化資料分佈並識別異常值的存在。它還可以用於比較多個變數的分佈。

語法

rugplot(data=None, *, x=None, y=None, hue=None, height=0.025, expand_margins=True, palette=None, hue_order=None, hue_norm=None, legend=True, ax=None, **kwargs)

結論

總之,分類圖和分佈圖分別是用於探索和分析分類資料和連續資料的視覺化型別。分類圖視覺化資料集中類別的分佈,可用於識別資料中的模式和趨勢。分佈圖用於視覺化連續變數的分佈,可用於識別資料中的模式和趨勢。

Python中的許多庫提供了廣泛的分類圖和分佈圖,包括Matplotlib、Seaborn和Plotly。分類圖的一些示例包括條形圖、餅圖和箱線圖,分佈圖的一些示例包括直方圖、核密度圖和小提琴圖。瞭解不同型別的圖以及何時使用它們對於在Python中探索和分析資料非常有用。

更新於: 2023年5月5日

1K+ 瀏覽量

開啟您的職業生涯

透過完成課程獲得認證

立即開始
廣告