Termgraph:於 CLI 畫出柱狀圖的程式

Linux 在 CLI 想要將數據資料化成柱狀圖(Bar chart),可以使用 Termgraph 來達成。

Termgraph:於 CLI 畫出柱狀圖的程式

Termgraph 是 Python3 寫的 Script 程式,原始碼可見:

於 Debian、Ubuntu Linux 使用 pip3 安裝步驟:

  1. apt-get install python3-pip
  2. pip3 install termgraph # 到此就安裝完成
  3. termgraph data/ex1.dat # 此 data 於 GitHub 取得,此行就可以將柱狀圖畫出
  4. cat data/ex1.dat # 中間可用 空白、"," 分隔,ex1 ~ ex8 有各種範例,可以有 title、比例、顏色等等
    # Example Data Set 1
    2007 183.32
    2008 231.23
    2009 16.43
    2010 50.21
    2011 508.97
    2012 212.05
    2014 1.0

Termgraph 的問題處理

  1. $ termgraph data/ex1.dat
    • 若遇到這個問題:UnicodeEncodeError: 'ascii' codec can't encode character '\u2587' in position 0: ordinal not in range(128)
    • 解法:export PYTHONIOENCODING=utf-8
  2. 指定 export PYTHONIOENCODING=utf-8 後,跑:termgraph data/ex1.dat --custom-tick "🏃" --width 20 --title "Running Data"
    • 出現此錯誤:UnicodeEncodeError: 'utf-8' codec can't encode characters in position 0-3: surrogates not allowed
    • 解法:unset PYTHONIOENCODING

遇到上述問題,乾脆比較保險的作法,先 unset PYTHONIOENCODING,需要 UTF-8 設定時,直接當行補上即可:

  • $ PYTHONIOENCODING=utf-8 termgraph data/ex1.dat
  • $ termgraph data/ex1.dat --custom-tick "🏃" --width 20 --title "Running Data"
  • 這樣子就都可以正常顯示囉~

作者: Tsung

對新奇的事物都很有興趣, 喜歡簡單的東西, 過簡單的生活.

發表迴響

這個網站採用 Akismet 服務減少垃圾留言。進一步了解 Akismet 如何處理網站訪客的留言資料