【问题标题】:MPAndroidChart - wrong values in getFormattedValue method. Where they come from?MPAndroidChart - getFormattedValue 方法中的错误值。他们来自哪里?
【发布时间】:2018-05-05 08:20:13
【问题描述】:

我正在处理一个使用 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 值的数组 但我在 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.

}

}

【问题讨论】:

  • 你试过调试你的for loop吗?
  • 是的,我确实做到了,getFormattedValue 方法中的所有值都是无稽之谈,我不知道它们是什么?

标签: android charts mpandroidchart linechart android-studio-3.0


【解决方案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 上的库存储库。

【讨论】:

猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-03-09
  • 2012-11-03
  • 2023-03-07
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多