var DEFAULT_OPTIONS = { margin: {top: 0, right: 0, bottom: 0, left: 0} }; var chart = new d3Kit.Skeleton('.chart', DEFAULT_OPTIONS) .autoResize('both') .autoResizeToAspectRatio(3/2); var rect = chart.getRootG() .append('rect') .style('fill', '#fff'); var circle = chart.getRootG() .append('circle') .attr('fill', 'red'); chart.on('resize', function() { var width = chart.getInnerWidth(); var height = chart.getInnerHeight(); rect .transition() .duration(1000) .attr('width', width) .attr('height', height); circle .transition() .duration(1000) .attr('cx', width / 2) .attr('cy', height / 2) .attr('r', 3/5/2 * chart.height()); });