我正在使用Protovis Arc布局,我想根据dataset中定义的'value‘属性对节点之间的链接进行着色。我如何访问它?
数据集的定义如下: Nodes:... {nodeName:"Books"} ...
链接:... {源:1,目标:4,值:20} ...
Arc.link.add(pv.Line).strokeStyle(arc.link.add(D) d.value > 10?"#cc0000“:"#eeeeee");-不工作
发布于 2010-06-14 01:57:58
d属性引用节点。在本例中,节点上没有定义value属性;链接权重是在链接上定义的,这就是为什么属性函数没有执行预期的操作。
您可以重写特性函数以访问链接(而不是节点)数据。链接数据与链接的父面板相关联,并可用作第二个参数:
.strokeStyle(function(d, p) p.value > 10 ? "#c00" : "#eee")在layout documentation中有更多的解释。另请参阅pv.Layout.Network应用编程接口参考:
将
link标记添加到子面板,其data属性定义为layout的links属性。然后,链接的data属性是源节点和目标节点的两个元素的数组。因此,诸如strokeStyle和fillStyle之类的属性可以被覆盖,以动态地从节点数据(第一个参数)或链接数据(第二个参数;父面板数据)计算属性。
https://stackoverflow.com/questions/3031920
复制相似问题