Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/394.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 如何为Force Network d3.js中的节点组分配一致的颜色_Javascript_D3.js - Fatal编程技术网

Javascript 如何为Force Network d3.js中的节点组分配一致的颜色

Javascript 如何为Force Network d3.js中的节点组分配一致的颜色,javascript,d3.js,Javascript,D3.js,我试图为我的部队网络图中的特定组指定特定颜色。这样,在我的所有图形中,组被一致地分配相同的颜色。组名为“a”、“b”、“c”、“d”,并根据当前的顺序分配颜色 例如,我想要的是“a”始终分配给蓝色,“b”始终分配给红色 我对节点着色的JavaScript如下所示: var color = d3.scale.category10(); var node = vis.selectAll(".node") .data(force.nodes()) .enter().append("g") .attr

我试图为我的部队网络图中的特定组指定特定颜色。这样,在我的所有图形中,组被一致地分配相同的颜色。组名为“a”、“b”、“c”、“d”,并根据当前的顺序分配颜色

例如,我想要的是“a”始终分配给蓝色,“b”始终分配给红色

我对节点着色的JavaScript如下所示:

var color = d3.scale.category10();

var node = vis.selectAll(".node")
.data(force.nodes())
.enter().append("g")
.attr("class", "node")
.style("fill", function(d) { return color(d.group); })
.style("opacity", 0.9)
.on("mouseover", mouseover)
.on("mouseout", mouseout)
.call(force.drag);
任何帮助都将不胜感激

谢谢

d3.scale.category10()
(或v4中的
d3.schemeCategory10
)以先到先得的方式工作。这意味着,如果不设置域

通过将传递给刻度的每个唯一值从范围中指定一个新值,将根据使用情况隐式推断域。()

我们可以很容易地展示这一点。看看这个演示,我使用了两种色阶:

var数据=[“a”、“b”、“c”、“d”];
var color=d3.scale.category10();
var color2=d3.scale.category10();
变量主体=d3。选择(“主体”)
变量段落1=正文。选择全部(空)
.数据(数据)
.输入()
.附加(“p”)
.样式(“背景色”,功能(d){
返回颜色(d)
})
.html(字符串);
正文。附加(“br”);
变量段落1=正文。选择全部(空)
.data(data.reverse())
.输入()
.附加(“p”)
.样式(“背景色”,功能(d){
返回颜色2(d)
})
.html(字符串)
p{
边际:0px;
}
d3.scale.category10()
(或v4中的
d3.schemeCategory10
)以先到先得的方式工作。这意味着,如果不设置域

通过将传递给刻度的每个唯一值从范围中指定一个新值,将根据使用情况隐式推断域。()

我们可以很容易地展示这一点。看看这个演示,我使用了两种色阶:

var数据=[“a”、“b”、“c”、“d”];
var color=d3.scale.category10();
var color2=d3.scale.category10();
变量主体=d3。选择(“主体”)
变量段落1=正文。选择全部(空)
.数据(数据)
.输入()
.附加(“p”)
.样式(“背景色”,功能(d){
返回颜色(d)
})
.html(字符串);
正文。附加(“br”);
变量段落1=正文。选择全部(空)
.data(data.reverse())
.输入()
.附加(“p”)
.样式(“背景色”,功能(d){
返回颜色2(d)
})
.html(字符串)
p{
边际:0px;
}