javascript - 海量数据实时可视化

标签 javascript mongodb highcharts data-visualization mqtt

我正在构建一个仪表板,以 JSON 格式(数据频率 ± 4Hz)从 MQTT 接收大量数据。我试图可视化这些数据,最初选择了 Highcharts ( http://www.highcharts.com/ ),但很快意识到浏览器不能简单地处理这么多信息。

我对可视化如此大量的数据还很陌生,因此非常感谢有关如何处理如此大量数据的任何建议(目前arduino将数据发布到给定主题,我在服务器上接收它们,存储在mongo中并发送到浏览器要更新)。我的整个方法可能完全错误,所以请引导我走一条路!

最佳答案

您的问题可能是 Highcharts 创建的 SVG 太大,浏览器无法及时处理。如果您有太多数据点,则需要执行以下两件事中的一件。

  1. 切换到使用 HTML5 Canvas 而不是 SVG 的图表库

  2. 使用最佳拟合或其他曲线插值来减少数据。

如果您切换到基于 Canvas 的图表,您将失去 SVG 所具有的一些很酷的功能,但每个数据点都会出现在页面上。我用过jqChart对于过去的这件事。但它不是免费的。

如果您减少数据量,并非每个数据点都会出现在页面上,但 SVG 允许的优秀功能仍然会存在。您可能仍然可以使用 highcharts。

关于javascript - 海量数据实时可视化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34521482/

相关文章:

javascript - 为什么在 Firefox 中的文本区域中键入会导致屏幕滚动?

javascript - 有没有办法在 javascript 中以编程方式放大或平移 Bing map ?

python - 从 MongoDB (PyMongo) 访问集合时出现关键错误

php - 建立实时数据库(方法)

javascript - Mongoose 'or' 和 'like' 运营商 node.js

javascript - Highcharts 工具提示 x 轴字体大小

javascript - 检查MySQL是否仍然连接或断开

javascript - 使用 Promise 进行 fetch().then() 后页面保持刷新(设置了 e.preventDefault())

javascript - 在列和 y 轴线之间填充 - 这可能吗?

javascript - 将自定义下拉列表添加到 highstock 系列选择器菜单