2014-07-07 64 views
4

我有一些Highcharts图表的问题。我想每天都用日期时间轴制作图表,但是Highcharts会在x轴上切断第一个日期标签,它应该从今天的日期开始,而不是从最初的日期开始。工具提示显示日期不错。是否有一些Highcharts设置,我错过了使它工作?我很感谢你的帮助。谢谢。Highcharts缺少xAxis上的第一个日期标签

代码:

var s = { 
     min: 0, 
     max: 50, 
     totalPoints: 12 
    }; 

function getRandomData() { 
    var data = [], 
     date = new Date().getTime(), 
     res = [], 
     numb; 

    for (var i = 0; i < s.totalPoints; i += 1) { 
     if (i > 0) date += 24 * 3600 * 1000; 
     numb = Math.floor(Math.random() * (s.max - s.min + 1) + s.min); 
     res.push([date, numb]); 
    } 


    return res; 
} 


$(function() { 
    var chart = new Highcharts.Chart({ 

     chart: { 
      renderTo: 'container', 
     }, 

     xAxis: { 
      type: 'datetime', 
      tickInterval: 24 * 3600 * 1000 
     }, 
     series: [{ 
      data: getRandomData() 
     }] 

    }); 
}); 

住在:jsfiddle

+0

将showFirstLabel和showLastLabel设置为true(http://api.highcharts.com/highcharts) –

回答

3

为了展示,同时具有您的蜱之间都在为datetime,您可以使用xAxis.startOnTickxAxis.endOnTick设置为true点第一个和最后一跳。

我以updated your JFiddle为例。

+0

但是,不应该那么,第一个系列标记与x轴上的第一个日期垂直对齐?像这里:http://jsfiddle.net/sgm46/?仍然,这不是我要找的 – covfefe

+1

你是说我的解决方案不是你要找的?不垂直对齐的原因是您使用的是日期时间,而您的积分时间不是00:00。这一点在两个日期之间,不完全是其中之一。如果您将每个积分的时间设置为00:00,那么您应该没问题。 –

+1

查看[日期对象的详细信息](http://www.w3schools.com/jsref/jsref_obj_date.asp),了解如何在日期对象上设置'setHours'(以及分钟,秒......)创造了它垂直对齐。另外,[更新的JFiddle](http://jsfiddle.net/29UMJ/2/)。 –