python根据json数据画疫情分布地图
目录
一.基础地图使用
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数据画疫情分布地图相关推荐
- 利用丁香园数据生成疫情分布地图(R语言)| 博文精选
来源 | CSDN 博客 作者 | 万里写入胸怀间 责编 | Carol 出品 | CSDN云计算(ID:CSDNcloud) 疫情牵动大家,除了做好分内工作,管好自己不给社会添乱,也就是只能持续关注 ...
- python生成条形图-Python处理JSON数据并生成条形图
一.JSON 数据准备 首先准备一份 JSON 数据,这份数据共有 3560 条内容,每条内容结构如下: 本示例主要是以 tz(timezone 时区) 这一字段的值,分析这份数据里时区的分布情况. ...
- python 处理json数据
python 处理json数据 json官网:https://www.json.org/json-en.html 1. json数据格式 json的数据格式有2种,分别是: 对象(object):用大 ...
- 县市疫情分布地图制作
县市疫情分布地图制作 系统需求: 编程语言: Python3 第三方库: pyecharts/echarts-countries-pypkg/echarts-china-provinces-pypkg ...
- python处理json数据 乱码报错_python操作mysql中文显示乱码的解决方法
本文实例展示了一个脚本python用来转化表配置数据xml并生成相应的解析代码. 但是在中文编码上出现了乱码,现将解决方法分享出来供大家参考. 具体方法如下: 1. Python文件设置编码 utf- ...
- python操作json_如何使用Python处理JSON数据
如何使用Python处理JSON数据?本篇文章就给大家介绍使用Python处理JSON数据的基本方法.有一定的参考价值,有需要的朋友可以参考一下,希望对你们有所帮助. 在介绍使用Python处理JSO ...
- 【Python使用】Python解析JSON数据的基本方法/用MATLAB解析json格式数据
一 JSON数据格式介绍 JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式. JSON建构于两种结构:json是Javascript中的对象和数组中的对象, ...
- python json 转csv_利用python将json数据转换为csv格式的方法
假设.json文件中存储的数据为: {"type": "Point", "link": "http://www.dianping. ...
- 使用pygal_maps_world.i18n中数据画各大洲地图
源码: 1 # 使用pygal_maps_world.i18n中数据画各大洲地图 2 3 from pygal_maps_world.i18n import ASIA 4 from pygal_map ...
最新文章
- Tensorboard on Server
- C#关于MSMQ通过HTTP远程发送专有队列消息的问题
- 日常动手之:用python画行情图
- 一些鲜为人知的编程事实(省身)
- [51 nod 1238] 最小公倍数之和 V3(杜教筛)
- oracle 只对成绩前三名进行排序其余不变_2021年采用美术统考成绩的重点院校名单汇总...
- 文献阅读:知识图谱数据管理研究综述
- python编码器下载_Python Code128编码器
- 常用技巧 —— 位运算 —— 位运算的应用
- 谈谈你对oracle,对Oracle的优化
- css文字不被点击,css 让文字不被选中之-moz-user-select 属性介绍
- 发那科karel机器人环境配置_Fanuc-你没用到的Karel编译方式
- vasp 计算杨氏弹性_高阶弹性常数计算的一点建议
- matlab神经网络结果怎么看,matlab神经网络实验报告
- RT-Thread在正点原子Apollo上使用MAX30102读取心率、血氧参数
- word文档字不靠边_Word打印字体靠右怎么办
- Android 设备管理器 理解和使用
- Ubuntu中配置WRF
- 傲腾这么厉害?QLC闪存笑了!
- 学习通课程章节被关闭时怎样查看已关闭章节内容?
热门文章
- 风向风速图将Series中的风向风速数据data和xAxis中的时间data一一对应
- 大长今》及主题歌五种版本欣赏
- hive java.net.SocketTimeoutException: Read timed out 问题解
- 航空货代系统之国际公务制单
- 实验五、异常处理与I/O操作
- 在使用pyrcc5编译二进制文件出现错误Cannot find file:和pyrcc5: No resources in resource description.
- 安装mingw发现bin目录下没有mingw32-make.exe怎么办?
- MissionPlanner日志保存方法
- ubuntu 20.04 调节屏幕亮度
- ET篇:斗地主的流程(资源工作流)