constructor () {
        super();

        this.colors(scaleOrdinal(schemeCategory10));
        this._mandatoryAttributes().push('x');
        this._parent = undefined;
        this._g = undefined;
        this._chartBodyG = undefined;

        this._x = undefined;
        this._origX = undefined; // Will hold original scale in case of zoom
        this._xOriginalDomain = undefined;
        this._xAxis = null;
        this._xUnits = units.integers;
        this._xAxisPadding = 0;
        this._xAxisPaddingUnit = timeDay;
        this._xElasticity = false;
        this._xAxisLabel = undefined;
        this._xAxisLabelPadding = 0;
        this._lastXDomain = undefined;

        this._y = undefined;
        this._yAxis = null;
        this._yAxisPadding = 0;
        this._yElasticity = false;
        this._yAxisLabel = undefined;
        this._yAxisLabelPadding = 0;

        this._brush = brushX();

        this._gBrush = undefined;
        this._brushOn = true;
        this._parentBrushOn = false;
        this._round = undefined;
        this._ignoreBrushEvents = false; // ignore when carrying out programmatic brush operations

        this._renderHorizontalGridLine = false;
        this._renderVerticalGridLine = false;

        this._resizing = false;
        this._unitCount = undefined;

        this._zoomScale = [1, Infinity];
        this._zoomOutRestrict = true;

        this._zoom = zoom().on('zoom', d3compat.eventHandler((d, evt) => this._onZoom(evt)));
        this._nullZoom = zoom().on('zoom', null);
        this._hasBeenMouseZoomable = false;
        this._ignoreZoomEvents = false; // ignore when carrying out programmatic zoom operations

        this._rangeChart = undefined;
        this._focusChart = undefined;

        this._mouseZoomable = false;
        this._clipPadding = 0;

        this._fOuterRangeBandPadding = 0.5;
        this._fRangeBandPadding = 0;

        this._useRightYAxis = false;
        this._useTopXAxis = false;
    }
Coordinate Grid is an abstract base chart designed to support a number of coordinate grid based
concrete chart types, e.g. bar chart, line chart, and bubble chart.
@mixin CoordinateGridMixin
@mixes ColorMixin
@mixes MarginMixin