-
Notifications
You must be signed in to change notification settings - Fork 0
Wiki ▸ Release Notes ▸ 3.0
The page covers new features in 3.0; see Upgrading to 3.0 for how to migrate from 2.x to 3.0.
| Chained Transitions |
Stacked-to-Grouped Transition |
Custom Axis Transition |
D3’s transitions now bind tweens and other transition state to the DOM, similar to how data is bound to selections. You can now reselect scheduled transitions from the DOM and inspect them in the JavaScript console, or even modify them, say for customized axes!
Value functions passed to transition.attr and transition.style are now evaluated immediately, rather than at the start of the transition. This simplifies scheduling of chained transitions that depend on external state, such as scale domains. The transition.transition now creates a transition that starts when the previous transition ends (rather than a concurrent transition), so you can chain transitions (such as stacked-to-grouped bars) without needing to listen for "end" events.
For more on how transitions work in D3, see the Working with Transitions tutorial.
- xhr.on - register listeners for progress, load and error events
- xhr.abort - cancel in-flight requests
- xhr.send - customize method and post data
- xhr.header - add request headers
- CORS support for IE9
- standard Node-style callbacks, compatible with Queue.js.
- antimeridian cutting
- projection.clipAngle - robust circle clipping
- projection.precision - adaptive supersampling
- projection.rotate - three-axis rotation, world tour
- raw projections (e.g., d3.geo.stereographic.raw) - easier composition
- d3.geo.projectionMutator - extensible design for new projections
- support for right hand rule
- sphere rendering via new GeoJSON "Sphere" type
- speed!
- direct to canvas rendering (path.context)!
- streaming geometry transformations (e.g., simplification)
- less memory overhead during projection operations
- d3.geo.graticule - display grid lines
- d3.geo.circle - small and great circle rendering (like Tissot's indicatrix)
- d3.geo.interpolate - interpolate along great arcs
- d3.geo.{area,centroid,bounds} - spherical area, centroid and bounds
- path.{area,centroid,bounds} - observes clipping & resampling
- d3.geo.aitoff - Aitoff
- d3.geo.albers - Albers equal-area conic
- d3.geo.august - August conformal
- d3.geo.azimuthalEqualArea - Lambert azimuthal equal-area
- d3.geo.azimuthalEquidistant - Azimuthal equidistant
- d3.geo.bonne - Bonne
- d3.geo.collignon - Collignon
- d3.geo.conicConformal - Lambert conformal conic
- d3.geo.conicEquidistant - Conic equidistant
- d3.geo.cylindricalEqualArea - Cylindrical equal-area
- d3.geo.eckert1 - Eckert I
- d3.geo.eckert2 - Eckert II
- d3.geo.eckert3 - Eckert III
- d3.geo.eckert4 - Eckert IV
- d3.geo.eckert5 - Eckert V
- d3.geo.eckert6 - Eckert VI
- d3.geo.eisenlohr - Eisenlohr conformal
- d3.geo.equirectangular - Equirectangular (Plate Carrée)
- d3.geo.gnomonic - Gnomonic
- d3.geo.gringorten - Gringorten
- d3.geo.guyou - Guyou hemisphere-in-a-square
- d3.geo.hammer - Hammer
- d3.geo.homolosine - Goode Homolosine
- d3.geo.kavrayskiy7 - Kavrayskiy VII
- d3.geo.lagrange - Lagrange conformal
- d3.geo.larrivee - Larrivée
- d3.geo.mercator - Mercator
- d3.geo.miller - Miller
- d3.geo.mollweide - Mollweide
- d3.geo.nellHammer - Nell–Hammer
- d3.geo.orthographic - Orthographic
- d3.geo.polyconic - Polyconic
- d3.geo.robinson - Robinson
- d3.geo.satellite - Satellite (tilted perpsective)
- d3.geo.sinusoidal - Sinusoidal
- d3.geo.sinuMollweide - Sinu-Mollweide
- d3.geo.stereographic - Stereographic
- d3.geo.vanDerGrinten - Van der Grinten
- d3.geo.wagner6 - Wagner VI
- d3.geo.winkel3 - Winkel Tripel
- d3.geo.tile
Replacement for GeoJSON that typically provides 80-90% smaller file sizes. Also encodes topology, enabling topology-preserving shape simplification (à la MapShaper), map coloring, cartograms, boundary mesh computation, and more!
- d3.shuffle - Fisher–Yates shuffle
- d3.format and d3.time.format - align, fill and localization support
- d3.layout.treemap - slice and dice
- moved to bl.ocks.org for easier browsing & forking
- various bug fixes and performance improvements
- d3.hexbin plugin - hexagonal binning
And more!