我有一个名为keys [1:"XXX",2:"YYY"]
的数组,我在页面上已经有2个svg元素。我希望每个元素都有一个数组值,但下面的代码将两个值都放在每个文本标签中。我尝试了keys[i]
,但i
未定义。我怎么能做到这一点?
svg.selectAll("svg").
data(keys).
enter()
.append("svg:text")
.attr("x", width )
.attr("y", height).
.attr("dx", -width/2)
.attr("text-anchor", "middle")
.attr("style", "font-size: 12; font-family: Helvetica, sans-serif")
.text(function(keys) { return keys;})
.attr("transform", "translate(0, 18)")
.attr("class", "yAxis");
答案 0 :(得分:0)
text函数参数使用名称keys
。请尝试使用d
:
svg.selectAll("svg")
.data(keys)
.enter()
.append("svg:text")
.attr("x", width )
.attr("y", height).
.attr("dx", -width/2)
.attr("text-anchor", "middle")
.attr("style", "font-size: 12; font-family: Helvetica, sans-serif")
.text(function(d) { return d;})
.attr("transform", "translate(0, 18)")
.attr("class", "yAxis");
attr
和text
方法的参数是一个函数,它接受数据元素并使用其值来计算属性或文本值。您正在使用全局变量keys
的值,它具有两个元素。