Я пытаюсь создать временную шкалу, используя D3.js v4. Я успешно создал точечную диаграмму с ее осью и кистью, чтобы пользователи могли определить определенный период времени.
Я хочу, чтобы пользователи могли «воспроизводить» временную шкалу точно так же, как аудио/видеоплеер с индикатором, который будет перемещаться слева направо, используя настраиваемую продолжительность. Чтобы добиться этого, я поместил вертикальную линию с переходом в качестве индикатора.
Моя проблема в том, что я не могу получить координаты оси x во время выполнения перехода. Я хочу добиться этого, потому что значения оси x должны взаимодействовать с другой частью кода.
Я пробовал все, включая игры с функциями tween и attrTween, но не смог заставить это работать. В идеале я хотел бы, чтобы индикатор начинался и останавливался в пределах кисти.
svg.append("g")
.attr("class", "brush")
.call(brush)
.call(brush.move, x.range());
svg.append('line')
.attr("class", "timeline-indicator")
.attr("stroke-width", 2)
.attr("stroke", "black")
.attr("x1", 0)
.attr("y1", 0)
.attr("x2", 0)
.attr("y2", height)
.transition()
.duration(9000)
.attr("x1", 500)
.attr("y1", 0)
.attr("x2", 500)
.attr("y2", height);