2016-05-30 299 views
1
var tasks; 
d3.json("http://localhost:8080/result", function(error, data) { 
tasks = data 
data.forEach(function(d) { 
d.startDate = new Date(d.maxTime["$date"]); 
d.endDate = new Date(d.minTime["$date"]); 
}); 

var taskNames = ["Bob", "Sam"]; 

var gantt = d3.gantt().taskTypes(taskNames); 
gantt(data); 
}); 

我使用從here 幫助這是從http://localhost:8080/result返回我json對象的數組類似:d3.js甘特圖

[ 
    {"minTime": {"$date": 1459555200000}, 
    "maxTime": {"$date": 1459555860000}, 
    "Time": 660.0, "Name": "Sam"}, 
    {"minTime": {"$date": 1459558800000}, 
    "maxTime": {"$date": 1459563265000}, 
    "Time": 4465.0, "Name": "Bob"}, 
    {"minTime": {"$date": 1459562400000}, 
    "maxTime": {"$date": 1459563842000}, 
    "Time": 1442.0, "Name": "Sam"}, 
    ... 
] 

我得到一個錯誤

負值無效。 (「-30.00296 864734321」)

和397其他人。

這些錯誤是什麼意思?

回答

3

嘗試

d.startDate = new Date(d.maxTime.$date); 
d.endDate = new Date(d.minTime.$date); 

d.startDate = new Date(d.maxTime["$date"]); 
d.endDate = new Date(d.minTime["$date"]); 
+0

我設法在底部得到的時間,但現在我得到其他幾個錯誤。我剛纔提到的例子中的那個人對所有變量進行了硬編碼。 http://static.mentful.com/gantt-chart-d3v2.js – glitterati

+0

'var timeDomainStart = d3.time.day.offset(new Date(), - 3); var timeDomainEnd = d3.time.hour.offset(新日期(),+ 3);'在你正在使用的代碼中,改變它來修復你的數據。 – paradite