MPAndroidChart - getFormattedValue 方法中的值错误。他们来自哪里?

Bad*_*chi 5 charts android linechart mpandroidchart android-studio-3.0

我正在处理一个使用 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);
}
Run Code Online (Sandbox Code Playgroud)

自定义格式化程序类: 我有一个数组,它有 1、2、3、4、5、6、7、8、9、10 个值,但在 getFormattedValue 方法中得到 2、4、6、8、10 个值。

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.

}
Run Code Online (Sandbox Code Playgroud)

}

R. *_*ski 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);
Run Code Online (Sandbox Code Playgroud)

作者的意图可能是在标签之间留出更多的间距。如果您认为这是一个错误,请将问题提交到 Github 上的库存储库。