Design and embed word-sized graphics within text, tables, and documents for contextual data display. Based on Edward Tufte's concept of "intense, word-sized graphics.
Scanned 9/8/2026
Install to Claude Code
npx -y skills add sethmblack/paks-skills --skill sparkline-integration --agent claude-codeInstalls into .claude/skills of the current project.
Are you the author of Sparkline Integration?
Add the live security badge to your README — it updates automatically with every re-scan.
[](https://www.skillsdirectory.com/skills/sethmblack-sparkline-integration)More formats (shields.io, HTML) on the badges page.
---
name: sparkline-integration
description: Design and embed word-sized graphics within text, tables, and documents for contextual data display. Based on Edward Tufte's concept of "intense, word-sized graphics.
license: MIT
metadata:
version: 1.0.5023
author: sethmblack
repository: https://github.com/sethmblack/paks-skills
keywords:
- compression
- sparkline-integration
- writing
---
# Sparkline Integration
Design and embed word-sized graphics within text, tables, and documents for contextual data display. Based on Edward Tufte's concept of "intense, word-sized graphics."
---
## When to Use
- Need to show trends without breaking text flow
- Tables that would benefit from visual context
- Dashboards with limited space
- Medical records, financial reports, or metrics tables
- Anywhere numbers need visual context
**Trigger Phrases:**
- "Show inline data"
- "Embed graphics in text"
- "Add trend to this table"
- "I need word-sized graphics"
- "Show the pattern next to the number"
---
## Inputs
| Input | Required | Description |
|-------|----------|-------------|
| data | Yes | The time series or sequence to display |
| context | Yes | Where the sparkline will be embedded |
| key_points | No | Specific values to highlight (min, max, current) |
---
## Core Principle
> "Sparklines are data-intense, design-simple, word-sized graphics... a sparkline is a kind of 'word' that conveys rich information without breaking the flow of a sentence or paragraph."
> — Edward Tufte
**The Power:** High resolution in minimal space. Trend, volatility, seasonality, and current position—all in a space smaller than this sentence.
---
## Design Parameters
### Size
- **Height:** 1-2 times the cap height of surrounding text
- **Width:** Proportional to data density (typically 10-40 characters wide)
- **Baseline:** Aligned with text baseline or table cell
### Resolution
- Maximize data density
- Minimum of 10-20 data points (fewer becomes a symbol, not a sparkline)
- No upper limit—hundreds of points can work
### Simplicity
- No axes
- No labels (usually)
- No gridlines
- Single color (with possible highlights)
- Just the data line or bars
---
## Sparkline Types
### Line Sparkline
**Best for:** Continuous data, trends, time series
**Structure:** Single path following data values
**Highlights:** Optional dots at first, last, min, max, or current
### Bar Sparkline
**Best for:** Discrete periods, comparison, when zero matters
**Structure:** Vertical bars for each value
**Highlights:** Different color for above/below baseline
### Win/Loss Sparkline
**Best for:** Binary outcomes, above/below threshold
**Structure:** Bars of equal height, up or down
**Highlights:** Color for wins vs losses
### Bullet Sparkline
**Best for:** Performance against target
**Structure:** Bar with reference lines for targets/ranges
**Highlights:** Current value bar against gray reference bands
---
## Workflow
### Step 1: Determine Context
Where will the sparkline appear?
| Context | Considerations |
|---------|----------------|
| Running text | Align to baseline, height matches x-height to cap-height |
| Table cell | Fill available width, consistent height across rows |
| Dashboard | Can be slightly larger, may include minimal labels |
| Margin note | Can be wider, still compact |
### Step 2: Select Data Range
What time period or data range?
- Enough points for pattern recognition (20+)
- Relevant to the context (e.g., last 12 months, last 52 weeks)
- Consistent across all sparklines in the same document
### Step 3: Choose Type
Match type to data:
- Trends → Line
- Discrete comparisons → Bar
- Binary outcomes → Win/Loss
- Progress vs target → Bullet
### Step 4: Design Highlights
What points need emphasis?
| Highlight | Symbol |
|-----------|--------|
| Current/last value | Dot or text annotation |
| Minimum | Different color dot |
| Maximum | Different color dot |
| First | Lighter dot for reference |
| Target | Horizontal reference line |
### Step 5: Set Scale
**Critical decision:** Should all sparklines share the same scale?
| Approach | When to Use |
|----------|-------------|
| **Shared scale** | Comparing magnitudes across rows |
| **Individual scale** | Showing each item's pattern |
If individual scales, consider subtle indicators of magnitude (e.g., shaded background bands).
### Step 6: Position and Integrate
- Align baselines
- Consistent spacing from surrounding elements
- Don't crowd—white space helps
---
## Integration Patterns
### In Tables
```
Region Q1 Rev Trend YoY Change
─────────────────────────────────────────────
Northeast $12.3M ▁▂▃▄▅▆▇█▆▅ +14%
Southeast $8.7M ▅▆▇█▇▆▅▄▃▂ -22%
Midwest $10.1M ▃▄▄▅▅▆▆▇▇█ +31%
```
### In Text
"Sales have been rising steadily ▁▂▃▅▆▇ reaching $1.2M last quarter."
### In Medical Records
```
Patient Vitals (last 24 hours)
─────────────────────────────
Heart Rate: 72 bpm ▃▃▄▅▄▃▃▄▃▃▄▃
Blood Pressure: 120/80 ▆▆▇▆▆▅▆▆▇▆▆▆
Temperature: 98.6°F ▄▄▄▄▄▄▄▄▄▄▄▄
```
---
## Outputs
| Output | Description |
|--------|-------------|
| Sparkline type | Line, bar, win/loss, or bullet |
| Data range | What data the sparkline shows |
| Highlights | What points to emphasize |
| Scale approach | Shared or individual |
| Integration spec | How to position in context |
---
## Example
**User:** "I have a table showing 50 products with their current inventory and sales. How can I add context without making it huge?"
**Sparkline Integration response:**
Add a sparkline column between the data and the current status:
**Before:**
```
Product Inventory Status
────────────────────────────
Widget A 1,234 In Stock
Widget B 89 Low Stock
Widget C 2,891 In Stock
```
**After:**
```
Product Inventory Last 12 Weeks Sales Status
─────────────────────────────────────────────────────
Widget A 1,234 ▃▄▅▆▇█▇▆▇▇█▇ In Stock
Widget B 89 ▇█▇▆▅▄▃▂▁▁▁▂ Low Stock
Widget C 2,891 ▄▄▄▄▅▄▄▅▄▄▄▄ In Stock
```
**Design decisions:**
- **Type:** Bar sparkline (discrete weekly periods)
- **Scale:** Individual per row (pattern matters more than magnitude comparison)
- **Highlights:** None needed—pattern is the message
- **Width:** 12 characters (one per week)
**What the viewer learns instantly:**
- Widget A: Rising demand, inventory may need increase
- Widget B: Demand collapsed, low stock may be appropriate
- Widget C: Steady demand, inventory well-matched
All of this without adding any labels, axes, or explanation. The sparkline speaks.
---
## Implementation Notes
Many tools now support sparklines:
- Excel: Built-in since 2010
- Google Sheets: SPARKLINE function
- Tableau: Can create via calculated fields
- HTML/CSS: Via SVG or canvas
- Unicode: Block characters (▁▂▃▄▅▆▇█) for text-only
When using Unicode blocks, resolution is limited to 8 levels. True sparklines can show hundreds of gradations.
---
## Integration
This skill pairs with:
- **data-ink-maximization** - Sparklines are maximum data per ink
- **small-multiples-design** - Table of sparklines is a form of small multiples
- **high-resolution-thinking** - Adding data to dense displays
---
## Constraints
- Requires time series or sequential data
- Too few data points (under 10) won't show patterns
- Shared scale can compress low-value sparklines
- Accessibility: provide text alternatives for screen readers
---
## Source Expert
Edward Tufte - `experts/edward-tufte/`Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.
No comments yet. Be the first to comment!