數據可視化最有價值的50個圖表 | 網際網路數據資訊網-199IT | 中文...

2021-01-09 網際網路數據資訊網

Tips:

本文原文部分代碼有不準確的地方,已進行修改;所有正確的原始碼,已整合到 jupyter notebook 文件中;運行本文代碼,除了安裝 matplotlib 和 seaborn 可視化庫外,還需要安裝其他的一些輔助可視化庫,已在代碼部分作標註,具體內容請查看下面文章內容。

在數據分析和可視化中最有用的 50 個 Matplotlib 圖表。 這些圖表列表允許您使用 python 的 matplotlib 和 seaborn 庫選擇要顯示的可視化對象。

這些圖表根據可視化目標的7個不同情景進行分組。 例如,如果要想像兩個變量之間的關係,請查看「關聯」部分下的圖表。 或者,如果您想要顯示值如何隨時間變化,請查看「變化」部分,依此類推。

有效圖表的重要特徵:

在不歪曲事實的情況下傳達正確和必要的信息。設計簡單,您不必太費力就能理解它。從審美角度支持信息而不是掩蓋信息。信息沒有超負荷。

準備工作

在代碼運行前先引入下面的設置內容。 當然,單獨的圖表,可以重新設置顯示要素。

關聯圖表用於可視化2個或更多變量之間的關係。 也就是說,一個變量如何相對於另一個變化。

1. 散點圖(Scatter plot)

散點圖是用於研究兩個變量之間關係的經典的和基本的圖表。 如果數據中有多個組,則可能需要以不同顏色可視化每個組。 在 matplotlib 中,您可以使用 plt.scatterplot() 方便地執行此操作。  

2. 帶邊界的氣泡圖(Bubble plot with Encircling)

有時,您希望在邊界內顯示一組點以強調其重要性。 在這個例子中,你從數據框中獲取記錄,並用下面代碼中描述的 encircle() 來使邊界顯示出來。

3. 帶線性回歸最佳擬合線的散點圖 (Scatter plot with linear regression line of best fit)

如果你想了解兩個變量如何相互改變,那麼最佳擬合線就是常用的方法。 下圖顯示了數據中各組之間最佳擬合線的差異。 要禁用分組並僅為整個數據集繪製一條最佳擬合線,請從下面的 sns.lmplot()調用中刪除 hue =』cyl』參數。

針對每列繪製線性回歸線:

或者,可以在其每列中顯示每個組的最佳擬合線。 可以通過在 sns.lmplot() 中設置 col=groupingcolumn 參數來實現,如下:

4. 抖動圖 (Jittering with stripplot)

通常,多個數據點具有完全相同的 X 和 Y 值。 結果,多個點繪製會重疊並隱藏。 為避免這種情況,請將數據點稍微抖動,以便您可以直觀地看到它們。 使用 seaborn 的 stripplot() 很方便實現這個功能。

5. 計數圖 (Counts Plot)

避免點重疊問題的另一個選擇是增加點的大小,這取決於該點中有多少點。 因此,點的大小越大,其周圍的點的集中度越高。

6. 邊緣直方圖 (Marginal Histogram)

邊緣直方圖具有沿 X 和 Y 軸變量的直方圖。 這用於可視化 X 和 Y 之間的關係以及單獨的 X 和 Y 的單變量分布。 這種圖經常用於探索性數據分析(EDA)。

7. 邊緣箱形圖 (Marginal Boxplot)

邊緣箱圖與邊緣直方圖具有相似的用途。 然而,箱線圖有助於精確定位 X 和 Y 的中位數、第25和第75百分位數。

8. 相關圖 (Correllogram)

相關圖用於直觀地查看給定數據框(或二維數組)中所有可能的數值變量對之間的相關度量。

9. 矩陣圖 (Pairwise Plot)

矩陣圖是探索性分析中的最愛,用於理解所有可能的數值變量對之間的關係。 它是雙變量分析的必備工具。

10. 發散型條形圖 (Diverging Bars)

