2014-06-23 72 views
0

我有簡單的line chart。 由於某些原因,這並不顯示任何行,但是,我認爲我的數據沒有問題。爲什麼?d3 js基本折線圖,數據問題

data = '[{"date":"18-Jun-14","amount":"5"},{"date":"19-Jul-14","amount":"30"},{"date":"18-Aug-14","amount":"138"},{"date":"18-Sep-14","amount":"110"},{"date":"18-Oct-14","amount":"217"},{"date":"18-Nov-14","amount":"342"}]'; 

另一個問題是,評論數據(下),我從PHP腳本得到我應該改變爲適當的格式。這是可能的,或者我應該改變PHP輸出?

/*data='[{"date":"2014-Jun-18","amount":"5"},{"date":"2014-Jul-18","amount":"30"},{"date":"2014-Aug-18","amount":"138"},{"date":"2014-Sep-18","amount":"110"},{"date":"2014-Oct-18","amount":"217"},{"date":"2014-Nov-18","amount":"342"}] ';*/ 

回答

1

問題出在你的日期格式,嘗試

var parseDate = d3.time.format("%d-%b-%y").parse; 
root1.forEach(function (d) { 
     d.date = parseDate(d.date); 
     d.amount = +d.amount; 
    }); 

你有你的規模變量之前把事情處理好,否則就不能正確使用你的數據。

d.amount = +d.amount; 

有必要將您的值從字符串轉換爲整數。

關於第二個問題,你可以使用這個輸出都是一樣的,只是分析它的parseDate改爲

var parseDate = d3.time.format("%Y-%b-%d").parse; 

看到http://jsfiddle.net/6Lxuh/4/與PHP的數據工作實例