- many primitives for binding HTML and SVG to changing data
- support for many advanced visualizations (like sunbursts, heatmaps, maps)
- supports interactive animations
- basis for many other visualization libraries
- SVG must be architected and styled by hand
- quite verbose for standard chart types; and there does not exist a de-facto standard on top of d3 providing these chart types. Instead, many libraries build on D3; but these are often less maintained and less flexible.
- we've successfully used recharts in react applications
- plotly.js is also a great library, though somewhat heavywheight
- many other good libraries can be found in this blog article. Generally we recommend to use what works for you; it's fine to use higher-level chart libraries if they work for your use case.
- A great overview about D3-based chart libraries, including their usage in Reace, can be found in this SmashingMagazine article: Bringing Together React, D3, And Their Ecosystem