2012-05-28 6 views
4

두 세트의 데이터가 표시된 그래프가 있습니다. 사용자는 단추를 눌러 다른 데이터 세트로 넘길 수 있습니다. 문제는 축이 동일하지 않다는 것입니다. 그러나 틱을 업데이트하려고 할 때 대신 다른 축 위쪽에 레이어를 배치해야합니다.() 제거D3 축 레이블 새로 고침

내가는 selectAll ("g")를 시도했습니다
vis.selectAll("axis").remove(); 

    vis.append("svg:g") 
    .attr("class", "x axis") 
    .attr("transform", "translate(0, " + (h - margin) + ")") 
    .call(d3.svg.axis() 
    .scale(x) 
    .tickSize(0) 
    .tickSubdivide(true) 
    .tickFormat(formatCurrency) 
     );  

하지만 다음 축을 내려 놓고 방지 :.

http://jsfiddle.net/scottieb/VjHd6/

핵심 비트는 끝입니다. 어떤 아이디어?

답변

1

새 축을 만들지 않고 축척을 재정의하고 전환을 호출해야했습니다.

http://jsfiddle.net/scottieb/JwaaV/

+2

이것은 나를 위해 작동하지 않습니다. 기존 축 위에 다시 그리기 만하면됩니다 ... – Jonah

0

문제는 선택이 올바르지 않은 것입니다. "축"을 선택하는 대신 클래스와 함께 "g"노드를 추가하기 때문에 ".axis"를 선택해야합니다.