👋 Hi!
About 10 years ago, I was a bioinformatician working on the wheat genome, feeling pretty lost about my career path. I had already started the R Graph Gallery and knew I loved data visualization, but I wasn’t sure where to take it.
Curious about data science, I attended a conference and spoke with a hiring manager. When I mentioned my little side project in R, he laughed and said something I’ll never forget:
"If you’re serious about dataviz, you need to learn D3.js."
At the time, I had barely even heard of D3.js. Ten years later, I have a solid answer to that challenge. 😏
Anatomy of Dataviz Tools.
In my view, data visualization tools fall into 5 main categories:
I’ve already broken down these 5 categories in a previous newsletter. Today, the real question is:
➡️ are they all good enough to be "serious" about dataviz?
Hell, yes!
People crunch numbers every day in Tableau to drive business decisions.
Journalists use Datawrapper to create the charts you see in newspapers.
And Federica Fragapane designs some of the most stunning data visualizations I’ve ever seen, featured in MOMA, using Illustrator.
No-code tools have come a long way. So don’t let anyone tell you that you’re not a “serious” professional just because you’re not coding. 🚀
R and Python
R and Python were originally built for data analysis and statistics, but they’ve also become powerful tools for data visualization.
Some people, especially in the R community, push charts to incredible levels.
Take Cédric Scherer, for example. Check out this streamgraph he created in R. Would you ever guess it was made with R?
I've always wondered why do we see so many polished, stunning R charts every day, while almost none come from the Python community? Matplotlib is an excellent tool too!
I hope we can change that with the Matplotlib Journey project I started three months ago. Let’s push Python dataviz further! 🚀
So, why D3.js?
D3.js is a JavaScript library. JavaScript is the programming language that makes your browser come alive. Every time you click a button on a webpage, JavaScript is running behind the scenes!
D3.js stands out for two main reasons:
1️⃣ Flexibility: D3 does not provide a pieChart() function that builds a default chart. It just helps you to manually compute positions and draw every element yourself. It’s more work, but the payoff is limitless customization.
2️⃣ Interactivity: JavaScript is the only way to create truly interactive charts. Hover effects, tooltips, buttons that update the visualization—D3.js unlocks all of it.
Here’s a custom app I built last year for fun. Only JavaScript and D3.js make this kind of project possible!
Conclusion
There are many awesome tools for creating stunning visuals. Don’t let anyone tell you you're not good enough just because you don’t know tool X or Y!
That said, it’s important to understand the ecosystem and pick the right tool for the task. I hope this overview helped!
Personally, I’m a big fan of using D3.js inside React. You can check out my React Graph Gallery if you’re curious how it looks and want to learn!
See you next week,
Yan
PS: all the issues of this newsletter are now available here! If you like my content, please share it with the world 😀
👋 By the way, here is how I can help!
- Master R: Join my productive R workflow online course, already helping hundreds to excel in R, Quarto, and GitHub.
- Team Training: Hire me to train your team on Data Visualization and Programming.
- Engaging Talks: Book me for short, impactful talks on Data Visualization and Programming.
Check yan-holtz.com or hit reply any time! I love hearing from you.
|
|