Update: Hier ist ein Beispiel für die Ausgabe - http://jsfiddle.net/Hffks/2/D3 Linie als geschlossener Pfad wirkt
Ich versuche, D3 zu verwenden, um ein Liniendiagramm zu codieren und meine Linie am Ende wird geschlossen, durch die Ich meine, es handelt sich um einen geschlossenen Pfad, bei dem der erste und der letzte Punkt identisch sind. Meine Daten kommen in dem folgende JSON-Format:
[ entityA : [ { time : 1230000, // time since epoch
attribute1 : 123 // numeric value
attribute2 : 123 // numeric value
},
{ time : 1230010, // time since epoch
attribute1 : 123 // numeric value
attribute2 : 123 // numeric value
} ],
entityB : [ { ... // same format as above
...
]
Ich verwende eine Standarderklärung einer Linie (d3.svg.line mit einer Funktion für x und y):
var line = d3.svg.line()
.x(function(d) {
return x_scale(d.c_date));
})
.y(function(d) {
return y_scale(d.total);
});
Dann innen eine for-Schleife, dass iteriert über die Entitäten ich bin anhängt „svg: Pfad“:
canvas.append("svg:path")
.attr("d", line(data[entity]))
Alles andere über die grafische Darstellung Werke: die Punkte richtig platziert sind, habe ich mehrere unabhängige Zeilen pro Einheit haben, die Achsen gezeichnet, e tc. Jede unabhängige Linie wirkt jedoch als ein geschlossener Pfad.
Vielen Dank für Ihre Hilfe im Voraus!
Es soll nicht den Weg auf seinem eigenen schließen. Können Sie ein kleines vollständiges Beispiel, z. um [jsfiddle] (http://jsfiddle.net/)? –
Hier ist ziemlich viel, was ich getan habe: http://jsfiddle.net/Hffks/2/ – user1872632
Es ist nicht wirklich einen geschlossenen Pfad zu erstellen, es ist nur das Ausfüllen standardmäßig. Wenn Sie fill und stroke explizit angeben, sehen Sie die einzelnen Zeilen. Ist das wonach Sie suchen? http://jsfiddle.net/Hffks/3/ –