JavaScript可以可视化大型数据集了吗?

JavaScript可以可视化大型数据集了吗?,javascript,dom,browser,visualization,flot,Javascript,Dom,Browser,Visualization,Flot,我们有一些数据(10-50列,数十万行),我们通常在Excel中将其可视化为折线图或堆叠条形图。 用户希望能够放大和缩小图表,以获得单个样本,但这种操作确实会让Excel屈服 我正在考虑将数据嵌入HTML页面,使用内嵌JavaScript处理浏览器中的可视化。类似于flotr JS图表库的东西将用于图表 这是一个愚蠢的想法吗 浏览器是否准备好进行这种加载 这是一个解决了的问题,我应该在问之前用谷歌搜索更彻底吗 Javascript可以可视化大型数据集了吗? 是的,这种语言在适当的环境中可以毫不费

我们有一些数据(10-50列,数十万行),我们通常在Excel中将其可视化为折线图或堆叠条形图。
用户希望能够放大和缩小图表,以获得单个样本,但这种操作确实会让Excel屈服

我正在考虑将数据嵌入HTML页面,使用内嵌JavaScript处理浏览器中的可视化。类似于flotr JS图表库的东西将用于图表

  • 这是一个愚蠢的想法吗
  • 浏览器是否准备好进行这种加载
  • 这是一个解决了的问题,我应该在问之前用谷歌搜索更彻底吗

  • Javascript可以可视化大型数据集了吗?

    是的,这种语言在适当的环境中可以毫不费力地处理重要的记录集,并对它们进行操作、可视化等。语言本身很好

    这是个愚蠢的想法吗?

    不,事实上,几乎每台计算机都能运行这种功能强大的跨平台语言

    浏览器准备好进行这种加载了吗?

    有些可能是-取决于您实际采取的处理和操作。随着Chrome使用一个快速的javascript引擎,越来越多的人严重依赖它,javascript速度之战被点燃。我认为这是一个非常有效的使用场景

    您需要为基准测试和优化做好准备,这意味着要挖掘javascript的精髓。请公布您的结果,以便弥补缺陷


    -Adam

    Javascript可能已经准备好了,因为Javascript本身已经变得相当快了。根据我的经验,浏览器通常不准备处理非常大的DOM结构。至少你可以期待花很多时间来找出事情进展缓慢的原因。您还将发现,许多“标准”javascript库(我想到的是prototype/jquery)不适合处理“过大”的DOM结构


    要准备好发现一个给定的操作在所有浏览器上都很慢,但最终在不同的浏览器上会有3-4个不同的原因。这是基于使用中等尺寸DOM的经验。当然,这是可能的,但要获得一个好的结果需要付出相当多的努力。

    我强烈推荐Adam的建议,进行一些基准测试和优化。我最近在使用Flot绘制大型数据集方面做了一些工作,但在使用Internet Explorer时体验到的性能不太令人满意(例如,在绘制图表时,整个浏览器在我的开发人员框上挂起约20秒)

    Flot使用元素绘制图表,该元素仅受Internet Explorer 9+支持。Flot使用该库为旧版本的Internet Explorer提供支持。该库使用,通过DOM操作VML元素来绘制图形

    我发现渲染绘图所花费的大部分时间都是调用本机来创建VML元素。由于无法改善对本机方法的调用的性能,我转而致力于减少绘制的数据点数量(进而减少在DOM中创建的VML元素),以获得可接受的性能


    如果您不需要或不关心对旧版本Internet Explorer的支持,那么您应该会发现Flot/Flotr能够处理大型数据集。但是,如果您确实需要支持这些版本,请准备好在绘制大型数据集时遇到性能问题。

    我发现,如果我试图让Flot绘制一个包含10k点的简单折线图,我的浏览器将崩溃,因此强烈建议使用其缩放+AJAX功能。Canvas、WebGL和HTML5 API-是的!浏览器已经准备好了!画布、WebGL和HTML5API——是的!浏览器已经准备好了!