2014-09-11 60 views
0

我有一个带有转换的折线图,我添加了工具提示。这对第一个部门来说工作正常,但只要从下拉菜单中更改部门,图表的散点图部分就不会重新绘制(该行更新应该如此)。我可能在这里错过了一些基本的东西,但是当我看过例子时,我想我已经有了正确的想法。有人看到我的代码有什么问题吗?d3.js散点图不会在转换时重绘

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

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

回答

1

终于明白了 - 当我把它自己的更新功能,并称它过渡后似乎工作。任何人都可以解释为什么我不能把它放在其他功能?我想这与过渡有关,但不知道。

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

你忘了使用transition方法:官方文档中

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

更多transitions。问候,

+0

我添加它早一点让部分作品(VAR焦点= d3.select(“身体”)转移();)这是更新功能不起作用,这与交易的最后一部分点。 – ErrantBard 2014-09-11 11:28:52

+0

我认为带点的部分也缺少'transition()'方法。 – 2014-09-11 11:34:13

+0

嗯,我试图添加它,但它仍然给我Uncaught TypeError:undefined不是函数 – ErrantBard 2014-09-11 11:39:15