Python学习——地图可视化
目录
代码示例
数据要求为列表,列表内是元组,将数据添加到元组中。
步骤:
- 打开文件,读取文件内容
- 将文件内容从Json数据转换为Python中的字典类型
- 从字典中取到省份的数据
- 将各个省份的数据取出省份名称和确诊人数
- 由于数据未更行,需要补全数据名称
- 拼接成列表
- 准备地图对象
- 添加数据
- 设置全局选项
- 绘图 指定文件名称
对地图颜色进行设置时要查询颜色代码,颜色代码查询网址:http://www.ab173.com/gongju/ui/rgb.php
代码示例如下:
"""
演示地图可视化的基本应用
"""
import json
from pyecharts.charts import Map
from pyecharts.options import *
f = open("E:/疫情.txt", "r", encoding="UTF-8")
data = f.read()
f.close()
# 读取各省数据
# 将json数据转换成字典
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"]
# 由于数据未更行,需要补全数据名称
if province_name[-1] != "区":
if province_name[-1] != "市":
province_name_t = province_name+"省"
else:
province_name_t = province_name
else:
province_name_t = province_name
print(province_name_t)
province_confirm = province_data["total"]["confirm"]
data_list.append((province_name_t, province_confirm))
# 准备地图对象
map = Map()
# 添加数据
map.add("测试地图", data_list, "china")
# 设置全局选项
map.set_global_opts(
title_opts=TitleOpts(title="全国疫情地图"),
toolbox_opts=ToolboxOpts(is_show=True),
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": "#FF6666"},
{"min": 10000, "label": "10000+", "color": "#CC3333"},
]
)
)
# 绘图 指定文件名称
map.render("全国疫情地图.html")