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. 


Large-Scale C++, Volume I

Author: John Lakos
Publisher: Addison-Wesley
Pages: 988
ISBN: 978-0201717068
Print: 0201717069
Kindle: B0826523GZ
Audience: Programmers with plenty of time to spare
Rating: 3
Reviewer Mike James:
Large Scale C++, what can this mean?

DevOps For The Desperate

Author: Bradley Smith
Publisher: No Starch
Pages: 176
ISBN: 978-1718502482
Print: 1718502486
Kindle: B09M82VY43
Audience: Developers working in DevOps
Rating: 4.5
Reviewer: Kay Ewbank

Subtitled 'A hands-on survival guide, this book aims to provide software engineers and developers with the basi [ ... ]

More Reviews



Last Updated ( Tuesday, 20 February 2018 )