有没有人会推荐一个特别的JavaScript图表库——特别是一个根本不使用flash的库?


当前回答

看看谷歌可视化API,这是一种更简单的图表API的推广

其他回答

有越来越多的纯JavaScript图表的开源和商业解决方案不需要Flash。在这个回答中,我将只介绍开源选项。

对于不需要Flash的图像,有两类主要的JavaScript解决方案:

基于画布的,在IE中使用ExplorerCanvas渲染,这反过来依赖于VML 基于标准的浏览器上的SVG,在IE中呈现为VML

这两种方法各有利弊,但对于图表库,我推荐后者,因为它与DOM集成得很好,允许使用DOM操作图表元素,最重要的是设置DOM事件。相比之下,Canvas图表库必须重新发明DOM轮来管理事件。因此,除非您打算构建没有事件处理的静态图形,否则SVG/VML解决方案应该更好。

对于SVG/VML解决方案,有许多选项,包括:

Dojox图表,如果您已经使用了Dojo工具包,那就很好 Raphael-based解决方案

Raphael是一个非常活跃,维护良好,成熟的开源图形库,具有非常好的跨浏览器支持,包括IE 6到8,Firefox, Opera, Safari, Chrome和Konqueror。Raphael不依赖于任何JavaScript框架,因此可以使用Prototype, jQuery, Dojo, Mootools等…

有许多基于拉斐尔的图表库,包括(但不限于):

gRaphael, Raphael图形库的扩展 Ico,具有基于单个函数调用的直观API来创建复杂的图表

披露:我是github上Ico分支之一的开发者。

尝试麻省理工学院的明喻时间轴,它可以做成一个图表- http://simile.mit.edu/timeline/

或者最后一个,http://code.google.com/p/gchart/

可能不是OP所寻找的,但由于这个问题已经成为JS图表库选项列表:jQuery Sparklines真的很酷。

如果你正在使用jQuery,我发现flot非常好-尝试一下示例,看看它们是否适合你的需求,但我发现它们可以满足我当前项目的大部分需求。

此外,ExtJS 4.0还引入了一组非常强大的图表,旨在处理实时数据。

如果你需要的只是柱状图。我发布了一些我一直在一个旧项目中使用的代码。有人告诉我,VML实现在最近版本的IE上被破坏了,但是SVG应该可以正常工作。可能会回到项目中,发布一些我已经拥有的服务器端渲染器,也许还有WebGL渲染层。有一个链接:http://blog.conquex.com/?p=64