【发布时间】:2016-07-01 21:37:03
【问题描述】:
我正在使用 MPAndroidChart 库。我正在使用 CustomValueFormatter 格式化浮点值,使其精度为 1。
CustomValueFormatter 代码:
public class CustomYAxisValueFormatter implements YAxisValueFormatter {
private DecimalFormat mFormat;
public CustomYAxisValueFormatter() {
mFormat = new DecimalFormat("###,###,###,##0.0"); // sets precision to 1
}
@Override
public String getFormattedValue(float value, YAxis yAxis) {
return mFormat.format(value);
}
}
我正在将格式化程序设置为 y 轴。
设置格式化程序:
YAxis yAxis = lineChart.getAxisLeft(); //show left y-axis line
yAxis.setValueFormatter(new CustomYAxisValueFormatter()); // set value formatter to format y-values.
由于setValueFormatter(YAxisValueFormatter),默认创建了上面的格式化程序(CustomYAxisValueFormatter)。
问题是无法在缩放时重新创建 CustomYAxisValueFormatter,从而导致 y 值重复。
是否可以创建一个 CustomValueFormatter 来根据缩放级别更改值的精度?
【问题讨论】:
-
stackoverflow.com/questions/32569618/… 如果这有帮助的话。
-
@Dhina 感谢您的帮助。但是您提供的链接中的答案涉及强制 y 轴中的值数量。它根据缩放级别限制 y 值计数。即使该解决方案在无限缩放时也会导致重复的 y 值。我只需要根据缩放级别更改值的精度。