5行Python代码实现刷爆全网的动态条形图!






cd 你的项目地址/venv/lib/python3.7/site-packages/bar_chart_race-masterpython setup.py install# 提示成功安装# Finished processing dependencies for bar-chart-race==0.2.0
import bar_chart_race as bcr# 如果出现SSL错误,则全局取消证书验证# import ssl# ssl._create_default_https_context = ssl._create_unverified_context# 获取数据df = bcr.load_dataset('covid19_tutorial')# print(df)# 生成GIF图像bcr.bar_chart_race(df, 'covid19_horiz.gif')



# orientation='v',生成柱状图bcr.bar_chart_race(df, 'covid19_horiz.gif', orientation='v')
# 设置排序方式,asc-升序bcr.bar_chart_race(df, 'covid19_horiz.gif', sort='asc')

# 设置最多能显示的条目数,6条bcr.bar_chart_race(df, 'covid19_horiz.gif', n_bars=6)

# 选取如下5个国家的数据bcr.bar_chart_race(df, 'covid19_horiz.gif', fixed_order=['Iran', 'USA', 'Italy', 'Spain', 'Belgium'])

# 设置数值的最大值,固定数值轴bcr.bar_chart_race(df, 'covid19_horiz.gif', fixed_max=True)

# 图像帧数。数值越小,越不流畅。越大,越流畅。bcr.bar_chart_race(df, 'covid19_horiz.gif', steps_per_period=3)

# 设置20帧的总时间,此处为200msbcr.bar_chart_race(df, 'covid19_horiz.gif', steps_per_period=20, period_length=200)

# 输出MP4bcr.bar_chart_race(df, 'covid19_horiz.mp4', interpolate_period=True)

# 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')

# 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')

# shared_fontdict-全局字体属性bcr.bar_chart_race(df,?'covid19_horiz.gipurple'})

# bar_kwargs-条形图属性bcr.bar_chart_race(df,?'covid19_horiz.gif',?bar_kwargs={'alpha':?.2,?'ec':?'black',?'lw':?3})

# 设置日期格式,默认为'%Y-%m-%d'bcr.bar_chart_race(df, 'covid19_horiz.gif', period_fmt='%b %-d, %Y')

# 设置日期标签为数值bcr.bar_chart_race(df.reset_index(drop=True), 'covid19_horiz.gif', interpolate_period=True,period_fmt='Index value - {x:.2f}')
?????????????????????????????????period_fmt='Index?value?-?{x:.2f}')

# 设置文本位置、数值、大小、颜色等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)

# 设置垂直条数值,分位数def func(values, ranks):return values.quantile(.9)# 添加垂直条bcr.bar_chart_race(df, 'covid19_horiz.gif', perpendicular_bar_func=func)

# 设置柱状图颜色bcr.bar_chart_race(df, 'covid19_horiz.gif', cmap='accent')

# 去除重复颜色bcr.bar_chart_race(df, 'covid19_horiz.gif', cmap='accent', filter_column_colors=True)

#中文显示plt.rcParams['font.sans-serif'] = ['SimHei'] #Windowsplt.rcParams['font.sans-serif'] = ['Hiragino Sans GB'] #Macplt.rcParams['axes.unicode_minus']?=?False
import bar_chart_race as bcrimport 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='我是余欢水演职人员热度排行')


colormaps ={"new_colors": ['#ff812c','#ff5a5a','#00c5d2','#a64dff','#4e70f0','#f95dba','#ffce2b']}
# 使用自定义的颜色列表bcr.bar_chart_race(df_result,?'heat.gif',?title='我是余欢水演职人员热度排行',?cmap='new_colors')



更多精彩推荐
?JavaScript 爆红后,微软为何还要开发 TypeScript?
?李开复对话彭特兰:AI 不是单打独斗,应避免 AI 冷战!
?区块链+生鲜:杜绝“偷梁换柱”和“以次充好”
点分享 点点赞 点在看
关注公众号:拾黑(shiheibook)了解更多
[广告]赞助链接:
四季很好,只要有你,文娱排行榜:https://www.yaopaiming.com/
让资讯触达的更精准有趣:https://www.0xu.cn/
关注网络尖刀微信公众号随时掌握互联网精彩
赞助链接
排名
热点
搜索指数
- 1 习近平将发表二〇二六年新年贺词 7904141
- 2 2026年国补政策来了 7808738
- 3 东部战区:开火!开火!全部命中! 7712893
- 4 2026年这些民生政策将惠及百姓 7616985
- 5 小学食堂米线过期2.5小时被罚5万 7519709
- 6 解放军喊话驱离台军 原声曝光 7428214
- 7 为博流量直播踩烈士陵墓?绝不姑息 7327605
- 8 每月最高800元!多地发放养老消费券 7238391
- 9 数字人民币升级 1月1日起将计付利息 7141831
- 10 2026年1月1日起 一批新规将施行 7040675








CSDN
