我有一个折线图,随着数据以 5 秒的间隔从数据库中提取,它正在更新。
https://gist.github.com/Majella/5fc4cd5f41a6ddf2df23
我想在图表的右上角添加一个标签,该标签将显示日期/时间(存储为变量 dateTimeTaken)并在拉入新数据时更新此标签?
我一直在网上搜索,似乎在任何地方都找不到这样的例子——有人能帮忙吗?
我有一个折线图,随着数据以 5 秒的间隔从数据库中提取,它正在更新。
https://gist.github.com/Majella/5fc4cd5f41a6ddf2df23
我想在图表的右上角添加一个标签,该标签将显示日期/时间(存储为变量 dateTimeTaken)并在拉入新数据时更新此标签?
我一直在网上搜索,似乎在任何地方都找不到这样的例子——有人能帮忙吗?
这应该很容易。根据您的要点,例如:
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()”调用以确定要显示的日期。