2015-12-05 46 views
2

我無法將數據解析成浮標圖。我不確定是否使用$ .each構建數據數組。我想我可以任何人知道什麼是錯的?Flot不解析json作爲分類數據

更新:正確的鏈接: http://jsfiddle.net/qxdgrozs/

這是我的JSON對象和JS代碼:

$(function() { 
var jsonString = JSON.parse(readJSON('[ 
{ 
    "Person":"Fred", 
    "NetIncome":0, 
    "StateTax":0, 
    "FedTax":0, 
    "TotalTax":0, 
    "AvgTaxRate":0 
}, 
{ 
    "Person":"Alex", 
    "NetIncome":5555385.06, 
    "StateTax":124463.24, 
    "FedTax":4320151.7, 
    "TotalTax":4444614.94, 
    "AvgTaxRate":44.45 
}, 
{ 
    "Person":"John", 
    "NetIncome":5555180.86, 
    "StateTax":124667.44, 
    "FedTax":4320151.7, 
    "TotalTax":4444819.14, 
    "AvgTaxRate":44.45 
} 
]'; 

var myData = JSON.parse(jsonString); 


var data1 = []; 
var data2 = []; 

$.each(myData, function(i, jti) { 
     data1[i] = { 
     label: jti.Person, 
     data: jti.StateTax 
    } 
    data2[i] = { 
     label: jti.Person, 
     data: jti.FedTax 
    } 
} 


$.plot("#placeholder", [{ 
    data: data1, 
    label: "test", 
    bars: { 
      show: true, 
      barWidth: 0.4, 
      align: "left" 
     } 

}, { 
    data: data2, 
    label: "flot bug serie", 
    bars: { 
      show: true, 
      barWidth: 0.4, 
      align: "right" 
     } 
}], { 
    series: { 
     bars: { 
      show: true, 
      barWidth: 0.6, 
      align: "center" 
     } 
    }, 
    xaxis: { 
     mode: "categories", 
     tickLength: 0 
    }, 
    grid: { hoverable: true, clickable: true } 
}); 
}); 

我也厭倦了使用與無濟於事push方法。

回答

0

固定了很多語法錯誤之後,最大的問題是,海軍報需要每個數據點一個數組,而不是一個對象,改變

$.each(myData, function(i, jti) { 
     data1[i] = { 
     label: jti.Person, 
     data: jti.StateTax 
    } 
    data2[i] = { 
     label: jti.Person, 
     data: jti.FedTax 
    } 
} 

$.each(myData, function(i, jti) { 
    data1.push([jti.Person, jti.StateTax]); 
    data2.push([jti.Person, jti.FedTax]); 
}); 

請參見本fiddle的工作碼。