我想用兩種形狀的節點作爲力圖:rect
和circle
,形狀信息在d.shape
。這裏有幾條線索,但解決方案對我來說不是很清楚。追加不同的形狀
我第一次嘗試使用merge
方法,它不起作用:在此jsbin,var circlesANDrects = rects
顯示矩形和var circlesANDrects = circles
顯示圈,而var circlesANDrects = circles.merge(rects)
不顯示兩者。
有誰知道如何解決這個問題?
否則,我認爲這個想法的解決辦法是使用一個街區,append
不同的形狀根據形狀信息:
var circlesANDrects = svg.append("g").selectAll("rect circle")
.data(force.nodes())
.enter()
<!-- a function that appends different shapes according to shape information -->
有誰知道如何例/條件添加到append
?
但如果我要指定一些'attr'什麼(例如,'width'和'height')屬於'rect'但不'circle' ? – SoftTimur
不幸的是,「方形」符號沒有「寬度」或「高度」,只是「大小」。但是你可以使用一個函數來設置不同符號的大小(圓形,方形等)。 –
那麼我們只能在這裏指定圓和方的常見屬性? – SoftTimur