Я пытаюсь реализовать функцию, которая позволяет менять цвет линии в зависимости от значения Y.
Найден пример , но, к сожалению, это не работает.Кажется, для установки цветовой линии в зависимости от самого первого значения Y из ряда данных.Я пытался изменить LineAndPointFormatter
и LineAndPointRenderer
и получил похожие результаты.Я также пытался установить Shader на линию с границами графика:
LineAndPointFormatter lineFormatter = new LineAndPointFormatter(Color.rgb(154, 223, 130), null, null, null);
RectRegion bounds = plot.getBounds();
float minY = bounds.getMinY().floatValue();
float maxY = bounds.getMaxY().floatValue();
lineFormatter.getLinePaint().setShader(new LinearGradient(
0, maxY, 0, minY,
Color.RED,
Color.BLUE,
Shader.TileMode.REPEAT));
Но похоже, что minY и maxY изначально не установлены и имеют такие крошечные значения, что я получил фиолетовую линию (смешанную красную и синюю).
Когда я попытался установить границы вручную, создав RectRegion rectum = new RectRegion(0, Double.POSITIVE_INFINITY, 0, 1000;
Я наконец-то получил что-то немного (максимальное значение Y на моем графике равно 100, idk почему, но работает, только когда я установил его на 1000), но оно все равно не отвечает начто это показано на оси Y.
Мне нужно получить что-то вроде этого:
Кто-нибудь нашел простое решение для многоцветной линии?Как динамический градиент или около того?