1 回答
TA贡献1809条经验 获得超8个赞
第一个代码块不起作用,因为x_axis它不包含您认为的内容。
var x_axis = svg.append("g") // returns a selection of a g element
.attr("class", "axis") // returns the same selection of a g
...
.call(d3.axisBottom(ordinalScale)) // returns the same selection of a g
.selectAll("text") // returns a new selection of text elements
...
.style("fill", "#102040"); // returns the same selection of text elements
x_axis由链返回的最后一个值定义。因此, x_axis上面是文本元素的选择,文本元素不能(在本例中不)包含任何子路径或行元素,因此x_axis.selectAll('line, path')将返回空选择。因此,为空选择设置任何属性都不会改变任何内容。
第二个代码块之所以有效,是因为x_axis它仍然是 ag 的选择 - 返回链接到的相同selection.call()内容,例如or ,以及其他方法。而 和,以及其他方法,返回新的选择。selection.call().attr().style()selectAll()select()
添加回答
举报