今天和大家一起學習一種可視化技術:構建樹狀熱力圖treemap,樹形圖易于可視化,且易于被人理解,樹狀圖通過展示不同大小的矩形,以傳達不同大小的資料量,一般認為,較大的矩形意味著占總體的一大部分,而較小的矩形意味著整體的一小部分,在本文中將和大家一起學習如何使用Squarify庫在 Python 中構建樹形圖,

介紹
樹狀圖使用嵌套在一起的不同大小的矩形來可視化分層資料,每個矩形的大小與其代表的整體資料量成正比,這些嵌套的矩形代表樹的分支,因此得名,除了尺寸外,每個矩形都有代表獨特類別的獨特顏色,樹狀圖廣泛用于從金融機構到銷售組織的行業,樹形圖最早是在1990 年代早期由美國馬里蘭大學人機互動實驗室的 Ben Shneiderman 教授發明的,這種可視化背后的想法是在固定空間中按大小比較數量,現在,我們將看看如何實際構建詞云,

佛羅里達州的樹狀圖 來源:https://commons.wikimedia.org
使用 Squarify 構建樹狀圖
Python 中的,可以使用 Squarify 直接構建樹狀圖,且只需要一行代碼squarify.plot(data)即可輕松構建,

1. 安裝必要的庫
!pip install squarify
2. 匯入必要的庫
import matplotlib.pyplot as plt import squarify
3. 創建隨機資料
隨機生成一個值串列,這些值將作為資料傳遞到我們的繪圖中,
data = https://www.cnblogs.com/123456feng/archive/2022/04/16/[500, 250, 60, 120]
4. 繪制樹狀圖
使用squarify.plot() 方法構建樹狀圖,這里將隨機資料變數data作為此 squarify.plot 方法的引數,此外,附加一行修飾代碼
Python學習交流Q群:906715085### plt.axis('off') 隱藏 樹狀圖 的軸, squarify.plot(data) plt.axis('off') plt.show()
5. 把它們放在一起
Python學習交流Q群:906715085#### import matplotlib.pyplot as plt import squarify data = [500, 250, 60, 120] squarify.plot(data) plt.axis('off') plt.show()
在執行此代碼時,我們得到:

每次執行此代碼時,它都生成一組隨機顏色的嵌套矩形,
使用附加引數
借助 .plot() 方法的引數,可以在樹狀圖中添加更多的修飾,可以通過明確指定屬性來控制樹形圖的顏色、標簽和填充,
1. 指定樹狀圖的顏色
import matplotlib.pyplot as plt import squarify sizes = [500, 250, 120, 60] color = ['red', 'green', 'blue', 'orange'] squarify.plot(sizes,color=color) plt.axis('off') plt.show()
在執行此代碼時,我們得到:
2.給樹狀圖添加標簽
不同的標簽值可以通過將串列傳遞到 squarify.plot() 的標簽屬性來顯式添加標簽,這將覆寫現有標簽或將標簽添加到我們的樹狀圖
中(如果不存在),標簽將按照.plot()所傳遞的串列中的相同順序被添加到樹狀圖中,
Python學習交流Q群:906715085### import matplotlib.pyplot as plt import squarify labels = ['A', 'AB', 'ABC', 'ABCD'] sizes = [500, 250, 120, 60] color = ['red', 'green', 'blue', 'orange'] squarify.plot(sizes,color=color, label = labels) plt.axis('off') plt.show()
在執行此代碼時,我們得到:

3. 樹狀圖中的pad
可以在樹狀圖中添加pad,將樹狀圖中的每個具體彼此分離,這將有助于更好地區分矩形,當有大量類別或矩形時,這很有用,可
以通過將pad引數設定為True來呼叫,
import matplotlib.pyplot as plt import squarify labels = ['AB', 'A', 'ABC', 'ABCD'] sizes = [500, 250, 120, 60] color = ['red', 'green', 'blue', 'orange'] squarify.plot(sizes,color=color, label = labels, pad = True) plt.axis('off') plt.show()
在執行代碼時,我們得到:
寫在最后
由此看來,構建樹形圖可謂是小菜一碟,除了squarify 庫,樹狀圖還可以使用 Python 中的其他幾個庫來構建,如比較流行的
plotly庫,在今天的次條推文中介紹了其應用案例,感興趣的小伙伴可以看看,
import plotly_express as px import plotly.graph_objects as go px.treemap(names = name, parents = parent) go.Figure(go.Treemap(labels = name, parents = parent,))
當然,還有許多 BI 工具可用于更加方便簡單地構建樹狀圖,
有時,樹狀圖中可能會出現歧義,如果有多個具有相同數量(或矩形大小)和相同顏色深淺的類別,則導致用戶最終很難區分它
們,所以在構建樹狀圖時,必須始終考慮所涉及的類別數量和顏色映射,

轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/458365.html
標籤:其他
下一篇:Django-Virtualenv虛擬環境安裝、新建,激活和手動指定Python解釋器、虛擬環境安裝Django、創建Django專案、運行Django專案
