说起动态图表,最火的莫过于动态条形图了。
在B站上搜索「数据可视化」这个关键词,可以看到很多与动态条形图相关的视频。
好多视频都达到了上百万的播放量,属实厉害。
目前网上实现动态条形图现成的工具也很多。
比如数可视的「花火hanabi」,嫡数的「镝数图表」,以及国外网站「Flourish」。
但是作为一名 Pythoner,当然是想要研究一下如何用Python来实现。
之前也看过大佬们通过 Matplotlib、Plotly、Pyecharts 实现类似的功能,就是代码量有点多,看的脑瓜疼。
所以小F最近发现到了一个库「Bar Chart Race」,堪称Python界最强的动态可视化包。
GitHub地址:
文档地址:
目前主要有0.1和0.2两个版本,0.2版本添加动态曲线图以及Plotly实现的动态条形图。
库是挺好的,就是在安装上有点问题。
在PyCharm的Project Interpreter上只能安装到0.1版本,功能不太全。
通过pip install bar_chart_race也只能到0.1版本。
最后C君选择将项目从GitHub上下载下来,再进行安装。
下载压缩包,将解压后的文件夹放置在项目的venv/lib/python3.7/site-packages目录下。在虚拟环境下打开文件夹,命令行运行如下命令完成安装。
cd 你的项目地址/venv/lib/python3.7/site-packages/bar_chart_race-master
python 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')
生成了一个GIF图,具体如下。
3行代码Python代码就实现了,对大佬封装好的库表示膜拜~
这里因为作者封装好了数据处理模块,只需要3行代码即可。
对于我们而言,是需要加载自己的数据,自己进行处理,所以多了那么2行。
示例里的数据直接使用作者提供的,在data文件夹下的covid19_tutorial.csv文件(GitHub上有)。
经过其封装好的数据处理函数,得到最终的数据。
还有一些细节上的参数,大家可通过查看库的源码,来了解一二。