anchor.diff:      for (int i = 1; i < size; i++) {
         /// CurrentSpot
         final current = Offset(
  -        getPixelX(barData.spots[i].x, viewSize),
  -        getPixelY(barData.spots[i].y, viewSize),
  +        getPixelX(bar[i].x, viewSize),
  +        getPixelY(bar[i].y, viewSize),
         );
   
         /// previous spot
         final previous = Offset(
  -        getPixelX(barData.spots[i - 1].x, viewSize),
  -        getPixelY(barData.spots[i - 1].y, viewSize),
  +        getPixelX(bar[i - 1].x, viewSize),
  +        getPixelY(bar[i - 1].y, viewSize),
         );
   
         /// next point
         final next = Offset(
  -        getPixelX(barData.spots[i + 1 < size ? i + 1 : i].x, viewSize),
  -        getPixelY(barData.spots[i + 1 < size ? i + 1 : i].y, viewSize),
  +        getPixelX(bar[i + 1 < size ? i + 1 : i].x, viewSize),
  +        getPixelY(bar[i + 1 < size ? i + 1 : i].y, viewSize),
         );
   
         final controlPoint1 = previous + temp;
  
positive.code:     /// Find the nearest spot (on X axis)
      for (int i = 0; i < barData.spots.length; i++) {
        final spot = barData.spots[i];
        if ((touchedPoint.dx - getPixelX(spot.x, chartViewSize)).abs() <=
            data.lineTouchData.touchSpotThreshold) {
          return LineBarSpot(barData, barDataPosition, spot);
        }
      }
  
  
negative.code: 
      final List<FlSpot> spots = [];
      spots.addAll(toBarData.spots.reversed.toList());
      final fromBarPath = _generateBarPath(
        viewSize,
        fromBarData,
        bar: fromBarData.spots,
      );
      final barPath = _generateBarPath(
        viewSize,
        toBarData.copyWith(spots: spots),
        appendToPath: fromBarPath,
        bar: toBarData.copyWith(spots: spots).spots,
      );
  
      _drawBetweenBar(canvas, viewSize, barPath, betweenBarsData);
    }
  