Synopses & Reviews
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. Its 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, youll expand your web programming skills, using tools such as HTML and JavaScript.
This step-by-step guide is ideal whether youre 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
Synopsis
Create and publish your own interactive data visualization projects on the Web, even if you have no experience with either web development or data visualization. Its easy with this hands-on guide. Youll start with an overview of data visualization concepts and simple web technologies, and then learn how to use D3, a JavaScript library that lets you express data as visual elements in a web page.
Interactive Data Visualization for the Web makes these skills available at an introductory level for designers and visual artists without programming experience, journalists interested in the emerging data journalism processes, and others keenly interested in visualization and publicly available data sources.
- Get a practical introduction to data visualization, accessible for beginners
- Focus on web-based tools that help you publish your creations quickly to a wide audience
- Learn about interactivity so you can engage users in exploring your data
About the Author
Scott Murray is a code artist who writes software to create data visualizations and other interactive phenomena. His work incorporates elements of interaction design, systems design, and generative art.
Scott is an Assistant Professor of Design at the University of San Francisco, where he teaches data visualization and interaction design. He is a contributor to Processing (processing.org), and he teaches workshops on creative coding.
Scott earned an A.B. from Vassar College and an M.F.A. from the Dynamic Media Institute at the Massachusetts College of Art and Design. His work can be seen at alignedleft.com.
Table of Contents
Preface; Conventions Used in This Book; Using Code Examples; Safari® Books Online; How to Contact Us; Acknowledgments; Chapter 1: Introduction; 1.1 Why Data Visualization?; 1.2 Why Write Code?; 1.3 Why Interactive?; 1.4 Why on the Web?; 1.5 What This Book Is; 1.6 Who You Are; 1.7 What This Book Is Not; 1.8 Using Sample Code; 1.9 Thank You; Chapter 2: Introducing D3; 2.1 What It Does; 2.2 What It Doesn't Do; 2.3 Origins and Context; 2.4 Alternatives; Chapter 3: Technology Fundamentals; 3.1 The Web; 3.2 HTML; 3.3 DOM; 3.4 Developer Tools; 3.5 Rendering and the Box Model; 3.6 CSS; 3.7 JavaScript; 3.8 SVG; 3.9 A Note on Compatibility; Chapter 4: Setup; 4.1 Downloading D3; 4.2 Referencing D3; 4.3 Setting Up a Web Server; Chapter 5: Data; 5.1 Generating Page Elements; 5.2 Binding Data; Chapter 6: Drawing with Data; 6.1 Drawing divs; 6.2 The Power of data(); 6.3 Drawing SVGs; 6.4 Making a Bar Chart; 6.5 Making a Scatterplot; 6.6 Next Steps; Chapter 7: Scales; 7.1 Apples and Pixels; 7.2 Domains and Ranges; 7.3 Normalization; 7.4 Creating a Scale; 7.5 Scaling the Scatterplot; 7.6 Refining the Plot; 7.7 Other Methods; 7.8 Other Scales; Chapter 8: Axes; 8.1 Introducing Axes; 8.2 Setting Up an Axis; 8.3 Cleaning It Up; 8.4 Check for Ticks; 8.5 Y Not?; 8.6 Final Touches; 8.7 Formatting Tick Labels; Chapter 9: Updates, Transitions, and Motion; 9.1 Modernizing the Bar Chart; 9.2 Updating Data; 9.3 Transitions; 9.4 Other Kinds of Data Updates; Chapter 10: Interactivity; 10.1 Binding Event Listeners; 10.2 Introducing Behaviors; 10.3 Grouping SVG Elements; 10.4 Tooltips; 10.5 Consideration for Touch Devices; 10.6 Moving Forward; Chapter 11: Layouts; 11.1 Pie Layout; 11.2 Stack Layout; 11.3 Force Layout; Chapter 12: Geomapping; 12.1 JSON, Meet GeoJSON; 12.2 Paths; 12.3 Projections; 12.4 Choropleth; 12.5 Adding Points; 12.6 Acquiring and Parsing Geodata; Chapter 13: Exporting; 13.1 Bitmaps; 13.2 PDF; 13.3 SVG; Appendix: Further Study; Books; Websites; Twitterers; Index; Colophon;