2013-02-13 186 views
0

我有一个堆叠列Highchart与两个系列。 xAxis填充,最小值和最大值就是我想要的。的jsfiddle这里: http://jsfiddle.net/BobTheZealot/MBmu7/#baseHighcharts:堆积列xAxis自动“压缩”

感兴趣系列的第二个系列,其中只有一个数据点:

data: [{ 
     x: 1767157200000, 
     y: 95746 
    } 

但是,如果我添加了另一个数据点到第二个系列(x是在2014年的新点,在前面的最小值和最大值内),xAxis突然“压缩”:轴的两侧都有额外的填充,并且轴上还有两个标签(2010和2028)。

data: [{ 
     x: 1420002000000, 
     y: -95100 
    }, { 
     x: 1767157200000, 
     y: 95746 
    }] 

的jsfiddle:http://jsfiddle.net/BobTheZealot/MBmu7/13/

为什么X轴得到重新格式化?我该如何强制它像第一个jsFiddle一样?奇怪的是,如果我翻转第二个数据点的顺序,使它们按x值的降序排列(这看起来很奇怪;第一个系列的数据按x值的升序排列),那么xAxis格式不会改变(即不会“压缩”)。

data: [{ 
     x: 1767157200000, 
     y: 95746 
    }, { 
     x: 1420002000000, 
     y: -95100 
    } 

js在以前的jsFiddle链接的版本14(显然不能发布三个链接)。

一直呆在这一两天,所以非常欢迎任何帮助!谢谢。

回答

0

原因是点之间的时间跨度。如果您知道点之间的间隔,则可以设置pointRange,请参阅:http://jsfiddle.net/MBmu7/15/,否则将需要1767157200000 - 1672462800000作为点之间的距离,并相应地格式化xAxis。

+0

非常感谢帕维尔。这当然似乎解决它。因为我在其他地方遇到过这个问题,所以我只是四处挖掘以更好地理解这一点。 – BobTheZealot 2013-02-13 13:29:18

+0

pointRange文档说“计算为两个最接近的数据点之间的距离”。 1767157200000和1672462800000实际上都在上面的三个jsFiddles中。是否可以使用SAME系列中的“最接近的数据点”作为pointRange?所以,由于上面第二个例子中只有两个点,它使用(1767157200000 - 1420002000000)作为范围,这个范围相当大?而在第三个例子中,由于积分降序,因此得到一个负范围?无论如何,非常感谢。 – BobTheZealot 2013-02-13 13:41:18

+0

在Highcharts中,您必须按升序排列积分。对于pointRange,可能需要检查来源才能得到完整的答案。 – 2013-02-13 14:09:52