0

我正在处理一个具有多个数据源的图表,这些数据源根据缩放范围动态加载,但由于某种原因,图表“选择”事件永远不会传递 xAxis,因此我可以获得选择范围,然后重新加载适当的数据缩放级别。由于我尝试做的调试有点复杂,因此我将案例简化为单个静态数据集,该数据集仅在选择事件上执行 console.log(e)。我提炼的例子在这里:

http://jsfiddle.net/j5z5E/

当我在此示例图表上进行选择时,没有任何缩放,JavaScript 控制台显示事件具有 xAxis 和 yAxis 数组,但 xAxis 的长度为 0,yAxis 的长度为 1。

我一直在示例中看到检查:

if (e.xAxis[0]) {
    //do stuff
}

所以很明显,在某些情况下 xAxis 不会被传递。我是否正在做一些事情来触发这种情况?我知道我一定做错了什么,但我一辈子都想不通是什么。

4

2 回答 2

1

问题是你设置:

xAxis: {
     type: 'datetime',
     min: start,
     max: end,
     minRange: 3600000      
},

它设置了最小值和最大值,它不会让图表缩放,因为它已经定义了最小值和最大值。

工作演示

于 2013-02-13T07:33:34.253 回答
1

问题是您的最小值和最大值不是数字而是日期字符串。将它们转换为时间戳数字时,它可以工作。

var start = +new Date(2013, 1, 12, 0, 0, 0, 0);
var end = +new Date(2013, 1, 14, 0, 0, 0, 0);

工作演示

于 2013-02-15T10:19:51.727 回答