【发布时间】:2019-01-23 13:01:13
【问题描述】:
我正在尝试在 AmCharts 4 中制作一个简单的图表,其中所有时间都必须是 UTC,但是 DateAxis 和光标工具提示中显示的图表和时间都是错误的,尤其是在夏令时更改时(例如 2018 年 10 月 28 日)。
https://i.stack.imgur.com/yxddi.png
请注意,我的时区是布鲁塞尔,因此对您来说可能会有所不同。
我已经做了一个codepen来显示问题:https://codepen.io/Benjamin-Mampaey/pen/NoPLyd
var data = [
{'date': '2018-10-28T00:00:00Z', 'value': 0},
{'date': '2018-10-28T00:30:00Z', 'value': 0.5},
{'date': '2018-10-28T01:00:00Z', 'value': 1},
{'date': '2018-10-28T01:30:00Z', 'value': 1.5},
{'date': '2018-10-28T02:00:00Z', 'value': 2},
{'date': '2018-10-28T02:30:00Z', 'value': 2.5},
{'date': '2018-10-28T03:00:00Z', 'value': 3},
{'date': '2018-10-28T03:30:00Z', 'value': 3.5},
{'date': '2018-10-28T04:00:00Z', 'value': 4},
{'date': '2018-10-28T04:30:00Z', 'value': 4.5},
];
var config = {
"type": "XYChart",
"data": data,
"xAxes": [{
"type": "DateAxis",
"tooltipDateFormat": "i",
"dateFormats": {
"minute": "HH:mm:ss Z",
"hour": "HH:mm:ss Z",
},
"periodChangeDateFormats": {
"minute": "i",
"hour": "i",
},
"renderer": {
"labels": {
"rotation": 90,
"verticalCenter": "middle",
"horizontalCenter": "left"
}
},
}],
"yAxes": [{
"type": "ValueAxis",
"renderer": {
"minGridDistance": 10
},
}],
"series": [{
"type": "LineSeries",
"dataFields": {
"dateX": "date",
"valueY": "value"
},
"bullets":[{
"type": "CircleBullet",
}],
"tooltipText": "{dateX.formatDate('i')}\n{dateX.formatDate('HH:mm:ss Z')}",
}],
"dateFormatter": {
"inputDateFormat": "i",
},
"cursor": {
},
};
var chart = am4core.createFromConfig(config, "chartdiv");
我看到的问题是:
- 图表在夏令时出现奇怪的曲折。我希望该图是一条直线。
- 格式为“HH:mm:ss Z”的 DateAxis 标签不是 UTC 格式
- 系列工具提示文本的同上
在 AmCharts 3 中,只需要设置 AmCharts.useUTC = true 即可,但在 AmCharts 4 中,我不明白如何做同样的事情。我尝试在 dateFormatter 上设置“utc: true”,但它并没有改变任何东西。
【问题讨论】:
标签: javascript amcharts