Bar Chart Race画动态条形图

一、安装 

一个库「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'])

下面的就不放图片了

原文地址:https://www.cnblogs.com/cgmcoding/p/13962216.html