当前位置: 首页 > 后端技术 > Python

带大家用40行python代码实现一张疫情地图

时间:2023-03-25 22:57:52 Python

近两个月,因为新冠病毒的无情肆虐,相信会在每一个国人的记忆中划下沉重的一笔。时至今日,疫情依然十分严峻。尽管除湖北外其他省份确诊病例已连续11天下降,但仍将有至少1.6亿人流动,无疑仍存在一定风险。相信很多人和我一样,早上第一件事就是查看疫情数据。通用数据配有一张中国确诊病例数图。之前在csdn上看到一篇文章,有同学用python实现疫情地图。觉得很有意思,于是尝试自己写了一个,主要使用了以下几个库:-网络请求:requests-绘制图表的库:pyecharts获取疫情数据在腾讯新闻和支付宝可以看到疫情数据,但是支付宝数据获取相对困难,所以决定从腾讯新??闻的数据入手,先在chrome中打开链接:https://news.qq.com//zt2020/p...,然后通过chromedeveloper工具(F12)过滤对应的XHR接口(XHR格式的接口是ajax异步请求网络数据的接口,一般定义的接口都可以通过XHR过滤),如下图:通过查看所有图中接口,是获取各省医院数量,根据省名查询每天新增确诊病例数数据,没有各省确诊病例数数据国家的我们不需要。下面我们切换到chrome开发者工具的控制台,看看开发是否打印了相应的数据,宾果!果然,我们找到了更多有用的信息:我们看上图中的两个关键信息,一个是红框里的url,一个是所有打印出来的数据,从中我们找到了确诊病例总数我们需要的国家的每个省份。数据源确定了,接下来就是使用requests库请求数据,取出上图中areaTree下的children中的数据:上面代码中需要注意的一点是requests.get(data_url).json()["data"]返回一个字符串,需要将其转换为json以便从中提取值。既然有了数据,万事俱备,只差东风了!接下来我们开始绘制中国地图。python中绘制地图主要有两个库:matplotlib和pyecharts。相比之下:matplotlib提供了BaseMap来绘制地图,但是个人觉得它绘制的地图不是很漂亮。另一个重要的原因是它的安装有点麻烦,而且可能存在兼容性问题。pyecharts是基于百度开源的js库echarts,它最大的特点是:简单、易安装、易使用。所以最后还是决定用pyecharts来画图。核心代码如下:在pyecharts的官方文档中(https://pyecharts.org/#/zh-cn....所有的代码都实现到这里了,数一数,去掉注释,一共40行代码,是不是很简单很强大!我们上次实现的效果图:留给大家实现的功能想要掌握一个知识点,最好的方法就是实践,这里给大家提两个小需求:实现一个折线图,展示中国除湖北以外的每日新增确诊人数趋势图实现一个直方图看看你所在城市每天新增确诊人数的变化情况,做完了可以发图分享给大家,可以发图到知识星球相应的讨论话题(https://t.zsxq.com/Fuj2fY3),微信公众号回复我ssage好像不能回复图片。关注【公众号:软件测试布道师】,回复【python】,即可获取【python自动化与编程实战资料】