gpt4 book ai didi

javascript - D3 强制布局 - 如何实现节点的 3D 外观?

转载 作者:行者123 更新时间:2023-11-28 12:28:50 27 4
gpt4 key购买 nike

这里是jsfiddle D3 集群强制布局:

enter image description here

如何实现类似于此图的节点的 3D 外观:(不要注意图表本身,这只是圆圈“外观”的说明)

enter image description here

最佳答案

Here is jsfiddle的解决方案。它基于SVG radial gradients

<小时/>

对于每个节点,定义一个梯度:

var grads = svg.append("defs").selectAll("radialGradient")
.data(nodes)
.enter()
.append("radialGradient")
.attr("gradientUnits", "objectBoundingBox")
.attr("cx", 0)
.attr("cy", 0)
.attr("r", "100%")
.attr("id", function(d, i) { return "grad" + i; });

grads.append("stop")
.attr("offset", "0%")
.style("stop-color", "white");

grads.append("stop")
.attr("offset", "100%")
.style("stop-color", function(d) { return color(d.cluster); });

然后,代替行:

.style("fill", function(d) { return color(d.cluster); })

这行代码被添加到创建圆圈的代码中:

.attr("fill", function(d, i) {
return "url(#grad" + i + ")";
})

这会产生这样的效果:(我使用的动画 gif 对颜色数量有一些限制,因此渐变不像真实示例中那样平滑)

enter image description here

关于javascript - D3 强制布局 - 如何实现节点的 3D 外观?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24673627/

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