26

2 关于MPAndroidChart 库的问题。我所有的 y 值都是整数,但显示为小数。我怎样才能让它们显示为整数(没有数字)?如何防止 ylabels 也显示为小数?我知道yvalues有一个setFormatter,只是不明白如何使用......

4

2 回答 2

40

看看库提供的IValueFormatter 接口。使用该界面,您可以根据自己的逻辑完全自定义图表上显示的内容。

用法:

chart.setValueFormatter(new YourValueFormatter());
YLabels yl = chart.getYLabels();
yl.setFormatter(new YourValueFormatter());

更新(对于这个 [库][2] 的2.0.0+版本):

现在,ValueFormatter可以为每个DataSet单独设置 a,ValueFormatter可以为包含全部的整个数据对象设置相同的值DataSets。此外,YLabels该类现在称为YAxis.

例子:

// set for whole data object (individual DataSets also possible)
LineData data = new LineData(...);
data.setValueFormatter(new YourValueFormatter());

// YLabels are now called YAxis
YAxis yAxis = mChart.getAxisLeft(); // get the left or right axis
yAxis.setValueFormatter(new YourAxisValueFormatter());

更新(对于这个 [库][2] 的3.0.0+版本):

格式化接口已重命名并扩展了其功能。现在,IAxisValueFormatter可用于格式化XAxis和的值YAxis。该IValueFormatter接口用于自定义图表值。

链接到ValueFormatter 文档

于 2014-11-14T09:24:08.053 回答
1

如果您只想更改值的小数位数,那么 DefaultValueFormatter就足够了。

pieDataSet.setDefaultValueFormatter(new DefaultValueFormatter(digits = 1))
//where digits is the number of decimal places

上面的示例将 88.65 格式化为 88.7

于 2019-08-30T05:18:52.807 回答