15

我正在开发一个项目,它将所有 d3.js 可视化与backbone.js 结合到一个单页应用程序中。由于我有许多可视化,如条形图、饼图等,我想知道解决这个问题的最佳方法是什么。

例如,假设我有两个条形图和一个饼图。我应该把所有设置的边距、比例、所有图表的所有数据一起呈现在一个视图中吗?既然有两种不同类型的图,那么模型应该是什么?

View、Model、Controller、Collection等应该去什么?

提前致谢,

4

1 回答 1

22

我已经考虑过将 D3 和 Backbone 结合起来,并且有一些现有的解决方案:

概述介绍

结合 Backbone 和 D3 的简短教程

关于将 Backbone 和 D3 结合的更长讨论

一堆用于与 D3 集成的 JS 库

我还在 GitHub 上找到了一个库,但似乎不支持它...

最后,这些都没有让我真正满意,所以我开发了自己的 Backbone 模型、集合和视图。我设置:

ChartPoint模型 - X & Y 坐标和点标签

ChartSeries集合 - 定义完整图表的 ChartPoints 集合

ChartBaseView- 解释上述数据、处理事件、绘制轴和其他通用功能的视图

BarChartView, LineChartView, PieChartView, 等 - 用于呈现您想要的图表类型的特定视图。您的大部分 D3 代码都放在这里。

并不是说这是“正确”的方式……只是我的方式。

于 2013-06-20T15:58:20.457 回答