Appendix C. Further Study

We’ve covered a lot of ground, and by now you have a decent handle on D3’s basic concepts and common techniques. If you’ve learned anything, I hope it’s that there are always several (or tens, or hundreds of) ways to accomplish the same task—that’s the joy of programming, right? I’ve presented the ways that, to me, are the simplest or most intuitive, and the least difficult to understand. But there are probably better ways to do anything that you learned in this book, whether “better” means “more computationally efficient” or “makes more sense to you and your way of working.” I’m a fan of the latter definition. Programming is like solving a puzzle; it’s up to you to figure out how to tell the computer what to do what you want—using language that you, the human, can still understand.

D3 is a powerful tool, and we’ve only scratched the surface. As you begin work on your own visualization projects, you’ll discover many additional helpful methods and sneaky shortcuts. There are lots of valuable bits that I didn’t cover here, such as D3’s built-in methods for dynamically calculating colors, manipulating arrays, and nesting data into custom structures—just to name a few. There is a lot to this tool. I’ve introduced you to the core concepts, and now you’re ready to dig in deeper.

So, where to turn next? Here’s a collection of valuable resources to aid you in your quest. Keep in mind that the D3 software itself continues to evolve, and so do these resources. By the time you read this, there might be some other helpful website or resource not mentioned here. That is why I recommend that you don’t just read, but get involved with the D3 community. Join the Google Group, reach out to people on Twitter, and keep your eyes open for the latest developments. Start a discussion, and meet fellow data visualizers in your local area.

After all, having worked through this book, you’re part of the community now (whether you like it or not). Welcome!

Interacting with Other Humans

D3 Meetups: Meet friendly, smart people in real life, all over the world! As of this writing, there are D3 “meetups” in the following cities (and one US state):

  • Auckland (New Zealand)

  • Austin

  • Bangalore (India)

  • Belo Horizonte (Brazil)

  • Berlin (Germany)

  • Boston

  • Boulder/Denver

  • Hyderabad (India)

  • London (England)

  • Madrid (Spain)

  • Minneapolis/St. Paul

  • New York City

  • Paris (France)

  • Philadelphia

  • Portland

  • San Francisco Bay Area

  • Taipei (Taiwan)

  • Toulouse (France)

  • Utah

An impressive list! And these are just the D3-specific groups; there are hundreds more groups on data visualization, data science, data journalism, and related fields. If there aren’t any such groups in your area yet, start one yourself! And what better way to promote it than on…

The D3 Google Group: This is the primary space for online discussion of D3 features and approaches. Find out about the latest projects and developments here. That said, please please please save specific technical questions for…

StackOverflow: When you get stuck, post questions on StackOverflow with the d3.js tag. But before you do that, please review this very important checklist of how to ask a good question:

  1. Describe what you see, in clear and concise, yet specific, language.

  2. Describe what you expected or want to see.

  3. Search the web, the D3 Google Group, and StackOverflow first, to see if anyone has already asked a similar question.

  4. Search the D3.js Gallery for an example that accomplishes something similar to what you want to achieve, and then study that example for clues.

  5. Use Bl.ock Builder Search to find examples that use the same methods you’re having trouble with, and then study those examples for clues.

  6. If you’re still stuck, post your code somewhere publicly accessible. (See Appendix D for how to do this easily.) This is a critically important step, as it will be next to impossible for others to help without seeing your code. Yet people want to help! Make it easy for others to help you by providing everything they need.

  7. Finally, post your question to StackOverflow using the d3.js tag and including a link to your working (er, broken) code. (Again, see Appendix D.)

StackOverflow also has their own guide on how to ask a good question.

D3 Slack: Request an invitation to join the D3 Slack team. Try the #help channel for questions. Also find channels for specific uses, locales, languages other than English, and organizing in-person events, such as meetups and unconferences.

Reading Books

D3 Books

When the first edition of this book was published in 2013, there was only one other D3 book to choose from. Now, in 2017, there are at least 10 others, each with a different emphasis.

The one book I always recommend as a next step, following this one, is:

I collaborated with Elijah on Kindred Britain, a complex, D3-based digital humanities project (with Nicholas Jenkins at Stanford University), so we have a history of banging our heads against the proverbial D3 brick wall together. By the time you read this, the second edition of his book will have been fully updated for D3 version 4.0. While he covers some of the same introductory topics, he quickly ramps up to intermediate and advanced uses of D3. D3.js in Action is an especially valuable resource for anyone already practiced and comfortable with the material covered in these pages.

By all means, explore the other D3 books out there, too. Just double-check whether or not they address version 4.0.

Other Data Visualization Books

Happily, there has been a similar explosion in data vis books in the past few years. Rather than try (and fail) to provide a complete list, I refer you to two wonderfully exhaustive lists: Andy Kirk’s and Alberto Cairo’s. Warning: Those reading lists could keep you busy for years.

That said, I will recommend a few texts, specifically, that complement this one.

On design process:

On visual design principles and techniques:

On the practicalities of working with data:

Surfing Websites

D3-Related

d3js.org

Your starting point for everything D3.

github.com/mbostock/d3/wiki/Gallery

The official D3 gallery with hundreds of examples. Add your own work!

D3.js Gallery

An alternative, searchable gallery by Christophe Viau (@d3visualization). Highly recommended (Figure C-1).

bl.ocks.org/mbostock

Even more examples, in this case all by Mike Bostock, each one typically highlighting just one of D3’s features.

Frequently Asked Questions and Frequently Encountered Problems When Learning D3

An informal and extremely valuable collection of gotchas compiled by Lynn Cherny (@arnicas).

github.com/d3/d3/blob/master/API.md

The D3 4.0 API reference, an essential reference for every method and its parameters.

bl.ocks.org

A service for posting code hosted on GitHub’s Gist, by Mike Bostock. Perfect for quickly sharing your work with others, such as when seeking help on StackOverflow or boasting about your latest triumph on the Google Group. (See Appendix D for more on bl.ocks.)

Bl.ock Builder Search

Lets you easily search all the D3 blocks by everyone, by Ian Johnson. (See Appendix D for more on Bl.ock Builder.) Try searching by the API method you want to see examples for (like d3.geoPath()).

tributary.io

A live-coding environment for experimenting with D3 code, by Ian Johnson. (Will Ian ever stop making useful things?)

d3.express

Mike Bostock’s latest project, an “integrated discovery environment,” was just announced and may be available for exploration by the time you read this. Watch Mike’s talk introducing d3.express at OpenVisConf 2017.

Finally, Nathan Yau’s “Getting started with visualization after getting started with visualization” is full of sage advice and valuable pointers.

Getting a Job and Geeking Out

“Where to Post and Find Data Visualization Jobs,” a handy listing on my personal website. No joke: D3 is in demand. If you have grokked this book, you can get a job.

“Data Visualization and Art Process Blogs,” also by me. I am a process geek, and this is where I collect links to all the smart stuff written by really talented people about how they make amazing and beautiful things. Learn from them, and level up.

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset
18.226.104.127