这篇文章主要介绍了如何使用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绘制疫情动图”这篇文章对大家有帮助,同时也希望大家多多支持亿速云,关注亿速云行业资讯频道,更多相关知识等着你来学习!
亿速云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。
原文链接:https://my.oschina.net/u/4585819/blog/4679968