2017-10-13 1 views
1

데이터를 기반으로 일부 셰이프의 크기를 동적으로 조정하려고합니다. 여기에 내가 지금까지 가지고있는 것이있다 :d3 기본 크기 조정

svg.selectAll(".point") 
    .data(data) 
    .enter() 
    .append("path") 
    .attr("class", "point") 
    .attr("d", d3.svg.symbol().type("triangle-up")) 
    .attr("transform", function(d) { return "translate(" + x(d.x) + "," + 
    y(d.y) + ")"; }); 

내가 추가 할 수있는 다른 attr이 있습니까?

.attr("transform", "scale(xMap)"); 

XMAP는 범위를 확장 할 데이터의 값이다 : 나는 다음과 같은 있지만 작동하지 않는 사용하려고했습니다.

답변

1

translatescale을 동일한 익명 기능으로 수행 할 수 있습니다. 그 외에도 문자열을 숫자와 연결해야합니다. 당신이하고있는 방법 ...

"scale(xMap)" 

은 ... 당신은 scale()에 문자로 "XMAP"을 통과하고 있습니다.

따라서,해야한다 : 완벽하게 작동

.attr("transform", function(d) { 
    return "translate(" + x(d.x) + "," + y(d.y) + ") scale(" + xMap + ")"; 
}); 
+0

감사합니다! – ajax2000

관련 문제