2017-07-28 25 views
0

私はこのようなC3.jsチャートにソースとして配列を使用したい:使用アレイC3.js

var xData = ['2017-07-28', '2017-07-29']; 
var yData = [30, 200]; 

var chart = c3.generate({ 
    bindto: '#chart', 
    data: { 
     x: 'x', 
     xFormat: '%Y-%m-%d', 
     columns: [ 
      ['x', xData], 
      ['data1', yData] 
     ] 
    }, 
    axis: { 
     x: { 
      type: 'timeseries', 
      tick: { 
       format: '%Y-%m-%d' 
      } 
     } 
    } 
}); 

しかし、それは私のようなエラーが得られます。

Failed to parse x '2017-07-28,2017-07-29' to Date object

Error: attribute transform: Expected number, "translate(NaN, 0)".

私は直接の値を使用している場合、それは完璧に動作します:あなたのケースでは

var chart = c3.generate({ 
    bindto: '#chart', 
    data: { 
     x: 'x', 
     xFormat: '%Y-%m-%d', 
     columns: [ 
      ['x', '2017-07-28', '2017-07-29'], 
      ['data1', 30, 200] 
     ] 
    }, 
    axis: { 
     x: { 
      type: 'timeseries', 
      tick: { 
       format: '%Y-%m-%d' 
      } 
     } 
    } 
}); 

答えて

1

['x', xData] 

は、あなたが何ができるか

['x', ['2017-07-28', '2017-07-29']] 

ない

['x', '2017-07-28', '2017-07-29'] 

に等しい前に配列を作成します

var xData = ['2017-07-28', '2017-07-29']; 
var yData = [30, 200]; 

xData.unshift('x'); 
yData.unshift('data1'); 

var chart = c3.generate({ 
    bindto: '#chart', 
    data: { 
     x: 'x', 
     xFormat: '%Y-%m-%d', 
     columns: [ 
      xData, 
      yData 
     ] 
    }, 
    axis: { 
     x: { 
      type: 'timeseries', 
      tick: { 
       format: '%Y-%m-%d' 
      } 
     } 
    } 
}); 
+0

はい、私はまた後ですることを把握。とにかくありがとう! –