Tutorial and code of Syncfusion Chart in Flutter. Copy and paste the below code as per your requirements.
syncfusion_flutter_charts: ^19.4.54
import 'package:flutter/material.dart';
import 'package:syncfusion_flutter_charts/charts.dart';
import 'package:syncfusion_flutter_charts/sparkcharts.dart';
void main() {
return runApp(_ChartApp());
}
class _ChartApp extends StatelessWidget {
@override
Widget build(BuildContext context) {
return MaterialApp(
debugShowCheckedModeBanner: false,
theme: ThemeData(primarySwatch: Colors.blue),
home: const _MyHomePage(),
);
}
}
class _MyHomePage extends StatefulWidget {
const _MyHomePage({Key? key}) : super(key: key);
@override
_MyHomePageState createState() => _MyHomePageState();
}
class _MyHomePageState extends State<_MyHomePage> {
List<_SalesData> data = [
_SalesData('Jan', 35),
_SalesData('Feb', 28),
_SalesData('Mar', 34),
_SalesData('Apr', 32),
_SalesData('May', 40)
];
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: const Center(child: Text('Syncfusion chart'),)
),
body: Column(children: [
SfCartesianChart(
primaryXAxis: CategoryAxis(),
title: ChartTitle(text: 'Half yearly sales analysis'),
legend: Legend(isVisible: true),
tooltipBehavior: TooltipBehavior(enable: true),
series: <ChartSeries<_SalesData, String>>[
LineSeries<_SalesData, String>(
dataSource: data,
xValueMapper: (_SalesData sales, _) => sales.year,
yValueMapper: (_SalesData sales, _) => sales.sales,
name: 'Sales',
// Enable data label
dataLabelSettings: const DataLabelSettings(isVisible: true))
]),
Expanded(
child: Padding(
padding: const EdgeInsets.all(8.0),
child: SfSparkLineChart.custom(
trackball: const SparkChartTrackball(
activationMode: SparkChartActivationMode.tap),
marker: const SparkChartMarker(
displayMode: SparkChartMarkerDisplayMode.all),
labelDisplayMode: SparkChartLabelDisplayMode.all,
xValueMapper: (int index) => data[index].year,
yValueMapper: (int index) => data[index].sales,
dataCount: 5,
),
),
)
]));
}
}
class _SalesData {
_SalesData(this.year, this.sales);
final String year;
final double sales;
}