2016-09-24 89 views
0

我正嘗試使用時間軸創建一個簡單的點圖線,但圖表不顯示,而我的瀏覽器控制檯顯示錯誤:c3js:未捕獲TypeError:c.forEach不是函數

c3.min.js Uncaught TypeError: c.forEach is not a function

這裏是我的javascript:

var chart = c3.generate({ 
    bindto: '#chart', 
    data: { 
    json: [ 
     {date: "2016-01-01", pageviews: 1}, 
     {date: "2016-01-02", pageviews: 2}, 
     {date: "2016-01-03", pageviews: 3}, 
     {date: "2016-01-04", pageviews: 4}, 
     {date: "2016-01-05", pageviews: 5}], 
    keys: { 
     x: 'date', 
     value: 'pageviews' 
    } 
    }, 
    axis: { 
    x: { 
     type: 'timeseries', 
     tick: { 
     format: '%Y-%m-%d' 
     } 
    } 
    } 
}); 

而且here's a jsfiddle其使用D3和C3未精縮來源,並給出以下瀏覽器控制檯錯誤:Uncaught TypeError: targetKeys.forEach is not a function

回答

0

data.keys.value期待一個數組,所以簡單地包裹'pageviews'在方括號中所示:

var chart = c3.generate({ 
    bindto: '#chart', 
    data: { 
    json: [ 
     {date: "2016-01-01", pageviews: 1}, 
     {date: "2016-01-02", pageviews: 2}, 
     {date: "2016-01-03", pageviews: 3}, 
     {date: "2016-01-04", pageviews: 4}, 
     {date: "2016-01-05", pageviews: 5}], 
    keys: { 
     x: 'date', 
     value: ['pageviews']  // needs to be an array 
    } 
    }, 
    axis: { 
    x: { 
     type: 'timeseries', 
     tick: { 
     format: '%Y-%m-%d' 
     } 
    } 
    } 
}); 

Working jsfiddle for completeness

相關問題