我正在尝试使用arcs和circle选项创建网络天气地图。
我遇到的基本问题是网络中存在入站和出站连接,我希望能够将它们视为单独的实体。为了避免传入和传出的重叠,我尝试做一个简单的经度和纬度偏移( - .2每个)到"偏移"路径。我所看到的是他们互相交叉。
关于我如何能够做到这一点的任何想法?
答案 0 :(得分:0)
我有同样的问题看看https://github.com/cpmarvin/d3js_weathermap。如果你有并行链接,那么你需要获得btw节点的nr链接并做一个偏移。看看https://github.com/cpmarvin/d3js
希望它有所帮助。
.attr("d", function(d) {
//find middle value of the link and calculate path
var dx = d.target.x - d.source.x,
dy = d.target.y - d.source.y,
dr = Math.sqrt(dx * dx + dy * dy);
var endX = (d.target.x + d.source.x) / 2;
var endY = (d.target.y + d.source.y) / 2;
var len = dr - ((dr/2) * Math.sqrt(3));
endX = endX + (1 * len/dr);
endY = endY + (-1 * len/dr);
return "M" + d.source.x + "," + d.source.y + "L" + endX + "," + endY;
} )
这基于: