pieData method

List<Map<String, dynamic>> pieData({
  1. int slices = 5,
  2. List<String>? labels,
  3. bool sorted = true,
})

Generates pie/donut chart data.

Implementation

List<Map<String, dynamic>> pieData({
  int slices = 5,
  List<String>? labels,
  bool sorted = true,
}) {
  final values = List.generate(slices, (_) => _random.uniform(10, 100));
  final total = values.reduce((a, b) => a + b);

  final data = List.generate(
      slices,
      (i) => {
            'label': labels?[i] ?? 'Slice ${i + 1}',
            'value': values[i],
            'percentage': values[i] / total * 100,
          });

  if (sorted) {
    data.sort(
        (a, b) => (b['value'] as double).compareTo(a['value'] as double));
  }

  return data;
}