бар не может покрыть область ниже нуля, потому , что просто не было бы правильное поведение из BarChart.
Если вы добавите запись со значением 30 по оси Y, она должна охватывать точно диапазон 30 по оси y, а не 30 + любое пространство остается на дне. Это просто неверно.
Если вы все еще хотите, чтобы бары заполнили весь экран, вы можете «обмануть» и использовать штабелированные столбцы с 2 значениями. Первое значение представляет собой «начальную точку» панели, а второе значение - фактическое значение.
// e.g. -100 starting point, 30 actual value
// covered area is -100 to 30 on the y-axis
BarEntry stackedEntry = new BarEntry(new float[] {-100, 30}, xIndex);
Поблагодарить u @Philipp. – rguerra