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

Jef*_*eff 115 javascript highcharts

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

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

在此输入图像描述

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

eol*_*son 250

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

  • 第二
  • 分钟
  • 小时

然后使用该单元查找轴标签的格式.默认模式是:

second: '%H:%M:%S',
minute: '%H:%M',
hour: '%H:%M',
day: '%e. %b',
week: '%e. %b',
month: '%b \'%y',
year: '%Y'
Run Code Online (Sandbox Code Playgroud)

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

  • %a:工作日很短,就像'周一'.
  • %A:工作日很长,就像'星期一'.
  • %d:每月两位数,01至31.
  • %e:每月的日期,1到31.
  • %b:短月,如'Jan'.
  • %B:长月,如'1月'.
  • %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

  • 通过阅读源代码找到,在这里检查dateFormat方法:[Utilities.js](https://github.com/highslide-software/highcharts.com/blob/master/js/parts/Utilities.js#L253) (20认同)
  • 可能是一个愚蠢的问题,但出于好奇...你在哪里找到其余的这些日期代码?该参考仅显示您包含的默认模式. (16认同)
  • 只是为了补充一点,当前缩放级别的默认模式还包括"毫秒"键. (2认同)
  • 非常感谢——文档中提到了“dateFormat”,但不清楚他们是希望你参考源文件中的方法还是文档中的其他地方。为我节省了很多时间:) (2认同)

Bhe*_*ung 31

从Highcharts API中检查此示例.

替换它

return Highcharts.dateFormat('%a %d %b', this.value);
Run Code Online (Sandbox Code Playgroud)

有了这个

return Highcharts.dateFormat('%a %d %b %H:%M:%S', this.value);
Run Code Online (Sandbox Code Playgroud)

看看这里dateFormat()功能.

另请参阅 - tickIntervalpointInterval


小智 18

你这样写 - :

xAxis: {
        type: 'datetime',
        dateTimeLabelFormats: {
           day: '%d %b %Y'    //ex- 01 Jan 2016
        }
}
Run Code Online (Sandbox Code Playgroud)

还检查其他日期时间格式

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