Mettre une flèche (marqueur) à un point précis d'un chemin lors de l'utilisation de la bibliothèque javascript d3

Je travaille actuellement sur un graphique de visualisation et d'-je utiliser le SVG et le D3 de la bibliothèque. J'ai été invité par notre designer si je peux mettre les pointes de flèches de les arêtes du graphe sur un poste correspondant à 80% de la longueur des lignes.
J'ai été en mesure de réaliser la première partie de la position à l'aide de la getPointAtLength méthode.

var svg = d3.select("body").append("svg")
   .attr("width", 960)
   .attr("height", 500)

var path = svg.append("path")
   .attr("d", "M20,20C400,20,20,400,400,400")
   .attr("fill", "none")
   .attr("stroke", "black");

var pathEl = path.node();

var pathLength = pathEl.getTotalLength();

var pathPoint = pathEl.getPointAtLength(pathLength*0.5);

var point = svg.append("svg:circle")
   .style("fill", "red")
   .attr("r", 5)
   .attr("cx", pathPoint.x)
   .attr("cy", pathPoint.y);

Ici est un jsfidle exemple

Maintenant, je me demande comment ca j'attache une pointe de flèche à la position correspondant à l'orientation. Plus important, comment puis-je faire afin que je puisse mettre à jour les arêtes du graphe lors du déplacement des nœuds associés.
Je n'ai pas pu trouver aucune réponse pour l'instant, les exemples sur les "marqueurs" sont de travailler avec des propriétés de chemin comme : style (repère-end", "url(#fin de la flèche)")

source d'informationauteur karlitos