1 package com.github.mikephil.charting.formatter; 2 3 4 import com.github.mikephil.charting.data.LineData; 5 import com.github.mikephil.charting.interfaces.dataprovider.LineDataProvider; 6 import com.github.mikephil.charting.interfaces.datasets.ILineDataSet; 7 8 /** 9 * Default formatter that calculates the position of the filled line. 10 * 11 * @author Philipp Jahoda 12 */ 13 public class DefaultFillFormatter implements IFillFormatter 14 { 15 16 @Override getFillLinePosition(ILineDataSet dataSet, LineDataProvider dataProvider)17 public float getFillLinePosition(ILineDataSet dataSet, LineDataProvider dataProvider) { 18 19 float fillMin = 0f; 20 float chartMaxY = dataProvider.getYChartMax(); 21 float chartMinY = dataProvider.getYChartMin(); 22 23 LineData data = dataProvider.getLineData(); 24 25 if (dataSet.getYMax() > 0 && dataSet.getYMin() < 0) { 26 fillMin = 0f; 27 } else { 28 29 float max, min; 30 31 if (data.getYMax() > 0) 32 max = 0f; 33 else 34 max = chartMaxY; 35 if (data.getYMin() < 0) 36 min = 0f; 37 else 38 min = chartMinY; 39 40 fillMin = dataSet.getYMin() >= 0 ? min : max; 41 } 42 43 return fillMin; 44 } 45 }