JavaScriptでCSVから値を読み、JSON形式に格納してHighChartsを使って積み上げ棒グラフを表示させることを考えています。
CSVのデータとしては、
日付1,日付2,日付3,日付4...
凡例名1,凡例名2,凡例名3...
日付1・凡例名1の値,日付2・凡例名1の値,日付3・凡例名1の値,日付4・凡例名1の値...
日付1・凡例名2の値,日付2・凡例名2の値,日付3・凡例名2の値,日付4・凡例名2の値...
日付1・凡例名3の値,日付2・凡例名3の値,日付3・凡例名3の値,日付4・凡例名3の値...
.
.
.
のようになっています。
このCSVのデータを自前の関数を使って、二次元配列で取り出します。
JavaScript
1// CSVファイル読み込み 2function csvToArray(path) { 3 var csvData = new Array(); 4 var data = new XMLHttpRequest(); 5 data.open("GET", path, false); 6 data.send(null); 7 var LF = String.fromCharCode(10); 8 var lines = data.responseText.split(LF); 9 for (var i = 0; i < lines.length;++i) { 10 var cells = lines[i].split(","); 11 if( cells.length != 1 ) { 12 csvData.push(cells); 13 } 14 } 15 return csvData; 16}
戻り値を使って、CSVの1列目を横軸、2列目をデータの凡例、
3列目以降は凡例・横軸ごとの数値データとしてJSON形式で設定します。
JavaScript
1 //横軸 2 var xAxis = { 3 categories: csvData[0] 4 };
JavaScript
1 var series= [{ 2 name: '凡例1', 3 data: intParse(csvData[2]) 4 }, { 5 name: '凡例2', 6 data: intParse(csvData[3]) 7 ...省略... 8 }, { 9 name: '凡例n', 10 data: intParse(csvData[n + 1]) 11 }];
のように設定したいのですが、この凡例の数nにかかわらず
動的にJSONパラメータを設定する方法がわかりません。
どなたかご教授いただけないでしょうか。

回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
退会済みユーザー
2017/11/08 08:55
2017/11/08 10:23