【发布时间】:2021-05-06 22:30:09
【问题描述】:
所以我基本上是在扯头发,因为我无法让它连续工作几个小时。
我正在尝试在 x 轴上以小时为单位的时间和 y 轴上的视图数上做一个(我假设是简单的)折线图。我正在尝试将 x 轴范围设置为 -24 小时到现在。
我的代码如下。我做错了什么?
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/Chart.js/2.7.3/Chart.bundle.min.js"></script>
<div style="width: 500px; height: 500px;"><canvas id="myChart" width="400" height="400"></canvas></div>
<script>
var ctx = document.getElementById('myChart');
var myChart = new Chart(ctx, {
type: 'line',
data: {
labels: [],
datasets: [{
label: '# of Votes',
data: [{x:'1619701200',y:41},{x:'1619704800',y:9},{x:'1619708400',y:21}]
}]
},
options: {
scales: {
x: {
type: 'time',
min: Date.now() - (24 * 60 * 60 * 1000),
max: Date.now()
}
}
}
});
</script>
编辑:问题是 x 轴没有延伸到 now() 之前的 24 小时。此外,数据集中有 3 个值,但只显示了两个。您甚至可以将 x 值编辑为您想要的任何值,并且整个图表保持不变。
EDIT2:
有人可以帮我解决这个问题吗?我在下面粘贴了我的数据: 我想要达到的目标:
- X 轴从现在到 24 小时前,刻度之间的间隔为 1 小时,格式为“d-m-Y H:00:00”。现在的数据是自纪元以来的秒数,如果我需要更改,请告诉我!
- Y 轴从 0 到数据集中的最大值
- 我必须包含哪些 CDN?我发现关于 chart.js、时刻、适配器等的文档非常不清楚,我在互联网上找到的所有内容都是针对以前版本的。
谢谢!!
<div style="width: 500px; height: 500px;"><canvas id="myChart" width="400" height="400"></canvas></div>
<script>
new Chart(document.getElementById("myChart"), {
type: 'line',
data: {
labels: ['1619701200','1619704800','1619708400','1619715600','1619719200','1619722800','1619726400','1619730000','1619733600','1619737200','1619744400','1619773200','1619780400','1619784000','1619787600','1619791200','1619794800','1619798400','1619802000','1619809200','1619812800','1619816400','1619820000','1619823600','1619856000'],
datasets: [{
data: [41,9,21,80,277,151,68,88,82,48,12,1,97,36,81,21,63,49,44,15,10,44,81,4,9],
label: "Views",
borderColor: "#3e95cd",
fill: false
},
{
data: [1,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,4,1,1],
label: "Visitors",
borderColor: "#3e95cd",
fill: false
}
]
}
</script>
【问题讨论】:
-
我将您的代码复制/粘贴到jsfiddle.net 以创建minimal reproducible example,我没有看到任何错误-see,您能edit 提出您的问题并解释您面临的问题吗?想要的结果?
标签: chart.js