My Nintendo Store上的「Nintendo Switch 集合啦!動物森友會 限定版主機」預售喊卡   【後篇】「SEGA・Atlus TGS2020 ONLINE cosplay大賽」的出場coser「猫宮のえる」特集!   使用Type-C接頭!電競抗噪耳機ASUS「ROG Cetra」   Minecraft動作冒險新作Minecraft Dungeons登上Switch、PS4、Xbox One、PC平台   PlayStation 5亞洲線上特別節目圓滿成功   深入了解《決勝時刻®:黑色行動冷戰》的「殭屍進擊」模式   「槍彈辯駁」系列10週年!宣布登上手機平台和與「IdentityV 第五人格」合作!   易利氣磁力貼推出史上第一款電競專用「Pro Fits for e-SPORTS 護腕」! 

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
vbtrax

隨機商業新聞