我正在学习如何使用图表.js并且我想要一个图表,该图形以格式为“h?h:mm”在一天中的不同时间(x轴)显示随机值。
在 x 轴中,我想要一个小时的固定步骤,从上午 12 点 (0:00) 开始,到上午 8 点(8:00)结束。
和数据,例如(x=4:45,y=67)在te对应的x刻度(4:00和5:00之间的3/4)
我尝试了以下方法:
var cfg = {
type: 'line',
data: {
labels: ['00:00', '01:35', '02:20', '03:05', '04:07', '04:57', '05:25', '06:08', '07:10'],
datasets: [{
data: [
randomScalingFactor(18, 45),
randomScalingFactor(18, 45),
randomScalingFactor(18, 45),
randomScalingFactor(18, 45),
randomScalingFactor(18, 45),
randomScalingFactor(18, 45),
randomScalingFactor(18, 45),
randomScalingFactor(18, 45),
randomScalingFactor(18, 45)
],
label: "Improved ETA",
borderColor: "#e67e22",
borderWidth: 2,
fill: false,
lineTension: 0
}]
},
options: {
responsive: true,
maintainAspectRatio: false,
title: {
display: true,
text: 'Improved ETA',
fontSize: 14,
fontFamily: 'Arial',
fontColor: '#000'
},
legend: {
display: false
},
scales: {
xAxes: [{
ticks: {
padding: 12
},
gridLines: {
color: 'rgba(0, 0, 0, 0.06)',
zeroLineColor: 'rgba(0, 0, 0, 0.06)',
drawTicks: false
}
}],
yAxes: [{
ticks: {
suggestedMin: 0,
suggestedMax: 80,
padding: 12
},
scaleLabel: {
display: true,
labelString: 'mins'
},
gridLines: {
color: 'rgba(0, 0, 0, 0.06)',
zeroLineColor: 'rgba(0, 0, 0, 0.06)',
drawTicks: false
}
}]
}
}
};
window.onload = function() {
var ctx = document.getElementById('foo').getContext('2d');
window.myLine = new Chart(ctx, cfg);
};
<div style="width: 600px; height: 400px;">
<canvas id="foo"></canvas>
</div>
但这不是我想要的,因为 X 轴刻度线取标签的值(x 数据)。更糟糕的是,价格变动之间的空间总是相同的(例如,从10:30到10:40,与8:00到9:00的空间相同)。
PD:我也读过关于使用这个时刻的文章。js图表。js包,因为时间图:https://www.chartjs.org/samples/latest/scales/time/line.html
首先,您应该省略<code>标签和一个<code>y
data: [
{ t: '4:45', y: 67 },
{ t: '6:12', y: 45 },
{ t: '7:33', y: 56 },
],
对于上述数据,必须按如下方式定义 xAxes.time
选项:
time: {
parser: 'H:mm',
unit: 'hour',
stepSize: 1,
displayFormats: {
hour: 'H:mm'
},
tooltipFormat: 'H:mm'
},
此外,您还可以定义<code>xAxis。勾选选项,如下所示:
ticks: {
min: '0:00',
max: '8:00'
}
正如你已经注意到的,图表。js内部使用了这个时刻。js的时间轴功能。因此,您应该使用图表的捆绑版本。js,包括力矩。js在一个文件中。
请看看下面的可运行代码,看看它是如何工作的。
new Chart('myChart', {
type: 'line',
data: {
datasets: [{
label: 'My Dataset',
data: [
{ t: '4:45', y: 67 },
{ t: '6:12', y: 45 },
{ t: '7:33', y: 56 },
],
borderColor: 'blue',
fill: 'false',
}]
},
options: {
scales: {
yAxes: [{
ticks: {
beginAtZero: true
}
}],
xAxes: [{
type: 'time',
time: {
parser: 'H:mm',
unit: 'hour',
stepSize: 1,
displayFormats: {
hour: 'H:mm'
},
tooltipFormat: 'H:mm'
},
ticks: {
min: '0:00',
max: '8:00'
}
}]
}
}
});
html prettyprint-override"><script src="https://cdnjs.cloudflare.com/ajax/libs/Chart.js/2.9.4/Chart.bundle.min.js"></script>
<canvas id="myChart" height="90"></canvas>
Highcharts 曲线图 以下实例演示了时间间隔图表。 我们在前面的章节已经了解了 Highcharts 配置语法。接下来让我们来看下如何配置。 实例 文件名:highcharts_spline_time.htm <html> <head> <meta charset="UTF-8" /> <title>Highcharts 教程</title> <script src="http://ap
时间视图中,在时间和日期旁可找到以下图标。 飞行模式已开启。您的移动电话及配件的所有无线连接已断开。 请勿打扰模式已开启。显示屏不会因手腕运动而亮起,且您将不会收到智能通知。 振动闹铃已设置。您可以在 Flow 应用程式中设置闹铃。 已配对手机已断开连接,并启用智能通知。按住侧边按钮,重新连接。
Highcharts 曲线图 以下实例演示了基于时间的曲线图表。 我们在前面的章节已经了解了 Highcharts 配置语法。接下来让我们来看个完整实例: 配置 图表 配置可缩放图表。 chart.zoomType 指定了用户可以拖放的尺寸,用户可以通过拖动鼠标来放大,可能值是x,y或xy: var chart = { zoomType: 'x' }; plotOptions 使用 pl
我想创建一个chart.js折线图,y轴为数值,x轴为日期。然而,当我填充图表时,x轴上充满了不应该包含的刻度(您可以看到我的数据被移动到最右边)。当我登录< code>chart.data.labels时,一切似乎都是正确的;这是输出:< code> Array(3) ["10/23/2020,12:00:00 AM "," 10/27/2020,12:00:00 AM "," 10/28/20
时间和空间最大的区别在于,时间不能被复用 -- 弗斯特梅里克 在上面两章中,我们探讨了可以用CAAnimation和它的子类实现的多种图层动画。动画的发生是需要持续一段时间的,所以计时对整个概念来说至关重要。在这一章中,我们来看看CAMediaTiming,看看Core Animation是如何跟踪时间的。
Chart.js (v2.7.2) 似乎会为使用时间刻度的轴动态呈现折线图轴标签。这在更新数据集后使用 方法时会产生一个独特的问题。 启动一个以方法结尾的跟踪: 因为我中没有元素 - 每个数据集都有自己的标签,并且时间刻度标签是自动生成的 - 上面的代码有效地阻止了我在时间缩放图表上使用。 我尝试了结合使用< code > destroy()/< code > clear()和< code>ren