自动加入Highcharts JS中缺少的数据空白

Cur*_*urt 8 javascript missing-data highcharts

我目前正在寻求将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]
Run Code Online (Sandbox Code Playgroud)

正如您所看到的,2月到4月之间有一个突破.

我已经考虑过删除没有类别数据的月份,但是这会产生偏差的结果,因为2月和4月将在4月和5月之间相等的距离,这将无法给出准确的表示.

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

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

categories: ['Jan', 'Feb', 
                    'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec']
Run Code Online (Sandbox Code Playgroud)

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

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


或者,有没有一种基于值分离x轴的方法?因此,如果没有3月份,则2月和4月会出现2个月的距离.

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

jlb*_*ggs 10

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

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


Cur*_*urt 2

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

\n\n
data: [\n\xc2\xa0 \xc2\xa0 \xc2\xa0 \xc2\xa0[Date.UTC(2013, \xc2\xa00, 1), 1],\n\xc2\xa0 \xc2\xa0 \xc2\xa0 \xc2\xa0[Date.UTC(2013, 1, 1), 2 ],\n\xc2\xa0 \xc2\xa0 \xc2\xa0 \xc2\xa0[Date.UTC(2013, 3, \xc2\xa01), 4],\n\xc2\xa0 \xc2\xa0 \xc2\xa0 \xc2\xa0[Date.UTC(2013, 4, \xc2\xa01), 5 ],\n\xc2\xa0 \xc2\xa0 \xc2\xa0 \xc2\xa0[Date.UTC(2013, 5, 1), 6 ],\n\xc2\xa0 \xc2\xa0 \xc2\xa0 \xc2\xa0[Date.UTC(2013, 6, 1), 7],\n\xc2\xa0 \xc2\xa0 \xc2\xa0 \xc2\xa0[Date.UTC(2013, \xc2\xa07, \xc2\xa01), 8],\n\xc2\xa0 \xc2\xa0 \xc2\xa0 \xc2\xa0[Date.UTC(2013, \xc2\xa08, \xc2\xa01),9],\n\xc2\xa0 \xc2\xa0 \xc2\xa0 \xc2\xa0[Date.UTC(2013, 9, 1), 10],\n\xc2\xa0 \xc2\xa0 \xc2\xa0 \xc2\xa0[Date.UTC(2013, 10, 1), 11],\n\xc2\xa0 \xc2\xa0 \xc2\xa0 \xc2\xa0[Date.UTC(2013, 11, 1), 12]\n\xc2\xa0 \xc2\xa0 \xc2\xa0 ]\n
Run Code Online (Sandbox Code Playgroud)\n\n

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

\n