【计算机工具类-开发工具Skills】claude-d3js-skill 技能
使用D3.js创建复杂、交互式数据可视化的专业指导技能。D3.js擅长将数据绑定到DOM元素并应用数据驱动的转换创建自定义、出版质量的可视化。技能概述claude-d3js-skill 技能提供使用D3.js创建复杂、交互式数据可视化的指导。D3.js数据驱动文档擅长将数据绑定到DOM元素并应用数据驱动的转换以创建具有精确控制每个视觉元素的自定义、出版质量的可视化。这些技术适用于任何JavaScript环境包括原生JavaScript、React、Vue、Svelte和其他框架。下载地址agentic-awesome-skills/skills/claude-d3js-skill at main · sickn33/agentic-awesome-skills · GitHub主要功能自定义可视化: 创建需要独特视觉编码或布局的自定义可视化交互式探索: 实现复杂的平移、缩放或刷选行为的交互式探索网络/图形可视化: 力导向布局、树形图、层次结构、和弦图地理可视化: 使用自定义投影的地理可视化平滑过渡: 需要平滑、精心编排的过渡的可视化出版质量图形: 具有精细样式控制的出版质量图形触发条件在以下情况下应该使用D3.js:需要独特视觉编码或布局的自定义可视化具有复杂平移、缩放或刷选行为的交互式探索网络/图形可视化力导向布局、树形图、层次结构、和弦图使用自定义投影的地理可视化需要平滑、精心编排的过渡的可视化具有精细样式控制的出版质量图形标准库中不可用的新颖图表类型核心工作流程1. 设置D3.jsimport * as d3 from d3;// 或使用CDN版本7.x// script srchttps://d3js.org/d3.v7.min.js/script2. 选择集成模式模式A: 直接DOM操作推荐用于大多数情况使用D3选择DOM元素并以命令式方式操作它们。这适用于任何JavaScript环境。模式B: 声明式渲染用于具有模板的框架使用D3进行数据计算比例、布局但通过框架渲染元素。3. 构建可视化代码function drawVisualization(data) {if (!data || data.length 0) return;const svg d3.select(#chart);svg.selectAll(*).remove();// 1. 定义尺寸const width 800;const height 400;const margin { top: 20, right: 30, bottom: 40, left: 50 };// 2. 创建主组const g svg.append(g).attr(transform, translate(${margin.left},${margin.top}));// 3. 创建比例const xScale d3.scaleLinear().domain([0, d3.max(data, d d.x)]).range([0, innerWidth]);// 4. 创建并添加坐标轴// 5. 绑定数据并创建视觉元素}常见可视化模式条形图const xScale d3.scaleBand().domain(data.map(d d.category)).range([0, innerWidth]).padding(0.1);const yScale d3.scaleLinear().domain([0, d3.max(data, d d.value)]).range([innerHeight, 0]);g.selectAll(rect).data(data).join(rect).attr(x, d xScale(d.category)).attr(y, d yScale(d.value)).attr(width, xScale.bandwidth()).attr(height, d innerHeight - yScale(d.value)).attr(fill, steelblue);折线图const line d3.line().x(d xScale(d.date)).y(d yScale(d.value)).curve(d3.curveMonotoneX);g.append(path).datum(data).attr(fill, none).attr(stroke, steelblue).attr(stroke-width, 2).attr(d, line);散点图g.selectAll(circle).data(data).join(circle).attr(cx, d xScale(d.x)).attr(cy, d yScale(d.y)).attr(r, d sizeScale(d.size)).attr(fill, d colourScale(d.category)).attr(opacity, 0.7);添加交互性工具提示const tooltip d3.select(body).append(div).attr(class, tooltip).style(position, absolute).style(visibility, hidden);circles.on(mouseover, function(event, d) {tooltip.style(visibility, visible).html(strong${d.label}/strongbr/Value: ${d.value});}).on(mousemove, function(event) {tooltip.style(top, (event.pageY - 10) px).style(left, (event.pageX 10) px);}).on(mouseout, function() {tooltip.style(visibility, hidden);});缩放和平移const zoom d3.zoom().scaleExtent([0.5, 10]).on(zoom, (event) {g.attr(transform, event.transform);});svg.call(zoom);过渡和动画// 基本过渡circles.transition().duration(750).attr(r, 10);// 链式过渡circles.transition().duration(500).attr(fill, orange).transition().duration(500).attr(r, 15);// 交错过渡circles.transition().delay((d, i) i * 50).duration(500).attr(cy, d yScale(d.value));最佳实践数据准备始终在可视化之前验证和准备数据过滤无效值如果顺序重要对数据进行排序解析日期性能优化对于大型数据集1000个元素使用canvas而不是SVG使用四叉树进行碰撞检测简化路径实现虚拟滚动使用requestAnimationFrame进行自定义动画可访问性添加ARIA标签添加标题和描述确保足够的颜色对比度为交互元素提供键盘导航包含数据表替代方案使用限制仅在任务明确匹配上述范围时使用此技能。不要将输出作为环境特定验证、测试或专家审查的替代品。如果缺少所需的输入、权限、安全边界或成功标准请停止并寻求澄清。

