在一个轴上使用两个selectAll

问题描述:

我想在一个轴上使用两个选择。像这样:在一个轴上使用两个selectAll

svg.append("g") 
    .call(yAxis) 
    .selectAll("line").do(something) 
    .selectAll("text").do(something); 

当然这不起作用,因为第二个“选择”是从“行”元素开始的。

任何想法?

谢谢

里克

+0

你想做什么?选择所有这些元素,然后将相同的功能应用于所有这些元素? – 2013-05-13 12:29:47

+0

我试图选择“g”下面的所有“行”元素并添加它们的一些属性。然后,我想对“文本”元素进行相同的操作。我试图在一个声明中这样做。但是正如克里斯托弗哈克特指出的那样,我认为最好分两步做。 – Rick 2013-05-13 14:37:22

你需要沿着

var x = svg.append("g").call(yAxis); 
x.selectAll("line").do(something); 
x.selectAll("text").do(something); 

线做一些事情当然要确保x被命名为适合您的情况的东西。

+0

谢谢!愚蠢的我没有看到这一点。我非常努力地试图用一个声明来强制它,以至于我无法思考开箱即可。 ;) 谢谢! – Rick 2013-05-13 14:45:20