2013年11月23日土曜日

Google Chart API データ型エラー



Google Chart APIでの

All series on a given axis must be of the same data type

とかいうエラーについて


API側がnullをNumber型以外として認識してるみたい
エラーがでずにうまくグラフが出力されるときもある


解決策

var data = google.visualization.arrayToDataTable([ 
       ['X', 'Y1', 'Y2', 'Y3', 'Y4', 'Y5'], 
       [ 1.5, null, null, 40, null, null], 
       [ 18, null, null, 78, null, null], 
       [ 85.5, null, null, null, 450, null],
       [ 13.5, null, null, 122, null, null],
       [ 19.5, null, null, 27, null, null],
       [ 31.5, null, null, 107, null, null],
       [ 22.5, null, 82,null,  null, null],
 ]); 

こんなデータデーブルを以下のようにする

var data = new google.visualization.DataTable(); 
       data.addColumn('number', 'X');
       data.addColumn('number', 'Y1');
       data.addColumn('number', 'Y2');
       data.addColumn('number', 'Y3'); 
       data.addColumn('number', 'Y4'); 
       data.addColumn('number', 'Y5');
       data.addRows([
              [ 1.5, null, null, 40, null, null], 
              [ 18, null, null, 78, null, null], 
              [ 85.5, null, null, null, 450, null],
              [ 13.5, null, null, 122, null, null],
              [ 19.5, null, null, 27, null, null],
              [ 31.5, null, null, 107, null, null],
              [ 22.5, null, 82,null,  null, null],
        ]);