访问Protovis行中的值属性

问题描述:

我使用Protovis Arc布局,并且想根据数据集中定义的'value'属性为节点着色链接。我怎样才能访问它?访问Protovis行中的值属性

数据集被定义这样的: 节点: ... {nodeName的: “书籍”} ...

链接: ... {源:1,目标:4,值:20} ...

arc.link.add(pv.Line).strokeStyle(function(d)d.value> 10?“#cc0000”:“#eeeeee”); - 不起作用

d属性指节点。在这种情况下,在节点上没有定义value属性;链接权重在链接上定义,这就是为什么属性函数没有达到您期望的。

你可以重写你的属性函数来访问链接(而不是节点)数据。链接数据与链接的父面板相关,并且可以作为第二个参数:

.strokeStyle(function(d, p) p.value > 10 ? "#c00" : "#eee") 

还有更多的在layout documentation的解释。而且也看到了pv.Layout.Network API参考:

link马克被添加到孩子 面板,其data属性 定义为布局的links财产。 链接的data属性然后是源节点 和目标节点的 双元素阵列。因此,例如poperties如 和strokeStyle可以fillStyle 被覆盖,以计算从任一节点数据(第一 参数)或链路数据属性 (第二 参数;父面板数据) 动态。