相关新闻

蓝牙芯片驱动开发-第8章第9题-如何选择天线切换时的驱动策略

蓝牙芯片驱动开发-第8章第9题-如何选择天线切换时的驱动策略

蓝牙面试题解析:如何选择天线切换时的驱动策略? 难度:⭐⭐⭐⭐ 较难 | 场景:社招二面/三面、射频天线设计 | 高频:🔥🔥🔥🔥 标准答案 天线切换驱动策略的选择取决于 切换速度、信号连续性、射频特性,通常在硬切换和软切换之间权衡: ① 切换策略对比 // 两种主…

2026/9/27 19:53:58 阅读更多 →
第50篇:Vibe Coding时代:LangGraph 企业级 Coding Agent 架构总结——用 TaoToken 统一 Key 打通可控可审计的 AI 开发系统

第50篇:Vibe Coding时代:LangGraph 企业级 Coding Agent 架构总结——用 TaoToken 统一 Key 打通可控可审计的 AI 开发系统

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/9/27 19:53:58 阅读更多 →
3步搞定中考网络应用服务平台从零搭建防黑攻略

3步搞定中考网络应用服务平台从零搭建防黑攻略

3步搞定中考网络应用服务平台从零搭建防黑攻略 昨晚三点,我盯着屏幕上一堆乱码,手心全是汗。客户电话催得紧,说网站被黑了,首页挂满了乱七八糟的广告链接,后台数据也被拖走一部分。这种“网站被黑挂马不知道怎么办”的恐慌,很多做政务或教育类项目的甲…

2026/9/27 19:53:58 阅读更多 →

最新新闻

硬件工程师面试高频考点:ADC采样、EMC整改与运放稳定性深度拆解

硬件工程师面试高频考点:ADC采样、EMC整改与运放稳定性深度拆解

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/9/27 20:30:18 阅读更多 →
网站建设建设公司怎么选?3步避开坑,让官网自带流量

网站建设建设公司怎么选?3步避开坑,让官网自带流量

网站建设建设公司怎么选?3步避开坑,让官网自带流量 网站做好了没人访问,是不是特别扎心?很多山东老板花几万块找网站建设建设公司,结果上线三个月,百度搜自己公司名都排在第二页,后台数据全是零。这钱花得冤不冤?太冤了。…

2026/9/27 20:30:17 阅读更多 →
DC-Pi工业控制器:PLC/HMI/AI三位一体边缘智能实践

DC-Pi工业控制器:PLC/HMI/AI三位一体边缘智能实践

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/9/27 20:30:17 阅读更多 →
《第三代移动通信系统》PDF如何赋能5G/6G协议开发与现网排障

《第三代移动通信系统》PDF如何赋能5G/6G协议开发与现网排障

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/9/27 20:30:17 阅读更多 →
三维袋占59%份额:生物反应器一次性袋子选型与验证要点

三维袋占59%份额:生物反应器一次性袋子选型与验证要点

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/9/27 20:30:17 阅读更多 →
IR2104半桥驱动空载发热排查:死区时间不足导致的MOS管直通问题

IR2104半桥驱动空载发热排查:死区时间不足导致的MOS管直通问题

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/9/27 20:29:17 阅读更多 →

日新闻

如何划分训练/验证集:Spirula Studio五种eval_mode策略详解

如何划分训练/验证集:Spirula Studio五种eval_mode策略详解

如何划分训练/验证集:Spirula Studio五种eval_mode策略详解 【免费下载链接】spirula-studio Cross-vendor 3D Gaussian Splatting trainer - video to splat to mesh, Vulkan or CUDA. 项目地址: https://gitcode.com/GitHub_Trending/sp/spirula-studio Sp…

