# 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")
效果图: