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("湖北省"),就可以了,本来想着搞一个好看一点的图,不过查了一下稍微有点复杂,还是放弃了,毕竟搞科研呀,图能用就可以了。下面是抓取到的几个省的感染病例趋势图。

2019_CoV.png

江苏中间一段感觉涨势迅猛,但是最近稍微有放缓的趋势,感觉还行。


本作品采用知识共享署名-非商业性使用-禁止演绎 4.0 国际许可协议进行许可。

发表新评论