如果您想根據單個指標查看項目的變化情況,並可視化此差異的順序和數量,那麼散型條形圖 (Diverging Bars) 是一個很好的工具。 它有助於快速區分數據中組的性能,並且非常直觀,並且可以立即傳達這一點。

11. 發散型文本 (Diverging Texts)

發散型文本 (Diverging Texts)與發散型條形圖 (Diverging Bars)相似,如果你想以一種漂亮和可呈現的方式顯示圖表中每個項目的價值,就可以使用這種方法。

12. 發散型包點圖 (Diverging Dot Plot)

發散型包點圖 (Diverging Dot Plot)也類似於發散型條形圖 (Diverging Bars)。 然而,與發散型條形圖 (Diverging Bars)相比,條的缺失減少了組之間的對比度和差異。

13. 帶標記的發散型棒棒糖圖 (Diverging Lollipop Chart with Markers)

帶標記的棒棒糖圖通過強調您想要引起注意的任何重要數據點並在圖表中適當地給出推理,提供了一種對差異進行可視化的靈活方式。

14. 面積圖 (Area Chart)

通過對軸和線之間的區域進行著色,面積圖不僅強調峰和谷,而且還強調高點和低點的持續時間。 高點持續時間越長,線下面積越大。

15. 有序條形圖 (Ordered Bar Chart)

有序條形圖有效地傳達了項目的排名順序。 但是,在圖表上方添加度量標準的值,用戶可以從圖表本身獲取精確信息。

16. 棒棒糖圖 (Lollipop Chart)

棒棒糖圖表以一種視覺上令人愉悅的方式提供與有序條形圖類似的目的。

17. 包點圖 (Dot Plot)

包點圖表傳達了項目的排名順序,並且由於它沿水平軸對齊,因此您可以更容易地看到點彼此之間的距離。

18. 坡度圖 (Slope Chart)

坡度圖最適合比較給定人/項目的「前」和「後」位置。

19. 啞鈴圖 (Dumbbell Plot)

啞鈴圖表傳達了各種項目的「前」和「後」位置以及項目的等級排序。 如果您想要將特定項目/計劃對不同對象的影響可視化,那麼它非常有用。

20. 連續變量的直方圖 (Histogram for Continuous Variable)

直方圖顯示給定變量的頻率分布。下面的圖表示基於類型變量對頻率條進行分組,從而更好地了解連續變量和類型變量。

21. 類型變量的直方圖 (Histogram for Categorical Variable)

類型變量的直方圖顯示該變量的頻率分布。 通過對條形圖進行著色,可以將分布與表示顏色的另一個類型變量相關聯。

22. 密度圖 (Density Plot)

密度圖是一種常用工具,用於可視化連續變量的分布。 通過「響應」變量對它們進行分組,您可以檢查 X 和 Y 之間的關係。以下情況用於表示目的,以描述城市裡程的分布如何隨著汽缸數的變化而變化。

23. 直方密度線圖 (Density Curves with Histogram)

帶有直方圖的密度曲線匯集了兩個圖所傳達的集體信息,因此您可以將它們放在一個圖中而不是兩個圖中。

24. Joy Plot

Joy Plot允許不同組的密度曲線重疊,這是一種可視化大量分組數據的彼此關係分布的好方法。 它看起來很悅目,並清楚地傳達了正確的信息。 它可以使用基於 matplotlib 的 joypy 包輕鬆構建。

註:需要安裝 joypy 庫

25. 分布式包點圖 (Distributed Dot Plot)

分布式包點圖顯示按組分割的點的單變量分布。 點數越暗,該區域的數據點集中度越高。 通過對中位數進行不同著色,組的真實定位立即變得明顯。

26. 箱形圖 (Box Plot)

箱形圖是一種可視化分布的好方法,記住中位數、第25個第45個四分位數和異常值。 但是,您需要注意解釋可能會扭曲該組中包含的點數的框的大小。 因此,手動提供每個框中的觀察數量可以幫助克服這個缺點。

例如,左邊的前兩個框具有相同大小的框,即使它們的值分別是5和47。 因此,寫入該組中的觀察數量是必要的。

