├── .eslintrc.json ├── .gitignore ├── .jshintrc ├── .travis.yml ├── GruntFile.js ├── ISSUE_TEMPLATE.md ├── LICENSE.md ├── README.md ├── bower.json ├── build ├── nv.d3.css ├── nv.d3.js ├── nv.d3.js.map ├── nv.d3.min.css ├── nv.d3.min.css.map ├── nv.d3.min.js └── nv.d3.min.js.map ├── composer.json ├── examples ├── TimeSeries.html ├── actual.json ├── boxPlot.html ├── boxPlotCustomModel.html ├── bullet.html ├── bulletChart.html ├── candlestick.html ├── candlestickChart.html ├── cumulativeLineChart.html ├── differenceChart.html ├── discreteBarChart.html ├── distroPlotChart.html ├── documentation.html ├── donutChart.html ├── forceDirected.html ├── furiousLegend.html ├── heatMap.html ├── historicalBar.html ├── historicalBarChart.html ├── images │ ├── background.png │ ├── body-background.png │ ├── bullet.png │ ├── hr.png │ └── octocat-logo.png ├── index.html ├── legend.html ├── lib │ ├── colorbrewer.js │ └── stream_layers.js ├── line.html ├── lineChart.html ├── lineChartLogScale.html ├── lineChartSVGResize.html ├── linePlusBarChart.html ├── lineWithFocusChart.html ├── lineWithFocusChart_x2AxisLabel.html ├── monitoringChart.html ├── multiBarChart.html ├── multiBarChart2.html ├── multiBarHorizontalChart.html ├── multiChart.html ├── ohlc.html ├── ohlcChart.html ├── parallelCoordinates.html ├── parallelCoordinatesChart.html ├── pie.html ├── pieChart.html ├── predicted.json ├── sankeyChart.html ├── scatter.html ├── scatterChart.html ├── scatterPlusLineChart.html ├── site.html ├── sparkline.html ├── sparklinePlus.html ├── stackedArea.html ├── stackedAreaChart.html ├── stackedAreaWithFocusChart.html ├── stylesheets │ ├── pygment_trac.css │ └── styles.css ├── sunburst.html └── tooltip.html ├── index.html ├── meteor └── export.js ├── package.js ├── package.json ├── src ├── core.js ├── css │ ├── axis.css │ ├── bars.css │ ├── boxplot.css │ ├── bullet.css │ ├── candlestick.css │ ├── forceDirectedGraph.css │ ├── furiousLegend.css │ ├── lineplusbar.css │ ├── lines.css │ ├── main.css │ ├── ohlc.css │ ├── parallelcoordinates.css │ ├── pie.css │ ├── scatter.css │ ├── sparkline.css │ ├── stackedarea.css │ └── tooltip.css ├── dom.js ├── interactiveLayer.js ├── models │ ├── axis.js │ ├── boxPlot.js │ ├── boxPlotChart.js │ ├── bullet.js │ ├── bulletChart.js │ ├── candlestickBar.js │ ├── cumulativeLineChart.js │ ├── differenceChart.js │ ├── discreteBar.js │ ├── discreteBarChart.js │ ├── distribution.js │ ├── distroPlot.js │ ├── distroPlotChart.js │ ├── focus.js │ ├── forceDirectedGraph.js │ ├── furiousLegend.js │ ├── heatMap.js │ ├── heatMapChart.js │ ├── historicalBar.js │ ├── historicalBarChart.js │ ├── legend.js │ ├── line.js │ ├── lineChart.js │ ├── linePlusBarChart.js │ ├── multiBar.js │ ├── multiBarChart.js │ ├── multiBarHorizontal.js │ ├── multiBarHorizontalChart.js │ ├── multiChart.js │ ├── ohlcBar.js │ ├── parallelCoordinates.js │ ├── parallelCoordinatesChart.js │ ├── pie.js │ ├── pieChart.js │ ├── sankey.js │ ├── sankeyChart.js │ ├── scatter.js │ ├── scatterChart.js │ ├── sparkline.js │ ├── sparklinePlus.js │ ├── stackedArea.js │ ├── stackedAreaChart.js │ ├── sunburst.js │ └── sunburstChart.js ├── tooltip.js └── utils.js └── test ├── ScatterChartTest.html ├── bootstrapModalTest.html ├── boxPlotTest.html ├── cumulativeLineChart.html ├── lineChartTest.html ├── linePlusBarChart.html ├── linePlusBarWithFocusChart.html ├── lineWithFisheyeChart.html ├── lineWithFocusChart.html ├── lineWithFocusChartMissingData.html ├── mocha ├── axis.coffee ├── boxplot.coffee ├── bullet.coffee ├── core.coffee ├── cumulative-line.coffee ├── differenceChart.js ├── discretebar.coffee ├── distrochart.coffee ├── heatmap.coffee ├── historical-bar.coffee ├── legend.coffee ├── line.coffee ├── multibar-horizontal.coffee ├── multibar.coffee ├── pie.coffee ├── sankey.coffee ├── scatter.coffee ├── sparkline.coffee ├── stacked.coffee ├── sunburst.coffee ├── test-utils.coffee └── utils.coffee ├── multiBarChartTest.html ├── multiBarHorizontalChart.html ├── node ├── GruntFile.js ├── README.md ├── nodeTest.html ├── nodeTest.js └── package.json ├── pieChartTest.html ├── polylinearTest.html ├── realTimeChartTest.html ├── scatterPlusLineChart.html ├── scrollTest.html ├── scrollTest2.html ├── stackedAreaChartMissingData.html ├── stackedAreaChartTest.html ├── stream_layers.js ├── testScript.js ├── teststyle.css ├── tinytest └── nv-is-defined-test.js └── translateTest.html /.eslintrc.json: -------------------------------------------------------------------------------- 1 | { 2 | "env": { 3 | "browser": true, 4 | "node": true, 5 | "es6": true, 6 | "mocha": true 7 | }, 8 | "extends": "eslint:recommended", 9 | "parserOptions": { 10 | "sourceType": "module" 11 | }, 12 | "globals": { 13 | "nv": true, 14 | "d3": true 15 | }, 16 | "rules": { 17 | "indent": [ 18 | "error", 19 | 2 20 | ], 21 | "linebreak-style": [ 22 | "error", 23 | "unix" 24 | ], 25 | "quotes": [ 26 | "error", 27 | "single" 28 | ], 29 | "object-curly-spacing": [ 30 | "error", 31 | "always" 32 | ], 33 | "prefer-arrow-callback": [ 34 | "never", 35 | { 36 | "allowNamedFunctions": true 37 | } 38 | ], 39 | "arrow-parens": [ 40 | "error", 41 | "always" 42 | ], 43 | "space-before-function-paren": ["error", { 44 | "anonymous": "never", 45 | "named": "never", 46 | "asyncArrow": "never" 47 | }], 48 | "semi": [ 49 | "error", 50 | "always" 51 | ], 52 | "comma-dangle": ["error", { 53 | "arrays": "never", 54 | "objects": "never", 55 | "imports": "never", 56 | "exports": "never", 57 | "functions": "ignore" 58 | }] 59 | } 60 | } 61 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | 2 | .idea 3 | *.swp 4 | *~ 5 | *.log 6 | .DS_Store* 7 | ehthumbs.db 8 | Icon? 9 | Thumbs.db 10 | node_modules 11 | bower_components 12 | coverage 13 | test-results.xml 14 | *.orig 15 | -------------------------------------------------------------------------------- /.jshintrc: -------------------------------------------------------------------------------- 1 | { 2 | "asi": true 3 | } 4 | -------------------------------------------------------------------------------- /.travis.yml: -------------------------------------------------------------------------------- 1 | language: node_js 2 | node_js: 3 | - "0.12" 4 | before_install: 5 | - "npm install -g bower" 6 | - "npm install -g grunt-cli" 7 | - "export DISPLAY=:99.0" 8 | - "sh -e /etc/init.d/xvfb start" 9 | # Meteor Tinytest support 10 | - "curl https://install.meteor.com | /bin/sh" 11 | - export PATH="$HOME/.meteor:$PATH" 12 | - "npm install -g spacejam" 13 | install: 14 | - "npm install" 15 | - "bower install" 16 | 17 | script: 18 | - "npm test" 19 | - "spacejam test-packages ./" 20 | -------------------------------------------------------------------------------- /ISSUE_TEMPLATE.md: -------------------------------------------------------------------------------- 1 | PLEASE READ THIS BEFORE SUBMITTING A NEW ISSUE. 2 | 3 | ARE YOU ASKING FOR HELP? Please use Stack Overflow tag nvd3.js and include a link to a live, minimal example on jsfiddle / plunker. 4 | 5 | The live example should use the latest code for nvd3. Links are below: 6 | https://raw.githubusercontent.com/novus/nvd3/master/build/nv.d3.js 7 | https://raw.githubusercontent.com/novus/nvd3/master/build/nv.d3.css 8 | 9 | Supported D3 js version. v3.5.17 10 | 11 | https://github.com/cdnjs/cdnjs/blob/master/ajax/libs/d3/3.5.17/d3.min.js 12 | 13 | ARE YOU REPORTING AN ISSUE? Please provide below information with the issue: 14 | 15 | NVD3 version used: 16 | 17 | Browser and OS used: 18 | 19 | Live Example: Jsfiddle / Plunker 20 | 21 | Expected Behaviour: 22 | 23 | Present Behaviour: 24 | 25 | Any more information regarding the issue: 26 | -------------------------------------------------------------------------------- /LICENSE.md: -------------------------------------------------------------------------------- 1 | ##nvd3.js License 2 | 3 | Copyright (c) 2011-2014 [Novus Partners, Inc.][novus] 4 | 5 | Licensed under the Apache License, Version 2.0 (the "License"); 6 | you may not use this file except in compliance with the License. 7 | You may obtain a copy of the License at 8 | 9 | http://www.apache.org/licenses/LICENSE-2.0 10 | 11 | Unless required by applicable law or agreed to in writing, software 12 | distributed under the License is distributed on an "AS IS" BASIS, 13 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 | See the License for the specific language governing permissions and 15 | limitations under the License. 16 | 17 | [novus]: https://www.novus.com/ 18 | 19 | 20 | 21 | ##d3.js License 22 | 23 | Copyright (c) 2012, Michael Bostock 24 | All rights reserved. 25 | 26 | Redistribution and use in source and binary forms, with or without 27 | modification, are permitted provided that the following conditions are met: 28 | 29 | * Redistributions of source code must retain the above copyright notice, this 30 | list of conditions and the following disclaimer. 31 | 32 | * Redistributions in binary form must reproduce the above copyright notice, 33 | this list of conditions and the following disclaimer in the documentation 34 | and/or other materials provided with the distribution. 35 | 36 | * The name Michael Bostock may not be used to endorse or promote products 37 | derived from this software without specific prior written permission. 38 | 39 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" 40 | AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 41 | IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 42 | DISCLAIMED. IN NO EVENT SHALL MICHAEL BOSTOCK BE LIABLE FOR ANY DIRECT, 43 | INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, 44 | BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 45 | DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY 46 | OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING 47 | NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, 48 | EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 49 | -------------------------------------------------------------------------------- /bower.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "nvd3", 3 | "homepage": "http://www.nvd3.org", 4 | "authors": [ 5 | "Bob Monteverde", 6 | "Tyler Wolf", 7 | "Robin Hu", 8 | "Frank Shao", 9 | "liquidpele" 10 | ], 11 | "description": "Re-usable charts and chart components for d3.", 12 | "main": [ 13 | "build/nv.d3.js", 14 | "build/nv.d3.css" 15 | ], 16 | "keywords": [ 17 | "d3", 18 | "visualization", 19 | "svg", 20 | "charts" 21 | ], 22 | "license": "Apache-2.0", 23 | "dependencies": { 24 | "d3": "^3.4.4" 25 | }, 26 | "ignore": [ 27 | "**/.*", 28 | "node_modules", 29 | "bower_components", 30 | "test", 31 | "src", 32 | "examples", 33 | "GruntFile.js", 34 | "*.html", 35 | "*.log", 36 | "*.xml", 37 | "*.json", 38 | "*.md" 39 | ] 40 | } 41 | -------------------------------------------------------------------------------- /build/nv.d3.min.css.map: -------------------------------------------------------------------------------- 1 | {"version":3,"sources":["build/nv.d3.css"],"names":[],"mappings":"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"} -------------------------------------------------------------------------------- /composer.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "novus/nvd3", 3 | "description": "A reusable charting library written in d3.js", 4 | "keywords": [ 5 | "nvd3", 6 | "d3", 7 | "chart", 8 | "graph" 9 | ], 10 | "homepage": "https://github.com/novus/nvd3", 11 | "license": "Apache-2.0", 12 | "authors": [ 13 | { 14 | "name": "Bob Monteverde" 15 | }, 16 | { 17 | "name": "Tyler Wolf" 18 | }, 19 | { 20 | "name": "Robin Hu" 21 | }, 22 | { 23 | "name": "Frank Shao" 24 | }, 25 | { 26 | "name": "liquidpele" 27 | } 28 | ], 29 | "require": { 30 | "mbostock/d3": "@stable" 31 | } 32 | } -------------------------------------------------------------------------------- /examples/boxPlot.html: -------------------------------------------------------------------------------- 1 | 2 |
3 | 4 | 5 | 6 | 7 | 8 | 9 | 23 | 24 | 25 | 26 | 27 |