javascript - 检查 d3 函数的参数值

标签 javascript json d3.js firebug force-layout

我想检查此代码段中函数中“d”参数的值:

var force = force = d3.layout.force()
    .nodes(json.nodes)
    .links(json.links)
    .linkDistance(function (d){return d;}) //I need to know the "d" value to decide what return
    .size([width, height])
    .start();

我正在使用 Firebug ,但我无法进入该功能。我试图在函数中放置一个警报,但它没有用。

最佳答案

d3 文档为您提供了参数:

force.linkDistance([距离])

如果指定了距离,则将链接节点之间的目标距离设置为指定值。如果未指定距离,则返回布局的当前链接距离,默认为 20。如果距离为常数,则所有链接的距离相同。否则,如果 distance 是一个函数,则该函数将针对每个链接(按顺序)进行评估,传递链接及其索引,并将 this 上下文作为强制布局;该函数的返回值随后用于设置每个链接的距离。每当布局开始时都会评估该函数。通常,距离以像素为单位指定;然而,单位相对于布局的大小是任意的。

>

因此,如果参数是函数,则第一个参数是链接,第二个参数是链接的索引。在应用该功能之前,您不应该忘记将数据关联到强制布局。

我这里有一个例子:

force
    .nodes(json.nodes)
    .links(json.links);

    force.linkStrength(function(d,i) {return (json.links[i].isMyLeaf ? .01: 1);});

在我的 json 文件中,我为每个链接定义了 isMyLeaf。

关于javascript - 检查 d3 函数的参数值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15199266/

相关文章:

javascript - 在 d3.js 中将对象从一个区域移动到另一个区域

javascript - d3.js mouseover mouseout问题

javascript - d3.csv 链接 GitHub

javascript - 从 Python 使用远程 chrome devtools

javascript - 从循环nodejs中的函数获取值

javascript - Ember 输入模糊 Action

javascript - Multiselect JS 无法将数据发送到 jquery

arrays - 自定义排序 Groovy JSONArray - 首先自定义值,然后按字母顺序

Json 过滤同级节点上的数据

java - 如何在android中解析JSONArray