d3-visualization

Builds interactive charts, networks, and geographic maps with D3.js.

Updated Sep 9, 2026
One-click install
npx skills add https://github.com/lyndonkl/hermesworld --skill d3-visualization-lyndonkl
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: d3-visualization
Source: https://github.com/lyndonkl/hermesworld/tree/main/packages/cognitive-design-architect/skills/design/d3-visualization
Command: npx skills add https://github.com/lyndonkl/hermesworld --skill d3-visualization-lyndonkl

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes references (resource) and assets (resource) components.

What problem does it solve? Chart libraries like Chart.js and Highcharts offer limited customization, making it hard to build bespoke visualizations such as force-directed networks, treemaps, or custom interactive charts. This Skill provides step-by-step workflows, code templates, and reference guides for constructing custom D3.js visualizations from scratch. ## Core Features & Use Cases - Chart Construction Workflows: Step-by-step checklists for bar, line, and scatter charts, covering SVG setup, scales, axes, data joins, and styling. - Advanced Layouts: Guidance for force-directed network graphs, hierarchies (tree, treemap, pack, partition), geographic maps with projections, and chord diagrams. - Interactions & Updates: Patterns for zoom, pan, drag, brush selection, tooltips, animated transitions, and real-time data updates with key functions for object constancy. - Use Case: A developer needs a force-directed network diagram with draggable nodes and zoom that a standard chart library cannot render; this Skill walks through force simulation setup, tick handlers, and drag behavior with copy-and-adapt templates. ## Quick Start Ask the agent to build an interactive bar chart with D3.js from your dataset, including axes, tooltips, and animated updates.

Frequently Asked Questions about d3-visualization

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
When should I use D3.js instead of Chart.js or Highcharts?▼

Create an SVG container with margins, build a scaleBand for categories and a scaleLinear for values, then bind data with the join pattern to create rect elements. Add axes with d3.axisBottom and d3.axisLeft, remembering to invert the y range so high values appear at the top.

When should I use D3.js instead of Chart.js or Highcharts?▼

Use D3 when chart libraries lack your specific design, you need full customization, or you are building network graphs, hierarchies, or geographic maps. Prefer simpler libraries for basic bar and line charts, and avoid D3 for 3D rendering or datasets over 10K points without aggregation.

How do I update a D3 chart with new data?▼

Encapsulate rendering in an update function, recalculate scale domains, re-bind data with a key function like d => d.id for object constancy, and add transitions before attribute updates. Trigger the function on data changes from timers, WebSockets, or API responses.

Why are my D3 transitions tracking the wrong elements?▼

By default, data joins match elements by array index, so reordered data breaks element identity. Pass a key function such as .data(newData, d => d.id) so elements track data items by a unique identifier rather than position.

Can D3.js render geographic maps?▼

Yes, D3 renders maps from GeoJSON using projections like geoMercator, geoAlbersUsa, or geoOrthographic combined with d3.geoPath. Use fitExtent to auto-scale the projection to your SVG bounds, and build choropleths by joining data values to feature IDs.