Нарисуйте галочки оси d3 на холсте, как с осью d3, используя галочки на увеличении. - PullRequest
0 голосов
/ 04 сентября 2018

Я ищу способ рисовать отметки оси на холсте без использования SVG.

Допустим, у меня есть рабочий d3.zoom, и у меня есть преобразование этого увеличения и var y; // d3.scale .. тогда я могу нарисовать галочки следующим образом:

var yTicks = this.y.ticks(10);
yTicks.forEach(d => {
            context.moveTo(0, y(d) * transform.k + transform.y + 0.5);
            context.lineTo(width, y(d) * transform.k + transform.y + 0.5);
        });

Это позволяет мне рисовать галочки Но они не меняются в точности, как с d3.axis. С осью d3 количество осей соответствует масштабу диаграммы. У меня также есть d3.axis (на данный момент бесполезный, поскольку он не рендерится напрямую на холст), если это помогает.

Так как же я могу - получить тики так, как рендерит d3.axis (как данные), чтобы я мог рендерить их самостоятельно - найдите другое решение, чтобы получить точность тиков с помощью canvas и ticks

Использование SVG с Canvas не поддерживается.

...