#!/usr/bin/env python
# -*- coding: utf-8 -*-
# File : lendtree.py
# Author: Wuyongjian
# Date : 2018/12/3
import pandas as pd
import numpy as np
from pyecharts import Tree,TreeMap
df5=pd.read_excel('xlsx\\借阅情况.xlsx',5,header=None)
df5.columns=['a','b','c']
pd.set_option('display.max_columns',None)#去掉省略号
pd.set_option('max_colwidth', 15)#设置最大列宽
df5['a']=df5['a'].map(str.strip)
df5['b']=df5['b'].map(str.strip)
#pd.pivot_table(df5,values=['c'],index=['a'],aggfunc='sum')
#pd.pivot_table(df5,index=['a'],aggfunc='sum')
#df5.set_index('a')['c'].to_dict(orient='records')
xylist=df5[['a','c']].groupby('a').sum().reset_index().rename(columns={'a':'name','c':'value'}).sort_values(by='value',ascending=False).to_dict(orient='records')
# treedict={'name':'2018借阅分类','value':df5.sum()['c'],'children':xylist}
for n in xylist:
n['children']=df5[df5['a']==n.get('name')][['b','c']].rename(columns={'b':'name','c':'value'}).sort_values(by='value',ascending=False).head(10).to_dict(orient='records')
# data=[treedict]
treemap = TreeMap("系部班级借阅分类排名",width=800,height=400,title_pos='center')
treemap.add("", xylist,is_toolbox_show=False,is_label_show=True,label_pos='inside')
# tree.add("", data,tree_layout="radial",is_toolbox_show=False,is_label_show=True)
# tree.add("", data,tree_orient="TB",tree_label_rotate=-90,tree_leaves_rotate=-90,is_toolbox_show=False,is_label_show=True)
treemap.render('treemap5.html')