2012-10-09 2 views
47

d3.call()이 어떻게 작동하는지, 언제 어디에서 사용하는지 이해할 수 없습니다. Here은 제가 완료하려고하는 자습서 링크입니다. 자바 스크립트 라이브러리 d3 호출 기능

사람이 조각

var xAxis = d3.svg.axis() 
       .scale(xScale) 
       .orient("bottom"); 

svg.append("g").call(xAxis); 
+0

당신이 제공하는 링크가 어떤'호출을 설명합니다' – Ibu

+9

네는 않습니다, 하지만 여전히 나는 svg.append ("g") .call (xAxis)을 얻을 수 없다. ( – Andy897

+1

참조) https://github.com/d3/d3-selection/blob/master/README.md#selection_call –

답변

75

하고있다 내가 여기에 트릭이 x 축이 SVG 요소의 무리를 생성하는 기능이 있음을 이해하는 것입니다 생각하는지 구체적으로 설명해 주시겠습니까. 실제로 이것은 d3.svg.axis()에 의해 리턴 된 함수입니다. 축척 및 방향 함수는 체인 구문의 일부일뿐입니다 (자세한 내용은 여기를 참조하십시오 : http://alignedleft.com/tutorials/d3/chaining-methods/).

그래서 svg.append("g")은 SVG 그룹 요소를 svg에 추가하고 선택 항목의 형태로 자체에 대한 참조를 반환합니다 (여기서 작동하는 동일한 체인 구문). 선택에 call을 사용하면 선택 항목 gxAxis이라는 함수가 호출됩니다. 이 경우 축 기능, xAxis이 새로 생성되고 추가 된 그룹 인 g에서 실행됩니다.

xAxis(svg.append("g")); 

나 : 그건 아직도 ​​이해가되지 않는 경우

은, 위의 구문은()와 동등

d3.svg.axis() 
     .scale(xScale) 
     .orient("bottom")(svg.append("g")); 
+0

svg.axis()의 G 요소를 편집하는 방법은 무엇입니까? 서로에 대한 변형을 적용하고 싶습니다. 그러나 그 요소에 액세스 할 수없는 것 같습니다. – CQM

+0

여기에서 대답을 확인하십시오. http://stackoverflow.com/questions/12825630/assign-ids-to-individual-axis- 텍스트 요소/12849772 # 12849772 텍스트 또는 눈금 요소를 선택한 후에 원하는 경우 변형을 적용 할 수 있어야합니다. – Superboggly

+0

xAxis를 호출하는 데 차이가 있습니까? – st4rgut