带有JSON的Highcharts可以自定义多个系列

时间:2013-03-26 08:48:27

标签: javascript json highcharts

我想在我的图表中添加多个系列,其中包含4列json文件(日期,开放事件,已关闭事件和正在进行的事件)。
我可以用事件打开的数量(http://jsfiddle.net/269us/)显示我的图表,但是我找不到JSON文件的第3和第4列。

以下是我的JSON文件的结构:

[[1325462400000,3,12,14]
 [1325548800000,7,14,8]
 [1325635200000,10,11,24]
 [1325721600000,21,13,16]
 [1325808000000,13,15,9]
 [1325894400000,2,15,4]
 [1326067200000,10,13,15]]

我希望达到这种类型的结果,以便自定义每个系列(打开,关闭,进行中)

var date = []
   open = []
   close = []
   inprogress = []
   datalength = data.length;

for (i = 0; i <dataLength; i + +) {
    date.push ([
         data [i] [0]
    ]);

    open.push ([
         data [i] [1],
    ]);

    close.push ([
         data [i] [2],
    ]);

    inprogress.push ([
         data [i] [3],
    ]);

    }

    series: [{
       type: 'spline',
       name: 'open',
       data: open,
       dataGrouping {
              units: groupingUnits
       }
   } {
       type: 'column',
       name: 'close',
       data: close,
       dataGrouping {
              units: groupingUnits
       }

      .............
      .............

   }]

1 个答案:

答案 0 :(得分:2)

我认为您正在尝试创建3个数据阵列以用于3个系列(打开,关闭和进行中)。尝试这样的事情:

for (i = 0; i <dataLength; i + +) {
    var date = data[i][0];
    open.push ([
         date,
         data[i][1]
    ]);

    close.push ([
         data,data[i][2] //data instead of dat.
    ]);

    inprogress.push ([
         date,data[i][3]
    ]);
}

您现在可以使用这3个数组作为系列中的数据:

series: [{
   type: 'spline',
   name: 'open',
   data: open,
   dataGrouping {
          units: groupingUnits
   }
},
{
   type: 'column',
   name: 'close',
   data: close,
   dataGrouping {
          units: groupingUnits
   }
},
{
   type: 'line',
   name: 'inprogress',
   data: inprogess,
   dataGrouping {
          units: groupingUnits
   }
}