<d3.js>使用画笔功能绘制多行时的问题</d3.js>

时间:2013-01-23 04:25:09

标签: javascript html svg d3.js brush

我正在尝试使用d3在一个图表中绘制几行,并使用画笔功能(http://bl.ocks.org/1667367)实现

enter image description here

下面的代码部分将在右侧显示每一行的名称。

focudraw.select("text")
  .datum(function(d){
      return {name:d.name,value : d.values[d.values.length-1]};
  })
  .attr("transform",function(d){ 
      return "translate("+x(d.value.date)+","+y(d.value.price)+")"
    })
  .text(function(d){return d.name});

但是,如果我在移动contextdraw时动态刷牙(在下面),那么文本的位置不会改变,我也没有太多想法进行修改。

我想我应该专注于刷子函数中的focudraw.select(“text”),更改d.values的索引,我知道如何映射 new x.domain()[1 ]到d.values的最后一个索引,但位置不是那么准确......

function brush(){
x.domain(brush.empty() ? navx.domain() : brush.extent());

focudraw.select("path").attr("d",function(d){
  return line(d.values);    
});


focudraw.select("text")
  .datum(function(d){
      return {name:d.name,value : d.values[d.values.length-1]};
  })
  .attr("transform",function(d){ 
      return "translate("+x(d.value.date)+","+y(d.value.price)+")"
    })
  .text(function(d){return d.name});


focu.select(".x.axis").call(xAxis);

}

0 个答案:

没有答案