D3.js JavaScript data visualization package goes modular

D3.js lets you combine modules as desired to support independent release cycles

D3.js, a tool for JavaScript data visualization, has been made modular in an upgrade released this week.

Version 4.0 of D3 now features many libraries designed to work together. "You can pick and choose which parts to use as you see fit," according to release notes. "Each library is maintained in its own repository, allowing decentralized ownership and independent release cycles. The default bundle combines about 30 of these micro-libraries."

D3 leverages data-driven DOM manipulation via HTML, CSS, and SVG. Arbitrary data can be bound to the DOM, and data-driven transformations can be applied to a document.

D3 is a visualization API intended to be the lowest layer of visualization tools, as in the visualization "kernel," or "standard library," developer Mike Bostock said. The software can be used for custom interactive graphics and as the basis for higher-level visualization tools.

While D3 used to use unicode variable names and string literals, version 4.0 uses only ASCII variable names and string literals to avoid encoding issues. A built-in asynchronous queue, meanwhile, enables loading of files in parallel.

Version 4.0 no longer has the d3.geom.polygon constructor; developers instead pass an array of vertices to polygon methods. The quadtree method has been replaced as well. "[Version] 4.0 removes the concept of quadtree generators (configurable functions that build a quadtree from an array of data); there are now just quadtrees, which you can create via d3.quadtree and add data to via quadtree.add and quadtree.addAll," release notes state.

Selections, for data-driven transformation of the DOM, and transitions, for animating DOM changes, now are immutable in version 4.0, providing a cleaner interface. The axis component, which provides human-readable reference marks for scales encodings, has a better default appearance, and version 4.0 features better interaction for brushing.

The modularity in version 4 makes micro-libraries "easier to understand, develop and test," according to release notes. "They reduce the distinction between a core module and a plugin, and increase the pace of development in D3 features." Developers can release new features as standalone libraries for use with D3, but those who aren't interested in modularity still can use the default bundle.

Join the PC World newsletter!

Error: Please check your email address.

Tags programming

Our Back to Business guide highlights the best products for you to boost your productivity at home, on the road, at the office, or in the classroom.

Keep up with the latest tech news, reviews and previews by subscribing to the Good Gear Guide newsletter.

Paul Krill

InfoWorld
Show Comments

Cool Tech

Crucial Ballistix Elite 32GB Kit (4 x 8GB) DDR4-3000 UDIMM

Learn more >

Gadgets & Things

Lexar® Professional 1000x microSDHC™/microSDXC™ UHS-II cards

Learn more >

Family Friendly

Lexar® JumpDrive® S57 USB 3.0 flash drive 

Learn more >

Stocking Stuffer

Plox Star Wars Death Star Levitating Bluetooth Speaker

Learn more >

Christmas Gift Guide

Click for more ›

Most Popular Reviews

Latest News Articles

Resources

GGG Evaluation Team

Kathy Cassidy

STYLISTIC Q702

First impression on unpacking the Q702 test unit was the solid feel and clean, minimalist styling.

Anthony Grifoni

STYLISTIC Q572

For work use, Microsoft Word and Excel programs pre-installed on the device are adequate for preparing short documents.

Steph Mundell

LIFEBOOK UH574

The Fujitsu LifeBook UH574 allowed for great mobility without being obnoxiously heavy or clunky. Its twelve hours of battery life did not disappoint.

Andrew Mitsi

STYLISTIC Q702

The screen was particularly good. It is bright and visible from most angles, however heat is an issue, particularly around the Windows button on the front, and on the back where the battery housing is located.

Simon Harriott

STYLISTIC Q702

My first impression after unboxing the Q702 is that it is a nice looking unit. Styling is somewhat minimalist but very effective. The tablet part, once detached, has a nice weight, and no buttons or switches are located in awkward or intrusive positions.

Featured Content

Latest Jobs

Don’t have an account? Sign up here

Don't have an account? Sign up now

Forgot password?