42 lines
1.4 KiB
Python
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") |