我正在尝试使用使用弧和圆选项的数据图来创建网络天气图。
我遇到的基本问题是网络中有入站和出站连接,我希望能够将它们可视化为单独的实体。为了避免传入和传出重叠,我尝试做一个简单的经度和纬度偏移(每个 - .2)来“偏移”路径。我所看到的是它们相互交叉。
关于我如何能够做到这一点的任何想法?
我正在尝试使用使用弧和圆选项的数据图来创建网络天气图。
我遇到的基本问题是网络中有入站和出站连接,我希望能够将它们可视化为单独的实体。为了避免传入和传出重叠,我尝试做一个简单的经度和纬度偏移(每个 - .2)来“偏移”路径。我所看到的是它们相互交叉。
关于我如何能够做到这一点的任何想法?
我有同样的问题,看看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;
} )
这是基于: