gpt4 book ai didi

d3.js - d3 中的嵌套圆

转载 作者:行者123 更新时间:2023-12-02 02:10:57 28 4
gpt4 key购买 nike

使用 d3.js,我将如何修改以下 code向每个现有生成的圆添加一个半径为“inner_radius”的嵌套黄色填充圆:

var circleData = [
{ "cx": 300, "cy": 100, "radius": 80, "inner_radius": 40},
{ "cx": 75, "cy": 85, "radius": 50, "inner_radius": 20}];

var svgContainer = d3.select("body").append("svg")
.attr("width",500)
.attr("height",500);

var circles = svgContainer.selectAll("circle")
.data(circleData)
.enter()
.append("circle");

var circleAttributes = circles
.attr("cx", function (d) { return d.cx; })
.attr("cy", function (d) { return d.cy; })
.attr("r", function (d) { return d.radius; })
.style("fill", function (d) { return "red"; });

最佳答案

正如 imrane 在他的评论中所说,您需要将圆圈分组在 g svg 元素中。可以看到更新后的代码here相关更改如下。

var circles = svgContainer.selectAll("g")
.data(circleData)
.enter()
.append("g");
// Add outer circle.
circles.append("circle")
.attr("cx", function (d) { return d.cx; })
.attr("cy", function (d) { return d.cy; })
.attr("r", function (d) { return d.radius; })
.style("fill", "red");
// Add inner circle.
circles.append("circle")
.attr("cx", function (d) { return d.cx; })
.attr("cy", function (d) { return d.cy; })
.attr("r", function (d) { return d.inner_radius; })
.style("fill", "yellow");

关于d3.js - d3 中的嵌套圆,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15747987/

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