🛠️ Dataviz tools: the big picture


👋 Hi!

Before we start, a warm welcome to the 253 people who joined this newsletter last week 🙂👋 ❤️. (You can join here btw)

Today’s menu is (almost) short and to the point, just the way I like it.

I want to help answer a very common question:


Yan, what tool should I use?

You have a chart to make, an app to build—and you’re lost in a galaxy of tools.

You’re not alone!

Here’s the mental model I use to navigate it all:

1️⃣ Excel

You know it. Some people create impressive things in Excel, and I use it for personal paperwork—but I wouldn’t recommend it for serious data analytics.

2️⃣ Data Visualization Tools

These aren’t my world since I prefer programming. But if you’re in a rush or don’t code, they’re lifesavers.

I’ve seen researchers waste weeks making graphs in R. Tools like Datawrapper can get you clean charts in seconds! Just load data, set a few options, and you’re done.

3️⃣ Data Science Programming languages

The two main programming languages are R and Python.

Both are awesome, and there’s no reason to use proprietary tools like SAS or Matlab 🙈. If your organization does, consider moving fast!

If you doubt R and Python can produce stunning visuals, check out my lists of top charts made with Matplotlib (python) or ggplot2 (R).

There’s one big problem, though: the graphs produced are all static—no interactivity.

4️⃣ JavaScript Dataviz Libraries

Interactive graphs are all made thanks to the programming language of the web: javascript. Javascript allows to do stuff like: "if user clicks on this circle, then make it red".

There are a myriad of libs like Chart.js that work similarly to R or Python functions but output interactive graphs:

scatterplot(data_for_x, data_for_y, color, size).

➡️ And voilà—an interactive scatterplot!

5️⃣ D3.js

D3.js isn’t a charting library;

It does not provide a scatterplot function—just utilities that let you create elements from scratch.

For example, the treemap() function just computes positions for rectangles, but you draw them yourself.

As a result, it is very flexible, but pretty hard to use because it requires a lot of code.

Bridges

➡️ D3.js is the foundation of web graphics, powering most JavaScript dataviz libraries. So JS libs use d3 under the hood.

➡️ It is possible to make interactive graphs with R or python, thanks to tools like the HTML widgets. Those are actually wrappers of javascript libraries! You use JS without writing a line of it!

The Grail

D3.js is often considered the grail of dataviz: it’s limitless. You can draw anything you can imagine with it. Two months ago I built this with it and it made me win a dataviz competition.

But the learning curve? A bit brutal...

Wanna see examples? Check my graph gallery!

Sooooooooo,

I'm very curious! Do you know what d3.js is? Have you ever used it? If not, why? And more importantly, would you like to learn it?

I wish you a wonderful day and would love to hear from you!

Yan

PS: next week, I'll try to demystify a bit what d3.js is!

PPS: you've been almost 100 people taking my productive-r-workflow project last week, thanks!! 🙏


Yan Holtz

Find me on X, LinkedIn, or check my Homepage

👋 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.

https://preview.convertkit-mail2.com/unsubscribe
Unsubscribe · Preferences

background

Subscribe to Dataviz Universe