Python基础综合案例:全国疫情地图构建

Python学习——地图可视化

目录

Python学习——地图可视化

代码示例

运行结果


代码示例

数据要求为列表,列表内是元组,将数据添加到元组中。

步骤:

  1. 打开文件,读取文件内容
  2. 将文件内容从Json数据转换为Python中的字典类型
  3. 从字典中取到省份的数据
  4. 将各个省份的数据取出省份名称和确诊人数
  5. 由于数据未更行,需要补全数据名称
  6. 拼接成列表
  7. 准备地图对象
  8. 添加数据
  9. 设置全局选项
  10. 绘图  指定文件名称

对地图颜色进行设置时要查询颜色代码,颜色代码查询网址: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")

运行结果

  • 3
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值