我正在尝试将xAxis设置为highcharts,以使max等于今天的日期,而min等于7天。因此,即使给定日期没有数据点,它也将始终显示7个日期。
数据正确显示,只有最小值和最大值才能显示。
这是脚本 - http://jsfiddle.net/Jv82q/1/ - 通知第3行被注释掉,当取消注释它会破坏图表。不知道为什么。
var max = new Date().getTime();
var min = new Date().getTime();
// min.setDate(min.getDate()-7);
$(function () {
$('#container').highcharts({
chart: {
type: 'areaspline'
},
title: {
text: 'Weight History'
},
credits: {
enabled: false
},
xAxis: {
type: 'datetime',
dateTimeLabelFormats: {
day: '%e %b'
},
min: min,
max: max
},
yAxis: {
title: {
text: 'Weight'
},
min: 20,
max: 400
},
series: [{
name: 'Daily Weigh In',
color: '#7ec152',
data: [[Date.UTC(2014, 3, 13), 400],[Date.UTC(2014, 3, 14), 300],[Date.UTC(2014, 3, 15), 300],[Date.UTC(2014, 3, 16), 300],[Date.UTC(2014, 3, 18), 300],[Date.UTC(2014, 3, 19), 300],[Date.UTC(2014, 3, 20), 300] ]
}]
});
});
答案 0 :(得分:0)
Date.getTime()
返回时间戳,而不是Date对象。然后你试图setDate
min
,但它在你的JS控制台中返回错误:
Uncaught TypeError: undefined is not a function
以下是如何实现这一目标的示例:http://jsfiddle.net/Jv82q/4/
var today = new Date().getTime();
...
// axis options:
min: today - 7 * 24 * 3600 * 1000,
max: today