用Python畫新冠肺炎疫情曲線和地圖

#數據獲取python

最近你們天天都窩在家裏關注疫情數據,那麼問題來了,怎麼用python抓取疫情數據畫疫情曲線和地圖呢?git

首先咱們先選一個數據源,以騰訊的實時數據爲例。 news.qq.com/zt2020/page…github

經過分析咱們就獲得了URL地址、請求方法、參數、應答格式等信息,有了這些信息分分鐘就能夠獲取數據了。json

抓取每日確診、疑似、死亡、治癒數據,代碼以下:工具

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'])
複製代碼

抓取各省累計確診數據,代碼以下:url

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']})
複製代碼

#數據展現spa

獲取到每日確診、疑似、死亡、治癒數據後,使用Matplotlib模塊直接畫疫情曲線。code

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模塊,所需模塊請自行安裝。cdn

畫海陸分界線、國界線、行政分界線須要Shape數據,繪圖用到的矢量字庫simsun.tff以及源代碼等能夠到這裏下載(github.com/benjamingth…),以爲有用的話請給個Star,謝謝!htm

2019新冠肺炎疫情曲線

2019新冠肺炎疫情地圖

相關文章
相關標籤/搜索