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")