analysieren Ich möchte Daten in einem Javascript-Array von Zeichenfolgen zu einem d3-Diagramm zu verwenden, um eine Zeitreihe von Zeitstempel (t) anzuzeigen, zu empfangen (rx) und senden (tx) Zähler. Jedes Mitglied des Arrays ist eine Zeichenfolge, die einer Zeile der Zeit entspricht, rx, tx (ja, mit Kommatrennzeichen). Ich möchte keine auf3.request basierenden Methoden verwenden. Ich habe bereits die Datei vom Server mit serverseitigem Lua-Code gelesen und die Daten mit jslines.push (string) in die Seite gestellt.Wie kann ich CSV-Daten aus einem Javascript-Array von Zeichenfolgen für die Verwendung in d3 Graphen
109 // Show results so far
110 for (i=0; i < jslines.length; i++) {
111 console.log(i + ": " + jslines[i]);
112 }
Der obige Abschnitt gibt mir Vertrauen Daten ist wie ich beschrieben habe. Für den Moment versuche ich nur, jeden der 3 Datenwerte aus einer "Zeile" herauszunehmen und dann zu wiederholen. Es ist mir egal, dass sie zu diesem Zeitpunkt noch Saiten sein werden. Zahlen später.
Meine Referenz dafür ist: https://github.com/d3/d3-dsv/blob/master/README.md#csvParseRows, aber ich bin eindeutig falsch verstanden die Arbeit benötigt.
114 var dataArray = d3.csvParseRows(jslines, function(d, i) {
115 return {
116 time: d[0],
117 rx: d[1],
118 tx: d[2]
119 };
120 });
Würde für (Art) Vorschläge und/oder ein Arbeitsbeispiel der Verwendung von d3 zu analysieren und prep Daten dankbar sein, dass d3 selbst nicht von einer entfernten (oder lokal) Datei ziehen. Die meisten Beispiele, die ich finden kann, bitten d3, den Dateiinhalt an die Client-Station zu übertragen, glaube ich.
Dank ... Alan
Bitte teilen Sie das 'jslines' Array (nicht alles, nur ein paar Elemente sind genug). Bedenken Sie, dass 'd3.csvParseRows' eine Zeichenfolge analysiert, nicht ein Array. Bitte erkläre auch genau was * in deinem Code nicht funktioniert ... bekommst du 'dataArray' so wie du willst? Oder ist hier das Problem, wie man 'dataArray' verwendet? –
Jedes Mitglied des jslines-Arrays enthält eine Zeichenfolge mit folgendem Inhalt: "1234567,100,110", bereits mit Leerzeichen abgeschnitten und mit einem Komma zwischen den Werten. Alle Werte sollten nicht negativ sein. Mit dem Code, wie ich ihn ursprünglich eingefügt habe, kommt DataArray aus dem Nichts. –
Also, keine Zeilenumbrüche? Sie können das nicht mit 'd3.csvParseRows' verwenden: Wie kann die Funktion wissen, mit welcher Zeile sie es zu tun hat? –