

Why Use D3 for Data Visualization?
Data VisualizationGuest contributorModelingposted by Bill Shander January 27, 2021 Bill Shander

This is like saying why eat burritos? Because they’re amazing!!! That’s why!!! OK, now some of you may be saying to yourselves, “Bill, I don’t like burritos. You’ve lost me.” First, I’m very sorry for you. Not appreciating burritos may be genetic and I won’t judge you for your lack of taste… Just kidding! But seriously, not every food is for everyone. And not every data visualization tool is for everyone either. But D3 is behind most of the amazing visualizations you see today. That doesn’t mean you have to learn it, though.
But, if you are a programmer who knows Javascript, or someone who feels limited by their current toolset, or has an eye for design and nuance and wants to really customize things, then D3 may be just what the doctor ordered.
First, what is D3? It is an open-source Javascript library, which allows you to create whatever you can imagine. It runs in the browser and can interact with anything on a web page. You use D3 to create SVG or Canvas objects, which can be any shape or color, and can be interacted with and animated in any way you can imagine. So if you want to create truly custom-designed innovative visualizations and/or bring your visualizations to life with animations and transitions not available in your current tools and/or create an entire reactive web application with data visualizations, D3 is a fantastic tool to consider.
Oh, and if you’re using a tool like Power BI or Looker, you can create visualizations in D3, which can be used in concert with those tools, so your custom viz can still be used in an enterprise data environment, bound to live complex data back-ends. D3 can also be run on a server via Node to generate images that would be far too complex to render in a browser. For instance, I’m creating hundreds of maps to play as a sequence, with 400,000+ dots per map, and this would be impossible to do as a live web-based D3 experience. Instead, I’m pre-rendering images of the maps in D3-Node, and just displaying the images in HTML.
D3 was created by a group of people working at the Stanford Visualization Group. One of those creators, the person primarily credited with D3, Mike Bostock, then spent several years creating data visualizations at the NY Times. He created a tool that he used to make some of the most important and impactful visualizations of the time, and which continues to be a core tool used by NYT and most other similar data graphics groups in the media.
Long story short, “why use D3”? Because it’s amazing, it’s powerful, it allows for endless creativity and customizability. If you’re a programmer, it will be easy to learn. If you’re new to coding, it’s still learnable! It’s not rocket science.
Want to learn the basics of D3? Check out my on-demand training session, “Getting Started with D3.js for Data Visualization.” I’m also doing another training session, “From Numbers to Narrative: Data Storytelling & Visualization,” on March 2nd and 8th. Hope to see you there!