2013-04-11 28 views
0

我想知道是否有人知道jsfiddle示例,其中單個點上具有多個值的堆積條形圖在其創建後發生更改。我已經看到很多使用setData的例子,但是沒有多個例子。在高圖中動態添加多個值到條形圖的單點

我目前有以下圖表,並希望在每個點上放置多個值。

window.jQuery(function() { 
    //var opportunities_by_month_chart; 
    opportunities_by_month_chart = new Highcharts.Chart({ 
     chart: { 
      renderTo: 'container', 
      type: 'column' 
     }, 
     title: { 
      text: 'Pipeline By Month By Outcome' 
     }, 
     subtitle: { 
      text: '' 
     }, 
     xAxis: { 
      categories: ['test', 'test2'] 
     }, 
     yAxis: { 
      min: 0, 
      title: { 
       text: 'Opportunity size in £' 
      } 
     }, 
     tooltip: { 
      formatter: function() { 
       return 'Month: ' + this.x + '<br/>' + 
        this.series.name + ': £' + this.y + '<br/>' + 
        'Total: £' + this.point.stackTotal; 
      } 
     }, 
     plotOptions: { 
      series: { 
       stacking: 'normal' 
      } 
     }, 
     credits: { 
      enabled: false 
     }, 
     series: [{ 
       name: 'Closed Won', 
       data: [], 
       color: 'green' 
      }, { 
       name: 'Closed Postponed', 
       data: [], 
       color: 'orange' 
      }, { 
       name: 'Closed Lost', 
       data: [], 
       color: 'red' 
      }, { 
       name: 'Other', 
       data: [], 
       color: 'blue' 
      } 
     ] 
    }); 

}); 

http://jsfiddle.net/9FyGX/2/

如果有人能夠指出一個例子或添加的榜樣的jsfiddle它將使我的一天:d

+0

啊,以爲我只是有一點時間。以下似乎做的伎倆:chart.series [0] .setData([1,2,3,4],真); chart.series [1] .setData([2,3,4],true); – r1901156 2013-04-11 08:57:24

回答

0

正如你所說

chart.series[0].setData([1, 2, 3, 4], true); 
chart.series[1].setData([2, 3, 4], true); 

會工作。但是,最後一個參數(true)告訴highchart重繪圖表。因此,使用false調用第一個setData會更有效,並且只有在完成數據添加後才能重新繪製。

chart.series[0].setData([1, 2, 3, 4], false); 
chart.series[1].setData([2, 3, 4], true);