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

Я работаю с проектом, использующим библиотеку 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 Ответ

0 голосов
/ 10 мая 2018

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

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.

...