【问题标题】:How to set two decimal point into Bar Entry in Mp android Bar Chart in Android如何在Android中的Mp android条形图中将两个小数点设置为条形条目
【发布时间】:2023-03-10 03:00:01
【问题描述】:

如何在bar entry中设置J SON数据的小数点后两位?

【问题讨论】:

  • 您想在轴标签上应用格式化值还是在条形图上方显示整组值作为条形标签?

标签: android json android-volley mpandroidchart


【解决方案1】:

你可以使用ValueFormatter接口

IValueFormatter 接口可用于创建自定义格式化程序类,允许在绘制图表之前以特定方式格式化图表中的值(来自 DataSet)。

要使用 IValueFormatter,只需创建一个新类并让它实现接口并从 getFormattedValue(...) 方法返回您想要显示的任何内容。

创建格式化程序

public class MyValueFormatter implements IValueFormatter {

    private DecimalFormat mFormat;

    public MyValueFormatter() {
        mFormat = new DecimalFormat("###,###,##0.0"); // use one decimal
    }

    @Override
    public String getFormattedValue(float value, Entry entry, int dataSetIndex, ViewPortHandler viewPortHandler) {
        // write your logic here
        return mFormat.format(value) + " $"; // e.g. append a dollar-sign
    }
}

然后,将格式化程序设置为 ChartData 或 DataSet 对象:

// usage on whole data object
lineData.setValueFormatter(new MyValueFormatter());

// usage on individual dataset object
lineDataSet.setValueFormatter(new MyValueFormatter());

预定义的格式化程序

  • LargeValueFormatter: 可用于格式化大值> “1.000”。它将像“1.000”这样的值变成“1k”,“1.000.000”会 是“1m”(百万),“1.000.000.000”将是“1b”(十亿)和值 就像一万亿将是例如“1吨”。

  • PercentFormatter:用于 在每个值后显示一个带有 1 个十进制数字的“%”符号。 对于饼图特别有用。 50 -> 50.0 %

  • StackedValueFormatter:专门设计用于使用的格式化程序 带有堆积条形图。它允许指定是否所有堆栈值 应该绘制或仅绘制顶部值。

【讨论】:

  • 我用过这个,但是这个不能应用显示一些错误
  • 告诉我什么样的错误
  • 伟大的阿南德,请投票,以便其他人更好地找到我的解决方案
猜你喜欢
  • 2016-06-21
  • 2020-05-29
  • 2018-05-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多