На моем графике d3, при щелчке по кругу / точке, я показываю rect
, который идет неправильно. xScale
ссылка неверна.
g.selectAll(".rect-elements")
.data(data)
.enter()
.append("rect")
.attr("class", "rect-elements")
.attr("id", d => "rect_" + d.startTime)
.attr("x", d => xScale(d.startTime) - 12.5)
.attr("y", 0)
.attr("width", 24)
.attr("height", height + 5)
.attr("data", d => d)
.style("fill", "steelblue")
.style("opacity", 0);
Эта ссылка неверна, используется шкала по умолчанию.
xScale(d.startTime)
из-за этого кода
if (data.length > 1) svg.call(zoom.transform, transform); //This is initial call on chart
он не приходит должным образом, он приходит к шкале по умолчанию.
Я пытался восстановить новый масштаб и использовать, но d3.event недоступен.
let newXscale;
if(d3.event)
newXscale = d3.event.transform.rescaleX(xScale);
else
newXscale = xScale;
newXscale(d.startTime)
Любое руководство, что я отсутствует.
![enter image description here](https://i.stack.imgur.com/agosz.png)
код песочницы - https://codesandbox.io/s/hungry-monad-xw9dw