首先,出于某种原因,我似乎无法在每个月的第1天和第15天将yAxis送到tickInterval。
其次,没有数据是正确的。如果您查看系列数据以及图表上的条形图,则会出现某种月度填充。甚至工具提示都有错误的日期。
参考:http://jsfiddle.net/no1uknow/5hnBP/12/
yAxis: {
title: '',
type: 'datetime',
min: Date.UTC(2014, 9, 1),
max: Date.UTC(2014, 12, 31),
tickInterval: 1000 * 60 * 60 * 24 * 14, // two weeks
//ticks: ['2014-10-01','2014-10-15','2014-11-01','2014-11-15','2014-12-01','2014-12-15','2015-01-01'],
labels: {
formatter: function() {
return Highcharts.dateFormat('%d-%b-%Y', this.value);
}
}
}
答案 0 :(得分:4)
1)没有一个时间间隔会给你每个月的第1和第15个月,因为月份都是不同的长度,1到15的距离和15-> 1的距离不是相同。
为了在这些特定日期打勾,您需要使用tickPositions设置,并提供一个数组,其中包含您想要勾选的每个日期的纪元时间戳(以毫秒为单位)(或Date.UTC对象)。
2)条形图和工具提示正确显示。请记住,在javascript中,月份从0开始 - 所以10是11月,而不是10月。
答案 1 :(得分:0)
感谢jlbriggs,你让我朝着正确的方向前进。
如果有人对此感兴趣,我需要的解决方案。
yAxis: {
title: '',
type: 'datetime',
min: 1409544000000, // Date.UTC(2014, 9, 1),
max: 1418619600000, // Date.UTC(2014, 1, 31),
tickPositions:
[1409544000000,1410753600000,1412136000000,1413345600000,1414814400000,1416027600000,1417410000000,1418619600000,1420088400000],
labels: {
format: '{value:%d-%b-%Y}'
}
}