0

私はjavascriptが初めてです。次の配列からチャートを描画するのが好きです。

var sampleData = [
                                    { Period: '1981', Size: 80.01 , Age: 32 },
                                    { Period: '1981', Size: 89.11, Age : 35 }];    

jquery.flot.js ライブラリを使用してグラフを描画します。チャートを描画する例を次に示します。これは正常に機能します。

var d1 = [];
    for (var i = 0; i < 14; i += 0.5)
        d1.push([i, Math.sin(i)]);
var d2 = [[0, 3], [4, 8], [8, 5], [9, 13]];

    $.plot($("#placeholder"), [d1, d2]);  

例によると、チャートを描画するための私のコードは次のとおりです。

var myData1 = [];
     for (var i in sampleData) {
        myData.push( sampleData[i].Period, sampleData[i].Size);
    } 
var myData2 = [];
     for (var i in sampleData) {
        myData.push( sampleData[i].Period, sampleData[i].Age);
    }              
$.plot($("#placeholder"), [myData1, myData2 ]);         

しかし、このコードでは、チャートに線がありません!!!

誰かが私の欠点を指摘できますか?

4

2 に答える 2

2

それ以外の

myData.push( sampleData[i].Period, sampleData[i].Size);

私はあなたが欲しいと思います

myData.push( [sampleData[i].Period, sampleData[i].Size] );

これにより、配列の配列が作成されます (内側の配列は x、y 座標です)。

于 2012-05-09T23:46:26.500 に答える
0

それはあなたのループかもしれません:

 var myData1 = [];
   for (var i in sampleData) {
     myData.push( sampleData[i].Period, sampleData[i].Size);
 } 
 var myData2 = [];
   for (var i in sampleData) {
     myData.push( sampleData[i].Period, sampleData[i].Age);
 }

 $.plot($("#placeholder"), [myData1, myData2 ]);    

myData各ループ内でデータを配列にプッシュしますが、 と を定義し、ループ内をそれぞれmyData1myData2に変更します。myData1.pushmyData2.push

于 2012-05-09T22:25:49.570 に答える