过去几天我一直在努力优化D3的性能。我在SVG上使用了一个行生成器,并且只想计算x
和y
中使用的函数的一次。
例如:
d3.line().curve(d3.curveLinear)
.x(function(d){ return Math.sqrt(d) }
.y(function(d){ return Math.sqrt(d) + 2) I
我想保存Math.sqrt(d)
的结果,只计算一次。
有人有任何建议吗?
答案 0 :(得分:0)
您可以将结果存储在第一个函数中,并在第二个函数中使用它
例如
d3.line().curve(d3.curveLinear)
.x(function(d){
d.sqrt = Math.sqrt(d.value);
return d.sqrt
})
.y(function(d){
return d.sqrt + 2
})