保持两个d3.js图之间的比率

时间:2016-04-21 16:02:38

标签: javascript d3.js responsive-design

我在可调整大小的容器上创建了一个图表(基于此块https://bl.ocks.org/mbostock/1667367)。问题是当我调整容器大小时,如果容器处于某个高度,则两个图形重叠。意思是保持两个图之间的比例和距离,无论容器的大小如何。有任何想法吗?

代码:http://pastebin.com/DJqYbe6G

1 个答案:

答案 0 :(得分:0)

钉了它。似乎AngularJS和D3之间的组合给访问svg元素带来了困难。通过访问父图形高度,我们可以保持他与子图形之间的比率:

var parentHeigtht = angular.element($elem[0])[0].parentNode.clientHeight;

var margin = {top: 20, right: 10, bottom: 220, left: 40},
margin2 = {top: parentHeigtht-150, right: 10, bottom: 60, left: 40},
width = ($elem[0].parentNode.clientWidth) - margin.left - margin.right,
height = ($elem[0].parentNode.clientHeight) - (margin.top) - (margin.bottom),
height2 = ($elem[0].parentNode.clientHeight) - (margin2.top) - (margin2.bottom);