Да, это возможно.
Вы можете создать новый массив цветов (arrayColor [n-1]), размер которого равен числу точек (n) минус 1. Затем переходите от точки 2 к последнейточка п.Если точка (i) больше, чем точка (i-1), то цвет в позиции i-1 является цветом вверх, в противном случае - цветом вниз.Затем вы можете использовать API lineDataSet.setColors (arrayColor);
Псевдокод:
int arrayColor[] = new int[]{};
for (int i = 1; i < lineDataSet.getValues().size(); i++) {
if (lineDataSet.getValues().get(i) > lineDataSet.getValues().get(i-1)) {
arrayColor[i-1] = UP_COLOR;
} else {
arrayColor[i-1] = DOWN_COLOR;
}
}
lineDataSet.setColors(arrayColor);