【发布时间】:2021-11-18 22:31:48
【问题描述】:
我正在尝试实施本教程,但无法完成。 https://www.chartjs.org/docs/latest/axes/cartesian/time.html
输入:具有(时间,值)属性的对象列表。 Time 是 Integer,表示 unix 时间以秒为单位;值为浮点数。
教程说“日期适配器。时间刻度需要同时存在日期库和相应的适配器。请从可用的适配器中进行选择”。
日期库,date-fns:https://github.com/date-fns/date-fns
问题 1. 如何安装/包含 date-fns 库?文档说“npm”,但我认为它仅适用于 Node.js,但我有一个 Django 项目,Ubuntu。如果我只是下载 zip,里面有一堆文件。
适配器,chartjs-adapter-date-fns https://github.com/chartjs/chartjs-adapter-date-fns.
问题2.如何安装fns适配器?文档说“npm”,但我有一个 Django 项目,Ubuntu。但是,如果我包含<script src="https://cdn.jsdelivr.net/npm/chartjs-adapter-date-fns/dist/chartjs-adapter-date-fns.bundle.min.js"></script>,我觉得就足够了。
问题3.安装适配器和日期库后,如何修复下面的脚本以使情节正常(时间笛卡尔轴)?我认为这完全是关于更新行 point["x"] = elem.time; 以将 unix 时间转换为某种适当的类型。
HTML
<canvas id="myChart"></canvas>
JS
let points = [];
for(let elem of objs) {
point = {};
point["x"] = elem.time;
point["y"] = elem.value;
points.push(point);
}
var ctx = document.getElementById('myChart').getContext('2d');
var chart = new Chart(ctx, {
// The type of chart we want to create
type: 'line',
// The data for our dataset
data: points,
// Configuration options go here
options: {
responsive: false,
scales: {
x: {
type: 'time',
}
}
}
});
【问题讨论】:
标签: javascript html chart.js date-fns