我对BarChart和标签有疑问。标签计数不正确。即使我直接输入一个值:
xAxis.setLabelCount(5,true);
但我得到的只有4个标签。当我把它变成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;
}
});
答案 0 :(得分:-1)
对于遇到相同问题的其他人,我通过删除setLabelCount()
来解决它