D3.js是基于数据驱动文档的JavaScript库,通过操作SVG/HTML/CSS将数据映射为可视元素,核心流程为绑定数据→生成元素→应用变换与样式。
D3.js 是一个基于数据驱动文档(Data-Driven Documents)的 JavaScript 库,它不直接提供现成的图表组件,而是通过操作 SVG、HTML 和 CSS,将数据映射为可视元素。实现数据可视化的核心在于“绑定数据 → 生成元素 → 应用变换与样式”。下面分几个关键环节说明如何用 D3.js 绘制基础图表。
准备环境与基础结构
引入 D3.js 最简单的方式是通过 CDN:
确保页面中有一个容器(如 svg> 或 ),D3 将在其内部动态创建图形元素。推荐使用 ,因为 D3 对 SVG 的坐标、路径、缩放等支持最成熟。 D3 的核心方法是 selection.data().enter().append() 流程: 这样就用三行数据画出了三个不同大小和位置的圆点——这是柱状图、散点图的起点。 真实图表需要可读的刻度和标尺。D3 提供 scaleLinear()、scaleBand() 等比例尺,把数据值映射为像素位置: 比例尺让数据自动适配画布尺寸,避免硬编码像素值,也方便后续响应式调整。 D3 支持数据变更后的平滑过渡。例如更新数据后重新绑定: 配合鼠标事件(如 .on("click", (event, d) => console.log(d))),就能实现高亮、筛选、联动等交互效果。数据绑定与元素生成
选中 SVG 容器添加坐标轴与比例尺
交互与更新逻辑








