您好,登錄后才能下訂單哦!
這篇文章主要介紹了如何使用Matplotlib繪制疫情動(dòng)圖,具有一定借鑒價(jià)值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。
使用 matplotlib,繪制 COVID-19 過(guò)去半年四個(gè)國(guó)家的每天死亡人數(shù),獲取數(shù)據(jù)的API接口為:
https://raw.githubusercontent.com/CSSEGISandData/COVID-19/master/csse_covid_19_data/csse_covid_19_time_series/time_series_covid19_deaths_global.csv
數(shù)據(jù)處理的邏輯如下,參考前幾天推送的處理邏輯:
df = pd.read_csv('a.csv', delimiter=',', header='infer')
df_interest = df.loc[df['Country/Region'].isin(['United Kingdom', 'US', 'Italy', 'Germany'])& df['Province/State'].isna()]
df_interest.rename(index=lambda x: df_interest.at[x, 'Country/Region'], inplace=True)
df1 = df_interest.transpose()
df1 = df1.drop(['Province/State', 'Country/Region', 'Lat', 'Long'])
df1 = df1.loc[(df1 != 0).any(1)]
df1.index = pd.to_datetime(df1.index)
為了更方便大家理解,展示df_interest
的部分?jǐn)?shù)據(jù):
整理后df1
的部分?jǐn)?shù)據(jù):
可以看到截止昨天,美國(guó)COVID-19死亡人數(shù)已有:219286
繪制折線圖動(dòng)畫(huà)展示的邏輯如下:
color = ['red', 'green', 'blue', 'orange']
fig = plt.figure()
plt.xticks(rotation=45, ha="right", rotation_mode="anchor")
plt.subplots_adjust(bottom = 0.2, top = 0.9)
plt.ylabel('No of Deaths')
plt.xlabel('Dates')
# 此函數(shù)是繪制動(dòng)畫(huà)的回調(diào)函數(shù)
# 有且僅有一個(gè)參數(shù) i,表示幀數(shù),表示df1的第幾行
def showLine(i):
plt.legend(df1.columns)
p = plt.plot(df1[:i].index, df1[:i].values)
for i in range(0,4):
p[i].set_color(color[i])
繪制動(dòng)畫(huà)只有這一行,調(diào)用FuncAnimation
,它的第二個(gè)參數(shù)為上面定義的函數(shù)showLine
:
animator = ani.FuncAnimation(fig, showLine, interval = 10)
plt.show()
繪制后的折線圖動(dòng)畫(huà)為:
感謝你能夠認(rèn)真閱讀完這篇文章,希望小編分享的“如何使用Matplotlib繪制疫情動(dòng)圖”這篇文章對(duì)大家有幫助,同時(shí)也希望大家多多支持億速云,關(guān)注億速云行業(yè)資訊頻道,更多相關(guān)知識(shí)等著你來(lái)學(xué)習(xí)!
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。