data-visualization

Data visualization and information design best practices. Use when creating charts, dashboards, graphs, or any visual representation of data.

Safety Notice

This listing is imported from skills.sh public index metadata. Review upstream SKILL.md and repository scripts before running.

Copy this and send it to your AI assistant to learn

Install skill "data-visualization" with this command: npx skills add igbuend/grimbard/igbuend-grimbard-data-visualization

Data Visualization

Principles and best practices for effective data visualization.

Core Principles

Tufte's Foundations

Data-Ink Ratio: Maximize ink used for actual data

  • Remove unnecessary gridlines, borders, backgrounds
  • Eliminate 3D effects, shadows, decorative elements
  • Every visual element must justify its existence

Lie Factor: Graphical representation must match data

  • Lie Factor = Size of Effect in Graphic / Size of Effect in Data
  • Ideal = 1. Substantial distortion when >1.05 or <0.95
  • Avoid: non-zero baselines, inconsistent scales, 3D distortion

Chart Junk: Remove non-data ink and redundant data-ink

Graphical Integrity

PracticeRule
Bar chartsMust start at zero
ProportionsSize encodements reflect actual ratios
3D effectsNever use—distorts perception
Pie chartsMaximum 3-4 slices

Visual Perception

Gestalt Principles

PrincipleApplication
ProximityCluster related data; space different categories
SimilarityConsistent color/shape for categories
ContinuityConnected line charts for trends
ClosureComplete shapes, avoid unnecessary borders
Figure/GroundData stands out against background
ConnectionLines/links show relationships

Preattentive Attributes

Processed in <200ms before conscious attention:

Hierarchy: Position > Color > Size > Shape > Orientation

AttributeUse Case
Position (spatial)Ranking, trends
Color (hue)Categorical distinction
SizeQuantitative comparison
ShapeCategory distinction
IntensityHighlighting differences

Color

Palette Types

Sequential: Ordered data (low → high), single hue light to dark
Diverging: Data with meaningful midpoint, two hues meeting at neutral
Categorical: Nominal data, distinct equally-spaced hues (max 6-8)

Color-Blind Safe Palettes

~8% of men and 0.5% of women have color vision deficiency. Design for them by default.

Okabe-Ito Palette (recommended default):

  • Black #000000, Orange #E69F00, Sky Blue #56B4E9
  • Bluish Green #009E73, Yellow #F0E442, Blue #0072B2
  • Vermillion #D55E00, Reddish Purple #CC79A7

Other tested palettes: Viridis, Cividis, Paul Tol, ColorBrewer (colorblind filter)

Color Blindness Types

TypePrevalenceConfusion
Deuteranomaly5% of menRed-green (most common)
Protanopia1% of menRed-green
Deuteranopia1.3% of menRed-green
Tritanopia0.0001%Blue-yellow (rare)
Achromatopsia0.003%No color (greyscale)

Cultural Considerations

ColorWesternChinaOther
RedDangerGood luckDeath (some African)
WhitePurityDeath
GreenEnvironmentInfidelity

Accessibility

Fundamental Rule

Never use color alone to encode data. Always combine with at least one other channel:

  • Color + pattern/texture (bar charts)
  • Color + line style: solid, dashed, dotted (line charts)
  • Color + shape (scatter plots)
  • Color + direct labels (all charts)

Contrast Requirements (WCAG)

ElementAA (minimum)AAA (enhanced)
Body text4.5:17:1
Large text (18pt+)3:14.5:1
Non-text (lines, bars, icons)3:1
Focus indicators3:13:1 + 2px space

Low Vision Design

~253 million people globally have visual impairment.

Typography in charts:

  • Minimum 12px for labels (14px preferred)
  • Sans-serif fonts for readability
  • Line height ≥1.5×
  • High contrast text (4.5:1 minimum)

Layout:

  • Support browser zoom to 200% without content loss
  • No horizontal scrolling at zoomed levels
  • Direct data labeling reduces magnification needs
  • Avoid cluttered, dense layouts