27. 包點+箱形圖 (Dot + Box Plot)

包點+箱形圖 (Dot + Box Plot)傳達類似於分組的箱形圖信息。 此外,這些點可以了解每組中有多少數據點。

28. 小提琴圖 (Violin Plot)

小提琴圖是箱形圖在視覺上令人愉悅的替代品。 小提琴的形狀或面積取決於它所持有的觀察次數。 但是,小提琴圖可能更難以閱讀,並且在專業設置中不常用。

29. 人口金字塔 (Population Pyramid)

人口金字塔可用於顯示由數量排序的組的分布。 或者它也可以用於顯示人口的逐級過濾,因為它在下面用於顯示有多少人通過營銷渠道的每個階段。

30. 分類圖 (Categorical Plots)

由 seaborn庫 提供的分類圖可用於可視化彼此相關的2個或更多分類變量的計數分布。

31. 華夫餅圖 (Waffle Chart)

可以使用 pywaffle包 創建華夫餅圖,並用於顯示更大群體中的組的組成。

註:需要安裝 pywaffle 庫

32. 餅圖 (Pie Chart)

餅圖是顯示組成的經典方式。 然而,現在通常不建議使用它,因為餡餅部分的面積有時會變得誤導。 因此,如果您要使用餅圖,強烈建議明確記下餅圖每個部分的百分比或數字。

33. 樹形圖 (Treemap)

樹形圖類似於餅圖,它可以更好地完成工作而不會誤導每個組的貢獻。

註:需要安裝 squarify 庫

34. 條形圖 (Bar Chart)

條形圖是基於計數或任何給定指標可視化項目的經典方式。 在下面的圖表中,我為每個項目使用了不同的顏色,但您通常可能希望為所有項目選擇一種顏色,除非您按組對其進行著色。 顏色名稱存儲在下面代碼中的all_colors中。 您可以通過在 plt.plot()中設置顏色參數來更改條的顏色。

35. 時間序列圖 (Time Series Plot)

時間序列圖用於顯示給定度量隨時間變化的方式。 在這裡,您可以看到 1949年 至 1969年間航空客運量的變化情況。

36. 帶波峰波谷標記的時序圖 (Time Series with Peaks and Troughs Annotated)

下面的時間序列繪製了所有峰值和低谷,並注釋了所選特殊事件的發生。

37. 自相關和部分自相關圖 (Autocorrelation (ACF) and Partial Autocorrelation (PACF) Plot)

自相關圖(ACF圖)顯示時間序列與其自身滯後的相關性。 每條垂直線(在自相關圖上)表示系列與滯後0之間的滯後之間的相關性。圖中的藍色陰影區域是顯著性水平。 那些位於藍線之上的滯後是顯著的滯後。

那麼如何解讀呢?

對於空乘旅客,我們看到多達14個滯後跨越藍線,因此非常重要。 這意味著,14年前的航空旅客交通量對今天的交通狀況有影響。

PACF在另一方面顯示了任何給定滯後(時間序列)與當前序列的自相關,但是刪除了滯後的貢獻。

38. 交叉相關圖 (Cross Correlation plot)

交叉相關圖顯示了兩個時間序列相互之間的滯後。

39. 時間序列分解圖 (Time Series Decomposition Plot)

時間序列分解圖顯示時間序列分解為趨勢,季節和殘差分量。

40. 多個時間序列 (Multiple Time Series)

您可以繪製多個時間序列,在同一圖表上測量相同的值,如下所示。

41. 使用輔助 Y 軸來繪製不同範圍的圖形 (Plotting with different scales using secondary Y axis)

如果要顯示在同一時間點測量兩個不同數量的兩個時間序列,則可以在右側的輔助Y軸上再繪製第二個系列。

42. 帶有誤差帶的時間序列 (Time Series with Error Bands)

如果您有一個時間序列數據集,每個時間點(日期/時間戳)有多個觀測值,則可以構建帶有誤差帶的時間序列。 您可以在下面看到一些基於每天不同時間訂單的示例。 另一個關於45天持續到達的訂單數量的例子。

