一、安装
一个库「Bar Chart Race」,堪称Python界最强的动态可视化包。
GitHub地址:https://github.com/dexplo/bar_chart_race
文档地址:https://www.dexplo.org/bar_chart_race/
目前主要有0.1和0.2两个版本,0.2版本添加动态曲线图以及Plotly实现的动态条形图。
通过pip install bar_chart_race也只能到0.1版本,因此需要从GitHub上下载下来,再进行安装。
将下载后的压缩包解密,放到你的ancondas的Libsite-packages文件夹下面,然后cd 你刚才放到的文件路径(cd xx盘/Anaconda3/Libsite-packages/bar_chart_race-master),然后再执行命令python setup.py install,即可安装0.2版本的
二、画动态条形图
如果运行不了下面这个代码
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')
使用内置数据时经常会遇到,多尝试几次
<urlopen error [WinError 10054] 远程主机强迫关闭了一个现有的连接。>
如果不使用内置数据,自己pa.read_csv,记得要set_index(),
import pandas as pd import bar_chart_race as bcr #使用自己的数据 df =pd.read_csv('covid19_tutorial.csv') bcr.bar_chart_race(df.set_index('date'),'covid19_horiz.gif')
如果报错
Exception: 'str' object is not callable 或者是IndexError: list index out of range
请参考网址https://blog.csdn.net/weixin_47139649/article/details/109116992
还有的是,最好生成的动图是GIF,如果是其他的可能会出现错误
数据必须是时间处于第一列,其他列是数值型数据
1.动态条形图变动态柱状图
# orientation='v',生成柱状图 bcr.bar_chart_race(df, 'covid19_horiz.gif', orientation='v')
2. 排序方式,默认为降序(desc)
# 设置排序方式,asc-升序 bcr.bar_chart_race(df, 'covid19_horiz.gif', sort='asc')
3.条目数限制,此处设置为最多出现6条
# 设置最多能显示的条目数,6条 bcr.bar_chart_race(df, 'covid19_horiz.gif', n_bars=6)
4.设置固定类目
# 选取如下5个国家的数据 bcr.bar_chart_race(df, 'covid19_horiz.gif', fixed_order=['Iran', 'USA', 'Italy', 'Spain', 'Belgium'])
下面的就不放图片了