vad*_*tam 6 html javascript chart.js date-fns
我正在尝试实施本教程,但无法完成。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 时间转换为某种适当的类型。
超文本标记语言
<canvas id="myChart"></canvas>
Run Code Online (Sandbox Code Playgroud)
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',
}
}
}
});
Run Code Online (Sandbox Code Playgroud)
安装所有 3 个必需的库确实可以使用脚本标签来完成,请参阅下面的实时示例。
您的数据未显示的原因是 Chart.js 不需要数据字段中的数据数组。在数据字段中,它期望一个对象至少有一个键,该对象datasets是一个数组和一个可选的标签数组,但由于您对数据使用对象格式,因此标签数组不是必需的。
每个数据集都有自己的图例标签,并且在数据集对象中,您可以在数据字段中配置数据数组。查看实例:
const options = {
type: 'line',
data: {
datasets: [{
label: '# of Votes',
data: [{
x: 1632664468243,
y: 5
}, {
x: 1632664458143,
y: 10
}],
borderColor: 'pink'
}]
},
options: {
scales: {
x: {
type: 'time'
}
}
}
}
const ctx = document.getElementById('tt').getContext('2d');
new Chart(ctx, options);Run Code Online (Sandbox Code Playgroud)
<canvas id="tt"></canvas>
<script src="https://cdnjs.cloudflare.com/ajax/libs/Chart.js/3.5.1/chart.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/date-fns/1.30.1/date_fns.js"></script>
<script src="https://cdn.jsdelivr.net/npm/chartjs-adapter-date-fns/dist/chartjs-adapter-date-fns.bundle.min.js"></script>Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
7468 次 |
| 最近记录: |