Facilitating the Spread of Knowledge and Innovation in Professional Software Development

Write for InfoQ


Choose your language

InfoQ Homepage News D3 Announces 5.0 Release of SVG, Canvas, and HTML Library for Manipulating Data

D3 Announces 5.0 Release of SVG, Canvas, and HTML Library for Manipulating Data

Leia em Português

This item in japanese

The D3 team has announced their 5.0 release, which embraces several newer asynchronous patterns such as promises and fetch, and updates key visualization APIs.

D3.js is a JavaScript library for producing dynamic, interactive data visualizations in web browsers. As stated in the D3 5.0 release notes::

With the adoption of promises, D3 now uses the Fetch API instead of XMLHttpRequest: the d3-request module has been replaced by d3-fetch. Fetch supports many powerful new features, such as streaming responses.

The release is intended not to break users, with a significant focus on stability. Per D3 founder Mike Bostick via Twitter,

The API has been very stable since the release of 4.0. The only significant breakage is adopting modern asynchronous patterns i.e. promises and Fetch.

D3 5.0 changes its approach to categorical color schemes. The previous d3.schemeCategory20* approach was inaccurate because the grouped design could falsely imply relationships in the data, as the sharing of hues could infer data being part of a group when it was not. Categorical color schemes get replaced in D3 5.0 with d3-scale-chromatic, implementing color schemes from ColorBrewer.

The new d3-contour package provides implementations of marching squares and density estimation, enabling new types of data visualizations based on contour data. One example shows the idle and eruption times for Old Faithful.

D3 also improves a part of the d3-selection methods, selection.clone for insertion clones of a selection, and d3.create for creating detached elements. The D3 geographic projections API now supports projection.angle, with the result being new polyhedral projections.

The D3 5.0 release overall adds many improvements for additional forms of data visualizations, improves the approach in several common APIs, and aligns the API to recent advances and patterns in JavaScript.

D3 is available under the New BSD License. Learn more at the D3 website. Contributions are welcome via the D3 GitHub project.

Rate this Article