gpt4 book ai didi

javascript - d3 从同一个函数设置多个属性?

转载 作者:行者123 更新时间:2023-11-29 10:31:42 26 4
gpt4 key购买 nike

有什么方法可以从同一个函数设置多个属性吗?

d3.selectAll('.myshape')
.attr('y',function(d,i) { ... calculates something ... })
.attr('height',function(d,i) { ... calculates something very similar... })

我想同时计算y1y2然后设置y = y1height = y2- y1。但是在 d3 中执行此操作的标准方法似乎是每个属性都有单独的函数。有没有更好的办法?

最佳答案

如果我对你的问题的理解正确,那么你有一个密集的计算,你希望每个元素只计算一次,而不管你设置的属性数量。

在这种情况下,如果需要,您可以使用 each 来传递当前元素 (this) 以及数据、索引和组他们:

d3.selectAll(".myShape").each(function(d,i,n){
//Here you put the complex calculation
//which will assign the values of y1 and y2.
//This calculation runs only once per element
d3.select(this).attr("y", y1).attr("height", y2 - y1)
});

关于javascript - d3 从同一个函数设置多个属性?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44556167/

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