Files
python/练习与案例/10_全国疫情地图.py
2025-08-05 09:19:34 +08:00

42 lines
1.4 KiB
Python

import json
# 打开文件
from pyecharts.charts import Map
from pyecharts.options import *
f = open("D:/program/疫情.txt", 'r', encoding="UTF-8")
data = f.read()
f.close()
# json转python
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"]
province_confirm = province_data["total"]["confirm"]
data_list.append((province_name, province_confirm))
# print(data_list)
# 生成地图
map = Map()
# 向地图中添加数据
map.add("省份确诊人数", data_list, 'china')
# 设置全局变量
map.set_global_opts(
title_opts=TitleOpts(title="全国疫情地图"),
visualmap_opts=VisualMapOpts(
is_show=True, # 是否显示
is_piecewise=True, # 是否分段
pieces=[
{"min": 1, "max": 99, "lable": "1-99", "color": "#CCFFFF"},
{"min": 100, "max": 999, "lable": "100-999", "color": "#FF6A6A"},
{"min": 1000, "max": 4999, "lable": "1000-4999", "color": "#EE6363"},
{"min": 5000, "max": 49999, "lable": "5000-49999", "color": "#CD5555"},
{"min": 50000, "lable": "50000+", "color": "#8B3A3A"}
]
)
)
# 生成图表
map.render("全国疫情地图.html")