Highcharts,如何在任意时间启动xAxis
我有一张带有日期时间X轴的折线图。我需要每10分钟显示一次滴答声,因为我已将滴答声间隔设置为10*60*1000,我的问题是,从第一次约会开始,我需要每10分钟显示一次滴答声,例如,如果我的第一个点显示在10:33,我需要在10:33、10:43、10:53等时间显示滴答声,但我拥有的是10:30、10:40、10:50等时间的滴答声,有没有办法做到这一点Highcharts,如何在任意时间启动xAxis,highcharts,Highcharts,我有一张带有日期时间X轴的折线图。我需要每10分钟显示一次滴答声,因为我已将滴答声间隔设置为10*60*1000,我的问题是,从第一次约会开始,我需要每10分钟显示一次滴答声,例如,如果我的第一个点显示在10:33,我需要在10:33、10:43、10:53等时间显示滴答声,但我拥有的是10:30、10:40、10:50等时间的滴答声,有没有办法做到这一点 谢谢 这并不简单,因为Highcharts会自动确定x轴类型为“datetime”时要使用的标签: “” 要设置像“10:33”这样的标签,
谢谢 这并不简单,因为Highcharts会自动确定x轴类型为“datetime”时要使用的标签: “” 要设置像“10:33”这样的标签,您需要创建自己的类别。幸运的是,这些可以简单地从您的数据和所需的时间间隔中导出 下面是一个工作示例: 我们只需获取给定的开始日期、间隔和点数,然后构建一个类别数组,用作x轴标签
function getTimes(numTimes, interval) {
var ms = (new Date(2012, 02, 30, 10, 33)).getTime();
var times = [];
var startDate = new Date(ms);
times.push(startDate.getHours() + ":" + startDate.getMinutes());
for (var i = 1; i< numTimes; i++)
{
ms += interval;
var nextTime = (new Date()).setTime(ms);
var nextDate = new Date(nextTime);
times.push(nextDate.getHours() + ":" + pad(nextDate.getMinutes(), 2));
}
return times;
}
function pad(num, size) {
var s = num+"";
while (s.length < size) s = "0" + s;
return s;
}
var data = [1, 2, 3, 4, 5, 3, 2, 5, 7, 6, 4];
var interval = 10*60*1000
var timeCategories = getTimes(data.length, interval);
$(function () {
var chart;
$(document).ready(function() {
chart = new Highcharts.Chart({
chart: {
renderTo: 'container',
zoomType: 'x',
spacingRight: 20
},
title: {
text: 'Time series'
},
xAxis: {
categories: timeCategories,
title: {
text: null
},
startOnTick: false
},
yAxis: {
title: {
text: 'Exchange rate'
},
startOnTick: false,
showFirstLabel: true
},
tooltip: {
shared: true
},
legend: {
enabled: false
},
series: [{
type: 'line',
name: 'time series',
data: [
1, 2, 3, 4, 5, 3, 2, 5, 7, 6, 4
]
}]
});
});
});
函数getTimes(numTimes,interval){
var ms=(新日期(2012,02,30,10,33)).getTime();
var时间=[];
var startDate=新日期(毫秒);
times.push(startDate.getHours()+“:“+startDate.getMinutes());
对于(变量i=1;i
我在xAxis上找到了tickPositions属性,highcharts上没有记录该属性,只在highstock上有记录,但似乎在这两种情况下都能正常工作。使用此属性,您可以指定要为哪些值打勾,并且可以完美解决我的问题。谢谢您的回答,但是这种方法在图表的开头和结尾留下了一个空白。我最终使用了tickPositions属性,它在highcharts上没有记录,只在highstock上有记录,但也很有效。