5

我想将 xAxis 设置为 TIME 类型并格式化为 {hh:mm} ,例如 17:45。

在此演示中,配置​​有效:

xAxis: {
    type: "time",
},

value: [
    [now.getFullYear(), now.getMonth() + 1, now.getDate()].join('/'),
    Math.round(value)
]

但这失败了,这是在 Echarts 库中的演示:

xAxis: {
    type: "time",
},

value: [
    [now.getHours(), now.getMinutes()].join(":"),
    Math.round(value)
]

我试过了type: "value",还是不行。

4

3 回答 3

6

如上所述,您需要使用 xAxis.axisLabel.formatter。

这是你的例子。

// Horizontal axis
xAxis: [{
    type: 'time', 
    axisLabel: {
      formatter: (function(value){
        let label;
        if (value.getMinutes() < 10){ 
          label = value.getHours() + ":0" +value.getMinutes();
        }
        else {
          label = value.getHours() + ":" +value.getMinutes();
        }
        return label;
      })
    }
}],
于 2017-05-30T13:44:16.447 回答
4

使用xAxis.axisLabel.formatter. 这可以是格式化字符串或函数。

将此用作参考:https ://ecomfe.github.io/echarts-doc/public/en/option.html#xAxis.axisLabel.formatter

于 2016-12-14T12:09:07.240 回答
2

我让你的演示工作。我改变了value这样的:

value: [
    [now.getFullYear(), now.getMonth() + 1, now.getDate()].join('/') + 'T' +
    [now.getHours(), now.getMinutes()].join(':'),
    Math.round(value)
]

请看这个截图:

固定图像

于 2018-09-26T22:26:41.503 回答