@richardwestenra

Developing delightful dataviz for diverse devices with D3.js

QuantumBlack logo

We're hiring, I think?

highcharts logo chartist logo chartjs logo plotly logo Victory logo C3 logo r2d3 logo nvd3 logo rjd2 d20 c4 r2d2 nva

Pros of using charting libraries:

  • Quick to use
  • Simpler to learn
  • More readable, usually

Cons of using charting libraries:

  • Variable performance
  • Limited features & restrictive APIs

Pros of using D3:

  • Powerful
  • Flexible
  • Performant
  • Popular and well-established

Cons of using D3:

  • Steeper learning curve
  • More complex
  • Takes longer to make a basic chart
  • Have to give talks about using D3 + React
React logo

D3 + React

Updating the DOM

D3

  • Complex animation
  • SVG helpers, e.g. axes

React

  • Better code structure
  • More readable

Transitions

Enter (add) / Exit (delete) / Update:

Have fun with it