我开发了这个jquery插件。我注意到了一个问题 - 当我创建这个饼图的多个实例时 - 使用不同的参数 - 比如大小 - 这些选项全局覆盖。我该如何避免这种情况。
http://jsfiddle.net/Qh9X5/1319/
init : function(options) {
var clone = jQuery.extend(true, {}, options["data"]);
methods.el = this;
methods.setup(clone, options["width"], options["height"]);
},
setup: function(dataset, w, h){
this.width = w;
this.height = h;
this.radius = Math.min(this.width, this.height) / 2;
this.color = d3.scale.category20();
this.pie = d3.layout.pie()
.sort(null);
this.arc = d3.svg.arc()
.innerRadius(this.radius - 100)
.outerRadius(this.radius - 50);
this.svg = d3.select(methods.el["selector"]).append("svg")
.attr("width", this.width)
.attr("height", this.height)
.append("g")
.attr("class", "piechart")
.attr("transform", "translate(" + this.width / 2 + "," + this.height / 2 + ")");
//this.update(dataset[0].segments);
},