2013-07-02 2 views
0

[1:"XXX",2:"YYY"]이라는 배열이 있는데 페이지에 이미 2 개의 svg 요소가 있습니다. 각 요소에 배열 값 중 하나를 갖기를 원하지만 아래 코드는 각 텍스트 레이블에 두 값을 넣습니다. 나는 keys[i]을 시도했지만 i은 정의되지 않았습니다. 이것을 어떻게 할 수 있습니까?d3 동적 텍스트 루프

svg.selectAll("svg"). 
data(keys). 
enter() 
    .append("svg:text") 
     .attr("x", width) 
     .attr("y", height). 
     .attr("dx", -width/2) 
     .attr("text-anchor", "middle") 
     .attr("style", "font-size: 12; font-family: Helvetica, sans-serif") 
     .text(function(keys) { return keys;}) 
     .attr("transform", "translate(0, 18)") 
     .attr("class", "yAxis"); 

답변

0

는 텍스트 함수 인수는 이름 keys을 사용합니다. 대신에 d보십시오

svg.selectAll("svg") 
.data(keys) 
.enter() 
.append("svg:text") 
    .attr("x", width) 
    .attr("y", height). 
    .attr("dx", -width/2) 
    .attr("text-anchor", "middle") 
    .attr("style", "font-size: 12; font-family: Helvetica, sans-serif") 
    .text(function(d) { return d;}) 
    .attr("transform", "translate(0, 18)") 
    .attr("class", "yAxis"); 

attrtext 및 방법의 논의는 데이터 요소를 취하고 또는 텍스트 속성 값을 계산하기 위해 값을 사용하는 기능이다. 두 개의 요소가있는 전역 변수 keys의 값을 사용하고 있습니다.

+0

저도 똑같은 것을 보여줍니다. – mike628

+0

코드로 jsFiddle을 만들 수 있습니까? –

+0

http://jsfiddle.net/은 코드를 게시 할 수있는 사이트입니다. 다른 사용자는 코드를 포크하여 수정하고 디버깅 할 수 있습니다. –