Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/blackberry/2.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
D3.js 将不同形状添加到d3 force布局_D3.js_Force Layout - Fatal编程技术网

D3.js 将不同形状添加到d3 force布局

D3.js 将不同形状添加到d3 force布局,d3.js,force-layout,D3.js,Force Layout,我试图添加不同的形状到我的d3部队布局,但没有成功。最终目标是根据节点对象本身的属性确定形状。我正在使用selection.enter()来添加形状,如下所示。因为强制定向布局只接受一个节点数组,而.append()接受字符串而不是函数 node = vis.selectAll('.node') .data(nodes, function(d) { return d.filename }); 然后 node.enter() .append(**'rect

我试图添加不同的形状到我的d3部队布局,但没有成功。最终目标是根据节点对象本身的属性确定形状。我正在使用selection.enter()来添加形状,如下所示。因为强制定向布局只接受一个节点数组,而.append()接受字符串而不是函数

node = vis.selectAll('.node')
    .data(nodes, function(d) {
        return d.filename
    });
然后

node.enter()
    .append(**'rect'**) //I need to vary this based on node properties
    .attr('class', function(d) { 
        return 'node ' + d.entityType;
        //return d.entityType;
    });

我不确定实现这一目标的最佳方式。提前感谢您的帮助。

我认为插入svg路径比插入矩形或圆形更容易。它非常灵活,你可以在力图中添加任何你能想到的形状

下面的代码绘制了一个星形。



只需记住使用带有小写字母的相对坐标(如上所述)来声明路径,而不是使用大写字母的绝对坐标。

看到了吗?我会检查一下。谢谢可能重复的
<svg>
    <path  d="
        m 100 100
        l 23 12
        l -4 -26
        l 19 -19
        l -27 -4
        l -11 -23
        l -12 23
        l -27 4
        l 19 19
        l -4 26
        l 24 -12
    "/>
</svg>