MPAndroid BarChart标签计数和ValueFormatter无法正常工作

时间:2016-10-18 20:53:50

标签: java android bar-chart mpandroidchart

我对BarChart和标签有疑问。标签计数不正确。即使我直接输入一个值:

xAxis.setLabelCount(5,true);

但我得到的只有4个标签。当我把它变成5时,似乎有一个错误。

标签的最后一项(我使用的是简单的ValueFormatter)也没有出现。如果标签的数量等于条的数量,即使我使用

,它也会重复第一次
xAxis.setGranularity(1f);
xAxis.setGranularityEnabled(true);

并且每个栏的x值为01234

有人可以帮我吗?

更新

看图像 HERE


这里我使用的是条目列表,标签是条目的数据。

您会看到只有3个标签,而条目列表的大小为4.并且第一个项目重复两次。

我确保条目和值:

        Log.d(TAG, "Size of categories : " + categoriesEntries.size());

        for (BarEntry e :
                categoriesEntries) {
            Log.d(TAG, e.getX() + " " +  e.getData().toString());
        }

logcat输出:

10-21 15:16:49.569 31194-31194/com.shamdroid.myfinancialassistant D/Statistics Activity: Size of categories : 4
10-21 15:16:49.569 31194-31194/com.shamdroid.myfinancialassistant D/Statistics Activity: 0.0 Study
10-21 15:16:49.569 31194-31194/com.shamdroid.myfinancialassistant D/Statistics Activity: 1.0 Home
10-21 15:16:49.569 31194-31194/com.shamdroid.myfinancialassistant D/Statistics Activity: 2.0 Car
10-21 15:16:49.569 31194-31194/com.shamdroid.myfinancialassistant D/Statistics Activity: 3.0 Schools

ValueFormatter:

xAxis.setValueFormatter(new AxisValueFormatter() {
            @Override
            public String getFormattedValue(float value, AxisBase axis) {

                int i = (int) value;
                Log.d(TAG, value + "    " + i);

                return String.valueOf(categoriesEntries.get(i).getData());

            }

            @Override
            public int getDecimalDigits() {
                return 0;
            }
        });

1 个答案:

答案 0 :(得分:-1)

对于遇到相同问题的其他人,我通过删除setLabelCount()

来解决它
相关问题