Подтвердить что ты не робот

Как форматировать значения внутри MPAndroidChart?

2 Вопросы о библиотеке MPAndroidChart. Все мои значения являются целыми числами, но отображаются как Decimals. Как я могу получить их в виде целых чисел (без цифр)? Как я могу предотвратить, что иглавы также отображаются как десятичные числа? Я знаю, что для yvalues ​​есть setFormatter, просто не понимаю, как использовать...

4b9b3361

Ответ 1

Посмотрите на интерфейс IValueFormatter предоставляемый библиотекой. С этим интерфейсом вы можете полностью настроить то, что отображается на графике, основываясь на вашей собственной логике.

Использование:

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

ОБНОВЛЕНИЕ (для версий 2.0. 0+ этой [библиотеки] [2]):

Теперь ValueFormatter может быть установлен для каждого DataSet отдельно, или же 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());

ОБНОВЛЕНИЕ (для версий 3.0. 0+ этой [библиотеки] [2]):

Интерфейсы для форматирования были переименованы и расширены в их функциональности. Теперь IAxisValueFormatter можно использовать для форматирования значений как XAxis и YAxis. Интерфейс IValueFormatter используется для настройки значений диаграммы.

Ссылка на документацию ValueFormatter.

Ответ 2

Если все, что вам нужно, это изменить количество десятичных разрядов в значениях, DefaultValueFormatter будет достаточно.

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

В приведенном выше примере формат 88,85 будет равен 88,7.