Skip to content
TelegramWhatsApp

Dictionary

D3.js

D3.js is a JavaScript library for creating dynamic, interactive data visualizations using web standards including SVG, Canvas, and HTML. Rather than providing pre-built chart types, D3 operates at a lower level by binding data to DOM elements and applying data-driven transformations, giving developers complete control over the visual output.

D3 core concept is the data join, where arrays of data are bound to selections of DOM elements. When data changes, D3 determines which elements need to be created, updated, or removed, and provides transition methods for animating between states. The library includes utilities for scales, geographic projections for maps, hierarchical layouts for trees and treemaps, and force simulations for network graphs.

For web development, D3.js is the standard when projects require custom, bespoke visualizations beyond what charting libraries like Chart.js offer. It powers interactive dashboards, data journalism pieces, scientific visualizations, and any scenario where the visualization design is unique. The learning curve is steep compared to higher-level charting libraries because D3 requires understanding data binding, scales, axes, and SVG manipulation. Many teams use D3 indirectly through libraries like Observable Plot that provide higher-level abstractions.