8

我目前正在寻找在我的应用程序中实现Highcharts JS,使用月份作为 x 轴类别。

但是,我的数据中存在差距,并希望图表能够自动连接这些差距。

例如,如果我没有 3 月的任何数据,我希望 2 月和 4 月用一条直线连接。

使用 highcharts 演示,我编辑了数据以演示默认情况下当前发生的情况:

http://jsfiddle.net/kf26t/1/

data: [7.0, 10.0, null, 14.5, 18.2, 21.5, 25.2, 26.5, 23.3, 18.3, 13.9, 9.6]

如您所见,2 月和 4 月之间的分界线有所中断。

我已经考虑从类别中删除没有数据的月份,但这将产生一个偏斜的结果,因为 2 月和 4 月将与 4 月和 5 月相距相等,这不会给出准确的表示。

如果我要删除 4 个月,则这种不准确的表示被夸大了:

http://jsfiddle.net/kf26t/2/

categories: ['Jan', 'Feb', 
                    'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec']

我能想到的唯一解决方案是计算月份之间的平均值,但我不希望显示平均值。

Highchart JS 中是否有任何内置方法可以填补这些空白?如果没有,是否有更简洁的解决方案来解决我的建议?


或者,有没有一种方法可以根据值分离 x 轴?所以如果没有三月的月份,二月和四月就出现了2个月的距离。

当整数是 x 轴时,这也很有用。例如,如果我有“1、2、10”,我不希望这些均匀分布。

4

2 回答 2

12

我可能遗漏了一些东西,但是通过您的示例和解释,您似乎正在寻找 connectNulls 属性:

http://api.highcharts.com/highcharts#plotOptions.series.connectNulls

于 2013-04-12T15:53:46.703 回答
2

对于这种行为,应使用Highstocks JS而不是 Highcharts JS。

data: [
       [Date.UTC(2013,  0, 1), 1],
       [Date.UTC(2013, 1, 1), 2 ],
       [Date.UTC(2013, 3,  1), 4],
       [Date.UTC(2013, 4,  1), 5 ],
       [Date.UTC(2013, 5, 1), 6 ],
       [Date.UTC(2013, 6, 1), 7],
       [Date.UTC(2013,  7,  1), 8],
       [Date.UTC(2013,  8,  1),9],
       [Date.UTC(2013, 9, 1), 10],
       [Date.UTC(2013, 10, 1), 11],
       [Date.UTC(2013, 11, 1), 12]
      ]

现场演示:http: //jsfiddle.net/q2kSf/

于 2013-04-12T14:20:43.017 回答