2016-06-12 4 views
0

私はプロジェクトで作業しており、ハイチャートにシリーズ配列を割り当てることによってハイチャートを動的に作成したいと考えています。私はいくつかのダミーデータを使って配列を生成していますが、以下の例では、2つの列はあまり同じではありません。 examplesハイチャート生成アレイシリーズ

$(function() { 
    var field_result = new Object(); 
    var series = []; 
    var result_array = []; 

    var fields = [32, 22] 
    for (var i=0; i<fields.length; i++) 
    { 
    field_result.name = fields[i]; 
    for (var m=0; m<4; m ++) { 
     result_array[m] = Math.random()*10; 
    } 
    field_result.data = result_array; 
    series.push(field_result); 
    } 


    $('#container').highcharts({ 
    chart: { 
     type: 'column' 
    }, 
    title: { 
     text: 'Column chart with negative values' 
    }, 
    xAxis: { 
     categories: ['Apples', 'Oranges', 'Pears', 'Grapes', 'Bananas'] 
    }, 
    credits: { 
     enabled: false 
    }, 
    series: series 
    }); 
}); 

ありがとうございました。

+1

例を追加しませんでした。 –

+0

申し訳ありませんが、このツールを初めて使用しています。私はそれを追加しました。どうもありがとうございます。 – Kun

答えて

1

別々のデータ配列を持つ2つの異なる一連のオブジェクトを作成し、これらを直列配列に配置しようとします。しかし、個々のシリーズごとにこれらのオブジェクトをループ外で初期化しているので、最初のデータオブジェクトを2番目のデータで上書きしてしまいます。

あなただけのループ内で初期化を移動する必要があります。

$(function() { 
    var series = [];  
    var fields = [32, 22]; 

    for (var i=0; i<fields.length; i++) 
    { 
    var field_result = new Object(); // <---- moved here 
    var result_array = [];   // <---- moved here 

    field_result.name = fields[i]; 
    for (var m=0; m<4; m ++){ 
     result_array[m] = Math.random()*10;  
    } 
    field_result.data = result_array; 
    series.push(field_result); 
    } 
    [...] 

次に、新しいオブジェクトや配列の繰り返し各ループで作成され、ランダムなデータでいっぱい。

http://jsfiddle.net/doc_snyder/jgoyynzd/2/

+0

まさに! pushメソッドがグローバル変数を配列に挿入すると、挿入されたグローバル変数も変更できます。 – Kun

関連する問題