En essayant de changer cet exemple https://bl.ocks.org/mbostock/1667139 pour utiliser le chemin au lieu de la ligne, mais son ne fonctionne pas. Im essayez d'utiliser la fonction propre à cocher comme ceci:Disposition de force statique D3.js ne fonctionne pas avec le chemin?
function tick() {
link.attr("d", function(d) {
var x1 = d.source.x,
y1 = d.source.y,
x2 = d.target.x,
y2 = d.target.y,
dx = x2 - x1,
dy = y2 - y1,
dr = Math.sqrt(dx * dx + dy * dy),
// z uzla do ineho uzla
drx = dr,
dry = dr,
xRotation = 0,
largeArc = 0,
sweep = 1;
//do sameho seba
if (x1 === x2 && y1 === y2) {
xRotation = -45;
largeArc = 1;
drx = 30;
dry = 30;
x2 = x2 + 1;
y2 = y2 + 1;
}
return "M" + x1 + "," + y1 + "A" + drx + "," + dry + " " + xRotation + "," + largeArc + "," + sweep + " " + x2 + "," + y2;
});
}
Je ne sais pas, si je manque quelque chose ou la mise en page de force statique de chemin d'utilisation juste ne peux pas. mise en page active avec le chemin de travail normaly
Realy thx, peut Je vous demande une chose de plus? Comment ajouter du texte à tous les cercles? La disposition de force non statique crée juste var circle.append ("g") puis ajoute ("circle") et ajoute ensuite ("text") pour ajouter du texte mais cela ne fonctionne pas ici. Mon essai est ici https://jsfiddle.net/f7e20crm/. Ce texte est un élément séparé qui ne fait pas partie de l'élément g quand est un élément de cercle et de texte – Martin
@Martin, voir la mise à jour de la réponse à votre question. Et mis à jour le violon [ici] (https://jsfiddle.net/f7e20crm/6/). – Mark