Also bundled
AGENTS20 skills · 65 min
Skills
Skill 3 of 20
Patterns for visualizing data on maps including choropleth maps, heat maps, 3D visualizations, data-driven styling, and animated data.
1 minute · 276 words · 11 sections
Install
npx skills add mapbox/mapbox-agent-skills --skill mapbox-data-visualization-patternsnpx skills add mapbox/mapbox-agent-skills/plugin marketplace add mapbox/mapbox-agent-skillsThe first command installs just this skill, by the name in its SKILL.md; the second installs the whole repository.
Comprehensive patterns for visualizing data on Mapbox maps. Covers choropleth maps, heat maps, 3D extrusions, data-driven styling, animated visualizations, and performance optimization for data-heavy applications.
Use this skill when:
Best for: Regional data (states, counties, zip codes), statistical comparisons
Pattern: Color-code polygons based on data values
map.on('load', () => {
// Add data source (GeoJSON with properties)
map.addSource('states', {
type: 'geojson',
data:
stepvsinterpolate: The example above usesinterpolatefor smooth color gradients. For discrete color buckets (e.g., “low / medium / high”), use['step', ['get', 'population'], '#f0f0f0', 500000, '#fee0d2', 2000000, '#fc9272', 10000000, '#de2d26']instead. Preferstepwhen data has natural categories or when exact boundary values matter.
Color Scale Strategies:
// Linear interpolation (continuous scale)
'fill-color': [
'interpolate',
['linear'],
['get', 'value'],
0, '#ffffcc',
25, '#78c679',
50, '#31a354',
100, '#006837'
]
Best for: Point density, event locations, incident clustering
Pattern: Visualize density of points
map.on('load', () => {
// Add data source (points)
map.addSource('incidents', {
type:
// Use ColorBrewer scales for accessibility
// https://colorbrewer2.org/
// Good: Sequential (single hue)
const sequentialScale = ['#f0f9ff', '#bae4ff', '#7fcdff', '#0080ff', '#001f5c'];
// Good: Diverging (two hues)
const divergingScale = ['#d73027', '#fc8d59', '#fee08b', '#d9ef8b'
// Handle missing or invalid data
map.on('load', () => {
map.addSource('data', {
type: 'geojson',
data: dataUrl
});
map.addLayer({
id: 'data-viz',
type: 'fill',
source:
See references/performance.md (opens in a new tab) for implementation details.
For additional visualization patterns, load the relevant reference file:
Patterns for visualizing data on maps including choropleth maps, heat maps, 3D visualizations, data-driven styling, and animated data. Covers layer types, color scales, and performance optimization.
The verbatim description from this skill’s front matter — the string an agent matches on to decide whether to load it.
main, last pushed 16 September 2026.SKILL.md, not by matching a directory convention. One layout observed: skills/*/SKILL.md.h1 and no skipped levels:.claude-plugin/marketplace.json by Mapbox Plugin Marketplace, declaring 1 plugin. It is read for editorial metadata only — never as the skill index, which is always the repository tree./mapbox/mapbox-agent-skills.md.md8 files · 35 KB
Everything this skill ships beside its prose. All of it is set here, as subchapters of skill 3.
Documentation the agent loads on demand, rather than up front.
Everything else published alongside the skill.