anchor.diff:        while (verticalSeek <= data.maxY) {
           if (leftTitles.checkToShowTitle(
               data.minY, data.maxY, leftTitles, leftInterval, verticalSeek)) {
  -          var x = 0 + getLeftOffsetDrawSize();
  -          var y = getPixelY(verticalSeek, drawSize);
  +          var x = 0 + getLeftOffsetDrawSize(holder);
  +          var y = getPixelY(verticalSeek, drawSize, holder);
   
             final text = leftTitles.getTitles(verticalSeek);
   
  
positive.code:     }
    }
  
    void _drawTitles(CanvasWrapper canvasWrapper, List<_GroupBarsPosition> groupBarsPosition) {
      if (!targetData.titlesData.show) {
        return;
      }
      final viewSize = canvasWrapper.size;
      final drawSize = getChartUsableDrawSize(viewSize);
  
      // Left Titles
      final leftTitles = targetData.titlesData.leftTitles;
  
negative.code:   /// the left space is [getLeftOffsetDrawSize],
    /// and the whole space is [getExtraNeededHorizontalSpace]
    @override
    double getExtraNeededHorizontalSpace(PaintHolder<BarChartData> holder) {
      final data = holder.data;
      var sum = super.getExtraNeededHorizontalSpace(holder);
      if (data.titlesData.show) {
        final leftSide = data.titlesData.leftTitles;
        if (leftSide.showTitles) {
  