如何在不同的轴上写两个不同的文字?

时间:2013-08-01 07:59:22

标签: d3.js

我必须在两个不同的轴上写文字/标签。这是我的数据大小,我想在两个轴上打印hello和name,具体取决于数组。但现在只有一个轴正在打印。请帮帮我:

enter code here

<script>
  var dat =[1,2,3];
  var canvas = d3.select("body").append("svg")
    .attr("height",500)
    .attr("width",1000)
  var x=10 ; var y=30; var space =50;
  var x1=0 ; var y1=30;
  var gene =canvas.selectAll("text")
    .data(dat)
    .enter()
    .append("text")
    .attr("x",function(d){x=x+space; return x; })
    .attr("y",30)
    .text("hello")
  var gene2 =canvas.selectAll("text")
    .data(dat)
    .enter()
    .append("g")
    .attr("x",function(d){return x1; })
    .attr("y",function(d) {y1=y1+space; return y1; })
    .text("name")
</script>

1 个答案:

答案 0 :(得分:0)

您没有区分两组<text>元素。代码使用第一个数据绑定创建节点,然后它选择这些相同的节点并再次绑定相同的数据(使用相同的默认绑定键),这将简单地更新现有节点上的数据(即{{ 1}}选择将为空。)

这与this类似。有一些解决方案可供选择。