web-dev-qa-db-ja.com

MPAndroidChartで描画された値を非表示にする方法は?

バーチャートの MPAndroidChart でバーの上の値を非表示にする必要があります。私はそれで利用可能なすべての方法を試しましたが、解決策を見つけることができませんでした。

22
vaibhav

dataSet.setDrawValues(false)を試してください。これにより、値の描画が防止されます

描画された値(または個々の値のみ)を変更(カスタマイズ)する場合は、 ValueFormatter インターフェイスを使用して独自のロジックを実装できます(たとえば、条件に基づいて特定の値を非表示にする)。 ValueFormatterを使用するときは、パフォーマンスが重要であることに常に留意してください。

70
Philipp Jahoda

条件ごとに値を非表示にする場合は、フォーマッターを使用できます。以下に例を示します。

このメソッドを呼び出す必要があります。

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)