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数组中,但是您定义myData1and myData2,将循环内部分别更改为myData1.pushand myData2.push

于 2012-05-09T22:25:49.570 回答