0

我正在使用 HighStock 来显示时间序列数据,并且我希望允许用户预先定义 x 轴上的标签间隔。如果我尝试将其设置为 3 天,它会捕捉到 2 天,或者如果我将其设置为 5 天,它会捕捉到 7 天。

xAxis: {
    // This should equal to 3 days.
    tickInterval: 3*24*3600*1000,
    ordinal: false
},

见:http: //jsfiddle.net/DH664/1/

我知道这是默认行为,所以我尝试提供自己的 tickPositioner 函数。它确实有效,但令我惊讶的是标签的日期格式消失了。

xAxis: {
    tickPositioner: function (min, max) {
        var res = [],
            i = (((min + interval -1) / interval) >> 0) * interval;
        for (; i <= max; i+= interval) {
            res.push(i);
        }
        return res;
    },
    ordinal: false
},

见:http: //jsfiddle.net/DH664/2/

我发现了这个解决方法:tickInterval 在 Highchart 和 Highstock 中不能正常工作。

这让我可以定义一个以后可以设置的自定义间隔,但只能在实例化图表之前。如果我想要两个我事先不知道的具有不同用户指定间隔的图表怎么办?

是否有适当的解决方案来拥有任何自定义间隔并仍然获得格式?

谢谢

4

2 回答 2

1

用于chart.xAxis.update({tickInterval: x});更新间隔。但发生这种情况的原因可能是minRange: http: //api.highcharts.com/highcharts#xAxis.minRange

于 2013-05-09T10:18:07.650 回答
0

好的,我找到了适合我的解决方案。如果自定义时间间隔不存在,我必须将其注入到默认单位数组中。诀窍是配置允许一个单位属性,该属性需要像这样的配置,但它没有记录。

希望这对其他人有帮助。

于 2013-05-10T16:17:01.650 回答