2017-07-21 29 views
0

我正在嘗試使用C3繪製堆積(區域)折線圖。C3從CSV加載的動態類別的堆積圖表

我的代碼,因爲它的立場,允許我創建一個折線圖,無堆疊:

var chart = c3.generate({ 
data: { 
    x: 'x', 
    url: 'GeneratedData.csv', 
    type: 'area', 
    /* groups: [ ['data1', 'data2'] ] */ 
    }, 
    axis : { 
     x : { 
      type : 'timeseries', 
      tick : { 
       format : "%y-%m-%d" 
      } 
     } 
    } 
}); 

是該數據在這樣的,我不知道列名的方式產生我的問題提前,所以我不能設置它們的類型或他們組 (因此圍繞groups: [ ['data1', 'data2'] ]評論)

我的CSV看起來是這樣的:

X,LT62Ag,5NwafDw,Pac0dA
2017-01-22,85797,145417,626803
2017-01-23,71837,105246,440776
2017-01-24,77650,108834,442359
...
2017-03- 31,87359,102618,467113

我應該如何繼續從動態數據創建組以堆積圖表?

回答

1

你可以嘗試添加這對您的圖表聲明,它會拉出數據系列(除了X)的名字,把它們變成一個大組:

onrendered: function() { 
    var seriesNames = this.data.targets.map (function (d) { 
     return d.id; 
    }).filter (function (sname) { 
     return sname !== "x"; 
    }); 
    this.api.groups ([seriesNames]); 
    }, 

理想情況下,應該做的事與'oninit'聲明,而不是在每個渲染重置的組,但似乎有某種錯誤,使得酒吧去1像素寬,當你這樣做...

我想一個標誌,決定是否這些團體已經設置,可以通過...

https://jsfiddle.net/1bb60dd9/