x轴的高原粒度

时间:2016-06-17 20:37:47

标签: javascript highcharts highstock

我的高压图表在x轴标签上窒息一旦我下降的时间超过大约1天 - 也就是说,数据呈现正确但x轴(时间)标签似乎没有更新,并成为当我放大直到它们完全消失时更加稀疏。 (见图片)

这是一个较大时间间隔的小提琴,标签按预期显示:http://jsfiddle.net/uhpn8Ljp/2/

这是一个较小间隔的小提琴,它们不会显示:http://jsfiddle.net/4r39730h/1/

收到数据后,我将此作为我的数据设置:

return {
    chart: {
        type: 'areaspline',
        zoomType: 'x',
    },
    credits: {
        enabled: false,
    },
    navigator: {
        adaptToUpdatedData: false,
        series: {
            data: masterSeriesDateValues || dateValues,
        },
        yAxis: {
            gridLineWidth: 0,
            startOnTick: false,
            endOnTick: false,
            minPadding: 0.1,
            maxPadding: 0.1,
            labels: {
                enabled: false,
            },
            title: {
                text: null,
            },
            tickWidth: 0,
            min: 0,
        },
    },

    rangeSelector: {
        enabled: true,
        inputBoxStyle: { right: '65px', position: 'absolute' },
        buttons: [{
            type: 'second',
            count: 1,
            text: '1s',
        }, {
            type: 'minute',
            count: 1,
            text: '1min',
        }, {
            type: 'hour',
            count: 1,
            text: '1h',
        }, {
            type: 'day',
            count: 1,
            text: '1d',
        }, {
            type: 'month',
            count: 1,
            text: '1m',
        }, {
            type: 'year',
            count: 1,
            text: '1y',
        }, {
            type: 'all',
            text: 'All',
        }],
        selected: rangeSelectorIndex,
        inputDateFormat: dateFormat,
        inputEditDateFormat: dateFormat,
        inputBoxWidth: 170,
    },

    exporting: {
        enabled: false,
    },

    xAxis: {
        min: xAxisStart,
        max: xAxisEnd,
        minRange: 1, // one millisecond
    },

    yAxis: {
        min: 0,
    },

    tooltip: {
        formatter: function () {
            return `${this.points[0].series.name} : ${(display === 'count' ? this.y : formatBytes(this.y))}`;
        },
    },

    series: [{
        id: 'itemSize',
        name: display === 'count' ? 'Count of Items' : 'Size of Items',
        data: dateValues,
        dataGrouping: {
            enabled: false,
        },
    }],
};

我还在渲染上添加了一些事件和标签:

xAxis.events = {
    afterSetExtremes: this.afterSetExtremes.bind(this),
};
chart.events = { selection: function (ev) {
    that.handleRangeSelection.call(this, ev, that);
} };
chartConfig.tooltip = {
    formatter: function () {
        let label;
        if (display === 'count') {
            label = this.points[0].series.name + ': ' + this.y;
        } else {
            label = this.points[0].series.name + ': ' + formatBytes(this.y);
        }
        return label;
    },
};

在应用程序的先前实现中,我看到间隔越来越小,毫秒级,我只是复制并粘贴了配置,所以我不明白可能会有什么不同。

At approximately 24-hour zoom

2 hour zoom under 1 second zoom

0 个答案:

没有答案