Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/474.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何将类应用(和更改)到已经存在的SVG元素_Javascript_Svg_D3.js_Data Visualization - Fatal编程技术网

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

Javascript 如何将类应用(和更改)到已经存在的SVG元素,javascript,svg,d3.js,data-visualization,Javascript,Svg,D3.js,Data Visualization,我对编程和D3非常陌生,我有一个基本问题(我想),但我找不到解决方案。 我创建了一组圆圈,它们一起代表一个会议厅(立法大厅)。 现在,我想根据不同的数据集更改圆圈的颜色。 我尝试应用不同的类或样式,但无法选择正确的圈数。 这是代码 svg.selectAll("g") .data(grupos) .enter().append("g") .attr("transform", function (d,i) { return "translate(400,380) rotat

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

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);}); 
查看项目的步骤


有人能帮忙吗?

要将一半圆圈涂成蓝色:

svg.selectAll("circle")
   .attr("fill", function(d, i){ return i < 190 ? 'blue' : 'red'; })
svg.selectAll(“圆圈”)
.attr(“fill”,函数(d,i){返回i<190?'blue':'red';})
如果你只是想显示不同的投票总数,那么男性的人数比女性的多。女性,或其他比例,只需改变190


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

你想用什么来选择?如果你想用不同的颜色来画圆圈,只需这样做:var colors=d3.scale.category10();svg.selectAll(“圆圈”).attr(“填充”,函数(d,i){返回颜色(i);})