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. null fields 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 null when the pointer moves off every slice.