fusion_charts_flutter
Professional Flutter charting library with stunning visuals, smooth animations, and enterprise-grade performance.
β¨ Features
- π Chart Types: Line, Bar, Stacked Bar, Pie, and Donut charts
- β‘ High Performance: Optimized for 10,000+ data points with LTTB downsampling
- π¨ Professional Themes: Light and Dark themes out-of-the-box
- π¬ Smooth Animations: Configurable animations with cubic easing curves
- π± Fully Responsive: Adapts to mobile, tablet, and desktop
- π― Interactive: Tooltips, crosshair, zoom, and pan gestures
- π§ Highly Customizable: Themes, colors, markers, gradients, and more
- π 6 Color Palettes: Material, Professional, Vibrant, Pastel, Warm, Cool
- ποΈ SOLID Architecture: Clean, maintainable, extensible code
π¦ Installation
Add to your pubspec.yaml:
dependencies:
fusion_charts_flutter: ^1.0.0
Then run:
flutter pub get
π Quick Start
Line Chart
import 'package:fusion_charts_flutter/fusion_charts_flutter.dart';
FusionLineChart(
series: [
FusionLineSeries(
name: 'Revenue',
dataPoints: [
FusionDataPoint(0, 30),
FusionDataPoint(1, 50),
FusionDataPoint(2, 40),
FusionDataPoint(3, 65),
FusionDataPoint(4, 55),
FusionDataPoint(5, 80),
],
color: Colors.blue,
lineWidth: 2.5,
isCurved: true,
),
],
)
Bar Chart
FusionBarChart(
series: [
FusionBarSeries(
name: 'Sales',
dataPoints: [
FusionDataPoint(0, 65, label: 'Q1'),
FusionDataPoint(1, 78, label: 'Q2'),
FusionDataPoint(2, 82, label: 'Q3'),
FusionDataPoint(3, 95, label: 'Q4'),
],
color: Colors.indigo,
borderRadius: 8.0,
),
],
)
Stacked Bar Chart
FusionStackedBarChart(
series: [
FusionStackedBarSeries(
name: 'Product A',
dataPoints: [
FusionDataPoint(0, 30),
FusionDataPoint(1, 40),
FusionDataPoint(2, 35),
],
color: Colors.blue,
),
FusionStackedBarSeries(
name: 'Product B',
dataPoints: [
FusionDataPoint(0, 20),
FusionDataPoint(1, 25),
FusionDataPoint(2, 30),
],
color: Colors.green,
),
],
)
Pie / Donut Chart
FusionPieChart(
series: FusionPieSeries(
dataPoints: [
FusionPieDataPoint(35, label: 'Sales', color: Colors.indigo),
FusionPieDataPoint(25, label: 'Marketing', color: Colors.green),
FusionPieDataPoint(20, label: 'Engineering', color: Colors.orange),
FusionPieDataPoint(20, label: 'Other', color: Colors.grey),
],
),
config: const FusionPieChartConfiguration(
innerRadiusPercent: 0.5, // Set to 0 for pie, >0 for donut
showCenterLabel: true,
centerLabelText: '\$2.4M',
centerSubLabelText: 'Revenue',
),
)
π¨ Theming
// Light theme (default)
FusionLineChart(
series: [...],
config: const FusionChartConfiguration(
theme: FusionLightTheme(),
),
)
// Dark theme
FusionLineChart(
series: [...],
config: const FusionChartConfiguration(
theme: FusionDarkTheme(),
),
)
π― Interactivity
FusionLineChart(
series: [...],
config: const FusionChartConfiguration(
enableTooltip: true,
enableCrosshair: true,
enableZoom: true,
enablePanning: true,
),
)
β‘ Performance
For large datasets, the library automatically uses LTTB (Largest Triangle Three Buckets) downsampling to maintain smooth 60fps rendering:
// Works smoothly with 10,000+ data points
final largeDataset = List.generate(
10000,
(i) => FusionDataPoint(i.toDouble(), sin(i * 0.1) * 100),
);
FusionLineChart(
series: [
FusionLineSeries(
name: 'Large Dataset',
dataPoints: largeDataset,
color: Colors.purple,
),
],
)
πΊοΈ Roadmap
Future releases will include:
- π΅ Scatter & Bubble charts
- π Candlestick/OHLC charts
- π― Radar/Spider charts
- π Multiple Y-axes
- πΌοΈ Export to image (PNG, SVG)
- βΏ Enhanced accessibility (Semantics)
π License
MIT License - see LICENSE for details.
π€ Contributing
Contributions are welcome! Please read our contributing guidelines before submitting a PR.
π¬ Support
- π Report bugs
- π‘ Request features
- β Star the repo if you find it useful!
Libraries
- fusion_charts_flutter
- Fusion Charts Flutter - Professional Flutter Charting Library