Dr. Seonggu Sohn's Data Visualization, First Steps

How do you draw a number
so that people read it right?

One paper's figures: eight of them, 62 panels, nineteen kinds of chart. From plain bars to UMAP, nearly everything in use today is in there.
Over these 20 lessons you redraw all nineteen from the real data — learning what each one shows, what it hides, and how a figure misleads without changing a single number. Python runs right inside this page. There is nothing to install.

🐍 Python📊 matplotlib🌋 volcano plots 🔥 heatmaps🪜 survival curves☁️ UMAP🇬🇧 English
Start lesson 1 →

How you'll learn

🔍One paper, panel by panel

Eight figures, 62 panels, nineteen kinds — counted and turned into the syllabus. What a real paper actually uses is what you learn.

▶️With the real data

Not a stand-in dataset. The paper's own GSE285342 mouse RNA-seq and the TCGA lung data, exactly as published. In the volcano plot, Ddx54 really does go down.

🎚️Turn a knob, change the conclusion

Every lesson has a laboratory widget. Truncate the axis, swap the colour map, move the threshold — the same data becomes a different story, and you watch it happen.

🕵️How to be fooled, first

Truncated axes, dual y-axes, cherry-picked examples, 3-D bars. You switch on each trick yourself — then leave with five questions that catch them.

Full curriculum

01
Eight figures, nineteen kinds — what does a paper speak with?
PNAS 2025 “DDX54 …”, Figs. 1–8, counted panel by panel
✓
02
The order your eyes read best — position, length, angle, area, colour
the same eight numbers, drawn five ways
✓
03
The kind of data decides half the chart for you
categorical · ordinal · count · proportion · time · coordinate
✓
04
Point, line, bar — the promise each mark makes
drawing a line says “the space between exists”
✓
05
Axes — start at zero, or go logarithmic?
mutation counts from 2 to 2,152
✓
06
Colour — sequential, diverging, categorical, and colour blindness
why the rainbow is a bad colour map
✓
07
Bar charts — the commonest chart, and the commonest mistake
Figs. 1B·1C·2C·2F·5D — 14 of the 62 panels
✓
08
Four ways to show a distribution — histogram, box, violin, points
why Figs. 2B and 2D chose the violin
✓
09
Volcano plots — size across, confidence up
Fig. 3B, redrawn from the real GSE285342
✓
10
Heatmaps — the decisions you make before colouring a table
Figs. 3A and 6A · row normalisation and ordering
✓
11
Growth curves — is that error bar an SD or an SEM?
Figs. 4C and 4I · the line that says “mean ± SEM”
✓
12
Survival curves — a staircase that only goes down
Figs. 4D and 4J · drawn here from 572 real TCGA lung patients
✓
13
UMAP — a chart whose axes mean nothing
Figs. 5B·5I·7A·8A — 4 of the 62 panels
✓
14
Dot plots — two values in a single dot
Figs. 5C·5J·7B·7E·7F·7G·8B — 7 of the 62 panels
✓
15
Small multiples — putting four conditions side by side
Figs. 5D·5K·7C·7D · WT/KD × isotype/anti-PD1
✓
16
Pie charts — why there is exactly one in 62 panels
Fig. 5F · circles whose radius carries the proportion
✓
17
Network graphs — position carries no meaning
Figs. 2E and 3C · the 1,105-gene DDX54 regulon
✓
18
Misleading charts — conveying a falsehood without lying
truncated axes · dual y-axes · cherry-picking · double ink
✓
19
Putting it together — from raw counts to one finished figure
GSE285342 → volcano + heatmap + dot plot in one figure
✓
20
Wrapping up — before you send a figure out
what you can say, and what you cannot
✓