我想知道是否有一些很好的网络解决方案来显示“大数据集”的图表,我尝试过amcharts和Highcharts Stock(jquery解决方案)但没有成功。
一开始他们正在工作,但目前“chrome”告诉我javascript内存已满,页面崩溃。
我有时需要显示超过20行,每行超过100.000点,所以最后我可以使用巨大的jquery数组,这肯定会使互联网浏览器崩溃。
目前我愿意改用flash,silverlight或其他解决方案(不是java applet,因为我正在使用C#)。
你们推荐什么?
更新#1
例如:此应用程序的一个目的是查看ECG通道。 该人将携带具有多个“传感器”的设备(允许定义10或12个,或多或少),设备将每秒保存数据(或者有时甚至以较短的间隔保存)。并且可能存在该人将使用该系统3天的情况。
最低数据: 60秒* 60分钟* 24小时* 3天=每行259.200点。 8行或更多=>总分2.073.600
可用性: 那么,在这个健康区域,通常“读数”将是相似的,没有高或低足以在3天的数据中被识别。因此,对于这个例子,最好是在需要时加载数据>平移/缩放幻灯片仅显示1小时,当它移动到其他时,AJAX将获取剩余的DATA。当然这是要走的路。但这不是我系统中唯一的情况。
我有其他类型或设备,其中“高点和低点”是巨大的,用户希望只在一个“图表”中看到所有数据而不放大。所以,在这种情况下,从简单的外观来看,它是很容易看到读数上发生的事情,然后用户可以放大,因为数据已经在内存中,不需要进行更多的AJAX调用并刷新图表。
聪明的方式:处理数据的方式是在我们考虑更大的“规模”时“减少”点数。当然,这是明智的选择,但有一次,有些处理数学的结果会“伪造”并隐藏真实的读数,最后有一些“行为”不会出现在图表。
所以,现在我真的需要找到一种方法来显示所有这些点。
注意:我非常感谢你们的所有反馈。
答案 0 :(得分:3)
我想我和Neil在一起......必须有一些方法可以在显示之前处理这些数据...我的意思是,这些数据量如何甚至可以在窗口中显示?你说一条线有100000个点...如果这些点在X,Y平面上都是唯一的,那么100000个点将完全填满一个300x300的显示窗口。像这样的20行将完全浸透正常的1024x1280显示器。
据推测,这不是你想要的,所以我假设必须有很多点重叠的情况。预处理数据,消除重复的数据点将有助于大大减少数据量。
很难确切地知道这个答案是如何适合的,或者在没有进一步细节的情况下提供更准确的说明,但如果您有疑问或说明,请编辑您的问题,我会修改我的答案(或删除它,如果我已经曲解。)
对编辑1的回复:
我认为解决这个问题的方法是认识到,对于任何给定的视图,您只能显示与水平分辨率一样多的数据点,因此您可以将数据下载限制为此。
从我听到的内容(并且我认为我非常一些细节)这个问题可以简化为:
这听起来并不太糟糕,你原来的问题(数据太多导致系统崩溃)消失了。这使您无法计算下载数据的高度。
我有其他类型或设备,其中“高点和低点”是巨大的和 用户希望只在一个“图表”中看到所有数据而不放大。 所以,在这种情况下,仅仅从简单的外观就很容易看出来 读数上发生了一些事......
我可以在这里看到许多潜在的困难...
如果这些事件的时间刻度太短,则在天真绘制的图形上将无法显示它们。如果特定折线图中有100000个点,并且您的默认查看区域宽度为1000像素而没有缩放,则您只能看到100个数据点中的1个。例如,如果一些尖峰持续10个数据点,除非你做了一些特殊的事情,它很可能在图形上不可见(因此用户不会知道“放大”以获得更高的分辨率)。你如何确定绘制点的高度?特定地点的实际数据点?像素覆盖的100个数据点的平均值?滚动平均值?如果不平均,你可能完全错过尖峰。如果你做平均值,你可以降低尖峰或低谷的幅度,如果它们的持续时间很短。
这一点,我认为(而且,我做了很多猜测)听起来像是真正的挑战。试图找到一些显示图形的方法,它肯定无法一次显示所有数据,但可能有一些方法可以动态地突出显示兴趣点(计算,记录和标记峰值和谷值)图表上的符号...类似的东西。)
答案 1 :(得分:0)
从FusionCharts马厩中试用Zoom Line chart。
我自己创建了包含27,000个数据点的图表;在初始加载时间之后,图表运作顺利。
以下是关于缩放折线图的博客文章 - http://blog.fusioncharts.com/2011/10/stuck-between-massive-historical-data-and-daily-intricacies-zoom-line-chart-to-the-rescue/
作为奖励,您可以使用纯JavaScript或Flash渲染图表。
它也适用于服务器端语言。查看他们的文档以获取更多阅读材料 - http://docs.fusioncharts.com/