D3.js in Action

Author: Elijah Meeks
Publisher: Manning
Pages: 352
ISBN: 9781617292118
Print: 1617292117
Audience: JavaScript devs who need to present data
Rating: 4.5
Reviewer: Ian Elliot


D3.js.js is a data visualization library in JavaScript and this book might well be your best way to get to grips with it.

The problem with a library like D3.js is knowing what it can do. Once you know it is possible then you can look up the exact way of achieving it. As a result you don't necessarily need a reference work or something that is organized in a completely logical way. This book is more like a guide book than a reference work. 

To get the best from it you are going to be fairly good at HTML/CSS and JavaScript. It also is a good idea to already know how to use jQuery selectors. Elijah Meeks does start off with some words about each of these topics but not enough to fill in any gaps you might have - at best it's a reminder of what you should know.


After an overview of the general idea of D3.js and data visualisation, the second chapter moves on to look at data and data binding principles. Starting off from loading and formatting data it also covers the often difficult topic of data transformations - easy in D3.js. Then on to data binding a key feature of using D3.js. With data binding you can create graphics that change when the data does without you having to do anything. 

Chapter 3 takes a broader view of a data visualization project - data driven design. Here we learn about combining D3.js with other HTML elements, events and DOM manipulation. If you are familiar with jQuery then this should be all very simple. 

This is where the first part of the book ends and at this point you should have a good idea of the way D3.js works. What you won't have is a clear idea of how far you can go.  Part 2: The Pillars of Information Visualization is an examination of how to do bigger things with D3.js.

It starts off looking at the anatomy of a chart - axes, complex graphical objects and line charts and interpolators. Chapter 5 covers histograms and pie charts. Not just the simplest cased but things like donut pie charts and animated pie charts. Then onto pack layouts, trees, stacked layouts, word clouds and plugins. Not a particularly logical or exhaustive examination but enough to let you see how to work from simple to sophisticated. 

Chapter 6 deals with the specialist subject of network visualizations. No not visualizations you can view over a network but ways of visualizing network structure. This is a difficult subject because in spite of just having to connect the nodes with arcs you also have to find a way to make the mess that usually results look good enough to understand. A lot of this chapter is about automatic layout. 

Chapter 7 is about geospatial visualization.  This explains how to create custom maps without the help of Google or Bing. 

The final chapter in this part of the book is about working with the DOM to do "traditional" things. It covers things like using a table to display a spreadsheet like view of data and using Canvas as an additional drawing element - D3.js uses SVG for its displays. 




Part 3 of the book is just called "Advanced Techniques" and for some readers the previous part will have been advanced enough. Its first chapter is on composing interactive applications. This is another way of saying creating "dashboards" that are composed of multiple visualizations. Chapter 10 explains how to make your own layouts and components to extend D3.js. The final chapter explains something about big data visualization and no, this isn't about Hadoop or big data processing. It explains how D3.js has some built-in facilities but if you want to show big data displays then you are going to have to resort to using Canvas to speed things up. It covers big geo data and big network data. You also get to learn about speeding things up with quadtrees, which D3.js does support. 

This isn't a step-by-step book and it isn't a reference work. It is a good guide book in the style of a holiday guide book that has lots of things you need to see. As long as you are happy about JavaScript, HTML and CSS then this is a good way to discover D3.js. 


Clean Craftsmanship

Author: Robert C. Martin
Publisher: Addison-Wesley
Date: November 2021
Pages: 416
ISBN: 978-0136915713
Print: 013691571X
Audience: General
Rating: 4
Reviewer: Mike James
Well, I'm a clean craftsman - are you?

Oracle PL/SQL By Example, 6th Ed

Author: Elena Rakhimov
Publisher: Oracle Press
Pages: 480
ISBN: 978-0138062835
Print: 0138062838
Audience: Developers interested in Oracle PL/SQL
Rating: 4
Reviewer: Kay Ewbank

This is the sixth edition of a well established title that has been updated for the latest version of PL/SQL (21c).

More Reviews



Last Updated ( Tuesday, 20 February 2018 )