组合图(条形图和折线图)+ xAxis.setValueFormatter
Combined-Chart (bar- and linechart) + xAxis.setValueFormatter
我很难弄清楚如何为 X 轴设置特定值。
例如,我希望 X 轴显示第 0 天、第 1 天、...、第 N 天。但显然我不理解 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 轴怎么办? IE。微调器条目:days/weeks/months/years 并且根据用户输入,轴将按天、周、月或年显示数据……我得到了一些工作,但 X 轴值再次没有按应有的方式显示(与上面并记住我的数组大小会根据选择的微调器条目而变化)
请提前告知,谢谢!非常感谢!
这些行:
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);
}
我很难弄清楚如何为 X 轴设置特定值。
例如,我希望 X 轴显示第 0 天、第 1 天、...、第 N 天。但显然我不理解 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 轴怎么办? IE。微调器条目:days/weeks/months/years 并且根据用户输入,轴将按天、周、月或年显示数据……我得到了一些工作,但 X 轴值再次没有按应有的方式显示(与上面并记住我的数组大小会根据选择的微调器条目而变化)
请提前告知,谢谢!非常感谢!
这些行:
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);
}