我正在使用Jquery / Flot插件开发一个Web应用程序,我需要显示一些30.000数据点的时间序列。由于数据量巨大,我遇到了permormance问题(所有浏览器)。当然,我不需要显示所有数据点,使用400px图表是不可能的。我的一般想法是只显示“最重要的数据”,所以我需要一个最佳实践/建议来保持良好的性能和良好的图表准确性
答案 0 :(得分:2)
如果您的图表宽度为400px,那么您的服务器端代码不应向浏览器发送超过400个点。
因此,如果您的时间序列数据每分钟都有一个点,那么一个解决方案是平均所有值一小时,将您的30k点降低到500.如果数据那将非常容易来自数据库;您的查询可能看起来大致如下:
SELECT truncate_to_hour(data_time) as sample_time, avg(data_value)
FROM values
GROUP BY sample_time
但显然没有单一的最佳实践;这取决于你的数据。