Javascript绘图库?

任何JavaScript交互式绘图库的build议? 只需要画线,多边形,不同颜色的文字。 IE / Firefox / Opera / Safari兼容。

Raphael是非常酷的,因为它使用VML(用于MSIE)和SVG(用于其他所有的),所以在浏览器中工作。

John Resig的Processing.js是一个很好的框架。

您可以直接使用canvas对象来绘制2D。 IE需要excanvas库。

http://developer.mozilla.org/En/Drawing_Graphics_with_Canvas

尝试http://www.walterzorn.de/en/jsgraphics/jsgraphics_e.htm 。 这是我find的最好的(没有诉诸SVG),并且在大多数浏览器中都没有加载项。

用canvas标签画文字是一大痛苦。 你的select是使用正确的位置绝对定位的div,或者find/写一个字体布局引擎( 例子 ),或者等待一个新的标准被实现,让你绘制文本。 SVG处理这个好多了。

在IE中, ExplorerCanvas使用IE自己的VML标记模拟canvasAPI。 但是,本地VML可以在path上进行文本操作,而SVG就像这样。 我想在理论上,如果你想要复杂的文本处理,你会希望SVG和VML像丹提到的拉斐尔图书馆。

在开始之前,您可能还会考虑使用Flash。

如上所述,帆布是你应该去的方式。 IE本身不支持,所以你需要下载ExCanvas以确保跨浏览器的兼容性。 我build议看看Ajaxian的一些使用canvas标签的项目。

检出jQuery Drawing插件 ,你也可以看看Mozilla Canvas的参考和教程 。

另外mxGraph 。 这不为IE使用excanvas。 Excanvas比使用VML慢,具体来说,重新使用相同的VML节点,而不是删除,添加DOM节点重绘。 这往往是一个被忽视的点,但IE浏览器性能excanvas是可怕的。

根据跨浏览器的需要和输出的目标,你可以看看Canvas元素和相关的javascript。

帆布

D3.js

D3.js是一个基于数据处理文档的JavaScript库。 D3帮助您使用HTML,SVG和CSS将数据带入生活。 D3强调networking标准,可以让您充分利用现代浏览器的function,而无需将自己绑定到专有框架,将强大的可视化组件和数据驱动的方法结合到DOM操作中。

看看这个讨论了。