Объединение d3.js и backbone.js

Я работаю над проектом, который объединяет все визуализации d3.js с backbone.js в одностраничное приложение. Поскольку у меня много визуализаций, таких как гистограмма, круговая диаграмма и т.д., Мне было интересно, какой лучший подход к этой проблеме.

Например, скажем, у меня есть две гистограммы и круговая диаграмма. Должен ли я помещать все установленные поля, шкалы, отображать все данные для всех диаграмм вместе в представлении? Поскольку существует два разных типа графиков, какова должна быть модель?

Что следует искать в представлении, модели, контроллере, коллекции и т.д.

Спасибо заранее,

Ответы

Ответ 1

Я немного поработал с D3 и Backbone, и есть несколько существующих решений:

Обзор презентации

Краткое руководство по объединению магистрали и D3

Более продолжительное обсуждение вступления в брак с Backbone и D3

Куча JS-библиотек для интеграции с D3

Я также нашел библиотеку на GitHub, но она, похоже, не поддерживалась...

В конце концов, ни один из них не удовлетворил меня, поэтому я разработал собственные модели, коллекции и представления Backbone. Я установил:

ChartPoint Модель - координата X и Y и метка точки

ChartSeries Коллекция - коллекция ChartPoints, которые определяют полный график

ChartBaseView - представление, которое интерпретирует данные выше, обрабатывает события, рисует оси и другие общие функции

BarChartView, LineChartView, PieChartView и т.д. - Конкретные виды для отображения типа диаграмм, которые вы хотите. Большая часть вашего кода D3 идет здесь.

Не сказать, что это "правильный" способ сделать это... просто по-моему.