本次进阶版与上一版《pyecharts应用代码实例3-1:中国各省新法规发布数量地图》相比,增加以下功能:
- 从excel文件中读取数据
- 在子标题中显示汇总数据
excel文件的格式如图:
代码如下:
from pyecharts import options as opts
from pyecharts.charts import Map
import openpyxl
workbook_geodata=openpyxl.load_workbook(filename='geo_data.xlsx')
sheet_geodata=workbook_geodata.active
rownum=0
rowmax=sheet_geodata.max_row
geodata_list=[]
docsum=0#各省发布文件数量总计
for rownum in range(1,rowmax+1,1):
geodata_i=()#建立空元组
geodata_i=(sheet_geodata.cell(row=rownum,column=1).value,sheet_geodata.cell(row=rownum,column=2).value)
docsum=docsum+sheet_geodata.cell(row=rownum,column=2).value
geodata_list.append(geodata_i)
docnum_source_date=f'2022年03月1日-28日期间共有{docsum}个法规文件发布'
docnumber_china_map = (Map(init_opts=opts.InitOpts(
width='1024px',
height='768px',
page_title = "新法规地图"))
.add(series_name='新法规文件发布数量',
data_pair=geodata_list,
maptype="china",
is_roam=True,
is_map_symbol_show=False)
.set_global_opts(
title_opts=opts.TitleOpts(title='中国各省新法规发布数量(演示)',subtitle=docnum_source_date,pos_right='center'),
visualmap_opts=opts.VisualMapOpts(max_=100, is_piecewise=True),
legend_opts=opts.LegendOpts(is_show=False))
.set_series_opts(label_opts=opts.LabelOpts(is_show=False))
)
workbook_geodata.close()
docnumber_china_map.render('中国新法规地图.html')
运行后的结果(我做了个动图):