Python学习笔记(TreeMap图)

2022-03-11 13:21:26 浏览数 (1)

Python最大的好处就是开源的package,你总能找到各种方案,不过换句话说,每种方案都也都有其优劣势,不是可视化呈现不美观,就是可视化对数据组织的要求不同,再不然就是缺胳膊少腿的,感觉像拼凑一样,其实已经找到了N种方案,准备改写其中的一个,奈何时间原因,只好找一个最简单的凑数了。

很难说什么原创,毕竟package是公开的,数据是找的,还是那句话,理解了,能使用,就行。

代码示例

代码语言:javascript复制
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()

0 人点赞