10個超級實用的數(shù)據(jù)可視化圖表總結!
可視化是一種方便的觀察數(shù)據(jù)的方式,可以一目了然地了解數(shù)據(jù)塊。我們經(jīng)常使用柱狀圖、直方圖、餅圖、箱圖、熱圖、散點圖、線狀圖等。這些典型的圖對于數(shù)據(jù)可視化是必不可少的。除了這些被廣泛使用的圖表外,還有許多很好的卻很少被使用的可視化方法,這些圖有助于完成我們的工作,下面我們看看有那些圖可以進行。
1、平行坐標圖
Parallel Coordinate我們最多可以可視化 3 維數(shù)據(jù)。但是我們有時需要可視化超過 3 維的數(shù)據(jù)才能獲得更多的信息。我們經(jīng)常使用 PCA 或 t-SNE 來降維并繪制它。在降維的情況下,可能會丟失大量信息。在某些情況下,我們需要考慮所有特征, 平行坐標圖有助于做到這一點。

鳶尾花數(shù)據(jù)集的平行坐標圖
上面的圖片。橫線(平行軸)表示鳶尾花的特征(花瓣長、萼片長、萼片寬、花瓣寬)。分類是Setosa, Versicolor和Virginica。上圖將該物種編碼為Setosa→1,Versicolor→2,Virginica→3。每個平行軸包含最小值到最大值(例如,花瓣長度從1到6.9,萼片長度從4.3到7.9,等等)。例如,考慮花瓣長度軸。這表明與其他兩種植物相比,瀨蝶屬植物的花瓣長度較小,其中維珍屬植物的花瓣長度最高。
有了這個圖,我們可以很容易地獲得數(shù)據(jù)集的總體信息。數(shù)據(jù)集是什么樣子的?讓我們來看看。

讓我們用Plotly Express庫[1]可視化數(shù)據(jù)。Plotly庫提供了一個交互式繪圖工具。

除了上圖以外我們還可以使用其他庫,如pandas、scikit-learn和matplotlib來繪制并行坐標。
六邊形分箱圖
Hexagonal Binning
六邊形分箱圖是一種用六邊形直觀表示二維數(shù)值數(shù)據(jù)點密度的方法。
?ax?=?df.plot.hexbin(x='sepal_width',?y='sepal_length',? ? ? ? ? ? ? ? ? ? ?gridsize=20,color='#BDE320')

Pandas 允許我們繪制六邊形 binning [2]。我已經(jīng)展示了用于查找 sepal_width 和 sepal_length 列的密度的圖。
如果仔細觀察圖表,我們會發(fā)現(xiàn)總面積被分成了無數(shù)個六邊形。每個六邊形覆蓋特定區(qū)域。我們注意到六邊形有顏色變化。六邊形有的沒有顏色,有的是淡綠色,有的顏色很深。根據(jù)圖右側顯示的色標,顏色密度隨密度變化。比例表示具有顏色變化的數(shù)據(jù)點的數(shù)量。六邊形沒有填充顏色,這意味著該區(qū)域沒有數(shù)據(jù)點。
其他庫,如 matplotlib、seaborn、bokeh(交互式繪圖)也可用于繪制它。
等高線密度圖
Contour
二維等高線密度圖是可視化特定區(qū)域內(nèi)數(shù)據(jù)點密度的另一種方法。這是為了找到兩個數(shù)值變量的密度。例如,下面的圖顯示了在每個陰影區(qū)域有多少數(shù)據(jù)點。
?

為了生成上面的圖表,我這里使用了plotly庫,因為它可以方便地繪制交互式的圖表。我們這里繪制了兩個變量 sepal_width 和 sepal_length 的密度。
當然,也可以使用其他庫,如seaborn、matplotlib等。
4、QQ-plot
QQ plot是另一個有趣的圖。QQ是Quantile - Quantile plot的縮寫(Quantile/percentile是一個范圍,在這個范圍內(nèi)數(shù)據(jù)下降了指定百分比。例如,第10個quantile/percentile表示在該范圍下,找到了10%的數(shù)據(jù),90% 超出范圍)。這是一種直觀地檢查數(shù)值變量是否服從正態(tài)分布的方法。讓我解釋一下它是如何工作的。

(a)樣本分布(b)標準正態(tài)分布
圖(a)是樣本分布;(b) 是標準正態(tài)分布。對于樣本分布,數(shù)據(jù)范圍從 10 到 100(100% 數(shù)據(jù)在 10 到 100 之間)。但對于標準正態(tài)分布,100% 的數(shù)據(jù)在 -3 到 3(z 分數(shù))的范圍內(nèi)。在 QQ 圖中,兩個 x 軸值均分為 100 個相等的部分(稱為分位數(shù))。如果我們針對 x 和 y 軸繪制這兩個值,我們將得到一個散點圖。

