首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > Java Web开发 >

Highcharts动态设置series解决方案

2013-12-02 
Highcharts动态设置series请问一下有谁知道怎么动态改变Highcharts中series的name属性?我有多个series集合

Highcharts动态设置series
请问一下有谁知道怎么动态改变Highcharts中series的name属性?我有多个series集合,要怎么动态设置?
比如:我的静态数据是这样的
series: [{
        type: 'area',
        name: 'aa,
        data: [10, 20, 30, 40, 50, 60, 70, 80,90,100,110,120]
    },{
        type: 'area',
        name: 'bb,
        data: [130, 140, 150, 160, 170, 180, 190, 200,210,220,230,240]
    },{
        type: 'area',
        name: 'cc,
        data: [250, 260, 270, 280, 290, 300, 310, 320,330,340,350,360]
    }]

然后我从后台传过来的数据格式是这样的:
[["天河区",200,80,30,70,300,0,0,0,0,50,20,0],["白云区",0,0,0,0,0,200,70,0,0,345,0,0],["越秀区",0,0,0,0,0,0,0,0,0,0,100,100]]
我现在需要把series的三个name属性设置为天河区、白云区、越秀区,而data也相应的填充,请问要怎么做呢?


首先你从后台那数据然后填充series,你可以直接传list,用foreach解析填充,也可以在后台把数据转换成JSON,在前端用js解析填充;
接着就可以new 一个StockChart,传一些参数什么的,具体的API可以去查
最后new的时候指向一个div,就可以显示了

[解决办法]


var series = [];
var data = [];
data[0] = [date, count];//date是日期的毫秒数,count是数值,下同
data[1] = [date, count];
.....
//这里注意要保证data中的date是按从小到大的顺序排列的,否则会显示异常
series[0] = {
    name: 'example',
    data: data,
    type: ...
    ....
};
series[1] = {
    ....
};
....
//series中的每一个元素最终就是一条曲线

上面就是一些主要代码了,你说的只有一条记录的问题,是不是有可能是数据没传过来?调试一下看看

热点排行