Commits on Feb 19, 2011
  1. Merge branch 'array_slice' of into …

    mbostock committed Feb 19, 2011
Commits on Feb 18, 2011
  1. Remove slice(arguments).

    mbostock committed Feb 18, 2011
  2. Fix `d3_array` for older/more esoteric browsers.

    jasondavies committed Feb 18, 2011
    This code is adapted from `makeArray` in Sizzle.js.
Commits on Feb 17, 2011
  1. Support for Sizzle.

    mbostock committed Feb 17, 2011
    D3 now supports Sizzle, preferring Sizzle to the native Selectors API if Sizzle
    is available. Sizzle internally uses the native Selectors API and thus this
    should have minimal performance implications; also, it allows you to use Sizzle
    proprietary extensions such as ":first".
    This commit also restricts the definition of the enter selection so that only
    append and insert operations are defined. The other operations were generally
    unsupported anyway, and it cleans up the code to have separate implementations
    for insert and append. (I might enable additional operations in the future, such
    as `filter`, `sort` and `each`, but this seems like a reasonable first pass.)
Commits on Feb 16, 2011
  1. Add support for namespaced listeners.

    mbostock committed Feb 16, 2011
    You can now also remove listeners by specifying a null listener.
Commits on Feb 14, 2011
  1. Add d3.svg.symbol.

    mbostock committed Feb 14, 2011
    The `symbol` class can be used to generate dot symbols for scatterplots. This
    commit also fixes a couple bugs with negative-domain log and pow scales, as well
    as tick generation.
Commits on Feb 12, 2011
  1. Add d3.geo.bounds.

    mbostock committed Feb 12, 2011
    This method can be used for computing the bounding box of arbitrary GeoJSON
    objects. This commit also fixes a bug in d3.geo.path, such that it will accept
    any GeoJSON object, rather than requiring GeoJSON feature objects.
  2. Add color-by-area with zoom example.

    mbostock committed Feb 12, 2011
    This uses d3.geo.path to compute the projected area (in square pixels) of each
    county in the choropleth. It also usees d3.behavior.zoom to add geometric pan
    and zoom.
Commits on Feb 11, 2011
  1. Add d3.behavior module.

    mbostock committed Feb 11, 2011
    Includes, as the first behavior, a pan & zoom behavior. The canvas can be panned
    by dragging the mouse, and zoomed using the mousewheel (or by double-click). By
    listening to redraw events, users can decide whether to implement geometric
    zooming (such as by setting the "transform" attribute on an `svg:g` element) or
    semantic zooming (by changing the domain of a scale object and repositioning
    This commit also includes two bug fixes. The `d3.format` class now properly
    groups thousands of negative numbers, and supports the sign specifier. The
    unicode minus symbol \u2212 is used for negative values. The `d3.scale.pow`
    class now properly handles negative numbers, as well.
Commits on Feb 8, 2011
  1. Fix two bugs in transitions.

    mbostock committed Feb 8, 2011
    First, always coerce the tween target value (the value of the style or attribute
    at the end of the transition) to a string. This guarantees that the correct
    interpolator is chosen, and avoids a null dereference.
    Second, default color channels to zero rather than undefined, so as to avoid NaN
    channel values if there is an error parsing the color. This can occur, say, if
    the background color of a div is unset and defaults to "rgba(0, 0, 0, 0)".
Commits on Feb 7, 2011
Commits on Feb 2, 2011
  1. Don't use the null context.

    mbostock committed Feb 2, 2011
    Instead, use the group data array as the context when evaluating the join key
    function on the new data.
Commits on Feb 1, 2011
  1. Restructure chord example.

    mbostock committed Feb 1, 2011
Commits on Jan 31, 2011
  1. Simplify data join. Add insert & empty.

    mbostock committed Jan 31, 2011
    The data join is now specified as a single function of data, as with all other
    properties. This allows the key to be computed on the previously-bound data,
    rather than requiring the key to be serialized into the DOM (say, as an
    attribute). In the case that there is no previously-bound data, it is still
    possible to access the associated node as the `this` context.
    The `enter` operator no longer performs an append. For symmetry with the `exit`
    operator, you must call `append` after obtaining the entering selection. This
    requires a tiny bit more code, but should make the code more clear. Also, it
    provides an opportunity to use a different instantiation operator, such as the
    new `insert` operator. This takes a second argument, which is a selector for the
    insert-before reference element. For example, the selector ":first-child" will
    prepend nodes.
    The `empty` operator allows you to query whether a selection is empty (i.e.,
    contains zero matching nodes).
Commits on Jan 29, 2011
  1. Fix Firefox bug with style transitions.

    mbostock committed Jan 29, 2011
    You can't set the priority to be undefined; it has to be null. (Even though
    null == undefined in JavaScript, but let's not be picky!)
Commits on Jan 28, 2011
  1. Scale interpolators & range rounding.

    mbostock committed Jan 28, 2011
    You can now override the scale interpolator by calling the `interpolate` method.
    One particularly useful interpolator is the new `d3.interpolateRound`, which is
    like `interpolateNumber`, except that it returns integers. This makes it easier
    to produce a scale that outputs exact pixel values, and avoid antialiasing
    For convenience, the quantitative scales have a `rangeRound` method which sets
    the range and the interpolator at the same time. Similarly, a `rangeRoundBands`
    has been added to the ordinal scale.
Commits on Jan 27, 2011
Commits on Jan 25, 2011
  1. Add d3.scale.quantize.

    mbostock committed Jan 25, 2011
    A quantize scale is much like a linear scale, but it returns a discrete value
    from a set range (similar to quantile and ordinal scales).
Commits on Jan 21, 2011
  1. Merge branch 'force'

    mbostock committed Jan 21, 2011
  2. Add d3.geom.quadtree.

    mbostock committed Jan 17, 2011
Commits on Jan 20, 2011
  1. Move to id.

    mbostock committed Jan 20, 2011
  2. Add ISO-3166 country codes.

    mbostock committed Jan 20, 2011
Commits on Jan 17, 2011
  1. Fix initial opacity.

    mbostock committed Jan 17, 2011
  2. Remove cruft.

    mbostock committed Jan 17, 2011
  3. Remove cruft.

    mbostock committed Jan 17, 2011
Commits on Jan 12, 2011
  1. Update examples index.

    jasondavies committed Jan 12, 2011
Commits on Jan 11, 2011
  1. Merge branch 'jheer-master'

    mbostock committed Jan 11, 2011
    Adds support for contours (d3.geom.contour) and cardinal spline interpolation.
    I've extended cardinal spline interpolation to d3.svg.area, and added closed
    basis spline interpolation. The spline tension is now set using a named
    method, and closed splines can be generated using basis-closed and
    cardinal-closed, respectively.
    This commit also includes Jeff's nifty clustered force-directed graph example!