【问题标题】:Visualizing continuous stream of data in D3在 D3 中可视化连续的数据流
【发布时间】:2015-12-30 00:04:00
【问题描述】:

我想实时可视化地球上的事件。我有数据(纬度,经度)不断输入,我希望能够将该数据(纬度和经度的 json)发送到我的 d3 脚本并在地图上绘制(带有过渡)纬度、经度。我知道如何使用 d3 绘制地图。唯一的问题是我对如何在 d3/HTML 中创建一个 endpoint 感到困惑,当点击它时可以更新视觉效果。此外,每秒可能会有很多响应,所以我将如何同时处理多个请求。

我认为这个系统的架构对我来说太复杂了。任何建议都会很有帮助。

【问题讨论】:

    标签: javascript d3.js stream data-visualization


    【解决方案1】:

    有必要了解您的数据将如何被访问,以便确定要执行的操作。理想情况下,您需要single source of truth 用于可视化,以避免重绘时出现问题并更容易思考您的问题。

    如果是 API,你可以定期做 ajax 轮询,或者如果你的浏览器支持,你可以试试 websockets。这是另一个 SO discussion 用于实时更新。

    至于实际的 d3 实现:因为您已经可以绘制地图(以及希望的点),您可以为图表函数使用 reusable charts 模式,每次调用该函数时都会更新数据。 D3 的general update pattern 应该使您的点与您传入的任何数据保持同步。您甚至可以添加过渡以使其看起来更漂亮!

    【讨论】:

      【解决方案2】:

      websockets 可以是一种解决方案,您可以在其中侦听事件并在事件发生时对 d3 渲染具有回调函数。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2012-03-28
        • 2015-06-11
        • 1970-01-01
        • 2013-01-18
        • 2011-10-23
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多