我有一个带有轴的D3图表,我希望通过原始调用来设置它。然而,它似乎只在第一次通话时工作。我会告诉你我的意思:
当我通过
创建轴时svg.select('g.y.axis').call(yaxis)
.selectAll("path")
.attr("fill","none")
.attr("stroke", "#000")
.selectAll("line")
.attr("fill","none")
.attr("stroke", "#000");
仅正确设置路径样式。您可以查看我的jsfiddle以了解我的意思。我知道这可能比仅仅拥有CSS样式要慢,但是我需要在原始调用中对其进行样式设置我正在处理的内容。提前致谢!
答案 0 :(得分:1)
这是因为d3.selectAll("foo").selectAll("bar")
将尝试查找<bar>
s,它们是创建<foo>
s的内部元素。在您的情况下,svg在<line>
s中找不到<path>
。
只需单独打电话:
svg.selectAll("path")...
svg.selectAll("line")...
UPD 要在.y.axis中找到路径/行:
svg.select(".y.axis").selectAll("path")
或
svg.selectAll(".y.axis path")