如何在x轴上获得高图日期?

时间:2011-08-18 01:38:37

标签: javascript highcharts

是否有标准方法在Highcharts的x轴上获取日期?无法在他们的文档中找到它:http://www.highcharts.com/ref/#xAxis--type

当我的时间范围足够大时,它会显示日期。但是,当时间范围不够大时,它只显示小时数,如下所示:

enter image description here

这不太理想......如果能够在这种情况下显示日期和时间,那就太棒了。谁知道怎么做?

3 个答案:

答案 0 :(得分:244)

Highcharts会自动尝试找到当前缩放范围的最佳格式。如果xAxis的类型为'datetime',则会执行此操作。接下来计算当前缩放的单位,它可以是以下之一:

  • 第二
  • 分钟
  • 小时

然后使用此单元查找轴标签的格式。默认模式为:

second: '%H:%M:%S',
minute: '%H:%M',
hour: '%H:%M',
day: '%e. %b',
week: '%e. %b',
month: '%b \'%y',
year: '%Y'

如果您希望这一天成为“小时”级别标签的一部分,则应更改该级别的dateTimeLabelFormats选项,包括%d%e。 这些是可用的模式:

  • %a:工作日很短,就像'周一'。
  • %A:工作日很长,就像'星期一'。
  • %d:每月两位数,01至31日。
  • %e:每月的日期,1到31日。
  • %b:短月,如'Jan'。
  • %B:很长一个月,就像'一月'。
  • %m:两位数的月份编号,01到12。
  • %y:两位数年份,如2009年的09年。
  • %Y:四位数年份,如2009年。
  • %H:24小时格式的两位数小时,00到23。
  • %I:12h格式的两位数小时,00到11。
  • %l(小写L):12小时格式,1到11小时。
  • %M:两位数分钟,00到59。
  • %p:大写AM或PM。
  • %P:小写AM或PM。
  • %S:两位数秒,00到59

http://api.highcharts.com/highcharts#xAxis.dateTimeLabelFormats

答案 1 :(得分:30)

从Highcharts API中查看sample

替换此

return Highcharts.dateFormat('%a %d %b', this.value);

有了这个

return Highcharts.dateFormat('%a %d %b %H:%M:%S', this.value);

查看有关dateFormat()功能的here

另见 - tickIntervalpointInterval

答案 2 :(得分:17)

你这样写 - :

xAxis: {
        type: 'datetime',
        dateTimeLabelFormats: {
           day: '%d %b %Y'    //ex- 01 Jan 2016
        }
}

还要检查其他日期时间格式

http://api.highcharts.com/highcharts#xAxis.dateTimeLabelFormats