Skip to content
πŸ“Š Create interactive, animated 3d graphs. Surfaces, lines, dots and block styling out of the box.
JavaScript HTML
Branch: master
Clone or download
Thomaash chore(package): update dependencies (#18)
* chore(package): update dependencies

* docs(readme): add Greenkeeper badge

* chore(package): update lockfile package-lock.json

* fix(package): update dependencies

* chore(dist): update
Latest commit 19a14f5 Aug 19, 2019
Type Name Latest commit message Commit time
Failed to load latest commit information.
.github chore: add stale config (#4) Jul 29, 2019
dist chore(package): update dependencies (#18) Aug 18, 2019
docs chore(docs): add social media banner Jul 16, 2019
lib chore: use vis-data module Jul 12, 2019
misc chore(docs): update opencollective Jul 16, 2019
test chore(lint): fix linting errors (#15) Aug 16, 2019
.babelrc use rollup instead of gulp/webpack (#1) Jul 12, 2019
.commitlintrc.js ci: set it up (#16) Aug 16, 2019
.csslintrc csslint deactivated 'adjoining-classes' Dec 6, 2016
.eslintrc.js use rollup instead of gulp/webpack (#1) Jul 12, 2019
.gitignore ci: set it up (#16) Aug 16, 2019
.lintstagedrc ci: set it up (#16) Aug 16, 2019
.mdlrc mdlint: allow dollar signs used before commands without showing output Dec 6, 2016
.npmignore Removed the light version of vis.js, added documentation on custom bu… Jul 22, 2014
.releaserc.yml ci: set it up (#16) Aug 16, 2019 chore: add code of conduct Jul 12, 2019 chore(docs): update opencollective Jul 17, 2019 chore: add 5.0.0 release notes to Jul 21, 2019
LICENSE-APACHE-2.0 Dual licensed vis.js (see #285) Oct 24, 2014
LICENSE-MIT chore(docs): general improvements (#2652) Jan 30, 2017 chore(package): update dependencies (#18) Aug 18, 2019
index.html chore(docs): add homepage to switch between docs and examples Jul 16, 2019
index.js v5.0.0 Jul 16, 2019
jsdoc.json Add template for document generation with 'jsdoc'. (#3497) Jun 9, 2019
launch.json use rollup instead of gulp/webpack (#1) Jul 12, 2019
package-lock.json chore(package): update dependencies (#18) Aug 18, 2019
package.json chore(package): update dependencies (#18) Aug 18, 2019
rollup.config.js fix(build): extend other Vis libraries (#14) Aug 16, 2019


example chart

Graph3d is an interactive visualization chart to draw data in a three dimensional graph. You can freely move and zoom in the graph by dragging and scrolling in the window. Graph3d also supports animation of a graph.

Graph3d uses HTML canvas to render graphs, and can render up to a few thousands of data points smoothly.


GitHub contributors GitHub stars

Backers on Open Collective Sponsors on Open Collective Greenkeeper badge


Install via npm:

$ npm install vis-graph3d


A basic example on loading a Timeline is shown below. More examples can be found in the examples directory of the project.

<!doctype html>
  <title>Graph 3D demo</title>
  <script type="text/javascript" src=""></script>
  <script type="text/javascript">
    var data = null;
    var graph = null;

    function custom(x, y) {
      return (Math.sin(x/50) * Math.cos(y/50) * 50 + 50);

    // Called when the Visualization API is loaded.
    function drawVisualization() {
      // Create and populate a data table.
      data = new vis.DataSet();
      // create some nice looking data with sin/cos
      var counter = 0;
      var steps = 50;  // number of datapoints will be steps*steps
      var axisMax = 314;
      var axisStep = axisMax / steps;
      for (var x = 0; x < axisMax; x+=axisStep) {
        for (var y = 0; y < axisMax; y+=axisStep) {
          var value = custom(x,y);

      // specify options
      var options = {
        width:  '600px',
        height: '600px',
        style: 'surface',
        showPerspective: true,
        showGrid: true,
        showShadow: false,
        keepAspectRatio: true,
        verticalRatio: 0.5

      // Instantiate our graph object.
      var container = document.getElementById('mygraph');
      graph = new vis.Graph3d(container, data, options);
<body onload="drawVisualization();">
<div id="mygraph"></div>


To build the library from source, clone the project from github

$ git clone git://

The source code uses the module style of node (require and module.exports) to organize dependencies. To install all dependencies and build the library, run npm install in the root of the project.

$ cd vis-graph3d
$ npm install

Then, the project can be build running:

$ npm run build


To test the library, install the project dependencies once:

$ npm install

Then run the tests:

$ npm run test


Contributions to the vis.js library are very welcome! We can't do this alone!


Thank you to all our backers! πŸ™


Support this project by becoming a sponsor. Your logo will show up here with a link to your website.


Copyright (C) 2010-2018 Almende B.V. and Contributors

Vis.js is dual licensed under both


Vis.js may be distributed under either license.

You can’t perform that action at this time.