MPAndroidChart - неправильные значения в методе getFormattedValue. Откуда они берутся?

Я работаю с проектом, который использует библиотеку MPAndroidChart, которая сводит меня с ума, я хочу удалить его.

Проблема в том, что я создал собственный ValueFormatter, и я не могу понять, откуда эти значения, все они не правы.

 private void setData() {
  for (int i = 1; i <= 10; i++) {
        Entry entry = new Entry(i, i);
        values.add(entry);
    }


    IAxisValueFormatter valueFormatter = new myValueFormatter();
    XAxis xAxis = mChart.getXAxis();
    xAxis.setValueFormatter(valueFormatter);


    LineDataSet set1 = new LineDataSet(values, "DataSet 1");

    ArrayList<ILineDataSet> dataSets = new ArrayList<ILineDataSet>();
    dataSets.add(set1); // add the datasets

    // create a data object with the datasets
    LineData data = new LineData(dataSets);

    // set data
    mChart.setData(data);
}

Пользовательский класс форматирования: у меня есть массив, который имеет значения 1,2,3,4,5,6,7,8,9,10, но я получаю значения 2,4,6,8,10 в методе getFormattedValue.

public classmyValueFormatter implements IAxisValueFormatter {

   @Override
public String getFormattedValue(float value, AxisBase axis) {

            System.out.println(value); //Here I get odd values where they come from I don't know.

}

}

1 ответ

Ну, в общем, так написана библиотека. Посмотрите здесь:

https://github.com/PhilJay/MPAndroidChart/blob/master/MPChartLib/src/main/java/com/github/mikephil/charting/renderer/XAxisRenderer.java#L205

String label = mXAxis.getValueFormatter().getFormattedValue(mXAxis.mEntries[i / 2], mXAxis);

Намерение автора, вероятно, заключалось в том, чтобы увеличить расстояние между метками. Если вы считаете, что это ошибка, отправьте вопрос в репозиторий библиотеки на Github.

Другие вопросы по тегам