D3.js
API 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
.
See one of:
- Core - selections, transitions, data, localization, colors, etc.
- Scales - convert between data and visual encodings
- SVG - utilities for creating Scalable Vector Graphics
- Time - parse or format times, compute calendar intervals, etc.
- Layouts - derive secondary data for positioning elements
- Geography - project spherical coordinates, latitude & longitude math
- Geometry - utilities for 2D geometry, such as Voronoi diagrams and quadtrees
- Behaviors - reusable interaction behaviors
d3 (core)
Selections
- d3.select - select an element from the current document.
- d3.selectAll - select multiple elements from the current document.
- selection.attr - get or set attribute values.
- selection.classed - add or remove CSS classes.
- selection.style - get or set style properties.
- selection.property - get or set raw properties.
- selection.text - get or set text content.
- selection.html - get or set inner HTML content.
- selection.append - create and append new elements.
- selection.insert - create and insert new elements before existing elements.
- selection.remove - remove elements from the document.
- selection.data - get or set data for a group of elements, while computing a relational join.
- selection.enter - returns placeholders for missing elements.
- selection.exit - returns elements that are no longer needed.
- selection.datum - get or set data for individual elements, without computing a join.
- selection.filter - filter a selection based on data.
- selection.sort - sort elements in the document based on data.
- selection.order - reorders elements in the document to match the selection.
- selection.on - add or remove event listeners for interaction.
- selection.transition - start a transition on the selected elements.
- selection.interrupt - immediately interrupt the current transition, if any.
- selection.each - call a function for each selected element.
- selection.call - call a function passing in the current selection.
- selection.empty - returns true if the selection is empty.
- selection.node - returns the first node in the selection.
- selection.size - returns the number of elements in the selection.
- selection.select - subselect a descendant element for each selected element.
- selection.selectAll - subselect multiple descendants for each selected element.
- d3.selection - augment the selection prototype, or test instance types.
- d3.event - access the current user event for interaction.
- d3.mouse - gets the mouse position relative to a specified container.
- d3.touch - gets a touch position relative to a specified container.
- d3.touches - gets the touch positions relative to a specified container.
Transitions
- d3.transition - start an animated transition.
- transition.delay - specify per-element delay in milliseconds.
- transition.duration - specify per-element duration in milliseconds.
- transition.ease - specify transition easing function.
- transition.attr - smoothly transition to the new attribute value.
- transition.attrTween - smoothly transition between two attribute values.
- transition.style - smoothly transition to the new style property value.
- transition.styleTween - smoothly transition between two style property values.
- transition.text - set the text content when the transition starts.
- transition.tween - specify a custom tween operator to run as part of the transition.
- transition.select - start a transition on a descendant element for each selected element.
- transition.selectAll - start a transition on multiple descendants for each selected element.
- transition.filter - filter a transition based on data.
- transition.transition - when this transition ends, start another one on the same elements.
- transition.remove - remove selected elements at the end of a transition.
- transition.empty - returns true if the transition is empty.
- transition.node - returns the first node in the transition.
- transition.size - returns the number of elements in the selection.
- transition.each - add a listener for transition end events.
- transition.call - call a function passing in the current transition.
- d3.ease - customize transition timing.
- ease - a parametric easing function.
- d3.timer - start a custom animation timer.
- d3.timer.flush - immediately execute any zero-delay timers.
- d3.interpolate - interpolate two values.
- interpolate - a parametric interpolation function.
- d3.interpolateNumber - interpolate two numbers.
- d3.interpolateRound - interpolate two integers.
- d3.interpolateString - interpolate two strings.
- d3.interpolateRgb - interpolate two RGB colors.
- d3.interpolateHsl - interpolate two HSL colors.
- d3.interpolateLab - interpolate two L*a*b* colors.
- d3.interpolateHcl - interpolate two HCL colors.
- d3.interpolateArray - interpolate two arrays of values.
- d3.interpolateObject - interpolate two arbitrary objects.
- d3.interpolateTransform - interpolate two 2D matrix transforms.
- d3.interpolateZoom - zoom and pan between two points smoothly.
- d3.interpolators - register a custom interpolator.
Working with Arrays
- 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.variance - compute the variance of an array of numbers.
- d3.deviation - compute the standard deviation of an 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 or comparator.
- 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.pairs - returns an array of adjacent pairs of elements.
- 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.
- map.empty - returns false if the map has at least one entry.
- map.size - returns the number of entries in the map.
- d3.set - a shim for ES6 sets, since objects are not hashes!
- set.has - returns true if the set contains the specified value.
- set.add - adds the specified value.
- set.remove - removes the specified value.
- set.values - returns the set’s array of values.
- set.forEach - calls the specified function for each value in the set.
- set.empty - returns false if the set has at least one value.
- set.size - returns the number of values in the set.
Math
- d3.random.normal - generate a random number with a normal distribution.
- d3.random.logNormal - generate a random number with a log-normal distribution.
- d3.random.bates - generate a random number with a Bates distribution.
- d3.random.irwinHall - generate a random number with an Irwin–Hall distribution.
- d3.transform - compute the standard form of a 2D matrix transform.
Loading External Resources
- 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.
String Formatting
- 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.
CSV Formatting (d3.csv)
- 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 objects into a CSV string.
- d3.csv.formatRows - 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 objects into a TSV string.
- d3.tsv.formatRows - format an array of tuples into a TSV string.
- d3.dsv - create a parser/formatter for the specified delimiter and mime type.
Localization
- d3.locale - create a new locale using the specified strings.
- locale.numberFormat - create a new number formatter.
- locale.timeFormat - create a new time formatter / parser.
Colors
- 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.
Namespaces
- d3.ns.prefix - access or extend known XML namespaces.
- d3.ns.qualify - qualify a prefixed name, such as "xlink:href".
Internals
- d3.functor - create a function that returns a constant.
- d3.rebind - rebind an inherited getter/setter method to a subclass.
- d3.dispatch - create a custom event dispatcher.
- dispatch.on - register or unregister an event listener.
- dispatch.type - dispatch an event to registered listeners.
d3.scale (Scales)
Quantitative
- 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 a 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.base - get or set the scale's logarithmic base.
- 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.invertExtent - get the domain values for the specified range 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.invertExtent - get the domain values for the specified range 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.invertExtent - get the domain values for the specified range 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.
Ordinal
- d3.scale.ordinal - construct an ordinal scale.
- ordinal - get the range value corresponding to a given domain value.
- ordinal.domain - get or set the scale's input domain.
- ordinal.range - get or set the scale's output range.
- ordinal.rangePoints - divide a continuous output range for discrete points.
- ordinal.rangeRoundPoints - divide a continuous output range for discrete points.
- ordinal.rangeBands - divide a continuous output range for discrete bands.
- ordinal.rangeRoundBands - divide a continuous output range for discrete bands.
- ordinal.rangeBand - get the discrete range band width.
- ordinal.rangeExtent - get the minimum and maximum values of the output range.
- ordinal.copy - create a new scale from an existing scale.
- d3.scale.category10 - construct an ordinal scale with ten categorical colors.
- d3.scale.category20 - construct an ordinal scale with twenty categorical colors.
- d3.scale.category20b - construct an ordinal scale with twenty categorical colors.
- d3.scale.category20c - construct an ordinal scale with twenty categorical colors.
d3.svg (SVG)
Shapes
- 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.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.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.cornerRadius - get or set the corner radius accessor.
- arc.padRadius - get or set the pad radius accessor.
- arc.startAngle - get or set the start angle accessor.
- arc.endAngle - get or set the end angle accessor.
- arc.padAngle - get or set the pad 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.
Axes
- d3.svg.axis - create a new axis generator.
- axis - creates or updates an axis for the given selection or transition.
- axis.scale - get or set the axis scale.
- axis.orient - get or set the axis orientation.
- axis.ticks - control how ticks are generated for the axis.
- axis.tickValues - specify tick values explicitly.
- axis.tickSize - specify the size of major, minor and end ticks.
- axis.innerTickSize - specify the size of inner ticks.
- axis.outerTickSize - specify the size of outer ticks.
- axis.tickPadding - specify padding between ticks and tick labels.
- axis.tickFormat - override the tick formatting for labels.
Controls
- d3.svg.brush - click and drag to select one- or two-dimensional regions.
- brush - apply a brush to the given selection or transition.
- brush.x - the brush’s x-scale, for horizontal brushing.
- brush.y - the brush’s y-scale, for vertical brushing.
- brush.extent - the brush’s extent in zero, one or two dimensions.
- brush.clear - reset the brush extent.
- brush.empty - whether or not the brush extent is empty.
- brush.on - listeners for when the brush is moved.
- brush.event - dispatch brush events after setting the extent.
d3.time (Time)
Time Formatting
- d3.time.format - create a new local time formatter for a given specifier.
- format - format a date into a string.
- format.parse - parse a string into a date.
- d3.time.format.multi - create a new local multi-resolution time formatter.
- d3.time.format.utc - create a new UTC time formatter for a given specifier.
- d3.time.format.iso - the ISO 8601 UTC time formatter.
Time Scales
- 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.nice - extend the scale domain to nice round numbers.
- 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.
Time Intervals
- d3.time.interval - a time interval in local time.
- interval - alias for interval.floor.
- interval.range - returns dates within the specified range.
- interval.floor - rounds down to the nearest interval.
- interval.round - rounds up or down to the nearest interval.
- interval.ceil - rounds up to the nearest interval.
- interval.offset - returns a date offset by some interval.
- interval.utc - returns the UTC-equivalent time interval.
- d3.time.day - every day (12:00 AM).
- d3.time.days - alias for day.range.
- d3.time.dayOfYear - computes the day number.
- d3.time.hour - every hour (e.g., 1:00 AM).
- d3.time.hours - alias for hour.range.
- d3.time.minute - every minute (e.g., 1:02 AM).
- d3.time.minutes - alias for minute.range.
- d3.time.month - every month (e.g., February 1, 12:00 AM).
- d3.time.months - alias for month.range.
- d3.time.second - every second (e.g., 1:02:03 AM).
- d3.time.seconds - alias for second.range.
- d3.time.sunday - every Sunday (e.g., February 5, 12:00 AM).
- d3.time.sundays - alias for sunday.range.
- d3.time.sundayOfYear - computes the sunday-based week number.
- d3.time.monday - every Monday (e.g., February 5, 12:00 AM).
- d3.time.mondays - alias for monday.range.
- d3.time.mondayOfYear - computes the monday-based week number.
- d3.time.tuesday - every Tuesday (e.g., February 5, 12:00 AM).
- d3.time.tuesdays - alias for tuesday.range.
- d3.time.tuesdayOfYear - computes the tuesday-based week number.
- d3.time.wednesday - every Wednesday (e.g., February 5, 12:00 AM).
- d3.time.wednesdays - alias for wednesday.range.
- d3.time.wednesdayOfYear - computes the wednesday-based week number.
- d3.time.thursday - every Thursday (e.g., February 5, 12:00 AM).
- d3.time.thursdays - alias for thursday.range.
- d3.time.thursdayOfYear - computes the thursday-based week number.
- d3.time.friday - every Friday (e.g., February 5, 12:00 AM).
- d3.time.fridays - alias for friday.range.
- d3.time.fridayOfYear - computes the friday-based week number.
- d3.time.saturday - every Saturday (e.g., February 5, 12:00 AM).
- d3.time.saturdays - alias for saturday.range.
- d3.time.saturdayOfYear - computes the saturday-based week number.
- d3.time.week - alias for sunday.
- d3.time.weeks - alias for sunday.range.
- d3.time.weekOfYear - alias for sundayOfYear.
- d3.time.year - every year (e.g., January 1, 12:00 AM).
- d3.time.years - alias for year.range.
d3.layout (Layouts)
Bundle
- d3.layout.bundle - construct a new default bundle layout.
- bundle - apply Holten's hierarchical bundling algorithm to edges.
Chord
- d3.layout.chord - produce a chord diagram from a matrix of relationships.
- chord.matrix - get or set the matrix data backing the layout.
- chord.padding - get or set the angular padding between chord segments.
- chord.sortGroups - get or set the comparator function for groups.
- chord.sortSubgroups - get or set the comparator function for subgroups.
- chord.sortChords - get or set the comparator function for chords (z-order).
- chord.chords - retrieve the computed chord angles.
- chord.groups - retrieve the computed group angles.
Cluster
- d3.layout.cluster - cluster entities into a dendrogram.
- cluster - alias for cluster.nodes.
- cluster.nodes - compute the cluster layout and return the array of nodes.
- cluster.links - compute the parent-child links between tree nodes.
- cluster.children - get or set the accessor function for child nodes.
- cluster.sort - get or set the comparator function for sibling nodes.
- cluster.separation - get or set the spacing function between neighboring nodes.
- cluster.size - get or set the layout size in x and y.
- cluster.nodeSize - specify a fixed size for each node.
Force
- d3.layout.force - position linked nodes using physical simulation.
- force.on - listen to updates in the computed layout positions.
- force.nodes - get or set the array of nodes to layout.
- force.links - get or set the array of links between nodes.
- force.size - get or set the layout size in x and y.
- force.linkDistance - get or set the link distance.
- force.linkStrength - get or set the link strength.
- force.friction - get or set the friction coefficient.
- force.charge - get or set the charge strength.
- force.chargeDistance - get or set the maximum charge distance.
- force.gravity - get or set the gravity strength.
- force.theta - get or set the accuracy of the charge interaction.
- force.start - start or restart the simulation when the nodes change.
- force.resume - reheat the cooling parameter and restart simulation.
- force.stop - immediately terminate the simulation.
- force.alpha - get or set the layout's cooling parameter.
- force.tick - run the layout simulation one step.
- force.drag - bind a behavior to nodes to allow interactive dragging.
Hierarchy
- d3.layout.hierarchy - derive a custom hierarchical layout implementation.
- hierarchy - alias for hierarchy.nodes.
- hierarchy.nodes - compute the layout and return the array of nodes.
- hierarchy.links - compute the parent-child links between tree nodes.
- hierarchy.children - get or set the accessor function for child nodes.
- hierarchy.sort - get or set the comparator function for sibling nodes.
- hierarchy.value - get or set the value accessor function.
- hierarchy.revalue - recompute the hierarchy values.
Histogram
- d3.layout.histogram - construct a new default histogram layout.
- histogram - compute the distribution of data using quantized bins.
- histogram.value - get or set the value accessor function.
- histogram.range - get or set the considered value range.
- histogram.bins - specify how values are organized into bins.
- histogram.frequency - compute the distribution as counts or probabilities.
Pack
- d3.layout.pack - produce a hierarchical layout using recursive circle-packing.
- pack - alias for pack.nodes.
- pack.nodes - compute the pack layout and return the array of nodes.
- pack.links - compute the parent-child links between tree nodes.
- pack.children - get or set the children accessor function.
- pack.sort - control the order in which sibling nodes are traversed.
- pack.value - get or set the value accessor used to size circles.
- pack.size - specify the layout size in x and y.
- pack.radius - specify the node radius, rather than deriving it from value.
- pack.padding - specify the layout padding in (approximate) pixels.
Partition
- d3.layout.partition - recursively partition a node tree into a sunburst or icicle.
- partition - alias for partition.nodes.
- partition.nodes - compute the partition layout and return the array of nodes.
- partition.links - compute the parent-child links between tree nodes.
- partition.children - get or set the children accessor function.
- partition.sort - control the order in which sibling nodes are traversed.
- partition.value - get or set the value accessor used to size circles.
- partition.size - specify the layout size in x and y.
Pie
- 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.
- pie.padAngle - get or set the pad angle of the pie.
Stack
- 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.
Tree
- d3.layout.tree - position a tree of nodes tidily.
- tree - alias for tree.nodes.
- tree.nodes - compute the tree layout and return the array of nodes.
- tree.links - compute the parent-child links between tree nodes.
- tree.children - get or set the children accessor function.
- tree.sort - control the order in which sibling nodes are traversed.
- tree.separation - get or set the spacing function between neighboring nodes.
- tree.size - specify the layout size in x and y.
- tree.nodeSize - specify a fixed size for each node.
Treemap
- d3.layout.treemap - use recursive spatial subdivision to display a tree of nodes.
- treemap - alias for treemap.nodes.
- treemap.nodes - compute the treemap layout and return the array of nodes.
- treemap.links - compute the parent-child links between tree nodes.
- treemap.children - get or set the children accessor function.
- treemap.sort - control the order in which sibling nodes are traversed.
- treemap.value - get or set the value accessor used to size treemap cells.
- treemap.size - specify the layout size in x and y.
- treemap.padding - specify the padding between a parent and its children.
- treemap.round - enable or disable rounding to exact pixels.
- treemap.sticky - make the layout sticky for stable updates.
- treemap.mode - change the treemap layout algorithm.
d3.geo (Geography)
Paths
- d3.geo.path - create a new geographic path generator.
- path - project the specified feature and render it to the context.
- path.projection - get or set the geographic projection.
- path.context - get or set the render context.
- path.pointRadius - get or set the radius to display point features.
- path.area - compute the projected area of a given feature.
- path.centroid - compute the projected centroid of a given feature.
- path.bounds - compute the projected bounds of a given feature.
- d3.geo.graticule - create a graticule generator.
- graticule - generate a MultiLineString of meridians and parallels.
- graticule.lines - generate an array of LineStrings of meridians and parallels.
- graticule.outline - generate a Polygon of the graticule’s extent.
- graticule.extent - get or set the major & minor extents.
- graticule.majorExtent - get or set the major extent.
- graticule.minorExtent - get or set the minor extent.
- graticule.step - get or set the major & minor step intervals.
- graticule.majorStep - get or set the major step intervals.
- graticule.minorStep - get or set the minor step intervals.
- graticule.precision - get or set the latitudinal precision.
- d3.geo.circle - create a circle generator.
- circle - generate a piecewise circle as a Polygon.
- 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 - compute the spherical area of a given feature.
- d3.geo.bounds - compute the latitude-longitude bounding box for a given feature.
- d3.geo.centroid - compute the spherical centroid of a given feature.
- d3.geo.distance - compute the great-arc distance between two points.
- d3.geo.interpolate - interpolate between two points along a great arc.
- d3.geo.length - compute the length of a line string or the perimeter of a polygon.
- d3.geo.rotation - create a rotation function for the specified angles [λ, φ, γ].
- rotation - rotate the given location around the sphere.
- rotation.invert - inverse-rotate the given location around the sphere.
Projections
- 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.clipExtent - get or set the projection’s viewport clip extent, in pixels.
- 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 - the Albers equal-area conic projection.
- albers.parallels - get or set the projection's two standard parallels.
- d3.geo.albersUsa - a composite Albers projection for the United States.
- d3.geo.azimuthalEqualArea - the azimuthal equal-area projection.
- d3.geo.azimuthalEquidistant - the azimuthal equidistant projection.
- d3.geo.conicConformal - the conic conformal projection.
- d3.geo.conicEquidistant - the conic equidistant projection.
- d3.geo.conicEqualArea the conic equal-area (a.k.a. Albers) projection.
- d3.geo.equirectangular - the equirectangular (plate carreé) projection.
- d3.geo.gnomonic - the gnomonic projection.
- d3.geo.mercator - the spherical Mercator projection.
- d3.geo.orthographic - the azimuthal orthographic projection.
- d3.geo.stereographic - the azimuthal stereographic projection.
- d3.geo.azimuthalEqualArea.raw - the raw azimuthal equal-area projection.
- d3.geo.azimuthalEquidistant.raw - the azimuthal equidistant projection.
- d3.geo.conicConformal.raw - the raw conic conformal projection.
- d3.geo.conicEquidistant.raw - the raw conic equidistant projection.
- d3.geo.conicEqualArea.raw the raw conic equal-area (a.k.a. Albers) projection.
- d3.geo.equirectangular.raw - the raw equirectangular (plate carrée) projection.
- d3.geo.gnomonic.raw - the raw gnomonic projection.
- d3.geo.mercator.raw - the raw Mercator projection.
- d3.geo.orthographic.raw - the raw azimuthal orthographic projection.
- d3.geo.stereographic.raw - the raw azimuthal stereographic projection.
- d3.geo.transverseMercator.raw - the raw transverse Mercator projection.
Streams
- d3.geo.stream - convert a GeoJSON object to a geometry stream.
- stream.point - indicate an x, y (and optionally z) coordinate.
- stream.lineStart - indicate the start of a line or ring.
- stream.lineEnd - indicate the end of a line or ring.
- stream.polygonStart - indicate the start of a polygon.
- stream.polygonEnd - indicate the end of a polygon.
- stream.sphere - indicate a sphere.
- d3.geo.transform - transform streaming geometries.
- transform.stream - wraps a given stream.
- d3.geo.clipExtent - a stream transform that clips geometries to a given axis-aligned rectangle.
- clipExtent.extent - sets the clip extent.
d3.geom (Geometry)
Voronoi
- d3.geom.voronoi - create a Voronoi layout with default accessors.
- voronoi - compute the Voronoi tessellation for the specified points.
- voronoi.x - get or set the x-coordinate accessor for each point.
- voronoi.y - get or set the y-coordinate accessor for each point.
- voronoi.clipExtent - get or set the clip extent for the tesselation.
- voronoi.links - compute the Delaunay mesh as a network of links.
- voronoi.triangles - compute the Delaunay mesh as a triangular tessellation.
Quadtree
- d3.geom.quadtree - constructs a quadtree for an array of points.
- quadtree.add - add a point to the quadtree.
- quadtree.visit - recursively visit nodes in the quadtree.
- quadtree.find - find the closest point in the quadtree.
Polygon
- d3.geom.polygon - create a polygon from the specified array of points.
- polygon.area - compute the counterclockwise area of this polygon.
- polygon.centroid - compute the area centroid of this polygon.
- polygon.clip - clip the specified polygon to this polygon.
Hull
- d3.geom.hull - create a convex hull layout with default accessors.
- hull - compute the convex hull for the given array of points.
- hull.x - get or set the x-coordinate accessor.
- hull.y - get or set the y-coordinate accessor.
d3.behavior (Behaviors)
Drag
Zoom
- d3.behavior.zoom - create a zoom behavior.
- zoom - apply the zoom behavior to the selected elements.
- zoom.scale - the current scale factor.
- zoom.translate - the current translate offset.
- zoom.scaleExtent - optional limits on the scale factor.
- zoom.center - an optional focal point for mousewheel zooming.
- zoom.size - the dimensions of the viewport.
- zoom.duration - get or set the dblclick transition duration.
- zoom.x - an optional scale whose domain is bound to the x extent of the viewport.
- zoom.y - an optional scale whose domain is bound to the y extent of the viewport.
- zoom.on - listeners for when the scale or translate changes.
- zoom.event - dispatch zoom events after setting the scale or translate.
© 2010–2016 Michael Bostock
Licensed under the BSD License.
https://github.com/d3/d3-3.x-api-reference/blob/master/API-Reference.md