CircularChart.fromData constructor
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,
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);
}