如何在D3.JS

时间:2015-05-23 20:02:33

标签: javascript svg d3.js

我在g标记内的defs中有一个形状(绘制的云)。不幸的是,我无法使用d3.js在circle内使用此形状。这是我的代码: JSFiddle

我要做的是在SVG中显示的圆圈内显示defs标签中的形状。我已经尝试了很多次,但我无法使用defscircle标记的形状。有人可以帮我解决这个问题吗?先感谢您。

1 个答案:

答案 0 :(得分:2)

circle不能包含其他形状。根据{{​​3}},它可能只包含MDN docsdescriptive elements。这些类别不包含circleuse等形状。

您应该创建一个父g并将circleuse附加到其中,而不是嵌套您的形状:

// Create a `g`, rather than a `circle`, for each data point
var groups = svg.selectAll(".group").data(data).enter().append("g")
                 .attr("class", "group");

// Append a `circle` to the new g
groups.append("circle")
                 .attr("cx",100).attr("cy",100).attr("r",20);

// Append a `use` to the new g
groups.append("use").attr("xlink:href", "#mySymbol");

animation elements