
    let cbounds: { start: number, end: number } = { start: Math.floor(x(domain.start)), end: Math.floor(x(domain.end)) };
    let retval = initialPreRenderedValues(cbounds);

    data.forEach((point: BigWigData): void => {
        let cxs: number = Math.floor(x(point.start < domain.start ? domain.start : point.start));
        let cxe: number = Math.floor(x(point.end > domain.end ? domain.end : point.end));
        if (point.value < retval[cxs].min) {
            retval[cxs].min = point.value;
        }
        if (point.value > retval[cxs].max) {
            retval[cxs].max = point.value;
        }
        for (let i: number = cxs + 1; i <= cxe; ++i) {
            retval[i].min = point.value;