D3和Dojo GFX的比较

时间:2012-06-26 14:10:55

标签: javascript dojo d3.js dojox.gfx

我打算使用D3或Dojo GFX之一来创建一些大数据视觉效果,如TreeMap,Wave-forms等.D3的优点在于,许多这些可视化已经可用作快速开发的示例实现。它的enter-update-exit范例也非常适合我的数据集。但我不反对使用Dojo GFX(并编写我自己的Treemap等实现),如果据说它更稳定,更适合移动。

寻求建议和比较......

1 个答案:

答案 0 :(得分:6)

简而言之,答案很简单:如果您使用的是dojo,请使用GFX模块。如果您不使用dojo,请使用D3。

更多,GFX和D3实际上是一回事:低级绘图API(此处为可视化工具包),两者都可以与更大的一起使用javascript框架。事实上,GFX必须在dojo中使用。

由于图形/图表/绘图/任何通常只是Web应用程序的一部分,底层框架体系结构应该是选择可视化工具包的驱动力。所以基本上,如果你去dojo或者是什么将会为你回答这个问题,如果你这样做,GFX是一个很好的选择,因为它已经被烘焙了(尽管我应该提到D3可以包含在AMD中{{{ 3}})。

现在,一个真正的答案

如果您已经确定可视化工具包是选择javascript框架的驱动力而不是相反的方式,那么以下是关于GFX与D3的一些想法:

社区支持:有更多人在开发和询问有关D3的问题。看着github手表/星星/叉子,referenced here领先于D3 54/52/91(dojox是GFX的父模块)的1.9k / 22.7k / 4.7k。这里的stackoverflow GFX'sD3 26相比有近7k个标签。

功能:GFX可以使用SVG,VML,canvas,甚至silverlight进行渲染。通过这种方式,GFX具有出色的跨平台,浏览器和版本支持。除此之外,两个可视化工具包都享有与声明性地编写可视化时获得的每个功能相同的访问权限。

学习曲线:这两个工具包都是非常低级的API,难以学习。对于那些不熟悉广泛方法链的人来说,D3的enter-update-exit模式可能特别令人困惑。

框架:这两个可视化工具包都用于更大的图表框架。 GFX由GFX's使用,许多人使用D3,包括Dojo ChartingNVD3D3plus等等。