我一直試圖將一個漂亮的D3圖表示例(https://jsfiddle.net/thudfactor/HdwTH/)轉(zhuǎn)換為帶有新D3 v4的Angular2組件。但是,我使用以下代碼獲取“無法讀取null屬性文本”異常:var textLabels = labelGroups.append("text").attr({ x: function (d, i) { var centroid = pied_arc.centroid(d); var midAngle = Math.atan2(centroid[1], centroid[0]); var x = Math.cos(midAngle) * cDim.labelRadius; var sign = (x > 0) ? 1 : -1 var labelX = x + (5 * sign) return labelX; }, y: function (d, i) { var centroid = pied_arc.centroid(d); var midAngle = Math.atan2(centroid[1], centroid[0]); var y = Math.sin(midAngle) * cDim.labelRadius; return y; }, 'text-anchor': function (d, i) { var centroid = pied_arc.centroid(d); var midAngle = Math.atan2(centroid[1], centroid[0]); var x = Math.cos(midAngle) * cDim.labelRadius; return (x > 0) ? "start" : "end"; }, 'class': 'label-text'}).text(function (d, i) { <--------------- exception return d.data.label;});labelgroups是一個選擇,append應(yīng)該工作,所以它必須是.attr({})導(dǎo)致問題。然而它確實在jsfiddle中工作正常。D3 v4中是否更改了此語法?怎么會這么正確?謝謝!
不能在D3 v4中使用帶有對象的attr
蕪湖不蕪
2019-09-06 16:30:35