Dies ist my fiddle, die ich auf diesem example aufbauen werde.Zeichne X-Diagramme mit einem Array von X-Dateien + Grafiktitel mit Elementen in Array hinzufügen + d3
Und jetzt habe ich diese fiddle wo es ein Array verwendet 1 Diagramm in dem Array pro jedes Element zu zeichnen
arr = ["https://dl.dropboxusercontent.com/u/49714666/data.tsv", "https://dl.dropboxusercontent.com/u/49714666/data2.tsv"]
for (this_file in arr) {
d3.tsv(arr[this_file], type, function(error, data) {
if (error) throw error;
//draw chart code
//add a graph title
svg.append("text")
.attr("x", (width/2))
.attr("y", 0 - (margin.top/2))
.attr("text-anchor", "middle")
.style("font-size", "12px")
//.style("text-decoration", "underline")
.text(arr[this_file] + " - 1");
});
}
Aber die Art und Weise dies funktioniert, ist, dass jeder Diagrammtitel in den Namen aus dem zweiten Namen hat das Array. Was ich will, ist der 1. Elmenname, der Titel von Chart 1 und das 2. Element, das der Titel von Chart 2 sein soll ... Wie kann das gemacht werden? Oder habe ich hier ein kleines Missverständnis?
Meine aktuelle Problemumgehung ist eine var=ii
zu verwenden, um dies zu arbeiten. Hier ist die fiddle, aber ich frage mich nur, gibt es einen besseren Weg, oder vielleicht muss ich es umschreiben?
'this_file', wenn verwendet in' Funktion (Fehlerdaten) ', ist immer auf dem Wert, den es zum letzten Mal der Schleife (dh der Wert des letzten Elements in der Anordnung durchgeführt wurde). Dies ist ein allgemeines JavaScript-Problem - nicht spezifisch für d3. [Siehe diesen Beitrag] (http://stackoverflow.com/questions/750486/javascript-closure-inside-loops-simple-practical-example). – meetamit
tks, also ist das mein fehlercode oder ist meine arbeit um das beste was ich hier machen kann? – HattrickNZ