目录

一.基础地图使用

1.掌握使用pyecharts构建基础的全国地图可视化图表

二.疫情地图——国内疫情地图

1.案例效果

代码

三.疫情地图——省级疫情地图

四.数据集


注:数据集在文章最后

一.基础地图使用

1.掌握使用pyecharts构建基础的全国地图可视化图表

演示

from pyecharts.charts import Map
from pyecharts.options import VisualMapOpts
map=Map()
data=[("北京",99),("上海",199),("湖南",299),("台湾",199),("安徽",299),("广州",399),("湖北",599)
]
map.add("地图",data,"china")
map.set_global_opts(visualmap_opts=VisualMapOpts(is_show=True)
)
map.render("1.html")

结果是

这里有个问题

is_show=True表示展示图例,但是不准怎么办?
这就需要手动校准范围

from pyecharts.charts import Map
from pyecharts.options import VisualMapOpts
map=Map()
data=[("北京",99),("上海",199),("湖南",299),("台湾",199),("安徽",299),("广州",399),("湖北",599)
]
map.add("地图",data,"china")
map.set_global_opts(visualmap_opts=VisualMapOpts(is_show=True,is_piecewise=True,pieces=[{"min": 1, "max": 9, "label": "1-9人", "color": "#CCFFFF"},{"min": 10, "max": 99, "label": "10-99人", "color": "#FFFF99"},{"min": 100, "max": 499, "label": "100-499人", "color": "#FF9966"},{"min": 500, "max": 999, "label": "500-999人", "color": "#FF6666"},{"min": 1000, "max": 9999, "label": "1000-9999人", "color": "#CC3333"},{"min": 10000, "label": "10000以上", "color": "#990033"},])
)
map.render("1.html")

结果是

这样就可以了

再解释一下颜色的设置

这样就可以查询相应的颜色

二.疫情地图——国内疫情地图

1.案例效果

演示

利用json在线在线解析工具可以看到

那么我们就可以知道该怎么去提取

#从字典中取出省份数据
province_data_list=data_dict["areaTree"][0]["children"]

代码

import json
from pyecharts.charts import Map
from pyecharts.options import *
#读取文件
f=open("D:/疫情.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"]#省份名称province_confirm=province_data["total"]["confirm"]#确诊人数data_list.append((province_name,province_confirm))#这里注意列表里面嵌套的是元组
print(f"{type(data_list)}\n{data_list}")#创建地图对象
map=Map()
#添加数据
map.add("各省份确诊人数",data_list,"china")
#设置全局配置,定制分段到1视觉映射
map.set_global_opts(title_opts=TitleOpts("全国疫情地图",pos_left="center",pos_bottom="1%"),visualmap_opts=VisualMapOpts(is_show=True,#是否显示is_piecewise=True,#是否分段pieces=[{"min": 1, "max": 9, "label": "1-9人", "color": "#CCFFFF"},{"min": 10, "max": 99, "label": "10-99人", "color": "#FFFF99"},{"min": 100, "max": 499, "label": "100-499人", "color": "#FF9966"},{"min": 500, "max": 999, "label": "500-999人", "color": "#FF6666"},{"min": 1000, "max": 9999, "label": "1000-9999人", "color": "#CC3333"},{"min": 10000, "label": "10000以上", "color": "#990033"},])
)
map.render("全国疫情地图.html")

结果是

三.疫情地图——省级疫情地图

以河南省为例

代码

import json
from pyecharts.charts import Map
from pyecharts.options import *f=open("D:/疫情.txt","r",encoding="utf-8")
data=f.read()
#关闭文件
f.close()
#json数据转化为python字典
data_dict=json.loads(data)
#取到河南省数据
cities_data=data_dict["areaTree"][0]["children"][3]["children"]
#准备数据为元组并放入list
data_list=[]for city_data in cities_data:city_name=city_data["name"]+"市"city_confirm=city_data["total"]["confirm"]data_list.append((city_name,city_confirm))
#构建地图
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": 9, "label": "1-9人", "color": "#CCFFFF"},{"min": 10, "max": 99, "label": "10-99人", "color": "#FFFF99"},{"min": 100, "max": 499, "label": "100-499人", "color": "#FF9966"},{"min": 500, "max": 999, "label": "500-999人", "color": "#FF6666"},{"min": 1000, "max": 9999, "label": "1000-9999人", "color": "#CC3333"},{"min": 10000, "label": "10000以上", "color": "#990033"},])
)
map.render("河南疫情地图.html")

结果是

有个问题:济源市因为数据集中没有相应数据,所以需要我们手动加上去

