Install any skill in seconds. Free to start, no credit card required.
Get Started Free →Builds dashboards, reports, and data-driven interfaces requiring charts, graphs, or visual analytics. Provides systematic framework for selecting appropriate visualizations based on data characteristics and analytical purpose. Includes 24+ visualization types organized by purpose (trends, comparisons, distributions, relationships, flows, hierarchies, geospatial), accessibility patterns (WCAG 2.1 AA compliance), colorblind-safe palettes, and performance optimization strategies. Use when creating
.claude/skills/ancoleman-visualizing-data/SKILL.md| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-07 | ✗→✓ | ▲ Improved | 77% | 0% |
| case-11 | ✗→✓ | ▲ Improved | 420% | 0% |
| case-19 | ✗→✓ | ▲ Improved | 183% | 0% |
| case-20 | ✗→✓ | ▲ Improved | 128% | 0% |
| case-01 | ✓→✓ | = Same ✓ | 155% | 0% |
Systematic guidance for selecting and implementing effective data visualizations, matching data characteristics with appropriate visualization types, ensuring clarity, accessibility, and impact.
Data visualization transforms raw data into visual representations that reveal patterns, trends, and insights. This skill provides:
What type? [categorical | continuous | temporal | spatial | hierarchical]
How many dimensions? [1D | 2D | multivariate]
How many points? [<100 | 100-1K | 1K-10K | >10K]What story to tell? [comparison | trend | distribution | relationship | composition | flow | hierarchy | geographic]Quick Selection:
Complete decision trees: See references/selection-matrix.md
See language sections below for recommended libraries.
Match analytical purpose to chart type:
| Purpose | Chart Types | |---------|-------------| | Compare values | Bar Chart, Lollipop Chart | | Show trends | Line Chart, Area Chart | | Reveal distributions | Histogram, Violin Plot, Box Plot | | Explore relationships | Scatter Plot, Bubble Chart | | Explain composition | Treemap, Stacked Bar, Pie Chart (<6 slices) | | Visualize flow | Sankey Diagram, Chord Diagram | | Display hierarchy | Sunburst, Dendrogram, Treemap | | Show geographic | Choropleth Map, Symbol Map |
General audiences, straightforward data stories:
Specific analytical insights:
Complex data, sophisticated audiences:
Detailed descriptions: See references/chart-catalog.md
html<figure role="img" aria-label="Sales increased 15% from Q3 to Q4"> <svg>...</svg> </figure>
IBM Palette (Recommended):
#648FFF (Blue), #785EF0 (Purple), #DC267F (Magenta),
#FE6100 (Orange), #FFB000 (Yellow)Avoid: Red/Green combinations (8% of males have red-green colorblindness)
Complete accessibility guide: See references/accessibility.md
| Rows | Strategy | Implementation | |------|----------|----------------| | <1,000 | Direct rendering | Standard libraries (SVG) | | 1K-10K | Sampling/aggregation | Downsample to ~500 points | | 10K-100K | Canvas rendering | Switch from SVG to Canvas | | >100K | Server-side aggregation | Backend processing |
Composable React components, declarative API, responsive by default.
bashnpm install recharts
tsximport { LineChart, Line, XAxis, YAxis, Tooltip, ResponsiveContainer } from 'recharts'; const data = [ { month: 'Jan', sales: 4000 }, { month: 'Feb', sales: 3000 }, { month: 'Mar', sales: 5000 }, ]; export function SalesChart() { return ( <ResponsiveContainer width="100%" height={300}> <LineChart data={data}> <XAxis dataKey="month" /> <YAxis /> <Tooltip /> <Line type="monotone" dataKey="sales" stroke="#8884d8" /> </LineChart> </ResponsiveContainer> ); }
Maximum flexibility, industry standard, unlimited chart types.
bashnpm install d3
3D visualizations, statistical charts, interactive out-of-box.
bashnpm install react-plotly.js plotly.js
Detailed examples: See references/javascript/
Common Libraries:
When building Python implementations:
references/python/Reference the design-tokens skill for theming:
css--chart-color-primary --chart-color-1 through --chart-color-10 --chart-axis-color --chart-grid-color --chart-tooltip-bg
tsx<Line stroke="var(--chart-color-primary)" />
Light/dark/high-contrast themes work automatically via design tokens.
START: What is your data?
Categorical (categories/groups)
├─ Compare values → Bar Chart
├─ Show composition → Treemap or Pie Chart (<6 slices)
└─ Show flow → Sankey Diagram
Continuous (numbers)
├─ Single variable → Histogram, Violin Plot
└─ Two variables → Scatter Plot
Temporal (time series)
├─ Single metric → Line Chart
├─ Multiple metrics → Small Multiples
└─ Daily patterns → Calendar Heatmap
Hierarchical (nested)
├─ Proportions → Treemap
└─ Show depth → Sunburst, Dendrogram
Geographic (locations)
├─ Regional aggregates → Choropleth Map
└─ Point locations → Symbol MapSelection Guides:
references/chart-catalog.md - All 24+ visualization typesreferences/selection-matrix.md - Complete decision treesTechnical Guides:
references/accessibility.md - WCAG 2.1 AA patternsreferences/color-systems.md - Colorblind-safe palettesreferences/performance.md - Optimization by data volumeLanguage-Specific:
references/javascript/ - React, D3.js, Plotly examplesreferences/python/ - Plotly, Matplotlib, SeabornAssets:
assets/color-palettes/ - Accessible color schemesassets/example-datasets/ - Sample data for testingWorking code examples:
examples/javascript/bar-chart.tsxexamples/javascript/line-chart.tsxexamples/javascript/scatter-plot.tsxexamples/javascript/accessible-chart.tsxbashcd examples/javascript && npm install && npm start
bash# Validate accessibility scripts/validate_accessibility.py <chart-html> # Test colorblind # Use browser DevTools color vision deficiency emulator
Progressive disclosure: This SKILL.md provides overview and quick start. Detailed documentation, code examples, and language-specific implementations in references/ and examples/ directories.
| Case | Status | Duration (ms) | Turns | Tokens | Tool calls | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Without | With | Δ | Without | With | Δ | Without | With | Δ | Without | With | Δ | ||
case-01 | pass→pass | 12,938 | 14,649 | +13% | 1 | 1 | 0% | 1,979 | 5,045 | +155% | 0 | 0 | — |
case-02 | pass→pass | 10,404 | 13,734 | +32% | 1 | 1 | 0% | 1,771 | 4,803 | +171% | 0 | 0 | — |
case-03 | pass→pass | 17,262 | 9,201 | -47% | 1 | 1 | 0% | 1,522 | 3,991 | +162% | 0 | 0 | — |
case-04 | pass→pass | 20,782 | 13,361 | -36% | 1 | 1 | 0% | 2,426 | 4,927 | +103% | 0 | 0 | — |
case-05 | pass→pass | 17,517 | 12,566 | -28% | 1 | 1 | 0% | 2,629 | 4,406 | +68% | 0 | 0 | — |
case-06 | pass→pass | 15,710 | 10,124 | -36% | 1 | 1 | 0% | 2,582 | 4,113 | +59% | 0 | 0 | — |
case-07 | fail→pass | 14,366 | 13,802 | -4% | 1 | 1 | 0% | 2,733 | 4,847 | +77% | 0 | 0 | — |
case-08 | pass→pass | 13,938 | 13,242 | -5% | 1 | 1 | 0% | 2,290 | 4,862 | +112% | 0 | 0 | — |
case-09 | pass→pass | 16,059 | 13,838 | -14% | 1 | 1 | 0% | 2,420 | 4,550 | +88% | 0 | 0 | — |
case-10 | pass→pass | 9,496 | 22,696 | +139% | 1 | 1 | 0% | 1,544 | 4,557 | +195% | 0 | 0 | — |
case-11 | fail→pass | 5,138 | 8,611 | +68% | 1 | 1 | 0% | 759 | 3,945 | +420% | 0 | 0 | — |
case-12 | pass→pass | 11,970 | 17,058 | +43% | 1 | 1 | 0% | 1,974 | 5,223 | +165% | 0 | 0 | — |
case-13 | pass→pass | 13,131 | 10,474 | -20% | 1 | 1 | 0% | 2,256 | 4,420 | +96% | 0 | 0 | — |
case-14 | pass→pass | 13,971 | 12,648 | -9% | 1 | 1 | 0% | 2,106 | 4,643 | +120% | 0 | 0 | — |
case-15 | pass→pass | 9,981 | 8,684 | -13% | 1 | 1 | 0% | 1,543 | 3,896 | +152% | 0 | 0 | — |
case-16 | pass→pass | 11,360 | 10,196 | -10% | 1 | 1 | 0% | 1,803 | 3,946 | +119% | 0 | 0 | — |
case-17 | pass→pass | 7,338 | 9,220 | +26% | 1 | 1 | 0% | 1,159 | 3,767 | +225% | 0 | 0 | — |
case-18 | pass→pass | 9,964 | 11,294 | +13% | 1 | 1 | 0% | 1,713 | 4,218 | +146% | 0 | 0 | — |
case-19 | fail→pass | 7,468 | 7,716 | +3% | 1 | 1 | 0% | 1,260 | 3,560 | +183% | 0 | 0 | — |
case-20 | fail→pass | 14,343 | 30,818 | +115% | 1 | 1 | 0% | 2,618 | 5,962 | +128% | 0 | 0 | — |
case-21 | pass→pass | 12,547 | 8,744 | -30% | 1 | 1 | 0% | 2,301 | 4,164 | +81% | 0 | 0 | — |
case-22 | pass→pass | 11,825 | 14,761 | +25% | 1 | 1 | 0% | 2,197 | 4,929 | +124% | 0 | 0 | — |
case-23 | pass→pass | 16,907 | 16,531 | -2% | 1 | 1 | 0% | 3,167 | 5,720 | +81% | 0 | 0 | — |
DecimalAI ran this skill against gemini-3.6-flash twice over the same eval suite — once with the skill loaded and once without — and compared the two runs case by case. 23 cases were attempted. The headline lift of +17 percentage points is the difference between those two pass rates over the 23 comparable cases.
Without the skill loaded, the model failed this case. With it loaded, the same prompt on the same model passed. This is one improved case from the latest verified run; every case, including any that regressed, is in the table above.
Other measured skills in the registry, with their headline benchmark lift.