天天看點

Python學習筆記(TreeMap圖)

Python最大的好處就是開源的package,你總能找到各種方案,不過換句話說,每種方案都也都有其優劣勢,不是可視化呈現不美觀,就是可視化對資料組織的要求不同,再不然就是缺胳膊少腿的,感覺像拼湊一樣,其實已經找到了N種方案,準備改寫其中的一個,奈何時間原因,隻好找一個最簡單的湊數了。

很難說什麼原創,畢竟package是公開的,資料是找的,還是那句話,了解了,能使用,就行。

代碼示例

import matplotlib.pyplot as plt
import squarify

#中文處理
plt.rcParams['font.sans-serif'] = 'SimHei'
plt.rcParams['axes.unicode_minus'] = False

# 全球GDP資料,主要包括标簽、名額和顔色
name = ['美國','中國','日本','德國','法國','英國','印度',
        '巴西','意大利','加拿大','南韓','俄羅斯','澳洲','西班牙',
        '墨西哥','印度尼西亞','土耳其','荷蘭','瑞士','沙特阿拉伯','其他']
income =[201999.6,131186.9,50631.3 ,39348.1 ,27656   ,26612.3 ,26541.7 ,
         21997.2 ,20489.9 ,17634.9 ,15973.9 ,15229   ,14822.8 ,14199.3 ,
         12499.7 ,10921.4 ,9057.16 ,8910.37 ,7087.96 ,7084.87 ,154169.32]
colors = [plt.cm.Spectral(i/float(len(name))) for i in range(len(name))]
# 繪圖details
plot = squarify.plot(sizes = income, # 指定繪圖資料
                     label = name, # 指定标簽
                     color = colors, # 指定自定義顔色
                     alpha = 0.6, # 指定透明度
                     value = income, # 添加數值标簽
                     edgecolor = 'white', # 設定邊界框為白色
                     linewidth =2 # 設定邊框寬度為3
                    )
# 設定标簽大小為9
plt.rc('font', size=9)
# 設定标題大小
plot.set_title('2018全球GDP(億元)',fontdict = {'fontsize':15})
# 除坐标軸
plt.axis('off')
# 除上邊框和右邊框刻度
plt.tick_params(top = 'off', right = 'off')
# 圖形展示
plt.show()           

複制

Python學習筆記(TreeMap圖)