29

D3.js 和 Cytoscape.js 有什么区别?

为什么有人会选择 Cytoscape 而不是 D3.js?

4

1 回答 1

62

D3 用于图表,主要是静态图表。Cytoscape.js 让您可以操作高度可定制的交互式图形,并拥有与 jQuery 一样易于使用的 API。

D3 用于任意SVG。这意味着虽然它可以用来制作很多不同的东西,但您必须自己构建渲染器、交互和建模。有时这就是你所需要的。(注意 SVG 往往无法高效地渲染具有大量 SVG 元素的高度复杂的场景,因此请仔细评估您的应用程序的要求。)

Cytoscape.js 是一个专注于图论(网络)的库。它有一个内置的高性能渲染器,它有手势和事件,它有一个开箱即用的复杂图形模型,等等。因为它更专注,Cytoscape.js 让你可以用更少的代码做更多的图形——但是当然,你不能将它用于条形图或点图之类的东西。

如果你想要一个简单的网站图表,D3 很棒。如果您想构建一个具有严肃图形组件的应用程序而无需重新发明轮子,Cytoscape.js 非常棒。

于 2013-06-07T20:35:52.450 回答