0

現在、データをハイチャートに表示するのに問題があります。

CSV ファイルからデータをインポートし、このデータをプロットしています。CSV ファイルの形式は次のとおりです。

"Row1","Row2","Row3"
"1362567600","67882833572","63034526585"
"1362571200","67834631584","63250345463"
"1362574800","67886235392","63654664341"
"1362578400","67883347248","63683239219"
"1362582000","67884373456","63905665096"

CSV ファイル内の各行には 44 の要素があります。

現在、次の方法でインポートしています。

$(document).ready(function() { 
    var c = [];
    var d = [];
    var e = [];

    $.get('test.csv', function(data) {
        var lines = data.split('\n');
        $.each(lines, function(lineNo, line) {
            var items = line.split(',');
            c.push(items[0]);
            d.push(items[1]);
            e.push(items[2]);
        });
        createGraph('container', 'line', 'Graph 1', c[0],d[0],c);
    });

});

関数 createGraph は、パラメーター - divId(グラフを表示する div の指定、graphType、graphTitle、line1、line2、および graphCategories.

配列 seriesData[] を作成し、次の for ループを使用してデータを追加します。

seriesData[0] = "[";
for (var i = 1; i < graphCategories.length - 1; i++){
    seriesData[i] = "["+(graphCategories[i].replace(/["']{1}/gi,"")*1000)+","+876+"],";
}
seriesData.push("],");

この配列をコンソールに記録すると、次のようになります。

[,[1362567600000,876],,[1362571200000,876],,[1362574800000,876],,[1362578400000,876],,],

次に、私が使用するグラフをプロットするとき:

series: [{
            name: line1,        
            data: seriesData
        }]

(別の行がありますが、簡単にするために 1 つだけ示しています)。

私の質問は、グラフに何も表示されないのはなぜですか? 次の出力が得られます。

ハイチャートの例

ご協力いただきありがとうございます。

4

1 に答える 1

1

この行は間違っているようです。

seriesData[0] = "[";
seriesData.push("],");

[ または ] を配列に追加する必要はないと思います。

私はもっ​​とこのようにします:

for (var i = 1; i < graphCategories.length - 1; i++){
    // Push the x value.
    seriesData[i].push(graphCategories[i].replace(/["']{1}/gi,"")*1000);
    // Push the y value.
    seriesData[i].push(876);
}
于 2013-03-11T10:32:25.300 に答える