Ответ 1
Я немного поработал с D3 и Backbone, и есть несколько существующих решений:
Краткое руководство по объединению магистрали и D3
Более продолжительное обсуждение вступления в брак с Backbone и D3
Куча JS-библиотек для интеграции с D3
Я также нашел библиотеку на GitHub, но она, похоже, не поддерживалась...
В конце концов, ни один из них не удовлетворил меня, поэтому я разработал собственные модели, коллекции и представления Backbone. Я установил:
ChartPoint
Модель - координата X и Y и метка точки
ChartSeries
Коллекция - коллекция ChartPoints, которые определяют полный график
ChartBaseView
- представление, которое интерпретирует данные выше, обрабатывает события, рисует оси и другие общие функции
BarChartView
, LineChartView
, PieChartView
и т.д. - Конкретные виды для отображения типа диаграмм, которые вы хотите. Большая часть вашего кода D3 идет здесь.
Не сказать, что это "правильный" способ сделать это... просто по-моему.