Dynamic D3js力布局:根据Levenshtein距离函数的动态链接距离
我需要一个函数,它根据Levenshtein距离函数之前给出的数据提供动态距离。我想根据我的函数创建动态链接距离。我把Levenshtein距离函数放在同一页上。我是新来的,如果我犯了错误,请确认我。如果您需要,我会在这里回答您的问题。这是部队布局的问题吗?如果你给linkDistance一个函数,你会被每个链接调用,这应该允许你获得该链接上的两个节点。是的,它是关于强制布局的。我已经尝试创建函数,但失败了。你能给我一个简单的方法吗?感谢您的关注。假设您使用标准数据结构,它将类似于.linkDistancefunctionl{return levenshteinl.source,l.target;}。在距离函数中,需要通过dx和dy属性提取节点位置。我很难应用。我需要这样一个简单的代码:.linkDistancefunction{for var I=0;没错,您的距离函数基于节点的名称。在这种情况下,您需要在.linkDistance函数中调用类似于levenshteinl.source.name、l.target.name的名称。Dynamic D3js力布局:根据Levenshtein距离函数的动态链接距离,dynamic,d3.js,distance,force-layout,Dynamic,D3.js,Distance,Force Layout,我需要一个函数,它根据Levenshtein距离函数之前给出的数据提供动态距离。我想根据我的函数创建动态链接距离。我把Levenshtein距离函数放在同一页上。我是新来的,如果我犯了错误,请确认我。如果您需要,我会在这里回答您的问题。这是部队布局的问题吗?如果你给linkDistance一个函数,你会被每个链接调用,这应该允许你获得该链接上的两个节点。是的,它是关于强制布局的。我已经尝试创建函数,但失败了。你能给我一个简单的方法吗?感谢您的关注。假设您使用标准数据结构,它将类似于.linkDi
var t0 = [ "site", "how", "social", "create", "membership"],
t1 = [ "forum", "site", "social", "membership", "networking"],
t2 = ["social", "network", "create", "how", "free"],
t3 = ["social", "membership", "site", "website", "make"] ;
function levenshteinDistance (a, b) {
if (!a.length) return b.length;
if (!b.length) return a.length;
return Math.min(
levenshteinDistance(a.slice(1), b) + 1,
levenshteinDistance(b.slice(1), a) + 1,
levenshteinDistance(a.slice(1), b.slice(1)) + (a[0] !== b[0] ? 1 : 0)
);
}
console.log(levenshteinDistance (t0, t1));
console.log(levenshteinDistance (t0, t2));
.linkDistance(levenshteinDistance (t0, t1))