D3.js D3js selectall忽略数据中的前4行
我制作了时间日期热图。我注意到它没有显示数据中的前4行 以下是数据示例:D3.js D3js selectall忽略数据中的前4行,d3.js,selectall,D3.js,Selectall,我制作了时间日期热图。我注意到它没有显示数据中的前4行 以下是数据示例: data = [ {attr1: 1568714400000, attr2: "reg-del", value: 1} {attr1: 1568714400000, attr2: "reg-expired", value: 10} {attr1: 1568714400000, attr2: "reg-new", value: 3}] 这是我代码的一部分,selectAll('rect')。对于4,数据(data)总是返
data =
[ {attr1: 1568714400000, attr2: "reg-del", value: 1}
{attr1: 1568714400000, attr2: "reg-expired", value: 10}
{attr1: 1568714400000, attr2: "reg-new", value: 3}]
这是我代码的一部分,selectAll('rect')。对于4,数据(data)总是返回空。知道为什么吗
Selection {_groups: Array(1), _parents: Array(1)}
_groups: Array(1)
0: (35) [empty × 4, rect, rect, rect, rect, rect, rect, rect, rect, rect,
rect, rect, rect, rect, rect, rect, rect, rect, rect, rect, rect, rect,
rect, rect, rect, rect, rect, rect, rect, rect, rect, rect]
length: 1
var rect = svg.selectAll('rect')
.data(data)
.enter().append('g').append('rect')
.attr('class', 'cell')
.attr('width', (d,i) => data[i+1] ? xScale(data[i+1].attr1) -
xScale(d.attr1): 10)
.attr('height', itemHeight)
.attr('y', function(d) { return yScale(d.attr2); })
.attr('x', function(d) {
if (xScale(d.attr1) -cellSize/2 < 0) {
return -1000;
}
return xScale(d.attr1) -cellSize/2;
})
选择{{u组:数组(1),{u父组:数组(1)}
_分组:阵列(1)
0:(35)[空×4,rect,rect,rect,rect,rect,rect,rect,rect,rect,
rect,rect,rect,rect,rect,rect,rect,rect,rect,rect,rect,rect,rect,rect,
rect,rect,rect,rect,rect,rect,rect,rect,rect,rect,rect,rect]
长度:1
var rect=svg.selectAll('rect')
.数据(数据)
.enter().append('g').append('rect'))
.attr('类','单元')
.attr('width',(d,i)=>data[i+1]?xScale(data[i+1].attr1)-
xScale(d.attr1):10
.attr('height',itemHeight)
.attr('y',函数(d){返回yScale(d.attr2);})
.attr('x',函数(d){
if(xScale(d.attr1)-单元大小/2<0){
返回-1000;
}
返回xScale(d.attr1)-单元大小/2;
})
在看不到其余代码的情况下很难判断,但如果我不得不猜测的话,我会说它与的/副本有关。到目前为止,数据集还可以,但只需运行本身svg。selectAll('rect')。数据(data)
对结果中的前四个对象返回null。但它不是也应该是空的。你的评论稍微回避了这个问题。尝试建立一个演示该问题的模型。