在x轴的dateTime Highcharts最大间隔?(Highcharts max interv

2019-09-17 12:15发布

我有一个日K线图,跨跨越00:00到23:59。 但对于实时数据,让我们说目前是上午9时,默认情况下它会伸长00:00图 - 09:00,这看起来并不对我很好。 我要的是x轴最大值在当天的23点59分,所以它会显示09:00 - 23:59为空白。 我试图$graph["xAxis"]["max"] = (time()+86400)*1000 ,但没有用。 什么建议吗? 谢谢!

Answer 1:

Highcharts将只显示指定的最后一个数据点。 如果你想迫使它显示0900 - 23:59你将不得不通过它的所有数据点希望显示的那些时间, 但对于价值传递null。 这里有一个例子: 的jsfiddle例子 。

一旦数据点看一遍小时范围内它会自动格式化不同的DATATIME标签。 您可能希望通过控制数据标签的格式dateTimeLabelFormats 。



Answer 2:

(虽然这是一个老问题,我来这里是使用谷歌搜索,它在很大程度上仍然是在搜索结果的顶部,最大时间为highcharts x轴搜索时,所以我觉得这个评论仍然是有用的。)

该接受的答案可能是旧版本highcharts的事实,但在目前的版本(v3.0.7),您还可以设置xAxis.max属性到你想要的图形,结束对日期时间。 这应该是这样的,而且是IMO的方式清洁的解决方案:

$(function () {
    var chart = new Highcharts.Chart({
        chart: {
            renderTo: 'container'
        },
        xAxis: {
            type: 'datetime',
            max: Date.UTC(2010, 0, 2),
            dateTimeLabelFormats: {
                day: '%e of %b'   
            }
        },

        series: [{
            data: [29.9, 71.5, 106.4, 129.2, 144.0, 176.0, 135.6],
            pointStart: Date.UTC(2010, 0, 1),
            pointInterval: 1 * 3600 * 1000 // one hour
        }]
    });
});

见这个例子的jsfiddle 。



Answer 3:

正如在前面的回答说,在默认情况下,

Highcharts将只显示指定的最后一个数据点。

然而,正如你可以看到为最小值最大值设置默认的jsfiddle ,你必须同时指定除了MIN和MAX是endOnTick和startOnTick都是假的。 Moreoever,对日期时间类型的缺失数据处理的时候,你最好到序号为了让空间为空的数据设置为false。

这意味着,你的X轴应如下:

xAxis : {
    allowDecimals : false,
    endOnTick : false,
    max : /** Date in timestamp for the end the day */,
    min : /** Date in timestamp for the beginning the day */,
    ordinal : false,
    startOnTick : false,
    type : 'datetime'
},


文章来源: Highcharts max interval for dateTime in x-axis?