数据可视化之树形图(原理+Python代码)

目录

一、原理介绍

树形图常用于对分类变量进行可视化分析,树形图的面积代表了所对应类别的数量,常用于比较各类别在数量上的差异。

二、代码实现

数据来源于上市企业数据,通过绘制树形图,来比较不同行业的企业数量分布差异。

import squarify 
from pyforest import *
import warnings
warnings.filterwarnings('ignore')
import numpy as np
import pandas as pd
#读入数据
data=pd.read_csv("F:/data1/class.csv",encoding='gbk')
data.head()
行业名称
0 金融业
1 房地产业
2 制造业
3 水利、环境和公共设施管理业
4 房地产业
#图片显示中文
plt.rcParams['font.sans-serif']=['SimHei']
plt.rcParams['axes.unicode_minus'] =False #减号unicode编码
df = data.groupby('行业名称').size().reset_index(name='counts')
labels = df.apply(lambda x: str(x[0]) + "\n (" + str(x[1]) + ")", axis=1)
sizes = df['counts'].values.tolist()
colors = [plt.cm.Spectral(i/float(len(labels))) for i in range(len(labels))]
# 画图
plt.figure(figsize=(12,8), dpi= 80)
squarify.plot(sizes=sizes, label=labels, color=colors, alpha=.8)

plt.title('上市企业行业分布情况')
plt.axis('off')
plt.show()

数据可视化之树形图(原理+Python代码)

三、结果解释

从图中可以看出,不同行业的上市企业数量差别明显。其中,制造业的上市企业为多数类,有26339家;教育行业的上市企业数量最少,仅有43家。

上一篇:JQuery中实现Ajax


下一篇:[POI2008]BLO-Blockade