Encodings that map abstract data to visual representation.
Array manipulation, ordering, searching, summarizing, etc.
Graphical primitives for visualization, such as lines and areas.
Format numbers for human consumption.
Interpolate numbers, colors, strings, arrays, objects, whatever!
Color spaces! RGB, HSL, Cubehelix, Lab and HCL (Lch).
Data-driven DOM manipulation: select elements and join them to data.
Easing functions for smooth animation.
A calculator for humanity’s peculiar conventions of time.
Animated transitions for D3 selections.
Serialize Canvas path commands to SVG.
Register named callbacks and call them with arguments.
Layout algorithms for visualizing hierarchical data.
Shapes and calculators for spherical coordinates.
An efficient queue capable of managing thousands of concurrent animations.
A parser and formatter for delimiter-separated values, such as CSV and TSV
Select a one- or two-dimensional region using the mouse or touch.
Drag and drop SVG, HTML or Canvas using mouse or touch input.
Generate random numbers from various distributions.