【问题标题】:d3js/svg - Polygon without fixed coordinates?d3js/svg - 没有固定坐标的多边形?
【发布时间】:2015-03-26 10:31:32
【问题描述】:

是否可以在不硬编码坐标的情况下在 d3js 中创建 SVG 多边形形状?

据我了解,创建 SVG 多边形形状的最常见方法是硬编码坐标,如以下链接示例中所做的那样。
Process multiple polygons d3
http://www.w3.org/TR/SVG/shapes.html#PolygonElement

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

谢谢,
厄诺·林德福斯

【问题讨论】:

  • 您可以使用与您链接到的示例完全相同的方法。
  • 感谢您的评论!实际上我一直在使用bl.ocks.org/mbostock/2706022 中给出的示例。在这个例子中,他们使用的是圆形,但我想使用多边形。

标签: javascript svg d3.js


【解决方案1】:

看到这个答案: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(' ');
  });
});

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-07-05
    • 1970-01-01
    • 2013-03-15
    • 2017-02-23
    • 2017-11-04
    • 1970-01-01
    • 2019-12-27
    相关资源
    最近更新 更多