我打算使用 D3 或 Dojo GFX 中的一种来创建一些大数据视觉效果,例如 TreeMap、Wave-forms 等。D3 的优点在于,其中许多可视化效果已经可以作为示例实现使用,以实现快速开发。它的进入-更新-退出模式也非常适合我的数据集。但我不反对使用 Dojo GFX(并编写我自己的 Treemap 等实现),如果据说它更稳定且更适合移动设备的话。
寻求建议和比较...
最佳答案
简而言之,答案很简单:如果您正在使用 dojo,请使用 GFX 模块。如果您不使用 dojo,请使用 D3。
更重要的是,GFX 和 D3 实际上是同一件事:低级绘图 API(此处称为可视化工具包),两者都可以与更大的javascript框架。 GFX,事实上,必须在 dojo 中使用。
由于图形/图表/绘图/任何东西通常只是 Web 应用程序的一部分,因此底层框架架构应该是选择可视化工具包的驱动力。所以基本上,如果你去 dojo 是什么会为你回答这个问题,如果你这样做,GFX 是一个很好的选择,因为它已经被烘焙(尽管我应该提到 D3 可以包装在 AMD 中作为 referenced here ) .
现在,一个真正的答案
如果您确定可视化工具包是选择 javascript 框架的驱动力,而不是相反,这里有一些关于 GFX 与 D3 的想法:
社区支持:越来越多的人在开发 D3 并提出问题。查看 github watches/stars/forks,D3 比 GFX's 54/52/91 领先 1.9k/22.7k/4.7k(dojox 是 GFX 的父模块)。在 stackoverflow 上,与 D3 26 相比,GFX's 有近 7k 个标签。
特性:GFX 可以使用 SVG、VML、canvas 甚至 silverlight 进行渲染。由此,GFX 具有卓越的跨平台、浏览器和版本支持。除此之外,这两个可视化工具包都享有对以声明方式编写可视化时获得的每个功能的相同访问权限。
学习曲线:这两个工具包都是非常低级的 API,学习起来很复杂。对于那些不熟悉大量方法链的人来说,D3 的进入-更新-退出模式可能尤其令人困惑。
框架:这两个可视化工具包都用于较大的图表框架。 GFX 由 Dojo Charting 使用,D3 由许多使用,包括 NVD3、D3plus 和 Vega 等等。
关于javascript - D3 与 Dojo GFX 对比,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11209238/