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

32

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

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

1个回答

67

D3是用于制作图表和大多数静态图形的工具。Cytoscape.js允许您操纵高度可定制和交互式的图形,并且具有与jQuery一样易于使用的API。

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

Cytoscape.js是一个专注于图论(网络)的库。它内置了高性能渲染器、手势和事件、复杂的图形模型等。因为它更加专注,Cytoscape.js让您用更少的代码做更多的事情,但当然,您不能将其用于像条形图或点图这样的东西。

如果您想为网站创建简单的图表,则D3非常好。如果您想构建具有严重图形组件的应用程序,而又无需重新发明轮子,则Cytoscape.js非常好。


1
截至2016年3月,这些是否仍然有效?其间发生了什么变化? - Erik Kaplun
1
Cytoscape.js比2013年更快,功能也更多。D3仍然只支持DOM/SVG和通用性较强。对于大型可视化来说,SVG仍然速度较慢,并且几乎肯定永远比Cytoscape.js使用的光栅图形慢。D3适用于条形图或饼图等简单、大部分静态的图表。 - maxkfranz
7
静态的东西?你查看过 D3 示例库了吗? - Erik Kaplun
3
在 @ErikKaplun 提问“这个三年前的回答仍然适用吗?”五年后,我现在也提出同样的问题:“这个八年前的回答仍然适用吗?” - Mawg says reinstate Monica
1
Cytoscape 示例 - Abhi
显示剩余4条评论

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接