这样就可以了

结果是

四.数据集

链接:https://pan.baidu.com/s/1wX9hTrpwM42FAwqyb6O7fg 
提取码:1234

python根据json数据画疫情分布地图相关推荐

  1. 利用丁香园数据生成疫情分布地图(R语言)| 博文精选

    来源 | CSDN 博客 作者 | 万里写入胸怀间 责编 | Carol 出品 | CSDN云计算(ID:CSDNcloud) 疫情牵动大家,除了做好分内工作,管好自己不给社会添乱,也就是只能持续关注 ...

  2. python生成条形图-Python处理JSON数据并生成条形图

    一.JSON 数据准备 首先准备一份 JSON 数据,这份数据共有 3560 条内容,每条内容结构如下: 本示例主要是以 tz(timezone 时区) 这一字段的值,分析这份数据里时区的分布情况. ...

  3. python 处理json数据

    python 处理json数据 json官网:https://www.json.org/json-en.html 1. json数据格式 json的数据格式有2种,分别是: 对象(object):用大 ...

  4. 县市疫情分布地图制作

    县市疫情分布地图制作 系统需求: 编程语言: Python3 第三方库: pyecharts/echarts-countries-pypkg/echarts-china-provinces-pypkg ...

  5. python处理json数据 乱码报错_python操作mysql中文显示乱码的解决方法

    本文实例展示了一个脚本python用来转化表配置数据xml并生成相应的解析代码. 但是在中文编码上出现了乱码,现将解决方法分享出来供大家参考. 具体方法如下: 1. Python文件设置编码 utf- ...

  6. python操作json_如何使用Python处理JSON数据

    如何使用Python处理JSON数据?本篇文章就给大家介绍使用Python处理JSON数据的基本方法.有一定的参考价值,有需要的朋友可以参考一下,希望对你们有所帮助. 在介绍使用Python处理JSO ...

  7. 【Python使用】Python解析JSON数据的基本方法/用MATLAB解析json格式数据

    一 JSON数据格式介绍 JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式. JSON建构于两种结构:json是Javascript中的对象和数组中的对象, ...

  8. python json 转csv_利用python将json数据转换为csv格式的方法

    假设.json文件中存储的数据为: {"type": "Point", "link": "http://www.dianping. ...

  9. 使用pygal_maps_world.i18n中数据画各大洲地图

    源码: 1 # 使用pygal_maps_world.i18n中数据画各大洲地图 2 3 from pygal_maps_world.i18n import ASIA 4 from pygal_map ...

最新文章

  1. Tensorboard on Server
  2. C#关于MSMQ通过HTTP远程发送专有队列消息的问题
  3. 日常动手之:用python画行情图
  4. 一些鲜为人知的编程事实(省身)
  5. [51 nod 1238] 最小公倍数之和 V3(杜教筛)
  6. oracle 只对成绩前三名进行排序其余不变_2021年采用美术统考成绩的重点院校名单汇总...
  7. 文献阅读:知识图谱数据管理研究综述
  8. python编码器下载_Python Code128编码器
  9. 常用技巧 —— 位运算 —— 位运算的应用
  10. 谈谈你对oracle,对Oracle的优化
  11. css文字不被点击,css 让文字不被选中之-moz-user-select 属性介绍
  12. 发那科karel机器人环境配置_Fanuc-你没用到的Karel编译方式
  13. vasp 计算杨氏弹性_高阶弹性常数计算的一点建议
  14. matlab神经网络结果怎么看,matlab神经网络实验报告
  15. RT-Thread在正点原子Apollo上使用MAX30102读取心率、血氧参数
  16. word文档字不靠边_Word打印字体靠右怎么办
  17. Android 设备管理器 理解和使用
  18. Ubuntu中配置WRF
  19. 傲腾这么厉害?QLC闪存笑了!
  20. 学习通课程章节被关闭时怎样查看已关闭章节内容?

热门文章

  1. 风向风速图将Series中的风向风速数据data和xAxis中的时间data一一对应
  2. 大长今》及主题歌五种版本欣赏
  3. hive java.net.SocketTimeoutException: Read timed out 问题解
  4. 航空货代系统之国际公务制单
  5. 实验五、异常处理与I/O操作
  6. 在使用pyrcc5编译二进制文件出现错误Cannot find file:和pyrcc5: No resources in resource description.
  7. 安装mingw发现bin目录下没有mingw32-make.exe怎么办?
  8. MissionPlanner日志保存方法
  9. ubuntu 20.04 调节屏幕亮度
  10. ET篇:斗地主的流程(资源工作流)