Vizzu

Library for animated data visualizations and data stories.
GitHub
1.94k
Created 3 years ago, last commit 3 days ago
15 contributors
3.99k commits
Stars added on GitHub, month by month
11
12
1
2
3
4
5
6
7
8
9
10
2023
2024
Stars added on GitHub, per day, on average
Yesterday
+1
Last week
+0.3
/day
Last month
+1.0
/day
Last 12 months
+0.4
/day
npmPackage on NPM
vizzu
0.15.0
Monthly downloads on NPM
11
12
1
2
3
4
5
6
7
8
9
10
2023
2024
README

Vizzu

Vizzu - Library for animated data visualizations and data stories.

Documentation · Examples · Code reference · Repository · Blog

npm version install size Tweet

Vizzu

About The Project

Vizzu is a free, open-source Javascript/C++ library utilizing a generic dataviz engine that generates many types of charts and seamlessly animates between them. It can be used to create static charts but more importantly, it is designed for building animated data stories and interactive explorers as Vizzu enables showing different perspectives of the data that the viewers can easily follow due to the animation.

Main features:

  • Designed with animation in focus;
  • Defaults based on data visualization guidelines;
  • Automatic data aggregation & data filtering;
  • HTML5 canvas rendering;
  • Written in C++ compiled to WebAssembly;
  • Dependency-free.

Installation

Install via npm:

npm install vizzu

Or use it from CDN:

<html>
 <head>
  <script type="module">
   import Vizzu from 'https://cdn.jsdelivr.net/npm/vizzu@latest/dist/vizzu.min.js';
  </script>
 </head>
</html>

Usage

Create a placeholder element that will contain the rendered chart:

<html>
 <body>
  <div id="myVizzu" style="width:800px; height:480px;">
  </div>
 </body>
</html>

Create a simple bar chart:

import Vizzu from 'https://cdn.jsdelivr.net/npm/vizzu@latest/dist/vizzu.min.js';

let data = {
    series: [{
        name: 'Foo',
        values: ['Alice', 'Bob', 'Ted']
    }, {
        name: 'Bar',
        values: [15, 32, 12]
    }, {
        name: 'Baz',
        values: [5, 3, 2]
    }]
};

let chart = new Vizzu('myVizzu', {
    data
});
chart.animate({
    x: 'Foo',
    y: 'Bar'
});

Then turn it into a scatter plot:

chart.animate({
    color: 'Foo',
    x: 'Baz',
    geometry: 'circle'
});

Try it!

Example chart

FAQ

You can find answers to the most frequently asked questions about using the library in our FAQ.

Projects

List of external projects (extensions, bindings, templates, etc) for Vizzu: Projects.

Roadmap

We have a comprehensive list of features we plan to implement, on our Roadmap.

Contributing

We welcome contributions to the project, visit our contributing guide for further info.

Contact

License

Copyright © 2021-2024 Vizzu Inc.

Released under the Apache 2.0 License.