Skip to content

API Reference

mbostock edited this page Dec 23, 2012 · 155 revisions

WikiAPI Reference

Everything in D3 is scoped under the d3 namespace. 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.shuffle - randomize the order of 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.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.map - a shim for ES6 maps, since objects are not hashes!
  • map.has - returns true if the map contains the specified key.
  • map.get - returns the value for the specified key.
  • map.set - sets the value for the specified key.
  • map.remove - removes the entry for specified key.
  • map.keys - returns the map’s array of keys.
  • map.values - returns the map’s array of values.
  • map.entries - returns the map’s array of entries (key-values objects).
  • map.forEach - calls the specified function for each entry in the map.
  • d3.xhr - request a resource using XMLHttpRequest.
  • xhr.header - set a request header.
  • xhr.mimeType - set the Accept request header and override the response MIME type.
  • xhr.response - set a response mapping function.
  • xhr.get - issue a GET request.
  • xhr.post - issue a POST request.
  • xhr.send - issue a request with the specified method and data.
  • xhr.abort - abort an outstanding request.
  • xhr.on - add an event listener for "progress", "load" or "error" events.
  • 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.formatPrefix - returns the [SI prefix] for the specified value and precision.
  • 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.symbolTypes - the array of supported symbol types.
  • 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.svg.brush - click and drag to select one- or two-dimensional regions.
  • brush - creates or updates a brush for the given selection or transition.
  • brush.x - get or set the brush’s x-scale.
  • brush.y - get or set the brush’s y-scale.
  • brush.extent - get or set the brush’s extent.
  • brush.clear - reset the brush extent.
  • brush.empty - returns true if the brush extent is empty.
  • brush.on - respond to events when the brush is moved.
  • 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.
  • d3.geo.path - create a new geographic path generator.
  • path - generate the path data string for a given geographic feature.
  • path.context -
  • path.pointRadius - get or set the radius to display point features.
  • path.projection - get or set the geographic projection.
  • path.area - compute the projected area of a given feature.
  • path.centroid - compute the projected centroid of a given feature.
  • path.bounds -
  • d3.geo.greatArc - approximate the shortest path between two points.
  • greatArc - generate a GeoJSON LineString.
  • greatArc.distance - computes the great circle distance, in radians.
  • greatArc.source - specify a source accessor.
  • greatArc.target - specify a target accessor.
  • greatArc.precision - specify the precision of the piecewise arc.
  • d3.geo.interpolate
  • d3.geo.circle - clip features to a circle with arbitrary radius and origin.
  • circle -
  • circle.origin - specify the origin in latitude and longitude.
  • circle.angle - specify the angular radius in degrees.
  • circle.precision - specify the precision of the piecewise circle.
  • d3.geo.area -
  • d3.geo.bounds - compute the latitude-longitude bounding box for a given feature.
  • d3.geo.centroid -
  • d3.geo.projection - create a standard projection from a raw projection.
  • projection - project the specified location.
  • projection.invert - invert the projection for the specified point.
  • projection.rotate - get or set the projection’s three-axis rotation.
  • projection.center - get or set the projection’s center location.
  • projection.translate - get or set the projection’s translation position.
  • projection.scale - get or set the projection’s scale factor.
  • projection.clipAngle - get or set the radius of the projection’s clip circle.
  • projection.precision - get or set the precision threshold for adaptive resampling.
  • projection.stream - wrap the specified stream listener, projecting input geometry.
  • d3.geo.projectionMutator - create a standard projection from a mutable raw projection.
  • d3.geo.albers - construct a new Albers equal-area conic projection.
  • albers.parallels - get or set the projection's two standard parallels.
  • d3.geo.albersUsa - construct a new composite Albers projection for the United States.
  • d3.geo.azimuthalEqualArea -
  • d3.geo.azimuthalEquidistant -
  • d3.geo.equirectangular -
  • d3.geo.gnomonic -
  • d3.geo.mercator -
  • d3.geo.orthographic -
  • d3.geo.stereographic -
  • d3.geo.albers.raw -
  • d3.geo.azimuthalEqualArea.raw -
  • d3.geo.azimuthalEquidistant.raw -
  • d3.geo.equirectangular.raw -
  • d3.geo.gnomonic.raw -
  • d3.geo.mercator.raw -
  • d3.geo.orthographic.raw -
  • d3.geo.stereographic.raw -
Clone this wiki locally