QQ-plot
散點圖位于對角線上。這意味著樣本分布是正態(tài)分布。如果散點圖位于左邊或右邊而不是對角線,這意味著樣本不是正態(tài)分布的。
導入必要的庫
生成正態(tài)分布數(shù)據(jù)。
繪制數(shù)據(jù)點的分布。

該圖顯示數(shù)據(jù)是正態(tài)分布的。我們用數(shù)據(jù)點做qq-plot來檢驗它是否正態(tài)分布。

該圖顯示散點位于對角線上。所以它是正態(tài)分布的。
小提琴圖
Violin Plot
小提琴圖與箱線圖相關。我們能從小提琴圖中獲得的另一個信息是密度分布。簡單來說就是一個結合了密度分布的箱線圖。我們將其與箱線圖進行比較。
在小提琴圖中,小提琴中間的白點表示中點。實心框表示四分位數(shù)間距 (IQR)。上下相鄰值是異常值的圍欄。超出范圍,一切都是異常值。下圖顯示了比較。

盒狀圖和小提琴狀圖的常見組成。所有學術級別的薪酬總額
讓我們看看小提琴圖的可視化。

我們還可以通過傳遞名稱來繪制不同物種的小提琴圖。

還可以使用其他庫,如plotly、matplotlib等來繪制小提琴圖。
箱線圖的改進版
Boxen plot
Boxenplot 是 seaborn 庫引入的一種新型箱線圖。對于箱線圖,框是在四分位數(shù)上創(chuàng)建的。但在 Boxenplot 中,數(shù)據(jù)被分成更多的分位數(shù)。它提供了對數(shù)據(jù)的更多內(nèi)存。
鳶尾花數(shù)據(jù)集的 Boxenplot 顯示了 sepal_width 的數(shù)據(jù)分布。

上圖顯示了比箱線圖更多的盒。這是因為每個框代表一個特定的分位數(shù)。

不同物種sepal_width的Boxenplot圖。
點圖
下圖中有一些名為誤差線的垂直線和其他一些連接這些垂直線的線。讓我們看看它的確切含義。

點圖是一種通過上圖中顯示的點的位置來表示數(shù)值變量集中趨勢的方法,誤差條表示變量的不確定性(置信區(qū)間)[4]。繪制線圖是為了比較不同分類值的數(shù)值變量的變異性 [4]。
讓我們舉一個實際的例子—-我們繼續(xù)使用 seaborn 庫和 iris 數(shù)據(jù)集(在平行坐標部分中提到)。

該圖表顯示了不同花的萼片寬度的變異性。我們還可以繪制多個點圖。
分簇散點圖
Swarm plot
Swarm plot 是另一個受“beeswarm”啟發(fā)的有趣圖表。通過此圖我們可以輕松了解不同的分類值如何沿數(shù)值軸分布 [5]。它在不重疊數(shù)據(jù)點的情況下繪制數(shù)據(jù)。但它不適用于大型數(shù)據(jù)集。

旭日圖
Sunburst Chart
它是圓環(huán)圖或餅圖的定制版本,將一些額外的層次信息集成到圖中 [7]。

Sunburst Chart
整個圖表被分成幾個環(huán)(從內(nèi)到外)。它保存層次結構信息,其中內(nèi)環(huán)位于層次結構的頂部,外環(huán)位于較低的[7]階。

以上日暴圖的數(shù)據(jù)

繪制旭日圖
sunburst類的path屬性提供了層次結構,其中性別位于層次結構的頂部,然后是日期和時間。
詞云
Word Cloud
詞云圖的想法非常簡單。假設我們有一組文本文檔。單詞有很多,有些是經(jīng)常出現(xiàn)的,有些是很少出現(xiàn)的。在詞云圖中,所有單詞都被繪制在特定的區(qū)域中,頻繁出現(xiàn)的單詞被高亮顯示(用較大的字體顯示)。有了這個詞云,我們可以很容易地找到重要的客戶反饋,熱門的政治議程話題等。
數(shù)據(jù)集:
https://opendatacommons.org/licenses/odbl/1-0/
我們統(tǒng)計每個類別的數(shù)據(jù)數(shù)量
我們進行可視化。

該圖表顯示了頻率最高的所有類別。我們也可以用這個圖從文本中找到經(jīng)常出現(xiàn)的單詞。
總
結數(shù)據(jù)可視化是數(shù)據(jù)科學中不可缺少的一部分。在數(shù)據(jù)科學中,我們與數(shù)據(jù)打交道。手工分析少量數(shù)據(jù)是可以的,但當我們處理數(shù)千個數(shù)據(jù)時它就變得非常麻煩。如果我們不能發(fā)現(xiàn)數(shù)據(jù)集的趨勢和洞察力,我們可能無法使用這些數(shù)據(jù)。希望上面介紹的的圖可以幫助你深入了解數(shù)據(jù)。