Basic Backbone application using d3
DetailsView

You should pass jquery selector to the el — Backbone will handle it. Also, note that you should pass DOM element to the el property.



Injecting one view into another is often a bad practice (if relation is not like parent and subview): is.options.dataEditorView.$el.show(); this.options.finalView.render();

Consider triggering event like validation-success from DetailsView. Subscriber to this event should be in the route or other main object.

DataEditorView

var point = {
    x: $("#input-point-x").val(),
        y: $("#input-point-y").val()
};

Series.create(point); 
// Probably you want to add new point to existing collection this.options.seriesCollection?




Another view injection: this.options.summaryView.addPoint(points);

Just add new point into collection and subscribe to event in the summaryView (see next block).



// Micro optimization
var pointX = $(".point-x");
pointX.val("");
pointX.focus();


SummaryView

Add view.listenTo(seriesCollection, 'add', addPoint) into initialize step. addPoint should accept parameters: model, collection, options, where model is a new point which was added to the collection.

In this function you should run collection.toJSON() to prepare points for D3.data().