python 数据可视化- 地图

2023-11-14

import json
from pyecharts.charts import Map
from pyecharts.options import *

# 读取数据文件
f = open("D:/桌面/python/资料/可视化案例数据/地图数据/疫情.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"]  # 省份名称
    print(province_name)
    province_name = ("%s省" % province_name)
    if province_name == "北京省":
        province_name = province_name.replace("省", "市")
    if province_name == "重庆省":
        province_name = province_name.replace("省", "市")
    if province_name == "天津省":
        province_name = province_name.replace("省", "市")
    if province_name == "内蒙古省":
        province_name = province_name.replace("省", "自治区")
    if province_name == "新疆省":
        province_name = province_name.replace("省", "维吾尔自治区")
    if province_name == "西藏省":
        province_name = province_name.replace("省", "自治区")
    if province_name == "广西省":
        province_name = province_name.replace("省", "壮族自治区")
    if province_name == "宁夏省":
        province_name = province_name.replace("省", "回族自治区")

    province_confirm = province_data["total"]["confirm"]  # 确诊人数
    data_list.append([province_name, province_confirm])

# 创建地图对象
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, "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, "max": 99999, "label": "10000-99999人", "color": "#CC3333"},
            {"min": 100000, "label": "100000- 人", "color": "#990033"}
        ]
    )
)
# 绘图
map.render("全国疫情地图.html")

图片示例:
地图示例

省级地图示例:

import json
from pyecharts.charts import Map
from pyecharts.options import *
# 读取文件
f = open("D:/桌面/python/资料/可视化案例数据/地图数据/疫情.txt", "r", encoding="UTF-8")
data = f.read()
# 关闭文件
f.close()
# 获取安徽省数据
# json 数据转化为python字典
data_dict = json.loads(data)
# 获取安徽省数据
data_list = []
cities_data = data_dict["areaTree"][0]["children"][31]["children"]
for city_data in cities_data:
    city_name = city_data["name"]
    city_name = ("%s市" % city_name)
    city_confirm = city_data["total"]["confirm"]
    # 准备数据为元组并放入list
    data_list.append((city_name, city_confirm))
print(data_list)

# 手动添加济源市数据
# data_list.append(("济源市", 5))



# 构建地图
map = Map()
map.add("安徽省疫情分布", data_list, "安徽")
# 设置全局选项
map.set_global_opts(
    title_opts=TitleOpts(title="省级疫情地图"),
    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, "max": 99999, "label": "10000-99999人", "color": "#CC3333"},
            {"min": 100000, "label": "100000- 人", "color": "#990033"}
        ]
    )
)

# 绘图
map.render("安徽省疫情地图.html")

地图示例2

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

