CircularChart.fromData constructor

CircularChart.fromData({
  1. required Size size,
  2. required List<CircularStackEntry> data,
  3. required CircularChartType chartType,
  4. required bool percentageValues,
  5. required double startAngle,
  6. Map<String?, int>? stackRanks,
  7. Map<String?, int>? entryRanks,
  8. double? holeRadius,
  9. SegmentEdgeStyle? edgeStyle,
})

Implementation

factory CircularChart.fromData({
  required Size size,
  required List<CircularStackEntry> data,
  required CircularChartType chartType,
  required bool percentageValues,
  required double startAngle,
  Map<String?, int>? stackRanks,
  Map<String?, int>? entryRanks,
  double? holeRadius,
  SegmentEdgeStyle? edgeStyle,
}) {
  final double _holeRadius = holeRadius ?? size.width / (2 + data.length);
  final double stackDistance =
      (size.width / 2 - _holeRadius) / (2 + data.length);
  final double stackWidth = stackDistance * _kStackWidthFraction;
  final double startRadius = stackDistance + _holeRadius;

  List<CircularChartStack> stacks = new List<CircularChartStack>.generate(
    data.length,
    (i) => new CircularChartStack.fromData(
          stackRanks![data[i].rankKey] ?? i,
          data[i].entries,
          entryRanks,
          percentageValues,
          startRadius + i * stackDistance,
          stackWidth,
          startAngle,
        ),
  );

  return new CircularChart(stacks, chartType, edgeStyle: edgeStyle);
}