graphic is a free, open source business intelligence & reporting project written in Dart and released under MIT. It has 1,789 GitHub stars, 185 forks and 85 open issues, and was last pushed 7 months ago. On this registry it ranks #52 of 77 tracked projects in Business Intelligence & Reporting, with 5 head-to-head comparisons available.

What is graphic?

Graphic is a grammar of data visualization and a Flutter charting library, published on pub.dev as the MIT-licensed graphic package for Dart and Flutter developers who need to render charts inside an application rather than in a separate reporting tool.

What it is

Graphic lives in the Dart and Flutter ecosystem, where it is distributed as a package through pub.dev and maintained under an MIT licence. It supplies a declarative visualization grammar derived from Leland Wilkinson's The Grammar of Graphics, and the README states that the design tries to balance theoretical beauty against practicability. Instead of offering a closed catalogue of pre-built chart widgets, Graphic lets data processing steps and mark shapes be composed freely in a declarative specification, so the grammar is not limited to certain chart types. Shape draw methods are themselves customizable, which means a developer can extend rendering beyond whatever the library provides out of the box.

The concrete problem it solves is the mismatch that appears when a rigid chart-type widget cannot express what a project actually needs. With a fixed widget, the usual outcome is a fight against a configuration surface, followed by hand-written painting code once the widget runs out of options. Graphic replaces that pattern by letting the specification carry the structure: data processing and mark composition are declared, interaction is declared through events and selections, and animation is declared rather than hand-wired. The library is a client-side Dart package with no server component, so what it replaces is the divergent, project-specific charting code that teams otherwise accumulate and maintain themselves.

Key capabilities

  • A declarative grammar derived from Leland Wilkinson's The Grammar of Graphics, in which data processing steps and mark shapes compose freely instead of being locked to named chart types.
  • Customizable shape draw methods, allowing rendering behaviour to be extended past the built-in marks.
  • Interaction through event and selection definitions, covering cases such as highlighting selected items, popping a tooltip, and scaling the coordinate.
  • Mark transition animation when a chart is built or changed, plus entrance animation in various forms.
  • Distribution as the graphic package on pub.dev, with API documentation published at pub.dev/documentation/graphic.
  • An AI coding skill installed with npx skills add https://github.com/entronad/graphic --skill flutter-chart, also available at /skills/flutter-chart in the repository.
  • A runnable example project in the example directory of the repository, which the README points to as the primary way to see charts in action.

Who uses it and how

  • Flutter application teams that need charts embedded directly in an app, matching the registry category of Data & Analytics / Business Intelligence & Reporting.
  • Developers building charts where selection highlighting, tooltips, and coordinate scaling are required, since those are defined through the grammar rather than bolted on.
  • Teams whose visualizations do not fit standard chart types, because the specification is not restricted to a preset list.
  • Developers working with an AI coding agent, who install the flutter-chart skill so the agent can write specifications for this library.
  • Prospective adopters evaluating the library by cloning the repository and running the example project before committing to it.

Getting started

Add the graphic package from pub.dev to a Flutter project, or clone the repository and run the example project inside the example directory. For agent-assisted development, install the skill with npx skills add https://github.com/entronad/graphic --skill flutter-chart.

How it compares

The facts provided name no comparable paid or open-source charting products, and the README positions the library against the general idea of fixed chart types rather than against named competitors. Graphic therefore stands alone in this registry.

When to use it — and when not to

There is no database, object storage, SMTP service, or server process to operate, because Graphic is a client-side Dart package; the operational burden is Flutter build and release work rather than infrastructure. It is a poor fit for anyone who wants drop-in named chart types or a hosted reporting product, and for projects outside the Dart and Flutter ecosystem entirely. The README is sparse and defers most documentation to the pub.dev API reference and the bundled skill, and the repository carries 85 open issues, so evaluation realistically means cloning the example project and reading the linked tutorials.

project readme (upstream, from github) — read inline

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.

Skill for AI coding

Add the following skill, and your coding agent will be an expert of charting with this library:

npx skills add https://github.com/entronad/graphic --skill flutter-chart

Or you can find the skill in /skills/flutter-chart of this repository.

Documentation

See in the documentation.

(But in fact, I would prefer you to use the skill above for your coding agent.)

Examples

Example of charts can be seen in the Example App. Please clone this repository and run the example project in example directory.

examples

Tutorials

The Versatility of the Grammar of Graphics

How to Build Interactive Charts in Flutter

Share this Lib

Twitter HackerNews Reddit

License

Graphic is MIT License.

Keep Informed

Twitter

Medium

Zhihu

Thanks for reading.

Frequently asked questions

Is graphic free to use?

graphic is open source under the MIT licence. There is no licence fee and no seat count — you can self-host it or, where the project offers one, pay a vendor for a managed version instead.

What does graphic do?

A grammar of data visualization and Flutter charting library.

What is graphic written in?

graphic is primarily written in Dart. Its source is publicly available at https://github.com/entronad/graphic, and it has 1,789 GitHub stars.