我有一个日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?