2012-11-03 37 views
0

您好,我想問一下如何在Highcharts中正確實例化和處理動態添加的系列。HighCharts中動態添加系列的預處理

我帶來一系列的實例是這樣的:

var newSeries = new Highcharts.Series(); 
var newData = []; 
date = Date.parse(newDate() +' UTC'); 
name = 'datapoint name'; 

newData.push([date, name]); 

newSeries.name = 'Somename'; 

//newData variable processing 
newSeries.data = newData; 
newSeries.color = "#EEEEEE"; 
newSeries.showInLegend = false; 
newSeries.index = -1; 

chart.addSeries(newSeries); 

有了這個代碼,我能夠在Highchart對象運行時添加一個新的系列。不過,我希望在將我的系列對象添加到實際圖表之前進行一些額外的處理。

我已經試過:

newSeries.marker.enabled = "false";

newSeries.marker.states.hover = "false";

newSeries.index = -1; //to be able to send the series at the backmost part of the chart

,但未能達到預期的效果。

如果可能的話,有人能指出我正確的方向如何正確實例化一個series對象與其中的對象嗎? 任何幫助將非常感激。

編輯:格雷格正確答案CARE

回答

1

如果您添加的每個點作爲一個對象,那麼你必須在指標控制如下:

function addSeries(chart) { 

     var newSeries = new Highcharts.Series(); 
     newSeries.name = 'Tokyo'; 
     newSeries.data = [{y: 1}, {y:20}, {y:23}, {y:11}]; 
     newSeries.zIndex = -1; 

     for (var i = 0; i < newSeries.data.length; i++) { 
      var datum = newSeries.data[i]; 
      datum.marker = { 
       enabled: false, 
       states: { 
        hover: { 
         enabled: false, 
         lineColor: '#ff0000' 
        } 
       } 
      }; 
     } 

     chart.addSeries(newSeries);  

    } 

這裏有一個工作示例:http://jsfiddle.net/LrvB9/

+0

感謝格雷格爲我提供這種見解。它從來沒有發生過我通過數據點來處理它。我將此標記爲正確答案並編輯問題。 – PinoyCoder