【问题标题】:Format X axis Label of Highcharts格式化Highcharts的X轴标签
【发布时间】:2019-07-13 19:09:14
【问题描述】:

我已经尽可能多地开发了 Highcharts 标签,但无法按要求格式化

https://jsfiddle.net/5ug4wpbz/1/

请告诉我如何格式化日期和时间,如随附的图片所示。

预期:

https://ibb.co/WV638L4

【问题讨论】:

  • 图片中有提示,你当前的代码在哪里?
  • @Core972 我在 jsfiddle 中添加了我的代码供您参考。请告诉我解决方案

标签: highcharts


【解决方案1】:

你不能同时使用categorydatetime轴类型,这是两个互斥的值。但是,您可以通过使用其中之一来获得想要的结果。

对于category 轴类型设置pointPlacement'between'xAxis.labels.align'left'

xAxis: {
    categories: [...],
    labels: {
        align: 'left'
    }
},
series: [{
    pointPlacement: 'between',
    data: [...]
}]

现场演示: https://jsfiddle.net/BlackLabel/fnsuxt90/


对于datetime轴类型,需要使用xy数据值或者设置pointStartpointInterval属性:

xAxis: {
    type: 'datetime'
},
series: [{
    pointStart: 1563040800,
    pointInterval: 1000 * 60 * 30,
    data: [...]
}]

现场演示: https://jsfiddle.net/BlackLabel/f1c59a0w/


API 参考:

https://api.highcharts.com/highcharts/series.line.label

https://api.highcharts.com/highcharts/series.line.pointPlacement

https://api.highcharts.com/highcharts/series.line.type


编辑:

要将标签分成两行,请将<br>标签插入labels.formatter函数中的字符串:

xAxis: {
    ...,
    labels: {
        formatter: function() {
            return this.value.split(' ').join('<br>')
        }
    }
}

现场演示: https://jsfiddle.net/BlackLabel/vgp46bhw/

【讨论】:

  • 感谢您的快速回答但我仍然认为我没有得到我的解决方案(如图所示)如果可能的话,日期必须在第一行,时间必须在第二行,请告诉我的解决方案
  • 嗨@Kishore Kumar,我已经编辑了我的答案,请检查结果。
  • 这是完美的解决方案。感谢您的帮助
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-03-28
  • 1970-01-01
  • 1970-01-01
  • 2015-12-26
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多