# 1.导包
import json
from pyecharts.charts import Map #导入关于编写地图的包
from pyechart.options import * #全局设置# 2.得到地图对象
map = Map()# 3.打开事先准备好的JSON数据文件
f = open("D:/Typora 记事本/notebook/Python/Exercise_data/疫情.txt","r",encoding="UTF-8")
data = f.read()
f.close()# 4.将JSON数据转化为Python数据类型(字典)
data_dict = json.loads(data)
# 5.从字典中提取列表数据(数据在上图关键字中)
province_data_list = data_dict["areaTree"][0]["children"]
# 6.利用循环语句,将列表中的【地区】和【确诊数据】提取出来。
data_list = [] #定义一个空列表,存储提取出来的数据。
for i in province_data_list:province_name = i['name']province_confirm = i['total']['confirm']data_list.append((province_name,province_confirm))# 7.添加地图对象
map.add("各省份确诊人数",data_list,"china")# 8.设置全局选项
map.set_global_opts(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": 4999, "label": "1000-4999人", "color": "#FF9966"},{"min": 5000, "max": 9999, "label": "5000-9999人", "color": "#CC3333"},{"min": 10000, "label": "10000人以上", "color": "#990033"}])
)# 9.绘图
map.render("确诊人数.html")
效果图: