Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/entronad/graphic
A grammar of data visualization and Flutter charting library.
https://github.com/entronad/graphic
chart charting-library charts dart dartlang data-visualization flutter flutter-package flutter-widget graph graphic visualization
Last synced: about 2 months ago
JSON representation
A grammar of data visualization and Flutter charting library.
- Host: GitHub
- URL: https://github.com/entronad/graphic
- Owner: entronad
- License: other
- Created: 2020-02-22T08:36:12.000Z (over 4 years ago)
- Default Branch: main
- Last Pushed: 2023-10-11T00:55:23.000Z (8 months ago)
- Last Synced: 2024-01-28T10:32:24.748Z (5 months ago)
- Topics: chart, charting-library, charts, dart, dartlang, data-visualization, flutter, flutter-package, flutter-widget, graph, graphic, visualization
- Language: Dart
- Homepage:
- Size: 6.74 MB
- Stars: 1,437
- Watchers: 17
- Forks: 150
- Open Issues: 66
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- Funding: .github/FUNDING.yml
- License: LICENSE
Lists
- awesome-flutter-cn - Graphic - 基于图形语法的数据可视化库,由 [LIN Chen](https://github.com/entronad) 制作。 (组件 / 图表)
- awesome-stars - entronad/graphic
- awesome-flutter - Graphic - Data visualization library based on the Grammar of Graphics by [LIN Chen](https://github.com/entronad). (Components / Charts)
- awesome-flutter - Graphic - Data visualization library based on the Grammar of Graphics by [LIN Chen](https://github.com/entronad). (Components / Charts)
- awesome-stars - entronad/graphic - A grammar of data visualization and Flutter charting library. (Dart)
- awesome-stars - graphic
- awesome-flutter - Graphic - Data visualization library based on the Grammar of Graphics by [LIN Chen](https://github.com/entronad). (Components / Charts)
- awesome-flutter - Graphic - Data visualization library based on the Grammar of Graphics by [LIN Chen](https://github.com/entronad). (Components / Charts)
- awesome-flutter - Graphic - Data visualization library based on the Grammar of Graphics by [LIN Chen](https://github.com/entronad) (Components / Charts)
- awesome-flutter - Graphic - A Flutter data visualization library based on Grammar of Graphics. ` 📝 7 days ago ` (Charts [🔝](#readme))
- awesome-flutter-cn - Graphic - 基于图形语法的数据可视化库,[LIN Chen](https://github.com/entronad). (组件 / 图表)
README
# 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 imperative `Figure` classes are changed to declarative `MarkElement` 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](https://pub.dev/documentation/graphic/latest/graphic/graphic-library.html).
## Migration Guide to 2.0
Some of the terminalogy has been changed in v2.0. Please follow the below guide to migrate your code.
| old code | new code |
| ----------- | ----------- |
| GeomElement | Mark |
| Attr | Encode |
| Signal | Event |
| Channel | Stream |
| Figure | MarkElement |
| element: | marks: |
| ColorAttr | ColorEncode |
| ShapeAttr | ShapeEncode |
| element: | marks: |
| IntervalElement | IntervalMark |
| PointElement | PointMark |
| LabelAttr | LabelEncode |
| color | fillColor |
| strokeStyle | PaintStyle |## Examples
Example of charts can be seen in the [Example App](https://github.com/entronad/graphic/tree/main/example). Please clone this repository and run the example project in example directory.
![]()
![]()
![]()
![]()
![]()
![]()
![examples](https://github.com/entronad/graphic/raw/main/devdoc/examples.jpg)
## Tutorials
[The Versatility of the Grammar of Graphics](https://medium.com/@entronad/the-versatility-of-the-grammar-of-graphics-d1366760424d)
[How to Build Interactive Charts in Flutter](https://medium.com/@entronad/how-to-build-interactive-charts-in-flutter-e317492d5ba1)
## Share this Lib
[![Twitter](https://img.shields.io/badge/share%20on-twitter-03A9F4?style=flat-square&logo=twitter)](https://twitter.com/share?url=https://github.com/entronad/graphic&text=Graphic:%20A%20grammar%20of%20data%20visualization%20and%20Flutter%20charting%20library.)
[![HackerNews](https://img.shields.io/badge/share%20on-hacker%20news-orange?style=flat-square&logo=ycombinator)](https://news.ycombinator.com/submitlink?u=https://github.com/entronad/graphic)
[![Reddit](https://img.shields.io/badge/share%20on-reddit-red?style=flat-square&logo=reddit)](https://reddit.com/submit?url=https://github.com/Kanaries/pygwalker&title=Graphic:%20A%20grammar%20of%20data%20visualization%20and%20Flutter%20charting%20library.)## License
Graphic is [MIT License](https://github.com/entronad/graphic/blob/main/LICENSE).
## Keep Informed
[Twitter](https://twitter.com/entronad_viz)
[Medium](https://medium.com/@entronad)
[Zhihu](https://www.zhihu.com/people/entronad)
Thanks for reading.