diff --git a/js/lib/d3.dimensions.js b/js/lib/d3.dimensions.js index d54a05e25..eef257401 100644 --- a/js/lib/d3.dimensions.js +++ b/js/lib/d3.dimensions.js @@ -3,8 +3,15 @@ d3.selection.prototype.dimensions = function (dimensions) { var node = this.node(); if (!node) return; - var cr = node.getBoundingClientRect(); - return [cr.width, cr.height]; + var prop = this.property('__dimensions__'); + if (!prop) { + var cr = node.getBoundingClientRect(); + prop = [cr.width, cr.height]; + this.property('__dimensions__', prop); + } + return prop; } + + this.property('__dimensions__', [dimensions[0], dimensions[1]]); return this.attr({width: dimensions[0], height: dimensions[1]}); };