anchor.diff:        final barData = data.lineBarsData[i];
   
         // find the nearest spot on touch area in this bar line
  -      final foundTouchedSpot = _getNearestTouchedSpot(size, touchInput.localPosition, barData, i);
  +      final foundTouchedSpot =
  +          _getNearestTouchedSpot(size, touchInput.localPosition, barData, i, holder);
         if (foundTouchedSpot != null) {
           touchedSpots.add(foundTouchedSpot);
         }
  
positive.code: import 'package:fl_chart/fl_chart.dart';
  import 'package:fl_chart/src/chart/base/axis_chart/axis_chart_data.dart';
  import 'package:fl_chart/src/chart/base/axis_chart/axis_chart_painter.dart';
  import 'package:fl_chart/src/extensions/canvas_extension.dart';
  import 'package:fl_chart/src/extensions/path_extension.dart';
  import 'package:fl_chart/src/extensions/paint_extension.dart';
  
negative.code:     }
    }
  
    void _drawTouchTooltip(
        CanvasWrapper canvasWrapper,
        LineTouchTooltipData tooltipData,
        FlSpot showOnSpot,
        ShowingTooltipIndicators showingTooltipSpots,
        PaintHolder<LineChartData> holder) {
      final viewSize = canvasWrapper.size;
      final chartUsableSize = getChartUsableDrawSize(viewSize, holder);
  
      const textsBelowMargin = 4;
  
  