Python绘制新型冠状病毒感染曲线
最近被这个新型冠状病毒病毒闹得真是啥也干不了,整天闷在家里,闲着没事还是增长一下我们的技术水平才是王道,多读书,多宅一宅,也为祖国做贡献。
最近眼睁睁看着感染病例数目急剧增加,心里还是有那么一点点慌张的,毕竟这玩意感染起来还是有点恐怖的,直接肺部纤维化,我的天哪,想想都废了。算了,我们还是看看我这里搜集的一些数据的曲线吧。
本来想着是自己开发爬虫抓数据的,网上搜了一圈发现,原来很多高手宅在家里也搞出了不少东西,网上已经有开源的爬虫了,并且还贴心的做了API,我们可以直接调用获取数据,这的是棒棒哒。
项目地址https://github.com/BlankerL/DXY-2019-nCoV-Crawler, 项目里面用了MongoDB,我本地没起这个服务,就直接用了项目提供的API。有了API之后,一切就好办了,直接读数据画图就可以了。
from datetime import datetime
import matplotlib.dates as mdates
import requests
import json
%matplotlib inline
import matplotlib.pyplot as plt
import numpy as np
def plot_confirm(prov):
uri = "https://lab.ahusmart.com/nCoV/api/area?latest=0&province={}".format(prov)
data = requests.get(uri)
d = data.json()
confirm = [x['confirmedCount'] for x in d['results']]
x = [datetime.fromtimestamp(x['updateTime']/1000) for x in d['results']]
plt.gca().xaxis.set_major_formatter(mdates.DateFormatter('%m-%d'))
plt.gca().xaxis.set_major_locator(mdates.DayLocator())
plt.plot(x, confirm)
plt.gcf().autofmt_xdate()
plt.show()
需要画图的时候直接plot_confirm("湖北省")
,就可以了,本来想着搞一个好看一点的图,不过查了一下稍微有点复杂,还是放弃了,毕竟搞科研呀,图能用就可以了。下面是抓取到的几个省的感染病例趋势图。
江苏中间一段感觉涨势迅猛,但是最近稍微有放缓的趋势,感觉还行。
最后更新于 2020-02-01 02:40:18 并被添加「新型冠状病毒 2019CoV 病毒」标签,已有 4209 位童鞋阅读过。
本作品采用知识共享署名-非商业性使用-禁止演绎 4.0 国际许可协议进行许可。