JavaScript图表库
有人会推荐一个特定的JavaScript图表库,尤其是根本不使用Flash的JavaScript图表库吗?
解决方案
如果我们使用的是jQuery,我发现flot很好,请尝试这些示例以查看它们是否满足需求,但我发现它们可以满足当前项目的大部分需求。
此外,ExtJS 4.0引入了非常强大的大量图表,旨在处理实时数据。
它可能不完全是我们想要的,但是
Google的Chart API非常酷并且易于使用。
不是Javascript库,它可能是一种合适的替代方法,可检出Google图表,我们可以在其中通过将查询字符串数据传递到Web服务来生成图表。
尝试使用MIT明喻时间表,可以将其制作成图表http://simile.mit.edu/timeline/
或者最后一个http://code.google.com/p/gchart/
我的最爱(羊群)已经被提及。
但是一定要调查Ortho。
它非常适合树状图和时间表。
看看布拉夫。它是Ruby的Gruff图形库的JavaScript端口。
Flotr是另一个基于Prototype并受Flot启发的纯Javascript图表库
dojo图表库中有很多活动,而且在AIR应用程序中使用它也没有问题,这太好了,太酷了!
参见例如http://www.sitepen.com/blog/2008/05/27/dojo-charting-event-support-has-landed/
尝试PlotKit
查看Google Visualization API,它是对更简单的Chart API的概括
原型图就是我们所需要的
我建议使用gRapha?l进行纯JavaScript图表绘制,以及建立在其上的纯JavaScript矢量图形库(Rapha?l)。
gRapha?l当前支持Firefox 3.0 +,Safari 3.0 +,Opera 9.5+和Internet Explorer 6.0+。
查看http://www.highcharts.com!
Highcharts是用纯JavaScript编写的图表库,它提供了一种将交互式图表添加到网站或者Web应用程序的简便方法。 Highcharts当前支持折线图,样条图,面积图,面线图,柱形图,条形图,饼图和散点图类型。
越来越多的不需要Flash的用于纯JavaScript制图的开源和商业解决方案。在此回复中,我将仅介绍"开放源代码"选项。
对于不需要Flash的图形,有两种主要的JavaScript解决方案类:
- 基于画布,使用ExplorerCanvas在IE中呈现,而后者又依赖于VML
- 基于标准的浏览器上的SVG,在IE中呈现为VML
两种方法都有优点和缺点,但对于制图库,我会推荐后者,因为它与DOM集成良好,可以使用DOM操作图表元素,最重要的是设置DOM事件。相比之下,Canvas图表库必须重新发明DOM轮以管理事件。因此,除非我们打算在不进行事件处理的情况下构建静态图形,否则SVG / VML解决方案应该更好。
对于SVG / VML解决方案,有很多选择,包括:
- Dojox Charting,如果我们已经使用Dojo工具包,那就很好
- 基于拉斐尔的解决方案
Raphael是一个非常活跃,维护良好且成熟的开源图形库,具有很好的跨浏览器支持,包括IE 6至8,Firefox,Opera,Safari,Chrome和Konqueror。 Raphael不依赖任何JavaScript框架,因此可以与Prototype,jQuery,Dojo,Mootools等一起使用。
有许多基于Raphael的图表库,包括(但不限于):
- gRaphael,Raphael图形库的扩展
- Ico,具有基于单个函数调用的直观API,可创建复杂的图表
披露:我是github上Ico分支之一的开发人员。
jqPlot很棒。如果需求是相当"正常"的,并且我们只想绘制一些图表,那么我们可能会为JS图表选项的数量所困扰。假设我们不想进行数小时的研究,请选择jqPlot,因为这可能是我们最好的选择。它很好地涵盖了大多数人的大多数用例。一些替代方法专门针对某种类型的图表,或者在考虑特定用例的情况下构建。
- 框架:http://www.simile-widgets.org/
基本:http://www.filamentgroup.com/examples/charting_v2/index_2.php
美观:http://www.highcharts.com/