constructor (parent, chartGroup) {
        super();

        this._whiskerIqrFactor = 1.5;
        this._whiskersIqr = defaultWhiskersIQR;
        this._whiskers = this._whiskersIqr(this._whiskerIqrFactor);

        this._box = d3Box();
        this._tickFormat = null;
        this._renderDataPoints = false;
        this._dataOpacity = 0.3;
        this._dataWidthPortion = 0.8;
        this._showOutliers = true;
        this._boldOutlier = false;

        // Used in yAxisMin and yAxisMax to add padding in pixel coordinates
        // so the min and max data points/whiskers are within the chart
        this._yRangePadding = 8;

        this._boxWidth = (innerChartWidth, xUnits) => {
            if (this.isOrdinal()) {
                return this.x().bandwidth();
            } else {
                return innerChartWidth / (1 + this.boxPadding()) / xUnits;
            }
        };

        // default to ordinal
        this.x(scaleBand());
        this.xUnits(units.ordinal);

        // valueAccessor should return an array of values that can be coerced into numbers
        // or if data is overloaded for a static array of arrays, it should be `Number`.
        // Empty arrays are not included.
        this.data(group => group.all().map(d => {
            d.map = accessor => accessor.call(d, d);
            return d;
        }).filter(d => {
            const values = this.valueAccessor()(d);
            return values.length !== 0;
        }));

        this.boxPadding(0.8);
        this.outerPadding(0.5);

        this.anchor(parent, chartGroup);
    }
Create a Box Plot.

@example
// create a box plot under #chart-container1 element using the default global chart group
var boxPlot1 = new BoxPlot('#chart-container1');
// create a box plot under #chart-container2 element using chart group A
var boxPlot2 = new BoxPlot('#chart-container2', 'chartGroupA');
@param {String|node|d3.selection} parent - Any valid
{@link https://github.com/d3/d3-selection/blob/master/README.md#select d3 single selector} specifying
a dom block element such as a div; or a dom element or d3 selection.
@param {String} [chartGroup] - The name of the chart group this chart instance should be placed in.
Interaction with a chart will only trigger events and redraws within the chart's group.