我是JavaScript和D3.js的新手。
我正在尝试使用嵌套和rolledup的Json构建热图。结果数组如下所示:
(6) [{…}, {…}, {…}, {…}, {…}, {…}]
0:
key:"3"
values:Array(6)
0:
key: "14"
value:11
1:
key:"15"
value:2
...
最终值,在本例中为11和2,是以下汇总的结果:
.rollup(function(leaves) { return leaves.length;})
我需要访问所有这些计数,以便颜色根据“数字”而变化,即data.values.value:
.style("fill", (d) => colorScale(d.values.value));
我得到的问题是控制台将其返回为undefined或NaN,具体取决于我测试的100个场景(map,each,d3values等)。当我使用Gerardo Furtado提供的功能时,我确实得到了一个数字。但是为了颜色目的,不可能只有数字而不是最大数字。
D3 js get a d3.max from an object that contains a specific key value
const maxX = d3.max(groupByDayAndHour, function(e) {
return d3.max(e.values, function(f) {
return f.value;
});
});
console.log(maxX, "maxX");
请帮忙。主要问题是:如何访问所有“第二个值”以及如何将它们转换为数字,以便颜色可以动态变化。