【发布时间】:2014-11-18 09:06:54
【问题描述】:
我试图让 D3 理解对象中的数组,以便 D3 识别要创建两个元素,一个用于 10,一个用于 6。
如果我有一个标准数组,例如var myobj = [10,6]; D3 很好地理解了这一点并创建了两个元素。但是,如果数组嵌入到如下对象中,则 D3 不会这样做。我的问题是 a) 为什么 D3 不明白这一点? b)我怎样才能让 d3 明白我想要创建两个元素?我看过 d3.nested() 但我不明白。
感谢任何帮助
var myobj =
[
{myarray:[10,6]}
];
xx.selectAll(".newrec")
.data(myobj)
.enter()
.append("rect")
.attr("class","newrec")
.attr("width",function (d) {return d.myarray; }) //for width D3 returns one element rectangle with width of "10,6" which is not a width!
;
【问题讨论】:
-
如果只是这一个数组,你为什么不简单:
.data(myobj[0].myarray)然后.attr("width",function (d) {return d; })?
标签: javascript arrays d3.js