Skip to content


Subversion checkout URL

You can clone with
Download ZIP
Commits on Sep 27, 2011
  1. Add d3.geo.greatArc.

    The greatArc class is the new name for greatCircle, which actually represents
    great arcs. Meanwhile, a new greatCircle class is for great circles. The new
    greatCircle class replaces the old clip class, providing clipping and resampling
    functionality (using greatArc internally). This isn't backwards-compatible, but
    I may forgo the major version number bump in light of the fact that greatCircle
    was just added, and not used in any (official) examples or documented.
Commits on Sep 26, 2011
Commits on Sep 25, 2011
  1. @jasondavies

    Add Bonne geographic projection.

    jasondavies authored
    Note that the Werner projection is a special case with standard parallel
    at 90°N, and the Sinusoidal projection is also a special case with
    standard parallel at 0°N.
Commits on Sep 24, 2011
  1. @johan
Commits on Sep 18, 2011
Commits on Sep 12, 2011
  1. @jasondavies

    Add d3.geo.clip for radial clipping.

    jasondavies authored
    This can be used with d3.geo.path.clip to clip the input coordinates of
    geographical shapes using a given origin and angular radius, e.g. for
    hemispherical or near-hemispherical views.  Geodesics are inserted as
    This also includes a minor bugfix and test for d3.geo.path: the last
    coordinate of Polygon features was being included unnecessarily
    (MultiPolygon already handled this correctly).
Commits on Aug 29, 2011
  1. @jasondavies
  2. Fix for IE9's style.setProperty.

    IE9 does not string-coerce values, instead throwing an error. We now wrap IE9's
    implementation to force string coercion. While it would be simpler to turn on
    string-coercion for all browsers inside D3's style operator, this approach
    avoids penalizing standards-compliant browsers.
    This commit also moves language-compatibility code to a separate directory, and
    deletes the obsolete Object.create polyfill, which is no longer needed by D3.
Commits on Aug 28, 2011
  1. @jasondavies

    Add d3.geo.greatcircle.

    jasondavies authored
    Can be used to generate great circle paths.  Similar to R's
    geosphere.gcIntermediate (in which I discovered a bug, while writing the
    test case for this!)
    Includes d3.geo.greatcircle().distance for computing the shortest geo
    path distance using the Haversine formula.
    For a tutorial on using great circles, see:
Commits on Aug 26, 2011
  1. Create the root selection after the prototype.

    This fixes a breakage on IE9, which doesn't support array subclassing through
    prototype injection. On IE9, we then use direct extension of the prototype, but
    this can only be done after the prototype is fully-defined.
Commits on Aug 25, 2011
  1. @jasondavies
  2. Add transition.transition.

    This derives a new transition from the existing transition, equivalent to (and
    implemented as) { return this; }).
Commits on Aug 23, 2011
  1. Merge branch 'drag' of into release

    This also fixes a few bugs in the new implementation, restoring support for the
    offset between the mouse and the dragged element by reporting a delta rather
    than an absolute offset. Also, this fixes an infinite loop when an element is
    removed from the DOM.
  2. Promote the axis component to the svg module.

    I'm including the axis component in the core build because it should be useful
    in many different visualization types, similar to the other svg components. The
    chart module contains a hodgepodge of more obscure visualization types, and
    there's no reason to pull those in for more common visualizations. Perhaps most
    importantly, the axis component isn't a chart type!
  3. @xaviershay
  4. @xaviershay
  5. @jasondavies
Commits on Aug 22, 2011
  1. @jasondavies

    Add d3.behavior.drag.

    jasondavies authored
    Extracted from d3.layout.force.  Fires "dragstart", "drag" and "dragend"
    events, with a "position" property.  Note: this introduces a dependency
    on d3.behavior to d3.layout.force if used (in addition to the existing
    dependency on d3.geom).
    Fixes #249.
Commits on Aug 20, 2011
  1. Prototype injection!

    This changes the core implementation of selections and transitions to use
    prototype injection rather than direct extension. This offers better performance
    by eliminating per-instance overhead from closures and assignment. On browsers
    that don't support prototype injection, we fall back to direct extension.
    This commit isn't just about performance, though; the code ends up being a lot
    cleaner and more separable if we force methods to rely solely on `this`, rather
    than capturing surrounding variables with closures.
    Most importantly, transitions are now "transparent", like selections. Rather
    than opaque objects, transitions are now arrays of nodes, similar to selections.
    The nodes are wrapped in an object that stores the delay and duration, which
    means you can now inspect the computed delay and duration. (This was the
    original motivation for this commit, and will allow chart components to be
    call'd on transitions as well as selections.)
    Transitions now support the `each` operator with one argument, which has the
    same behavior as on selections. The `each` operator now passes a third argument
    containing the group index (`j`). Transitions now also support a `tween`
    operator, which is a generic mechanism for doing things during a transition; use
    this in place of a "tick" event.
    This commit also fixes a few bugs. The enter selection now supports the empty
    operator; we can add other operators in the future more easily, if we so choose.
    Transition's attr operator now supports namespaced attributes. Selection's
    property operator no longer parses property namespaces.
Commits on Aug 19, 2011
  1. Checkpoint axis component.

    This is the simplest possible implementation. It does not yet support updating
    an existing display, specifying different scales for different instances,
    overriding ticks, overriding tick format, transitions, etc. etc.
Commits on Aug 18, 2011
  1. Replace submodule with package.json.

    This is better, because now we can enumerate all of our dependencies without
    embedding them as submodules. After pulling, run `npm install`.
Commits on Aug 17, 2011
Commits on Aug 15, 2011
Commits on Aug 1, 2011
  1. Separate targets for testing.

Commits on Jul 20, 2011
  1. Fix a bug in histogram.frequency.

    The logic was inverted. Oops! But now there are tests. Yay!
  2. Add d3.time.scale.utc.

    Also fix a bug in d3.time.hour in regards to daylight savings.
    Also fix a number of tests that weren't testing the desired functionality.
  3. Add d3.time.scale.

Commits on Jul 19, 2011
  1. @jasondavies
  2. Organize tests into modules.

Something went wrong with that request. Please try again.