sfAreaCartesianChart method
Implementation
Widget sfAreaCartesianChart({List<ChartData>? dados, List<List<ChartData>>? dadosList}) {
return (dados == null && dadosList == null)
? const SizedBox()
: Column(
mainAxisAlignment: MainAxisAlignment.start,
crossAxisAlignment: CrossAxisAlignment.start,
children: [
if (dados != null)
if ((dados[0].title ?? '').isNotEmpty)
Padding(
padding: const EdgeInsets.only(left: 30, top: 0),
child: Text('${dados[0].title}'),
),
if (dadosList != null)
if ((dadosList[1][0].title ?? '').isNotEmpty)
Padding(
padding: const EdgeInsets.only(left: 30, top: 0),
child: Text('${dadosList[1][0].title}'),
),
SfCartesianChart(
primaryXAxis: const CategoryAxis(),
margin: const EdgeInsets.only(left: 0, top: 15, right: 0, bottom: 0),
series: <CartesianSeries>[
if (dados != null && dadosList == null)
AreaSeries<ChartData, String>(
dataSource: dados,
xValueMapper: (ChartData data, _) => data.nome,
yValueMapper: (ChartData data, _) => data.valor,
dataLabelMapper: (ChartData data, _) {
if (data.type == int) {
return '${Features.toFormatNumber(data.valor.toString(), qtCasasDecimais: 0)}';
} else {
return 'R\$ ${Features.toFormatNumber(data.valor.toString())}';
}
},
pointColorMapper: (ChartData data, _) => data.color,
color: dados[0].color,
enableTooltip: true,
markerSettings: const MarkerSettings(
isVisible: true,
height: 4,
width: 4,
shape: DataMarkerType.circle,
borderWidth: 3,
borderColor: Colors.red,
),
dataLabelSettings: const DataLabelSettings(
useSeriesColor: true,
labelAlignment: ChartDataLabelAlignment.auto,
textStyle: TextStyle(fontSize: 10),
showZeroValue: false,
isVisible: true,
labelPosition: ChartDataLabelPosition.outside,
showCumulativeValues: true,
borderRadius: 7,
),
),
if (dados == null && dadosList != null)
for (var dados in dadosList)
AreaSeries<ChartData, String>(
dataSource: dados,
xValueMapper: (ChartData data, _) => data.nome,
yValueMapper: (ChartData data, _) => data.valor,
dataLabelMapper: (ChartData data, _) {
if (data.type == int) {
return '${Features.toFormatNumber(data.valor.toString(), qtCasasDecimais: 0)}';
} else {
return 'R\$ ${Features.toFormatNumber(data.valor.toString())}';
}
},
pointColorMapper: (ChartData data, _) => data.color,
color: dados[0].color,
enableTooltip: true,
markerSettings: const MarkerSettings(
isVisible: true,
height: 4,
width: 4,
shape: DataMarkerType.circle,
borderWidth: 3,
borderColor: Colors.red,
),
dataLabelSettings: const DataLabelSettings(
useSeriesColor: true,
labelAlignment: ChartDataLabelAlignment.auto,
textStyle: TextStyle(fontSize: 10),
showZeroValue: false,
isVisible: true,
labelPosition: ChartDataLabelPosition.outside,
showCumulativeValues: true,
borderRadius: 7,
),
),
],
),
const SizedBox(
height: 30,
),
],
);
}