web-dev-qa-db-fra.com

Comment masquer les valeurs dessinées dans MPAndroidChart?

J'ai besoin de cacher la valeur au-dessus des barres dans MPAndroidChart pour le graphique à barres. J'ai essayé toutes les méthodes disponibles, mais je n'ai pas trouvé la solution.

23
vaibhav

Essayez dataSet.setDrawValues(false). Cela empêchera de dessiner des valeurs .

Si vous souhaitez modifier (personnaliser) les valeurs dessinées (ou uniquement des valeurs individuelles), vous pouvez utiliser l'interface ValueFormatter et implémenter votre propre logique (par exemple masquer des valeurs spécifiques en fonction d'une condition). Gardez toujours à l'esprit que les performances sont essentielles lors de l'utilisation de ValueFormatter.

74
Philipp Jahoda

Si vous souhaitez masquer des valeurs par condition, vous pouvez utiliser un formateur. Voici un exemple:

Vous devez appeler cette méthode:

dataSet.setDrawValues(true)

et vous devez ajouter une condition à votre formateur:

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; }*/
}

Si vous souhaitez masquer toutes les valeurs, vous pouvez utiliser ceci:

dataSet.setDrawValues(false)
2