import 'package:charts_flutter/flutter.dart' as charts;
import 'package:flutter/material.dart';
class PieChartExample extends StatelessWidget {
final List<charts.Series> seriesList;
final bool animate;
PieChartExample(this.seriesList, {this.animate});
factory PieChartExample.withSampleData() {
return new PieChartExample(
_createSampleData(),
animate: true,
);
}
@override
Widget build(BuildContext context) {
return new charts.PieChart(
seriesList,
animate: animate,
defaultRenderer: new charts.ArcRendererConfig(
arcRendererDecorators: [new charts.ArcLabelDecorator()],
),
);
}
static List<charts.Series<LinearSales, String>> _createSampleData() {
final data = [
new LinearSales('Item 1', 100),
new LinearSales('Item 2', 75),
new LinearSales('Item 3', 25),
new LinearSales('Item 4', 50),
];
return [
new charts.Series<LinearSales, String>(
id: 'Sales',
domainFn: (LinearSales sales, _) => sales.year,
measureFn: (LinearSales sales, _) => sales.sales,
data: data,
labelAccessorFn: (LinearSales sales, _) => '${sales.year}: ${sales.sales}',
)
];
}
}
class LinearSales {
final String year;
final int sales;
LinearSales(this.year, this.sales);
}