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);
}
});
return xEntrys.get((int) value % xEntrys.size());
Most helpful comment
return xEntrys.get((int) value % xEntrys.size());