用途:该技能用于创建 D3.js 图表和交互式数据可视化,适合构建柱状图、折线图、散点图、饼图以及力导向图等图形。
主要能力:涵盖选择与数据绑定、比例尺、坐标轴、常见图表类型与交互功能。数据绑定使用 d3.select、selectAll、data 与 join(推荐 replace):
svg.selectAll('rect').data(data).join('rect');
比例尺包括 d3.scaleLinear、d3.scaleBand、d3.scaleTime 与 d3.scaleOrdinal。坐标轴用 d3.axisBottom / d3.axisLeft 并 call 到 SVG 分组上。示例图表包含柱状图(scaleBand + scaleLinear)、折线图(d3.line、curveMonotoneX、散点)、饼图/环形图(d3.pie、d3.arc、innerRadius)。交互功能包括自定义 tooltip(mouseover/mousemove/mouseout 控制位置与可见性)、过渡动画(transition().duration()、delay()、attr())与缩放平移(d3.zoom().scaleExtent())。数据处理使用 d3.timeParse、d3.format、d3.format('$,.2f')、d3.format('.1%')。
使用方式:通过 d3.select(container).append('svg') 创建画布,绑定数据后设置属性,按需添加坐标轴与图例;常见图表函数接受 data、container 和 { width, height, margin } 选项。
最佳实践:用 join() 简化 enter/update/exit;节流 resize;简单样式用 CSS;避免过多 DOM 更新;为 SVG 添加 aria-label、为装饰性图表添加 role="img"、提供数据表格、保证颜色对比度。
限制:资料未提供安装命令、版本要求、收费方式、平台与具体运行步骤,暂未提供相关信息。