function buildXAxisScale() {
            let minX = d3Array.min(dataByTopic, ({dates}) => d3Array.min(dates, getDate)),
                maxX = d3Array.max(dataByTopic, ({dates}) => d3Array.max(dates, getDate));

            if(xAxisValueType === 'number') {
                if(xAxisScale === 'logarithmic') {
                    return d3Scale.scaleLog()
                        .domain([minX, maxX])
                        .rangeRound([0, chartWidth]);
                } else {
                    return d3Scale.scaleLinear()
                        .domain([minX, maxX])
                        .rangeRound([0, chartWidth]);
                }
            } else {
                return d3Scale.scaleTime()
                    .domain([minX, maxX])
                    .rangeRound([0, chartWidth]);
            }
        }
Creates the xScale depending on the settings of
xAxisValueType and xAxisScale
@private