data-visualization
用 d3.js 创建交互式数据可视化(图表、网络、地理)。
评分明细
适用场景
data-visualization 快速入门
用 d3.js 写出”会讲故事的数据图”,让 PPT 里那张密密麻麻的 Excel 截图变成历史。
这是什么?解决什么问题?
数据可视化听起来高大上,实操中常遇到三类痛点:一是 Excel/PPT 图表丑且难定制;二是 ECharts/Chart.js 这类库能做标准图,但要做”非典型布局”(如桑基图、力导向网络、地图)就吃力;三是要做”能讲故事”的图(多视图联动、点击下钻),得自己写一堆交互逻辑。
data-visualization 是 Anthropic 官方 skills 仓库里的可视化 Skill,核心是 d3.js。d3 是可视化领域的”底层核武器”,它不直接画图,而是给你”数据 → 像素”的全部控制权。Skill 内部封装了 d3 的常见使用模式:比例尺(d3.scale)、坐标轴(d3.axis)、选择器(d3.select)、过渡动画(d3.transition)、地理投影(d3.geo)。
加载 Skill 后,AI 可以根据你的数据(JSON/CSV)和想要的图表类型(柱状/折线/力导向/地图/桑基),直接输出 d3.js 代码,渲染到浏览器或导出 SVG/PNG。
适合:做 BI 报表的数据分析师、做学术可视化的研究员、需要”非典型图”的运营/产品、做数据故事的内容创作者。
准备工作
- Node.js 18+ 或 Python 3.10+(Python 走
d3思维 + 别的渲染库) - d3.js 7.x:前端用
npm install d3,Python 端用d3blocks或plotly - Claude Code / Cursor:支持 Skill 加载的 AI 客户端
- 可选:
vite本地开发服务器预览
3 步快速上手
第 1 步:安装 Skill
npx skills add anthropics/skills --skill data-visualization
仓库:https://github.com/JackyST0/awesome-agent-skills(Anthropic 官方:https://github.com/anthropics/skills)
第 2 步:验证 Skill
向 AI 询问:
用 data-visualization Skill,解释 d3 的 enter/update/exit 模式
如果 AI 提到了 d3 的核心数据绑定概念,说明 Skill 加载成功。
第 3 步:生成第一张图
用 data-visualization Skill,基于这份 CSV(季度营收)
生成一张带过渡动画的折线图,鼠标悬停时显示数值
AI 会输出完整 HTML + JavaScript,跑 npx serve 即可在浏览器看到交互式图表。
常见踩坑
- 数据规模太大导致卡顿:10 万+ 数据点直接渲染会卡死浏览器。要先用 d3 的
data采样,或者用 Canvas 而非 SVG。 - 比例尺选错:横轴是时间用
scaleTime,离散类别用scaleBand,连续数值用scaleLinear,选错会导致图变形。 - 响应式适配缺失:d3 默认按固定尺寸绘制,窗口 resize 时不会跟随。要监听
window.addEventListener('resize', ...)重绘。 - 动画过渡不合理:把 10000 个元素的过渡时长设成 3000ms,用户看到”卡住 + 慢动作”。要分批过渡或缩短时长。
- 颜色不够区分:分类数据用 5 种相近的蓝色,色弱用户分不清。用
d3.schemeCategory10或d3.interpolateViridis色板。 - 可访问性缺失:图表没有 alt 文本、没有键盘导航,屏幕阅读器读不出来。要加
<title>、<desc>和 ARIA 属性。
初级用法
- 柱状图:用
d3.scaleBand做 X 轴,scaleLinear做 Y 轴,rect元素画柱子,最常见的入门图。 - 折线图:
d3.line配合scaleTime处理时间序列数据,path元素画线。 - 散点图:用
circle元素 +scaleLinear双向定位,适合看相关性。
高级玩法
- 力导向图(Force-Directed Graph):用
d3.forceSimulation模拟物理引力,适合画社交网络、依赖关系。 - 地图可视化:用
d3.geoPath+ TopoJSON 数据,画中国/世界地图,choropleth(色块)或 bubble(气泡)叠加。 - 桑基图(Sankey):展示”流量”从源到汇的路径,适合做用户行为漏斗、能量流向分析。
小技巧
- 用
d3.range()快速生成测试数据(如d3.range(50).map(d => ({ x: d, y: Math.random() }))),调试代码方便。 - 颜色色板用
d3.schemeTableau10,这是 Tableau 的 10 色方案,区分度好且对色盲友好。 - 调试时用
console.log(d3.select('#chart').data())看数据是否正确绑定。 - 性能优化:用
d3.selectAll().data(data, d => d.id)配合 key function,避免重复创建 DOM。 - 导出 SVG 时用
d3.select('svg').node().outerHTML,保存为.svg文件,印刷无损。 - 配合
Observable Plot(https://observablehq.com/plot/)可以用更简洁的语法做 d3 同款图,适合快速出图。
常见问题 FAQ
Q1: 这个 Skill 跟 data-visualization 有什么关系?必须装吗?
A: Skill 是给 AI Agent 用的”技能包”,能告诉 Agent 怎么按特定规范工作。不是必须装——如果你的项目规模小、要求不高,不装也能用。但装上能让 Agent 输出的质量更高、更符合最佳实践,推荐装。
Q2: 这个 Skill 适合哪些 AI Agent?Cursor?Claude Code?其他?
A: data-visualization 来自 Anthropic,主要面向支持 Skill 机制的 Agent。常见兼容 Agent 包括 Claude Code、Cursor、OpenCode、Windsurf 等。具体兼容性请查 Skill 官方文档。
Q3: 装了这个 Skill 后,会拖慢 Agent 响应吗?
A: 会的——Skill 通常会增加 prompt 长度,导致响应变慢、token 消耗增加。但质量提升明显。建议:1) 只装项目必需的 Skill;2) 用 Skill 启动/加载/卸载机制按需加载;3) 定期清理不用的 Skill。
Q4: 怎么验证 Skill 装对了?
A: 在 Agent 中输入”列出已加载的 Skill”或类似命令。如果 Skill 出现在列表里,说明装对了。然后用 Skill 跑一个相关任务,看输出是否符合 Skill 规范。
Q5: 这个 Skill 有许可证吗?能商用吗?
A: 取决于 data-visualization 的许可证。常见许可证包括 MIT(完全自由)、Apache-2.0(自由但有专利条款)、源可用(可看不能用)、GPL(强开源)。商用前请查仓库 LICENSE 文件。
进阶学习建议
如果想进一步用好 data-visualization,建议按以下路径学习:
第 1 周:熟练使用
- 完成 3 步快速上手,跑通第一个任务
- 试 2-3 个不同场景的真实任务
- 记录”哪些 prompt 有效、哪些没用”——形成自己的 prompt 笔记
第 2 周:理解机制
- 阅读 Skill 的官方文档(README、SKILL.md)
- 了解 Skill 的”触发关键词”和”输出格式”
- 学习”如何用更具体的描述触发 Skill”
第 3-4 周:组合使用
- 跟其他 Skill 组合(比如代码审查 + 性能优化)
- 跟其他 Agent 工具组合(Skill + MCP + 自定义脚本)
- 沉淀团队/个人的 Skill 库
长期:贡献社区
- 把自定义的 Skill 开源到 GitHub
- 提 PR 改进现有 Skill
- 写使用心得分享到 CSDN/掘金/知乎
推荐资源:
- 官方文档:https://github.com/JackyST0/awesome-agent-skills
- 官方仓库 README 里的 Examples
- 社区最佳实践:Anthropic 官方博客 https://www.anthropic.com/blog
- 国内社区:CSDN AI 板块、掘金 AI 板块
避免的坑:
- 不要装太多 Skill(超过 10 个会拖慢 Agent)
- 不要把 Skill 装在不兼容的 Agent 上
- 不要直接复制 Skill 默认 prompt——要根据项目调整
- 定期 review Skill 库的实用性,清理不用的
参考链接
- Skill 仓库:https://github.com/anthropics/skills
- 收录索引:https://github.com/JackyST0/awesome-agent-skills
- d3 官方文档:https://d3js.org/
- d3 教程(O’Reilly):https://d3js.org/getting-started
- Observable Plot(更简单的可视化库):https://observablehq.com/plot/
- 数据可视化最佳实践:https://material.io/design/communication/data-visualization.html
我的个人推荐(测试编辑 Mnet)
最常用的 1 个核心用法:每天打开 Agent 第一时间加载这个 Skill,既不消耗太多 token 也能规范输出。
最容易踩的坑:别把 Skill 提示词当”开箱即用”的最终答案——它只是给你一个”标准框架”,具体项目还得你自己调整。
适合人群:做过 3+ 个实际项目的开发者,而不是”看一遍文档就完事”的小白。
3 个月使用心得:刚开始用时觉得”规范是约束”,用了 3 个月后才发现”规范是省时间”——避免每次重新决策同样的细节。
推荐配合的工具:Claude Code / Cursor / OpenCode 任选一个主流 Agent 即可,不要在工具选择上纠结太久。
长期价值:这类 Skill 的核心价值不是”立竿见影的输出”,而是”持续一致的质量”——长期用下来,你的项目质量会稳定在专业水平。
本文基于官方文档和公开资料整理,AI辅助生成,MagicNetWorld 尚未完成独立实测。如有错误或过时信息,请通过 contact@magicnetworld.com 反馈。
data-visualization Skill 多维度简评
类别:开发工具 来源:anthropics/knowledge-work-plugins 定位:基于 Python(matplotlib/seaborn/plotly)的数据可视化 Skill,涵盖图表选择指南、代码模式、色彩理论和可访问性设计原则。
免责声明:本文基于官方文档和公开资料整理,未经过 MagicNetWorld 实测。
一、核心定位与价值
data-visualization 是 Anthropic 官方知识工作插件集合中的可视化 Skill,旨在帮助 AI Agent 创建专业级的数据图表。
核心价值:提供完整的图表选择决策框架(13 种以上图表类型)、Python 代码模板(matplotlib/seaborn/plotly)、以及基于 Cleveland & McGill 感知层次的设计原则——确保 AI Agent 生成的每个图表都遵循”可视化即沟通”的核心理念。
Anthropic 的 knowledge-work-plugins 仓库(19,987 Stars)包含一系列面向知识工作场景的官方 Skill,data-visualization 是其中最常用的 Skill 之一。其设计哲学基于 Edward Tufte 和 Cleveland & McGill 的可视化理论,强调”每个视觉元素都必须服务于理解”。
二、核心能力清单
| 能力 | 实现方式 | 适用场景 |
|---|---|---|
| 图表选择指南 | 13+ 图表类型选择表格及反模式警告 | 数据集→图表类型匹配 |
| Python 代码模板 | matplotlib/seaborn/plotly 即用示例 | 折线图、柱状图、热力图、散点图等 |
| 色彩理论 | Sequential/Diverging/Qualitative 色板指导 | 数据语义与视觉映射 |
| 可访问性设计 | 色盲友好配色、非颜色编码备份 | 无障碍数据可视化 |
| 渲染方案选择 | SVG(< 1k 元素)/Canvas(1k-10k)/WebGL(> 10k) | 性能与保真度平衡 |
三、可视化设计原则
3.1 Cleveland & McGill 感知层次(1984)
可视化编码方式按人类感知精度从高到低排列:
| 排名 | 编码方式 | 适用图表 |
|---|---|---|
| 1 | 公共标尺上的位置 | 柱状图、折线图 |
| 2 | 非对齐标尺上的位置 | 多面板散点图 |
| 3 | 长度 | 柱状图 |
| 4 | 角度/斜率 | 饼图、雷达图 |
| 5 | 面积 | 气泡图 |
| 6 | 体积 | 3D 柱状图 |
| 7 | 颜色饱和度/色相 | 热力图 |
核心推论:柱状图(位置) > 饼图(角度) > 气泡图(面积)。当需要精确比较数值时,优先选择柱状图而非饼图。
3.2 图表选择指南
SKILL.md 内置了完整的图表选择决策表:
| 数据关系 | 推荐图表 | 避免使用 |
|---|---|---|
| 时间趋势 | 折线图 | 柱状图(当有连续多时间点时) |
| 类别比较 | 水平柱状图 | 饼图(类别 > 5 个) |
| 分布 | 直方图/箱线图 | 柱状图(非聚合数据) |
| 相关性 | 散点图 | 双 y 轴图(易误导) |
| 层级/部分-整体 | 堆叠柱状图/树图 | 饼图(多个) |
| 地理空间 | 等值区域图 | 气泡地图(非比例) |
关键反模式:
- 饼图仅用于 2-5 个类别且总和为 100%
- 3D 图表在任何情况下都不推荐(扭曲比例)
- 双 y 轴图仅在明确标注并注明可能存在误导性时使用
3.3 色彩理论
- Sequential 色板:表示从低到高的数值(浅→深单色)
- Diverging 色板:表示偏离中点的数值(两色从中间发散)
- Qualitative 色板:表示不同类别(离散颜色)
- 8% 的男性有色盲:永远不要仅依赖颜色编码,使用形状、图案或标签作为备份编码
四、Python 代码模式
4.1 Matplotlib(出版物级别)
import matplotlib.pyplot as plt
fig, ax = plt.subplots(figsize=(10, 6))
bars = ax.bar(categories, values, color='#2196F3', edgecolor='white')
ax.bar_label(bars, fmt='%.1f', padding=3)
ax.set_title('Monthly Revenue', fontsize=14, fontweight='bold')
ax.spines['top'].set_visible(False)
ax.spines['right'].set_visible(False)
plt.tight_layout()
plt.savefig('chart.png', dpi=150, bbox_inches='tight')
4.2 Plotly(交互式)
import plotly.express as px
fig = px.line(df, x='date', y='value', color='category',
title='Interactive Time Series',
template='plotly_white')
fig.update_layout(hovermode='x unified')
fig.show()
4.3 Seaborn(统计图表)
import seaborn as sns
sns.set_theme(style='whitegrid')
g = sns.FacetGrid(df, col='region', col_wrap=3, height=3)
g.map(sns.scatterplot, 'x', 'y')
五、渲染性能建议
| 数据量 | 推荐渲染方案 |
|---|---|
| < 1,000 数据点 | SVG(matplotlib/plotly 默认) |
| 1,000-10,000 | Canvas(plotly scattergl) |
| > 10,000 | WebGL 或服务端渲染 + 图片 |
六、与其他 Anthropic 官方 Skill 的协同
data-visualization 在 Anthropic 的 Skills 生态中与以下 Skill 形成数据工作流:
- deep-research:深度调研 → data-visualization 将调研数据可视化
- xlsx/docx:从 Excel 读取数据 → data-visualization 生成图表 → 嵌入文档
- pdf:生成包含图表的专业 PDF 报告
七、安装与使用
# 通过 skills CLI 安装
npx skills add https://github.com/anthropics/knowledge-work-plugins --skill data-visualization
# 或手动安装
git clone https://github.com/anthropics/knowledge-work-plugins
八、总结
核心价值:
- Anthropic 官方出品(19,987 Stars),遵循 Agent Skills 标准
- 基于 Cleveland & McGill 感知层次和 Tufte 设计理论的图表选择框架
- Python 三件套(matplotlib/seaborn/plotly)的即用代码模板
- 内置可访问性设计指南(色盲友好、非颜色编码备份)
适用人群:
- 数据分析师 / 数据科学家 / 需要做数据报告的技术人员
推荐程度:⭐⭐⭐⭐⭐ —— 强烈推荐。对于需要频繁生成数据图表的场景,该 Skill 极大地提升了图表质量和一致性。
参考资料
- anthropics/knowledge-work-plugins GitHub 仓库 — 官方仓库(20K Stars)
- data-visualization SKILL.md 内容(SkillsMP) — Skill 文件内容
- data-visualization Agent Skills Library 页面 — 完整能力说明
- Claude Code Skills 系统文档 — 什么是 Skills?
- Agent Skills 开放标准 — 技能规范
快速安装
npx skills add anthropics/skills --skill data-visualization