setData method

  1. @override
void setData(
  1. int index,
  2. ChartSegment segment
)
override

Implementation

@override
void setData(int index, ChartSegment segment) {
  final int i = dataCount - 1 - index;
  super.setData(i, segment);

  num yValue = yValues[i].abs();
  // Handled the empty point here.
  yValue = yValue.isNaN || !segment.isVisible ? 0 : yValue;
  final num segmentHeight = _coefficient * yValue;
  segment as FunnelSegment<T, D>
    ..series = this
    ..y = _y
    .._height = segmentHeight
    .._triangleSize = _triangleSize
    .._neckSize = _neckSize
    .._plotAreaBounds = _plotAreaBounds
    ..isExploded = explode && i == explodeIndex
    ..isEmpty = (emptyPointSettings.mode != EmptyPointMode.drop &&
            emptyPointSettings.mode != EmptyPointMode.gap) &&
        isEmpty(i);

  _y += segmentHeight + _spacing;
}