2013-02-26 90 views

回答

1

它应该很容易。基于你的要点,如:

d3.json("getdata.php", function(error,data) { 
    data.forEach(function(d) { 
    d.dateTimeTaken = parseDate(d.dateTimeTaken); 
    d.reading = +d.reading; 
    }); 
var maxDate = d3.max(data, function(d) { return d.dateTimeTaken; } 

svg.selectAll(".timeDisplay") 
    .data([maxDate]) 
    .text(function(d) { return d; }) 
    .enter() 
    .append("text") 
    .attr("class", "timeDisplay") 
    .attr("x", width) 
    .attr("y", 0) 
    .attr("text-anchor", "end") 
    .text(dateTimeTaken); 

把它放在你的“updateData”函数中。 鉴于您正在接收多个数据项,您可能需要对数据执行“d3.max()”调用以确定要显示的日期。

+0

感谢 - 获取错误消息“dateTimeTaken”未定义。将其更改为d.dateTimeTaken,但未定义“d”? – Newbie 2013-02-26 18:10:58

+0

如果您使用的是d.dateTimeTaken,则会将其更改为 - .text(function(d){return d.dateTimeTaken;})。取决于你想如何访问变量。 – cmonkey 2013-02-26 18:13:46

+0

我也试过,得到另一个错误“对象[对象数组]没有方法'输入'” – Newbie 2013-02-26 18:23:44