Skip to content
Laszlo Simon edited this page Nov 4, 2021 · 25 revisions

Vizzu Development

This page contains information for contributors. If you are looking for information about how to use Vizzu, please visit our documentation site.

Welcome Vizzu Contributor!

Below is a comprehensive list of tasks we want to do in the future.
It is a good place to start if you want to contribute to Vizzu. In case you have something else in mind, that's awesome and we are very interested in hearing about it.

If you would like to discuss something or you have any questions or ideas please contact us at our Slack #dev channel (see Contact).

For Javascript developers

Despite Vizzu's core being written in C++, there are a lot of ways you can contribute:

  • fix issues with JS API
  • create addons
  • create howtos
  • or just build on Vizzu and create an app or dataviz. We'd love to see what you build and assist you along the way if you need any help.

For C++ developers

Check out or roadmap for planned features.

Other

We would be happy to see Vizzu become available in a growing number of different environments. We'd very much appreciate your help in the following:

  • Bindings for different programming languages
  • Integrations for different software
  • Connectors to data sources, databases

See planned bindings and integrations.

Issues

You can find our open issues in the project's issue tracker. Please let us know if you find any issues or have any feature requests there.

Road map (Core)

  • Multi-chart support:
    • multiple charts on the same canvas
    • common dataset for multiple charts
    • Nested chart support (complete chart inside chart marker, e.g. scatter-plot with piecharts as markers)
  • Data:
    • Various data aggregation methods (min, max, mean, sum, sumif(filter), deviance, ...)
    • Time-series handling (auto-detection of time/date data series, aggregate by day/month/etc)
    • Database interface/data binding
  • Animation:
    • staggering
    • support animation between charts that use different data series
  • Legend
    • layout positioning options
    • item sorting
  • Plot
    • Map support
    • Spline support on line/area charts
    • Multiline text support
    • Mouse zoom/scroll
    • Permanent marker selection
  • Axis:
    • Multi-axis support
    • Logarithmic axis scale
    • Function as min/max range
    • configurable axis guide steps
  • Rendering
    • OpenGL(WebGL) rendering
    • Skia library rendering
    • SVG rendering
  • Accessibility support

Planned Addons (JS)

  • UI Widgets
    • (Video-like) player bar
    • Presentation control bar
    • Range selector bar
    • Style editor widgets (for axis, plot, marker, ...)
  • APIs/API extensions
    • WebComponent
    • Presets (for common chart types e.g. bar, pie, ...)
    • Suggestion API (auto chart type selection based on use case: comparison, composition, relationship, distribution)
    • Analist API (drilldown, aggregate, split, stack)
    • Templates
      • racing bar chart
      • scrollytelling template
  • Data
    • CSV input
    • JSON-stat input
    • Apache Arrow input
  • Export
    • Video export
    • Gif export
    • SVG export
  • Style
    • Themes (dark,light,contrast,...)

Planned bindings/integrations

  • Python binding
  • Jupyter notebook integration
  • C++ Skia widget

Planned Examples/Howtos

  • Scaleable/responsive chart
  • Filtering values with combobox
  • Filtering datetime values with slider
  • Putting captions on the chart

Developer guides

You can find information about how to work on the project in the following guides:

Feel free to fork the project and send us a pull request. Any contribution you make is greatly appreciated.

Nightly builds

Vizzu uses a CI build environment. The builds are available on the following URLs. However, you should use these only for development purposes since they are subject to frequent and sometimes unstable changes.

Clone this wiki locally