返回首页DA系统C#IDE文件同步服务屏保 今天是: 2026-05-05    "立夏"  夏季的第一个节气,表示盛夏时节的正式开始
开启辅助访问

登录  | 注册成为修仙之旅的少年~

游客您好!登录后享受更多精彩

QQ登录

只需一步,快速开始

查看: 729|回复: 0

[原创] 【原创】地图可视化项目实战

[复制链接]
发表于 2025-4-28 19:42:38 | 显示全部楼层 |阅读模式
# 地图可视化项目实战

from pyecharts.charts import Map
from pyecharts.options import VisualMapOpts,TitleOpts
import json

map = Map()

f =open("F:/疫情.txt","r",encoding="UTF-8")
cn_yq_data = f.read()
f.close()

cn_yq_data = json.loads(cn_yq_data)
cn_yq_data_list=list()

for_xh_1 = 0
for i in cn_yq_data["areaTree"][0]["children"]:
    print(for_xh_1,cn_yq_data["areaTree"][0]["children"][for_xh_1])
    if cn_yq_data["areaTree"][0]["children"][for_xh_1]["name"] == "北京" or cn_yq_data["areaTree"][0]["children"][for_xh_1]["name"] == "上海" or cn_yq_data["areaTree"][0]["children"][for_xh_1]["name"] == "天津" or cn_yq_data["areaTree"][0]["children"][for_xh_1]["name"] == "重庆":
        cn_yq_data_list.append((cn_yq_data["areaTree"][0]["children"][for_xh_1]["name"]+"市",cn_yq_data["areaTree"][0]["children"][for_xh_1]["total"]["confirm"]))
    elif cn_yq_data["areaTree"][0]["children"][for_xh_1]["name"] == "广西":
        cn_yq_data_list.append((cn_yq_data["areaTree"][0]["children"][for_xh_1]["name"] + "壮族自治区",cn_yq_data["areaTree"][0]["children"][for_xh_1]["total"]["confirm"]))
    elif cn_yq_data["areaTree"][0]["children"][for_xh_1]["name"] == "西藏" or cn_yq_data["areaTree"][0]["children"][for_xh_1]["name"] == "内蒙古":
        cn_yq_data_list.append((cn_yq_data["areaTree"][0]["children"][for_xh_1]["name"] + "自治区",cn_yq_data["areaTree"][0]["children"][for_xh_1]["total"]["confirm"]))
    elif cn_yq_data["areaTree"][0]["children"][for_xh_1]["name"] == "新疆":
        cn_yq_data_list.append((cn_yq_data["areaTree"][0]["children"][for_xh_1]["name"] + "维吾尔自治区",cn_yq_data["areaTree"][0]["children"][for_xh_1]["total"]["confirm"]))
    elif cn_yq_data["areaTree"][0]["children"][for_xh_1]["name"] == "宁夏":
        cn_yq_data_list.append((cn_yq_data["areaTree"][0]["children"][for_xh_1]["name"] + "回族自治区",cn_yq_data["areaTree"][0]["children"][for_xh_1]["total"]["confirm"]))
    elif cn_yq_data["areaTree"][0]["children"][for_xh_1]["name"] == "香港" or cn_yq_data["areaTree"][0]["children"][for_xh_1]["name"] == "澳门":
        cn_yq_data_list.append((cn_yq_data["areaTree"][0]["children"][for_xh_1]["name"] + "特别行政区",cn_yq_data["areaTree"][0]["children"][for_xh_1]["total"]["confirm"]))
    else:
        cn_yq_data_list.append((cn_yq_data["areaTree"][0]["children"][for_xh_1]["name"]+"省",cn_yq_data["areaTree"][0]["children"][for_xh_1]["total"]["confirm"]))
    for_xh_1=for_xh_1+1

print(cn_yq_data_list)

# 测试用数据
data = [
    ("北京市",123),
    ("上海市",111),
    ("广东省",66),
    ("湖南省",778),
    ("四川省",362)
]

map.add("全国地区新冠地图",cn_yq_data_list,"china")

map.set_global_opts(title_opts=TitleOpts(title="全国地区新冠地图"),
    visualmap_opts=VisualMapOpts(
        is_show=True,                       # 地图可视化视觉效果开启
        is_piecewise=True,                  # 手动校验视觉效果数据
        pieces=[
            {"min":1,"max":999,"label":"1-999","color":"#CCFFFF"},
            {"min":1000,"max":9999,"label":"1000-9999","color":"#FF6666"},
            {"min":10000,"max":99999,"label":"10000-99999","color":"#990033"}
        ]                                   # is_piecewise=True时,才可以设置pieces,手动设置数据分段
    )
)


map.render("全国地区新冠地图.html")

gd_yq_data_list=list()
for_xh_1=0

for i in cn_yq_data["areaTree"][0]["children"][7]["children"]:
    if cn_yq_data["areaTree"][0]["children"][7]["children"][for_xh_1]["name"] == "境外输入" or cn_yq_data["areaTree"][0]["children"][7]["children"][for_xh_1]["name"] == "地区待确认":
        for_xh_1 = for_xh_1 + 1
        continue
    gd_yq_data_list.append((cn_yq_data["areaTree"][0]["children"][7]["children"][for_xh_1]["name"]+"市",cn_yq_data["areaTree"][0]["children"][7]["children"][for_xh_1]["total"]["confirm"]))
    for_xh_1=for_xh_1+1

print(gd_yq_data_list)

gd_map = Map()

gd_map.add("广东地区新冠地图",gd_yq_data_list,"广东")

gd_map.set_global_opts(title_opts=TitleOpts(title="广东地区新冠地图"),
    visualmap_opts=VisualMapOpts(
        is_show=True,                       # 地图可视化视觉效果开启
        is_piecewise=True,                  # 手动校验视觉效果数据
        pieces=[
            {"min":1,"max":999,"label":"1-999","color":"#CCFFFF"},
            {"min":1000,"max":9999,"label":"1000-9999","color":"#FF6666"},
            {"min":10000,"max":99999,"label":"10000-99999","color":"#990033"}
        ]                                   # is_piecewise=True时,才可以设置pieces,手动设置数据分段
    )
)


gd_map.render("广东地区新冠地图.html")

# 生成图片如下:







本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册成为修仙之旅的少年~

x
 楼主| 发表于 2025-4-28 19:43:46 | 显示全部楼层

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册成为修仙之旅的少年~

x
回复 支持 反对

使用道具 举报

*滑块验证:

本版积分规则

DA论坛飞机票来了~

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表