gpt4 book ai didi

javascript - 如何在 D3 中重新使用计算值

转载 作者:行者123 更新时间:2023-11-30 12:03:15 25 4
gpt4 key购买 nike

假设我有以下 D3 代码:

var bar = chart.selectAll("g").data(data)
.enter().append("g")
.attr("width", function(d) {return calculateValue(d)+1})
.attr("height", function(d) {return calculateValue(d)*2});

并且让我们假设 calculateValue() 函数有些昂贵。预先计算数据中每一项的值的最佳方法是什么?

我做了这样的事情来预先计算值:

var bar = chart.selectAll("g").data(data)
.enter().append("g")
.each(function(d) {d._preCalculated = calculateValue(d)})
.attr("width", function(d) {return d._preCalculated+1})
.attr("height", function(d) {return d._preCalculated*2});

但我不喜欢这种方法,因为我不想改变数据。我宁愿使用一些外部上下文或范围来完成此操作。可能吗?

最佳答案

你不能在每个函数中都计算和分配它吗?

 ...
.each(function(d) {
var bigCalc = calculateValue(d);
d3.select(this)
.attr("width", bigCalc+1)
.attr("height", bigCalc*2)
;
})

关于javascript - 如何在 D3 中重新使用计算值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36064898/

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