Skip to content
mbostock edited this page Oct 8, 2012 · 119 revisions

WikiAPI Reference

Everything in D3 is scoped under the d3 namespace. D3 does not introduce anything else in the global namespace, with the exception of two polyfills for nonstandard browsers: Date.now and Object.create.

D3 uses semantic versioning. You can find the current version of D3 as d3.version.

  • d3.ascending - compare two values for sorting.
  • d3.descending - compare two values for sorting.
  • d3.min - find the minimum value in an array.
  • d3.max - find the maximum value in an array.
  • d3.extent - find the minimum and maximum value in an array.
  • d3.sum - compute the sum of an array of numbers.
  • d3.mean - compute the arithmetic mean of an array of numbers.
  • d3.median - compute the median of an array of numbers (the 0.5-quantile).
  • d3.quantile - compute a quantile for a sorted array of numbers.
  • d3.bisect - search for a value in a sorted array.
  • d3.bisectRight - search for a value in a sorted array.
  • d3.bisectLeft - search for a value in a sorted array.
  • d3.bisector - bisect using an accessor.
  • d3.first - find the lowest element in an array.
  • d3.last - find the highest element in an array.
  • d3.permute - reorder an array of elements according to an array of indexes.
  • d3.zip - transpose a variable number of arrays.
  • d3.transpose - transpose an array of arrays.
  • d3.keys - list the keys of an associative array.
  • d3.values - list the values of an associated array.
  • d3.entries - list the key-value entries of an associative array.
  • d3.split - split an array into multiple arrays.
  • d3.merge - merge multiple arrays into one array.
  • d3.range - generate a range of numeric values.
  • d3.nest - group array elements hierarchically.
  • nest.key - add a level to the nest hierarchy.
  • nest.sortKeys - sort the current nest level by key.
  • nest.sortValues - sort the leaf nest level by value.
  • nest.rollup - specify a rollup function for leaf values.
  • nest.map - evaluate the nest operator, returning an associative array.
  • nest.entries - evaluate the nest operator, returning an array of key-values tuples.
  • d3.xhr - request a resource using XMLHttpRequest.
  • d3.text - request a text file.
  • d3.json - request a JSON blob.
  • d3.html - request an HTML document fragment.
  • d3.xml - request an XML document fragment.
  • d3.csv - request a comma-separated values (CSV) file.
  • d3.tsv - request a tab-separated values (TSV) file.
  • d3.format - format a number as a string.
  • d3.requote - quote a string for use in a regular expression.
  • d3.round - rounds a value to some digits after the decimal point.
  • d3.csv - request a comma-separated values (CSV) file.
  • d3.csv.parse - parse a CSV string into objects using the header row.
  • d3.csv.parseRows - parse a CSV string into tuples, ignoring the header row.
  • d3.csv.format - format an array of tuples into a CSV string.
  • d3.tsv - request a tab-separated values (TSV) file.
  • d3.tsv.parse - parse a TSV string into objects using the header row.
  • d3.tsv.parseRows - parse a TSV string into tuples, ignoring the header row.
  • d3.tsv.format - format an array of tuples into a TSV string.
  • d3.rgb - specify a color in RGB space.
  • rgb.brighter - increase RGB channels by some exponential factor (gamma).
  • rgb.darker - decrease RGB channels by some exponential factor (gamma).
  • rgb.hsl - convert from RGB to HSL.
  • rgb.toString - convert an RGB color to a string.
  • d3.hsl - specify a color in HSL space.
  • hsl.brighter - increase lightness by some exponential factor (gamma).
  • hsl.darker - decrease lightness by some exponential factor (gamma).
  • hsl.rgb - convert from HSL to RGB.
  • hsl.toString - convert an HSL color to a string.
  • d3.lab - specify a color in L*a*b* space.
  • lab.brighter - increase lightness by some exponential factor (gamma).
  • lab.darker - decrease lightness by some exponential factor (gamma).
  • lab.rgb - convert from L*a*b* to RGB.
  • lab.toString - convert a L*a*b* color to a string.
  • d3.hcl - specify a color in HCL space.
  • hcl.brighter - increase lightness by some exponential factor (gamma).
  • hcl.darker - decrease lightness by some exponential factor (gamma).
  • hcl.rgb - convert from HCL to RGB.
  • hcl.toString - convert an HCL color to a string.
  • d3.functor - create a function that returns a constant.
  • d3.rebind - rebind an inherited getter/setter method to a subclass.
  • d3.dispatch - create custom event dispatchers.
  • dispatch.on - register an event listener.
  • dispatch - dispatch an event to registered listeners.
  • d3.scale.linear - construct a linear quantitative scale.
  • linear - get the range value corresponding to a given domain value.
  • linear.invert - get the domain value corresponding to a given range value.
  • linear.domain - get or set the scale's input domain.
  • linear.range - get or set the scale's output range.
  • linear.rangeRound - set the scale's output range, and enable rounding.
  • linear.interpolate - get or set the scale's output interpolator.
  • linear.clamp - enable or disable clamping of the output range.
  • linear.nice - extend the scale domain to nice round numbers.
  • linear.ticks - get representative values from the input domain.
  • linear.tickFormat - get a formatter for displaying tick values.
  • linear.copy - create a new scale from an existing scale.
  • d3.scale.sqrt - construct a quantitative scale with a square root transform.
  • d3.scale.pow - construct a quantitative scale with an exponential transform.
  • pow - get the range value corresponding to a given domain value.
  • pow.invert - get the domain value corresponding to a given range value.
  • pow.domain - get or set the scale's input domain.
  • pow.range - get or set the scale's output range.
  • pow.rangeRound - set the scale's output range, and enable rounding.
  • pow.interpolate - get or set the scale's output interpolator.
  • pow.clamp - enable or disable clamping of the output range.
  • pow.nice - extend the scale domain to nice round numbers.
  • pow.ticks - get representative values from the input domain.
  • pow.tickFormat - get a formatter for displaying tick values.
  • pow.exponent - get or set the exponent power.
  • pow.copy - create a new scale from an existing scale.
  • d3.scale.log - construct a quantitative scale with an logarithmic transform.
  • log - get the range value corresponding to a given domain value.
  • log.invert - get the domain value corresponding to a given range value.
  • log.domain - get or set the scale's input domain.
  • log.range - get or set the scale's output range.
  • log.rangeRound - set the scale's output range, and enable rounding.
  • log.interpolate - get or set the scale's output interpolator.
  • log.clamp - enable or disable clamping of the output range.
  • log.nice - extend the scale domain to nice powers of ten.
  • log.ticks - get representative values from the input domain.
  • log.tickFormat - get a formatter for displaying tick values.
  • log.copy - create a new scale from an existing scale.
  • d3.scale.quantize - construct a linear quantitative scale with a discrete output range.
  • quantize - get the range value corresponding to a given domain value.
  • quantize.domain - get or set the scale's input domain.
  • quantize.range - get or set the scale's output range (as discrete values).
  • quantize.copy - create a new scale from an existing scale.
  • d3.scale.threshold - construct a threshold scale with a discrete output range.
  • threshold - get the range value corresponding to a given domain value.
  • threshold.domain - get or set the scale's input domain.
  • threshold.range - get or set the scale's output range (as discrete values).
  • threshold.copy - create a new scale from an existing scale.
  • d3.scale.quantile - construct a quantitative scale mapping to quantiles.
  • quantile - get the range value corresponding to a given domain value.
  • quantile.domain - get or set the scale's input domain (as discrete values).
  • quantile.range - get or set the scale's output range (as discrete values).
  • quantile.quantiles - get the scale's quantile bin thresholds.
  • quantile.copy - create a new scale from an existing scale.
  • d3.scale.identity - construct a linear identity scale.
  • identity - the identity function.
  • identity.invert - equivalent to identity; the identity function.
  • identity.domain - get or set the scale's domain and range.
  • identity.range - equivalent to identity.domain.
  • identity.ticks - get representative values from the domain.
  • identity.tickFormat - get a formatter for displaying tick values.
  • identity.copy - create a new scale from an existing scale.
  • d3.svg.line - create a new line generator.
  • line - generate a piecewise linear curve, as in a line chart.
  • line.x - get or set the x-coordinate accessor.
  • line.y - get or set the y-coordinate accessor.
  • line.interpolate - get or set the interpolation mode.
  • line.tension - get or set the cardinal spline tension.
  • line.defined - control whether the line is defined at a given point.
  • d3.svg.line.radial - create a new radial line generator.
  • line - generate a piecewise linear curve, as in a polar line chart.
  • line.radius - get or set the radius accessor.
  • line.angle - get or set the angle accessor.
  • line.defined - control whether the line is defined at a given point.
  • d3.svg.area - create a new area generator.
  • area - generate a piecewise linear area, as in an area chart.
  • area.x - get or set the x-coordinate accessors.
  • area.x0 - get or set the x0-coordinate (baseline) accessor.
  • area.x1 - get or set the x1-coordinate (topline) accessor.
  • area.y - get or set the y-coordinate accessors.
  • area.y0 - get or set the y0-coordinate (baseline) accessor.
  • area.y1 - get or set the y1-coordinate (topline) accessor.
  • area.interpolate - get or set the interpolation mode.
  • area.tension - get or set the cardinal spline tension.
  • area.defined - control whether the area is defined at a given point.
  • d3.svg.area.radial - create a new area generator.
  • area - generate a piecewise linear area, as in a polar area chart.
  • area.radius - get or set the radius accessors.
  • area.innerRadius - get or set the inner radius (baseline) accessor.
  • area.outerRadius - get or set the outer radius (topline) accessor.
  • area.angle - get or set the angle accessors.
  • area.startAngle - get or set the angle (baseline) accessor.
  • area.endAngle - get or set the angle (topline) accessor.
  • area.defined - control whether the area is defined at a given point.
  • d3.svg.arc - create a new arc generator.
  • arc - generate a solid arc, as in a pie or donut chart.
  • arc.innerRadius - get or set the inner radius accessor.
  • arc.outerRadius - get or set the outer radius accessor.
  • arc.startAngle - get or set the start angle accessor.
  • arc.endAngle - get or set the end angle accessor.
  • arc.centroid - compute the arc centroid.
  • d3.svg.symbol - create a new symbol generator.
  • symbol - generate categorical symbols, as in a scatterplot.
  • symbol.type - get or set the symbol type accessor.
  • symbol.size - get or set the symbol size (in square pixels) accessor.
  • d3.svg.chord - create a new chord generator.
  • chord - generate a quadratic Bézier connecting two arcs, as in a chord diagram.
  • chord.radius - get or set the arc radius accessor.
  • chord.startAngle - get or set the arc start angle accessor.
  • chord.endAngle - get or set the arc end angle accessor.
  • chord.source - get or set the source arc accessor.
  • chord.target - get or set the target arc accessor.
  • d3.svg.diagonal - create a new diagonal generator.
  • diagonal - generate a two-dimensional Bézier connector, as in a node-link diagram.
  • diagonal.source - get or set the source point accessor.
  • diagonal.target - get or set the target point accessor.
  • diagonal.projection - get or set an optional point transform.
  • d3.svg.diagonal.radial - create a new diagonal generator.
  • diagonal - generate a two-dimensional Bézier connector, as in a node-link diagram.
  • d3.time.scale - construct a linear time scale.
  • scale - get the range value corresponding to a given domain value.
  • scale.invert - get the domain value corresponding to a given range value.
  • scale.domain - get or set the scale's input domain.
  • scale.range - get or set the scale's output range.
  • scale.rangeRound - set the scale's output range, and enable rounding.
  • scale.interpolate - get or set the scale's output interpolator.
  • scale.clamp - enable or disable clamping of the output range.
  • scale.ticks - get representative values from the input domain.
  • scale.tickFormat - get a formatter for displaying tick values.
  • scale.copy - create a new scale from an existing scale.
  • d3.layout.bundle - construct a new default bundle layout.
  • bundle - apply Holten's hierarchical bundling algorithm to edges.
  • d3.layout.pack - produce a hierarchical layout using recursive circle-packing.
  • pack.sort - control the order in which sibling nodes are traversed.
  • pack.children - get or set the children accessor function.
  • pack.nodes - compute the pack layout and return the array of nodes.
  • pack.links - compute the parent-child links between tree nodes.
  • pack.value - get or set the value accessor used to size circles.
  • pack.size - specify the layout size in x and y.
  • pack.padding - specify the layout padding in (approximate) pixels.
  • d3.layout.pie - construct a new default pie layout.
  • pie - compute the start and end angles for arcs in a pie or donut chart.
  • pie.value - get or set the value accessor function.
  • pie.sort - control the clockwise order of pie slices.
  • pie.startAngle - get or set the overall start angle of the pie.
  • pie.endAngle - get or set the overall end angle of the pie.
  • d3.layout.stack - construct a new default stack layout.
  • stack - compute the baseline for each series in a stacked bar or area chart.
  • stack.values - get or set the values accessor function per series.
  • stack.order - control the order in which series are stacked.
  • stack.offset - specify the overall baseline algorithm.
  • stack.x - get or set the x-dimension accessor function.
  • stack.y - get or set the y-dimension accessor function.
  • stack.out - get or set the output function for storing the baseline.
  • d3.layout.tree - position a tree of nodes tidily.
  • tree.sort - control the order in which sibling nodes are traversed.
  • tree.children - get or set the children accessor function.
  • tree.nodes - compute the tree layout and return the array of nodes.
  • tree.links - compute the parent-child links between tree nodes.
  • tree.separation - get or set the spacing function between neighboring nodes.
  • tree.size - specify the layout size in x and y.
Clone this wiki locally