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

| by Dylan Schiemann Follow 7 Followers on Apr 12, 2018. Estimated reading time: 1 minute |

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

Adoption Stage

Hello stranger!

You need to Register an InfoQ account or or login to post comments. But there's so much more behind being registered.

Get the most out of the InfoQ experience.

Tell us what you think

Allowed html: a,b,br,blockquote,i,li,pre,u,ul,p

Email me replies to any of my messages in this thread
Community comments

Allowed html: a,b,br,blockquote,i,li,pre,u,ul,p

Email me replies to any of my messages in this thread

Allowed html: a,b,br,blockquote,i,li,pre,u,ul,p

Email me replies to any of my messages in this thread


Login to InfoQ to interact with what matters most to you.

Recover your password...


Follow your favorite topics and editors

Quick overview of most important highlights in the industry and on the site.


More signal, less noise

Build your own feed by choosing topics you want to read about and editors you want to hear from.


Stay up-to-date

Set up your notifications and don't miss out on content that matters to you