Home » Android » android – MPAndroidChart, how to remove decimal percentages and not show percentages below 10?

android – MPAndroidChart, how to remove decimal percentages and not show percentages below 10?

Posted by: admin June 15, 2020 Leave a comment

Questions:

I am using MPAndroidChart and I have two questions:

  • MPAndroid Pie Chart Remove decimal percentages
  • Not show values on the Pie Chart that have values less than 10%, but show the slice; just the text should not be shown for the percentages less than 10%.
How to&Answers:

Update for version 3.0.0+

Formatting values is now done by extending the ValueFormatter class and overriding the required methods for formatting. This is also where custom logic (e.g. only show labels for values > 10) can be inserted.

class MyValueFormatter : ValueFormatter() {
    private val format = DecimalFormat("

Answer:

,##0.0") // override this for e.g. LineChart or ScatterChart override fun getPointLabel(entry: Entry?): String { return format.format(entry?.y) } }

More examples and a detailed explanation can be found in the new documentation.

Answer:

With the new version (3.0.0) of MPAndroidChart, use the following method:

In the setData() method:

 PieData data = new PieData(dataSet);
 data.setValueFormatter(new DecimalRemover(new DecimalFormat("

Answer:

,

Answer:

,

Answer:

")));

Here is the DecimalRemover class:

public class DecimalRemover extends PercentFormatter {

protected DecimalFormat mFormat;

public DecimalRemover(DecimalFormat format) {
    this.mFormat = format;
}

@Override
public String getFormattedValue(float value, Entry entry, int dataSetIndex, ViewPortHandler viewPortHandler) {
    if(value < 10) return "";
    return mFormat.format(value) + " %";
}
}

ValueFormatter has been replaced with PercentFormatter

Answer:

for remove decimal percentages, easily use:
PiedataSet.setValueFormatter(new PercentFormatter(new DecimalFormat("

Answer:

,

Answer:

,##0")));