2016-12-31 52 views
1

在下面的例子中,我想永久突出顯示特定鏈路上的初始載荷(每個節點之間的連接):突出顯示D3.JS熱平衡圖特定鏈路

http://bl.ocks.org/d3noob/c2637e28b79fb3bfea13

正如你可以看到,它會突出顯示鼠標懸停的鏈接。

這與CSS實現:

.link:hover { 
    stroke-opacity: .5; 
} 

我怎樣才能獲得相同的結果的特定鏈路(例如前兩個節點之間的鏈路),而無需使用鼠標懸停(即,當SVG元素是第一添加)。

回答

3

這就是你需要的:首先,相應地過濾link數組。在這種情況下,我們得到從節點0(源)到節點4(目標)的第一個鏈接(在頂部)。

然後,應用不透明度:

firstLink.attr("opacity", .5); 

這裏是在這一個小提琴:https://jsfiddle.net/7mm1ko4f/

+0

完美。是否有可能對第一個節點做類似的事情?我試圖做一些像'var firstNode = node.filter(d => d.source.node === 0); firstNode.attr(「opacity」,.5);'但這不起作用。 – Martin

+1

沒關係,想通了。必須使用'd.node'。 – Martin