name: excel-chart description: 從 Excel 檔案讀取資料並生成統計圖表,支援柱狀圖、折線圖、餅圖、散點圖、箱線圖、熱力圖等多種圖表型別,輸出 HTML 互動圖表或靜態圖片。 agent_created: true
小蔥技能站7w4.net,專業的AI技能分享平臺。
從 Excel 檔案(.xlsx / .xls)讀取資料,自動識別資料結構,生成高質量的統計圖表。支援多種圖表型別和兩種輸出格式。
當用戶提出以下意圖時使用此 skill: - 「從這個 Excel 生成圖表」「根據 Excel 畫圖」「Excel 資料視覺化」 - 「幫我做一張柱狀圖/折線圖/餅圖/散點圖/箱線圖/熱力圖」 - 「把這份 Excel 資料變成圖表」 - 「Excel 資料分析」「統計圖」「資料圖表」 - 泛化表述:涉及 Excel 檔案 + 圖表/視覺化/統計圖
使用此 skill 前,確保以下 Python 庫已安裝:
python -m pip install pandas openpyxl plotly matplotlib kaleido --quiet
一鍵檢查:
python -c "import pandas; import openpyxl; import plotly; import matplotlib; import kaleido; print('OK')"
如果報錯 ModuleNotFoundError,先執行安裝命令。
呼叫 scripts/generate_chart.py 的預覽模式來檢視 Excel 內容:
python <skill_path>/scripts/generate_chart.py <excel_path> --mode preview
指令碼會輸出: - 所有 sheet 名稱 - 每個 sheet 的前 5 行資料 - 列名和資料型別 - 資料統計摘要(數值列的最大/最小/均值等)
基於預覽結果,與使用者確認: 1. 使用哪個 sheet(如果有多張表) 2. 用作 X 軸的列(通常為分類/時間列) 3. 用作 Y 軸的列(通常為數值列) 4. 圖表型別(柱狀圖/折線圖/餅圖/散點圖/箱線圖/熱力圖) 5. 輸出格式(HTML 互動圖表 / PNG 靜態圖片)
如果使用者沒有明確指定,根據資料結構自動推薦最合適的圖表型別: - 1 個分類列 + 1 個數值列 → 柱狀圖 或 餅圖 - 1 個時間列 + 1 個數值列 → 折線圖 - 2 個數值列 → 散點圖 - 多個數值列 → 箱線圖 或 熱力圖
根據確認的引數生成圖表:
python <skill_path>/scripts/generate_chart.py <excel_path> \
--sheet "Sheet1" \
--chart-type bar \
--x-column "列名1" \
--y-column "列名2" \
--title "圖表標題" \
--output <輸出路徑> \
--output-format html
圖表型別引數 --chart-type 的可選值:
- bar — 柱狀圖(豎直)/ 條形圖(水平)
- line — 折線圖/趨勢圖
- pie — 餅圖/環形圖
- scatter — 散點圖
- box — 箱線圖
- heatmap — 熱力圖(需要至少兩個數值列)
- auto — 自動推薦最合適的圖表型別
輸出格式引數 --output-format:
- html — 生成 Plotly 互動式 HTML 圖表(預設)
- png — 生成 Matplotlib 靜態 PNG 圖片
preview_url 工具預覽生成的 HTML 檔案open_result_view 或直接傳送檔案給使用者python <skill_path>/scripts/generate_chart.py <excel_path> [options]
位置引數:
excel_path Excel 檔案路徑
選項:
--mode preview 僅預覽資料,不生成圖表
--sheet SHEET_NAME 指定使用的 sheet 名稱(預設:第一個 sheet)
--chart-type TYPE 圖表型別:bar|line|pie|scatter|box|heatmap|auto
--x-column COL 指定 X 軸列名
--y-column COL 指定 Y 軸列名(多個列用逗號分隔,用於箱線圖和熱力圖)
--title TITLE 圖表標題
--subtitle SUBTITLE 圖表副標題
--output PATH 輸出檔案路徑(不含副檔名)
--output-format FORMAT 輸出格式:html|png(預設:html)
--width WIDTH 圖表寬度(畫素,預設:1000)
--height HEIGHT 圖表高度(畫素,預設:600)
--palette THEME 配色方案:default|vivid|pastel|dark(預設:default)
--horizontal 生成水平條形圖(僅對 bar 型別有效)
--sort 對類別資料進行排序(按數值降序)
--top N 僅顯示前 N 條資料
指令碼會自動進行以下預處理: 1. 嘗試將日期字串解析為 datetime 型別 2. 自動識別數值列和分類列 3. 忽略完全為空的列 4. 缺失值標記但不填充(由圖表型別決定處理方式) 5. 如果資料量過大(超過 1000 行),自動提示分批或採樣
excel-chart/
├── SKILL.md # 本檔案 - skill 主說明
├── scripts/
│ └── generate_chart.py # 核心指令碼 - 讀取 Excel 並生成圖表
└── references/
└── chart_types.md # 圖表型別參考指南
這個Skill教你如何選對圖表型別、讓圖表更專業。優點是思路清晰、方法論實用,有速查卡和避坑指南;不足是內容偏理論,缺乏具體操作步驟和真實案例,更多是方向性建議而非手把手指導。適合想了解圖表製作思路的人,但想要詳細教程可能會失望。整體質量中等,內容深度有待加強。