Jump to ratings and reviews
Rate this book

Interactive Data Visualization for the Web

Rate this book
Create and publish your own interactive data visualization projects on the Web—even if you have little or no experience with data visualization or web development. It’s easy and fun with this practical, hands-on introduction. Author Scott Murray teaches you the fundamental concepts and methods of D3, a JavaScript library that lets you express data visually in a web browser. Along the way, you’ll expand your web programming skills, using tools such as HTML and JavaScript.

This step-by-step guide is ideal whether you’re a designer or visual artist with no programming experience, a reporter exploring the new frontier of data journalism, or anyone who wants to visualize and share data.


Learn HTML, CSS, JavaScript, and SVG basics
Dynamically generate web page elements from your data—and choose visual encoding rules to style them
Create bar charts, scatter plots, pie charts, stacked bar charts, and force-directed layouts
Use smooth, animated transitions to show changes in your data
Introduce interactivity to help users explore data through different views
Create customized geographic maps with data
Explore hands-on with downloadable code and over 100 examples

272 pages, Paperback

First published January 1, 2013

Loading interface...
Loading interface...

About the author

Scott Murray

62 books2 followers

Ratings & Reviews

What do you think?
Rate this book

Friends & Following

Create a free account to discover what your friends think of this book!

Community Reviews

5 stars
153 (33%)
4 stars
208 (45%)
3 stars
84 (18%)
2 stars
13 (2%)
1 star
3 (<1%)
Displaying 1 - 30 of 50 reviews
Profile Image for Mike Polsky.
14 reviews10 followers
September 24, 2019
I wanted to love this book, but instead I just sort of liked it. The book defiintely was not a bad read, but it did not fit my needs.
Profile Image for Hesam.
66 reviews1 follower
May 7, 2017
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();
Profile Image for Louis.
219 reviews26 followers
July 8, 2013
This is really a d3.js (Data Driven Documents) book, since the entire book is about using the d3 Javascript library for data visualization. For me, coming in with a background in data analysis but no practical Javascript background, this provided a good overview of many Javascript/web concepts required then the d3 library.

My background in data visualization is R (ggplot and lattice) and Python (Matplotlib). I find Excel too limiting and Matlab inflexible. But what I'm used to are descriptions of visualizations that are then implemented. d3 is different, it makes you specify the form of the visualization and makes you work at a very low level (which is what ggplot and Matplotlib are trying to avoid). But this provides room for great creativity, and learning how to do this is the point of this book.

This book does a good job of introducing enough of the background technologies of Javascript and the web to make d3.js useful. This was always the reason I never got around to actually using Javascript, I never learned all the things you needed to know to make it useful. For example, I now think I understand JSON well enough that I can see using it as a data store for data frames instead of CSV or SQLite or pickles (Python).

I come at this as someone who already does data analysis, but may need more ways of delivering the products of the analysis to others. And this has promise as a means of this delivery through a browser, which is already comfortable for most. And this book does a good job of working both the subject of d3.js and the web ecosystem that it is a part of to get to someplace useful.

Disclaimer: I received a free electronic copy of this book as part of the O'Reilly Blogger Program
Profile Image for briz.
Author 7 books65 followers
September 7, 2014
Awesome. Basically an intro, from the ground up, to d3.js - the powerful JavaScript library built by Mike Bostock for data visualization. I've been meaning to get good at d3 for a looong time. I now feel like it's somewhat possible. Great overview of the fundamentals, lots of calming encouragement, and - thanks to its links all over the place - an amazing resource.

FYI this book is an expansion and enrichment of Scott Murray's freely available d3 tutorials on his website. I'd say the tutorials form the skeleton of about 50% of the book. Still worth it, though, as (1) I need this shit offline, and (2) the final chapters are pretty mind-blowing (GeoJSON, where have you been all my life?), and (3) the walk-throughs of the existing stuff are more thorough.

On on on.
Profile Image for Shirley.
55 reviews2 followers
October 29, 2017
Yay first non-fiction book in a while! Murray's book is aimed at non-technical people who are interested in data visualization, which made it pleasant light reading (if a bit tedious) that I mostly read while commuting to and from the skating rink.

