Изменения оттенка линейного графика 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))
Другие вопросы по тегам