主页 M

python读excel实现数据可视化(pyecharts与matplot)

2020-03-31 网页编程网 网页编程网
# -*- coding: utf-8 -*-
"""
姓名	区域	销售	区域
张三	湖南	100	华中
李四	湖北	50	华中
小明	河北	80	华北
小张	上海	58	华东
小宋	吉林	70	东北
小国	四川	90	西北
"""
from pyecharts.charts import Bar
import xlrd

data=xlrd.open_workbook('11.xlsx')
table=data.sheets()[0]
#销售员
names=[]
#销售
sales=[]

for i in range(1,table.nrows):
    #print(table.row_values(i))
    name=table.row_values(i)[0]
    names.append(name)
    sale=table.row_values(i)[2]
    sales.append(sale)
    
bar=Bar()
#x轴销售员名,y轴销售
bar.add_xaxis(names)
bar.add_yaxis('业务详情',sales)
#bar.render('业绩表.html')
#---section 2
import matplotlib.pyplot as plt
plt.rcParams['font.sans-serif']=['SimHei']
#显示不同的部门百分比
zhong=0
bei=0
dong=0
dongbei=0
for i in range(1,table.nrows):
    bumen=table.row_values(i)[3]
    if bumen=='华中':
        zhong+=table.row_values(i)[2]
    elif bumen=='华北':
        bei+=table.row_values(i)[2]
    elif bumen=='华东':
        dong+=table.row_values(i)[2]        
    elif bumen=='东北':
        dongbei+=table.row_values(i)[2]

sales_bm=[]
sales_bm.append(zhong)
sales_bm.append(bei)
sales_bm.append(dong)
sales_bm.append(dongbei)
frace=[]#算份额
for i in sales_bm:
    i=i/sum(sales_bm)
    frace.append(i)

labels=['华中','华北','华东','东北']
explode=[0.1,0,0,0]
plt.pie(x=frace,labels=labels,autopct='%.2f%%',explode=explode,shadow=True)
plt.legend()
plt.show()
阅读原文
阅读 8265
123 显示电脑版