我在我的私人網站中使用this圖形來顯示產品關係,它效果很好。d3.js支持每個節點的圖像
我發現this site節點爲圖像。試圖找出如何重構我當前的圖形以支持每個節點的圖像。
任何幫助,將不勝感激
編輯:與「形象」(而不是img
)的問題是,我不能對應用CSS。我使用twitter bootstrap並試圖添加名爲img-circle
的類(僅添加border-radius: 50%
),但它不適用於圖像。都嘗試:
var nodeImage = node.append("image")
.attr("xlink:href", function (d) { return d.image })
.attr("height", function (d) { return d.height + "" })
.attr("width", function (d) { return d.width + "" })
.attr("x", function (d) {return -0.5 * d.width })
.attr("y", function (d) {return -0.5 * d.height })
.attr("class", "img-circle");
和:
var nodeImage = node.append("image")
.attr("xlink:href", function (d) { return d.image })
.attr("height", function (d) { return d.height + "" })
.attr("width", function (d) { return d.width + "" })
.attr("x", function (d) {return -0.5 * d.width })
.attr("y", function (d) {return -0.5 * d.height })
.attr("style", "border-radius: 50%;");
都不起作用
EDIT2: DONE!
通過添加以下行:
.attr("clip-path", function (d) { return "circle(" + (0.48 * Math.max(d.width, d.height)) + "px)"});
標籤是d3.js但標題是3d.js – manassehkatz
@manassehkatz感謝,固定 – ItayB