src/component/graphic.js
function (graphicModel, api) {
        var elOptions = graphicModel.option.elements;
        var rootGroup = this.group;
        var elMap = this._elMap;

        // Bottom-up tranvese all elements (consider ec resize) to locate elements.
        for (var i = elOptions.length - 1; i >= 0; i--) {
            var elOption = elOptions[i];
            var el = elMap.get(elOption.id);

            if (!el) {
                continue;
            }

            var parentEl = el.parent;
            var containerInfo = parentEl === rootGroup
                ? {
                    width: api.getWidth(),
                    height: api.getHeight()
                }
                : { // Like 'position:absolut' in css, default 0.
                    width: parentEl.__ecGraphicWidth || 0,
                    height: parentEl.__ecGraphicHeight || 0
                };

            layoutUtil.positionElement(
                el, elOption, containerInfo, null,
                {hv: elOption.hv, boundingMode: elOption.bounding}
            );
        }
    }
function (graphicModel, api) {
        var elOptions = graphicModel.option.elements;
        var rootGroup = this.group;
        var elMap = this._elMap;

        // Bottom-up tranvese all elements (consider ec resize) to locate elements.
        for (var i = elOptions.length - 1; i >= 0; i--) {
            var elOption = elOptions[i];
            var el = elMap.get(elOption.id);

            if (!el) {
                continue;
            }

            var parentEl = el.parent;
            var containerInfo = parentEl === rootGroup
                ? {
                    width: api.getWidth(),
                    height: api.getHeight()
                }
                : { // Like 'position:absolut' in css, default 0.
                    width: parentEl.__ecGraphicWidth || 0,
                    height: parentEl.__ecGraphicHeight || 0
                };

            layoutUtil.positionElement(
                el, elOption, containerInfo, null,
                {hv: elOption.hv, boundingMode: elOption.bounding}
            );
        }
    }
function ( graphicModel , api ) { var elOptions = graphicModel . option . elements ; var rootGroup = this . group ; var elMap = this . _elMap ; // Bottom-up tranvese all elements (consider ec resize) to locate elements. for ( var i = elOptions . length - 1 ; i >= 0 ; i -- ) { var elOption = elOptions [ i ] ; var el = elMap . get ( elOption . id ) ; if ( ! el ) { continue ; } var parentEl = el . parent ; var containerInfo = parentEl === rootGroup ? { width : api . getWidth ( ) , height : api . getHeight ( ) } : { // Like 'position:absolut' in css, default 0. width : parentEl . __ecGraphicWidth || 0 , height : parentEl . __ecGraphicHeight || 0 } ; layoutUtil . positionElement ( el , elOption , containerInfo , null , { hv : elOption . hv , boundingMode : elOption . bounding } ) ; } }
Locate graphic elements.

@private
@param {Object} graphicModel graphic model
@param {module:echarts/ExtensionAPI} api extension API
Locate graphic elements .