I've been wanting to learn d3 for several years now, but I finally took the plunge and bought this book when Justin and I decided to work on a project together. This book was a useful broad-and-shallow introduction to d3 and SVG. I think there are too many screenshots, and sometimes too much focus on what specific lines of code mean, but I probably would have liked that if I'd read this book a few years ago when I was a baby developer. My favourite part was the section of interviews at the end.

Anyway, I would recommend this book if you're interested in a broad overview of the capabilities of d3 and also a complete beginner to d3.

Update, a few hours later: a side-effect of reading this book is that now I want to make a visualization of everything. I come across some random thing throughout the day and think of ways to make it into a fancy d3 thing.
3 reviews
July 23, 2014
Excellent on all counts. Highly recommended for anyone wanting to dig in to visualization on the web. Welcoming to beginners and no less useful to readers who know some already.
Profile Image for Bozhidar Hristov.
14 reviews9 followers
May 11, 2015
This is a very nice introduction to d3.js the Javascript framework for creating data visualizations. It also introduces HTML, CSS, SVG and Javascript, because to use d3.js prior knowledge in these technologies is mandatory. If you are new to HTML, CSS, SVG and Javascript I suggest you to first go through an introductory course like those that can be found here www.w3schools.com and then start with the book.
Profile Image for Dave.
43 reviews3 followers
February 9, 2015
Decent intro to D3, but the folksy, aw-shucks-computers-are-weird tone – intended, I think, to make the book non-threatening to a less technical audience – mostly just come off as condescending and irritating.

Major lessons learned: however hard you think maps are to work with, multiply by ten.
Profile Image for Angel Garbarino.
154 reviews1 follower
July 11, 2016
Rad book. Yes it's online for free, and that is where I read it first. Loved it so much, that I wanted the whole thing. Re-reading it now and working on some other visualizations.

If you're into D3, this is a must have.
Profile Image for Stefan Kanev.
125 reviews206 followers
May 15, 2017
Pretty good book to get started with D3.

I read it a while ago, but I'm finding the time to review it just now. D3 tends to be quite tricky to get into just from its site – just the size of the materials is overwhelming. Once you get the gist, it's pretty simple – it's a collection of small things that are easy to understand and learn as needed. But you still need a "big picture" intro and this book provides a good one. It covers how to do a few basic things with D3, which are enough to get you started. The pacing of the book is good and you can get the idea without doing the code examples (although it helps).

The only big downside of this book is that it is targeted to a very untechnical audience – it wastes about a third of its space to explain HTTP, HTML, CSS, JavaScript and SVG. Although the SVG refresher was useful, I struggle to believe that somebody new to the other stuff will manage to do anything with D3 just by reading this book.

The version covered is an older one, but that is fine – the things references in the book that have changed between v3 and v4 are not that many and the changes are mostly cosmetic.
Profile Image for Mikkel Hansen.
9 reviews7 followers
September 4, 2018
This book is an excellent introduction to D3.js.

I've been trying to get into D3.js a couple of times over the years. Each time I've gotten stuck because getting started seemed too difficult. I could get something that sort of worked quickly because there are so many examples online but tweaking the example to fit my usage always caused me a lot of trouble.

This book doesn't give you a lot of fancy examples, but it does teach you the basics, and because of that, I am now able to tweak the existing examples. But even more importantly I now feel like I understand the basics well enough to dive deeper.

I plan to read "D3.js in action" by Elijah Meeks now, which should give a lot more detail on how everything works.
Profile Image for zy9dy.
2 reviews3 followers
January 15, 2020
Great book for absolute beginners to d3.js as well as coding. The author explains every step in minutest of details. Starting from setup(which file to open, where to click etc) to why and where should you use d3, to all the necessary building blocks (like scales, axes, selections etc), to a little advance things like interactivity and basic transitions. It ends with listing plethora of resources to go to after finishing the book.
Author's love for the language and Visualisation is palpable throughout the book. Also just the right touch of humour kept things interesting.
It is clear that author had a fun time working on the language and writing the book, which also transfers to the reader.
Profile Image for Relax, you're doing fine.
71 reviews24 followers
August 14, 2018
Nói sao nhỉ ? Nếu phải vi��t một cuốn sách nào dành cho người bắt đầu bất cứ thứ gì thì nên học theo Scott. Đơn giản, dễ hiểu và chi tiết. Điểm duy nhất mình không thích là phần cuối của sách tác giả vội quá. Thêm nữa nếu được, tác giả nên có một dự án bài tập lớn. Bài cuối có lẽ với mình không đủ phê.

