import 'package:flutter/material.dart';
import 'package:syncfusion_flutter_charts/charts.dart';
void main() {
runApp(MaterialApp(
home: ChartPage(),
));
}
class ChartPage extends StatefulWidget {
@override
_ChartPageState createState() => _ChartPageState();
}
class _ChartPageState extends State<ChartPage> {
@override
void initState() {
super.initState();
}
@override
Widget build(BuildContext context) {
List<StackedBarSeries<SingleStackedBarData, String>> chartData = [];
var data = [
SingleStackedBarData('Win Ratio', 45, Colors.red),
SingleStackedBarData('Win Ratio', 132, Colors.blue),
SingleStackedBarData('Win Ratio', 55, Colors.green),
];
data.forEach((element) => chartData.add(
StackedBarSeries<SingleStackedBarData, String>(
color: element.barColor,
dataSource: [element],
xValueMapper: (data, _) => data.axisLabel,
yValueMapper: (data, _) => data.value,
dataLabelSettings: DataLabelSettings(
isVisible: true,
),
)
));
return Scaffold(
appBar: AppBar(),
body: Container(
height: 75,
child: SfCartesianChart(
plotAreaBorderWidth: 0,
primaryXAxis: CategoryAxis(isVisible: false),
primaryYAxis: NumericAxis(isVisible: false),
series: chartData,
),
)
);
}
}
class SingleStackedBarData {
final String axisLabel;
final int value;
final Color barColor;
SingleStackedBarData(this.axisLabel, this.value, this.barColor);
}