图片来自https://www.dexplo.org/bar_chart_race/
条形竞赛图(bar chart race)这个名词可能很多人都很陌生,但是大家肯定看到过(如上图所示),其实制作方法异常简单,下面我就来带你制作一个COVID-19每日感染人数的条形竞赛图。
首先导入pandas、bar_chart_race库,没有安装的请先安装。
pip3 install pandas
pip3 install bar_chart_race
获取COVID-19的每日感染人数数据,这里选择的是github上面的开源数据。https://github.com/CSSEGISandData/COVID-19/tree/master/csse_covid_19_data/csse_covid_19_time_series
import pandas as pd
import bar_chart_race as bcr
从文件读入数据
df = pd.read_csv("covid19.csv")
列出数据,我这里是用的COVID-19的数据,第一列是日期,其余列是第一行国家的每日感染人数。
列出数据,我这里是用的COVID-19的数据,第一列是日期,其余列是第一行国家的每日感染人数。
df.head() #列出数据
df = df.set_index('date') #设置第一列为变化依据,此处为日期
df.columns #列出所有对象,此处为国家
bcr.bar_chart_race(df = df, title = "Covid 19 Data", n_bars=20,filter_column_colors=True, figsize=(8, 6), shared_fontdict={'family': 'PingFangSC-Regular', 'weight': 'bold'})
参数说明,title是图标标题,n_bars是显示多少项(这里20代表显示前20个国家),figsize为设置图形尺寸(单位是英寸),shared_fontdict为设置图中文字属性。
更多设置内容请参考:https://www.dexplo.org/bar_chart_race/