从我发布这个问题开始,我已经对这个问题进行了一些编辑。这是新代码: 这是我的代码:
var elementTags = ["Google", 4, "Wikipedia", "Yahoo!", "Cindy"];
var _s32 = (Math.sqrt(3)/2);
var A = 75;
var _counter = 0;
var xDiff;
var yDiff;
var pointData = [[A+xDiff, 0+yDiff], [A/2+xDiff, (A*_s32)+yDiff], [-A/2+xDiff, (A*_s32)+yDiff], [-A+xDiff, 0+yDiff],
[-A/2+xDiff, -(A*_s32)+yDiff], [A/2+xDiff, -(A*_s32)+yDiff], [A+xDiff, 0+yDiff]];
var svgContainer = d3.select("body") //create container
.append("svg")
.attr("width", 1000)
.attr("height", 1000);
var enterElements = svgContainer.selectAll("path.area") //draw elements
.data([pointData]).enter().append("path")
.style("fill", "#ff0000")
.attr("d", d3.svg.area());
我想要做的是为每个elementTags
值创建一个新的六边形。每个新的六边形都应该有一个随机的 xDiff 和 yDiff,并且每次的值都_counter
应该增加 1。