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!

Here we tried to prepare a comprehensive list of tasks we plan to do in the future.
If you are planning to contribute to Vizzu, check out if you find anything interesting for you, or if you already have anything else in mind, we are really interested in hearing about it.

If you would like to discuss or have any questions about any of these tasks, or other features, addons ideas you may have, contact us at our Slack #dev channel (see Contact).

For Javascript developers

Despite of Vizzu core is written in C++, there are a lot of ways you could contributor as a Javascript developer:

  • fix issues with JS API
  • create addons
  • create howtos
  • or just build on Vizzu and create an app or dataviz using it.

For C++ developers

Check out or roadmap for planned core features.

Other

We would be happy if Vizzu would be available in a growing number of different environments. Where you can help in this dream is to create

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

(see https://github.com/vizzuhq/vizzu-lib/wiki/Home/_edit#planned-bindingsintegrations)

Issues

https://github.com/vizzuhq/vizzu-lib/issues

Road map (Core)

  • Multi-chart support:
    • multiple charts on the same canvas
    • common dataset for multiple charts
    • Nested char 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 using different data series
  • Legend
    • layout positioning
    • 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
Clone this wiki locally