Изменения оттенка линейного графика gRaphael
В настоящее время я реализую линейную диаграмму в gRaphael, которая требует, чтобы ось x двигалась вверх по оси y так, чтобы она лежала на нуле (что я уже выполнил, нарисовав свои собственные оси).
Однако сейчас я сталкиваюсь с проблемой при попытке закрасить область выше / ниже оси x; Функция затенения gRaphael только затеняет от нижней части графика до Y-высоты (в отличие от 0 от оси Y до Y-высоты). Результат следующий:
Я нашел пару строк в g.line.js, которые выглядят подозрительно, как будто они могут помочь, но я понятия не имею, что означают значения "L", "C" и "M" (я предполагаю, что они должны сказать часть программы нарисовать линию и т.д?)
Буду очень признателен за любую помощь от кого-либо более информированного, чем я!
1 ответ
Я решил это путем переопределения файла g.line.js и создания смещения для добавления к значениям Y. Смещение было рассчитано с учетом максимального и минимального значений на оси Y, высоты самого SVG и "желоба" - значения, которое добавляет заполнение к самому SVG (чтобы значения на осях могли отображаться лучше). Формула выглядит следующим образом (и, кстати, идентична тому, как оси были перемещены в ноль):
(height - 2*gutter)*(miny/(maxy-miny))