2015-05-27 8 views
6

Ich bin neu bei dc.js.Zugriff auf gefilterte/abgeschnittene Daten aus einem dc.js-Diagramm

Ich habe einige Daten:

var data = 
[ 
     {date: Date.UTC(2015, 4, 4), frame: "frame1" }, 
     {date: Date.UTC(2015, 2, 1), frame: "frame2" }, 
     {date: Date.UTC(2015, 2, 11), frame: "frame3" }, 
     {date: Date.UTC(2015, 1, 4), frame: "frame4" }, 
]; 

//create crossfilter 
    cf = crossfilter(data); 
//create dimension 
    byDate = cf.dimension(function (d) { 
      return d.date; 
    }); 
//create group 
    byDateGroup = byDate.group(); 

Und ich bin mit diesem dc.lineChart:

//configure timeGraph 
    timeGraph = dc.lineChart("#range") 
    .width(document.body.clientWidth) 
    .height(100) 
    .dimension(byDate) 
    .group(byDateGroup) 
    .transitionDuration(500) 
    .elasticY(true) 
    .x(d3.time.scale().domain([(byDate.bottom(1))[0].date, (byDate.top(1))[0].date + 1000])) 
    ; 

Und ich möchte die Daten zuzugreifen, die durch den einstellbaren Bereich Auswahlleiste gefiltert wird. Ich denke, die Übergabe einer Funktion an onfiltered würde funktionieren, aber ich weiß nicht, auf was von chart zugreifen, um die aktuell gefilterten Daten zurückzugeben.

timeGraph.on("filtered", function (chart) { 
    console.log(/* print the data filtered by the 'range selector' */); 
}); 

Here's a JSFiddle with an example. Wenn das Beispiel ordnungsgemäß funktioniert waren, alles von der Tabelle angezeigt wird, in der Konsole erscheinen soll.

Vielen Dank im Voraus.

Antwort

Verwandte Themen