在該方法中,訂單數量的平均值由白線表示。 並且計算95%置信區間並圍繞均值繪製。

43. 堆積面積圖 (Stacked Area Chart)

堆積面積圖可以直觀地顯示多個時間序列的貢獻程度,因此很容易相互比較。

44. 未堆積的面積圖 (Area Chart UnStacked)

未堆積面積圖用於可視化兩個或更多個系列相對於彼此的進度(起伏)。 在下面的圖表中,您可以清楚地看到隨著失業中位數持續時間的增加,個人儲蓄率會下降。 未堆積面積圖表很好地展示了這種現象。

45. 日曆熱力圖 (Calendar Heat Map)

與時間序列相比,日曆地圖是可視化基於時間的數據的備選和不太優選的選項。 雖然可以在視覺上吸引人,但數值並不十分明顯。 然而,它可以很好地描繪極端值和假日效果。

註:需要安裝 calmap 庫

46. 季節圖 (Seasonal Plot)

季節圖可用於比較上一季中同一天(年/月/周等)的時間序列。

47. 樹狀圖 (Dendrogram)

樹形圖基於給定的距離度量將相似的點組合在一起,並基於點的相似性將它們組織在樹狀連結中。

48. 簇狀圖 (Cluster Plot)

簇狀圖 (Cluster Plot)可用於劃分屬於同一群集的點。 下面是根據USArrests數據集將美國各州分為5組的代表性示例。 此圖使用「謀殺」和「攻擊」列作為X和Y軸。 或者,您可以將第一個到主要組件用作X軸和Y軸。

49. 安德魯斯曲線 (Andrews Curve)

安德魯斯曲線有助於可視化是否存在基於給定分組的數字特徵的固有分組。 如果要素(數據集中的列)無法區分組(cyl),那麼這些線將不會很好地隔離,如下所示。

50. 平行坐標 (Parallel Coordinates)

平行坐標有助於可視化特徵是否有助於有效地隔離組。 如果實現隔離,則該特徵可能在預測該組時非常有用。

原文標題:

Top 50 matplotlib Visualizations – The Master Plots (with full python  code)

原文連結:

https://www.machinelearningplus.com/plots/top-50-matplotlib-visualizations-the-master-plots-python/