python 数据可视化- 地图 的相关文章

  • 散景图只会弹出一个空白窗口

    所以我最近一直在尝试学习散景 一切都很顺利 但突然间 每当我尝试制作散景图时 浏览器就会显示一个空白页面 我没有收到任何错误代码 只有空白页 这是我几天前成功用来创建绘图的程序 我什至尝试加载几周前制作的 html 绘图文件 该文件在同事计
  • virtualenvwrapper 函数在 shell 脚本中不可用

    所以 我再一次制作了一个很棒的 python 程序 它让我的生活变得更加轻松 并节省了大量时间 当然 这涉及到一个 virtualenv 用mkvirtualenvvirtualenvwrapper 的功能 该项目有一个requiremen
  • Discord.py 斜线命令在 cogs 中不起作用

    我正在构建一个不和谐的机器人 并且想要在 cogs 内使用斜杠命令 但这些命令不显示或工作 这是代码 cog guild ids 858573429787066368 861507832934563851 class Slash comma
  • 获取字符串模板中所有标识符列表的函数(Python)

    对于标准库string template在Python中 有没有一个函数可以获取所有标识符的列表 例如 使用以下 xml 文件
  • 对法语文本进行词形还原[关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 我有一些法语文本需要以某种方式进行处理 为此 我需要 首先 将文本标记为单词 然后对这些单词进行词形还原以避免多次处理相同的词根 据我
  • 将列表值转换为 pandas 中的行

    我有数据帧 其中一列具有相同长度的 numpy ndarray 值 df list 0 Out 92 array 0 0 0 0 29273096 0 30691767 0 27531403 我想将这些列表值转换为数据框并从 df iloc
  • 右键单击 QPushButton 上的 contextMenu

    对于我的应用程序 我在 Qt Designer 中创建了一个 GUI 并将其转换为 python 2 6 代码 关于一些QPushButton 与设计器创建 我想添加右键单击上下文菜单 菜单选项取决于应用程序状态 如何实现这样的上下文菜单
  • 使用 python 从 CSV 创建字典

    我有一个 CSV 格式的文件 其中 A B 和 C 是标题 我如何以Python方式将此CSV转换为以下形式的字典 A 1 B 4 C 7 A 2 B 5 C 8 A 3 B 6 C 9 到目前为止我正在尝试以下代码 import csv
  • 类变量:“类列表”与“类布尔值”[重复]

    这个问题在这里已经有答案了 我不明白以下示例的区别 一次类的实例可以更改另一个实例的类变量 而另一次则不能 示例1 class MyClass object mylist def add self self mylist append 1
  • 机器学习的周期性数据(例如度角 -> 179 与 -179 相差 2)

    我使用 Python 进行核密度估计 并使用高斯混合模型对多维数据样本的可能性进行排名 每一条数据都是一个角度 我不确定如何处理机器学习的角度数据的周期性 首先 我通过添加 360 来删除所有负角 因此所有负角都变成了正角 179 变成了
  • 在python中使用编解码器utf-8打开文件错误

    我在 windows xp 和 python 2 6 4 上执行以下代码 但它显示 IOError 如何打开名称带有 utf 8 编解码器的文件 gt gt gt open unicode txt euc kr encode utf 8 T
  • Python GTK3 Treeview 向上或向下移动选择

    如何在树视图中向上或向下移动所选内容 我的想法是 我可以使用向上和向下按钮将选择向上移动一行或向下移动一行 我的 Treeview 使用 ListStore 不确定这是否重要 首先 我将使用我熟悉的 C 代码 如果您在将其翻译为 Pytho
  • 将 str.contains 映射到 pandas DataFrame

    python 初学者 我正在寻找创建字符串的字典映射以及关联的值 我有一个数据框 想要创建一个新列 如果字符串匹配 则会将该列标记为 x df pd DataFrame comp dell notebook dell notebook S3
  • 解析整数集的字符串并列出间隔

    I have 2 5 7 9 12 string 我想从中获取 2 5 7 8 9 12 列表 python中有没有内置的函数 Thanks UPD 我想 直接的答案是No 不管怎样 谢谢你的 片段 使用一个 建议者斯文 马尔纳克 s 2
  • 如何将 django ModelForm 字段显示为不可编辑

    接受我的初步教训django ModelForm 我想让用户能够编辑博客中的条目 BlogEntry has a date postedTime title and content 我想向用户展示一个编辑表单 其中显示所有这些字段 但仅包含
  • 在 4K 屏幕上使用 Matplotlib 和 TKAgg 或 Qt5Agg 后端

    我在 Ubuntu 16 04 上使用 Matplotlib 2 0 和 Python 3 6 来创建数据图 电脑显示器的分辨率为 4k 分辨率为 3840x2160 绘图数字看起来非常小 字体也很小 我已经尝试过TKAgg and Qt5
  • 如何在类型提示中定义元组或列表的大小

    有没有办法在参数的类型提示中定义元组或列表的大小 目前我正在使用这样的东西 from typing import List Optional Tuple def function name self list1 List Class1 if
  • 如何使用 python 模块的多个 git 分支?

    我想使用 git 来同时处理我正在编写的模块中的多个功能 我目前正在使用 SVN 只有一个工作区 因此我的 PYTHONPATH 上只有该工作区 我意识到这不太理想 所以我想知道是否有人可以建议一种更 正确 的方法来做到这一点 让我用一个假
  • 如何使用 keras.backend.gradients() 获取梯度值

    我试图获得 Keras 模型的输出相对于模型输入 x 而不是权重 的导数 似乎最简单的方法是使用 keras backend 中的 梯度 它返回梯度张量 https keras io backend https keras io backe
  • 如何使 Django 自定义管理命令参数不再需要?

    我正在尝试在 django 中编写自定义管理命令 如下所示 class Command BaseCommand def add arguments self parser parser add argument delay type int

随机推荐

  • 安全应急响应案例

    1 产生背景 1988年11月发生的莫里斯蠕虫病毒事件 Morris Worm Incident 致使当时的互联网络超过10 的系统不能工作 该案件轰动了全世界 并且在计算机科学界引起了强烈的反响 为此 1989年 美国国防部高级研究计划署
  • linux系统ipcclean命令,Linux学习笔记29——IPC状态命令

    一 IPC IPC是进程间通讯 在前面 我们相继学习了进程间通讯机制有信号量 内存共享 消息队列 状态命令 ipcs 和删除命令 ipcrm 提供了一种检查和清理IPC机制的方法 二 状态命令 1 显示信号量状态用ipcs s 2 显示共享
  • 华为OD机试真题- 狼羊过河【2023Q2】【JAVA、Python、C++】

    题目描述 一农夫带着m只羊 n只狼过河 农夫有一条可载x只狼 羊的船 农夫在时或者羊的数量大于狼时 狼不会攻击羊 农夫在不损失羊的情况下 运输几次可以完成运输 返程不计入次数 输入描述 输入参数为 m n x m 为羊的数量 n为狼的数量
  • nodeJS入门(四)之身份验证

    身份验证 一 bcrypt模块 1 1 简单介绍一下 1 2 安装 1 3 加密 二 身份验证 2 1 session 会话 2 1 1 session实现身份验证的思路 2 1 2 session的业务流程 2 1 3 express s
  • QT学习总结

    转眼间工作已经三个月了 实习期也已经满了 在这三个月中 对qt的学习遇到了很多问题 也解决了很多问题 也留下了一些现在的未解之谜 在工作中关于qt的一些东西也需要进行一些记录 QT Creator对大于带有两个空格的目录和中文命名的目录不支
  • cv2.error: OpenCV(4.6.0) /io/opencv/modules/imgcodecs/src/grfmt_exr.cpp:103: error

    问题描述 cv2 error OpenCV 4 6 0 io opencv modules imgcodecs src grfmt exr cpp 103 error 213 The function feature is not impl
  • 数据库服务器配置参数修改,数据库服务器参数配置

    数据库服务器参数配置 内容精选 换一换 云搜索服务 Cloud Search Service 为用户提供结构化 非结构化文本的多条件检索 统计 报表 本章节介绍如何通过CDM将本地Elasticsearch整库迁移到云搜索服务中 流程如下
  • 如何在GitHub的repository中建立文件夹

    GitHub的repository无法直接建立文件夹 需要曲线建立 第一步 创建新的repository 若已有repository可直接将其打开 第二步 在repository界面右上角选择创建新文件 create new files 不
  • 费曼技巧学习笔记

    博主狂言 技巧正文 技巧的详细步骤 技巧步骤一 技巧步骤二 技巧步骤三 技巧的提纲总结 费曼技巧可以解决的问题 费曼技巧的另一种描述四步学习法 步骤一 步骤二 步骤三 步骤四 博主读后感 博主狂言 初识费曼技巧 甚是熟悉 博主自认有那么一点
  • 基于Springboot实现Kafka消费数据

    本文介绍使用Kafka监听和订阅两种不同方式进行数据消费 1 配置文件 spring kafka bootstrap servers 192 168 1 16 9092 消费者 consumer group id alarmService
  • MySQL check table/optimize table/analyze table/REPAIR TABLE

    check table 检查InnoDB和MyIsam是否有错误 检查表或者视图是否存在错误 对 MyISAM 和 InnoDB 存储引擎的表有作用 对于 MyISAM 存储引擎的表进行表检查 也会同时更新关键字统计数据 CHECK TAB
  • 《ios零基础教程》-- ”Mac OS X的介绍”和一些“基础语法” 2014-3-18总结

    一 学前须知 讲的ios和c语言的一些发展历史 作为了解即可 二 Mac OS X简单介绍 讲的是对苹果电脑的一些操作和基础了解 感觉蛮有用的 以前都是用的windows 突然用这种高富帅装备 还真不习惯 装个软件都费劲 看了这个之后 对m
  • 1 Centos7安装(jdk8)Tomcat9并设置为开机启动

    一 安装过程 cd usr local src wget http mirrors hust edu cn apache tomcat tomcat 9 v9 0 12 bin apache tomcat 9 0 12 tar gz 可以下
  • 面试余额宝Java技术岗(1-4面题目):GC+spring+二叉树+Dubbo+线上调优+​​​​数据库索引+mq

    余额宝一面 JVM 内存分哪几个区 每个区的作用是什么 JVM有哪些回收算法 对应的收集器有哪些 GC 的两种判定方法 CMS 收集器与 G1 收集器的特点 hashmap源码问题 HashMap HashMap如何保证线程安全 Concu
  • Aix6.1下安装SWFTools

    该文章参考http tech sxinfo net jctj article do curMenu 14 childMenu 16 articleId 388 再结合我在实际上在Aix6 1上的安装经验来编写 相关文件的下载 ftp ftp
  • Linux 同步工具rsync 文件目录同步,增量备份的手段之一

    一 rsync介绍 rsync是linux系统下的数据镜像备份工具 使用快速增量备份工具Remote Sync可以远程同步 支持本地复制 或者与其他SSH rsync主机同步 它的特性如下 可以镜像保存整个目录树和文件系统 可以很容易做到保
  • 工具类库系列(十四)-FileData

    第十四个工具类 FileData 用于文本文件读取 保存 以及在内存中修改文本文件内容 读取 ifstream 保存 ofstream 修改内容 以string类型 获取 设置 文本文件内容 最大支持文件大小1M 上代码 FileData
  • 【多线程】线程安全、锁的同步和异步

    一 基本概念 线程安全 当多个线程访问某一个类 对象或方法 时 这个类始终都能表现出正确的行为 那么这个类 对象或方法 就是线程安全的 非线程安全 非线程主要是指多个线程对同一个对象中的同一个实例变量进行操作时会出现值被更改 值不同步的情况
  • cmake:foreach、endforeach

    foreach 为列表中的每个值计算一组命令 foreach
  • python 数据可视化- 地图

    import json from pyecharts charts import Map from pyecharts options import 读取数据文件 f open D 桌面 python 资料 可视化案例数据 地图数据 疫情