如何在Chart.JS的数据点标签中设置日期格式?
我已经尝试过了:
this.chart = new Chart(ctx,
{
data: {
labels: timestamps
.map(t => t.toLocaleString([], { month: '2-digit', day: '2-digit', year: '2-digit', hour: '2-digit', minute: '2-digit' })),
datasets: [
{
data: measurements
},
//etc...
]}});
它可以工作,但是我收到Moment.JS警告消息:
弃用警告:提供的值不是公认的RFC2822或ISO格式...不建议使用非RFC2822 / ISO日期格式,并将在即将发布的主要版本中将其删除。
由于显然不鼓励使用我使用的方法,因此是否有适当的方法来格式化Chart.JS中数据标签的日期?
使用labels: timestamps
使用labels: timestamps.map(t => t.toLocaleString(...)
答案 0 :(得分:1)
通过检查Chart.js提供的a sample chart的源HTML文件,我找到了答案。
为了正确设置日期格式,必须将解析器和tooltipFormat属性添加到相关轴。要修正上面给出的示例:
this.chart = new Chart(ctx,
{
type: 'line',
data: {
labels: timestamps,
datasets: [
{
data: measurements,
}
]
},
options: {
scales: {
xAxis: [
display: true,
type: 'time'
time: {
parser: 'MM/DD/YYYY HH:mm',
tooltipFormat: 'll HH:mm',
unit: 'day',
unitStepSize: 1,
displayFormats: {
'day': 'MM/DD/YYYY'
}
}
],
yAxis: [
// etc...
],
}
}
}
);