N.B:我是javascript和d3.js的新手(昨天开始),如果我忽略了一些明显的事情,我会道歉。
我在理解d3如何处理数据以及数据绑定如何工作方面遇到了问题。 我正在尝试重新创建此heatmap 区别在于我的起始表应该包含标签而不是索引。 (数据来自db请求)。
day hour value
Mon am 16
Mo pm 20
Tue am 0
Tue pm 0
Wed am 45
Wed pm 8
我知道d3.js有一个变量有变量d(对于数据)而i对于索引但我无法弄清楚如何使用它。
到目前为止,我已尝试更换行
.attr("x", function(d) { return (d.hour - 1) * gridSize; })
.attr("y", function(d) { return (d.day - 1) * gridSize; })
用
.attr("x", function(d,i) {return d.hour, i * gridSize;})
.attr("y", function(d,i) {return d.day, i * gridSizee;})
但我得到一个奇怪的盒子安排。
我错过了什么?
我真正的问题是: 你怎么能访问索引而不是值?
提前致谢
答案 0 :(得分:1)
您正在使用的函数将索引作为第二个变量,将数据作为第一个变量,因此您需要调用数据变量,然后您可以忽略它:
.attr("x", function(d,i) {return i * gridSize;})