code: protected void drawBars(Canvas _Canvas) {
          for (StackedBarModel model : mData) {
              float lastTop;
              float lastBottom = mGraphHeight;
  
              for (int index = 0; index < model.getBars().size(); index++) {
                  BarModel barModel = model.getBars().get(index);
  
                  RectF bounds = barModel.getBarBounds();
                  mGraphPaint.setColor(barModel.getColor());
  
                  float height = (bounds.height() * mRevealValue);
                  lastTop = lastBottom - height;
  
                  _Canvas.drawRect(
                          bounds.left,
                          lastTop,
                          bounds.right,
                          lastBottom,
                          mGraphPaint
                  );
  
                  if (mShowValues && barModel.isShowValue()) {
                      _Canvas.drawText(
                              String.valueOf(barModel.getValue()),
                              bounds.centerX(),
                              (lastTop + height / 2) + barModel.getValueBounds().height()/2,
                              mTextPaint
                      );
                  }
  
                  lastBottom = lastTop;
  
                  if (mShowSeparators && index < model.getBars().size() - 1) {
                      lastBottom -= mSeparatorWidth;
                  }
              }
  
          }
      }
docs: Callback method for drawing the bars in the child classes.
  @param _Canvas The canvas object of the graph view.