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:     }
    }
  
    void _clipToBorder(ui.Canvas canvas, ui.Size size,) {
      final usableSize = getChartUsableDrawSize(size);
  
      double left = 0;
  
negative.code:         continue;
        }
  
        // not here
        _drawBarLine(canvas, size, barData);
        _drawDots(canvas, size, barData);
  
  