相關焦點

  • 人類歷史上最有影響力的五個數據可視化信息圖 | 網際網路數據資訊網...
    數據可視化、信息圖是這兩年大數據熱潮中的時髦概念,但實際上數據可視化和信息圖古已有之,而「數據化運營」和「可視化管理」幾乎貫穿了整個近代西方經濟和文明的崛起歷程。
  • 數據可視化當中的圖表組合:比例面積圖
    編輯導讀:優秀的數據可視化依賴優異的設計,並非僅僅選擇正確的圖表模板那麼簡單,數據可視化可以幫助用戶更好地理解數據、運用數據。本文作者從自身經驗出發,結合具體案例分享了比例面積圖的不同組合形式,供大家一同參考學習。
  • 這16個數據可視化案例,驚豔了全球數據行業
    人類的大腦對視覺信息的處理優於對文本的處理——因此使用圖表、圖形和設計元素,數據可視化可以幫你更容易的解釋趨勢和統計數據。  但是,並非所有的數據可視化是平等的。(點擊「為什麼大多數人的圖表和圖形看起來像廢話」了解我想表達的意思)  那麼,如何將數據組織起來,使其既有吸引力又易於理解?通過下面的16個有趣的例子獲得啟發,它們是既注重風格和也注重內容的數據可視化案例。
  • 打通數據價值最後一公裡:一文讓你全面了解數據可視化
    數據可視化是大數據技術得以展現價值的「最後一公裡」,向用戶呈現數據處理和分析的結果性數據,通過表和圖的方式傳遞數據價值,並且支撐用戶對結果性數據的靈活運用。
  • 超酷炫.NET數據可視化組件LightningChart
    LightningChart Ultimate SDK是Arction Ltd公司開發的.NET和Windows 2D和3D測量、管理和研發數據可視化SDK。它是一個能全面實現GPU加速(Direct3D)和性能優化的數據控制項,大規模數據都可以通過它以二維XY圖表、三維XYZ圖表、極坐標圖、餅圖和環面圖等圖表展現出來。從v5.0開始,也包括WPF圖表。LightningChart Ultimate for WPF使用帶有本公司自主開發的圖形程序的低級DirectX。其他WPF圖表建立了慢系統/窗口/媒體圖形程序,主要區別在於渲染性能。
  • 淺談社交網絡數據分析的意義 | 網際網路數據資訊網-199IT | 中文...
    每一條發布的信息,如同石塊入水所散開的漣漪,如果不繼續投入石塊,則漣漪會逐漸淡化直至消失,這便是社交網絡的自潔功能,由於有以上三個特性的存在,僅僅依靠「自潔「是遠遠不夠的。如果在漣漪擴散過程中的某個點再繼續投入一塊石頭,則原有漣漪會擴大或者縮小,只要找準了點位,這些漣漪就可能形成波浪。
  • 極光大數據:2018年電商行業研究報告 | 網際網路數據資訊網-199IT |...
    極光大數據(NASDAQ:JG)發布《2018年電商行業研究報告》,結合電商大數據以及電商用戶調研數據,從行業運營情況、用戶評價、用戶粘性、用戶價值、雙十一情況、用戶畫像等多個方面綜合分析電商行業的情況。
  • 大公司都是怎麼做數據可視化規範的
    上周,表哥分享了一篇關於,洋洋灑灑四千多字把可視化規範背後的原則研究了個遍。但在實際工作中,可視化常常是在多人協作中完成的,我們該如何制定一份可視化標準來確保跨人員、跨平臺設計呢?我們常聽到視覺識別系統(VIS),可視化有沒有專門的設計系統呢?
  • 19款實用「數據可視化工具」
    大數據時代,數據分析已經成為一種常態。調查數據顯示,53%的企業員工都需要經常查看分析數據。由於數據數量多且雜,人們在做數據分析時需要藉助可視化工具將數據更直觀地展示出來以幫助理解。為此,站長之家本周為大家整理了一些好用的可視化工具,幫助大家提高效率。
  • 知圖課堂 | 還在頭疼年度報告嘛,5本書輕鬆入門數據可視化
    2   隨著移動網際網路和物聯網技術的發展,數據量將繼續呈指數級增長。IDC預測到2025年將有163個zettabytes(163萬億千兆字節)的數據。   所有這些數據對於人類大腦來說很難一一理解。實際上,人類大腦難以理解大於5的數字,有研究表明5±2的數量是人類不需要進行某種類比或抽象就可以直接感受的。數據可視化設計人員可以在創建這些抽象中發揮重要作用。   畢竟,如果無法以有用的方式理解和消化大數據,那麼它就毫無用處。這就是為什麼數據可視化在從經濟學到科學技術,醫療保健和人類服務等各個方面都發揮著重要作用的原因。
  • 大數據:為什麼企業管理者需要更好的進行「數據分析可視化」?
    比如,當你在查看數據視圖時,可以立即知道哪個節點出現了異常;如果使用文字編寫數據分析而不是可視化的圖表時,則需要從頭將數據整理歸納並運用一定的計算才能得出對「異常點」的推論。這大概也就是我們會願意去利用數據可視化的主要原因,隨著大數據發展的不斷深化,數據逐步佔據市場的核心地位,每個人都在以不同的方式收集數據,並想從中獲取到更多具有價值的信息來輔助個人乃至企業的管理。
  • 讓數據更美,B端圖表視覺設計思考
    編輯導讀:在B端可視化中,往往會涉及到圖表設計,它能夠更直觀地展現數據,洞悉數據背後的真相。但是,很多人在工作中對圖表的設計並不了解。本文作者基於自身工作經驗,梳理了一些圖表設計的知識點,希望對你有幫助。隨著大數據的興起,數據價值的不斷挖掘,圖表作為數據呈現與分析的有效手段,正扮演著越來越重要的角色。
  • 技術帖 | 送你圖表可視化製作的30個小技巧
    今天,我們帶來了30個tips,大家快收藏,作圖前對照參考吧!優秀的數據可視化圖表只是羅列、總結數據嗎?當然不是!數據可視化其真正的價值是設計出可以被讀者輕鬆理解的數據展示,因此在設計過程中,每一個選擇,最終都應落腳於讀者的體驗,而非圖表製作者個人。
  • 可視化腦洞十五個數據可視化的奇妙例子
    、財新數據可視化實驗室創始人黃志敏老師,從本期開始擔任可視化專欄特約欄目主編。那必定意味著數據可視化比得上千言萬語,對不對?無論如何,是時候讓我們收羅一些最具視覺衝擊力的複雜數據集了。以下是我最喜歡的15個例子。
  • 快到年底了,聊聊數據可視化
    年底快到了,又到了「打工人」做匯報的時候,也許你負責市場部,可能你是銷售負責人,或者僅僅匯報個人在幾個項目中的表現,無論怎樣,你都不可能把原始數據展示給大家,你或多或少會採用某種「可視化」的方法,直觀傳達你想表達的重點信息,那麼問題來了,可視化包含什麼,怎麼做可視化,有哪些方法可以做好可視化?
  • 網際網路服務對接—用 FileMaker 開發數據可視化分析(下)
    在上一篇中,小飛介紹了如何在 FileMaker 中添加一個 ECharts 圖表。今天,我會繼續分享如何通過多個 ECharts 圖表來組建一個 Dashboard 數據可視化儀錶盤。在之前的系統中,有很多非常詳細的表格式報表功能。這些報表大多是提供給運營人員做運營數據核對和統計之用,並沒有充分發揮給管理者提供運營分析的作用。而由多種圖表組成的 Dashboard 則可以讓管理者隨時隨地快速了解企業運營狀況。
  • 火爆抖音、B站的數據可視化動態視頻都是如何製作的?
    一、DatavrapDatavrap 專注於製作數據可視化,提供在線數據可視化工具,輕鬆製作數據可視化視頻和圖片,讓普通人通過數據可視化快速了解國家,行業,全球熱點等信息,快速了解數據趨勢。1.登錄網站、新建圖表https://www.datavrap.com/登錄以後點我體驗數據可視化工具,就可以新建圖表了。溫馨提示:新用戶的非會員只能製作一個免費的動態視頻,若要使用導出視頻等功能,你可能需要請站長喝個咖啡了。
  • 基於貓眼票房數據的可視化分析
    除了票房數據,又有哪些特徵因素可以用來形容一部優秀的影片呢?因此,筆者通過抓取近三年的貓眼票房數據,通過可視化分析的方式,直觀地展示國內影片票房的概況。此外,由於後期影片的排片通常會非常低,從而導致影響平均上座率的數值,因此只提取每部影片前50%的上座率數據計算均值。
  • 數聚易視重磅推出,助力企業級數據大屏可視化
    數位化轉型趨勢下,以大屏為主要載體的數據可視化需求日益增加。大屏給人以震撼的視覺衝擊,呈現直觀豐富的信息,有效幫助管理或業務人員決策、判斷、發現問題、診斷問題,已經成為數位化管理中不可或缺的場景之一。很多企業通過大屏對外展示實力,對內暴露問題;政府機構也常以大屏展示工作進展,強化內部管理,提升對外信息透明度。
  • Newzoo&伽馬數據:2020全球移動遊戲競爭力 | 網際網路數據資訊網-199...
    英美德日韓等傳統遊戲發達地區,中國遊戲連續兩年高速增長騰訊、網易、世紀華通、三七互娛、完美世界等進入中國移動遊戲企業全球競爭力榜單(附企業20強榜單)中國海外遊戲產品TOP20榜單發布,集中於射擊和SLG報告對於海外包括美日韓歐洲多國的遊戲情況分析,較為詳盡,對於企業了解海外市場,有很強的借鑑價值。