轉(zhuǎn)載自:DataCastle數(shù)據(jù)城堡
本文總結(jié)了在數(shù)據(jù)分析和可視化中最有用的 50 個(gè) Matplotlib 圖表樟遣。這些圖表列表允許您使用 python 的 matplotlib 和 seaborn 庫選擇要顯示的可視化對(duì)象蜓萄。
這些圖表根據(jù)可視化目標(biāo)的 7 個(gè)不同情景進(jìn)行分組。例如埃撵,如果要想象兩個(gè)變量之間的關(guān)系乱陡,請(qǐng)查看“關(guān)聯(lián)”部分下的圖表。或者沙廉,如果您想要顯示值如何隨時(shí)間變化,請(qǐng)查看“變化”部分臼节,依此類推撬陵。
有效圖表的重要特征:
在不歪曲事實(shí)的情況下傳達(dá)正確和必要的信息巨税。
設(shè)計(jì)簡(jiǎn)單维费,您不必太費(fèi)力就能理解它。
從審美角度支持信息而不是掩蓋信息。
信息沒有超負(fù)荷颤专。
01 關(guān)聯(lián)(Correlation)
關(guān)聯(lián)圖表用于可視化 2 個(gè)或更多變量之間的關(guān)系。也就是說,一個(gè)變量如何相對(duì)于另一個(gè)變化。
1. 散點(diǎn)圖(Scatter plot)
散點(diǎn)圖是用于研究?jī)蓚€(gè)變量之間關(guān)系的經(jīng)典的和基本的圖表况毅。如果數(shù)據(jù)中有多個(gè)組,則可能需要以不同顏色可視化每個(gè)組。您可以使用 plt.scatterplot() 方便地執(zhí)行此操作。
2. 帶邊界的氣泡圖(Bubble plot with Encircling)
有時(shí)郊楣,您希望在邊界內(nèi)顯示一組點(diǎn)以強(qiáng)調(diào)其重要性。在這個(gè)例子中点把,你從數(shù)據(jù)框中獲取記錄拿撩,并用 encircle() 來使邊界顯示出來错邦。
3. 帶線性回歸最佳擬合線的散點(diǎn)圖(Scatter plot with linear regression line of best fit)
如果你想了解兩個(gè)變量如何相互改變魂拦,那么最佳擬合線就是常用的方法。下圖顯示了數(shù)據(jù)中各組之間最佳擬合線的差異。要禁用分組并僅為整個(gè)數(shù)據(jù)集繪制一條最佳擬合線荐类,請(qǐng)從 sns.lmplot() 調(diào)用中刪除 hue ='cyl' 參數(shù)。
針對(duì)每列繪制線性回歸線或者,可以在其每列中顯示每個(gè)組的最佳擬合線脂信÷癖茫可以通過在 sns.lmplot() 中設(shè)置 col=groupingcolumn 參數(shù)來實(shí)現(xiàn)雁社,如下:
4. 抖動(dòng)圖(Jittering with stripplot)
通常,多個(gè)數(shù)據(jù)點(diǎn)具有完全相同的 X 和 Y 值款咖。結(jié)果坏逢,多個(gè)點(diǎn)繪制會(huì)重疊并隱藏。為避免這種情況,請(qǐng)將數(shù)據(jù)點(diǎn)稍微抖動(dòng)供炼,以便您可以直觀地看到它們。
使用 seaborn 的 stripplot() 很方便實(shí)現(xiàn)這個(gè)功能考余。
5. 計(jì)數(shù)圖(Counts Plot)
避免點(diǎn)重疊問題的另一個(gè)選擇是增加點(diǎn)的大小先嬉,這取決于該點(diǎn)中有多少點(diǎn)。因此楚堤,點(diǎn)的大小越大,其周圍的點(diǎn)的集中度越高含懊。
6. 邊緣直方圖(Marginal Histogram)
邊緣直方圖具有沿 X 和 Y 軸變量的直方圖身冬。這用于可視化 X 和 Y 之間的關(guān)系以及單獨(dú)的 X 和 Y 的單變量分布。這種圖經(jīng)常用于探索性數(shù)據(jù)分析(EDA)岔乔。
7. 邊緣箱形圖(Marginal Boxplot)
邊緣箱圖與邊緣直方圖具有相似的用途酥筝。然而,箱線圖有助于精確定位 X 和 Y 的中位數(shù)雏门、第 25 和第 75 百分位數(shù)嘿歌。
8. 相關(guān)圖(Correllogram)
相關(guān)圖用于直觀地查看給定數(shù)據(jù)框(或二維數(shù)組)中所有可能的數(shù)值變量對(duì)之間的相關(guān)度量。
9. 矩陣圖(Pairwise Plot)
矩陣圖是探索性分析中的最愛茁影,用于理解所有可能的數(shù)值變量對(duì)之間的關(guān)系宙帝。它是雙變量分析的必備工具。
02 偏差(Deviation)
10. 發(fā)散型條形圖(Diverging Bars)
如果您想根據(jù)單個(gè)指標(biāo)查看項(xiàng)目的變化情況募闲,并可視化此差異的順序和數(shù)量步脓,那么散型條形圖(Diverging Bars)是一個(gè)很好的工具。它有助于快速區(qū)分?jǐn)?shù)據(jù)中組的性能浩螺,并且非常直觀靴患,并且可以立即傳達(dá)這一點(diǎn)。
11. 發(fā)散型文本(Diverging Texts)
發(fā)散型文本(Diverging Texts)與發(fā)散型條形圖(Diverging Bars)相似要出,如果你想以一種漂亮和可呈現(xiàn)的方式顯示圖表中每個(gè)項(xiàng)目的價(jià)值鸳君,就可以使用這種方法。
12. 發(fā)散型包點(diǎn)圖(Diverging Dot Plot)
發(fā)散型包點(diǎn)圖(Diverging Dot Plot)也類似于發(fā)散型條形圖(Diverging Bars)患蹂。然而或颊,與發(fā)散型條形圖(Diverging Bars)相比砸紊,條的缺失減少了組之間的對(duì)比度和差異。
13. 帶標(biāo)記的發(fā)散型棒棒糖圖(Diverging Lollipop Chart with Markers)
帶標(biāo)記的棒棒糖圖通過強(qiáng)調(diào)您想要引起注意的任何重要數(shù)據(jù)點(diǎn)并在圖表中適當(dāng)?shù)亟o出推理饭宾,提供了一種對(duì)差異進(jìn)行可視化的靈活方式批糟。
14. 面積圖(Area Chart)
通過對(duì)軸和線之間的區(qū)域進(jìn)行著色,面積圖不僅強(qiáng)調(diào)峰和谷看铆,而且還強(qiáng)調(diào)高點(diǎn)和低點(diǎn)的持續(xù)時(shí)間徽鼎。高點(diǎn)持續(xù)時(shí)間越長(zhǎng),線下面積越大弹惦。
03 排序(Ranking)
15. 有序條形圖(Ordered Bar Chart)
有序條形圖有效地傳達(dá)了項(xiàng)目的排名順序否淤。但是,在圖表上方添加度量標(biāo)準(zhǔn)的值棠隐,用戶可以從圖表本身獲取精確信息石抡。
16. 棒棒糖圖(Lollipop Chart)
棒棒糖圖表以一種視覺上令人愉悅的方式提供與有序條形圖類似的目的。
17. 包點(diǎn)圖(Dot Plot)
包點(diǎn)圖表傳達(dá)了項(xiàng)目的排名順序助泽,并且由于它沿水平軸對(duì)齊啰扛,因此您可以更容易地看到點(diǎn)彼此之間的距離。
18. 坡度圖(Slope Chart)
坡度圖最適合比較給定人/項(xiàng)目的“前”和“后”位置嗡贺。
19. 啞鈴圖(Dumbbell Plot)
啞鈴圖表傳達(dá)了各種項(xiàng)目的“前”和“后”位置以及項(xiàng)目的等級(jí)排序隐解。如果您想要將特定項(xiàng)目/計(jì)劃對(duì)不同對(duì)象的影響可視化,那么它非常有用诫睬。
04 分布(Distribution)
20. 連續(xù)變量的直方圖(Histogram for Continuous Variable)
直方圖顯示給定變量的頻率分布煞茫。下面的圖表示基于類型變量對(duì)頻率條進(jìn)行分組,從而更好地了解連續(xù)變量和類型變量摄凡。
21. 類型變量的直方圖(Histogram for Categorical Variable)
類型變量的直方圖顯示該變量的頻率分布续徽。通過對(duì)條形圖進(jìn)行著色,可以將分布與表示顏色的另一個(gè)類型變量相關(guān)聯(lián)亲澡。
22. 密度圖(Density Plot)
密度圖是一種常用工具钦扭,用于可視化連續(xù)變量的分布。通過“響應(yīng)”變量對(duì)它們進(jìn)行分組谷扣,您可以檢查 X 和 Y 之間的關(guān)系土全。以下情況用于表示目的,以描述城市里程的分布如何隨著汽缸數(shù)的變化而變化会涎。
23. 直方密度線圖(Density Curves with Histogram)
帶有直方圖的密度曲線匯集了兩個(gè)圖所傳達(dá)的集體信息裹匙,因此您可以將它們放在一個(gè)圖中而不是兩個(gè)圖中。
24. Joy Plot
Joy Plot 允許不同組的密度曲線重疊末秃,這是一種可視化大量分組數(shù)據(jù)的彼此關(guān)系分布的好方法概页。它看起來很悅目,并清楚地傳達(dá)了正確的信息练慕。它可以使用基于 matplotlib 的 joypy 包輕松構(gòu)建惰匙。
注:需要安裝 joypy 庫
25. 分布式包點(diǎn)圖(Distributed Dot Plot)
分布式包點(diǎn)圖顯示按組分割的點(diǎn)的單變量分布技掏。點(diǎn)數(shù)越暗,該區(qū)域的數(shù)據(jù)點(diǎn)集中度越高项鬼。通過對(duì)中位數(shù)進(jìn)行不同著色哑梳,組的真實(shí)定位立即變得明顯。
26. 箱形圖(Box Plot)
箱形圖是一種可視化分布的好方法绘盟,記住中位數(shù)鸠真、第 25 個(gè)第 45 個(gè)四分位數(shù)和異常值。但是龄毡,您需要注意解釋可能會(huì)扭曲該組中包含的點(diǎn)數(shù)的框的大小吠卷。因此,手動(dòng)提供每個(gè)框中的觀察數(shù)量可以幫助克服這個(gè)缺點(diǎn)沦零。
例如祭隔,左邊的前兩個(gè)框具有相同大小的框,即使它們的值分別是 5 和 47路操。因此疾渴,寫入該組中的觀察數(shù)量是必要的。
27. 包點(diǎn)+箱形圖(Dot+Box Plot)
包點(diǎn)+箱形圖(Dot+Box Plot)傳達(dá)類似于分組的箱形圖信息屯仗。此外程奠,這些點(diǎn)可以了解每組中有多少數(shù)據(jù)點(diǎn)。
28. 小提琴圖(Violin Plot)
小提琴圖是箱形圖在視覺上令人愉悅的替代品祭钉。小提琴的形狀或面積取決于它所持有的觀察次數(shù)。但是己沛,小提琴圖可能更難以閱讀慌核,并且在專業(yè)設(shè)置中不常用。
29. 人口金字塔(Population Pyramid)
人口金字塔可用于顯示由數(shù)量排序的組的分布申尼】遄浚或者它也可以用于顯示人口的逐級(jí)過濾,因?yàn)樗谙旅嬗糜陲@示有多少人通過營(yíng)銷渠道的每個(gè)階段师幕。
30. 分類圖(Categorical Plots)
由 seaborn 庫 提供的分類圖可用于可視化彼此相關(guān)的 2 個(gè)或更多分類變量的計(jì)數(shù)分布粟按。
05 組成(Composition)
31. 華夫餅圖(Waffle Chart)
可以使用 pywaffle 包 創(chuàng)建華夫餅圖,并用于顯示更大群體中的組的組成霹粥。
注:需要安裝 pywaffle 庫
32. 餅圖(Pie Chart)
餅圖是顯示組成的經(jīng)典方式灭将。然而,現(xiàn)在通常不建議使用它后控,因?yàn)轲W餅部分的面積有時(shí)會(huì)變得誤導(dǎo)庙曙。因此,如果您要使用餅圖浩淘,強(qiáng)烈建議明確記下餅圖每個(gè)部分的百分比或數(shù)字捌朴。
33. 樹形圖(Treemap)
樹形圖類似于餅圖吴攒,它可以更好地完成工作而不會(huì)誤導(dǎo)每個(gè)組的貢獻(xiàn)。
注:需要安裝 squarify 庫
34. 條形圖(Bar Chart)
條形圖是基于計(jì)數(shù)或任何給定指標(biāo)可視化項(xiàng)目的經(jīng)典方式砂蔽。在下面的圖表中洼怔,我為每個(gè)項(xiàng)目使用了不同的顏色,但您通匙蠹荩可能希望為所有項(xiàng)目選擇一種顏色镣隶,除非您按組對(duì)其進(jìn)行著色。
06 變化(Change)
35. 時(shí)間序列圖(Time Series Plot)
時(shí)間序列圖用于顯示給定度量隨時(shí)間變化的方式什荣。在這里矾缓,您可以看到 1949 年 至 1969 年間航空客運(yùn)量的變化情況。
36. 帶波峰波谷標(biāo)記的時(shí)序圖(Time Series with Peaks and Troughs Annotated)
下面的時(shí)間序列繪制了所有峰值和低谷稻爬,并注釋了所選特殊事件的發(fā)生嗜闻。
37. 自相關(guān)和部分自相關(guān)圖(Autocorrelation (ACF) and Partial Autocorrelation (PACF) Plot)
自相關(guān)圖(ACF圖)顯示時(shí)間序列與其自身滯后的相關(guān)性。每條垂直線(在自相關(guān)圖上)表示系列與滯后 0 之間的滯后之間的相關(guān)性琉雳。圖中的藍(lán)色陰影區(qū)域是顯著性水平辫秧。那些位于藍(lán)線之上的滯后是顯著的滯后。
那么如何解讀呢?
對(duì)于空乘旅客,我們看到多達(dá) 14 個(gè)滯后跨越藍(lán)線,因此非常重要律歼。這意味著,14 年前的航空旅客交通量對(duì)今天的交通狀況有影響。
PACF 在另一方面顯示了任何給定滯后(時(shí)間序列)與當(dāng)前序列的自相關(guān),但是刪除了滯后的貢獻(xiàn)。
38. 交叉相關(guān)圖(Cross Correlation plot)
交叉相關(guān)圖顯示了兩個(gè)時(shí)間序列相互之間的滯后尉姨。
39. 時(shí)間序列分解圖(Time Series Decomposition Plot)
時(shí)間序列分解圖顯示時(shí)間序列分解為趨勢(shì)覆致,季節(jié)和殘差分量。
40. 多個(gè)時(shí)間序列(Multiple Time Series)
您可以繪制多個(gè)時(shí)間序列,在同一圖表上測(cè)量相同的值赞枕,如下所示。
41. 使用輔助 Y 軸來繪制不同范圍的圖形(Plotting with different scales using secondary Y axis)
如果要顯示在同一時(shí)間點(diǎn)測(cè)量?jī)蓚€(gè)不同數(shù)量的兩個(gè)時(shí)間序列涯贞,則可以在右側(cè)的輔助 Y 軸上再繪制第二個(gè)系列辜限。
42. 帶有誤差帶的時(shí)間序列(Time Series with Error Bands)
如果您有一個(gè)時(shí)間序列數(shù)據(jù)集毫深,每個(gè)時(shí)間點(diǎn)(日期/時(shí)間戳)有多個(gè)觀測(cè)值手素,則可以構(gòu)建帶有誤差帶的時(shí)間序列。您可以在下面看到一些基于每天不同時(shí)間訂單的示例邓嘹。另一個(gè)關(guān)于 45 天持續(xù)到達(dá)的訂單數(shù)量的例子。
在該方法中,訂單數(shù)量的平均值由白線表示怯伊。并且計(jì)算 95% 置信區(qū)間并圍繞均值繪制挪哄。
43. 堆積面積圖(Stacked Area Chart)
堆積面積圖可以直觀地顯示多個(gè)時(shí)間序列的貢獻(xiàn)程度吟秩,因此很容易相互比較闹伪。
44. 未堆積的面積圖(Area Chart UnStacked)
未堆積面積圖用于可視化兩個(gè)或更多個(gè)系列相對(duì)于彼此的進(jìn)度(起伏)。在下面的圖表中壮池,您可以清楚地看到隨著失業(yè)中位數(shù)持續(xù)時(shí)間的增加偏瓤,個(gè)人儲(chǔ)蓄率會(huì)下降。未堆積面積圖表很好地展示了這種現(xiàn)象椰憋。
45. 日歷熱力圖(Calendar Heat Map)
與時(shí)間序列相比厅克,日歷地圖是可視化基于時(shí)間的數(shù)據(jù)的備選和不太優(yōu)選的選項(xiàng)。雖然可以在視覺上吸引人橙依,但數(shù)值并不十分明顯证舟。然而,它可以很好地描繪極端值和假日效果窗骑。
注:需要安裝 calmap 庫
46. 季節(jié)圖(Seasonal Plot)
季節(jié)圖可用于比較上一季中同一天(年/月/周等)的時(shí)間序列女责。
07 分組(Groups)
47. 樹狀圖(Dendrogram)
樹形圖基于給定的距離度量將相似的點(diǎn)組合在一起,并基于點(diǎn)的相似性將它們組織在樹狀鏈接中创译。
48. 簇狀圖(Cluster Plot)
簇狀圖(Cluster Plot)可用于劃分屬于同一群集的點(diǎn)抵知。下面是根據(jù) USArrests 數(shù)據(jù)集將美國(guó)各州分為 5 組的代表性示例。此圖使用“謀殺”和“攻擊”列作為 X 和 Y 軸软族⌒猎澹或者,您可以將第一個(gè)到主要組件用作 X 軸和 Y 軸互订。
49. 安德魯斯曲線(Andrews Curve)
安德魯斯曲線有助于可視化是否存在基于給定分組的數(shù)字特征的固有分組。如果要素(數(shù)據(jù)集中的列)無法區(qū)分組(cyl)痘拆,那么這些線將不會(huì)很好地隔離仰禽,如下所示。
50. 平行坐標(biāo)(Parallel Coordinates)
平行坐標(biāo)有助于可視化特征是否有助于有效地隔離組。如果實(shí)現(xiàn)隔離吐葵,則該特征可能在預(yù)測(cè)該組時(shí)非常有用规揪。
原文標(biāo)題:
Top 50 matplotlib Visualizations – The Master Plots (with full python code)
原文鏈接:
https://www.machinelearningplus.com/plots/top-50-matplotlib-visualizations-the-master-plots-python/
我是數(shù)據(jù)僧猿妈,我不是專家音诫,不是精英,記錄每日的學(xué)習(xí)結(jié)果雷厂,謝謝大家關(guān)注凤藏。
歡迎來找 數(shù)據(jù)僧 一起探討奸忽,交朋友,
在學(xué)習(xí)成長(zhǎng)的路上不致于太孤單