csl 聯同 ER ESPORTS 舉辦《灌籃高手SLAM DUNK》香港電競盃   CSL Mobile 推免費數據暢玩《集合啦!動物森友會》   FFVII R的尋找寶藏活動要在現實世界舉行了!地點是山手線列車?   Dragon Quest Walk新活動《2020大冒險 找尋傳說中的過年菜》   提瓦特大陸上的精彩冒險,從今天開始   《Bugsnax》於PS5上市後開放PS Plus會員免費下載   《荒野行動》與《新世紀福音戰士》聯名活動第3彈開跑!第1、2彈內容完全復刻!   「可以背著的電競電腦」ZOTAC背囊型PC的升級版「VR GO 3.0」! 

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 設定時,直接當行補上即可:

相關文章