我使用Protovis Arc佈局,並且想根據數據集中定義的'value'屬性爲節點着色鏈接。我怎樣才能訪問它?訪問Protovis行中的值屬性
數據集被定義這樣的: 節點: ... {nodeName的: 「書籍」} ...
鏈接: ... {源:1,目標:4,值:20} ...
arc.link.add(pv.Line).strokeStyle(function(d)d.value> 10?「#cc0000」:「#eeeeee」); - 不起作用
我使用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
被覆蓋,以計算從任一節點數據(第一 參數)或鏈路數據屬性 (第二 參數;父面板數據) 動態。