Graphic Graphic is a grammar of data visualization and Flutter charting library.
- Flexible declarative grammar: This visualization grammar derives from Leland Wilkinson's The Grammar of Graphics, and tries to balance between theoretical beauty and practicability. Data processing steps and mark shapes can be composed freely in a declarative specification, not limited to certain chart types. And shape draw methods are customizable.
- Interaction: With the event and selection definition, the chart is highly interactive, such as highlighting selected items, popping a tooltip, or scaling the coordinate.
- Animation: Mark transition animation can be set when a chart is built or changed. The entrance animation has various forms.
What's new in v2.0
-
Add feature of transition animation, see details in
Mark.transition
. And thus the rendering engine is rewrited. The imperativeFigure
classes are changed to declarativeMarkElement
classes. See details in this folder: https://github.com/entronad/graphic/tree/main/lib/src/graffiti/element -
Update terminology to keep same with modern mainstream data visualization libraries. Some class names have changed:
GeomElement -> Mark
Attr -> Encode
Signal -> Event
Channel -> Stream
Figure -> MarkElement
And thus some properties related are also changed, like
elements -> marks
.
Documentation
See in the documentation.
Examples
Example of charts can be seen in the Example App. Please clone this repository and run the example project in example directory.
Tutorials
The Versatility of the Grammar of Graphics
How to Build Interactive Charts in Flutter
Share this Lib
License
Graphic is MIT License.