gpt4 book ai didi

javascript - 如何将类应用(和更改)到已经存在的 SVG 元素

转载 作者:行者123 更新时间:2023-11-29 22:11:58 25 4
gpt4 key购买 nike

我是编程和 D3 的新手,我有一个基本问题(我认为)但我找不到解决方案。
我创建了一组圆圈,它们一起代表一个 session 厅(立法大厅)。
现在,我想根据不同的数据集改变圆圈的颜色。
我尝试应用不同的类或样式,但无法选择正确数量的圆圈。
这是代码。

svg.selectAll("g")
.data(grupos)
.enter().append("g")
.attr("transform", function (d,i) { return "translate(400,380) rotate(" + -1* (i * 5) + ")";})
.selectAll("circle")
.data(circulos)
.enter().append("circle")
.attr("cy", 0)
.attr("cx", function (d,i) {return (i+3) * 20;})

//change the size of circles gradually
.attr("r", function (d,i) {return (Math.pow((i+1),1/3)*2);});

查看项目

http://jsfiddle.net/ploscri/JrRdc/

有人能帮忙吗?

最佳答案

将一半的圆圈涂成蓝色:

svg.selectAll("circle")
.attr("fill", function(d, i){ return i < 190 ? 'blue' : 'red'; })

如果您只是想显示不同的投票总数、男性与女性的数量或其他比例,只需更改 190。

以更复杂的方式根据不同的数据集更改圆圈的颜色:我建议将数据集组合成一个对象数组,其中每个条目代表一个立法者。将该数据绑定(bind)到您的圈子,您可以根据立法者的属性轻松更改圈子的大小、位置和颜色。

关于javascript - 如何将类应用(和更改)到已经存在的 SVG 元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17693130/

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