d3.js散点图don't在转换时重新绘制

d3.js scatter plot don't redraw on transition

本文关键字:新绘制 绘制 转换 don 散点图 js d3      更新时间:2023-09-26

我有一个带过渡的折线图,我添加了工具提示。这对第一个部门来说很好,但一旦我从下拉菜单中更改部门,图表的散点图部分就不会被重新绘制(线会更新)。我可能遗漏了一些基本的东西,但当我看了一些例子后,我认为我的想法是正确的。有人看到我的代码出了什么问题吗?

更新-删除了完整的代码。当我在控制台中启动这个时,我会得到想要的更改。但它在我的更新功能中不起作用。我很难理解:)

focus.selectAll("circle")
.data(dataFilter)
    .attr("fill","blue")
    .attr("cx", function(d) { return x(d.datum); })       
    .attr("cy", function(d) { return y(d.Kvot); });

终于得到了它——当我放入它自己的更新函数并在转换后调用它时,它似乎起了作用。有人能解释为什么我不能把它放在另一个函数中吗?我想这与过渡有关,但我不知道。

function update_circles() {
focus.selectAll("circle")
    .data(dataFilter)
    .attr("cx", function(d) { return x(d.datum); })       
    .attr("cy", function(d) { return y(d.Kvot); });
};

您忘记使用transition方法:

// Make the changes
focus.select("#Main").transition().duration(750)
    .attr("transform", "translate(" + (width+3) + "," + y(yMain) + ")")
    .text(sec);

官方文件中关于过渡的更多信息。问候,