Array manipulation, ordering, searching, summarizing, etc.
Human-readable reference marks for scales.
Select a one- or two-dimensional region using the mouse or touch.
Visualizations relationships or network flow with an aesthetically-pleasing circular layout.
Color spaces! RGB, HSL, Cubehelix, Lab (CIELAB) and HCL (CIELCH).
Compute contour polygons using marching squares.
Compute the Voronoi diagram of a set of two-dimensional points.
Drag and drop SVG, HTML or Canvas using mouse or touch input.
A parser and formatter for delimiter-separated values, such as CSV and TSV.
Easing functions for smooth animation.
Force-directed graph layout using velocity Verlet integration.
Geographic projections, spherical shapes and spherical trigonometry.
Clipping and geometric operations for spherical polygons.
Extended geographic projections for D3.
Group two-dimensional points into hexagonal bins.
2D layout algorithms for visualizing hierarchical data.
Interpolate numbers, colors, strings, arrays, objects, whatever!
Serialize Canvas path commands to SVG.
Generate random numbers from various distributions.
Visualize flow between nodes in a directed acyclic network.
Encodings that map abstract data to visual representation.
Sequential, diverging and categorical color scales.
Transform the DOM by selecting elements and joining to data.
Graphical primitives for visualization, such as lines and areas.
Compute the quadtree tiles to display in a rectangular viewport.
Animated transitions for D3 selections.
Pan and zoom SVG, HTML or Canvas using mouse or touch input.