matplotlib——树地图

xiaoxiao2021-02-28  39

对于离散变量,树地图可以利用矩形的面积来表示其数值大小,即面积越大,其值越大。下面来具体说说树地图的画法。

————————————————————————

函数语法及参数

————————————————————————

squarify.plot(sizes, norm_x=100, norm_y=100, color=None, label=None, value=None, alpha, **kwargs ) sizes:指定离散变量各水平对应的数值,即反映树地图子块的面积大小;norm_x:默认将x轴的范围限定在0-100之内;norm_y:默认将y轴的范围限定在0-100之内;color:自定义设置树地图子块的填充色;label:为每个子块指定标签;value:为每个子块添加数值大小的标签;alpha:设置填充色的透明度;**kwargs:关键字参数,与条形图的关键字参数类似,如设置边框色、边框粗细等。

————————————————————————

树地图的绘制

以下数据来自于网络。

import matplotlib.pyplot as plt import squarify #中文及负号处理办法 plt.rcParams['font.sans-serif'] = 'Microsoft YaHei' plt.rcParams['axes.unicode_minus'] = False # 数据创建 name = ['上海GDP','北京GDP','广州GDP','深圳GDP', '天津GDP','重庆GDP','苏州GDP','武汉GDP', '成都GDP','杭州GDP','南京GDP','青岛GDP', '长沙GDP', '无锡GDP','佛山GDP','宁波GDP', '大连GDP','郑州GDP','沈阳GDP','烟台GDP'] income =[26688,24541,20004,19300,17800,17010,15400,11756,11721,11700, 10450,10100,9309,9157,8600,8560,8150,7920,7644,7003] # 绘图details colors = ['steelblue','#9999ff','red','indianred','deepskyblue','lime','magenta','violet','peru', 'green','yellow','orange','tomato','lawngreen','cyan','darkcyan','dodgerblue','teal','tan','royalblue'] plot = squarify.plot(sizes = income, # 指定绘图数据 label = name, # 指定标签 color = colors, # 指定自定义颜色 alpha = 0.6, # 指定透明度 value = income, # 添加数值标签 edgecolor = 'white', # 设置边界框为白色 linewidth =3 # 设置边框宽度为3 ) # 设置标签大小为10 plt.rc('font', size=10) # 设置标题大小 plot.set_title('2017年城市GDP排名前20(亿元)',fontdict = {'fontsize':15}) # 除坐标轴 plt.axis('off') # 除上边框和右边框刻度 plt.tick_params(top = 'off', right = 'off') # 图形展示 plt.show()

结果如图:

转载请注明原文地址: https://www.6miu.com/read-1400058.html

最新回复(0)