Dark mode:

  • Avoid pure white (#fff) on pure black (#000) — causes halation
  • Use slightly heavier font weights on dark backgrounds
  • Maintain all contrast ratios

Screen Reader Accessibility

Alt text for charts (follow the four-level model by Lundgard & Satyanarayan, 2021):

  1. What: Chart type and data ("Bar chart showing 2024 sales by region")
  2. How: Encoding method ("Bars represent revenue in USD")
  3. Readout: Key values ("North America leads at $450K")
  4. Insight: Patterns/trends ("45% year-over-year growth")

SVG accessibility:

<svg role="img" aria-labelledby="title desc">
  <title id="title">2024 Sales by Region</title>
  <desc id="desc">Bar chart. North America leads with 45% of revenue.</desc>
</svg>

Always provide: data table alternative or detailed description for complex charts.

Multi-Modal Access

Beyond visual, consider:

  • Sonification: Map data values to pitch/rhythm (Highcharts Sonification Studio, TwoTone)
  • Tactile graphics: Raised-surface charts for blind users (swell-touch paper, 3D print)
  • Haptic feedback: Vibration intensity proportional to data values
  • MAIDR: Multi-Access Interactive Data Representation (text + audio + tactile)

Accessibility Legislation

JurisdictionLaw/StandardRequirement
USSection 508, ADAWCAG 2.0/2.1 AA (federal); courts use WCAG for ADA
EUEuropean Accessibility Act (2025), EN 301 549WCAG 2.1 AA for public + private sectors
UKEquality Act 2010, PSBAR 2018WCAG 2.1 AA for public sector
JapanJIS X 8341-3:2016Aligned with WCAG, AA recommended
AustraliaDisability Discrimination Act 1992WCAG 2.1 AA benchmark
CanadaAccessible Canada Act, AODA (Ontario)WCAG 2.0 AA minimum, moving to 2.1
SingaporeDigital Service StandardsWCAG 2.1 AA for government
ChinaGB/T 37668-2019Aligned with WCAG 2.0
South KoreaKWCAG 2.1Aligned with WCAG 2.1

Accessibility Testing Checklist

  • Color not sole encoding method (WCAG 1.4.1)
  • Text contrast ≥4.5:1 (WCAG 1.4.3)
  • Non-text contrast ≥3:1 (WCAG 1.4.11)
  • Supports 200% zoom (WCAG 1.4.4)
  • Text spacing adjustable (WCAG 1.4.12)
  • Alt text or data table provided (WCAG 1.1.1)
  • Keyboard navigable (WCAG 2.1.1)
  • Test with color blindness simulator (Coblis, ColorOracle)
  • Test with screen reader (NVDA, VoiceOver)
  • Grayscale test: still understandable?

Chart Selection

Data type:
├─ Categorical comparison → Bar chart
├─ Part-to-whole → Treemap/stacked bar (avoid pie >4 slices)
├─ Time series → Line chart
├─ Distribution → Histogram, box plot, violin
├─ Correlation → Scatter plot
├─ Geographic → Choropleth, proportional symbol
└─ Network/flow → Network graph, Sankey

Common Mistakes

Avoid

  • Truncated Y-axis in bar charts
  • Dual Y-axes (false correlations)
  • 4 pie chart slices

  • 3D charts
  • Rainbow palettes without meaning
  • Over-plotting (too many points)
  • Color-only encoding (accessibility failure)
  • Insufficient contrast on chart elements

Fixes

  • Clutter → Small multiples, sparklines
  • No context → Add baseline, benchmarks
  • Hard to compare → Consistent scales, aligned axes
  • Data overload → Filter, aggregate, progressive disclosure
  • Inaccessible → Redundant encoding, alt text, data tables

Domain Guidance

Financial

  • Candlestick charts for prices
  • Treemaps for portfolio allocation
  • Log vs linear scale for long timeframes
  • Annotate key events (earnings, mergers)

Security/SOC

  • Heatmaps for activity over time
  • Network graphs for connection analysis
  • Sankey for traffic flow
  • Red/amber/green severity (with icons for color-blind users)
  • Dark theme preferred (reduce eye strain)

Scientific

  • Vector graphics (SVG, PDF)
  • Field-specific conventions
  • Follow Nature 2025 checklist: clarity, accessibility
  • 300+ DPI, clear labeling
  • Color-blind safe palettes mandatory for publications

Tools

Use CaseTool
Custom web vizD3.js, Plotly, Olli (accessible)
BI dashboardsTableau, Power BI, Apache ECharts
Static reportsMatplotlib, Seaborn, ggplot2
Rapid prototypingFlourish, Google Data Studio
AI/ML integrationPython (Matplotlib, Plotly, Altair)

Accessibility Tools

PurposeTool
Color blind simulationCoblis, ColorOracle, Chrome "Let Me Color"
Contrast checkingWebAIM Contrast Checker, axe DevTools
Screen reader testingNVDA (free), JAWS, VoiceOver
Accessibility auditWAVE, Lighthouse, Accessibility Insights
Accessible chartsOlli (MIT), Highcharts Sonification
Color palette designColorBrewer, Paul Tol, Accessible Colors

Quick Reference

  1. Start with grayscale — add color only to encode data
  2. Redundant encoding — color + pattern/shape/label always
  3. Okabe-Ito palette — default color-blind safe choice
  4. 4.5:1 / 3:1 — text contrast / non-text contrast minimums
  5. Small multiples — same chart across subsets solves clutter
  6. Tufte's test — can you remove this element and still understand?
  7. Alt text + data table — provide text alternatives for every chart
  8. Test accessibility — simulator + screen reader + grayscale

Resources

  • Tufte's 4 books (foundational)
  • Wilke, Fundamentals of Data Visualization (2019)
  • Lundgard & Satyanarayan, "Accessible Visualization via Natural Language Descriptions" (2021)
  • Hajas et al., "Rich Screen Reader Experiences" (2022, MIT)
  • Nature 2025 scientific visualization checklist
  • W3C WAI: w3.org/WAI
  • ColorBrewer: colorbrewer2.org
  • WebAIM: webaim.org
  • DIAGRAM Center: diagramcenter.org

Source Transparency

This detail page is rendered from real SKILL.md content. Trust labels are metadata-based hints, not a safety guarantee.

Related Skills

Related by shared tags or category signals.

General

tikz

No summary provided by upstream source.

Repository SourceNeeds Review
General

latex

No summary provided by upstream source.

Repository SourceNeeds Review
General

pgfplots

No summary provided by upstream source.

Repository SourceNeeds Review