PHPackages                             novus/nvd3 - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Utility &amp; Helpers](/categories/utility)
4. /
5. novus/nvd3

ActiveLibrary[Utility &amp; Helpers](/categories/utility)

novus/nvd3
==========

A reusable charting library written in d3.js

v1.8.6(8y ago)7.2k207.7k↓40.9%2.1k[534 issues](https://github.com/novus/nvd3/issues)[31 PRs](https://github.com/novus/nvd3/pulls)1Apache-2.0JavaScript

Since Jan 24Pushed 2y ago298 watchersCompare

[ Source](https://github.com/novus/nvd3)[ Packagist](https://packagist.org/packages/novus/nvd3)[ Docs](https://github.com/novus/nvd3)[ RSS](/packages/novus-nvd3/feed)WikiDiscussions master Synced 1mo ago

READMEChangelog (7)Dependencies (1)Versions (12)Used By (1)

NVD3 - A reusable D3 charting library
-------------------------------------

[](#nvd3---a-reusable-d3-charting-library)

Inspired by the work of Mike Bostock's [Towards Reusable Charts](http://bost.ocks.org/mike/chart/), and supported by a combined effort of [Novus](http://www.novus.com) and the NVD3 community.

[View Examples](http://nvd3-community.github.io/nvd3/) | [NEW Documentation!](http://nvd3-community.github.io/nvd3/examples/documentation.html) | Development build status: [![Build Status](https://camo.githubusercontent.com/4a05e588dbf3ba8ba6dbb0b70f424f7a69c882641754f1294cd995c3c518ff43/68747470733a2f2f7472617669732d63692e6f72672f6e6f7675732f6e7664332e7376673f6272616e63683d6d6173746572)](https://travis-ci.org/novus/nvd3)

Usage
-----

[](#usage)

Simply add the `nv.d3` assets to your project and include them in your HTML.

```

```

- `nv.d3.js` should appear after `d3.js` is included.
- Prefer minified assets (`.min`) for production.

### Dependencies

[](#dependencies)

NVD3 is recommended to go with [d3.js](http://d3js.org/) version 3.5.3 and later, but NOT d3 4.x yet. [version 3.5.17](https://github.com/d3/d3/releases/tag/v3.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](http://github.com/nvd3/nvd3)

Along with `pieChart` options `padAngle` and `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()](https://github.com/mbostock/d3/wiki/Arrays#d3_bisector)).

Supported Browsers
------------------

[](#supported-browsers)

NVD3 runs best on WebKit based browsers.

- Google Chrome: latest version
- Opera 15+ (i.e. webkit version)
- Safari: latest version
- Firefox: latest version
- Internet Explorer: 10+

Do we support D3 v4.x?
----------------------

[](#do-we-support-d3-v4x)

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! :)

Changelog
---------

[](#changelog)

**1.8.6** Changes:

- Community bugfixes

**1.8.5** Changes:

- Community bugfixes
- New force-directed graph

**1.8.4** Changes:

- Community bugfixes including tooltip fixes.

**1.8.3** Changes:

- Lots of community bugfixes
- Added force-directed chart

**1.8.2** Changes:

- Lots of community bugfixes and a few extra minor features

**1.8.1** Changes:

- Tooltips were refactored - If you have customized your tooltips, note that you may need to adjust your custom functions as the data passed has changed format. See the new [tooltip options](https://nvd3-community.github.io/nvd3/examples/documentation.html#tooltip) for more details.
- Added boxplot charts | [example](https://nvd3-community.github.io/nvd3/examples/boxPlot.html)
- Added candlestick charts | [example](https://nvd3-community.github.io/nvd3/examples/candlestickChart.html)
- Added extra donut chart abilities | [examples](https://nvd3-community.github.io/nvd3/examples/monitoringChart.html)
- Added sunburst Charts | [example](https://nvd3-community.github.io/nvd3/examples/sunburst.html)
- Time Series | [example](https://nvd3-community.github.io/nvd3/examples/TimeSeries.html)
- Another legend format available | [example](https://nvd3-community.github.io/nvd3/examples/stackedAreaChart.html)
- Lots of bug fixes (see closed issues)
- (for all examples, see [here](https://nvd3-community.github.io/nvd3/))

**1.7.1** Changes:

- Fixed axis.staggerLabels bug.
- Fixed Karma unit tests.
- Fixed chart test pages.
- Merged in nvd3-community changes and development branch.

**1.7.0** Changes:

- Fixes around 20 small bugs.
- Fixed the notorious slowness of line charts and scatter plots on chrome
- Combined the scatterChart and scatterChartWithLines models
- Combined the linePlusBarChart and linePlusBarChartWithFocus models.
- renamed some of the options (see the new documentation for what options are available for each chart)
- Completed the migration of the option functions to an object format which allows the generation of the documentation in an automated way. Not everything has a description yet, but check it out!
- Added extra options to the donut charts based on features that will be in d3 3.5. The donut example page loads the latest d3 from their 3.5 branch so keep that in mind.
- Added an example of the parallelCoordinates chart.
- Fixed up the half-done OHLC bar chart, and made an example for it as well.

**1.6.0** Changes:

- includes about a dozen bug fixes and pull requests I fixed and merged in from the issues/pulls from the original project.
- It also standardized all indention

---

Current development focus
=========================

[](#current-development-focus)

- Review outstanding pull requests and issues.
- Try to find an easy way to actually document usage and all chart options.
- Improve the testing framework.
- Setup continuous integration.

---

Bugs
====

[](#bugs)

Found a bug? Check out the latest from the `master` branch and make sure it's not already fixed first! If you don't see a related fix, please [open an issue](https://github.com/novus/nvd3/issues).

---

Optional dependencies
=====================

[](#optional-dependencies)

Including [Fastdom](https://github.com/wilsonpage/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](http://wilsonpage.co.uk/preventing-layout-thrashing/). NVD3 will take advantage of Fastdom if present.

---

Contributing
============

[](#contributing)

If one of [the existing models](https://github.com/novus/nvd3/tree/master/src/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!

### A few rules for pull requests

[](#a-few-rules-for-pull-requests)

1. Please commit to the `master` branch
2. Do NOT check in anything under the `build` directory, it clutters up the commit and just gets overwritten later.
3. All new features must come with unit test coverage
4. Bug fixes should come with unit tests that prove their fix

If you want to test your changes using the example pages, you'll have to run `grunt production` to build the items into the `build` directory. 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!

### Tips for Testing

[](#tips-for-testing)

- Unit tests were written in Karma and Mocha. Follow instructions in **Building Latest** to get npm packages setup. This may not work on Windows machines.
- Run `bower install` to get bower dependencies.
- Run `grunt` to start the unit tests.
- Also visually inspect the HTML pages in the **examples/ and test/ folders**. Make sure there are no glaring errors.
- Novus now uses Travis CI for continuous integration. Visit [our travis build page](https://travis-ci.org/novus/nvd3/) to see the latest status.

#### Meteor Tinytests

[](#meteor-tinytests)

- Any Meteor-specific features can be tested from the command line using `tinytest` and [Spacejam](https://www.npmjs.com/package/spacejam)
- `spacejam` can be installed by running `npm install -g spacejam`.
- Tinytests can then be executed by running `spacejam test-packages ./` from this project's root.

---

Building latest
---------------

[](#building-latest)

1. First clone the repository and checkout the `master` branch
2. make sure `nodejs` is installed via your system's package manager.
3. Install `grunt`, `grunt-cli`, and `bower`: `npm install -g grunt grunt-cli bower`

> have node download nvd3's required modules with: `npm install`

> build with: `grunt production`

You should now have a `build` directory with the js and css files within.

---

###  Health Score

53

—

FairBetter than 97% of packages

Maintenance19

Infrequent updates — may be unmaintained

Popularity67

Solid adoption and visibility

Community45

Growing community involvement

Maturity70

Established project with proven stability

 Bus Factor3

3 contributors hold 50%+ of commits

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~144 days

Total

5

Last Release

3190d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/a835d2408207a881b8f98097af6621f7805e3790cb2dbc77e81e0e243ef0e131?d=identicon)[liquidpele](/maintainers/liquidpele)

---

Top Contributors

[![bobmonteverde](https://avatars.githubusercontent.com/u/410737?v=4)](https://github.com/bobmonteverde "bobmonteverde (569 commits)")[![liquidpele](https://avatars.githubusercontent.com/u/1065913?v=4)](https://github.com/liquidpele "liquidpele (476 commits)")[![robinfhu](https://avatars.githubusercontent.com/u/3769532?v=4)](https://github.com/robinfhu "robinfhu (454 commits)")[![twolfnovus](https://avatars.githubusercontent.com/u/1847885?v=4)](https://github.com/twolfnovus "twolfnovus (112 commits)")[![ConstantinoSchillebeeckx](https://avatars.githubusercontent.com/u/8518288?v=4)](https://github.com/ConstantinoSchillebeeckx "ConstantinoSchillebeeckx (109 commits)")[![mgalloue](https://avatars.githubusercontent.com/u/6142727?v=4)](https://github.com/mgalloue "mgalloue (82 commits)")[![fshao816](https://avatars.githubusercontent.com/u/4305073?v=4)](https://github.com/fshao816 "fshao816 (56 commits)")[![ovvn](https://avatars.githubusercontent.com/u/2973998?v=4)](https://github.com/ovvn "ovvn (28 commits)")[![RenatoUtsch](https://avatars.githubusercontent.com/u/836333?v=4)](https://github.com/RenatoUtsch "RenatoUtsch (23 commits)")[![ksgy](https://avatars.githubusercontent.com/u/683576?v=4)](https://github.com/ksgy "ksgy (23 commits)")[![ThomasBrierley](https://avatars.githubusercontent.com/u/12444321?v=4)](https://github.com/ThomasBrierley "ThomasBrierley (21 commits)")[![portante](https://avatars.githubusercontent.com/u/949097?v=4)](https://github.com/portante "portante (19 commits)")[![Turgar](https://avatars.githubusercontent.com/u/11513691?v=4)](https://github.com/Turgar "Turgar (18 commits)")[![DavidSouther](https://avatars.githubusercontent.com/u/498712?v=4)](https://github.com/DavidSouther "DavidSouther (16 commits)")[![BarakChamo](https://avatars.githubusercontent.com/u/2883345?v=4)](https://github.com/BarakChamo "BarakChamo (14 commits)")[![bgth](https://avatars.githubusercontent.com/u/7175235?v=4)](https://github.com/bgth "bgth (14 commits)")[![Crenshinibon](https://avatars.githubusercontent.com/u/69277?v=4)](https://github.com/Crenshinibon "Crenshinibon (13 commits)")[![mrijke](https://avatars.githubusercontent.com/u/147090?v=4)](https://github.com/mrijke "mrijke (13 commits)")[![balmma](https://avatars.githubusercontent.com/u/1055447?v=4)](https://github.com/balmma "balmma (12 commits)")[![rinand](https://avatars.githubusercontent.com/u/3239000?v=4)](https://github.com/rinand "rinand (12 commits)")

---

Tags

chartgraphd3nvd3

### Embed Badge

![Health badge](/badges/novus-nvd3/health.svg)

```
[![Health](https://phpackages.com/badges/novus-nvd3/health.svg)](https://phpackages.com/packages/novus-nvd3)
```

###  Alternatives

[nnnick/chartjs

Simple HTML5 charts using the canvas element.

67.3k1.1M15](/packages/nnnick-chartjs)[benpickles/peity

Peity (sounds like deity) is a jQuery plugin that converts an element's content into a mini `&lt;svg&gt;` pie, donut, line or bar chart.

4.2k2.8k](/packages/benpickles-peity)[amenadiel/jpgraph

Composer Friendly, full refactor of JpGraph, library to make graphs and charts

1492.2M7](/packages/amenadiel-jpgraph)[graphp/graph

GraPHP is the mathematical graph/network library written in PHP.

711292.6k3](/packages/graphp-graph)[noximo/php-colored-ascii-linechart

Pretty line graphs in your console, html or images

1994.1k](/packages/noximo-php-colored-ascii-linechart)[professional-wiki/network

MediaWiki extension for adding interactive network visualizations to your wiki pages

3211.9k](/packages/professional-wiki-network)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
