function resolveCollisions(nodesByBreadth, nodeGap, height) {
	        zrUtil.each(nodesByBreadth, function (nodes) {
	            var node;
	            var dy;
	            var y0 = 0;
	            var n = nodes.length;
	            var i;

	            nodes.sort(ascendingDepth);

	            for (i = 0; i < n; i++) {
	                node = nodes[i];
	                dy = y0 - node.getLayout().y;
	                if (dy > 0) {
	                    var nodeY = node.getLayout().y + dy;
	                    node.setLayout({y: nodeY}, true);
	                }
	                y0 = node.getLayout().y + node.getLayout().dy + nodeGap;
	            }

	            // if the bottommost node goes outside the bounds, push it back up
	            dy = y0 - nodeGap - height;
	            if (dy > 0) {
	                var nodeY = node.getLayout().y - dy;
	                node.setLayout({y: nodeY}, true);
	                y0 = node.getLayout().y;
	                for (i = n - 2; i >= 0; --i) {
	                    node = nodes[i];
	                    dy = node.getLayout().y + node.getLayout().dy + nodeGap - y0;
	                    if (dy > 0) {
	                        nodeY = node.getLayout().y - dy;
	                        node.setLayout({y: nodeY}, true);
	                    }
	                    y0 = node.getLayout().y;
	                }
	            }
	        });
	    }
@file Visual encoding for sankey view
@author  Deqing Li(annong035@gmail.com)