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

27

我需要隐藏MPAndroidChart柱状图中的条形上方数值。我尝试了所有可用的方法,但是没有找到解决方法。


有没有方法可以隐藏整个BAR的可见性?是使用GONE还是INVISIBLE? - Jaimin Modi
2个回答

92

尝试使用 dataSet.setDrawValues(false)。这将防止任何值被绘制。

如果您希望修改(自定义)绘制的值或仅修改个别值,可以使用ValueFormatter 接口并实现自己的逻辑(例如基于条件隐藏特定的值)。请始终注意,在使用ValueFormatter时性能至关重要。


你好,Philipp,我有一个堆叠条形图。我想在条形图的顶部显示一个值,而不是每个条形的堆栈都显示。使用MpAndroidchart库可以实现吗? - Komal Gupta
你能帮我解决这个问题吗?https://dev59.com/JKPia4cB1Zd3GeqP1aGu - gaurang
我也需要帮助 @gaurang 的问题,请帮忙。 - jeet.chanchawat
我该如何在折线图中添加切换值?dataSet.setDrawValues(false)会隐藏这些值。我需要点击每个圆圈并显示自定义视图(包括值和日期)。我该如何实现这一点? - Amir Shabani
有没有方法可以隐藏整个BAR的可见性?是使用GONE还是INVISIBLE? - Jaimin Modi

3
如果你想根据条件隐藏值,可以使用格式化器。以下是一个示例:
你需要调用这个方法:
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)

有没有方法可以隐藏整个BAR的可见性?是使用GONE还是INVISIBLE? - Jaimin Modi

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接