compose (subChartArray) {
        this._children = subChartArray;
        this._children.forEach(child => {
            child.height(this.height());
            child.width(this.width());
            child.margins(this.margins());

            if (this._shareTitle) {
                child.title(this.title());
            }

            child.options(this._childOptions);
        });
        this.rescale();
        return this;
    }
Combine the given charts into one single composite coordinate grid chart.
@example
moveChart.compose([
    // when creating sub-chart you need to pass in the parent chart
    new LineChart(moveChart)
        .group(indexAvgByMonthGroup) // if group is missing then parent's group will be used
        .valueAccessor(function (d){return d.value.avg;})
        // most of the normal functions will continue to work in a composed chart
        .renderArea(true)
        .stack(monthlyMoveGroup, function (d){return d.value;})
        .title(function (d){
            var value = d.value.avg?d.value.avg:d.value;
            if(isNaN(value)) value = 0;
            return dateFormat(d.key) + '\n' + numberFormat(value);
        }),
    new BarChart(moveChart)
        .group(volumeByMonthGroup)
        .centerBar(true)
]);
@param {Array<Chart>} [subChartArray]
@returns {CompositeChart}