Я создал BarChart, используя MPAndroidChart, и я динамически вводил данные. Это означает, что мне нужно, чтобы моя ось Y также определялась динамически. Все мои данные представлены как целые числа, однако ось Y иногда отображает легенду как десятичные значения с 1 десятичной точкой.
Я попытался использовать ValueFormatter для округления значений, но проблема в том, что иногда значения Y не находятся в целых значениях (например, 0,8,1,6,2,4 и т.д.). Поэтому, если я просто отредактирую их как целые, они не будут в нужном месте.
В любом случае, я могу заставить BarChart отображать только значения в ячейках Integer? Его нормально, если он пропускает некоторые, на самом деле я хочу, чтобы эти значения стали большими.
Изменить: Когда я сказал, что целые числа находятся не в правильных местах, я имел в виду, что как только я изменяю то, что отображается на каждой этикетке, они не являются "правильными". В моем примере у меня есть 5 баров, отображающих значения 3,4,2,3,2. Первое изображение - это "по умолчанию", второе - изображение, когда я редактировал форматирование значений, используя:
myBarChart.getYLabels().setFormatter(new ValueFormatter()
{
@Override
public String getFormattedValue(float v)
{
return ((int) v)+"";
}
});
Как видно из этих изображений, мои целые значения не там, где они должны быть (и есть два "2s" ). В этом примере я бы хотел, чтобы он отображал значения 0,1,2,3,4. Если у меня будет намного больше данных, я надеюсь, что это будет достаточно разумно, чтобы показать только, какие значения у меня есть, поэтому, например, если данные содержат значения 0-50, это будет показывать что-то вроде 0,10,20,30, 40,50 или, возможно, 0,15,30,45 и т.д.