我很新的D3,但我已經把基於此示例萊因戈爾德-蒂爾福德樹: http://bl.ocks.org/mbostock/4339184超鏈接在D3.js對象,第2部分
我試圖鏈接添加到每個結束其中一個鏈的子節點 - 基本上,任何在其前面有白色圓圈的節點。
我發現這個有用的解釋如何添加超鏈接 - Hyperlinks in d3.js objects - 但不幸的是我只理解它的一半。
作者寫道:
這是很容易,只需添加一些更多的「關鍵」:「值」對。例如:
"children": [
{
"name": "Google",
"size": 3938,
"url": "https://www.google.com"
},
{
"name": "Bing",
"size": 3938,
"url": "http://www.bing.com"
}
]
我同意,這很容易 - 我已經這樣做了。但是在完成之後,如何將頁面代碼更改爲,如另一篇文章的幫助程序所寫,「在d3繪圖代碼中,您爲每個數據元素添加節點,以便包裝要包含的元素可點擊的鏈接與svg:a標籤:「
nodeEnter.append("svg:a")
.attr("xlink:href", function(d){return d.url;}) // <-- reading the new "url" property .append("svg:rect")
.attr("y", -barHeight/2)
.attr("height", barHeight)
.attr("width", barWidth)
.style("fill", color)
.on("click", click); // <- remove this if you like
這是我不明白。有人可以請解釋我需要如何修改此以與本示例中的文本對齊 - http://bl.ocks.org/mbostock/4339184
謝謝,提前。
馬特
嗨,謝謝@ iH8的回答。我在我的問題中以錯誤的方式設置了事情 - 對此感到遺憾。我沒有試圖解釋這個評論中的東西,而是修改了這個問題,並用一個更好的請求重新發布了它:http://stackoverflow.com/questions/27076183/d3-hyperlinks-in-tree-diagram。如果你能再看一遍,請做。無論如何,謝謝你的幫助。我很感激。 -Matt – scaffolding 2014-11-22 10:07:00