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
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();
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
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.
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.
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.
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.
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.
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.
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.
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.
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.
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).
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.
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.
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 :)
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. 👌
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.
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.
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.
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.
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.
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).
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.