访问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
被覆盖,以计算从任一节点数据(第一 参数)或链路数据属性 (第二 参数;父面板数据) 动态。