1

继上一篇文章之后:

带有模拟数据的“实时”图d3.js。

我每隔 1 分钟从数据库中提取数据。json 数组正在使用新的“实时”数据进行更新,但是当 x 和 y 轴都在更新行/路径时不是吗?

https://gist.github.com/Majella/5fc4cd5f41a6ddf2df23

我不知道为什么会这样 - 任何人都可以帮忙吗?

PS - 尝试将 data.push() 和 data.shift() 添加到“SetInterval”函数以允许新数据 - 似乎没有任何区别 - 并且轴被压缩并且难以读取为新数据添加的数据。

4

1 回答 1

0

您提到轴正在压缩。这表明您的数据不断被添加到 MySQL 表中,但是当您运行查询时,您将所有时间值都提取出来。

我能否建议您在 MySQL 查询中包含一行,仅在您想要显示的时间长度内提取数量数据。

例如,如果您想显示 60 分钟的数据,只需选择最后一小时的结果,并使用类似这样的适当“WHERE”语句......

SELECT dateTimeTaken, reading FROM TestSourceSampleData 
WHERE dateTimeTaken BETWEEN NOW()-INTERVAL 1 HOUR AND NOW()
GROUP BY dateTimeTaken

(该查询未经测试)

您可能想尝试的另一件事是使用 d3.js 的 v3(d3.v3.js在您的 html 文件的第 14 行)。这意味着我认为您必须像这样在 d3.json 行中包含错误陷阱;

d3.json("getdata.php", function(error, data) {

在第 45 和 131 行。

试试这些想法。

于 2013-02-10T02:44:31.030 回答