选取如下5个国家的数据
bcr.bar_chart_race(df, ‘covid19_horiz.gif’, fixed_order=[‘Iran’, ‘USA’, ‘Italy’, ‘Spain’, ‘Belgium’])
05 固定数值轴,使其不发生动态变化
# 设置数值的最大值,固定数值轴 bcr.bar_chart_race(df, ‘covid19_horiz.gif’, fixed_max=True)
06 图像帧数,默认10帧,此处设置为3帧,可以发现图像明显变得有些卡顿
# 图像帧数。数值越小,越不流畅。越大,越流畅。 bcr.bar_chart_race(df, ‘covid19_horiz.gif’, steps_per_period=3)
07 设置帧率,单位时间默认为500ms
# 设置20帧的总时间,此处为200ms bcr.bar_chart_race(df, ‘covid19_horiz.gif’, steps_per_period=20, period_length=200)
08 设置每帧增加的标签时间,默认为False
# 输出MP4 bcr.bar_chart_race(df, ‘covid19_horiz.mp4’, interpolate_period=True)
09 绘图属性设置
# figsize-设置画布大小,默认(6, 3.5) # dpi-图像分辨率,默认144 # label_bars-显示柱状图的数值信息,默认为True # period_label-显示时间标签信息,默认为True # title-图表标题 bcr.bar_chart_race(df, ‘covid19_horiz.gif’, figsize=(5, 3), dpi=100, label_bars=False, period_label={‘x’: .99, ‘y’: .1, ‘ha’: ‘right’, ‘color’: ‘red’}, title=‘COVID-19 Deaths by Country’)
10 配置标签文字大小
# bar_label_size-柱状图标签文字大小 # tick_label_size-坐标轴标签文字大小 # title_size-标题标签文字大小 bcr.bar_chart_race(df, ‘covid19_horiz.gif’, bar_label_size=4, tick_label_size=5, title=‘COVID-19 Deaths by Country’, title_size=‘smaller’)
11 全局文字属性
# shared_fontdict-全局字体属性 bcr.bar_chart_race(df, ‘covid19_horiz.gif’, title=‘COVID-19 Deaths by Country’, shared_fontdict={‘family’: ‘Helvetica’, ‘weight’: ‘bold’, ‘color’: ‘rebeccapurple’})
12 条形图属性,可以设置透明度,边框等
# bar_kwargs-条形图属性 bcr.bar_chart_race(df, ‘covid19_horiz.gif’, bar_kwargs={‘alpha’: .2, ‘ec’: ‘black’, ‘lw’: 3})
13 设置日期标签的时间格式
# 设置日期格式,默认为’%Y-%m-%d’ bcr.bar_chart_race(df, ‘covid19_horiz.gif’, period_fmt=‘%b %-d, %Y’)
14 更改日期标签为数值
# 设置日期标签为数值 bcr.bar_chart_race(df.reset_index(drop=True), ‘covid19_horiz.gif’, interpolate_period=True, period_fmt=‘Index value - {x:.2f}’)
15 添加动态文本,此处为数值总数统计
# 设置文本位置、数值、大小、颜色等 def summary(values, ranks): total_deaths = int(round(values.sum(), -2)) s = f’Total Deaths - {total_deaths:,.0f}’ return {‘x’: .99, ‘y’: .05, ‘s’: s, ‘ha’: ‘right’, ‘size’: 8} # 添加文本 bcr.bar_chart_race(df, ‘covid19_horiz.gif’, period_summary_func=summary)
16 添加垂直条,可选类型有平均值、分位数等
# 设置垂直条数值,分位数 def func(values, ranks): return values.quantile(.9) # 添加垂直条 bcr.bar_chart_race(df, ‘covid19_horiz.gif’, perpendicular_bar_func=func)
17 设置柱状图颜色,默认为dark24
# 设置柱状图颜色 bcr.bar_chart_race(df, ‘covid19_horiz.gif’, cmap=‘accent’)
18 柱状图颜色不重复,上面这个图是有重复颜色的
# 去除重复颜色 bcr.bar_chart_race(df, ‘covid19_horiz.gif’, cmap=‘accent’, filter_column_colors=True)
这里有一些要注意的地方,比如中文配置,以及自定义颜色配置。
中文配置只需在第三方库的「_make_chart.py」文件中,加入如下三行代码。
#中文显示 plt.rcParams[‘font.sans-serif’] = [‘SimHei’] #Windows plt.rcParams[‘font.sans-serif’] = [‘Hiragino Sans GB’] #Mac plt.rcParams[‘axes.unicode_minus’] = False 现在在图表中加入中文,来看看结果。 import bar_chart_race as bcr import pandas as pd # 读取数据 df = pd.read_csv(‘yuhuanshui.csv’, encoding=‘utf-8’, header=0, names=[‘name’, ‘number’, ‘day’]) # 处理数据 df_result = pd.pivot_table(df, values=‘number’, index=[‘day’], columns=[‘name’], fill_value=0) # print(df_result) # 生成图像 bcr.bar_chart_race(df_result, ‘heat.gif’, title=‘我是余欢水演职人员热度排行’)
使用电视剧余欢水人物的「百度指数」数据。
文件具体内容如下。
经过数据透视表处理后,得到与该库格式相同的数据。
想用自己的数据来做动态条形图,5行代码****即可搞定。
此外通过在「_colormaps.py」文件中添加颜色信息,经cmap引用,即可自定义配置颜色。
colormaps = { “new_colors”: [ ‘#ff812c’, ‘#ff5a5a’, ‘#00c5d2’, ‘#a64dff’, ‘#4e70f0’, ‘#f95dba’, ‘#ffce2b’
现在能在网上找到很多很多的学习资源,有免费的也有收费的,当我拿到1套比较全的学习资源之前,我并没着急去看第1节,我而是去审视这套资源是否值得学习,有时候也会去问一些学长的意见,如果可以之后,我会对这套学习资源做1个学习计划,我的学习计划主要包括规划图和学习进度表。
分享给大家这份我薅到的免费视频资料,质量还不错,大家可以跟着学习