XAxis 上 MPAndroidChart ValueFormatter 的奇怪行为
Strange behavior with MPAndroidChart ValueFormatter on XAxis
我有以下代码:
xAxis.setValueFormatter(new IAxisValueFormatter() {
@Override
public String getFormattedValue(float value, AxisBase axis) {
int intValue = (int) value;
int xVal = intValue / 120 / 12;
if (xVal > prevXVal) {
prevXVal = xVal;
return ConvertUnits.toString(xVal);
} else {
return "";
}
}
});
由于某些未知原因,X 轴上未显示任何值。我将 prevXVal
初始化为 0,如果删除 if 语句,我可以看到 X 轴上的值是正确的。我基本上想从 X 轴上删除重复的值,并且只在 xVal
更改时显示这些值。我不确定为什么这段代码不起作用,因为我没有看到 if 语句总是错误的,考虑到当我删除它时我看到值发生变化。
有谁知道我做错了什么吗?
好的,我明白了。这似乎可以解决问题:
xAxis.setValueFormatter(new IAxisValueFormatter() {
@Override
public String getFormattedValue(float value, AxisBase axis) {
int intValue = (int) value;
String xVal = ConvertUnits.toString(intValue / 120 / 12);
if (!xVal.equals(prevXVal)) {
prevXVal = xVal;
if (xVal.equals("0")) {
return "";
} else {
return xVal;
}
} else {
return "";
}
}
});
我有以下代码:
xAxis.setValueFormatter(new IAxisValueFormatter() {
@Override
public String getFormattedValue(float value, AxisBase axis) {
int intValue = (int) value;
int xVal = intValue / 120 / 12;
if (xVal > prevXVal) {
prevXVal = xVal;
return ConvertUnits.toString(xVal);
} else {
return "";
}
}
});
由于某些未知原因,X 轴上未显示任何值。我将 prevXVal
初始化为 0,如果删除 if 语句,我可以看到 X 轴上的值是正确的。我基本上想从 X 轴上删除重复的值,并且只在 xVal
更改时显示这些值。我不确定为什么这段代码不起作用,因为我没有看到 if 语句总是错误的,考虑到当我删除它时我看到值发生变化。
有谁知道我做错了什么吗?
好的,我明白了。这似乎可以解决问题:
xAxis.setValueFormatter(new IAxisValueFormatter() {
@Override
public String getFormattedValue(float value, AxisBase axis) {
int intValue = (int) value;
String xVal = ConvertUnits.toString(intValue / 120 / 12);
if (!xVal.equals(prevXVal)) {
prevXVal = xVal;
if (xVal.equals("0")) {
return "";
} else {
return xVal;
}
} else {
return "";
}
}
});