纵有疾风起
人生不言弃

教你用Python画新冠肺炎疫情曲线和地图,看你那里是疫情重灾区吗?

1 前言
最近大家每天都窝在家里关注疫情数据,那么问题来了,怎么用python抓取疫情数据画疫情曲线和地图呢?
2 数据获取
首先我们先选一个数据源,以腾讯的实时数据为例。
腾讯疫情实时数据链接
通过分析我们就得到了URL地址、请求方法、参数、应答格式等信息,有了这些信息分分钟就可以获取数据了。
抓取每日确诊、疑似、死亡、治愈数据,代码如下:

 url = 'https://view.inews.qq.com/g2/getOnsInfo?name=wuwei_ww_cn_day_counts&callback=&_=%d'%int(time.time()*1000)    data = json.loads(requests.get(url=url).json()['data'])

抓取各省累计确诊数据,代码如下:

  num={}    url='https://view.inews.qq.com/g2/getOnsInfo?name=disease_h5&callback=&_=%d'%int(time.time()*1000)    url_data=json.loads(requests.get(url=url).json()['data'])    for item in url_data['areaTree'][0]['children']:        num.update({item['name'] : item['total']['confirm']})        

3 数据展示
获取到每日确诊、疑似、死亡、治愈数据后,使用Matplotlib模块直接画疫情曲线。

 plt.subplot(211)   plt.title('2019-nCoV confirm and suspect', fontsize=20)   plt.plot(date_list, confirm_list, label='confirm')   plt.plot(date_list, suspect_list, label='suspect')      plt.subplot(212)   plt.title('2019-nCoV Curve dead and heal', fontsize=20)   plt.plot(date_list, dead_list, label='dead')   plt.plot(date_list, heal_list, label='heal')

而画地图稍微复杂一些,需要Basemap工具包,和处理地图投影的Pyproj模块,所需模块请自行安装。
画海陆分界线、国界线、行政分界线需要Shape数据,绘图用到的矢量字库simsun.tff等。
Github上的Demo源码地址,觉得有用的话请给个Star,谢谢!

2019新冠肺炎疫情曲线

教你用Python画新冠肺炎疫情曲线和地图,看你那里是疫情重灾区吗?插图
image

2019新冠肺炎疫情地图

教你用Python画新冠肺炎疫情曲线和地图,看你那里是疫情重灾区吗?插图1
image

点击了解更多获取PythonWeb开发,数据分析,爬虫等学习知识,
点击了解

文章转载于:https://www.jianshu.com/p/d0d1373e52b8

原著是一个有趣的人,若有侵权,请通知删除

未经允许不得转载:起风网 » 教你用Python画新冠肺炎疫情曲线和地图,看你那里是疫情重灾区吗?
分享到: 生成海报

评论 抢沙发

评论前必须登录!

立即登录