@booklib/skills 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -0
- package/README.md +105 -0
- package/animation-at-work/SKILL.md +246 -0
- package/animation-at-work/assets/example_asset.txt +1 -0
- package/animation-at-work/references/api_reference.md +369 -0
- package/animation-at-work/references/review-checklist.md +79 -0
- package/animation-at-work/scripts/example.py +1 -0
- package/bin/skills.js +85 -0
- package/clean-code-reviewer/SKILL.md +292 -0
- package/clean-code-reviewer/evals/evals.json +67 -0
- package/data-intensive-patterns/SKILL.md +204 -0
- package/data-intensive-patterns/assets/example_asset.txt +1 -0
- package/data-intensive-patterns/references/api_reference.md +34 -0
- package/data-intensive-patterns/references/patterns-catalog.md +551 -0
- package/data-intensive-patterns/references/review-checklist.md +193 -0
- package/data-intensive-patterns/scripts/example.py +1 -0
- package/data-pipelines/SKILL.md +252 -0
- package/data-pipelines/assets/example_asset.txt +1 -0
- package/data-pipelines/references/api_reference.md +301 -0
- package/data-pipelines/references/review-checklist.md +181 -0
- package/data-pipelines/scripts/example.py +1 -0
- package/design-patterns/SKILL.md +245 -0
- package/design-patterns/assets/example_asset.txt +1 -0
- package/design-patterns/references/api_reference.md +1 -0
- package/design-patterns/references/patterns-catalog.md +726 -0
- package/design-patterns/references/review-checklist.md +173 -0
- package/design-patterns/scripts/example.py +1 -0
- package/domain-driven-design/SKILL.md +221 -0
- package/domain-driven-design/assets/example_asset.txt +1 -0
- package/domain-driven-design/references/api_reference.md +1 -0
- package/domain-driven-design/references/patterns-catalog.md +545 -0
- package/domain-driven-design/references/review-checklist.md +158 -0
- package/domain-driven-design/scripts/example.py +1 -0
- package/effective-java/SKILL.md +195 -0
- package/effective-java/assets/example_asset.txt +1 -0
- package/effective-java/references/api_reference.md +1 -0
- package/effective-java/references/items-catalog.md +955 -0
- package/effective-java/references/review-checklist.md +216 -0
- package/effective-java/scripts/example.py +1 -0
- package/effective-kotlin/SKILL.md +225 -0
- package/effective-kotlin/assets/example_asset.txt +1 -0
- package/effective-kotlin/references/api_reference.md +1 -0
- package/effective-kotlin/references/practices-catalog.md +1228 -0
- package/effective-kotlin/references/review-checklist.md +126 -0
- package/effective-kotlin/scripts/example.py +1 -0
- package/kotlin-in-action/SKILL.md +251 -0
- package/kotlin-in-action/assets/example_asset.txt +1 -0
- package/kotlin-in-action/references/api_reference.md +1 -0
- package/kotlin-in-action/references/practices-catalog.md +436 -0
- package/kotlin-in-action/references/review-checklist.md +204 -0
- package/kotlin-in-action/scripts/example.py +1 -0
- package/lean-startup/SKILL.md +250 -0
- package/lean-startup/assets/example_asset.txt +1 -0
- package/lean-startup/references/api_reference.md +319 -0
- package/lean-startup/references/review-checklist.md +137 -0
- package/lean-startup/scripts/example.py +1 -0
- package/microservices-patterns/SKILL.md +179 -0
- package/microservices-patterns/references/patterns-catalog.md +391 -0
- package/microservices-patterns/references/review-checklist.md +169 -0
- package/package.json +17 -0
- package/refactoring-ui/SKILL.md +236 -0
- package/refactoring-ui/assets/example_asset.txt +1 -0
- package/refactoring-ui/references/api_reference.md +355 -0
- package/refactoring-ui/references/review-checklist.md +114 -0
- package/refactoring-ui/scripts/example.py +1 -0
- package/storytelling-with-data/SKILL.md +238 -0
- package/storytelling-with-data/assets/example_asset.txt +1 -0
- package/storytelling-with-data/references/api_reference.md +379 -0
- package/storytelling-with-data/references/review-checklist.md +111 -0
- package/storytelling-with-data/scripts/example.py +1 -0
- package/system-design-interview/SKILL.md +213 -0
- package/system-design-interview/assets/example_asset.txt +1 -0
- package/system-design-interview/references/api_reference.md +582 -0
- package/system-design-interview/references/review-checklist.md +201 -0
- package/system-design-interview/scripts/example.py +1 -0
- package/using-asyncio-python/SKILL.md +242 -0
- package/using-asyncio-python/assets/example_asset.txt +1 -0
- package/using-asyncio-python/references/api_reference.md +267 -0
- package/using-asyncio-python/references/review-checklist.md +149 -0
- package/using-asyncio-python/scripts/example.py +1 -0
- package/web-scraping-python/SKILL.md +259 -0
- package/web-scraping-python/assets/example_asset.txt +1 -0
- package/web-scraping-python/references/api_reference.md +393 -0
- package/web-scraping-python/references/review-checklist.md +163 -0
- package/web-scraping-python/scripts/example.py +1 -0
|
@@ -0,0 +1,379 @@
|
|
|
1
|
+
# Storytelling with Data — Frameworks & Visual Reference
|
|
2
|
+
|
|
3
|
+
Complete catalog of chart types, principles, frameworks, and techniques
|
|
4
|
+
from all 10 chapters of *Storytelling with Data* by Cole Nussbaumer Knaflic.
|
|
5
|
+
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
## Ch 1: The Importance of Context
|
|
9
|
+
|
|
10
|
+
### The Who/What/How Framework
|
|
11
|
+
|
|
12
|
+
Before creating any visualization:
|
|
13
|
+
|
|
14
|
+
| Question | Details |
|
|
15
|
+
|----------|---------|
|
|
16
|
+
| **Who** | Your audience — their knowledge level, relationship to you, motivations, potential resistance |
|
|
17
|
+
| **What** | The action you want them to take — be specific (approve budget, change process, investigate further) |
|
|
18
|
+
| **How** | The delivery mechanism — live presentation, printed report, email, interactive dashboard |
|
|
19
|
+
|
|
20
|
+
### Exploratory vs. Explanatory Analysis
|
|
21
|
+
|
|
22
|
+
| Type | Purpose | Audience | Analogy |
|
|
23
|
+
|------|---------|----------|---------|
|
|
24
|
+
| **Exploratory** | Find insights in data | Yourself/team | Hunting for pearls in oysters |
|
|
25
|
+
| **Explanatory** | Communicate a specific insight | Decision-makers | Presenting the pearl on a necklace |
|
|
26
|
+
|
|
27
|
+
Most data visualization effort should go to explanatory — you've already done the exploring.
|
|
28
|
+
|
|
29
|
+
### The 3-Minute Story
|
|
30
|
+
Distill your entire analysis into what someone would tell a colleague in 3 minutes at the coffee machine. If you can't do this, your message isn't focused enough.
|
|
31
|
+
|
|
32
|
+
### The Big Idea
|
|
33
|
+
A single sentence that:
|
|
34
|
+
1. Articulates your unique point of view
|
|
35
|
+
2. Conveys what's at stake (why should they care?)
|
|
36
|
+
3. Is a complete sentence (not a topic or category)
|
|
37
|
+
|
|
38
|
+
**Template**: "[Observation about the data] — [what the audience should do about it]"
|
|
39
|
+
|
|
40
|
+
**Example**: "Customer churn increased 15% in Q3 driven by pricing complaints — we should pilot a loyalty discount for at-risk segments before Q4."
|
|
41
|
+
|
|
42
|
+
### Storyboarding
|
|
43
|
+
- Use sticky notes or paper before opening any tool
|
|
44
|
+
- One idea per sticky note
|
|
45
|
+
- Arrange, rearrange, discard until the narrative flows
|
|
46
|
+
- This prevents wasted effort building the wrong charts
|
|
47
|
+
|
|
48
|
+
---
|
|
49
|
+
|
|
50
|
+
## Ch 2: Choosing an Effective Visual
|
|
51
|
+
|
|
52
|
+
### Chart Type Decision Guide
|
|
53
|
+
|
|
54
|
+
#### Simple Text
|
|
55
|
+
- **Use when**: 1–2 numbers are the entire message
|
|
56
|
+
- **How**: Display the number prominently with brief context
|
|
57
|
+
- **Example**: "25% increase" in large font with "vs. prior year" as subtitle
|
|
58
|
+
- **Avoid**: Putting a single number in a chart (pie chart showing 25% vs 75%)
|
|
59
|
+
|
|
60
|
+
#### Tables
|
|
61
|
+
- **Use when**: Audience needs to look up specific values; mixed units; precise comparison
|
|
62
|
+
- **How**: Light or no borders; left-align text, right-align numbers; use heatmap coloring for patterns
|
|
63
|
+
- **Enhance**: Heatmap shading (color intensity) to make tables visual
|
|
64
|
+
- **Avoid**: Using tables in live presentations (too slow to process)
|
|
65
|
+
|
|
66
|
+
#### Line Charts
|
|
67
|
+
- **Use when**: Showing change over continuous time (months, quarters, years)
|
|
68
|
+
- **How**: Time on x-axis; one or multiple series; label directly (not in legend)
|
|
69
|
+
- **Rules**: Don't have to start at zero; can use different scales for multiple charts (but NOT dual y-axis)
|
|
70
|
+
- **Avoid**: More than 4–5 series (gets cluttered); connecting categorical data with lines
|
|
71
|
+
|
|
72
|
+
#### Slopegraphs
|
|
73
|
+
- **Use when**: Comparing values or ranks at exactly 2 time points
|
|
74
|
+
- **How**: Two vertical axes; lines connecting each item's values; label at both ends
|
|
75
|
+
- **Shows**: Direction of change, magnitude, and rank shifts simultaneously
|
|
76
|
+
- **Avoid**: More than 2 time points; too many items (>10–15)
|
|
77
|
+
|
|
78
|
+
#### Bar Charts (Vertical)
|
|
79
|
+
- **Use when**: Categorical comparison; time series with discrete periods
|
|
80
|
+
- **How**: Categories on x-axis; values on y-axis
|
|
81
|
+
- **Rules**: MUST start at zero; consistent bar width; space ≈ half bar width
|
|
82
|
+
- **Avoid**: More than ~12 bars; long category labels (use horizontal instead)
|
|
83
|
+
|
|
84
|
+
#### Bar Charts (Horizontal)
|
|
85
|
+
- **Use when**: Long category labels; many categories; ranking
|
|
86
|
+
- **How**: Categories on y-axis; values on x-axis; order by value (descending, top to bottom)
|
|
87
|
+
- **Rules**: MUST start at zero; single color or strategic color highlighting
|
|
88
|
+
- **Best practice**: Default to horizontal bars — they're almost always more readable than vertical
|
|
89
|
+
|
|
90
|
+
#### Stacked Bar Charts
|
|
91
|
+
- **Use when**: Showing composition (parts of a whole) across categories
|
|
92
|
+
- **How**: Segments stacked; consistent ordering of segments
|
|
93
|
+
- **Limitation**: Only the bottom segment has a common baseline; other segments are hard to compare
|
|
94
|
+
- **Alternative**: Consider multiple small bar charts or a 100% stacked bar for proportions only
|
|
95
|
+
|
|
96
|
+
#### Waterfall Charts
|
|
97
|
+
- **Use when**: Showing how components add/subtract to reach a total
|
|
98
|
+
- **How**: Starting value → incremental additions/subtractions → final total
|
|
99
|
+
- **Example**: Revenue → costs → profit; beginning balance → changes → ending balance
|
|
100
|
+
|
|
101
|
+
#### Scatterplots
|
|
102
|
+
- **Use when**: Showing relationship between 2 quantitative variables
|
|
103
|
+
- **How**: One variable per axis; each data point is a dot
|
|
104
|
+
- **Enhance**: Add trend line, color-code by category, size by third variable (bubble chart)
|
|
105
|
+
- **Avoid**: Too many points without visual grouping; missing axis labels
|
|
106
|
+
|
|
107
|
+
### Charts to AVOID
|
|
108
|
+
|
|
109
|
+
| Chart Type | Problem | Better Alternative |
|
|
110
|
+
|------------|---------|-------------------|
|
|
111
|
+
| **Pie chart** | Humans can't accurately compare angles/areas | Horizontal bar chart |
|
|
112
|
+
| **Donut chart** | Same as pie, plus hollow center wastes space | Horizontal bar chart |
|
|
113
|
+
| **3D chart** | Distorts perception; adds no information | 2D version of the same chart |
|
|
114
|
+
| **Secondary y-axis** | Readers can't tell which axis applies to which data | Two separate charts |
|
|
115
|
+
| **Area chart** | Filled area rarely adds meaning; can obscure data | Line chart (unless volume matters) |
|
|
116
|
+
|
|
117
|
+
---
|
|
118
|
+
|
|
119
|
+
## Ch 3: Clutter is Your Enemy
|
|
120
|
+
|
|
121
|
+
### Cognitive Load
|
|
122
|
+
Every element on a chart consumes processing power. The goal is to minimize extraneous cognitive load so the audience can focus on the message.
|
|
123
|
+
|
|
124
|
+
### Gestalt Principles of Visual Perception
|
|
125
|
+
|
|
126
|
+
| Principle | Definition | Application in Data Viz |
|
|
127
|
+
|-----------|-----------|------------------------|
|
|
128
|
+
| **Proximity** | Items near each other appear grouped | Space related data points closer; separate unrelated groups |
|
|
129
|
+
| **Similarity** | Items that look alike appear related | Use same color for same category; same shape for same type |
|
|
130
|
+
| **Enclosure** | Items within a boundary appear grouped | Use light background shading to group related chart areas |
|
|
131
|
+
| **Closure** | Mind fills in gaps to complete shapes | You don't need full borders; partial borders/gridlines suffice |
|
|
132
|
+
| **Continuity** | Eyes follow smooth lines/paths | Align elements; use consistent axis progression |
|
|
133
|
+
| **Connection** | Physically connected items appear related | Lines connecting data points (line chart); connecting annotations |
|
|
134
|
+
|
|
135
|
+
### Elements to Eliminate or Reduce
|
|
136
|
+
|
|
137
|
+
| Element | Action |
|
|
138
|
+
|---------|--------|
|
|
139
|
+
| Chart border/outline | Remove entirely |
|
|
140
|
+
| Gridlines | Remove or make very light grey (e.g., `#E0E0E0`) |
|
|
141
|
+
| Data markers on lines | Remove (unless sparse data) |
|
|
142
|
+
| Axis tick marks | Remove or minimize |
|
|
143
|
+
| Axis lines | Keep only if needed; often gridlines or data placement suffices |
|
|
144
|
+
| Bold axis labels | Reduce to regular weight |
|
|
145
|
+
| Legend | Replace with direct labels on data |
|
|
146
|
+
| Redundant axis title | Remove if axis labels are self-explanatory |
|
|
147
|
+
| Background color | Use white or very light neutral |
|
|
148
|
+
| Decimal precision | Round to meaningful precision (2 decimals rarely needed) |
|
|
149
|
+
|
|
150
|
+
### Data-Ink Ratio
|
|
151
|
+
Coined by Edward Tufte: the proportion of a graphic's ink devoted to displaying data vs. non-data elements. Maximize this ratio by removing non-data ink.
|
|
152
|
+
|
|
153
|
+
### White Space
|
|
154
|
+
- Not "empty" — it's strategic
|
|
155
|
+
- Creates visual breathing room
|
|
156
|
+
- Signals grouping through proximity
|
|
157
|
+
- Resist the urge to fill every pixel
|
|
158
|
+
|
|
159
|
+
---
|
|
160
|
+
|
|
161
|
+
## Ch 4: Focus Your Audience's Attention
|
|
162
|
+
|
|
163
|
+
### Memory Types in Data Viz
|
|
164
|
+
|
|
165
|
+
| Type | Duration | Capacity | Relevance |
|
|
166
|
+
|------|----------|----------|-----------|
|
|
167
|
+
| **Iconic memory** | <1 second | Large | Preattentive attributes are processed here |
|
|
168
|
+
| **Short-term memory** | ~30 seconds | 3–7 items | Limit chart elements to what fits in working memory |
|
|
169
|
+
| **Long-term memory** | Indefinite | Huge | Leverage schemas/patterns audience already knows |
|
|
170
|
+
|
|
171
|
+
### Preattentive Attributes Catalog
|
|
172
|
+
|
|
173
|
+
Attributes processed by the visual system in <500 milliseconds, before conscious attention:
|
|
174
|
+
|
|
175
|
+
**For text emphasis**:
|
|
176
|
+
| Attribute | How to Apply |
|
|
177
|
+
|-----------|-------------|
|
|
178
|
+
| **Bold** | Key words, takeaway text, important labels |
|
|
179
|
+
| **Italic** | Secondary emphasis, annotations, source notes |
|
|
180
|
+
| **UPPERCASE** | Short labels only (hard to read in long strings) |
|
|
181
|
+
| **Size** | Larger for headlines/key numbers; smaller for supporting text |
|
|
182
|
+
| **Color** | Single accent color on key text against grey/black body |
|
|
183
|
+
|
|
184
|
+
**For data emphasis**:
|
|
185
|
+
| Attribute | How to Apply |
|
|
186
|
+
|-----------|-------------|
|
|
187
|
+
| **Color/hue** | Highlight 1 series/bar in color; grey out the rest |
|
|
188
|
+
| **Intensity/saturation** | Brighter = more attention; muted = background |
|
|
189
|
+
| **Size** | Larger data markers, thicker lines for emphasis |
|
|
190
|
+
| **Enclosure** | Box, circle, or shaded region around key area |
|
|
191
|
+
| **Position** | First position (top of bar chart, leftmost) gets most attention |
|
|
192
|
+
| **Line width** | Thicker line for key series; thinner for context series |
|
|
193
|
+
| **Added marks** | Arrows, reference lines, callout boxes |
|
|
194
|
+
|
|
195
|
+
### Color Strategy
|
|
196
|
+
|
|
197
|
+
**The Grey-First Approach**:
|
|
198
|
+
1. Start with everything in grey
|
|
199
|
+
2. Identify the ONE thing you want the audience to see
|
|
200
|
+
3. Apply color ONLY to that element
|
|
201
|
+
4. Use a single accent color (or at most 2)
|
|
202
|
+
|
|
203
|
+
**Color rules**:
|
|
204
|
+
- Grey is your default — not a boring choice, a strategic one
|
|
205
|
+
- Brand colors: use sparingly as accents, not for every data series
|
|
206
|
+
- Warm colors (red, orange) advance; cool colors (blue, green) recede
|
|
207
|
+
- Never use color as the only means of conveying information
|
|
208
|
+
- Consistent meaning: once blue = "our product", keep it blue everywhere
|
|
209
|
+
|
|
210
|
+
### The "Where Are Your Eyes Drawn?" Test
|
|
211
|
+
After creating any visual:
|
|
212
|
+
1. Step back (or squint)
|
|
213
|
+
2. Where do your eyes go first?
|
|
214
|
+
3. Is that the most important element?
|
|
215
|
+
4. If not, adjust color, size, or position until it is
|
|
216
|
+
|
|
217
|
+
---
|
|
218
|
+
|
|
219
|
+
## Ch 5: Think Like a Designer
|
|
220
|
+
|
|
221
|
+
### Core Design Principles for Data Viz
|
|
222
|
+
|
|
223
|
+
| Principle | Application |
|
|
224
|
+
|-----------|------------|
|
|
225
|
+
| **Affordances** | Clickable things should look clickable; readable things should look readable |
|
|
226
|
+
| **Accessibility** | Don't rely on color alone; use labels, patterns, shapes as backup |
|
|
227
|
+
| **Aesthetics** | Well-designed visuals are perceived as easier to use and more credible |
|
|
228
|
+
| **Form follows function** | Choose design that serves the data; never sacrifice clarity for beauty |
|
|
229
|
+
|
|
230
|
+
### Text Alignment
|
|
231
|
+
- **Left-align** all text by default (including chart titles, axis labels, annotations)
|
|
232
|
+
- Center alignment is harder to read for anything beyond 1–2 lines
|
|
233
|
+
- Right-align numbers in columns so decimal points line up
|
|
234
|
+
|
|
235
|
+
### White Space / Negative Space
|
|
236
|
+
- Margin around charts: don't let elements touch edges
|
|
237
|
+
- Breathing room between chart title and chart body
|
|
238
|
+
- Space between legend/annotations and data area
|
|
239
|
+
- White space is NOT wasted — it improves comprehension
|
|
240
|
+
|
|
241
|
+
### Visual Hierarchy in Data Viz
|
|
242
|
+
1. **Title/takeaway** — Most prominent (bold, larger, top of chart)
|
|
243
|
+
2. **Data** — The actual bars/lines/points (the substance)
|
|
244
|
+
3. **Annotations** — Call-outs explaining what to see
|
|
245
|
+
4. **Axis labels** — Necessary but quiet
|
|
246
|
+
5. **Source/footnotes** — Smallest, least prominent
|
|
247
|
+
|
|
248
|
+
### Consistency Across a Presentation
|
|
249
|
+
- Same color = same meaning on every slide
|
|
250
|
+
- Same chart style/formatting throughout
|
|
251
|
+
- Same font, same font sizes
|
|
252
|
+
- Same axis formatting (if showing similar metrics)
|
|
253
|
+
- Consistency reduces cognitive load
|
|
254
|
+
|
|
255
|
+
---
|
|
256
|
+
|
|
257
|
+
## Ch 6: Model Visuals — Integration Examples
|
|
258
|
+
|
|
259
|
+
### Before/After Transformation Process
|
|
260
|
+
The book provides detailed worked examples showing the full transformation:
|
|
261
|
+
|
|
262
|
+
1. **Start with default chart** (Excel/Tableau output with all defaults)
|
|
263
|
+
2. **Identify the message** (What is the Big Idea?)
|
|
264
|
+
3. **Choose the right chart type** (Is the default appropriate?)
|
|
265
|
+
4. **Declutter** (Remove borders, gridlines, markers, legends)
|
|
266
|
+
5. **Focus attention** (Grey everything, add color to the story)
|
|
267
|
+
6. **Add annotations** (Tell the audience what to see)
|
|
268
|
+
7. **Add action title** (Replace generic title with takeaway statement)
|
|
269
|
+
|
|
270
|
+
### Common Transformations
|
|
271
|
+
|
|
272
|
+
| From | To | Why |
|
|
273
|
+
|------|----|-----|
|
|
274
|
+
| Pie chart | Horizontal bar chart | Easier to compare values |
|
|
275
|
+
| Cluttered line chart | Clean line chart with 1 highlighted series | Focuses attention on the story |
|
|
276
|
+
| Rainbow bar chart | Grey bars with 1 highlighted in color | Draws eye to what matters |
|
|
277
|
+
| Generic title ("Sales by Region") | Action title ("Northeast sales declined 18% in Q3") | Tells the audience what to see |
|
|
278
|
+
| Legend in corner | Direct labels on data series | Reduces eye travel; faster comprehension |
|
|
279
|
+
| Dark/busy background | White/clean background | Reduces clutter; focuses on data |
|
|
280
|
+
|
|
281
|
+
---
|
|
282
|
+
|
|
283
|
+
## Ch 7: Lessons in Storytelling
|
|
284
|
+
|
|
285
|
+
### Three-Act Narrative Structure for Data
|
|
286
|
+
|
|
287
|
+
| Act | Content | Data Viz Role |
|
|
288
|
+
|-----|---------|--------------|
|
|
289
|
+
| **Act 1: Setup** | Shared context; what the audience already knows | Background data; baseline metrics; "here's where we are" |
|
|
290
|
+
| **Act 2: Conflict** | What changed; the problem or opportunity; tension | Your key charts; the data that reveals the insight |
|
|
291
|
+
| **Act 3: Resolution** | What to do about it; the call to action | Recommendation; projected impact; next steps |
|
|
292
|
+
|
|
293
|
+
### Horizontal Logic
|
|
294
|
+
- Read ONLY the slide titles in sequence
|
|
295
|
+
- They should tell a complete, compelling story without seeing any chart
|
|
296
|
+
- Each title should be an **action statement** (verb + insight), not a **label** (noun phrase)
|
|
297
|
+
|
|
298
|
+
| Bad Title (Label) | Good Title (Action) |
|
|
299
|
+
|-------------------|-------------------|
|
|
300
|
+
| "Q3 Revenue" | "Q3 revenue fell 12% as enterprise deals slipped" |
|
|
301
|
+
| "Customer Satisfaction" | "Satisfaction scores improved after the June product update" |
|
|
302
|
+
| "Regional Breakdown" | "Western region now accounts for 40% of new business" |
|
|
303
|
+
|
|
304
|
+
### Vertical Logic
|
|
305
|
+
Within each slide/page:
|
|
306
|
+
- The title states the takeaway
|
|
307
|
+
- The chart/data supports that takeaway
|
|
308
|
+
- Annotations point to the evidence
|
|
309
|
+
- Nothing on the slide contradicts or distracts from the title
|
|
310
|
+
|
|
311
|
+
### Reverse Storyboarding
|
|
312
|
+
After completing a presentation:
|
|
313
|
+
1. Extract all slide titles into a list
|
|
314
|
+
2. Read them in order
|
|
315
|
+
3. Do they tell a coherent, compelling story?
|
|
316
|
+
4. If not, restructure
|
|
317
|
+
|
|
318
|
+
### The "So What?" Test
|
|
319
|
+
After presenting any data point or chart, ask: "So what?" The answer should be:
|
|
320
|
+
- Stated as an annotation on the chart
|
|
321
|
+
- Reflected in the slide title
|
|
322
|
+
- Connected to the call to action
|
|
323
|
+
|
|
324
|
+
### Repetition in Data Storytelling
|
|
325
|
+
- State the Big Idea early
|
|
326
|
+
- Support it with data in the middle
|
|
327
|
+
- Restate it at the end
|
|
328
|
+
- Don't be afraid to repeat — audiences need it more than you think
|
|
329
|
+
|
|
330
|
+
---
|
|
331
|
+
|
|
332
|
+
## Ch 8: Pulling It All Together
|
|
333
|
+
|
|
334
|
+
### Complete Workflow Checklist
|
|
335
|
+
|
|
336
|
+
1. **Context** — Who is my audience? What action do I want? How will I deliver?
|
|
337
|
+
2. **Big Idea** — Can I state my message in one sentence?
|
|
338
|
+
3. **Storyboard** — Have I planned the narrative flow before building?
|
|
339
|
+
4. **Chart type** — Is this the right visual for this data?
|
|
340
|
+
5. **Declutter** — Have I removed everything non-essential?
|
|
341
|
+
6. **Focus** — Is color used sparingly and strategically?
|
|
342
|
+
7. **Design** — Is it aligned, consistent, accessible?
|
|
343
|
+
8. **Annotate** — Have I told the audience what to see?
|
|
344
|
+
9. **Title** — Does each title state a takeaway, not a label?
|
|
345
|
+
10. **Story** — Does the horizontal logic tell a complete narrative?
|
|
346
|
+
|
|
347
|
+
---
|
|
348
|
+
|
|
349
|
+
## Ch 9: Case Studies — Key Patterns
|
|
350
|
+
|
|
351
|
+
### Transformation Patterns Observed
|
|
352
|
+
|
|
353
|
+
| Pattern | Technique |
|
|
354
|
+
|---------|-----------|
|
|
355
|
+
| **Dark to light** | Replace dark/colored backgrounds with white |
|
|
356
|
+
| **Rainbow to grey+accent** | Replace multi-color palettes with grey + 1 highlight color |
|
|
357
|
+
| **Legend to direct labels** | Remove legend box; label series directly on the chart |
|
|
358
|
+
| **Default to decluttered** | Remove borders, gridlines, markers, unnecessary text |
|
|
359
|
+
| **Label title to action title** | Replace "Sales by Quarter" with "Sales declined 15% in Q4" |
|
|
360
|
+
| **Chart dump to narrative** | Arrange charts in story order with connecting text |
|
|
361
|
+
| **Table to visual** | Convert data tables into bar charts or line charts for presentations |
|
|
362
|
+
|
|
363
|
+
### Annotation Strategies
|
|
364
|
+
- **Callout boxes**: Semi-transparent background with text near the relevant data point
|
|
365
|
+
- **Arrows**: Point from annotation text to specific data point
|
|
366
|
+
- **Reference lines**: Horizontal/vertical lines showing targets, averages, or thresholds
|
|
367
|
+
- **Color + text**: Highlighted data point + nearby text explaining significance
|
|
368
|
+
- **Progressive reveal**: In presentations, show the chart first, then add annotations (builds)
|
|
369
|
+
|
|
370
|
+
---
|
|
371
|
+
|
|
372
|
+
## Ch 10: Final Thoughts
|
|
373
|
+
|
|
374
|
+
### Practice Framework
|
|
375
|
+
- **Practice constantly** — Apply these lessons to every chart you make, even internal ones
|
|
376
|
+
- **Seek feedback** — Ask others "where are your eyes drawn?" and "what's the message?"
|
|
377
|
+
- **Study great examples** — Collect data visualizations that work and analyze why
|
|
378
|
+
- **Iterate** — First drafts are never final; refine through multiple passes
|
|
379
|
+
- **Be brave** — Simplifying feels risky ("What if they want more data?") but almost always improves communication
|
|
@@ -0,0 +1,111 @@
|
|
|
1
|
+
# Storytelling with Data — Visualization Review Checklist
|
|
2
|
+
|
|
3
|
+
Systematic checklist for reviewing data visualizations against the 6 lessons
|
|
4
|
+
from *Storytelling with Data* by Cole Nussbaumer Knaflic.
|
|
5
|
+
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
## 1. Context (Ch 1)
|
|
9
|
+
|
|
10
|
+
- [ ] **Ch 1 — Audience defined** — Is the target audience clearly identified?
|
|
11
|
+
- [ ] **Ch 1 — Action specified** — Is there a specific action the audience should take?
|
|
12
|
+
- [ ] **Ch 1 — Mechanism appropriate** — Is the delivery method (presentation, report, email, dashboard) suited to the message?
|
|
13
|
+
- [ ] **Ch 1 — Explanatory focus** — Is this communicating ONE insight, not exploring all the data?
|
|
14
|
+
- [ ] **Ch 1 — Big Idea articulated** — Can the message be stated in one sentence with a point of view and stakes?
|
|
15
|
+
- [ ] **Ch 1 — 3-Minute Story passes** — Could someone retell this in 3 minutes at a coffee machine?
|
|
16
|
+
|
|
17
|
+
---
|
|
18
|
+
|
|
19
|
+
## 2. Chart Type (Ch 2)
|
|
20
|
+
|
|
21
|
+
- [ ] **Ch 2 — Right visual chosen** — Does the chart type match the data relationship (time→line, categories→bar, relationship→scatter)?
|
|
22
|
+
- [ ] **Ch 2 — No pie/donut charts** — Are pie/donut charts avoided (use horizontal bar instead)?
|
|
23
|
+
- [ ] **Ch 2 — No 3D effects** — Are all charts flat 2D with no 3D distortion?
|
|
24
|
+
- [ ] **Ch 2 — No secondary y-axis** — Are dual y-axes avoided (use two separate charts)?
|
|
25
|
+
- [ ] **Ch 2 — Bar charts start at zero** — Do all bar charts have a zero baseline?
|
|
26
|
+
- [ ] **Ch 2 — Simple text for 1–2 numbers** — Are standalone metrics shown as large text, not charts?
|
|
27
|
+
- [ ] **Ch 2 — Tables for lookup only** — Are tables used only when precise values are needed, not in live presentations?
|
|
28
|
+
- [ ] **Ch 2 — Bars ordered meaningfully** — Are bar charts ordered by value (or natural order), not alphabetically?
|
|
29
|
+
|
|
30
|
+
---
|
|
31
|
+
|
|
32
|
+
## 3. Clutter (Ch 3)
|
|
33
|
+
|
|
34
|
+
- [ ] **Ch 3 — Chart borders removed** — Are unnecessary chart borders/outlines eliminated?
|
|
35
|
+
- [ ] **Ch 3 — Gridlines minimal** — Are gridlines removed or very light grey?
|
|
36
|
+
- [ ] **Ch 3 — Data markers removed** — Are unnecessary data markers on line charts eliminated?
|
|
37
|
+
- [ ] **Ch 3 — Axis cleaned** — Are unnecessary tick marks, axis lines, and axis titles removed?
|
|
38
|
+
- [ ] **Ch 3 — Direct labels used** — Are data series labeled directly rather than using a legend?
|
|
39
|
+
- [ ] **Ch 3 — Precision appropriate** — Are numbers rounded to meaningful precision (not excessive decimals)?
|
|
40
|
+
- [ ] **Ch 3 — Background clean** — Is the background white or very light neutral?
|
|
41
|
+
- [ ] **Ch 3 — White space present** — Is there adequate breathing room (not crammed)?
|
|
42
|
+
- [ ] **Ch 3 — Gestalt applied** — Is proximity, similarity, or enclosure used to show grouping?
|
|
43
|
+
- [ ] **Ch 3 — Data-ink ratio high** — Does most of the visual's "ink" represent data, not decoration?
|
|
44
|
+
|
|
45
|
+
---
|
|
46
|
+
|
|
47
|
+
## 4. Attention (Ch 4)
|
|
48
|
+
|
|
49
|
+
- [ ] **Ch 4 — Color used sparingly** — Is color limited to 1–2 accent colors (not rainbow)?
|
|
50
|
+
- [ ] **Ch 4 — Grey-first approach** — Is most data grey with only the key story highlighted in color?
|
|
51
|
+
- [ ] **Ch 4 — Eyes drawn correctly** — Does the "where are your eyes drawn?" test pass?
|
|
52
|
+
- [ ] **Ch 4 — Preattentive attributes used** — Are size, color, bold, or position used to guide attention?
|
|
53
|
+
- [ ] **Ch 4 — Color consistent** — Does the same color mean the same thing across all visuals?
|
|
54
|
+
- [ ] **Ch 4 — Color not sole indicator** — Is information available without relying on color alone (accessibility)?
|
|
55
|
+
- [ ] **Ch 4 — Annotations present** — Are key data points annotated with text explaining significance?
|
|
56
|
+
|
|
57
|
+
---
|
|
58
|
+
|
|
59
|
+
## 5. Design (Ch 5)
|
|
60
|
+
|
|
61
|
+
- [ ] **Ch 5 — Text left-aligned** — Is text left-aligned (not centered) for readability?
|
|
62
|
+
- [ ] **Ch 5 — Numbers right-aligned** — Are numbers in tables/columns right-aligned?
|
|
63
|
+
- [ ] **Ch 5 — Visual hierarchy clear** — Is the title/takeaway most prominent, then data, then supporting elements?
|
|
64
|
+
- [ ] **Ch 5 — Alignment clean** — Are chart elements aligned on a consistent grid?
|
|
65
|
+
- [ ] **Ch 5 — White space deliberate** — Are margins and padding used intentionally?
|
|
66
|
+
- [ ] **Ch 5 — Consistency maintained** — Are colors, fonts, and chart styles consistent across all visuals?
|
|
67
|
+
- [ ] **Ch 5 — Aesthetics polished** — Does the visual look professional and credible?
|
|
68
|
+
- [ ] **Ch 5 — Accessible** — Is the visual readable for color-blind users and in black-and-white?
|
|
69
|
+
|
|
70
|
+
---
|
|
71
|
+
|
|
72
|
+
## 6. Story (Ch 7)
|
|
73
|
+
|
|
74
|
+
- [ ] **Ch 7 — Action title used** — Does each chart title state a takeaway (not a label)?
|
|
75
|
+
- [ ] **Ch 7 — Horizontal logic works** — Do the slide/section titles alone tell a complete story?
|
|
76
|
+
- [ ] **Ch 7 — Vertical logic works** — Does everything on each slide/page support its title?
|
|
77
|
+
- [ ] **Ch 7 — Three-act structure** — Is there a clear setup → conflict → resolution arc?
|
|
78
|
+
- [ ] **Ch 7 — Call to action present** — Does the presentation end with a specific, actionable recommendation?
|
|
79
|
+
- [ ] **Ch 7 — "So what?" answered** — Is the significance of each data point explained?
|
|
80
|
+
- [ ] **Ch 7 — Big Idea repeated** — Is the core message stated at the beginning, reinforced in the middle, and restated at the end?
|
|
81
|
+
- [ ] **Ch 7 — Narrative flow logical** — Does the sequence of visuals build a coherent argument?
|
|
82
|
+
|
|
83
|
+
---
|
|
84
|
+
|
|
85
|
+
## Quick Review Workflow
|
|
86
|
+
|
|
87
|
+
1. **Context pass** — Is the audience, action, and Big Idea clear?
|
|
88
|
+
2. **Chart type pass** — Is each visual the right type for the data? Any pie charts or 3D?
|
|
89
|
+
3. **Clutter pass** — What can be removed? Borders, gridlines, markers, legend, decorations?
|
|
90
|
+
4. **Attention pass** — Squint test: where do your eyes go? Is that the right place?
|
|
91
|
+
5. **Design pass** — Alignment, white space, consistency, hierarchy all clean?
|
|
92
|
+
6. **Story pass** — Read only the titles: do they tell a compelling, complete narrative?
|
|
93
|
+
7. **Prioritize findings** — Context > Chart Type > Attention > Clutter > Story > Design polish
|
|
94
|
+
|
|
95
|
+
## Title Quality Check
|
|
96
|
+
|
|
97
|
+
| Title Type | Example | Quality |
|
|
98
|
+
|-----------|---------|---------|
|
|
99
|
+
| **No title** | (blank) | Unacceptable |
|
|
100
|
+
| **Label title** | "Q3 Revenue by Region" | Poor — describes but doesn't inform |
|
|
101
|
+
| **Observation title** | "Q3 revenue varied across regions" | Mediocre — vague observation |
|
|
102
|
+
| **Action title** | "Northeast Q3 revenue dropped 18% — investigate staffing gaps" | Excellent — takeaway + implication |
|
|
103
|
+
|
|
104
|
+
## Severity Levels
|
|
105
|
+
|
|
106
|
+
| Severity | Description | Example |
|
|
107
|
+
|----------|-------------|---------|
|
|
108
|
+
| **Critical** | Misleading or unreadable | Wrong chart type distorting data; bar chart not starting at zero; unreadable text; no title |
|
|
109
|
+
| **High** | Missing context or wrong focus | No Big Idea; rainbow colors with no focal point; no annotations; legend instead of direct labels |
|
|
110
|
+
| **Medium** | Clutter or inconsistency | Unnecessary gridlines/borders; inconsistent colors; excessive decimals; cluttered default styling |
|
|
111
|
+
| **Low** | Polish or narrative | Label title instead of action title; minor alignment issues; missing white space; weak narrative flow |
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
|