JavaScript图表API:Flot jQuery插件或谷歌可视化?

我正在寻找一个图表库在网站上显示。 我将密集使用这个库(主要是面积,线条和条形图),所以我更愿意在开始实施之前确保我的select。

我最初考虑的网站图表库的列表是:

  • Plotkit
  • Emprise JS图表
  • 迷你图
  • Protochart
  • gRaphael
  • 虚张声势
  • YUI图表 :

然而经过对这个论坛和网上调查的一些研究,我把我的候选人名单缩减到这两个图书馆:

  1. Flot jQuery插件
  2. Google可视化

您build议我使用哪一个?为什么(如果您曾与其中一个或两个人一起工作,请告诉我您的反馈)?

他们如何在易用性,性能和function方面相互比较?

谢谢

编辑:基于闪存图表库不符合我的约束条件

在经过几次尝试和研究这两个可视化库之后,我会尝试回答我自己的问题,下面是我自己的每个解决scheme的优点列表:

Flot优点


  1. jQuery插件 :如果您熟悉jQuery(或者如果您的应用程序与jQuery集成),那么使用Flot
  2. 离线可视化 :您可以testing或将其安装到内部网站。 只有您有权访问Google网站,Google Visu才能使用!
  3. 定制 :这基本上是一个JavaScript文件,所以如果你擅长JS编码,你可以自定义你的图表。 另外Flot插件系统可以让你更好的模块化

Google可视化优点


  1. 文档 :真棒! Google网站提供了各种图表的示例
  2. 易于使用 :真的。 比Flot更容易(这需要以某种方式自定义div容器)
  3. 强大 :你有很多graphics和function(缩放,交互性…)
  4. Java和Python API :它可以帮助我们构build数据表(至less对于我来说,我可以使用Java API)

底线


如果您熟悉jQuery,请使用Flot。 如果因为某些原因需要离线查看图表,请使用Flot。 如果你想完全控制,使用Flot。

如果你不认识你自己,去Google Visu。 这很容易学习和实施,非常有据可查,非常强大。

不在你的列表中,但我build议你看看Highcharts http://www.highcharts.com/ Highcharts是SVG,因此它比Flot更加dynamic,你可以使用CSS重新绘制graphics,附加事件,执行animation等…它也与IE6兼容,它在服务器端(thx to蜡染)我目前正在build立一个graphics密集型的应用程序,并select了许多基准后的Highcharts。 我不后悔我的select。

piwik项目使用Open Flash Chart (不在您的列表中)。

它很容易使用,有很多用户友好的工作示例。

我是Flot的用户,也是一个大粉丝。 我在Grails应用程序中使用它,并使用堆叠的条形图,线形和饼图,包括时间序列和一系列交互function(即,使用checkboxclosures/打开系列等)。

我觉得这是一个愉快的工作,总的来说,感觉API是非常发达的(我看到一堆其他JS图表库采用了API,所以你甚至可以有一些灵活性,以移动到另一个工具包在未来)。 从刚才的google API看,我认为我更喜欢flot(尽pipegoogle也许有能力通过一个系列,也没有从样本中看到)。

他们几个星期前刚刚推出了一个新版本(0.6),支持插件,我期望这会刺激更多的创新。

所以我认为这部分取决于你计划使用的其他技术。 看起来像可视化与GWT集成在一起,所以如果您正在考虑使用可视化,可视化就是要走的路。 另一方面,如果您正在考虑将AJAX用于JQuery,那么Flot可能会更自然。

当我决定使用它时,Google似乎没有交互式可视化,只有谷歌图表(图像),这是我与Flot一起使用的原因之一。

有jqPlot(http://www.jqplot.com/),这是一个开源项目,看起来不错。; 也基于jQuery。 我会给jqPlot一个尝试,jQuery的flot似乎是非活动的。

不在列表中,但非常令人印象深刻: ExtJS 4.0图表