nvd3
A reusable charting library written in d3.js
A JavaScript charting library built on D3.js v3 that provides ready-to-use interactive chart components, line, bar, pie, scatter, candlestick, and more, with tooltips and legends included out of the box.
NVD3 is a JavaScript charting library built on top of D3.js, a lower-level tool for drawing data-driven graphics in the browser. D3 is powerful but requires considerable effort to produce standard chart types from scratch. NVD3 wraps that complexity into ready-to-use, configurable chart components, so you can drop in a line chart, bar chart, pie chart, or scatter plot with much less code.
The chart types available include line charts, bar charts, stacked area charts, pie and donut charts, scatter plots, box plots, candlestick charts for financial data, sunburst charts for hierarchical data, and a force-directed graph layout. Each chart comes with interactive features like tooltips and legends built in. Adding a chart to a page involves including two files (a JavaScript file and a CSS file) and writing a few lines to point the chart at your data.
NVD3 was designed around the idea of reusable chart components, following a pattern from D3's own documentation. This means each chart type exposes a consistent set of configuration options rather than requiring you to build chart internals by hand. The documentation and live examples are hosted at the nvd3-community GitHub Pages site.
One important compatibility note: NVD3 requires D3 version 3.x and does not support D3 v4 or newer. Since the broader D3 ecosystem has moved on to later versions, this is a meaningful limitation. A separate community fork at the nvd3 GitHub organization tracks D3 v4 support as a work in progress. NVD3 runs on all major browsers including Chrome, Firefox, Safari, and Internet Explorer 10 and above. It works best on WebKit-based browsers according to the README.
Where it fits
- Add an interactive line chart with tooltips to a web page by including two files and writing a few lines of JavaScript.
- Display financial data as a candlestick chart in a browser-based dashboard.
- Create a stacked area chart to visualize multiple data series changing over time.
- Build a hierarchical data visualization using the sunburst chart component.