私はd3ラジアルツリーグラフの例を変更しようとしています。オリジナルはノード間に斜めの曲がったパスを持ち、私はそれを直線にする必要がありました。d3ラジアルグラフの奇妙なパス/行の振る舞い
闘争の時間を過ごしてから、私は最終的にそれをすることができました。まあ、ちょっと。
this penに示されているように、ノードを結んでいる線は実際にはまっすぐですが、同じ中心点から始まっていません。中央ノードと第1レベルのリンクでは、行開始点が前記ノードの端に集中しており、より高いレベルのノードは、行ではなく1つの行でグループ化している。中心点はそれほど欲しくない。私はすでに限りx1, x2, y1, y2
を描くように、私が思い付くことができるすべてを試してみた
var link = svg.selectAll("link")
.data(links)
.enter().append("path")
.attr("class", "link");
var lines = svg.selectAll('line')
.data(links)
.enter()
.append('line')
.attr('stroke',function(d) {
if(d.source.depth === 0) {
return 'red'
} else {
return '#ccc';
}
});
lines.attr('x1',function(d){return d.source.y})
.attr('y1',function(d){return d.source.x/180*Math.PI})
.attr('x2',function(d){return d.target.y })
.attr('y2',function(d){return d.target.x/180*Math.PI});
lines.attr("transform", function(d) {
return "rotate(" + (d.target.x - 90) + ")";
});
: ペンにリンクを描画するための責任のコードの一部の行252
で始まり、276
で終わる、このように見えますそれらを切り換えて、そこにある数学とそれ以外のものを変えて行く。また、回転を変更して座標をリンクに強制的に適用しようとしました。毎回空に戻る。あなたは、いい人なので、覗いて正しい方向に向けることができますか?