data-visualization
作者 inferen-sh實用的資料視覺化指南,著重圖表選擇、色彩運用與註解等最佳實務。了解什麼時候該用長條圖、折線圖、散點圖或熱圖,如何清楚標示座標軸,並為儀表板、報表與簡報用資料說出簡潔有力的故事。
概觀
技能能做到什麼
data-visualization 技能是一套專注於將原始資料轉成清楚、有說服力圖表的實戰指南,能協助你:
- 選擇正確的圖表類型(長條圖、折線圖、散點圖、熱圖等)
- 套用基本色彩原則,讓圖表易讀又兼顧無障礙
- 設定座標軸、刻度與標籤,讓數字一目了然
- 標註關鍵重點,讓受眾能快速抓到故事主軸
這套技能以可重現的實務流程為核心,透過 Python 與 matplotlib 搭配 inference.sh CLI 操作。範例示範如何從表格型資料(如 CSV 或試算表)一路產出可直接放進儀表板、報表或簡報投影片的正式圖像檔。
適用對象
如果你符合以下情境,可以善用 data-visualization 技能:
- 資料分析師,需要給利害關係人穩定、可被辯護的圖表
- 資料科學家,想快速產出基於 matplotlib 的圖表用於實驗或報告
- 產品或營運負責人,經常把 Google Sheets 或 CSV 匯出變成圖表
- 任何需要準備簡報投影片、內部儀表板或輕量 BI 視覺化的人
此技能聚焦在分析型溝通,而不是客製 UI 元件或複雜 Web 儀表板。如果你主要是想要精緻的前端視覺化函式庫(例如大量客製的 D3.js 圖表),這套技能比較偏向「設計與流程參考」,而非完整實作方案。
能解決的問題
本技能用來處理常見的資料視覺化痛點:
- 圖表選擇不清楚 – 協助你判斷何時用長條圖、折線圖、散點圖或熱圖,以及什麼時候應該避免使用圓餅圖。
- 座標軸與刻度讓人困惑 – 提供座標軸範圍、刻度間距的基本規則,避免產生誤導性的視覺效果。
- 色彩使用不當 – 說明如何節制地使用色彩來強調重點,同時維持對比度與無障礙。
- 標籤難以閱讀 – 示範如何命名圖表標題、標示座標軸與註解數據點,讓主要訊息一看就懂。
- 工作流程零散 – 示範如何把視覺化整合到 CLI/Python 工作流程中,在資料更新時自動重新產生圖表。
若你經常需要把試算表或 CSV 資料轉成乾淨、可重複使用的圖像,放進簡報或報表,data-visualization 能提供一套可重複使用的模式。
使用方式
1. 安裝 data-visualization 技能
要透過 skills CLI 將 data-visualization 技能加入你的環境,執行:
npx skills add https://github.com/inferen-sh/skills --skill data-visualization
這會從 inferen-sh/skills 儲存庫中的 guides/design/data-visualization 拉下技能定義與指南內容。
安裝完成後,你可以在支援 skills 的工具內直接瀏覽檔案,或到 GitHub 查看:
- 技能入口:
SKILL.md - 指南路徑:
guides/design/data-visualization/
2. 設定 inference.sh CLI(執行範例程式碼所需)
本技能的快速上手流程會使用 inference.sh CLI(infsh)來執行 Python 程式,並透過 matplotlib 產生圖表。
依照技能中引用的 CLI 安裝說明進行設定:
- 開啟 CLI 安裝說明:
https://raw.githubusercontent.com/inference-sh/skills/refs/heads/main/cli-install.md
- 依你的平台安裝
infshCLI。 - 進行登入驗證:
infsh login
完成 infsh 安裝與登入後,你就可以執行 data-visualization 技能所使用的範例應用程式。
3. 使用 Python 與 matplotlib 產生圖表
核心流程是把一小段 Python 程式碼送到執行 matplotlib 的 infsh app,產生並儲存圖像。本技能提供一個現成範例,用來建立每月營收的長條圖:
infsh app run infsh/python-executor --input '{
"code": "import matplotlib.pyplot as plt\nimport matplotlib\nmatplotlib.use(\"Agg\")\n\nmonths = [\"Jan\", \"Feb\", \"Mar\", \"Apr\", \"May\", \"Jun\"]\nrevenue = [42, 48, 55, 61, 72, 89]\n\nfig, ax = plt.subplots(figsize=(10, 6))\nax.bar(months, revenue, color=\"#3b82f6\", width=0.6)\nax.set_ylabel(\"Revenue ($K)\")\nax.set_title(\"Monthly Revenue Growth\", fontweight=\"bold\")\nfor i, v in enumerate(revenue):\n ax.text(i, v + 1, f\"${v}K\", ha=\"center\", fontweight=\"bold\")\nplt.tight_layout()\nplt.savefig(\"revenue.png\", dpi=150)\nprint(\"Saved\")"
}'
這段程式展示了本技能推崇的幾項最佳實務:
- 用 長條圖 呈現離散的月度數值
- 對所有長條使用一致且對比明顯的色彩
- 清楚標示座標軸(
Revenue ($K))與具描述性的粗體標題 - 在每根長條上方加上簡單的註解,讓數值一眼就能看懂
指令執行後,你會得到一個 revenue.png 檔案,可以:
- 插入簡報投影片
- 附加在電子郵件報表中
- 發佈在內部儀表板裡
你可以依照同樣模式,改寫 Python 程式碼來產生其他圖表類型(折線圖、散點圖、熱圖),同時仍遵循圖表選擇、標示與色彩運用的原則。
4. 將圖表選擇指南套用到自己的資料
在 data-visualization 技能內容中,你會看到一份 Chart Selection Guide,其中包含一節 Which Chart for Which Data?。這份指南會協助你把手上的資料與想回答的問題,對應到合適的圖表類型,例如:
- 比較不同類別隨時間的變化 → 使用折線圖或群組長條圖
- 比較同一時間點的類別差異 → 使用長條圖
- 觀察兩個數值變數間的關係 → 使用散點圖
- 呈現兩個維度(例如時間與類別)上的強度變化 → 使用熱圖
你可以用這份指南來決定如何視覺化:
- 從分析工具匯出的 CSV(例如每日 session 數、各通路營收)
- 試算表中的表格資料,如 A/B 測試結果或問卷回覆
- 透過 Python 或 SQL 整理好的資料,當你需要為報告產出最終圖表時
把圖表選擇指南與前面提到的 Python/matplotlib 流程結合起來,就能以程式方式產生圖像,而不是在 GUI 裡一張張手動做圖。
5. 串接到你的報表與簡報流程
當你安裝好技能並建立一條可運作的 infsh pipeline 之後,你可以:
- 自動化週期性圖表:把
infsh app run呼叫包進腳本中,自動抓最新 CSV 資料、更新 Python 程式(或資料變數),並輸出新的 PNG 檔。 - 標準化視覺風格:在多個圖表中重複使用相同的色彩、字型與版面慣例,讓儀表板與簡報風格一致。
- 匯出給簡報工具:將產生的 PNG 放進 PowerPoint、Keynote、Google Slides 或 Web 儀表板。
當你想要一條「從試算表或 CSV 到可發佈圖表」的可重複 CLI/Python 流程時,data-visualization 特別好用。
6. 建議優先閱讀的檔案
安裝完成後,先閱讀以下關鍵檔案,可以更有效發揮這套技能:
SKILL.md– 技能的高階說明、快速上手指令與背景脈絡。guides/design/data-visualization/– 關於圖表類型、座標軸、色彩選擇與註解的詳細規則。
設計新圖表或重構既有儀表板時,可以把它們當成檢查清單使用。
什麼情況適合(或不適合)使用這個技能
適合使用 data-visualization 技能的情境:
- 你的資料主要是 表格型資料(CSV、試算表、SQL 匯出)。
- 你想 標準化報表與簡報中的圖表品質。
- 你對 CLI 指令與基本 Python/matplotlib 程式碼感到熟悉。
以下情況則較不適合:
- 你需要的是 JavaScript 視覺化函式庫,打造高度互動的 Web 圖表(例如大型的 D3.js 專案)。
- 你在建置的是完整的 BI 平台,需要的是全功能儀表板軟體,而不是圖表設計指引。
- 你沒有使用 inference.sh,或不想採用 CLI 駕動的工作流程;這種情況下,你仍然可以使用其中的概念性指南(圖表選擇、色彩、註解),但需要自行套用到你慣用的工具。
常見問題(FAQ)
我要如何安裝 data-visualization 技能?
使用 skills CLI 安裝:
npx skills add https://github.com/inferen-sh/skills --skill data-visualization
這會把 inferen-sh/skills 儲存庫中的 data-visualization 指南加到你的環境,方便你查閱圖表選擇與視覺化規則。
一定要用 inference.sh CLI 才能使用這個技能嗎?
如果你想照原樣執行技能中提供的 Python/matplotlib 範例,就需要 infsh CLI。技能的快速上手章節會明確說明這個需求,並附上 CLI 安裝說明連結。如果你偏好其他工具(例如本機跑 Python、Jupyter 或其他環境),仍可使用其中的概念指引(圖表選擇、色彩原則、註解技巧),並自行改寫程式碼。
可以搭配 CSV 或試算表資料使用 data-visualization 嗎?
可以。建議的流程是:
- 在 Python 中載入 CSV 或試算表資料。
- 轉成適合繪圖的 list 或 array。
- 使用 matplotlib(如技能範例所示)產生圖表。
- 將圖表存成 PNG 檔,作為儀表板、報表或簡報用圖。
data-visualization 技能主要關注「如何選擇與設計圖表」,你可以套用在任何你掌控的表格型資料來源上。
這個技能涵蓋哪些圖表類型?
技能中會明確介紹多種圖表,包括:
- 長條圖(Bar charts)
- 折線圖(Line charts)
- 散點圖(Scatter plots)
- 熱圖(Heatmaps)
同時也會說明圓餅圖的常見問題,以及在什麼情況下應改用其他圖表。Chart Selection Guide 會依你的資料型態與溝通目標,協助你在這些圖表中做選擇。
這個技能只是在講美觀排版,還是也有助於分析?
雖然重點放在 視覺化溝通,但整體指引也相當貼近分析工作流程,透過以下方式支援分析:
- 鼓勵使用能清楚呈現趨勢、比較與關係的圖表類型
- 避免使用容易誤導的座標軸與刻度
- 透過適當註解凸顯關鍵重點
它不是完整的資料分析課程,但設計對象是希望結果「好看又可信」的分析師與資料科學家。
產生的圖表可以整合進簡報與儀表板嗎?
可以。Python/matplotlib 範例會輸出靜態圖像檔(例如 revenue.png),你可以:
- 插入 PowerPoint、Keynote 或 Google Slides
- 上傳到內部儀表板或報表工具
- 附加在 PDF 或 HTML 報表中
由於圖表是透過腳本產生,你可以在資料更新時重新產生一次,並在各種報表中保持視覺風格一致。
我要去哪裡看 data-visualization 的所有相關檔案?
安裝完成後,你可以在工具中的檔案檢視頁籤,或直接開啟以下儲存庫位置:
https://github.com/inferen-sh/skills/tree/main/guides/design/data-visualization
在那裡可以看到 SKILL.md、相關指南內容,以及此儲存庫中其他技能共用的參考資料。
