我已经制作了一个力导向图,我想改变数据的节点形状,因为"entity":"company"它们将具有矩形形状,而没有这部分数据的其他数据将是现在的圆形.
你可以在这里看到我的工作示例只有圆形节点:http://jsfiddle.net/dzorz/uWtSk/
我试图if else在代码的一部分中添加带有语句的矩形,其中我将形状附加到节点,如下所示:
function(d)
{
if (d.entity == "company")
{
node.append("rect")
.attr("class", function(d){ return "node type"+d.type})
.attr("width", 100)
.attr("height", 50)
.call(force.drag);
}
else
{
node.append("circle")
.attr("class", function(d){ return "node type"+d.type})
.attr("r", function(d) { return radius(d.value) || 10 })
//.style("fill", function(d) { return fill(d.type); })
.call(force.drag);
}
}
Run Code Online (Sandbox Code Playgroud)
但是在任何节点上我都没有任何形状.
什么是正确的设置方法?
整个代码如下所示:脚本:
var data = {"nodes":[
{"name":"Action 4", "type":5, "slug": "", "value":265000},
{"name":"Action 5", "type":6, "slug": "", "value":23000},
{"name":"Action 3", "type":4, "slug": "", "value":115000}, …Run Code Online (Sandbox Code Playgroud)