static _getScaleMixins(data, props) {
    const filteredData = data.filter(d => d);
    const allData = [].concat(...filteredData);

    const defaultScaleProps = XYPlot._getDefaultScaleProps(props);
    const optionalScaleProps = getOptionalScaleProps(props);
    const userScaleProps = extractScalePropsFromProps(props, ATTRIBUTES);
    const missingScaleProps = getMissingScaleProps(
      {
        ...defaultScaleProps,
        ...optionalScaleProps,
        ...userScaleProps
      },
      allData,
      ATTRIBUTES
    );
    const children = getSeriesChildren(props.children);
    const zeroBaseProps = {};
    const adjustBy = new Set();
    const adjustWhat = new Set();
    children.forEach((child, index) => {
      if (!child || !data[index]) {
        return;
      }
      ATTRIBUTES.forEach(attr => {
        const {
          isDomainAdjustmentNeeded,
          zeroBaseValue
        } = child.type.getParentConfig(attr, child.props);
        if (isDomainAdjustmentNeeded) {
          adjustBy.add(attr);
          adjustWhat.add(index);
        }
        if (zeroBaseValue) {
          const specifiedDomain = props[`${attr}Domain`];
          zeroBaseProps[`${attr}BaseValue`] = specifiedDomain
            ? specifiedDomain[0]
            : 0;
        }
      });
    });
    return {
      ...defaultScaleProps,
      ...zeroBaseProps,
      ...userScaleProps,
      ...missingScaleProps,
      _allData: data,
      _adjustBy: Array.from(adjustBy),
      _adjustWhat: Array.from(adjustWhat),
      _stackBy: props.stackBy
    };
  }
Get the map of scales from the props, apply defaults to them and then pass
them further.
@param {Object} data Array of all data.
@param {Object} props Props of the component.
@returns {Object} Map of scale-related props.
@private