海外疫情發(fā)展態(tài)勢(shì)怎么樣?python動(dòng)態(tài)視頻20秒告訴你

新型冠狀病毒感染的肺炎疫情爆發(fā)以來,全球各國(guó)都采取措施開展戰(zhàn)“疫”斗爭(zhēng)。我國(guó)在黨和政府的堅(jiān)強(qiáng)領(lǐng)導(dǎo)下,疫情態(tài)勢(shì)呈現(xiàn)不斷向好的態(tài)勢(shì),國(guó)內(nèi)新增確診病例逐漸歸零,而海外的疫情態(tài)勢(shì)卻不容樂觀,每日新增病例都在不斷擴(kuò)大,下面用python帶著大家制作1個(gè)海外國(guó)家疫情態(tài)勢(shì)發(fā)展的視頻,清晰了解海外國(guó)家疫情發(fā)展速度

第一步:尋找疫情數(shù)據(jù)接口

找了國(guó)內(nèi)某大型新聞網(wǎng)站

然后打開流量分析工具開始分析數(shù)據(jù)來源,很容易就找到了返回某個(gè)國(guó)家全部疫情數(shù)據(jù)的接口,請(qǐng)求參數(shù)為:

根據(jù)上圖我們可以發(fā)現(xiàn),該請(qǐng)求以post方式進(jìn)行,唯一變化的參數(shù)是國(guó)家名字,意味著我們要想獲得所有國(guó)家的數(shù)據(jù)就要挨個(gè)模擬請(qǐng)求,那么怎么獲取所有國(guó)家的名字呢?

不要著急,還在流量分析工具中尋找

找到這個(gè),里面包含各個(gè)國(guó)家的名字,數(shù)據(jù)顯得有些亂,其實(shí)就是json格式的數(shù)據(jù),它的請(qǐng)球參數(shù)為:

Callback為回調(diào)函數(shù),可以去掉,其他參數(shù)都不變,到這里思路已經(jīng)捋順了,開始擼代碼吧。

第二步:爬取并整理數(shù)據(jù)

1.獲得各個(gè)國(guó)家的名稱

這一步?jīng)]什么難度,就是簡(jiǎn)單的模擬請(qǐng)求,然后以json格式取出國(guó)家名字 。

2.獲得每個(gè)國(guó)家的疫情數(shù)據(jù)

直接在上述獲得國(guó)家名字的for循環(huán)下,組成新的url,開始post請(qǐng)求

最后以國(guó)家名字為key、疫情數(shù)據(jù)為值存入字典中。

3.將獲得的數(shù)據(jù)存入表格中

需要注意2點(diǎn),一是標(biāo)記處的k值,是當(dāng)前表格內(nèi)已經(jīng)保存數(shù)據(jù)的行數(shù),所以下面從k+t行開始(表格保存從第0行開始,t初始值也為0);二是加了個(gè)sortdate函數(shù),為什么要加這個(gè)函數(shù)呢?因?yàn)榉祷財(cái)?shù)據(jù)的日期為下圖格式:

而02.10這種字符被程序自動(dòng)識(shí)別為2.1,最后畫圖的時(shí)候就會(huì)出錯(cuò),所以在此寫了個(gè)sortdate函數(shù),可以將02.01轉(zhuǎn)換為2020年2月1日,該函數(shù)代碼為:

保存在表格中的數(shù)據(jù)為:

第三步:畫單張疫情排名圖

1.用pandas讀取表格中的數(shù)據(jù),設(shè)置圖形窗口大小

2.找出時(shí)間為'2020年3月20日'對(duì)應(yīng)的數(shù)據(jù),并以確診人數(shù)(confirm)為排序依據(jù),取出前十名,將數(shù)據(jù)反轉(zhuǎn)

3.畫出橫向柱狀圖

結(jié)果為

4.將確診人數(shù)放入圖形中

結(jié)果為

5.設(shè)置標(biāo)題、時(shí)間戳、坐標(biāo)軸和網(wǎng)格線,增加圖形美觀

結(jié)果為:

一張圖已經(jīng)畫完了,下面要根據(jù)時(shí)間軸讓圖片動(dòng)起來。

第四步;依據(jù)時(shí)間軸畫動(dòng)態(tài)圖

主要做法是將第三步的程序放入start函數(shù)中,添加date參數(shù),再用matplotlib的 FuncAnimation()繪制動(dòng)圖,代碼如下:

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容