d3js/没有固定坐标的多边形

d3js/Polygon without fixed coordinates?

本文关键字:坐标 多边形 d3js      更新时间:2023-09-26

是否可以在d3js中创建SVG多边形,而无需对坐标进行硬编码?

据我所知,创建SVG多边形的最常见方法是像下面链接的示例中那样对坐标进行硬编码
处理多个多边形d3
http://www.w3.org/TR/SVG/shapes.html#PolygonElement

但我不想对坐标进行硬编码,因为我想使用力导向布局算法(在d3js中)来定义坐标,就像下面链接的示例中所做的那样
http://bl.ocks.org/mbostock/2706022

谢谢,
Erno Lindfors

请参阅以下答案:https://stackoverflow.com/a/13204818/1651713

它适用于部队布局,例如

var polygon = svg.selectAll('polygon')
  .data([nodes])
  .enter()
  .append('polygon')
  .style('fill', 'green');
force.on('tick', function() {
  polygon.attr('points',function(d){
    return d.map(function(d) {
      return [d.x,d.y].join(',');
    }).join(' ');
  });
});