JavaScript图表API:Flot jQuery插件或谷歌可视化?
我正在寻找一个图表库在网站上显示。 我将密集使用这个库(主要是面积,线条和条形图),所以我更愿意在开始实施之前确保我的select。
我最初考虑的网站图表库的列表是:
- Plotkit
- Emprise JS图表
- 迷你图
- Protochart
- gRaphael
- 虚张声势
- YUI图表 :
然而经过对这个论坛和网上调查的一些研究,我把我的候选人名单缩减到这两个图书馆:
- Flot jQuery插件
- Google可视化
您build议我使用哪一个?为什么(如果您曾与其中一个或两个人一起工作,请告诉我您的反馈)?
他们如何在易用性,性能和function方面相互比较?
谢谢
编辑:基于闪存图表库不符合我的约束条件
在经过几次尝试和研究这两个可视化库之后,我会尝试回答我自己的问题,下面是我自己的每个解决scheme的优点列表:
Flot优点
- jQuery插件 :如果您熟悉jQuery(或者如果您的应用程序与jQuery集成),那么使用Flot
- 离线可视化 :您可以testing或将其安装到内部网站。 只有您有权访问Google网站,Google Visu才能使用!
- 定制 :这基本上是一个JavaScript文件,所以如果你擅长JS编码,你可以自定义你的图表。 另外Flot插件系统可以让你更好的模块化
Google可视化优点
- 文档 :真棒! Google网站提供了各种图表的示例
- 易于使用 :真的。 比Flot更容易(这需要以某种方式自定义div容器)
- 强大 :你有很多graphics和function(缩放,交互性…)
- 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图表