我是Chart.js的初学者,我试图绘制以下数据:
const purchaseData = [
{ name: 'Item A', value: 120, timestamp: '2013-03-15T09:30:00Z' },
{ name: 'Item B', value: 85, timestamp: '2014-05-20T14:45:00Z' },
{ name: 'Item C', value: 200, timestamp: '2015-08-10T11:00:00Z' },
// ... more data ...
{ name: 'Item X', value: 75, timestamp: '2016-01-05T16:20:00Z' }
];
const ctx = document.getElementById('myChart').getContext('2d'); // defined in the HTML code, not shown here
const chart = new Chart(ctx, {
type: 'line',
data: purchaseData.map(item => ({ x: new Date(item.timestamp), y: item.value })),
options: {
scales: {
x: {
type: 'time',
time: {
unit: 'month'
}
}
}
}
});
我的数据是在不规则的时间间隔内获得的。我想将它们显示为一条线,其中x轴代表时间(例如,从2013-01到2016-12),y轴显示购买的价值。
什么样的例子能让这一点发挥作用?
遗憾的是,我在互联网上没有找到任何(工作)的例子。
1条答案
按热度按时间ars1skjm1#
要在X轴上显示时间,您需要一个日期库和相应的适配器
下面是一个同时使用luxon.js和chartjs-adapter-luxon的示例
PS:你也可以使用Epoch和Unix时间戳作为x值,单位为毫秒