日期:2014-05-17  浏览次数:21159 次

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也相应的填充,请问要怎么做呢?

Highchartsseries name

------解决方案--------------------
为什么要动态替换呢,而不是从后台接收数据后直接生成?
------解决方案--------------------
引用:
Quote: 引用:

为什么要动态替换呢,而不是从后台接收数据后直接生成?

我现在就是从后台把数据传到前台来来,不知道怎么去接收啊?若你知道,麻烦详细说明下啊

首先你从后台那数据然后填充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中的每一个元素最终就是一条曲线

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