1 of 49

How to create a chart?

A travel by Yan Holtz

Yan Holtz

A talk by

Paris, Dec 2024

2 of 49

Hi, I’m Yan !

And I data visualization

❤️

What should I do with my data ??

3 of 49

A universe of

graph types

Data-to-viz.com

The What

4 of 49

Lost in tech

The How

5 of 49

R

Data wrapper

Python

D3.js

Shiny

React

Html

Canvas

Lost in tech

6 of 49

❤

R

Data wrapper

Python

D3.js

Shiny

React

Html

Canvas

Gatsby

Tidyverse

ggplot2

VS code

Github

Bokeh

R Studio

Seaborn

Vega

Leaflet

Tailwind

Next.js

Illustrator

SVG

Plotly

React-spring

Lost in tech

7 of 49

8 of 49

😱😱😱😱

​

9 of 49

Quick

Easy

✅

✅

​

10 of 49

Quick

Easy

✅

✅

​

Graph defaults

Chart types

Interactivity

​

Data wrangling

Stats

Data size

Pipeline automation

​

Error prone

Collaboration

Versioning

​

​

​

❌

❌

❌

​

❌

❌

❌

❌

​

❌

❌ ❌

11 of 49

12 of 49

13 of 49

14 of 49

15 of 49

16 of 49

17 of 49

18 of 49

🔥 😳

1995

19 of 49

Base R

😃 😞

1995

but

20 of 49

21 of 49

52 chart types

~ 400 chart examples (and growing)�800k visits / months

✅

✅

✅

​

r-graph-gallery.com

22 of 49

ggplot2

A revolution

2007

23 of 49

Consistent Grammar

Documentation

Good default

Concise

Flexible

Themes

Community

Small Multiples

✅

✅

✅

✅

✅

✅

✅

✅

​

24 of 49

Customization

Cedric Scherer

25 of 49

Ggplot2 extensions

exts.ggplot2.tidyverse.org

26 of 49

Tania Shapiro

Best selling Authors

27 of 49

R Python

⚡️

28 of 49

29 of 49

Hover effect

Tooltip�Zoom�Button

Scroll

Click�

Dynamic data

30 of 49

31 of 49

browser

javascript

+

32 of 49

A very simple website made in HTML

HTML

33 of 49

Styled with CSS

HTML

CSS

34 of 49

HTML

CSS

JS

Alive with Javascript

35 of 49

HTML

CSS

JS

Alive with Javascript

36 of 49

Flexibility:

​

Complexity:

👍🏽 👍🏽 👍🏽 👍🏽 👍🏽

​

😩 😭 🙇🏼‍♀️ 📈

37 of 49

Flexibility:

​

Complexity:

👍🏽 👍🏽 👍🏽 👍🏽 👍🏽

​

😩 😭 🙇🏼‍♀️ 📈

Abstraction 1 : D3.js

Abstraction 2 : Other Chart libraries

38 of 49

D3 is limitless

d3-graph-gallery.com

d3js.org

1️⃣

D3.js

39 of 49

2️⃣

Other chart libraries

40 of 49

And many many many many more !

41 of 49

42 of 49

43 of 49

Bridge 1: R markdown. Describe the dream Pipeline

Bridge 2: HTML widgets

Bridge 3: Shiny

htmlwidgets.org

create R bindings to JavaScript libraries

44 of 49

😍

The R package !

45 of 49

😍

R Plotly > ggplot2 > Plotly.js > D3.js > Javascript

46 of 49

47 of 49

🔥

Make the right choice!

48 of 49

A travel by Yan Holtz

data-to-viz.com

dataviz-inspiration.com

R-graph-gallery.com

Python-graph-gallery.com

D3-graph-gallery.com

React-graph-gallery.com

Yan-Holtz.com

@r_graph_gallery

49 of 49