Master D3, Today’s Most Powerful Tool for Visualizing Data on the Web Data-driven graphics are everywhere these days, from websites and mobile apps to interactive journalism and high-end presentations. Using D3, you can create graphics that are visually stunning and powerfully effective. Visual Storytelling with D3 is a hands-on, full-color tutorial that teaches you to design charts and data visualizations to tell your story quickly and intuitively, and that shows you how to wield the powerful D3 JavaScript library. Drawing on his extensive experience as a professional graphic artist, writer, and programmer, Ritchie S. King walks you through a complete sample project—from conception through data selection and design. Step by step, you’ll build your skills, mastering increasingly sophisticated graphical forms and techniques. If you know a little HTML and CSS, you have all the technical background you’ll need to master D3. This tutorial is for web designers creating graphics-driven sites, services, tools, or dashboards; online journalists who want to visualize their content; researchers seeking to communicate their results more intuitively; marketers aiming to deepen their connections with customers; and for any data visualization enthusiast. Coverage includes About the Website All of this book’s examples are available at ritchiesking.com/book, along with video tutorials, updates, supporting material, and even more examples, as they become available.
책을 사시려는 분들께 미리 말씀드리자면, 이 책은 극단적으로 말해서 그래프 하나를 만들고 끝냅니다.
그래서 저도 이 책을 처음 봤을 때는 "뭐야, 왜 막대 그래프 하나만 달랑 그리고 책을 끝내?"라고 생각했지만, 책을 다 읽고 보니 기술적인 측면과 사용자 경험적 측면 양면으로 그래프를 제대로 그리는 방법을 배운 것 같습니다. 그럼으로써 (일면 지루해질 때도 있었지만) 오히려 기초를 탄탄히 다질 수 있게 된거죠.
아마 " JavaScript the definite guide"류의 서적으로 프로그래밍을 배울 수 없다고 생각하시는 분이라면 제 의견에 동의하실거라고 생각합니다만, 다양한 시각화 또는 시각화 방식을 단순 나열하기만 했다면 저도 이 책에 대해 좋은 평가를 내리지 않았을 것입니다. 하지만 어찌보면 요즘 같이 온라인 컨텐츠가 범람하고 라이브러리 다큐멘테이션이 친절할 때에는 오히려 한 가지 대상을 깊고 상세하게 파고 들어서 책이라는 채널이 할 수 있는 가장 좋은 방식으로 튜토리얼을 만든 것 같다는 생각입니다.
결론적으로, 단순히 D3를 기술적인 측면에서 보고 시각화 서적을 고르시려는 분께는 다소 실망스러운 책일 수도 있습니다. 하지만 막대 그래프 하나를 그리더라도 "(유저의 편의와 사용성을 고려해서) 제대로" 그리고 싶은 분이라면, 그리고 한 걸음 한 걸음 친절히 안내해주는 설명을 좋아하시는 분이라면 이 책도 좋아하실거라 생각합니다.
물론, 그럼에도 불구하고, 재미와 호기심을 더하기 위해 부록에 감초처럼 우리나라 인구밀도 코로플래스를 그리는 짤막한 장을 추가했습니다. 아마 이 책을 다 읽고 나서 그 부록을 보시면, 책을 읽기 전보다 월등히 성장해서 수월하게 읽어내려가는 자신을 발견할 수 있을거라 생각합니다.
Great read. Ritchie has an extremely clear and easy to read writer's voice. He offers just the right blend of context and code -- and for a beginner, he makes D3.js feel sufficiently within reach. What I appreciate most about the text is that Ritchie let's it be known early and often that D3.js is not a "plug and play" graph builder like many newcomers expect. Instead, it's a medium for creating highly custom data-driven visualizations. For this reason, the book is focused on building a single visualization (a bar graph with user interactivity, animations, and an external data source). In focusing on this single example, Ritchie is able to communicate the essential strategies of implementing D3.js that apply to ANY visualization his readers may be interested in. This is definitely a text (along with D3.js by Michael Heydt) I'd recommend to my web development students.
A quick introductory book to explore D3. I read the book and skimmed through the last few chapters and the book as mentioned by the author himself just scratched the surface of the topic.
It has long been recognised that the ability to visualise data greatly helps users to explore and understand those data sets. Data visualisation is an emerging field, which draws together a variety of disciplines to produce possibly interactive, visual data representations that support users in identifying patterns, correlations, outliers and so forth.
Data-Driven Documents (D3) is a popular JavaScript library that enables users to create data visualisations in HTML documents by binding selected HTML elements and attributes to items of a data set. This book helps readers take their first steps using D3.
After an introduction to data visualisation and the notion of storytelling through visualisation, the book quickly gets into coding. While there are various illustrative asides, the book really focuses on just one example, which is to develop a visualisation of world population changes over time, in order to help answer the question ‘is the average of the world’s population getting older?’
In order to help motivate the use of D3, an early chapter develops aspects of the final solution without using a visualisation library, instead relying on JavaScript, HTML and Scalable Vector Graphics (SVG). As the book progresses, the solution is incrementally refined by introducing features of D3 that provide general solutions to common tasks relating to data visualisation in HTML.
There is good coverage of D3’s fundamental ‘data join’ mechanism, which is used to initially populate, update and remove data from the document.
Along the way, the book also provides practical advice on using D3 and covers a variety of tangential topics including D3’s data import facilities. By the end of the book, the visualisation, albeit a basic bar chart, enables the user to select and compare subsets of the data set, and to display all sets in sequence, using animated transitions.
The writing style is very informal and easy to read. Some basic experience with HTML, CSS and JavaScript is assumed, but the book explains topics as they are encountered and an appendix contains a useful introduction to JavaScript.
As this book is intended to be simply an introduction to D3, I suspect that more advanced readers may find it slow. While the book does cover the core topics of D3, only one kind of representation, a bar chart, is used.
That said, the book’s concluding chapters aim to support readers in exploring D3 further by providing links to relevant web content. In addition, the book has a supporting website, from which code and datasets may be downloaded.
Overall, I thought this was a good read and a useful introduction to D3. However, I think that once readers have mastered the fundamentals, this book would be of limited further use.
A good starting for D3 for beginners . As strenghts of the book I liked the author knowing good practices from Tufte and others and how he focus on important parts of D3. In general it is a practical and progressive learning book relying on common tools such the browser console or a text editor. As limitations of the book I can mention that the book relies on just one example -- a very simple bar chart -- , which is a bit poor, and the update and exit data binding is not thoroughly demonstrated. For data, the example chart only shows how to use CSV format data, other formats would have been welcome. The companion website on github only offers the last version of the code through chapters. The appendixes (Javascript for beginners and how to clean data) are clear and well written although relying on R for data cleaning, which is not the most appropiate for beginners. Relating to accessibility the author does not know basic good practices on SVG, HTML nor javascript and the examples are full of important mistakes such as unordered code, no titles or descriptions, use of non-standard elements, and device-dependent events. In conclusion: a bit starter which gets you hungry of more stuff, and which you must complement with good accessibility practices.
This is one of the best programming books I've ever read at a conceptual and functional level. It guides the learner through basic D3 all the way up to where you feel powerful with the framework. King does a great job of introducing concepts as needed in an intentional way -- something I appreciate greatly when trying to learn a complicated new topic. If you're going to read one book on D3, this should be it.
Excellent step-by-step guide through building a data-driven, interactive web graphic with the JavaScript library d3. King does a great job of explaining what every line of code does, and showing how to construct progressively more efficient iterations.
A reasonable, and useful, introduction to the core basics of using D3, but doesn't go into any depth, nor does it go beyond the most basic bar graph example.
This book will get you started into D3, but you will need a lot more to get into really interesting applications of the tool.