getTimeSeriesAxis = (dataByDate, width, settings = null, locale = null) => {
        const firstDate = new Date(dataByDate[0].date);
        const lastDate = new Date(dataByDate[dataByDate.length - 1].date);
        const dateTimeSpan = lastDate - firstDate;

        if (locale && ((typeof Intl === 'undefined') || (typeof Intl === 'object' && !Intl.DateTimeFormat))) {
            locale = null;
        }

        if (!settings) {
            settings = getAxisSettingsFromTimeSpan(dateTimeSpan);
        }

        const [minor, major] = settings.split('-');
        const majorTickValue = settingsToMajorTickMap[settings];
        const minorTickValue = getMaxNumOfHorizontalTicks(width, convertMillisecondsToDays(dateTimeSpan));

        return {
            minor: {
                format: locale ? getLocaleDateFormatter(locale, minor) : formatMap[minor],
                tick: minorTickValue
            },
            major: {
                format: locale ? getLocaleDateFormatter(locale, major) : formatMap[major],
                tick: majorTickValue
            }
        };
    }
Returns tick object to be used when building the x axis
@param {dataByDate} dataByDate       Chart data ordered by Date
@param {Number} width                Chart width
@param {String} [settings=null]      Optional forced settings for axis
@param {String} [locale=null]        Optional forced locale
@return {object} tick settings for major and minr axis