我的BarChart和标签有问题。标签计数不正确。即使我直接输入值:
xAxis.setLabelCount(5,true);
但是我得到的只有4个标签。当我把6变成5时,似乎有一个错误。
标签的最后一项(我正在使用简单的ValueFormatter)也不会出现。如果标签的数量等于小节的数量,即使我使用了
xAxis.setGranularity(1f);
xAxis.setGranularityEnabled(true);
每个条形的x值为
0
,1
,2
,3
,4
。谁能帮我吗?
更新资料
看图片
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;
}
});
最佳答案
对于其他有相同问题的人,我可以通过删除setLabelCount()来解决。