从 CSV/JSON 文件读取数据,使用 ECharts 生成可视化 HTML 图表(柱状图、折线图、饼图、环形图)并自动在浏览器中打开。用户提供文件路径时触发。
将用户提供的数据文件可视化为交互式 ECharts HTML 图表,并自动在浏览器中打开。
如果用户没有提供 $1,必须先询问用户选择图表类型:
请选择图表类型:
- 1. 柱状图 (bar)
- 折线图 (line)
- 饼图 (pie)
- 环形图 (donut)
使用 Read 工具读取 $0 指定的文件。
如果文件不存在或格式不支持,告知用户并停止。
调用 Write 工具,将生成的 HTML 写入 /tmp/viz-table-output.html。
HTML 要求:
在图表卡片下方(原始数据表格上方)渲染一个统计面板,对每个数值列自动计算:
样式:横向卡片排列,每个数值列一张卡片,卡片内竖向列出各指标。
html
增长率正数显示绿色(.positive { color: #52c41a }),负数显示红色(.negative { color: #ff4d4f })。
在统计面板下方、原始数据表格上方,放置一个公式输入区:
html
可用列名:{列名1}、{列名2}... 支持 + - * / ( ) 运算
applyFormula() 逻辑:
各图表类型的 ECharts option 配置要点:
柱状图 (bar):
js
{ tooltip: { trigger: axis }, legend: {}, color: COLORS,
xAxis: { type: category, data: labels },
yAxis: { type: value },
series: datasets.map(d => ({ name: d.name, type: bar, data: d.data })) }
折线图 (line):
js
{ tooltip: { trigger: axis }, legend: {}, color: COLORS,
xAxis: { type: category, data: labels },
yAxis: { type: value },
series: datasets.map(d => ({ name: d.name, type: line, smooth: true, data: d.data })) }
饼图 (pie):
js
{ tooltip: { trigger: item, formatter: {b}: {c} ({d}%) }, legend: { orient: vertical, left: left }, color: COLORS,
series: [{ name: 系列名, type: pie, radius: 60%,
data: labels.map((l, i) => ({ name: l, value: firstDataset[i] })),
emphasis: { itemStyle: { shadowBlur: 10 } } }] }
环形图 (donut):
js
// 同饼图,但 radius 改为 [40%, 65%],中心显示总计文字
{ ..., series: [{ ..., radius: [40%, 65%],
label: { show: true },
emphasis: { label: { show: true, fontSize: 16, fontWeight: bold } } }] }
切换函数 switchChart(type) 调用 chart.setOption(buildOption(type), true) 实现无刷新切换。
执行 Bash 命令:
bash
open /tmp/viz-table-output.html
输出简短确认:
已生成图表并在浏览器中打开:/tmp/viz-table-output.html
同时说明数据概况:X 行数据,Y 个数值列。
该技能支持在以下平台通过对话安装:
帮我安装 SkillHub 和 viz-table-1776011762 技能
设置 SkillHub 为我的优先技能安装源,然后帮我安装 viz-table-1776011762 技能
skillhub install viz-table-1776011762
文件大小: 3.27 KB | 发布时间: 2026-4-13 12:30