d3js/svg - 没有固定坐标的多边形?
d3js/svg - Polygon without fixed coordinates?
是否可以在不对坐标进行硬编码的情况下在 d3js 中创建 SVG 多边形形状?
据我所知,创建 SVG 多边形形状的最常见方法是对坐标进行硬编码,如以下链接示例中所做的那样。
Process multiple polygons d3
http://www.w3.org/TR/SVG/shapes.html#PolygonElement
但我不想对坐标进行硬编码,因为我想使用力导向布局算法(在 d3js 中)来定义坐标,就像在下面的链接示例中所做的那样。
http://bl.ocks.org/mbostock/2706022
谢谢,
埃尔诺·林德福斯
看到这个答案:
它适用于强制布局,例如
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(' ');
});
});
是否可以在不对坐标进行硬编码的情况下在 d3js 中创建 SVG 多边形形状?
据我所知,创建 SVG 多边形形状的最常见方法是对坐标进行硬编码,如以下链接示例中所做的那样。
Process multiple polygons d3
http://www.w3.org/TR/SVG/shapes.html#PolygonElement
但我不想对坐标进行硬编码,因为我想使用力导向布局算法(在 d3js 中)来定义坐标,就像在下面的链接示例中所做的那样。
http://bl.ocks.org/mbostock/2706022
谢谢,
埃尔诺·林德福斯
看到这个答案:
它适用于强制布局,例如
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(' ');
});
});