initialize(el, width, height, origin, scaleFactor) {
      // create the svg definitions cache
      this._defs = {};
      this._clearDefs();
      if (el) {
        this._svg = domChild(el, 0, 'svg', svgns);
        this._svg.setAttributeNS(xmlns, 'xmlns', svgns);
        this._svg.setAttributeNS(xmlns, 'xmlns:xlink', metadata['xmlns:xlink']);
        this._svg.setAttribute('version', metadata['version']);
        this._svg.setAttribute('class', 'marks');
        domClear(el, 1);

        // set the svg root group
        this._root = domChild(this._svg, RootIndex, 'g', svgns);
        setAttributes(this._root, rootAttributes);

        // ensure no additional child elements
        domClear(this._svg, RootIndex + 1);
      }

      // set background color if defined
      this.background(this._bgcolor);
      return super.initialize(el, width, height, origin, scaleFactor);
    }
Initialize a new SVGRenderer instance.
@param {DOMElement} el - The containing DOM element for the display.
@param {number} width - The coordinate width of the display, in pixels.
@param {number} height - The coordinate height of the display, in pixels.
@param {Array<number>} origin - The origin of the display, in pixels.
  The coordinate system will be translated to this point.
@param {number} [scaleFactor=1] - Optional scaleFactor by which to multiply
  the width and height to determine the final pixel size.
@return {SVGRenderer} - This renderer instance.