1
新しいフィッシュアイプラグ(http://bost.ocks.org/mike/fisheye/)が好きですが、パスとマーカーを使用するフォースグラフで作業したいラインよりも。私はD3を初めて使用しており、これまでマーカーのデモを組み合わせて、魚眼のデモが私を倒してしまったので、誰かが成功し、正しい方向に向けるかどうか疑問に思いました。D3フィッシュアイマーカー付きのフォースグラフ
乾杯ベン
新しいフィッシュアイプラグ(http://bost.ocks.org/mike/fisheye/)が好きですが、パスとマーカーを使用するフォースグラフで作業したいラインよりも。私はD3を初めて使用しており、これまでマーカーのデモを組み合わせて、魚眼のデモが私を倒してしまったので、誰かが成功し、正しい方向に向けるかどうか疑問に思いました。D3フィッシュアイマーカー付きのフォースグラフ
乾杯ベン
vis.on( "のMouseMove"、機能(){ 場合(rmbMenuHidden) { fisheye.center(d3.mouse(この));
node
.each(function(d) { d.display = fisheye(d); })
.attr("cx", function(d) { return d.display.x; })
.attr("cy", function(d) { return d.display.y; })
.attr("r", function(d) { d.display.r=d.display.z * 10; return d.display.r;});
path.attr("d", function(d) {
var dx = d.t.display.x - d.s.display.x;
var dy = d.t.display.y - d.s.display.y;
var h= Math.sqrt(dx * dx + dy * dy);
var htr = h-d.t.display.r-d.edgeWidth-1;
var cos=dx/h;
var sin=dy/h;
var dxt = cos*htr+d.s.display.x;
var dyt = sin*htr+d.s.display.y;
//clip source to circle radius too
var dxs = cos*d.s.display.r+d.s.display.x;
var dys = sin*d.s.display.r+d.s.display.y;
var dx = d.t.display.x - d.s.display.x,
dy = d.t.display.y - d.s.display.y;
dr = Math.sqrt(dx * dx + dy * dy);
return "M" + d.s.display.x + "," + d.s.display.y + "A" + dr + "," + dr + " 0 0,1 " + dxt + "," + dyt;
});
}
}
はあなたをしました – dsummersl
はい:エッジの代わりにパスを使用して、フィッシュアイ関数を更新して、行の長さがノードのサイズの変化を考慮するようにしました。以下の私の答えを参照してください。 – bentwonk