将ID分配给单个轴文本元素

Eli*_*jah 1 label axis d3.js

我使用d3.axis()来创建轴标签和刻度,我想是指单独使用d3.select("#axisTextIDValue")的标记,但我看不出有什么方法来操纵单个文本元素的id属性一个轴.有谁知道如何为轴的刻度或文本元素创建ID值?

Eli*_*jah 7

虽然另一个答案确实解释了如何选择刻度,但是如果要为这些生成的元素分配唯一ID,则可以使用子选择,通过为您为轴调用的g提供id或类,然后根据子数组位置为子文本元素设置id:

 d3.select("svg").append("g").attr("id", "axisG").call(axis);
 d3.select("#axisG").selectAll("text").attr("id", function(d,i) {return "axisText" + i});

 d3.select("#axisText0").node(); //demonstrates selectability
Run Code Online (Sandbox Code Playgroud)

也就是说,这可能不是一个好主意,并且有更好的方法来处理由D3即时生成的ticks/labels/voronoi /等,但我想确保在此处回答以防万一有人正在寻找如何做这种事情.