Javascript Chart.js,根据日期绘制持续时间
我正在尝试创建一个图表,x轴上有日期(Javascript Chart.js,根据日期绘制持续时间,javascript,graph,chart.js,Javascript,Graph,Chart.js,我正在尝试创建一个图表,x轴上有日期(MMMM-DD,YYYY),y轴上有持续时间(h:mm:ss)。下面的代码支持日期(x),但不支持持续时间(y) 下面的示例说明了如何执行此操作。我假设代码中的y值'01:20'格式为'HH:mm' const数据=[ {x:'2009-04-11',y:'01:20'}, {x:'2009-05-02',y:'01:40'}, {x:'2009-05-18',y:'01:10'} ]; 新图表(document.getElementById('myCha
MMMM-DD,YYYY
),y轴上有持续时间(h:mm:ss
)。下面的代码支持日期(x),但不支持持续时间(y)
下面的示例说明了如何执行此操作。我假设代码中的
y
值'01:20'
格式为'HH:mm'
const数据=[
{x:'2009-04-11',y:'01:20'},
{x:'2009-05-02',y:'01:40'},
{x:'2009-05-18',y:'01:10'}
];
新图表(document.getElementById('myChart'){
键入:“行”,
数据:{
数据集:[{
标签:“我的数据集”,
data:data.map(o=>({x:o.x,y:moment.duration(o.y)}),
背景颜色:“rgba(255,99,132,0.2)”,
边框颜色:“rgba(255,99,132,1)”,
边框宽度:1
}]
},
选项:{
工具提示:{
回调:{
label:(tooltipItem,data)=>moment.utc(data.labels[tooltipItem.index]).format('HH:mm'))
}
},
比例:{
雅克斯:[{
滴答声:{
贝吉纳泽罗:是的,
步长:1_200_000,
callback:v=>moment.utc(v).format('HH:mm')
}
}],
xAxes:[{
键入:“时间”,
时间:{
单位:天,
显示格式:{
日期:年月日
}
}
}]
}
}
});代码>
var ctx = document.getElementById('myChart').getContext('2d');
var myChart = new Chart(ctx, {
type: 'line',
data: {
labels: [moment("2009-04-11").format('MMMM DD, YYYY')],
datasets: [{
data: [{
x: "2009-04-11",
y: "01:20"
}],
backgroundColor: [
'rgba(255, 99, 132, 0.2)',
],
borderColor: [
'rgba(255, 99, 132, 1)',
],
borderWidth: 1
}]
},
options: {
scales: {
yAxes: [{
type: 'time',
time: {
unit: 'minute'
}
}]
}
}
});