Ich bin mit crossfilter und dc.js arbeiten und ich möchte so etwas machen:Crossfilter.js und dc.js barchart Fragen
So, nachdem die Dimension und die Gruppe zu erstellen:
var Time1 = ndx.dimension(function(d) { return d.Dep_Time1; }); var FlightsByTime1 = Time1.group();
ich versuchte, ein Balkendiagramm wie diese zu zeichnen:
var Time1Chart = dc.barChart("#Time1-chart");
Hier ist die Definiton:
Time1Chart
.height(160)
.transitionDuration(1000)
.dimension(Time1)
.group(FlightsByTime1)
.brushOn(true)
.margins({top: 10, right: 50, bottom: 30, left: 50})
.centerBar(false)
.gap(1)
.elasticY(true)
.x(d3.scale.ordinal().domain(Time1))
.xUnits(dc.units.ordinal)
.renderHorizontalGridLines(true)
.renderVerticalGridLines(true)
.ordering(function(d){return d.value;})
.yAxis().tickFormat(d3.format("f"));
Und ich dieses Ergebnis:
Die Probleme:
. Wie Sie sehen können, habe ich in Achsenwerten viele Daten ...: s
. Ich habe keine Bürste, trotz brushOn (true)
. Ich möchte die Achse wie im Beispiel 2 Stunden mal 2 Stunden segmentieren
Bitte wer kann mir helfen, das oben genannte zu erreichen?
Jeder helfen? –
Sieht aus wie Ihre Zeitgruppe auf der falschen Aggregationsebene definiert ist. Damit Menschen Ihnen am besten helfen können, wäre es gut, wenn Sie ein funktionierendes Beispiel zusammenstellen könnten. Hier ist ein JSFiddle mit den benötigten Bibliotheken, die Sie starten können: https://jsfiddle.net/esjewett/jusjkm8j/ –
Für zukünftige Referenz, beachten Sie bitte das feste dc.js-Tag. – Gordon