2026/9/27 0:00:34 阅读更多 →
SEO怎么推广速查手册新手避坑实战指南

SEO怎么推广速查手册新手避坑实战指南

SEO怎么推广速查手册新手避坑实战指南 模板网站太丑不够用?别急着加滤镜,那是治标不治本。很多老板盯着后台流量掉得眼红,却还在纠结首页Banner的圆角是不是3像素。这就像穿着西装去挖土,姿势不对,努力白费。我整理这份 速查手册…

2026/9/27 0:00:34 阅读更多 →
FireRed-OpenStoryline少样本仿写深度解析:AI Agent如何复刻你的独特文案风格与节奏

FireRed-OpenStoryline少样本仿写深度解析:AI Agent如何复刻你的独特文案风格与节奏

FireRed-OpenStoryline少样本仿写深度解析:AI Agent如何复刻你的独特文案风格与节奏 【免费下载链接】FireRed-OpenStoryline FireRed-OpenStoryline is an AI video editing agent that transforms manual editing into intention-driven directing through natural language …

2026/9/27 0:00:34 阅读更多 →

周新闻

如何划分训练/验证集:Spirula Studio五种eval_mode策略详解

如何划分训练/验证集:Spirula Studio五种eval_mode策略详解

如何划分训练/验证集:Spirula Studio五种eval_mode策略详解 【免费下载链接】spirula-studio Cross-vendor 3D Gaussian Splatting trainer - video to splat to mesh, Vulkan or CUDA. 项目地址: https://gitcode.com/GitHub_Trending/sp/spirula-studio Sp…

2026/9/27 0:00:34 阅读更多 →
SEO怎么推广速查手册新手避坑实战指南

SEO怎么推广速查手册新手避坑实战指南

SEO怎么推广速查手册新手避坑实战指南 模板网站太丑不够用?别急着加滤镜,那是治标不治本。很多老板盯着后台流量掉得眼红,却还在纠结首页Banner的圆角是不是3像素。这就像穿着西装去挖土,姿势不对,努力白费。我整理这份 速查手册…

2026/9/27 0:00:34 阅读更多 →
FireRed-OpenStoryline少样本仿写深度解析:AI Agent如何复刻你的独特文案风格与节奏

FireRed-OpenStoryline少样本仿写深度解析:AI Agent如何复刻你的独特文案风格与节奏

FireRed-OpenStoryline少样本仿写深度解析:AI Agent如何复刻你的独特文案风格与节奏 【免费下载链接】FireRed-OpenStoryline FireRed-OpenStoryline is an AI video editing agent that transforms manual editing into intention-driven directing through natural language …

2026/9/27 0:00:34 阅读更多 →

月新闻

持续集成 流水线自动化与 声明式交付 实践:原型怎样变成可用功能

持续集成 流水线自动化与 声明式交付 实践:原型怎样变成可用功能

持续集成 流水线自动化与 声明式交付 实践:原型怎样变成可用功能分类:[AI/大模型]细分主题:AI 增强型 CI/CD 流水线自动化与 GitOps 实践:Agent 工作流、工具调用与任务拆解:从原型到生产的验收清单很多团队在尝试用大…

2026/9/27 9:12:14 阅读更多 →
容器编排 生产环境运维与排障实战:复盘记录怎样真正派上用场

容器编排 生产环境运维与排障实战:复盘记录怎样真正派上用场

容器编排 生产环境运维与排障实战:复盘记录怎样真正派上用场分类:[工程技术]细分主题:Kubernetes 生产环境运维与排障实战:可复制的项目复盘模板与决策记录大部分团队的事故复盘报告,最后都变成了躺在 Confluence 或钉…

2026/9/25 20:29:31 阅读更多 →
容器 容器化技术与镜像安全管理:核心链路应该先拆哪一步

容器 容器化技术与镜像安全管理:核心链路应该先拆哪一步

容器 容器化技术与镜像安全管理:核心链路应该先拆哪一步分类:[工程技术]细分主题:Docker 容器化技术与镜像安全管理:核心链路的逐步实现与关键代码取舍面对一个积累了五六年历史包袱的单体架构应用(包含 Web 接口、后台…

2026/9/26 22:52:30 阅读更多 →