如何在MPAndroidChart中隐藏绘制的值?

时间:2015-06-10 13:22:46

标签: android mpandroidchart

我需要在MPAndroidChart中隐藏条形图上方的条形值。我已经尝试了所有可用的方法,但找不到解决方案。

2 个答案:

答案 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)