我很难弄清楚如何为X-AXIS设置特定的值。
例如,我希望X轴显示DAY 0,DAY 1,…,DAYN。但是很明显,我不了解setValueFormatter,阅读了您的文档,但仍然难以理解。
我尝试这样做:
//Fill array
for (int i = 0; i < xAXisNumDay.length; i++) {
xAXisNumDay[i] = "DAY " + i + 1;
}//for
xAxis.setValueFormatter(new IAxisValueFormatter() {
@Override
public String getFormattedValue(float value, AxisBase axis) {
return xAXisNumDay[(int) value % xAXisNumDay.length];
}//formattedValue
});
但这给了我这个
DAY 01,DAY 11,DAY 21,...,DAY 111--这就是让我感到困惑的地方!????
然后我意识到它将(i + 1)附加到另一种增量上???所以我尝试做这种for循环:
for (int i = 0; i < xAXisNumDay.length; i++) {
xAXisNumDay[i] = "DAY ";
}//for
但这只是给我DAY,DAY,...,DAY ---这很有意义!大声笑
我用尽了Google搜索,需要帮助!
P.S。如果我想使用微调器并根据用户输入更改X-AXIS,该怎么办?即微调器输入项:天/周/月/年,根据用户输入,轴将按天或周或月或年显示数据...我工作正常,但X-AXIS值仍未按原样显示(与上述相同,请记住,我的数组大小会根据所选的微调项而变化)
请提前告知并谢谢您!非常感谢!
答案 0 :(得分:1)
这些行:
for (int i = 0; i < xAXisNumDay.length; i++) {
xAXisNumDay[i] = "DAY " + i + 1;
}
您确实将DAY,i和1组合成一个字符串,因此第一个值将是DAY 01。
快速修复:
for (int i = 0; i < xAXisNumDay.length; i++) {
xAXisNumDay[i] = "DAY " + (i + 1);
}