📄 d3/api

File: api.md | Updated: 11/15/2025

Source: https://d3js.org/api

Skip to content

Return to top

API index

==============================================

D3 is a collection of modules that are designed to work together; you can use the modules independently, or you can use them together as part of the default build.

d3-array


Array manipulation, ordering, searching, summarizing, etc.

Add

Add floating point values with full precision.

  • new Adder
    • create a full precision adder.
  • adder.add
    • add a value to an adder.
  • adder.valueOf
    • get the double-precision representation of an adder’s value.
  • fcumsum
    • compute a full precision cumulative summation of numbers.
  • fsum
    • compute a full precision summation of an iterable of numbers.

Bin

Bin discrete samples into continuous, non-overlapping intervals.

Bisect

Quickly find a value in a sorted array.

Blur

Blur quantitative values in one or two dimensions.

  • d3.blur
    • blur an array of numbers in place.
  • d3.blur2
    • blur a two-dimensional array of numbers in place.
  • d3.blurImage
    • blur an RGBA ImageData in place.

Group

Group discrete values.

Intern

Create maps and sets with non-primitive values such as dates.

Sets

Logical operations on sets.

Sort

Sort and reorder arrays of values.

Summarize

Compute summary statistics.

  • d3.count
    • count valid number values in an iterable.
  • d3.min
    • compute the minimum value in an iterable.
  • d3.minIndex
    • compute the index of the minimum value in an iterable.
  • d3.max
    • compute the maximum value in an iterable.
  • d3.maxIndex
    • compute the index of the maximum value in an iterable.
  • d3.least
    • returns the least element of an iterable.
  • d3.leastIndex
    • returns the index of the least element of an iterable.
  • d3.greatest
    • returns the greatest element of an iterable.
  • d3.greatestIndex
    • returns the index of the greatest element of an iterable.
  • d3.extent
    • compute the minimum and maximum value in an iterable.
  • d3.mode
    • compute the mode (the most common value) of an iterable of numbers.
  • d3.sum
    • compute the sum of an iterable of numbers.
  • d3.mean
    • compute the arithmetic mean of an iterable of numbers.
  • d3.median
    • compute the median of an iterable of numbers (the 0.5-quantile).
  • d3.medianIndex
    • compute the median index of an iterable of numbers (the 0.5-quantile).
  • d3.cumsum
    • compute the cumulative sum of an iterable.
  • d3.quantile
    • compute a quantile for an iterable of numbers.
  • d3.quantileIndex
    • compute a quantile index for an iterable of numbers.
  • d3.quantileSorted
    • compute a quantile for a sorted array of numbers.
  • d3.rank
    • compute the rank order of an iterable.
  • d3.variance
    • compute the variance of an iterable of numbers.
  • d3.deviation
    • compute the standard deviation of an iterable of numbers.
  • d3.every
    • test if all values satisfy a condition.
  • d3.some
    • test if any value satisfies a condition.

Ticks

Generate representative values from a continuous interval.

  • d3.ticks
    • generate representative values from a numeric interval.
  • d3.tickIncrement
    • generate representative values from a numeric interval.
  • d3.tickStep
    • generate representative values from a numeric interval.
  • d3.nice
    • extend an interval to align with ticks.
  • d3.range
    • generate a range of numeric values.

Transform

Derive new arrays.

d3-axis


Human-readable reference marks for scales.

d3-brush


Select a one- or two-dimensional region using the mouse or touch.

d3-chord


d3-color


Color manipulation and color space conversion.

d3-contour


Compute contour polygons using marching squares.

d3-delaunay


Compute the Voronoi diagram of a set of two-dimensional points.

d3-dispatch


Separate concerns using named callbacks.

d3-drag


Drag and drop SVG, HTML or Canvas using mouse or touch input.

d3-dsv


Parse and format delimiter-separated values, most commonly CSV and TSV.

d3-ease


Easing functions for smooth animation.

d3-fetch


Convenience methods on top of the Fetch API.

d3-force


Force-directed graph layout using velocity Verlet integration.

d3-format


Format numbers for human consumption.

d3-geo


Geographic projections, shapes and math.

Paths

Projections

Raw projections

Azimuthal projections

Conic projections

Cylindrical projections

Streams

Spherical shapes

Spherical math

  • d3.geoArea
    • compute the spherical area of a given feature.
  • d3.geoBounds
    • compute the latitude-longitude bounding box for a given feature.
  • d3.geoCentroid
    • compute the spherical centroid of a given feature.
  • d3.geoDistance
    • compute the great-arc distance between two points.
  • d3.geoLength
    • compute the length of a line string or the perimeter of a polygon.
  • d3.geoInterpolate
    • interpolate between two points along a great arc.
  • d3.geoContains
    • test whether a point is inside a given feature.
  • d3.geoRotation
    • create a rotation function for the specified angles.

d3-hierarchy


Layout algorithms for visualizing hierarchical data.

d3-interpolate


Interpolate numbers, colors, strings, arrays, objects, whatever!

Value interpolation

Color interpolation

Transform interpolation

Zoom interpolation

d3-path


Serialize Canvas path commands to SVG.

d3-polygon


Geometric operations for two-dimensional polygons.

d3-quadtree


Two-dimensional recursive spatial subdivision.

d3-random


Generate random numbers from various distributions.

d3-scale


Encodings that map abstract data to visual representation.

Linear scales

Map a continuous, quantitative domain to a continuous range.

Pow scales

Log scales

Symlog scales

Time scales

Sequential scales

Map a continuous, quantitative domain to a continuous, fixed interpolator.

Diverging scales

Map a continuous, quantitative domain to a continuous, fixed interpolator.

Quantize scales

Map a continuous, quantitative domain to a discrete range.

Quantile scales

Threshold scales

Ordinal scales

Map a discrete domain to a discrete range.

Band scales

Point scales

d3-scale-chromatic


Color ramps and palettes for quantitative, ordinal and categorical scales.

Categorical

Cyclical

Diverging

Sequential

d3-selection


Transform the DOM by selecting elements and joining to data.

Selecting elements

Modifying elements

Joining data

Handling events

Control flow

Local variables

Namespaces

d3-shape


Graphical primitives for visualization.

Arcs

Circular or annular sectors, as in a pie or donut chart.

Pies

Compute the necessary angles to represent a tabular dataset as a pie or donut chart.

Lines

A spline or polyline, as in a line chart.

Areas

An area, defined by a bounding topline and baseline, as in an area chart.

Curves

Interpolate between points to produce a continuous shape.

Links

A smooth cubic Bézier curve from a source to a target.

Symbols

A categorical shape encoding, as in a scatterplot.

Stacks

Stack shapes, placing one adjacent to another, as in a stacked bar chart.

d3-time


A calculator for humanity’s peculiar conventions of time.

d3-time-format


Parse and format times, inspired by strptime and strftime.

d3-timer


An efficient queue for managing thousands of concurrent animations.

d3-transition


Animated transitions for selections .

d3-zoom


Pan and zoom SVG, HTML or Canvas using mouse or touch input.