一、安裝
一個庫「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的Lib\site-packages文件夾下面,然后cd 你剛才放到的文件路徑(cd xx盤/Anaconda3/Lib\site-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'])
下面的就不放圖片了