2012-04-12 7 views
1

Ich versuche ein gruppiertes Balkendiagramm mit 70 Samples und 2 Serien zu erstellen. Ähnlich wie bei diesem Beispiel:Gruppiertes Balkendiagramm mit verschiedenen y-Achsen/Skalen

http://bl.ocks.org/882152

jedoch eine Reihe [0 ... 1] und die andere Serie ist [0 ... 1.000.000]. Ich kann das Beispiel nicht mit meinen Zahlen neu erstellen.

Ich bekomme auch nicht wirklich das Beispiel. Sollten die Variablen nicht geschaltet sein, d. H. X -> y, y0 -> x0 und y1 -> x0? Oder stehen sie nicht für die x- und y-Achse?

Danke!

Edit:

Hier ist ein Beispiel, das mein Problem (Blick in der Konsole) demonstriert. http://jsfiddle.net/kQSGF/3/

Antwort

2

Das Problem scheint von der Skala Definition zu kommen:

var x = d3.scale.linear().domain([0, 1]).range([h, 0]); 

Die Domäne [0,1] gesetzt ist, aber nur die erste Datenreihe fällt tatsächlich in diesem Bereich. könnten Sie betrachten die Domäne in dem Umfang Ihrer Daten festlegen und den Ausgangsbereich Umkehr, so dass sie die Werte in Ihren Daten zeigen, anstatt die ‚nicht‘ Wert Betrag als Bar:

var x = d3.scale.linear().domain(d3.extent(d3.merge(data))).range([0,h]); 

Beachten Sie, dass Sie Es ist immer noch unwahrscheinlich, dass Sie Ihre kleineren Datenreihen sehen, da die Bereiche Ihrer Daten so signifikant unterschiedlich sind.

+0

Das macht Sinn. Aber wie kann ich erreichen, dass beide Datensätze in derselben Grafik angezeigt werden? Vielleicht [0 .. 1] auf der linken Seite mit einer y-Skala und [0 ... 1.000.000] mit einer anderen y-Skala auf der rechten Seite. – zemirco

+1

Ok, um dies zu tun, müssen Sie lediglich zwei verschiedene Maßstäbe für jede Datenreihe definieren. Siehe [http://jsfiddle.net/kQSGF/8/](http://jsfiddle.net/kQSGF/8/) – Josh

+0

Cool, danke! – zemirco

Verwandte Themen