如何格式化MPAndroidChart中的值?

时间:2014-11-12 09:20:47

标签: android mpandroidchart

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

2 个答案:

答案 0 :(得分:33)

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

用法:

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

更新(对于此library 2.0.0 + 版本):

现在,可以为每个ValueFormatter分别设置DataSet可以为整个数据对象设置相同的ValueFormatter所有{{} 1}}。此外,DataSets类现在称为YLabels

示例:

YAxis

更新(对于此library版本 3.0.0 + ):

格式化界面已​​在其功能中重命名和扩展。现在,// 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()); 可用于格式化IAxisValueFormatterXAxis的值。 YAxis界面用于自定义图表值。

链接到IValueFormatter documentation

链接到IAxisValueFormatter documentation

答案 1 :(得分:0)

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

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

上面的示例会将88.65的格式设置为88.7