Ich bin ziemlich neu in D3 und ich versuche, ein gestapeltes Balkendiagramm (oder Säulendiagramm) mit eindeutigen Balken für jede Zeile (jeweils Beobachtung) im Datensatz.D3 gestapelt Balkendiagramm: eindeutige Leiste für jede Zeile (nur eine Zeile Stapel)
Das Problem, das ich festgestellt habe, ist: Wenn es mehr als eine Zeile mit dem gleichen Wert für die y-Achsen verwendet (in meinem Fall in data.csv, in der Spalte "Seq", "3" und "4" erscheint zweimal), dann mit dem gleichen Namen alle Daten (aus verschiedenen Zeilen) zusammen, wie diese gestapelt werden:
data.csv
seq,Idle Time,Answer Time
2,95,4
1,0,3
3,22,3
4,0,4
6,43,3
5,0,2
8,30,1
7,0,3
4,20,5
3,0,8
Aber was ich versucht habe zu tun ist es, einen Balken für jede Zeile zu machen, trotz der identischen Werte von d.seq (so dass es werden zwei Bars für d.seq = 3 und d.seq = 4)
Der vollständige Code arbeite ich jetzt an ist here
werden Anregungen dankbar, danke!
Vielen Dank für die Lösung. Aber ja, ich muss immer noch die "Seq" -Werte als Y-Tick-Label anzeigen, kann es aber immer noch nicht herausfinden. Ich verstehe, dass "Tickformat" verwendet werden sollte, aber es wird nicht funktionieren, wenn ich "yAxis = d3.svg.axis() .scale (y) .tickFormat (Funktion (d) {return d.seq;});' . – tiffkyn
Siehe die Änderung. Das "d", das Sie an Ihre Funktion in tickFormat übergeben, ist nur der Tick-Wert, nicht Ihr Daten-Array. Sie müssen die yAxis-Definition innerhalb des Aufrufs d3.csv verschieben und explizit auf Ihr Datenarray verweisen. – James
@James vielen Dank für Ihre Antwort! es hat mich gerettet! – PrincessBelle