code: function estimateRootSize(seriesModel, targetInfo, viewRoot, containerWidth, containerHeight) {
      // If targetInfo.node exists, we zoom to the node,
      // so estimate whold width and heigth by target node.
      var currNode = (targetInfo || {}).node;
      var defaultSize = [containerWidth, containerHeight];
  
      if (!currNode || currNode === viewRoot) {
          return defaultSize;
      }
  
      var parent;
      var viewArea = containerWidth * containerHeight;
      var area = viewArea * seriesModel.option.zoomToNodeRatio;
  
      while (parent = currNode.parentNode) { // jshint ignore:line
          var sum = 0;
          var siblings = parent.children;
  
          for (var i = 0, len = siblings.length; i < len; i++) {
              sum += siblings[i].getValue();
          }
          var currNodeValue = currNode.getValue();
          if (currNodeValue === 0) {
              return defaultSize;
          }
          area *= sum / currNodeValue;
  
          // Considering border, suppose aspect ratio is 1.
          var parentModel = parent.getModel();
          var borderWidth = parentModel.get(PATH_BORDER_WIDTH);
          var upperHeight = Math.max(borderWidth, getUpperLabelHeight(parentModel, borderWidth));
          area += 4 * borderWidth * borderWidth
              + (3 * borderWidth + upperHeight) * Math.pow(area, 0.5);
  
          area > MAX_SAFE_INTEGER && (area = MAX_SAFE_INTEGER);
  
          currNode = parent;
      }
  
      area < viewArea && (area = viewArea);
      var scale = Math.pow(area / viewArea, 0.5);
  
      return [containerWidth * scale, containerHeight * scale];
  }
docs: Return [containerWidth, containerHeight] as defualt.