d3.layout.randomspread = function(){ "use strict"; var exports = {}; var d3 = window.d3; var pts = []; var width = 100, height = 100, offsetX = 0, offsetY = 0; function randomspread(data) { return randomspread.points(data); } randomspread.points = function(data) { if (!arguments.length) return pts; var qty = data.length; var sx = d3.scale.linear().range([0, width]); var sy = d3.scale.linear().range([0, height]); var i = -1; while (++i < qty) { var d = data[i]; // if not object, make it so d.x = sx(Math.random()) + offsetX; d.y = sy(Math.random()) + offsetY; d.transform = "translate(" + d.x + " " + d.y + ")"; data[i] = d; } return data; }; randomspread.width = function(number) { if (!arguments.length) return width; width = number; return randomspread; }; randomspread.height = function(number) { if (!arguments.length) return height; height = number; return randomspread; }; randomspread.offsetX = function(number) { if (!arguments.length) return offsetX; offsetX = number; return randomspread; }; randomspread.offsetY = function(number) { if (!arguments.length) return offsetY; offsetY = number; return randomspread; }; // transform: function(d) { return "translate(" + d.x + " " + d.y + ") rotate(" + d.r + ")"; } // --------------------- // Public Interface // --------------------- return randomspread; };