关于 data-visualizer
Data Visualizer 是帮助开发者制作图表、仪表板和交互式可视化的技能。它涵盖 Recharts、Chart.js 和 D3.js 的库与图表选择,并提供响应式和无障碍设计模式。
主要功能
- 01Recharts、Chart.js 和 D3.js 指引
- 02图表类型选择建议
- 03仪表板与下钻模式
- 04响应式设计实践
- 05无障碍与性能建议
适用场景
- 01为数据集选择图表类型
- 02规划交互式 KPI 仪表板
- 03调整可视化以适配手机屏幕
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ oakoss/ agent-skills --skill data-visualizer安装后在 Claude Code 中输入/data-visualizer确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
references/chart-types.mddashboard-patterns.mddata-formatting-and-export.mddesign-and-accessibility.mdlibrary-selection.mdperformance.mdstorytelling-and-annotation.md详细介绍
数据可视化
使用现代库构建图表、仪表板和交互式数据可视化。涵盖 Recharts(React)、Chart.js(与框架无关)和 D3.js(自定义/高级)。
库的选择
| 库 | 最适合的场景 | React | 自定义程度 | 包大小(gzip) |
|---|---|---|---|---|
| Recharts | 快速构建 React 图表、标准类型 | 原生 | 有限 | ~139KB |
| Chart.js | 与框架无关、API 简单 | 封装器 | 中等 | ~68KB(支持 tree-shaking) |
| D3.js | 自定义可视化、完全掌控 | 手动 | 完全 | 每个模块 ~13-30KB |
图表类型选择
| 图表 | 最适合的场景 | 避免使用的场景 |
|---|---|---|
| 折线图 | 随时间变化的趋势、连续数据 | 分类数据 |
| 条形图 | 比较类别、排名 | 连续数据 |
| 饼图/圆环图 | 部分与整体的关系(最多 5-7 个扇区) | 超过 7 个类别、精确比较 |
| 面积图 | 随时间变化的数量、堆叠类别 | 重叠序列过多 |
| 散点图 | 相关性、异常值、分布 | 时间序列 |
| 热力图 | 两个维度上的强度 | 简单比较 |
仪表板模式
| 模式 | 用例 | 主要特性 |
|---|---|---|
| KPI 仪表板 | 高管指标 | 趋势指标、卡片网格 |
| 实时 | 实时监控 | SSE/WebSocket、禁用动画 |
| 交互式筛选器 | 探索性分析 | 时间段/区域选择、下钻 |
| 下钻 | 层级数据 | 点击缩放(年 → 月 → 日) |
响应式设计
| 方法 | 实现 |
|---|---|
| 基于容器的尺寸设置 | <ResponsiveContainer width="100%" height={300}> |
| 宽高比模式 | <ResponsiveContainer width="100%" aspect={2}> |
| 适配移动设备 | 在小屏幕上减小 strokeWidth、height |
| 简化标签 | 在移动设备上减少坐标轴标签 |
常见错误
| 错误 | 修正 |
|---|---|
| 固定宽度/高度 | 使用 ResponsiveContainer |
| 实时数据使用动画 | 设置 isAnimationActive={false} |
| 饼图扇区过多 | 最多 5-7 个扇区,其余合并为“其他” |
| 颜色不符合无障碍要求 | 使用符合 WCAG AA 标准且适合色盲用户的调色板 |
| 加载整个图表库 | 使用动态导入延迟加载 |
| 不格式化数据 | 使用 Intl.NumberFormat 格式化货币/百分比 |
委派
- 选择图表类型前,先探索数据形状和可用字段:使用
ExploreAgent - 根据需求构建完整的多图表仪表板:使用
TaskAgent - 为大规模分析页面规划可视化架构:使用
PlanAgent
参考资料
评论
支持 Markdown