首页 > 解决方案 > Highcharts:如何在 xaxis 上只显示天数?

问题描述

我正在使用 highstock 来显示我的数据。xaxis 上的刻度必须仅显示一周范围时间的天数。我在这个例子中面临的问题(见小提琴)是第一个刻度显示小时,我只想在 xaxis 中显示天而不显示小时,有什么办法可以实现吗?我将 startOnTick 属性设置为 true

xAxis: {
   startOnTick: true,
}

所以现在图表从一天开始,但第一个刻度仍然是一个小时值有没有办法将第一个刻度移动到图表原点 (0,0) 坐标?

标签: highcharts

解决方案


以毫秒为单位设置格式是不够的。在 API 中,我们可以阅读:

对于日期时间轴,比例将自动调整为适当的单位。该成员给出了用于每个单元的默认字符串表示。对于中间值,可以使用不同的单位,例如,日单位可以用于午夜,小时单位可以用于同一轴上的中间值。

您需要定义dateTimeLabelFormats更多单位或使用formatter标签功能。

xAxis: {
  ...,
  dateTimeLabelFormats: {
    millisecond: '%b %e',
    second: '%b %e',
    minute: '%b %e',
    hour: '%b %e',
    day: '%b %e',
    week: '%b %e',
    month: '%b %e',
    year: '%b %e'
  }
}

现场演示: https ://jsfiddle.net/BlackLabel/5r1v8tLo/

API参考:

https://api.highcharts.com/highcharts/xAxis.dateTimeLabelFormats

https://api.highcharts.com/highcharts/xAxis.labels.formatter


推荐阅读