protected void drawChartValuesText(Canvas canvas,XYSeries series,XYSeriesRenderer renderer,Paint paint,List<Float> points,int seriesIndex,int startIndex){
  int seriesNr=mDataset.getSeriesCount();
  int length=points.size();
  float halfDiffX=getHalfDiffX(points,length,seriesNr);
  for (int i=0; i < length; i+=2) {
    int index=startIndex + i / 2;
    double value=series.getY(index);
    if (!isNullValue(value)) {
      float x=points.get(i);
      if (mType == Type.DEFAULT) {
        x+=seriesIndex * 2 * halfDiffX - (seriesNr - 1.5f) * halfDiffX;
      }
      if (value >= 0) {
        drawText(canvas,getLabel(renderer.getChartValuesFormat(),value),x,points.get(i + 1) - renderer.getChartValuesSpacing(),paint,0);
      }
 else {
        drawText(canvas,getLabel(renderer.getChartValuesFormat(),value),x,points.get(i + 1) + renderer.getChartValuesTextSize() + renderer.getChartValuesSpacing() - 3,paint,0);
      }
    }
  }
}

protected void drawChartValuesText ( Canvas canvas , XYSeries series , XYSeriesRenderer renderer , Paint paint , List < Float > points , int seriesIndex , int startIndex ) { int seriesNr = mDataset . getSeriesCount ( ) ; int length = points . size ( ) ; float halfDiffX = getHalfDiffX ( points , length , seriesNr ) ; for ( int i = 0 ; i < length ; i += 2 ) { int index = startIndex + i / 2 ; double value = series . getY ( index ) ; if ( ! isNullValue ( value ) ) { float x = points . get ( i ) ; if ( mType == Type . DEFAULT ) { x += seriesIndex * 2 * halfDiffX - ( seriesNr - 1.5f ) * halfDiffX ; } if ( value >= 0 ) { drawText ( canvas , getLabel ( renderer . getChartValuesFormat ( ) , value ) , x , points . get ( i + 1 ) - renderer . getChartValuesSpacing ( ) , paint , 0 ) ; } else { drawText ( canvas , getLabel ( renderer . getChartValuesFormat ( ) , value ) , x , points . get ( i + 1 ) + renderer . getChartValuesTextSize ( ) + renderer . getChartValuesSpacing ( ) - 3 , paint , 0 ) ; } } } }
the graphical representation of the series values as text .
