【发布时间】:2017-07-27 15:39:40
【问题描述】:
所以我一直在使用 D3.js 来显示来自 Facebook 网络的信息,网络中的节点代表组中的不同人。我最近开始处理中心性问题,希望一些节点颜色不同,以便它们能够脱颖而出。
在我的 JSON 文件中,节点表示如下:
{"nodes":[{"id":"10066","group":1},{"id":"10072","group":2},{"id":"10075","group":1},{"id":"10077","group":1},{"id":"10093","group":1},{"id":"10114","group":2}],
“组 1”节点应该是蓝色的,而“组 2”节点应该是橙色的。对于大多数图表来说,这很好,但对于某些图表,颜色会被切换。有什么办法可以让颜色与组一致吗?
这是我构建节点时的代码:
//sets up the nodes
var node = svg.append("g")
.attr("class", "nodes")
.selectAll("circle")
.data(graph.nodes)
.enter().append("circle")
.attr("r", 10)
.attr("fill", function (d) { return color(d.group); })
.call(d3.drag()
.on("start", dragstarted)
.on("drag", dragged)
.on("end", dragended));
哦,还有色标:
var color = d3.scaleOrdinal(d3.schemeCategory10);
这是所有网络的样子:
但其中一些最终是这样的:
如果您需要完整代码或更多示例,请访问:https://github.com/AnimNations/Biomed-Research-Undergrad
【问题讨论】:
标签: javascript html node.js d3.js social-networking