有x轴上的时间显示最近24小时从当前时间
Have the time on x axes to show the last 24 hours from current time
我试图创建一个气泡图,显示我的数据过去24小时。我为我的X轴使用了一个时间尺度。我遇到的问题是,当绘制图表时,它假设午夜之前的时间为同一天,并从那里开始绘制图表,并绘制应该在隔天象限之外的点。
这些是我的标签
["15:46", "16:46", "17:46", "18:46", "19:46", "20:46", "21:46", "22:46", "23:46", "00:45", "01:45", "02:45", "03:45", "04:45", "05:45", "06:45", "07:45", "08:45", "09:45", "10:45", "11:45", "12:45", "13:45"];
这里15:46是昨天的时间,00:45是今天的时间。所以当我从我的数据中绘制点时,它应该从15:46开始绘制数据,直到第二天13:45。但它做不到。我甚至试着给消极的时间,但它也不起作用。
是部分代码。其余部分在JSFiddle
中 var graph = document.getElementById('graph1');
var myChart = new Chart(graph, {
type: 'bubble',
data: {
labels: labels,
datasets: [
{
// pending
label: 'Pending',
data: pendingBubbles,
backgroundColor: 'rgba(255, 90, 94, 0.6)',
hoverBackgroundColor: 'rgba(255, 90, 94, 1)',
borderColor: 'rgba(255,99,132,1)',
fillColor: "rgba(220,220,220,0.0)",
strokeColor: "rgba(220,220,220,0)",
pointColor: "rgba(220,220,220,0)",
pointStrokeColor: "#fff",
pointHighlightFill: "#fff",
pointHighlightStroke: "rgba(220,220,220,1)",
borderWidth: 1,
//fill: false,
multiTooltipTemplate: "<%=datasetLabel%> : <%= value %><%= Chart.mySymbols[window.data.labels.indexOf(label)] %>"
}, {
// completed
label: 'Completed',
data: completedBubbles,
backgroundColor: 'rgba(102, 182, 57, 0.6)',
hoverBackgroundColor: 'rgba(102, 182, 57, 1)',
borderColor: 'rgba(102, 182, 57,1)',
fillColor: "rgba(102,182,57,0.0)",
strokeColor: "rgba(102,182,57,0)",
pointColor: "rgba(102,182,57,0)",
pointStrokeColor: "#fff",
pointHighlightFill: "#fff",
pointHighlightStroke: "rgba(102,182,57,1)",
borderWidth: 1,
//fill: false,
multiTooltipTemplate: "<%=datasetLabel%> : <%= value %><%= Chart.CompletedTransactionID[1].TransactionID %>"
}
]
},
options: {
///Boolean - Whether grid lines are shown across the chart
scaleShowGridLines: true,
//Boolean - Whether to show vertical lines (except Y axis)
scaleShowVerticalLines: true,
showTooltips: true,
scales: {
xAxes: [{
type: 'time',
time: {
format: "HH:mm",
unit: 'hour',
unitStepSize: 1,
displayFormats: {
'minute': 'HH:mm',
'hour': 'HH:mm'
},
min: labels[0],
max: labels[labels[length - 1]]
}
}]
}
}
});
这里有一个JSFiddle。请告诉我是否可以修复。
您在'max'配置中添加了错误的值。改为
max: labels[labels.length - 1]
除非你的数据是一个新的Date()格式的数组,Chartjs不能解释数据来创建间隔或设置最小和最大。我也有同样的问题。我能够修复的唯一方法是在time之前添加new Date()。如果您没有日期,并且它是过去24小时的数据,请通过添加当前日期和昨天日期来准备数据数组。
相关文章:
- 24小时输入时间:mm格式跨浏览器
- 将时间格式更改为24小时格式
- 如何将24小时的日期时间格式转换为12小时的格式
- 如何在添加时间值时始终恢复到最长24小时
- 在 javascript 中将 24 小时时间转换为 12 小时,运行秒数
- 如何在 Jquery 或 JavaScript 中验证 24 小时格式化的时间
- 将时间字符串(例如上午 9:00)转换为 24 小时 (0900)
- 24小时时钟中的时间轴
- jQuery 掩码插件中的时间验证 24 小时格式
- 如何在 24 小时制下计算两个时间之间的时差
- 在指定时间中添加 24 小时后在网页上显示时间 x
- 在 Javascript 中以 24 小时时间格式计算时间差异
- 如何计算 24 小时格式的两个时间之间的差异
- 将滑块的 24 小时时间格式转换为 12 小时
- JavaScript 格式化时间 24 小时格式为 12 小时
- jQuery - 检查当前日期和时间是否在所选日期和时间的 24 小时内
- 此插件是否有 24 小时时间格式
- 使用 javascript 检测用户的机器使用的是 12 小时制(上午/下午)还是 24 小时制(军事时间)
- Momentjs 抓取今天的日期并设置时间会导致它快进 24 小时
- JavaScript ISO8601 3.5.2 时间(24 小时)数据类型与日历断开连接