我最近开始学习使用 D3.js 框架,虽然它的设计似乎完全符合我的要求,但我找不到“实时”更新图的简单示例。
我正在寻找类似折线图的东西,它会随着新数据的可用而更新。新数据可以通过点击带有“最后一次看到”时间戳的 json url 或其他一些 AJAX-y 方法来获得。
编辑:答案的 D3 部分在这里:
http://bost.ocks.org/mike/path/
现在,人们建议如何从服务器获取新数据到客户端?
我最近开始学习使用 D3.js 框架,虽然它的设计似乎完全符合我的要求,但我找不到“实时”更新图的简单示例。
我正在寻找类似折线图的东西,它会随着新数据的可用而更新。新数据可以通过点击带有“最后一次看到”时间戳的 json url 或其他一些 AJAX-y 方法来获得。
编辑:答案的 D3 部分在这里:
http://bost.ocks.org/mike/path/
现在,人们建议如何从服务器获取新数据到客户端?
本教程可以帮助您创建实时线图:http ://bost.ocks.org/mike/path/
我想补充几点意见:
异步数据
当你做一个实时图表时,你经常异步获取数据,因此你无法知道每个“点”之间的确切时间。
line
教程中的描述并不关心这一点。Y 轴
在传统的折线图上,很容易确定 y 域。然而,对于实时数据,y 值通常会超出限制。这就是为什么我建议在每次迭代时调用一个函数来设置 y 域。您还可以创建边界框。
表现
由于总是添加数据,您可能需要非常注意您必须删除不再使用的值,否则您的数据将变得越来越重并且整个动画可能会崩溃。
这只是两个例子:
选择其中一个取决于许多变量:您期望有多少连接,数据的更新率是多少,您计划支持哪些浏览器等等......
在任何情况下,d3.js 库都不涉及如何获取数据,而是涉及如何显示它们。