A reusable charting library written in d3.js
Inspired by the work of Mike Bostock's Towards Reusable Charts, and supported by a combined effort of Novus and the NVD3 community.
View Examples | NEW Documentation! | Development build status:
Simply add the
nv.d3assets to your project and include them in your HTML.
nv.d3.jsshould appear after
d3.jsis included.
.min) for production.
NVD3 is recommended to go with d3.js version 3.5.3 and later, but NOT d3 4.x yet. version 3.5.17 is the most recent d3 v3 release.
Minimum D3 version required: 3.4.4
For a D3v4 Version, see the work in progress at the nvd3 organization
Along with
pieChartoptions
padAngleand
cornerRadius, the interactive guideline tooltip now requires these later versions of D3 (3.4.4+, specifically, to get interactive tooltips). The interactive guide lines rely on the more recent
d3.bisector()method which treats accessors taking two parameters (the second being the element index) as comparators (see d3.bisector()).
NVD3 runs best on WebKit based browsers.
No, we do not... we are very interested in taking this on but could use some help. Please let us know if you'd like to help make this a reality! :)
1.8.6 Changes:
1.8.5 Changes:
1.8.4 Changes:
1.8.3 Changes:
1.8.2 Changes:
1.8.1 Changes:
1.7.1 Changes:
1.7.0 Changes:
1.6.0 Changes:
Found a bug? Check out the latest from the
masterbranch and make sure it's not already fixed first! If you don't see a related fix, please open an issue.
Including Fastdom in your project can greatly increase the performance of the line chart (particularly in Firefox and Internet Explorer) by batching DOM read and write operations to avoid layout thrashing. NVD3 will take advantage of Fastdom if present.
If one of the existing models doesn't meet your needs, fork the project, implement the model and an example using it, send us a pull request, for consideration for inclusion in the project.
If you'd like to contribute consistently, show me what you've got with some good pull requests and you may get added to the nvd3-community org!
masterbranch
builddirectory, it clutters up the commit and just gets overwritten later.
If you want to test your changes using the example pages, you'll have to run
grunt productionto build the items into the
builddirectory. You must do this before your changes show up in the examples, as they link to the build directory in order to properly show off the finished product. Please remember to NOT include the build files in your commit though, only include the source files you changed!
bower installto get bower dependencies.
gruntto start the unit tests.
tinytestand Spacejam
spacejamcan be installed by running
npm install -g spacejam.
spacejam test-packages ./from this project's root.
masterbranch
nodejsis installed via your system's package manager.
grunt,
grunt-cli, and
bower:
npm install -g grunt grunt-cli bower
have node download nvd3's required modules with:
npm installbuild with:
grunt production
You should now have a
builddirectory with the js and css files within.