Mpandroidchart: Error set IAxisValueFormatter

Created on 26 Jul 2017  路  1Comment  路  Source: PhilJay/MPAndroidChart

   private void drawLineChartLine(){

    private float[] yDataL = {40, 60, 70, 80};
    private String[] xDataL = {"Week 1", "Week 1" , "Week 3" , "Week 4"};


    ArrayList<Entry> yEntrys = new ArrayList<>();

    final ArrayList<String> xEntrys = new ArrayList<>();

    for(int i = 0; i < yDataL.length; i++){
        yEntrys.add(new Entry(yDataL[i] ,i));
    }

    for(int i = 1; i < xDataL.length; i++){
        xEntrys.add(xDataL[i]);
    }

    //create the data set
    LineDataSet lineDataset = new LineDataSet(yEntrys, "assa");

    XAxis xAxis = lineChart.getXAxis();
    xAxis.setPosition(XAxis.XAxisPosition.BOTTOM);
    xAxis.setDrawGridLines(false);


    xAxis.setValueFormatter(new IAxisValueFormatter() {
        @Override
        public String getFormattedValue(float value, AxisBase axis) {
            return xEntrys.get((int) value);
        }
    });

    LineData lineData = new LineData(lineDataset);
    lineChart.setData(lineData);
    lineChart.invalidate();

}

i got error

Invalid index 40, size is 6
in Code

xAxis.setValueFormatter(new IAxisValueFormatter() {
@Override
public String getFormattedValue(float value, AxisBase axis) {
return xEntrys.get((int) value);
}
});

Most helpful comment

return xEntrys.get((int) value % xEntrys.size());

>All comments

return xEntrys.get((int) value % xEntrys.size());

Was this page helpful?
0 / 5 - 0 ratings

Related issues

OnlyInAmerica picture OnlyInAmerica  路  3Comments

Giammaofwar picture Giammaofwar  路  3Comments

manucheri picture manucheri  路  3Comments

botondbutuza picture botondbutuza  路  3Comments

SutharRohit picture SutharRohit  路  3Comments