2016-12-16 2 views
1

this 예와 같이 syled y 축을 사용하고 있습니다. 데이터를 동적으로 변경하고 있습니다. 축 전환이 작동하지만 새 축에 동일한 스타일을 적용하는 방법을 모르겠습니다.축 스타일이 전환 중임

축 갱신하기 전에 :

var gy = svg.append("g") 
    .attr("class", "y axis") 
    .call(yAxis); 

var styling = function(selection) { 
    selection.selectAll("g").filter(function(d) { return d; }) 
     .classed("minor", true); 
    selection.selectAll("text") 
     .attr("x", 4) 
     .attr("dy", -4); 
}; 

styling(gy); 

축 전환 :

var update = function() { 
    // change data, domain etc 
    // ... 

    // change axis 
    svg.transition() 
    .duration(600) 
    .select(".y.axis") 
    .call(yAxis); 

    // how to apply the same style ?? 
} 

나는 그런 업데이트 기능 무언가를 시도했지만 yAxis 반환에 다음 업데이트 전에 몇 가지 다른 객체를 전환를 호출하는 것이있어 오류

selection.selectAll (...). 필터 (...). classed is functio N

는 ... 그래서 그것은 작동하지 않습니다 여기에

var gy = svg.transition() 
    .duration(600) 
    .select(".y.axis") 
    .call(yAxis); 

styling(gy); 
+0

전환 후 어디에서 '스타일링'이라고 부릅니까? – jkris

+0

업데이트'style (d3.select (". y.axis"));' – Cyril

답변

0

var gy = svg.transition() 
    .duration(600) 
    .select(".y.axis") 
    .call(yAxis) 

gy

당신이 할 때 너무 전환 객체입니다

styling(gy); //will not work, because styling expects a selection object. 

때문에 그래야합니다.

styling(d3.select(".y.axis")); //inside update function 
관련 문제