gpt4 book ai didi

javascript - 遍历 D3 中的数组数组

转载 作者:搜寻专家 更新时间:2023-11-01 04:50:02 25 4
gpt4 key购买 nike

我有一个 x 对象数组,每个对象都有一个 y 对象数组,如下所示:

var data = [
{ name: '1', data: [1,2,3] },
{ name: '2', data: [1,2,3] }
]

有没有办法链接 d3 函数以便遍历每个数据 [x] 和每个数据 [x][y]?

我认为这样的事情会有所帮助,但显然不是:

var svg = d3.selectAll('g')
.data(data)
.enter()
.append('g')
.selectAll('rect') /* This might be made up, but it makes sense to me :)*/
.data(data, function (d, i) {
return data[i].data;
})
.enter()
.append('rect')

谢谢

最佳答案

沿着这些线的东西怎么样://未测试

var svg = d3.selectAll('g')
.data(data)
.enter()
.append('g')
.selectAll('rect') /* This might be made up, but it makes sense to me :)*/
//.data(data, function (d, i) {
// return data[i].data;
//})
//.enter()
//.append('rect')
.each(function(d){
d3.select(this).selectAll('rect').data(d.data).append('rect')//and so on
})

编辑:

工作 fiddle :http://jsfiddle.net/reko91/58WJE/34/

var data = [
{ name: '1', data: [1,2,3] },
{ name: '2', data: [1,2,3] }
]

var colourScale = ['red','blue','yellow']
var svg = d3.select('body').append('svg').attr('width', 1000).attr('height', 1000);
svg.selectAll('rect')
.data(data)
.enter().append('g')
.each(function(d,i){
d3.select(this).selectAll('rect')
.data(d.data)
.enter().append('rect')
.attr('x', function(d,j) { return j*100; })
.attr('y', function() { return i*100; })
.attr('width', function() { return 90; })
.attr('height', function() { return 90; })
.attr('fill', function(d,j) { console.log(d); return colourScale[j]; })
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/d3/3.4.11/d3.min.js"></script>

关于javascript - 遍历 D3 中的数组数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35728448/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com