我需要在MPAndroidChart中隐藏条形图上方的条形值。我已经尝试了所有可用的方法,但找不到解决方案。
答案 0 :(得分:67)
试试dataSet.setDrawValues(false)
。这将阻止绘制任何值。
如果您想要更改(自定义)绘制的值(或仅个别值),您可以使用ValueFormatter界面并实现自己的逻辑(例如,根据条件隐藏特定值)。使用ValueFormatter
时,请始终牢记性能至关重要。
答案 1 :(得分:1)
如果您希望通过条件隐藏值,可以使用Formatter,这是一个示例:
您必须激活此方法:
dataSet.setDrawValues(true)
并且您必须使用以下条件对格式化程序进行个性化设置:
public class MyYAxisValueFormatter implements IAxisValueFormatter {
private DecimalFormat mFormat;
public MyYAxisValueFormatter() {
// format values to 1 decimal digit
mFormat = new DecimalFormat("###,###,##0");
}
@Override
public String getFormattedValue(float value, AxisBase axis) {
String val = ""
if ((int)value > 10){
val = value
}
return mFormat.format(val);
}
/** this is only needed if numbers are returned, else return 0 */
/*@Override
public int getDecimalDigits() { return 1; }*/
}
但是如果你想要隐藏所有值,你必须使用它:
dataSet.setDrawValues(false)