Python使用pyechart分析疫情确诊人数图(2024)

import json
from pyecharts.charts import Map
from pyecharts import options as opts

# 首先打开文件获取数据
f = open("/Desktop/python/Project/数据可视化/疫情.txt", "r", encoding="UTF-8")
data = f.read()

# 字符串转化成json数据
data_json = json.loads(data)

# 对数据进行处理,疫情确诊人数,首先需要获取地区,其次获取每个地区的确诊人数。
# data = data_json['areaTree']获取字典中'areaTree'的关键值,返回的是一个长度为一的列表。
# data  = data_json['areaTree'][0]获取列表中的第一个元素,返回的是一个字典。
data = data_json['areaTree'][0]

# 获取字典中的地区名称数据,返回的是一个列表,用一个空列表接收。(if name == "香港" or "澳门":这是错误的语法格式)
data = data["children"]
name_list = []
for x in data:
    name = x["name"]
    if name == "香港" or name == "澳门":
        name = name + "特别行政区"
    elif name == "新疆":
        name = name + "维吾尔自治区"
    elif name == "西藏" or name == "内蒙古":
        name = name + "自治区"
    elif name == "宁夏":
        name = name + "回族自治区"
    elif name == "广西":
        name = name + "壮族自治区"
    elif name == "北京" or name == "天津" or name == "上海" or name == "重庆":
        name = name + "市"
    else:
        name = name + "省"
    name_list.append(name)


# 获取确诊人数并储存到列表中
conf_list = []
for t in data:
    conf_data = t["total"]["confirm"]
    conf_list.append(conf_data)


# 准备地图对象
map = Map()

# 准备数据,将名称和确诊人数构成一个元组列表。
# 查找连个列表的长度是否相等。
print(len(name_list))
print(len(conf_list))

# 将元组添加到空列表中
data_list = []
i = 0
while i < 34:
    temp = (name_list[i], conf_list[i])
    data_list.append(temp)
    i += 1

# 添加数据
map.add("中国疫情确诊人数图", data_list, "china")

# 设置全局变量
map.set_global_opts(
    # 标题
    title_opts= opts.TitleOpts(title="全国疫情确诊图"),
    # 是否显示分段
    visualmap_opts=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": "500-999人", "color": "#FF9966"},
            {"min": 5000,"max":9999,"label": "1000-1499人", "color": "#CC3333"},
            {"min": 10000,"label":"10000人以上", "color": "#990033"}
        ]
        )
    )


# 生成地图
map.render("map.html")
f.close()

效果图:

最近更新

  1. TCP协议是安全的吗?

    2024-01-20 14:00:01       16 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-01-20 14:00:01       16 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-01-20 14:00:01       15 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-01-20 14:00:01       18 阅读

热门阅读

  1. Webpack打包vue项目

    2024-01-20 14:00:01       36 阅读
  2. 173. 二叉搜索树迭代器

    2024-01-20 14:00:01       33 阅读
  3. x86 和 x64 arm的区别

    2024-01-20 14:00:01       34 阅读
  4. JUnit 5 单元测试框架

    2024-01-20 14:00:01       35 阅读
  5. C Primer Plus(第六版)12.9 编程练习 第2题

    2024-01-20 14:00:01       27 阅读
  6. C语言变量和全局变量能否重名?

    2024-01-20 14:00:01       34 阅读
  7. 代码随想录第22天| 二叉树

    2024-01-20 14:00:01       36 阅读
  8. 算法训练营Day36(贪心5)

    2024-01-20 14:00:01       38 阅读
  9. git format用法学习

    2024-01-20 14:00:01       33 阅读
  10. thinkphp6 模糊查找json下的字段值

    2024-01-20 14:00:01       29 阅读
  11. 【回溯】79. 单词搜索

    2024-01-20 14:00:01       34 阅读