Javascript d3.js路径dom元素

Javascript d3.js路径dom元素,javascript,dom,svg,d3.js,Javascript,Dom,Svg,D3.js,我正在创建一个streamgraph,使用了中的示例代码作为模板 我绘制流程图: var svg = d3.select("#graph_area").append("svg") .attr("width", width) .attr("height", height) .... svg.selectAll("path") .data(layers) .enter().append("path") .attr("d", function (d) {

我正在创建一个streamgraph,使用了中的示例代码作为模板

我绘制流程图:

var svg = d3.select("#graph_area").append("svg") 
    .attr("width", width)
    .attr("height", height)

....

svg.selectAll("path")  
    .data(layers) 
.enter().append("path")  
    .attr("d", function (d) {return area(d.layer);})
现在似乎不允许我为这里的DOM元素从
“path”
中选择不同的名称。如果我这样做了,那么streamgraph就不再绘图了。为什么呢

然后,我想添加一个带有项目符号的图例,但它们没有情节。这些元素显示在我的web检查器(firebug)中,但它们的图形表示并不存在。我想DOM元素名可能也有类似的问题,但我实际上不知道。以下是我的项目符号代码:

//draw all the legend bullets and effects
svg.selectAll("bullets")  
    .data(layers)  
.enter().append("bullets")  
    .attr("cx", 200)
    .attr("cy", function(d, i) { return 20 + i*10; })
    .style("fill", function(d) { return d.color; })
    .attr("r", 5)

我简要地查看了路径和的API,但没有找到答案。

可以使用的元素名称在中定义。这是一个特定的集合(例如,
path
circle
)——使用其他任何东西都可以将元素附加到DOM中,但浏览器不知道如何解释和呈现它


这与HTML中的方式相同——浏览器知道如何呈现一组特定的已定义元素名。

您不能只编写自己的元素名,它们必须是SVG规范中定义的内容,例如
path
。啊,我明白了<代码>svg。选择全部(“圆圈”)…工作。谢谢