为要实现柱形堆叠图,本身只有一个分组,也要使用这样的图像格式来完成。

从highcharts官网上找到例子,复制过来,经过好几轮的修改,总是报错“SCRIPT5007: 无法获取未定义或 null 引用的属性“dataMin””。一直找不到原因,网上搜也找不到,然后让同事看,一开始同事说我传递series的数据格式不对,应该传递array()格式的,例子中是这样的格式:

series: [{            name: 'John',            data: [5, 3, 4, 7, 2],            stack: 'male'        }, {            name: 'Joe',            data: [3, 4, 4, 2, 5],            stack: 'male'        }, {            name: 'Jane',            data: [2, 5, 6, 2, 1],            stack: 'female'        }, {            name: 'Janet',            data: [3, 0, 4, 4, 3],            stack: 'female'        }]

我经过写之后,

var seriesList = new Array();

seriesList.push({ name: nodelist.children[j].GY_PROJECT, data: new Array(value), stack: nodelist.GY_PROJECT });

但还是报上面的错,后来又看了下js的array,又修改了下这个。

经过多番修正之后,改成如下格式:

var seriesList = new Array();

seriesList.push({ name: nodelist.children[j].GY_PROJECT, data: new Array([value]), stack: nodelist.GY_PROJECT });


但是还是出不来,不过ie报的错不一样了,“Highcharts error #14: www.highcharts.com/errors/14”。

这个错误通过网上查到,是因为数值格式的数据,必须要经过Number函数的转换才能使用。直接使用的话,就会报以上所提的错误。


seriesList.push({ name: nodelist.children[j].GY_PROJECT, data: new Array([Number(value)]), stack: nodelist.GY_PROJECT });


最后改成这样的,就可以了。