Ich versuche gerade, einige Daten aus einem ziemlich großen Array zu visualisieren. Mein Ergebnis ist, dass ich eine mehrzeilige Grafik möchte.Wie bekomme ich Daten von einem verschachtelten d3.js-Array?
Mein Array ist in Form von CSV, um besser von D3.js behandelt zu werden.
sahen meine Daten so etwas wie diese:
Kategorie, Datum, Frequenz < - Spaltenüberschriften
Einkaufen, 23/7/90,9
verabredet, 23/3/96,3
ich wollte einzeln jede Kategorie für mein Mehrliniendiagramm in die Lage sein zu handhaben, so beschlossen, meine Daten in ein anderes Array abzuzubilden, das ist das, was unten ist:
Mein Problem ist jetzt, ich weiß nicht, wie Sie die Informationen abrufen, um meine Diagrammlinien zu erstellen?
Mein Code hier:
var dataNest = d3.nest()
.key(function(d) {return d.category;})
.entries(data_out);
dataNest.forEach(function(d,i) {
var line = d3.line()
.x(d3.values(dataNest).map(function(d) { return d.date; }).filter(function(key) { return key !== "date"; }))
.y(d3.values(dataNest).map(function(d) { return d.frequency; }).filter(function(key) { return key !== "frequency"; }))
;
chartGroup.append('path').attr('d',line(d));
});
Hallo, vielen Dank für das Feedback. Ich entschuldige mich, aber das liegt daran, dass ich schlecht mit Formatierungsfragen auf SOF bin. Ich werde meine Frage angemessen verbessern, aber so zeige ich meine Daten ursprünglich an, aber ich habe sie später nach dem Foto in meiner Frage verschachtelt. Das ist mein Datenformat jetzt. –
Ah, ich verstehe. Nun, ich kann nicht mit den verschachtelten Array-Funktionen helfen, da ich diesen Weg vorher noch nie gegangen bin. Alles, was ich hinzufügen kann, ist, dass ich nicht sicher bin, ob Sie diesen zusätzlichen Schritt tun müssen, wenn Sie nicht wollen. Sie können jede einzelne Kategorie und die zugehörigen Daten aus Ihrem Datensatz ziehen, wenn Sie die Daten zuordnen (wenn Sie dies wünschen). Wie auch immer, Entschuldigung, ich könnte nicht mehr Hilfe sein. – Keith
Danke für Ihre Hilfe. Ich werde einen Blick darauf werfen, diesen bestimmten Schritt zu umgehen. –