1. 程式人生 > 實用技巧 >5 行 Python 程式碼!就能實現火爆全網的多型條形圖!

5 行 Python 程式碼!就能實現火爆全網的多型條形圖!

python資源學習群:1156465813 說起動態圖表,最火的莫過於動態條形圖了。 在B站上搜索「資料視覺化」這個關鍵詞,可以看到很多與動態條形圖相關的視訊。 好多視訊都達到了上百萬的播放量,屬實厲害。

目前網上實現動態條形圖現成的工具也很多。 比如數可視的「花火hanabi」,嫡數的「鏑數圖表」,以及國外網站「Flourish」。 但是作為一名 Pythoner,當然是想要研究一下如何用Python來實現。 之前也看過大佬們通過 Matplotlib、Plotly、Pyecharts 實現類似的功能,就是程式碼量有點多,看的腦瓜疼。
所以小F最近發現到了一個庫「Bar Chart Race」,堪稱Python界最強的動態視覺化包。 GitHub地址: dexplo/bar_chart_race 文件地址: Bar Chart Race 目前主要有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上有)。
經過其封裝好的資料處理函式,得到最終的資料。 還有一些細節上的引數,大家可通過檢視庫的原始碼,來了解一二。

學習圈子Q群:1156465813

如果大家在學習中遇到困難,想找一個python學習交流環境,可以加入作者自己的python學習圈子,點選我就可以加入,會減少很多學習的時間,也能解決很多難題。