This is a great introduction to d3.js!
Positive (+):
* Regardless of your background and how familiar you are with HTML, CSS, and JavaScript, this book will be a great starting point in your exciting D3 journey!
* The book does a great job of familiarizing its readers with key concepts of d3; it walks you through it step by step.
* After reading this book, you'd be able to explore other d3's functionalities on your own!
* While this book is based on the version 3, all the material is applicable to version 4 too (see the end of the review)
* I enjoyed the examples and had a great time reading the book; here's how Murray introduces d3's transitions:
"Life transitions can be scary: the first day of school, moving to a new city, quitting your day job to do freelance data visualization full-time.But D3 transitions are fun, beautiful, and not at all emotionally taxing" :)
Limitations (-):
(first edition)
* It only covers the basics of d3 (which is not a limitation if you are new to d3, but if you are familiar with basics, you might be interested in the other book "d3.js in action".
* It doesn't do a good job of explaining the Layouts (only scratches the surface); I understand the second edition (recently released) provides more details.
* Because it's an introduction, covering the concepts and techniques is more important than using the real-world data, so the majority of examples are based on random data; that being said, you can easily apply what you learn to your own data!
if you are interested to buy this book, its 2nd edition, I understand, has newly been released! which according to Murray is 200 pages longer and has 3 new chapters!
[Some of the] Things you need to tweak so that the code works with version 4:
d3.scale.linear > d3.scaleLinear ; d3.scale.ordinal > d3.scaleBand; .RangeBand > .bandwidth
each() > on();