flutter_charts_kit library
A generic, interactive 3D surface chart for Flutter.
Classes
- BarChart2D
- A generic multi-series bar/column chart with drag-to-zoom.
- CategorySeries
- A named, colored series of values aligned 1:1 with a shared list of category labels — used by BarChart2D.
- Chart2DLegend
- A row of tappable (color swatch + label) chips. Tapping a chip toggles that series/slice's visibility — the classic Highcharts legend behavior.
- ChartEmptyState
- Placeholder shown instead of the plot area when a chart has no data. Every chart in the package renders this automatically when its series/slices list is empty — you don't need to check for empty data yourself before building the chart widget.
- ChartHeader
- Title/subtitle shown above a chart. Renders nothing if both are empty, so it's always safe to include even when you don't set either.
- ChartPoint
- A single (x, y) data point, used by XySeries for line/scatter charts.
- ChartTheme
-
Central styling for all charts in the package — grid lines, axis text,
tooltips, titles. Data/series colors (what you pass to
XySeries,CategorySeries,PieSlice) are intentionally separate — the theme controls chart chrome, not your data colors. - ChartThemeScope
- Wrap any part of your app in this to apply a ChartTheme to every chart beneath it. Charts fall back to ChartTheme.light if none is found.
- ChartZoomWindow
-
The current zoomed data-space window.
nullfields mean "auto" (use the full data range on that axis). - LegendEntry
- A generic (label, color) pair rendered by Chart2DLegend.
- LineChart2D
- A generic multi-series line chart with drag-to-zoom.
- PieChart2D
- A pie chart — or a donut chart if innerRadiusRatio > 0.
- PieSlice
- One slice of a PieChart2D / donut chart.
- Point3D
- A point in 3D model space (before projection to the screen).
- Projector
- Handles rotation + perspective projection from 3D model space to 2D screen space. Knows nothing about what the data represents.
- ScatterChart2D
- A generic multi-series scatter plot with drag-to-zoom. Set ChartPoint.size on points to render it as a bubble chart instead of fixed-radius points.
- Surface3DChart
- A generic, interactive 3D surface chart.
- Surface3DChartController
- Lets host apps trigger chart actions (like "reset view") from outside — e.g. from a button in your own app bar rather than only the chart's built-in reset button.
- Surface3DChartState
- Surface3DHit
- Info passed to Surface3DChart.tooltipBuilder describing whichever tile is currently hovered/tapped.
- Surface3DLegend
-
A color-scale legend — a gradient bar with min/max (and optional
in-between) value labels. Works standalone, or embedded automatically
inside Surface3DChart via
showLegend: true. - Surface3DPainter
- Surface3DViewState
-
Combined rotation/zoom/hover state for Surface3DChart, held in a
single ValueNotifier so dragging, scrolling, and hovering never call
setState()— only the canvas/tooltip subtree repaints. - SurfaceGeometry
-
Builds the mesh of SurfaceQuads for a
data[row][col]grid. Shared by the painter (drawing) and the widget (hit-testing), so both always agree on where each tile actually is on screen. - SurfaceQuad
- One rendered tile of the surface — the quad between four adjacent grid points, plus enough metadata to support hit-testing and tooltips.
- XySeries
- A named, colored series of (x, y) points — used by LineChart2D and ScatterChart2D.
Enums
- ChartZoomMode
- Which axes a drag-to-zoom selection affects.
Typedefs
- ChartBarCallback = void Function(String? seriesName, String? category, double? value)
-
Fired by BarChart2D on tap or hover. Called with
(null, null, null)when the pointer moves off every bar. - ChartPointCallback = void Function(String? seriesName, ChartPoint? point)
-
Fired by LineChart2D / ScatterChart2D on tap or hover.
Called with
(null, null)when the pointer moves off every point. - ChartSliceCallback = void Function(PieSlice? slice)
-
Fired by PieChart2D on tap or hover. Called with
nullwhen the pointer moves off every slice.