d3 sankey 차트의 너비를 수정하려고하므로 크기 조정으로 생성 된 공간에 확장 된 내용 (노드에 대한 세부 정보)을 넣을 수 있습니다. 그래서 사용자가 노드를 클릭하면 차트의 너비가 절반으로 줄어들고 새 공간에 내용을 추가 할 수 있습니다 ...d3.js sankey 차트의 너비를 동적으로 변경합니다.
d3 sankey 레이아웃은 다른 많은 요소에 영향을 미치며 작성 방법은 확실하지 않습니다. sankey change는 모든 요소를 통해 흐릅니다.
레이아웃을 정의한 후 :
var sankey = d3.sankey()
.nodeWidth(15)
.nodePadding(10)
.size([width, height]);
을 한 후 데이터
sankey
.nodes(data.nodes)
.links(data.links)
.layout(32);
에서 레이아웃을 구축 나는하지 않습니다 분명히
d3.selectAll(".node")
.on("click",function(d){
sankey.size([width/2, height])
})
를 통해 레이아웃을 업데이트하려 작업. 요소를 통해 다시 밀어 넣는 방법을 모릅니다!
Plunker가 전체 그림 보여주는: http://plnkr.co/edit/udEOog?p=preview
당신은 출구() 메서드가) (입력 사용하여 데이터를 다시 입력하고 있습니까? 그게 핵심이야. –