您好,登錄后才能下訂單哦!
這篇文章主要介紹了如何使用Matplotlib繪制疫情動圖,具有一定借鑒價值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。
使用 matplotlib,繪制 COVID-19 過去半年四個國家的每天死亡人數,獲取數據的API接口為:
https://raw.githubusercontent.com/CSSEGISandData/COVID-19/master/csse_covid_19_data/csse_covid_19_time_series/time_series_covid19_deaths_global.csv
數據處理的邏輯如下,參考前幾天推送的處理邏輯:
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
的部分數據:
整理后df1
的部分數據:
可以看到截止昨天,美國COVID-19死亡人數已有:219286
繪制折線圖動畫展示的邏輯如下:
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')
# 此函數是繪制動畫的回調函數
# 有且僅有一個參數 i,表示幀數,表示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])
繪制動畫只有這一行,調用FuncAnimation
,它的第二個參數為上面定義的函數showLine
:
animator = ani.FuncAnimation(fig, showLine, interval = 10)
plt.show()
繪制后的折線圖動畫為:
感謝你能夠認真閱讀完這篇文章,希望小編分享的“如何使用Matplotlib繪制疫情動圖”這篇文章對大家有幫助,同時也希望大家多多支持億速云,關注億速云行業資訊頻道,更多相關知識等著你來學習!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。