data2viz alternatives and similar libraries
Based on the "Graphics" category.
Alternatively, view data2viz alternatives based on common mentions on social networks and blogs.
-
imgui
Bloat-free Immediate Mode Graphical User interface for JVM with minimal dependencies (rewrite of dear imgui) -
modern-jogl-examples
Examples ported in JOGL from "Learning Modern 3D Graphic Programming" by J.L.McKesson -
bullet
JVM Bullet Physics SDK: real-time collision detection and multi-physics simulation for VR, games, visual effects, robotics, machine learning etc. -
kaifu2x
Port of waifu2x to pure kotlin + opencl. Anime-style upscaler and noise reductor based on convolutional neural networks using coffee trained models -
glimpse-framework
DISCONTINUED. Glimpse is now further developed as a Kotlin Multiplatform project under glimpse-graphics/glimpse
CodeRabbit: AI Code Reviews for Developers

Do you think we are missing an alternative of data2viz or a related project?
README
Isomorphic dataviz
Data2viz is a data visualization toolbox for Kotlin Multiplatform.
You can pick what you need in the different modules and use them independently in the following environments: Android, JavaScript(IR and Legacy), and JavaFX (iOs to come).
Your code produces the same results and rendering on each platform.
A lot of algorithms come from d3js modules.
core
This module exposes some basics elements like Circle, Rect, Path, and also some parts of DSL (percent, angles, etc.).
color
This module provides algorithms to create, modify, and convert colors through differents spaces (RGB, HCL, HSL, Lab). It also manage linear and radial color gradients. You can easily use it outside of data2viz.
shape
Algorithms to generate paths: symbols, curves, ...
scale
Different ways to convert data to sizes.
interpolate
Functions to perform interpolation of various elements (numbers, colors, points, curves)
random
Algorithms to generate random data.
axis
Helper module to create axis for charts, using scales.
delaunay
This module is a high performant algorithm to compute the Voronoi diagram. You should use it in many use cases to find the closest point of interest to the pointer position.
ease
This module contains a collection of easing functions to manage acceleration inside animations.
dsv
Minimal way of parsing CSV, TSV files using Kotlin.
force
Use physics to animate your visualizations.
format
Different ways of formating numbers and currencies.
time
Some multiplatform classes to manage time and dates in visualizations.
time-format
Extend formatting to time and dates.
quadtree
Separation of space through the quadtree algorithm.
voronoi
Fortune's algorithm implementation of the Voronoi diagram. You should probably use Delaunay instead.
geo
A collection of mechanisms and functions to project GeoJson elements (points, lines, polygons) on a screen using different implementations of projections.
hexbin
A useful way of aggregating data using hexagons. You can represent data through the fill color or the area.
sankey
A generator for sankey charts.
hierarchy
A generator for hierarchical charts.
tests
An internal module used to simplify multiplatform testing with a higher DSL.
timer
A multiplatform implementation to manage animations through shared frames.
viz
Multiplatorm API and implementation of rendering and events management.
Data2viz allows you to develop data visualizations through a fully typed DSL. It simplifies the creation of complex visualizations via the IDE’s context-based suggestions.
Where should I start?
Documentation
All data2viz documentation is located in a distinct documentation project. You should start there and follow the first JavaFX tutorial.
Data2viz Playground
You can also play with the API without installing anything. Data2viz playground is a website where you can browse existing sample, modify them online and immediately see the result.
Current status and roadmap
APIs are mostly stabilized now, but there may still be some breaking changes before v1.0.
Inspirations
- d3js: a lot of modules and algorithms come from d3js.
- paperjs: another source of inspiration for viz hierarchy and simple API.
- chromajs: smart library for managing colors easily.
- delaunator: a really fast JavaScript library for Delaunay triangulation of 2D points.
- kotlinx.html: isomorphic html rendering.
- kotlintest: nice DSL for testing (partly ported in [test](tests)).
*Note that all licence references and agreements mentioned in the data2viz README section above
are relevant to that project's source code only.