我正在构建一个仪表板,以 JSON 格式(数据频率 ± 4Hz)从 MQTT 接收大量数据。我试图可视化这些数据,最初选择了 Highcharts ( http://www.highcharts.com/ ),但很快意识到浏览器不能简单地处理这么多信息。
我对可视化如此大量的数据还很陌生,因此非常感谢有关如何处理如此大量数据的任何建议(目前arduino将数据发布到给定主题,我在服务器上接收它们,存储在mongo中并发送到浏览器要更新)。我的整个方法可能完全错误,所以请引导我走一条路!
最佳答案
您的问题可能是 Highcharts 创建的 SVG 太大,浏览器无法及时处理。如果您有太多数据点,则需要执行以下两件事中的一件。
切换到使用 HTML5 Canvas 而不是 SVG 的图表库
使用最佳拟合或其他曲线插值来减少数据。
如果您切换到基于 Canvas 的图表,您将失去 SVG 所具有的一些很酷的功能,但每个数据点都会出现在页面上。我用过jqChart对于过去的这件事。但它不是免费的。
如果您减少数据量,并非每个数据点都会出现在页面上,但 SVG 允许的优秀功能仍然会存在。您可能仍然可以使用 highcharts。
关于javascript - 海量数据实时可视化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34521482/