D3.js
What it is: The most powerful JavaScript visualization library. Low-level control over every pixel using SVG, Canvas, and HTML.
What It Does Best
Custom visualizations. If you can imagine it, you can build it. Complete creative control.
Unique interactions. Custom animations, transitions, data binding. Not possible with other libraries.
Data journalism. New York Times, Washington Post, FiveThirtyEight use D3. Publication-quality interactive graphics.
Pricing
Free. Open-source, MIT license.
The Catch
Steep learning curve. Not a charting library. You build from primitives. Expect weeks to months to get good.
Time investment. Simple bar chart takes 50+ lines of code. Standard charts are faster with Chart.js or Plotly.
When to Use It
✅ Need custom, unique visualization
✅ Have time to learn and build
✅ Want complete control over appearance
✅ Building data journalism or interactive stories
When NOT to Use It
❌ Need quick standard charts (use Chart.js, Plotly)
❌ Don't know JavaScript well
❌ Tight deadline
Bottom line: The Ferrari of visualization libraries. Powerful, beautiful, difficult to master. Use when you need something no other tool can do.