Nói chung, là một quyển sách tuyệt vời để học D3 Version 4 (Version 5 thì phải google thêm vì một số cú pháp lệnh đã thay đổi).
Profile Image for Noelle.
Author 1 book4 followers
November 20, 2018
This is a book on programming that does a much better job at the book part than others I've seen. Murray gives a great basic overview of D3 - how to use it and some of the cool things of which D3 is capable. The chosen audience is people who need a little more explanation of the code, but with all the screenshots and code excerpts, one can scan through the parts they understand and dig deeper to find explanations where needed.
Profile Image for Jonas.
17 reviews1 follower
May 14, 2018
Very accessible and well-written book on D3 visualization framework. Examples are easy to follow and explain the concepts well. I've kind of thought that D3 is pretty verbose and too low level for things like charts. However, after reading this book I appreciate the flexibility that the framework gives you.
118 reviews10 followers
June 4, 2018
Fun, very readable, conversational tone and yet still manages to cover some of the formal semantics of the underlying languages. Sometimes :)

Now slightly out of date, as d3 v5 came out, but still a fun, informative book. Highly recommended if you want to start dipping your toes into data visualization :)
Profile Image for Charles Fried.
6 reviews
June 21, 2017
Great book, it's well written, easily to follow and the authors enthusiasm is contagious. I could easily recommend this as a get started coding book or to an experienced coder looking to get started with D3. 👌
16 reviews2 followers
October 23, 2017
Nice quick D3 intro. Enough to get you started doing something on your own. Intended for full js/svg/css/html beginners. The free online version is a bit outdated though, some examples don't work in v4.
7 reviews
October 11, 2018
A great book for a D3 introduction. The concepts are explained very simple and most of the jokes are really good 😂.
Profile Image for Mollie Pettit.
3 reviews
January 9, 2021
If someone is looking to learn d3.js, reading through this book is the best way to get started!
278 reviews
October 7, 2016
I did a read-through, rather than work the examples, which may have impacted my opinion. The book is example-oriented and quite rich in that regard; unfortunately, it lacked a bit of depth. Obviously this isn't "learn Javascript," but the "interactive" angle was lacking---I don't think I could make a truly rich presentation given the material. There was also no treatment of reading data other than simple text files. A lot of this might have been out of scope, but some pointers to references would have helped. The further reading at the back had nothing that sounded like it would hit those points.
Profile Image for Rob.
Author 2 books368 followers
February 6, 2015
Very solid introduction to D3.js. Written primarily for a non-technical audience, but includes just the right amount of information to get you oriented to the library without feeling like it's patronizing or too shallow. (And/but/so Murray uses a colloquial tone which was fine with me but can rub some people the wrong way.) Despite being so long, it's actually a quick read -- which is good because you really ought to get through *at least* the chapter on scales before you try and go do anything with D3.

Happy charting.
76 reviews11 followers
October 2, 2013
It was a great intro to d3.js. I had to figure out with some help how to connect to some live data via php as that wasn't included. I say intro because I am still looking into learning much more about different charts that can be created using the library. It is a good place to start if you want to learn js data visualization.
Profile Image for Kyle.
88 reviews
November 7, 2013
Very straightforward, but with an excessive amount of debugging. Good because you learn about D3, bad because you realize that programming in JavaScript is.....full of TRYING to do things and spending hours banging your head against the wall trying to figure out what idiosyncrasy is preventing you from seeing your final product.
Profile Image for Ahmed.
24 reviews9 followers
January 14, 2014
Clear and to the point. Gives you a quick understanding of how D3.js works and provides the basic building blocks for making your own interactive visualization. (Note: This book is still fairly barebones. You'll need to refer to examples online for the more advanced visualizations you are probably aspiring to build).
Profile Image for Andrew Magee.
25 reviews2 followers
July 24, 2013
Good intro to d3. Basic intro to SVG was nice. Also contains a reasonable JavaScript intro which people familiar with the language will skip. Even learned a couple of CSS tricks I didn't know. Writing style a bit annoying in parts.
Displaying 1 - 30 of 50 reviews

Can't find what you're looking for?

Get help and learn more about the design.