Ich versuche, diese Daten in einem gestapeltes Balkendiagramm mit D3 v4 zu visualisieren:Proper Datenstruktur für D3 gestapeltes Balkendiagramm
var data = [
{'id': '10', 'status': 'on', 'variant': 'A', 'value': '200'},
{'id': '10', 'status': 'on', 'variant': 'B', 'value': '500'},
{'id': '11', 'status': 'off', 'variant': 'A', 'value': '100'},
{'id': '12', 'status': 'on', 'variant': 'A', 'value': '600'},
...
]
Alle Elemente mit dem gleichen Schlüssel id
sollte auf der x-Achse stapeln, wo value
definiert die Höhe und status
definiert die Farbe.
Ein Datensatz kann mehrere Elemente mit demselben id
aber anderen status
oder variant
enthalten, wie im Beispiel id = 10.
Welches Format wäre geeignet, um diese Daten zu stapeln? Meine Annäherung schachtelte es:
var nested = d3.nest()
.key(function(d) { return d.id; })
.entries(data);
Von hier bin ich nicht sicher, wie man die y0 und y1 Werte erzeugt. Kann ich d3.stack verwenden?
Vielen Dank @anbnyc! Mit Ihrer Hilfe habe ich das Problem gelöst. Vollständige Lösung hier: https://jsfiddle.net/ed8ow9hp/1/ –