from pyecharts.charts import Map
from pyecharts.options import VisualMapOpts,TitleOpts,ToolboxOpts
import json
map=Map()
f=open("D:\疫情.txt","r",encoding="UTF-8")
data=f.read()
f.close()
data_dict=json.loads(data)
#取省份
province_data_list=data_dict["areaTree"][0]["children"]
data_list=[]
for province_data in province_data_list:
province_name=province_data["name"]
if province_name=="北京" or province_name=="上海" or province_name=="重庆" or province_name=="天津":
province_name=province_name+"市"
elif province_name=="西藏" or province_name=="内蒙古":
province_name=province_name+"自治区"
elif province_name=="宁夏":
province_name=province_name+"回族自治区"
elif province_name=="新疆":
province_name=province_name+"维吾尔自治区"
elif province_name=="广西":
province_name=province_name+"壮族自治区"
elif province_name=="香港" or province_name=="澳门":
province_name=province_name+"特别行政区"
else:
province_name=province_name+"省"
province_confirm=province_data["total"]["confirm"]
data_list.append((province_name,province_confirm))
map.add("各省份确诊人数", data_list, "china")
map.set_global_opts(
title_opts=TitleOpts(title="全国疫情地图"),
toolbox_opts=ToolboxOpts(is_show=True),
visualmap_opts=VisualMapOpts(
is_show=True,
is_piecewise=True,
pieces=[
{"min":1,"max":99,"label":"1-99人","color":"#CCFFFF"},
{"min":100,"max":999,"label":"100-999人","color":"#FFFF99"},
{"min":1000,"max":9999,"label":"1000-9999人","color":"#FF9966"},
{"min":10000,"max":99999,"label":"10000-99999人","color":"#FF6666"},
{"min":100000,"label":"100000+人","color":"#CC3333"},
]
)
)
map.render()